<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def start(self):
 """Starts the advertise loop. Returns the result of the first ad request. """

        if self.running:
            raise Exception('Advertiser is already running')
        if self.io_loop is None:
            self.io_loop = tornado.ioloop.IOLoop.current()

        self.running = True
        answer = tornado.gen.Future()
        self._schedule_ad(0, answer)
        return answer