IP Library Granted Patent US 10,034,129
Granted Patent B1
US 10,034,129 · App. 15/191,344 · Granted Jul 24, 2018

Mobile proximity based messages

Inventors: Scott Ellis (Chicago, IL); Devdatta Gangal (Mountain View, CA); Jayesh Joy (Chicago, IL); Hamish Barney (Palo Alto, CA)
Assignee: Groupon, Inc.
H04W4/021H04L51/20H04L67/26H04W4/023G06Q30/0261
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,034,129
App. No.
15/191,344
Granted
Jul 24, 2018
Kind
B1
Abstract

Techniques for providing proximity based messages are discussed herein. Some embodiments may include one or more servers configured to receive proximity message requests from a consumer device. The requests may include consumer device locations, which may be used by the one or more servers to generate a geofence set. Furthermore, the consumer device location may be used as a basis for selecting notification data relevant to the location. Both the geofence set and the notification data may be sent to the consumer device in a single proximity message response for local notification creation if the notification data can be collected within a maximum response time. The notification data may be provided via a push notification server asynchronously if the notification data cannot be collected within the maximum response time.

Claims (115)

1. A system for providing proximity based messages via a network, comprising:

one or more databases; and

one or more servers configured to:

establish a wireless connection with a consumer device via the network;

receive a proximity message request from the consumer device, wherein the proximity message request includes location data defining a consumer device location of the consumer device; and

in response to receiving the proximity message request:

determine proximate locations to the consumer device location based on the location data;

determine a geofence set including a geofence associated with each of the proximate locations;

determine a first geofence where the consumer device is located based on the proximity message request;

determine a maximum response time defining a maximum time in which the one or more servers are allowed to attempt to collect notification data associated with the first geofence from the one or more database on behalf of the consumer device, wherein the notification data is stored in the one or more databases;

determine whether the notification data defining a notification associated with the first geofence can be collected within the maximum response time by querying the one or more databases; and

in response to determining that the notification data can be collected within the maximum response time:

generate a proximity message response including the geofence set and the notification data associated with the first geofence; and

provide the proximity message response to the consumer device via the network; and

in response to determining that the notification data cannot be collected within the maximum response time, provide the notification data associated with the first geofence to a push notification server configured to generate the notification based on the notification data and asynchronously push the notification to the consumer device.

2. The system of claim 1 , wherein the one or more servers are further configured to, subsequent to providing the proximity message response to the consumer device:

receive a second proximity message request from the consumer device, wherein the second proximity message request includes second location data defining a second consumer device location, and wherein the second location data indicates that the consumer device has reached a second geofence of the geofence set;

in response to receiving the second message notification request:

determine second proximate locations to the second consumer device location based on the second location data;

determine a second geofence set including a geofence associated with each of the second proximate locations;

generate a second proximity message response including the second geofence set and second notification data associated with the second geofence; and

provide the second proximity message response to the consumer device via the network.

3. The system of claim 1 , wherein the one or more servers are further configured to:

determine whether the consumer device location is within a second geofence based on the location data; and

in response to determining that the consumer device location fails to be within the second geofence:

generate a second proximity message response including the geofence set independent of the notification data; and

provide the second proximity message response to the consumer device via the network.

4. The system of claim 1 , wherein the one or more servers are further configured to, in response to determining that the notification data cannot be collected within the maximum response time:

generate a second proximity message response including the geofence set and independent of the notification; and

provide the second proximity message response to the consumer device via the network.

5. The system of claim 1 , wherein the one or more servers configured to determine the maximum response time includes the one or more servers being configured to receive the maximum response time from the consumer device with the proximity message request.

6. The system of claim 1 , wherein the one or more servers are further configured to:

receive an access indication from the consumer device indicating an interaction with the notification via consumer device input; and

in response to receiving a second proximity message request, determine second notification data based at least in part on the access indication.

7. The system of claim 1 , wherein the one or more servers are further configured to:

receive a presentation indication from the consumer device indicating a display of the notification on the consumer device; and

in response to receiving a second proximity message request, determine second notification data based at least in part on the presentation indication.

8. The system of claim 1 , wherein the one or more servers are further configured to:

track a proximity message response count;

determine a proximity message response threshold; and

in response to determining that the proximity message response count fails to exceed the proximity message response threshold:

provide the proximity message response to the consumer device via the network; and

increment the proximity message response count.

9. The system of claim 1 , wherein the proximity message response further includes a badge number of a consumer application icon of the consumer device when the application is executing in the background of an operating system of the consumer device.

10. The system of claim 1 further including:

the consumer device, configured to:

determine the location data;

determine whether the consumer device is located within the first geofence; and

in response to determining that the consumer device is located within the first geofence, send the proximity message request to the consumer device.

11. The system of claim 1 , wherein the consumer device is further configured to generate a local notification based on the notification data.

12. The system of claim 11 , wherein the consumer device is further configured to send a presentation indicator to the one or more servers subsequent to generating the local notification.

13. The system of claim 11 , wherein the consumer device is further configured to send an access indicator to the one or more servers subsequent to receiving a consumer device input indicating a consumer interaction with the local notification.

14. The system of claim 1 , wherein the consumer device is further configured to:

determine whether a consumer application is executing in a background or a foreground of a mobile operating system of the consumer device; and

in response to determining that the consumer application is executing the foreground, generate a local notification including an alert view based on the notification data.

15. The system of claim 1 , wherein the consumer device is further configured to:

determine whether a consumer application is executing in a background or a foreground of a mobile operating system of the consumer device; and

