IP Library Granted Patent US 10,229,434
Granted Patent B2
US 10,229,434 · App. 14/661,392 · Granted Mar 12, 2019

Caching geolocated offers

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,229,434
App. No.
14/661,392
Granted
Mar 12, 2019
Kind
B2
Abstract

Provided is a process, including: receiving, with one or more processors, from a remote user computing device, a geographic location of the user computing device; determining that the user computing device is in a cache geographic area in which information about potentially relevant geographically-targeted offers is to be predictively loaded into memory of the user computing device before the user requests the information about geographically-targeted offers; selecting, with one or more processors, an offer from a repository of offers based on the selected offer being associated with the cache geographic area or a location in the cache geographic area; and in response to the determination, sending, with one or more processors, the selected offer to the user computing device for storage in cache memory of the user computing device before the user requests the selected offer.

Claims (106)

1. A method, comprising:

receiving, with one or more processors, from a plurality of remote wireless computing devices of users, logged reports of previous impaired or failed attempts by the wireless computing devices to wirelessly access content while in a geographic area, the logged reports being received after the plurality of remote wireless computing devices regain wireless connectivity;

determining that an amount of the impaired or failed attempts exceeds a threshold;

in response to the determination, designating, with one or more processors, the geographic area as having poor wireless connectivity with a cache geofence in which offers corresponding to the area are to be predictively loaded into cache memory of computing devices entering the area before a user requests the offers or the user is at a geolocation within the cache geofence at which the offers are targeted;

receiving, with one or more processors, from a given computing device of a given user, a geographic location of the given computing device and a request for geofences corresponding to the geographic location;

in response to the request for geofences, sending the cache geofence to the given computing device;

after sending the cache geofence, receiving, with one or more processors, from the given computing device, another request indicating the given user device is within the cache geofence;

in response to the other request, sending, with one or more processors, the given computing device offers to be predictively loaded into cache memory of the given computing device but not presented to the user until other conditions occur;

after the user is presented with at least some of the cached offers without successfully using wireless connectivity, and after the given computing device regains wireless connectivity, receiving, with one or more processors, a logged record from the given computing device indicating which offers were presented to the user including offers presented during the loss of wireless connectivity; and

storing, with one or more processors, metrics of at least some of the presented offers based on the received logged record.

2. The method of claim 1 , wherein:

determining that the amount of the impaired or failed attempts exceeds a threshold comprises calculating the threshold based on an amount of user requests for content, including successful request for content, while in the geographic area;

the geographic location is external to the cache geofence when the request for geofences is received;

sending offers to be predictively loaded into cache memory comprises sending offers associated with different portions of the cache geofence, wherein at least a first one of the offers is associated with a first location in the cache geofence, and at least a second one of the offers is associated with a second location in the cache geofence that is different from the first location; and

receiving a logged record comprises receiving an indication that the first one of the offers was presented to the user and that the second one of the offers was not presented to the user.

3. The method of claim 1 , wherein:

at least some of the logged reports identify a cellular carrier and a requested offer for which access was impaired or failed;

determining that the amount of the impaired or failed attempts exceed a threshold comprises:

selecting a subset of the logged reports based on the selected subset being associated with a given cellular carrier; and

determining that an amount of impaired or failed attempts among the subset of logged reports exceed a threshold for the given carrier;

designating the geographic area with a cache geofence comprises designating the geographic area with a cache geofence associated with the given carrier;

receiving a request for geofences corresponding to the geographic location comprises receiving an identifier of the given carrier; and

sending the cache geofence to the given computing device comprises selecting the cache geofence based on the identifier of the given carrier corresponding to the association of the cache geofence with the given carrier.

4. A method, comprising:

receiving, with one or more processors, from a remote user computing device, a geographic location of the user computing device;

determining that the user computing device is in a cache geographic area in which information about potentially relevant geographically-targeted offers is to be predictively loaded into memory of the user computing device before the user requests the information about geographically-targeted offers;

selecting, with one or more processors, an offer from a repository of offers based on the selected offer being associated with the cache geographic area or a location in the cache geographic area; and

in response to the determination, sending, with one or more processors, the selected offer to the user computing device for storage in cache memory of the user computing device before the user requests the selected offer.

5. The method of claim 4 , wherein:

receiving a geographic location of the user computing device comprises receiving an identifier of a geofence previously sent to the user computing device, the identifier being received after the user computing device determines that the user computing device is within the geofence, and

determining that the user computing device is in a cache geographic area comprises determining that the geofence is a cache geofence based on a designation of the geofence associated with the received identifier.

6. The method of claim 4 , wherein:

receiving a geographic location comprises receiving data by which a cellular carrier of the user computing device is identified;

the method further comprising:

