IP Library Granted Patent US 12,219,424
Granted Patent B2
US 12,219,424 · App. 18/512,533 · Granted Feb 4, 2025

Mobile proximity based messages

Inventors: Scott Ellis (Palo Alto, CA); Devdatta Gangal (Mountain View, CA); Jayesh Joy (Sunnyvale, CA); Hamish Barney (Palo Alto, CA)
Assignee: Bytedance Inc.
H04W4/021H04L51/222H04L67/55H04W4/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 12,219,424
App. No.
18/512,533
Granted
Feb 4, 2025
Kind
B2
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 (80)

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

one or more servers configured to:

receive a proximity message request from a 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 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 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 a maximum response time:

generate a proximity message response including 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;

in response to receiving the second proximity message 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 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 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 15 , 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:

receiving, by one or more servers, a proximity message request from 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 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 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;

in response to receiving the second proximity message 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 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 independent of the notification; and

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

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2024
From: GROUPON, INC.
To: BYTEDANCE INC.
Reel/Frame 068538/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2023
From: GUO, JIAQI; SUBRAMANIAN, SRI; GOPALAN, RAMIN
To: GROUPON, INC.
Reel/Frame 065899/0512 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2023
From: ELLIS, SCOTT; GANGAL, DEVDATTA; JOY, JAYESH; BARNEY, HAMISH
To: GROUPON, INC.
Reel/Frame 065599/0610 →
Continuity (6)
Continuation 17813747 · Jul 20, 2022
Continuation 16455042 · Jun 27, 2019
Continuation 15859871 · Jan 2, 2018
Continuation 15191344 · Jun 23, 2016
Provisional Application 62184120 · Jun 24, 2015
Related Publication 20240179490A1 · May 30, 2024
References Cited (28)
US 9769604B2 · Lyman et al. · 2017 [cited by applicant]
US 10034129B1 · Ellis · 2018 [cited by examiner]
US 10382888B2 · Ellis · 2019 [cited by examiner]
US 11432102B2 · Ellis et al. · 2022 [cited by applicant]
US 20110010352A1 · Jockisch · 2011 [cited by examiner]
US 20120221706A1 · Westberg · 2012 [cited by applicant]
US 20120293465A1 · Nandu et al. · 2012 [cited by applicant]
US 20120295593A1 · Duenas · 2012 [cited by examiner]
US 20130045760A1 · Obermeyer et al. · 2013 [cited by applicant]
US 20130218455A1 · Clark · 2013 [cited by applicant]
US 20140156801A1 · Fernandes et al. · 2014 [cited by applicant]
US 20140365304A1 · Showers · 2014 [cited by examiner]
US 20150120453A1 · Lee et al. · 2015 [cited by applicant]
US 20150189615A1 · Rembarz et al. · 2015 [cited by applicant]
US 20150235332A1 · Styve et al. · 2015 [cited by applicant]
US 20150269624A1 · Cheng · 2015 [cited by examiner]
US 20160202069A1 · Wippler, III · 2016 [cited by applicant]
Ben Patterso, “iPhone Alerts, Badges, and Banners—What's the Difference?”, Jan. 22, 2014, www.hersthethingblog.com, p. 6. [cited by applicant]
Dan Moren, “Get to Know iOS 7: Multitasking”, Sep. 18, 2013, www.macworld.com, pp. 1-3. [cited by applicant]
U.S. Appl. No. 14/824,922, filed Aug. 12, 2015, first named inventor Abhaya Parthy, 50 pages. [cited by applicant]
U.S. Appl. No. 14/824,929, filed Aug. 12, 2015, first named inventor Greyson E. Gregory, 53 pages. [cited by applicant]
U.S. Patent Application for “Personalization Of Ranked Relevance Results Returned From a Universal Relevance Service Framework”, U.S. Appl. No. 14/824,934 dated Aug. 12, 2015. [cited by applicant]
U.S. Appl. No. 14/824,912 for Universal Relevance Service Framework filed Aug. 12, 2015 (Chowdhury et al.). [cited by applicant]
U.S. Appl. No. 62/140,957, filed Mar. 31, 2015, In re: Chowdhury entitled Universal Relevance Service Framework, U.S. Appl. No. 62/140,957. [cited by applicant]
U.S. Appl. No. 17/813,747, filed Jul. 20, 2022, U.S. Pat. No. 11,856,474, Issued. [cited by applicant]
U.S. Appl. No. 16/455,042, filed Jun. 27, 2019, U.S. Pat. No. 11,432,102, Issued. [cited by applicant]
U.S. Appl. No. 15/859,871, filed Jan. 2, 2018, U.S. Pat. No. 10,382,888, Issued. [cited by applicant]
U.S. Appl. No. 15/191,344, filed Jun. 23, 2016, U.S. Pat. No. 10,034,129, Issued. [cited by applicant]