Energy-efficient mobile advertising
First Claim
1. A method performed by at least one processor, comprising:
- predicting, utilizing the at least one processor, an estimated total amount of time of likely interaction with one or more applications executed by a mobile client during an upcoming prediction time period based upon features from past behavior data for the mobile client;
computing, utilizing the at least one processor, a number of advertisement slots likely to be available during the upcoming prediction time period based upon the estimated total amount of time of likely interaction with the one or more applications during the upcoming prediction time period; and
determining, utilizing the at least one processor, a probability of each of the advertisement slots being available during the upcoming prediction time period;
wherein prefetched advertisements are assigned to the mobile client for the upcoming prediction time period by an ad server based at least in part upon the number of advertisement slots likely to be available during the upcoming prediction time period and the probability of each of the advertisement slots being available during the upcoming prediction time period, and wherein the prefetched advertisements are retained in an advertisement cache of the mobile client and locally served for display on a display screen of the mobile client during execution of the one or more applications.
2 Assignments
0 Petitions
Accused Products
Abstract
Various technologies described herein pertain to prefetching advertisements for mobile advertising. A prediction model for estimating a number of advertisements that a mobile client is likely to request during an upcoming prediction time period can be employed. An estimated total amount of time of likely interaction with application(s) executed by the mobile client can be predicted; based upon such prediction, a number of advertisement slots likely to be available and a probability of each of the advertisement slots being available can be computed. Moreover, an ad server can allocate advertisements in a pending advertisement queue and/or disparate advertisements collected from an ad exchange to the mobile client based upon the number of advertisement slots likely to be available, the probability of each of the advertisements slots being available, and aggregated probabilities of the pending advertisements in the pending advertisement queue being displayed prior to corresponding deadlines for expiration.
25 Citations
31 Claims
-
1. A method performed by at least one processor, comprising:
-
predicting, utilizing the at least one processor, an estimated total amount of time of likely interaction with one or more applications executed by a mobile client during an upcoming prediction time period based upon features from past behavior data for the mobile client; computing, utilizing the at least one processor, a number of advertisement slots likely to be available during the upcoming prediction time period based upon the estimated total amount of time of likely interaction with the one or more applications during the upcoming prediction time period; and determining, utilizing the at least one processor, a probability of each of the advertisement slots being available during the upcoming prediction time period; wherein prefetched advertisements are assigned to the mobile client for the upcoming prediction time period by an ad server based at least in part upon the number of advertisement slots likely to be available during the upcoming prediction time period and the probability of each of the advertisement slots being available during the upcoming prediction time period, and wherein the prefetched advertisements are retained in an advertisement cache of the mobile client and locally served for display on a display screen of the mobile client during execution of the one or more applications. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An ad server that allocates advertisements to mobile clients, comprising:
-
a data repository that retains a pending advertisement queue that comprises pending advertisements, wherein the pending advertisements in the pending advertisement queue are collected from an ad exchange and have yet to be displayed by one or more of the mobile clients, and wherein the pending advertisements in the pending advertisement queue each have a corresponding deadline for expiration; memory that comprises computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including; receiving a prefetch request from a given mobile client for a certain number of advertisements to be locally served during an upcoming prediction time period for display by the given mobile client during execution of one or more applications, wherein the mobile clients comprise the given mobile client; computing an aggregated probability of each of the pending advertisements in the pending advertisement queue being displayed by at least one of the mobile clients prior to the corresponding deadline for expiration; in response to the prefetch request, assigning at least one of one or more disparate advertisements collected from the ad exchange or one or more of the pending advertisements from the pending advertisement queue to the given mobile client based at least in part upon the aggregated probability of each of the pending advertisements in the pending advertisement queue being displayed prior to the corresponding deadline for expiration, a number of advertisement slots that the given mobile client is likely to have available during the upcoming prediction time period, and a probability of each of the advertisement slots of the given mobile client being available during the upcoming prediction time period; and transmitting assigned advertisements to the given mobile client. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A client device, comprising:
-
at least one processor; and memory that comprises computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including; predicting an estimated total amount of time of likely interaction with one or more applications executed by the client device during an upcoming prediction time period based upon features from past behavior data for the client device; computing a number of slots for content units likely to be available during the upcoming prediction time period based upon the estimated total amount of time of likely interaction with the one or more applications during the upcoming prediction time period; determining a probability of each of the slots being available during the upcoming prediction time period; transmitting data indicative of the number of the slots likely to be available during the upcoming prediction time period and the probability of each of the slots being available during the upcoming prediction time period to a server; receiving, from the server, prefetched content units assigned to the client device for the upcoming prediction time period, the prefetched content units being received responsive to the data indicative of the number of the slots likely to be available during the upcoming prediction time period and the probability of each of the slots being available during the upcoming prediction time period; storing the prefetched content units in a cache of the client device; and locally serving, from the cache, one or more of the prefetched content units for display on a display screen of the client device during execution of the one or more applications. - View Dependent Claims (20)
-
-
21. A method performed by a client device, comprising:
-
predicting an estimated total amount of time of likely interaction with one or more applications executed by the client device during an upcoming prediction time period based upon features from past behavior data for the client device; computing a number of slots for content units likely to be available during the upcoming prediction time period based upon the estimated total amount of time of likely interaction with the one or more applications during the upcoming prediction time period; determining a probability of each of the slots being available during the upcoming prediction time period; transmitting, from the client device to a server, data indicative of the number of the slots likely to be available during the upcoming prediction time period and the probability of each of the slots being available during the upcoming prediction time period; receiving, at the client device from the server, prefetched content units assigned to the client device for the upcoming prediction time period, the prefetched content units being received responsive to the data indicative of the number of the slots likely to be available during the upcoming prediction time period and the probability of each of the slots being available during the upcoming prediction time period; storing the prefetched content units in a cache of the client device; and locally serving, from the cache, one or more of the prefetched content units for display on a display screen of the client device during execution of the one or more applications. - View Dependent Claims (22)
-
-
23. A system that allocates content units to client devices, comprising:
-
a data repository that retains a pending queue that comprises pending content units, wherein the pending content units in the pending queue are collected from a differing system and have yet to be displayed by one or more of the client devices, and wherein the pending content units in the pending queue each have a corresponding deadline for expiration; at least one processor; and memory that comprises computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including; receiving a prefetch request from a given client device for a certain number of content units to be locally served during an upcoming prediction time period for display by the given client device during execution of one or more applications, wherein the client devices comprise the given client device; computing an aggregated probability of each of the pending content units in the pending queue being displayed by at least one of the client devices prior to the corresponding deadline for expiration; in response to the prefetch request, assigning at least one of one or more disparate content units collected from the differing system or one or more of the pending content units from the pending queue to the given client device based at least in part upon the aggregated probability of each of the pending content units in the pending queue being displayed prior to the corresponding deadline for expiration, a number of slots for content units that the given client device is likely to have available during the upcoming prediction time period, and a probability of each of the slots of the given client device being available during the upcoming prediction time period; and transmitting assigned content units to the given client device. - View Dependent Claims (24, 25)
-
-
26. A method performed by at least one server, comprising:
-
receiving, at the at least one server, a prefetch request from a given client device for a certain number of content units to be locally served during an upcoming prediction time period for display by the given client device during execution of one or more applications; computing aggregated probabilities of pending content units in a pending queue of the at least one server being displayed prior to corresponding deadlines for expiration, wherein the pending content units in the pending queue have yet to be displayed; in response to the prefetch request, assigning one or more of the pending content units from the pending queue to the given client device based on; the aggregated probabilities of the pending content units in the pending queue being displayed prior to the corresponding deadlines for expiration; a number of slots for content units that the given client device is likely to have available during the upcoming prediction time period; and
a probability of each of the slots of the given client device being available during the upcoming prediction time period; andtransmitting, from the at least one server, assigned content units to the given client device. - View Dependent Claims (27, 28, 29, 30, 31)
-
Specification