determining that the cellular carrier corresponds to the cache geographic area, wherein the cache geographic area does not correspond to other cellular carriers of other user devices.

7. The method of claim 4 , wherein:

receiving a geographic location comprises receiving data by which a mobile device model of the user computing device is identified;

the method further comprising:

determining that the mobile device model corresponds to the cache geographic area, wherein the cache geographic area does not correspond to other mobile device models of other user devices.

8. The method of claim 4 , wherein sending the selected offer comprises:

sending content describing the selected offer, wherein the content describing the selected offer is smaller than content that is sent when another user requests the same offer outside of the context of a request to cache content.

9. The method of claim 4 , wherein sending the offer comprises:

obtaining a bar code number and a bar code type of the offer; and

sending the bar code number and the bar code type to the user computing device without sending an image of the bar code, wherein the bar code number and bar code type are sent in a format that, when input into a bar code image generation routine executing on the user computing device, cause the bar code image generation routine to generate an image of the bar code for presentation on the user computing device.

10. The method of claim 4 , wherein selecting the offer comprises:

selecting a plurality of offers, including the offer, based on a record of offers previously redeemed by other users in the cache geographic area or based on a record of offers previously redeemed by the user.

11. The method of claim 4 , comprising:

before receiving the geographic location, profiling a plurality of geographic areas as having inadequate wireless connectivity based on reports from a plurality of other user devices indicating failed attempts to access content related to offers while in respective ones of the plurality of geographic areas, and

creating at least part of the cache geographic area in response to the profiling.

12. The method of claim 4 , sending the selected offer comprises:

obtaining a plurality of application program interface (API) request responses, at least one of the responses including the offer, at least some of the responses including a plurality of offers responsive to the respective API request;

associating a description of each API request with the respective response; and

sending the composed responses, the description of each API request, and the association between the description of each API request and the respective response to the user computing device.

13. The method of claim 4 , wherein:

the selected offer is a single-use offer having a unique single-use offer code corresponding to an instance of the single-use offer and different from other instances of the single-use offer;

the method comprises:

after selecting the offer, designating, in memory, the instance of the single-use offer as reserved, but not redeemed; and

receiving a request for the single-use offer from a different user computing device; and

sending one of the other instances of the single-use offer to the different user computing device in response to the instance of the single-use offer being designated as reserved.

14. The method of claim 4 , wherein:

the selected offer is a single-use offer having a single-use offer code corresponding to an instance of the single-use offer and different from other instances of the single-use offer;

the method comprises:

after selecting the offer, designating, in memory, the instance of the single-use offer as reserved; and

after sending the selected offer, receiving an indication from the user computing device that the single-use offer was not redeemed;

receiving an indication from the user computing device that the single-use offer was removed or expired from cache memory; and

in response to at least one of the indications, designating the single-use offer as not being reserved.

15. The method of claim 4 , comprising:

after sending the selected offer, and after losing and then regaining a network connection with the remote user computing device, receiving a report indicating whether the offer was presented to the user while the network connection was lost.

16. The method of claim 4 , comprising:

receiving request from the mobile device for offers when the mobile device has wireless connectivity; and

sending one or more offers to the mobile device in response to the request.

17. A system, comprising:

one or more processors; and

memory storing instructions that when executed by at least some of the processors effectuate operations comprising:

receiving, with one or more processors, from a remote user computing device, a geographic location of the user computing device;

determining that the user computing device is in a cache geographic area in which information about potentially relevant geographically-targeted offers is to be predictively loaded into memory of the user computing device before the user requests the information about geographically-targeted offers;

selecting, with one or more processors, an offer from a repository of offers based on the selected offer being associated with the cache geographic area or a location in the cache geographic area; and

in response to the determination, sending, with one or more processors, the selected offer to the user computing device for storage in cache memory of the user computing device before the user requests the selected offer.

18. The system of claim 17 , wherein:

receiving a geographic location comprises receiving data by which a cellular carrier of the user computing device is identified;

the operations comprise:

determining that the cellular carrier corresponds to the cache geographic area, wherein the cache geographic area does not correspond to other cellular carriers of other user devices.

19. The system of claim 17 , wherein:

receiving a geographic location comprises receiving data by which a mobile device model of the user computing device is identified;

the operations comprise:

determining that the mobile device model corresponds to the cache geographic area, wherein the cache geographic area does not correspond to other mobile device models of other user devices.

20. The system of claim 17 , wherein sending the selected offer comprises:

sending content describing the selected offer, wherein the content describing the selected offer is smaller than content that is sent when another user requests the same offer outside of the context of a request to cache content.

21. The system of claim 17 , wherein sending the offer comprises:

obtaining a bar code number and a bar code type of the offer; and

