IP Library Granted Patent US 9,671,233
Granted Patent B2
US 9,671,233 · App. 13/672,643 · Granted Jun 6, 2017

Dynamically providing position information of a transit object to a computing device

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 9,671,233
App. No.
13/672,643
Granted
Jun 6, 2017
Kind
B2
Abstract

A system and method for providing position information of a transit object to a computing device is provided. Global positioning satellite (GPS) information of a transit object can be periodically received. For each of some of the GPS information, one or more candidate points of a transit system can be identified based on the GPS information. Using the one or more candidate points, a most likely path of travel can be determined. Additional position points along the most likely path of travel can be extrapolated and transmitted to a computing device.

Claims (59)

1. A method for operating a computer system to arrange services for requesters, the method being performed by one or more processors of a computing system and comprising:

receiving a request for a service from a requester operating a requester computing device;

determining, from the request, a service location of where the service is to be initiated;

selecting one or more service providers for the requester based at least in part on the service location and a position of a computing device of each selected service provider;

communicating with at least a first computing device of a first one of the selected service providers, to arrange for the first service provider to initiate the service at the service location, the first service provider being associated with a vehicle, wherein communicating with the first computing device includes:

receiving, from the first computing device, a first global positioning satellite (GPS) location point of the vehicle, including a respective first GPS error amount and a first time stamp, and a second GPS location point of the vehicle, including a respective second GPS error amount and a second time stamp, each GPS location point corresponding to a latitude and a longitude coordinate of the vehicle;

identifying, for the first GPS location point, a first set of one or more candidate location points of a transit system that is within a first distance corresponding to the first GPS error amount for the first GPS location point, and for the second GPS location point, a second set of one or more candidate location points of the transit system that is within a second distance corresponding to the second GPS error amount for the second GPS location point;

determining a path of travel of the vehicle between a first candidate location point of the first set of one or more candidate location points and a second candidate location point of the second set of one or more candidate location points;

wherein determining the path of travel of the vehicle between the first and second candidate location points is based at least in part on the first GPS location point, the second GPS location point, the first time stamp, and the second time stamp;

determining, from the path of travel, one or more extrapolated location points positioned between the first candidate location point from the first set and the second candidate location point from the second set; and

communicating with the requester computing device as the first service provider operates the vehicle to arrive at the service location, the requester computing device operating independent of the first computing device and separate from the vehicle, wherein communicating with the requester computing device includes:

transmitting, to the requester computing device, a set of extrapolated location points and at least the first candidate location point or the second candidate location point; and

providing a graphic representation of the vehicle on a map user interface of the requester computing device, wherein presenting the graphic representation includes animating the graphic representation to move in a trajectory on the map interface using the extrapolated location points and at least the first candidate location point or the second candidate location point, the trajectory reflecting the vehicle moving to the service location in real-time.

2. The method of claim 1 , wherein identifying the first set and the second set of one or more candidate location points of the transit system includes referencing a transit spatial database of a transit system.

3. The method of claim 2 , wherein each of at least one candidate location point of the first set and at least one candidate location point of the second set corresponds to a location point on a path of travel identified in the transit spatial database.

4. The method of claim 1 , wherein determining the path of travel includes using the first and second time stamps of the first and second GPS location points with at least one of a routing engine, a physics engine, or a hidden Markov model solver.

5. The method of claim 1 , wherein determining the one or more extrapolated location points along the path of travel includes determining an extrapolated time stamp for each of the one or more extrapolated location points.

6. The method of claim 1 , wherein transmitting the set of the one or more extrapolated location points to the requester computing device includes determining a current time associated with the requester computing device and transmitting the set of the one or more extrapolated location points based on the current time.

7. A computer system to arrange services for requesters, the computer system comprising:

memory resources storing instructions;

a network interface; and

one or more processors, coupled to the memory resources and the network interface, to execute the instructions, wherein the instructions, when executed by the one or more processors, cause the system to:

receive a request for a service from a requester operating a requester computing device;

determine, from the request, a service location of where the service is to be initiated;

select one or more service providers for the requester based at least in part on the service location and a position of a computing device of each selected service provider;

communicate with at least a first computing device of a first one of the selected service providers, to arrange for the first service provider to initiate the service at the service location, the first service provider being associated with a vehicle;

wherein the computer system communicates with the first computing device by:

receiving, via the network interface, at the system from a first computing device, a first global positioning satellite (GPS) location point of the vehicle, including a respective first GPS error amount and a first time stamp, and a second GPS location point of the vehicle, including a respective second GPS error amount and a second time stamp, each GPS location point corresponding to a latitude and a longitude of the vehicle;

identifying, for the first GPS location point, a first set of one or more candidate location points of a transit system that is within a first distance corresponding to the first GPS error amount for the first GPS location point, and for the second GPS location point, a second set of one or more candidate location points of the transit system that is within a second distance corresponding to the second GPS error amount for the second GPS location point;

determining a path of travel of the vehicle between a first candidate location point of the first set of one or more candidate location points and a second candidate point of the second set of one or more candidate location points;

wherein determining the path of travel of the vehicle between the first and second candidate location points is based at least in part on the first GPS location point, the second GPS location point, the first time stamp, and the second time stamp;

determining, along the path of travel, one or more extrapolated location points is positioned between the first candidate location point from the first set and the second candidate location point from the second set; and

communicate with the requester computing device as the first service provider operates the vehicle to arrive at the service location, the requester computing device operating independent of the first computing device and separate from the vehicle, wherein the computer system communicates with the requester computing device by:

transmitting, to the requester computing device, a set of extrapolated location points and at least the first candidate location point or the second candidate location point; and

providing a graphic representation of the vehicle on a map user interface of the requester computing device, wherein the the extrapolated location points and at least the first candidate location point or the second candidate location point are used to animate the graphic representation on the map interface to move in a trajectory that reflects the vehicle moving in real-time to the service location.

8. The computer system of claim 7 , wherein the instructions cause the system to identify the first set and the second set of one or more candidate location points of a transit system by referencing a transit spatial database of the transit system.

9. The computer system of claim 8 , wherein each of at least one candidate location point of the first set and at least one of candidate location point the second set corresponds to a location point on a path of travel identified in the transit spatial database.

10. The computer system of claim 7 , wherein the one or more processors determine the path of travel by using the first and second time stamps of the first and second GPS location points with at least one of a routing engine, a physics engine, or a hidden Markov model solver.

11. The computer system of claim 7 , wherein the instructions cause the system to determine the one or more extrapolated location points along the path of travel by determining an extrapolated time stamp for each of the one or more extrapolated location points.

12. The computer system of claim 7 , wherein the instructions cause the system to transmit the set of the one or more extrapolated location points to the requester computing device by determining a current time associated with the requester computing device and transmitting the set of the one or more extrapolated location points based on the current time.

13. A non-transitory computer readable medium storing instructions that, when executed by one or more processors of a system, cause the system to:

receive a request for a service from a requester operating a requester computing device;

determine, from the request, a service location of where the service is to be initiated;

select one or more service providers for the requester based at least in part on the service location and a position of a computing device of each selected service provider;

communicate with at least a first computing device of a first one of the selected service providers, to arrange for the first service provider to initiate the service at the service location, the first service provider being associated with a vehicle;

wherein the system communicates with the first computing device by:

receiving, at the system from a first computing device, a first global positioning satellite (GPS) location point of a vehicle, including a respective first GPS error amount and a first time stamp, and a second GPS location point of the vehicle, including a respective second GPS error amount and a second time stamp, each GPS location point corresponding to a latitude and a longitude of the vehicle;

identifying for the first GPS location point, a first set of one or more candidate location points of the transit system that is within a first distance corresponding to the first GPS error amount for the first GPS location point, and for the second GPS location point, a second set of one or more candidate location points of the transit system that is within a second distance corresponding to the second GPS error amount for the second GPS location point;

determining a path of travel of the vehicle between a first candidate location point of the first set of one or more candidate location points and a second candidate location point of the second set of one or more candidate location points;

wherein determining the path of travel of the vehicle between the first and second candidate location points is based at least in part on the first GPS location point, the second GPS location point, the first time stamp, and the second time stamp;

determining, along the path of travel, one or more extrapolated location points positioned between the first candidate location point from the first set and the second candidate location point from the second set; and

communicate with the requester computing device as the first service provider operates the vehicle to arrive at the service location, the requester computing device operating independent of the first computing device and separate from the vehicle, wherein the system communicates with the requester computing device by:

transmitting, to the requester computing device, a set of extrapolated location points and at least the first candidate location point or the second candidate location point;

providing a graphic representation of the vehicle on a map user interface of the requester computing device, wherein providing the graphic representation includes animating the graphic representation to move in a trajectory on the map interface using the extrapolated location points and at least the first candidate location point or the second candidate location point, the trajectory reflecting the vehicle moving to the service location in real-time.

14. The non-transitory computer readable medium of claim 13 , wherein the instructions cause the system to determine the one or more extrapolated location points along the path of travel by determining an extrapolated time stamp for each of the one or more extrapolated location points.

15. The non-transitory computer readable medium of claim 13 , wherein identifying the first set and the second set of one or more candidate location points of the transit system includes referencing a transit spatial database of a transit system.

16. The non-transitory computer readable medium of claim 15 , wherein each of at least one candidate location point of the first set and at least one candidate location point of the second set corresponds to a location point on a path of travel identified in the transit spatial database.

17. The non-transitory computer readable medium of claim 13 , wherein determining the path of travel includes using the first and second time stamps of the first and second GPS location points with at least one of a routing engine, a physics engine, or a hidden Markov model solver.

18. The non-transitory computer readable medium of claim 13 , wherein transmitting the set of the one or more extrapolated location points to the requester computing device includes determining a current time associated with the requester computing device and transmitting the set of the one or more extrapolated location points based on the current time.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Oct 3, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069110/0508 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT (TERM LOAN) AT REEL 039341, FRAME 0008 Recorded Sep 11, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069133/0140 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 055547/0404 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBER PREVIOUSLY RECORDED AT REEL: 45853 FRAME: 418. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 26, 2018
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 049259/0064 →
SECURITY INTEREST Recorded Apr 6, 2018
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 045853/0418 →
PATENT SECURITY AGREEMENT (REVOLVER) Recorded Jul 14, 2016
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 039341/0064 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jul 14, 2016
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 039341/0008 →
RELEASE OF SECURITY INTEREST Recorded May 29, 2014
From: GOLDMAN SACHS LENDING PARTNERS LLC
To: UBER TECHNOLOGIES, INC.
Reel/Frame 033054/0697 →
PATENT SECURITY AGREEMENT Recorded Jul 11, 2013
From: UBER TECHNOLOGIES, INC.
To: GOLDMAN SACHS LENDING PARTNERS LLC
Reel/Frame 030787/0373 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2013
From: HOLDEN, PAUL-PHILLIP; SWEENEY, MATTHEW
To: UBER TECHNOLOGIES, INC.
Reel/Frame 029588/0255 →