IP Library Granted Patent US 11,304,032
Granted Patent B2
US 11,304,032 · App. 16/701,992 · Granted Apr 12, 2022

Method and system for determining location of mobile device

Inventors: Geoffrey H. Woo (San Francisco, CA); Jonathan R. Zhang (San Francisco, CA); Jonathan D. Chang (Palo Alto, CA)
Assignee: Groupon, Inc.
H04W4/027H04W4/02H04W4/025H04W4/029H04W48/04H04W64/00
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 11,304,032
App. No.
16/701,992
Granted
Apr 12, 2022
Kind
B2
Abstract

Provided herein are system, methods and computer readable storage media in facilitating the determination of a location of at least one mobile device. In providing such functionality, the system may be configured to, for example, receive contextual data corresponding to a contextual state of a mobile device, determine the location of a mobile device, and transmit the location of the mobile device to at least one other mobile device.

Claims (59)

1. A method for tracking a location of first mobile device following a request generated by a second mobile device, the method comprising:

receiving mobile device contextual data associated with the first mobile device via an open socket connection with the first mobile device;

determining a first velocity vector and a first acceleration vector of the first mobile device from the contextual data;

predicting, based at least in part on one or more of a Kalman filter and Markov chain, a future location of the first mobile device based at least in part on the first velocity vector and the first acceleration vector; and

determining the location of the first mobile device by:

determining a second velocity vector and a second acceleration vector corresponding to measurements taken subsequent to measurements of the first velocity vector and the first acceleration vector;

determining whether the predicted future location meets an accuracy threshold based at least in part on whether the predicted future location corresponds with the second velocity vector and the second acceleration vector;

in response to determining that the predicted future location meets the accuracy threshold, determining a sharing permissions status with respect to the second mobile device; and

transmitting location data corresponding to the future location of the first mobile device based at least in part on the sharing permissions status.

2. The method of claim 1 , wherein the mobile device contextual data further comprises at least one of:

mobile device audio data;

mobile device video data;

mobile device velocity data; and

mobile device acceleration data.

3. The method of claim 1 , further comprising:

receiving one or more location data requests from at least one other mobile device; and

transmitting the location data based at least in part on a sharing permissions status with respect to the at least one other mobile device.

4. The method of claim 3 , further comprising:

determining whether any duplication exists between any of the one or more location data requests.

5. A computer program product for tracking a location of a first mobile device following a request generated by a second mobile device, the computer program product comprising:

at least one computer readable non-transitory memory medium having program code instructions stored thereon, the program code instructions which when executed by an apparatus cause the apparatus at least to:

receive mobile device contextual data associated with the first mobile device via an open socket connection with the first mobile device;

determine a first velocity vector and a first acceleration vector of the first mobile device from the contextual data;

predict, based at least in part on one or more of a Kalman filter and Markov chain, a future location of the first mobile device based at least in part on the first velocity vector and the first acceleration vector; and

determine the location of the first mobile device by:

determining a second velocity vector and a second acceleration vector corresponding to measurements taken subsequent to measurements of the first velocity vector and the first acceleration vector;

determining whether the predicted future location meets an accuracy threshold based on whether the predicted future location corresponds with the second velocity vector and the second acceleration vector;

in response to determining that the predicted future location meets the accuracy threshold, determining a sharing permissions status with respect to the second mobile device; and

transmitting location data corresponding to the future location of the first mobile device based at least in part on the sharing permissions status.

6. The computer program product according to claim 5 , wherein the mobile device contextual data further comprises at least one of:

mobile device audio data;

mobile device video data;

mobile device velocity data; and

mobile device acceleration data.

7. The computer program product according to claim 5 , wherein the program code instructions are further configured to, when executed by the apparatus, cause the apparatus to:

receive one or more location data requests from at least one other mobile device; and

transmit the location data based at least in part on a sharing permissions status with respect to the at least one other mobile device.

8. The computer program product according to claim 7 , wherein the program code instructions are further configured to, when executed by the apparatus, cause the apparatus to:

determine whether any duplication exists between any of the one or more location data requests.

9. An apparatus for tracking a location of a first mobile device following a request generated by a second mobile device, the apparatus comprising:

at least one processor and at least one memory, the memory including computer program instructions which when executed in conjunction with the at least one processor, are configured to cause the apparatus at least to:

receive mobile device contextual data associated with the first mobile device via an open socket connection with the first mobile device;

determine a first velocity vector and a first acceleration vector of the first mobile device from the contextual data;

predict, based at least in part on one or more of a Kalman filter and Markov chain, a future location of the first mobile device based at least in part on the first velocity vector and the first acceleration vector; and

determine the location of the first mobile device by:

determining a second velocity vector and a second acceleration vector corresponding to measurements taken subsequent to measurements of the first velocity vector and the first acceleration vector;

determining whether the predicted future location meets an accuracy threshold based on whether the predicted future location corresponds with the second velocity vector and the second acceleration vector;

in response to determining that the predicted future location meets the accuracy threshold, determining a sharing permissions status with respect to the second mobile device; and

transmitting location data corresponding to the future location of the first mobile device based at least in part on the sharing permissions status.

10. The apparatus according to claim 9 , wherein the mobile device contextual data further comprises at least one of:

mobile device audio data;

mobile device video data;

mobile device velocity data; and

mobile device acceleration data.

11. The apparatus according to claim 9 , wherein the computer program instructions, when executed in conjunction with the at least one processor, are further configured to cause the apparatus to:

receive one or more location data requests from at least one other mobile device; and

transmit the location data based at least in part on a sharing permissions status with respect to the at least one other mobile device.

12. The apparatus according to claim 11 , wherein the computer program instructions, when executed in conjunction with the at least one processor, are further configured to cause the apparatus to:

determine whether any duplication exists between any of the one or more location data requests.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2024
From: GROUPON, INC.
To: BYTEDANCE INC.
Reel/Frame 068241/0001 →
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 Dec 3, 2019
From: WOO, GEOFFREY H.; ZHANG, JONATHAN R.; CHANG, JONATHAN D.
To: GROUPON, INC.
Reel/Frame 051164/0900 →