sending the bar code number and the bar code type to the user computing device without sending an image of the bar code, wherein the bar code number and bar code type are sent in a format that, when input into a bar code image generation routine executing on the user computing device, cause the bar code image generation routine to generate an image of the bar code for presentation on the user computing device.

22. The system of claim 17 , wherein selecting the offer comprises:

selecting a plurality of offers, including the offer, based on a record of offers previously redeemed by other users in the cache geographic area or based on a record of offers previously redeemed by the user.

23. The system of claim 17 , the operations comprising:

before receiving the geographic location, profiling a plurality of geographic areas as having inadequate wireless connectivity based on reports from a plurality of other user devices indicating failed attempts to access content related to offers while in respective ones of the plurality of geographic areas, and

creating at least part of the cache geographic area in response to the profiling.

24. The system of claim 17 , sending the selected offer comprises:

obtaining a plurality of application program interface (API) request responses, at least one of the responses including the offer, at least some of the responses including a plurality of offers responsive to the respective API request;

associating a description of each API request with the respective response; and

sending the composed responses, the description of each API request, and the association between the description of each API request and the respective response to the user computing device.

25. The system of claim 17 , wherein:

the selected offer is a single-use offer having a unique single-use offer code corresponding to an instance of the single-use offer and different from other instances of the single-use offer;

the operations comprise:

after selecting the offer, designating, in memory, the instance of the single-use offer as reserved, but not redeemed; and

receiving a request for the single-use offer from a different user computing device; and

sending one of the other instances of the single-use offer to the different user computing device in response to the instance of the single-use offer being designated as reserved.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Jul 29, 2024
From: COMPUTERSHARE TRUST COMPANY, N.A., AS SUCCESSOR TO WELLS FARGO BANK, NATIONAL ASSOCIATION
To: NCH MARKETING SERVICES, INC.; VALASSIS COMMUNICATIONS, INC.; VALASSIS DIGITAL CORP.; VALASSIS DIRECT MAIL, INC.
Reel/Frame 068177/0738 →
SECURITY INTEREST Recorded Apr 8, 2021
From: EVERYDAY HEALTH, INC.; KEEPITSAFE, INC.; OOKLA, LLC; SPICEWORKS, INC.; THREATTRACK SECURITY, INC.; RETAILMENOT, INC.
To: MUFG UNION BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 056969/0755 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 42494/0822 Recorded Oct 28, 2020
From: CITIBANK, N.A.
To: RETAILMENOT, INC.; GIFTCARDZEN INC.; YSL VENTURES, INC.; CSB ACQUISITION CO., LLC; SMALLPONDS, LLC; RNOT, LLC; SPECTRAWIDE ACQUISITION CO., LLC; CLTD ACQUISITION CO., LLC; DEALS.COM, LLC
Reel/Frame 054241/0662 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 42684/0863 Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: RETAILMENOT, INC.; GIFTCARDZEN INC.; YSL VENTURES, INC.; CSB ACQUISITION CO., LLC; SMALLPONDS, LLC; RNOT, LLC; SPECTRAWIDE ACQUISITION CO., LLC; CLTD ACQUISITION CO., LLC; DEALS.COM, LLC
Reel/Frame 054243/0530 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS AGENT
To: RETAILMENOT, INC.
Reel/Frame 054195/0983 →
SECURITY INTEREST Recorded Jun 13, 2017
From: RETAILMENOT, INC.; GIFTCARDZEN INC.; YSL VENTURES, INC.; CSB ACQUISITION CO., LLC; SMALLPONDS, LLC; RNOT, LLC; SPECTRAWIDE ACQUISITION CO., LLC; CLTD ACQUISITION CO., LLC; DEALS.COM, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 042684/0863 →
SECURITY INTEREST Recorded Jun 1, 2017
From: RETAILMENOT, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS AGENT
Reel/Frame 042562/0481 →
SECURITY INTEREST Recorded May 24, 2017
From: RETAILMENOT, INC.; GIFTCARDZEN INC; YSL VENTURES, INC.; CSB ACQUISITION CO., LLC; SMALLPONDS, LLC; RNOT, LLC; SPECTRAWIDE ACQUISITION CO., LLC; CLTD ACQUISITION CO., LLC; DEALS.COM, LLC
To: CITIBANK, N.A.
Reel/Frame 042494/0822 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2015
From: CHENG, ALEXANDER M.; REGO, JEFFREY R.; RANDLE, J. SETH
To: RETAILMENOT, INC.
Reel/Frame 036165/0123 →
Cited By (13)
US 12,192,849 US 12,302,191 US 12,381,959 US 12,387,578 US 12,418,771 US 12,464,372 US 12,470,891 US 12,520,224 US 12,548,096 US 12,549,924 US 12,598,155 US 12,647,749 US 12,689,868