in response to determining that the consumer application is executing the background, generate a local notification including one of a banner view or an alert view based on the notification data.

16. The system of claim 1 , wherein the consumer device is configured to select one of the banner view or the alert view based on at least one of a consumer device input or a predefined value.

17. A method for providing proximity based messages via a network, comprising:

establishing, by one or more servers, a wireless connection with a consumer device via the network;

receiving, by the one or more servers, a proximity message request from the consumer device, wherein the proximity message request includes location data defining a consumer device location of the consumer device; and

in response to receiving the proximity message request, and by the one or more servers:

determining proximate locations to the consumer device location based on the location data;

determining a geofence set including a geofence associated with each of the proximate locations;

determining a first geofence where the consumer device is located based on the proximity message request;

determining a maximum response time;

determining whether notification data defining a notification associated with the first geofence can be collected within the maximum response time;

in response to determining that the notification data can be collected within the maximum response time:

generating a proximity message response including the geofence set and the notification data associated with the first geofence; and

providing the proximity message response to the consumer device via the network; and

in response to determining that the notification data cannot be collected within the maximum response time, provide the notification data associated with the first geofence to a push notification server configured to generate the notification based on the notification data and asynchronously push the notification to the consumer device.

18. The method of claim 17 further comprising, by the one or more servers and subsequent to providing the proximity message response to the consumer device:

receiving a second proximity message request from the consumer device, wherein the second proximity message request includes second location data defining a second consumer device location, and wherein the second location data indicates that the consumer device has reached a second geofence of the geofence set;

in response to receiving the second message notification request:

determining second proximate locations to the second consumer device location based on the second location data;

determining a second geofence set including a geofence associated with each of the second proximate locations;

generating a second proximity message response including the second geofence set and second notification data associated with the second geofence; and

providing the second proximity message response to the consumer device via the network.

19. The method of claim 17 further comprising, by the one or more servers:

determining whether the consumer device location is within a second geofence of the geofence set based on second location data; and

in response to determining that the consumer device location fails to be within the second geofence:

generating a second proximity message response including a geofence set based on the second location, wherein the second proximity message response is independent of notification data; and

providing the second proximity message response to the consumer device via the network.

20. The method of claim 17 further comprising, by the one or more servers and in response to determining that the notification data cannot be collected within the maximum response time:

generating a second proximity message response including the geofence set and independent of the notification; and

providing the second proximity message response to the consumer device via the network.

21. The method of claim 17 , wherein determining the maximum response time includes receiving the maximum response time from the consumer device with the proximity message request.

22. The method of claim 17 further comprising, by the one or more servers:

receiving an access indication from the consumer device indicating an interaction with the notification via consumer device input; and

in response to receiving a second proximity message request, determining second notification data based at least in part on the access indication.

23. The method of claim 17 further comprising, by the one or more servers:

receiving a presentation indication from the consumer device indicating a display of the notification on the consumer device; and

in response to receiving a second proximity message request, determining second notification data based at least in part on the presentation indication.

24. The method of claim 17 further comprising, by the one or more servers:

tracking a proximity message response count;

determining a proximity message response threshold; and

in response to determining that the proximity message response count fails to exceed the proximity message response threshold:

providing the proximity message response to the consumer device via the network; and

incrementing the proximity message response count.

25. The method of claim 17 , wherein the proximity message response further includes a badge number of a consumer application icon of the consumer device when the application is executing in the background of an operating system of the consumer device.

26. The method of claim 17 further including, by the consumer device:

determining the location data;

determining whether the consumer device is located within the first geofence; and

in response to determining that the consumer device is located within the first geofence, sending the proximity message request to the consumer device.

27. The method of claim 17 further including, by the consumer device, generating a local notification based on the notification data.

28. The method of claim 27 further including, by the consumer device, sending a presentation indicator to the one or more servers subsequent to generating the local notification.

29. The method of claim 27 further including, by the consumer device, sending an access indicator to the one or more servers subsequent to receiving a consumer device input indicating a consumer interaction with the local notification.

30. The method of claim 17 further including, by the consumer device:

determining whether a consumer application is executing in a background or a foreground of a mobile operating system of the consumer device; and

in response to determining that the consumer application is executing the foreground, generating a local notification including an alert view based on the notification data.

31. The method of claim 17 further including, by the consumer device:

determining whether a consumer application is executing in a background or a foreground of a mobile operating system of the consumer device; and

in response to determining that the consumer application is executing the background, generating a local notification including one of a banner view or an alert view based on the notification data.

32. The method of claim 17 further including, by the consumer device, selecting one of the banner view or the alert view based on at least one of a consumer device input or a predefined value.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2024
From: GROUPON, INC.
To: BYTEDANCE INC.
Reel/Frame 068833/0811 →
RELEASE OF SECURITY INTEREST Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066676/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY RIGHTS Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066676/0251 →
SECURITY INTEREST Recorded Jul 23, 2020
From: GROUPON, INC.; LIVINGSOCIAL, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053294/0495 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2018
From: ELLIS, SCOTT; GANGAL, DEVDATTA; JOY, JAYESH; BARNEY, HAMISH
To: GROUPON, INC.
Reel/Frame 044603/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2017
From: ELLIS, SCOTT; GANGAL, DEVDATTA; JOY, JAYESH; BARNEY, HAMISH
To: GROUPON, INC.
Reel/Frame 044124/0792 →
Continuity (1)
Provisional Application 62184120 · Aug 24, 2015
Cited By (4)
US 12,190,714 US 12,219,424 US 12,300,095 US 12,353,631