<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _schedule_ad(self, delay=None, response_future=None):
 """Schedules an ``ad`` request. :param delay: Time in seconds to wait before making the ``ad`` request. Defaults to self.interval_secs. Regardless of value, a jitter of self.interval_max_jitter_secs is applied to this. :param response_future: If non-None, the result of the advertise request is filled into this future. """

        if not self.running:
            return

        if delay is None:
            delay = self.interval_secs

        delay += random.uniform(0, self.interval_max_jitter_secs)
        self._next_ad = self.io_loop.call_later(delay, self._ad,
                                                response_future)