IP Library Granted Patent US 9,933,274
Granted Patent B2
US 9,933,274 · App. 15/682,281 · Granted Apr 3, 2018

Determining location information using a location data point provided by a computing device

Inventors: Paul-Phillip Holden (San Francisco, CA); Matthew Sweeney (San Francisco, CA); Jeremy Grosser (San Francisco, CA)
Assignee: UBER TECHNOLOGIES, INC.
G01C21/3682G01C21/367H04W4/021
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,933,274
App. No.
15/682,281
Granted
Apr 3, 2018
Kind
B2
Abstract

A system and method for determining location information using a location data point provided by a computing device is described. A location data point is received by a system from a client computing device. The system determines whether the location data point is within a predefined region from a plurality of predefined regions configured by a user of the system. If the location data point is within a predefined region, location information corresponding to the predefined region is transmitted to the client device. If the location data point is not within a predefined region, one or more third-party reverse geocoding services can be used that translates the location data point to a street address.

Claims (64)

1. A computer-implemented method for determining location information, the method comprising:

receiving, at a server, a location data point from a client device;

selecting, by the server, a location lookup resource from a plurality of location lookup resources to translate the location data point to location information associated with the location data point;

determining, by the server, location information associated with the location data point using the selected location lookup resource, the location information comprising an instruction to move to a particular location that is different from the location data point due to an event associated with the location data point; and

providing, by the server, the location information to the client device.

2. The computer-implemented method of claim 1 , wherein the event comprises traffic at a geographic location associated with the location data point.

3. The computer-implemented method of claim 1 , wherein selecting the location lookup resource from the plurality of location lookup resources comprises:

accessing a geofence database stored at the server that stores a plurality of geofences, each geofence associated with a predefined geographical region and location information associated with the predefined geographical region;

determining whether the location data point is within a predefined region associated with one of the plurality of geofences;

responsive to the location data point being within a predefined region of a geofence from the plurality of geofences, determining location information associated the geofence that corresponds to the predefined region.

4. The computer-implemented method of claim 3 , further comprising:

responsive to the location data point not being within one of the predefined regions associated with the plurality of geofences, determining whether a third-party reverse geocoding service from a plurality of third-party reverse geocoding services is available for translating the location data point to location information;

responsive to a third-party reverse geocoding service being available, receiving from the third-party reverse geocoding service the location information associated with the location data point.

5. The computer-implemented method of claim 4 , wherein determining whether the third-party reverse geocoding service is available comprises:

transmitting a request to one or more of the plurality of third-party reverse geocoding services to translate the location data point into location information.

6. The computer-implemented method of claim 4 , further comprising:

responsive to none of the third-party reverse geocoding services being available to translate the location data point into location information, accessing a map database stored by the server that stores mapping information;

determining whether the location data point is associated with mapping information stored in the map database; and

responsive to the location data point being associated with mapping information in the map database, determining the location information for the location data point based on the associated mapping information.

7. The computer-implemented method of claim 6 , further comprising:

responsive to the map database lacking mapping information associated with the location data point, determining a notification that indicates location information is unavailable for the location data point and transmitting the notification to the client device.

8. The computer-implemented method of claim 1 , wherein receiving the location data point comprises:

receiving a request for a transport service from the client device, the request including the location data point; and

selecting, by the server, a driver to provide the transport service based on the location data point.

9. The computer-implemented method of claim 8 , wherein selecting the driver comprises:

determining a preferred language of a user associated with the client device; and

determining a driver from a plurality of drivers that has a preferred language that matches the preferred language of the user.

10. The computer-implemented method of claim 1 , wherein each of the plurality of location lookup resources is configured to translate the location data point to location information using a translation methodology associated with the location lookup resource.

11. A non-transitory computer-readable storage medium storing executable instructions that when executed by one or more computer processors of a server cause the server to perform steps comprising:

receiving, at the server, a location data point from a client device;

selecting, by the server, a location lookup resource from a plurality of location lookup resources to translate the location data point to location information associated with the location data point;

determining, by the server, location information associated with the location data point using the selected location lookup resource, the location information comprising an instruction to move to a particular location that is different from the location data point due to an event associated with the location data point; and

providing, by the server, the location information to the client device.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the event comprises traffic at a geographic location associated with the location data point.

13. The non-transitory computer-readable storage medium of claim 11 , wherein selecting the location lookup resource from the plurality of location lookup resources comprises:

accessing a geofence database stored at the server that stores a plurality of geofences, each geofence associated with a predefined geographical region and location information associated with the predefined geographical region;

determining whether the location data point is within a predefined region associated with one of the plurality of geofences;

responsive to the location data point being within a predefined region of a geofence from the plurality of geofences, determining location information associated the geofence that corresponds to the predefined region.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions when executed by one or more computer processors of the server further cause the server to perform further steps comprising:

responsive to the location data point not being within one of the predefined regions associated with the plurality of geofences, determining whether a third-party reverse geocoding service from a plurality of third-party reverse geocoding services is available for translating the location data point to location information;

responsive to a third-party reverse geocoding service being available, receiving from the third-party reverse geocoding service the location information associated with the location data point.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the instructions when executed by one or more computer processors of the server further cause the server to perform further steps comprising:

responsive to none of the third-party reverse geocoding services being available to translate the location data point into location information, accessing a map database stored by the server that stores mapping information;

determining whether the location data point is associated with mapping information stored in the map database; and

responsive to the location data point being associated with mapping information in the map database, determining the location information for the location data point based on the associated mapping information.

16. A computer system comprising:

one or more computer processors; and

a non-transitory computer-readable storage medium storing executable instructions when executed by the one or more computer processors causes the computer system to perform steps comprising:

receiving, at the computer system, a location data point from a client device;

selecting, by the computer system, a location lookup resource from a plurality of location lookup resources to translate the location data point to location information associated with the location data point;

determining, by the computer system, location information associated with the location data point using the selected location lookup resource, the location information comprising an instruction to move to a particular location that is different from the location data point due to an event associated with the location data point; and

providing, by the computer system, the location information to the client device.

17. The computer system of claim 16 , wherein the event comprises traffic at a geographic location associated with the location data point.

18. The computer system of claim 16 , wherein selecting the location lookup resource from the plurality of location lookup resources comprises:

accessing a geofence database stored at the server that stores a plurality of geofences, each geofence associated with a predefined geographical region and location information associated with the predefined geographical region;

determining whether the location data point is within a predefined region associated with one of the plurality of geofences;

responsive to the location data point being within a predefined region of a geofence from the plurality of geofences, determining location information associated the geofence that corresponds to the predefined region.

19. The computer system of claim 18 , wherein the instructions when executed by one or more computer processors of the computer system further cause the computer system to perform further steps comprising:

responsive to the location data point not being within one of the predefined regions associated with the plurality of geofences, determining whether a third-party reverse geocoding service from a plurality of third-party reverse geocoding services is available for translating the location data point to location information;

responsive to a third-party reverse geocoding service being available, receiving from the third-party reverse geocoding service the location information associated with the location data point.

20. The computer system of claim 19 , wherein the instructions when executed by one or more computer processors of the computer system further cause the computer system to perform further steps comprising:

responsive to none of the third-party reverse geocoding services being available to translate the location data point into location information, accessing a map database stored by the server that stores mapping information;

determining whether the location data point is associated with mapping information stored in the map database; and

responsive to the location data point being associated with mapping information in the map database, determining the location information for the location data point based on the associated mapping information.

Assignments (7)
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 050767, FRAME 0076 Recorded Sep 11, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069133/0167 →
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 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Oct 24, 2019
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC
Reel/Frame 050817/0600 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0109 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0076 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2017
From: HOLDEN, PAUL-PHILLIP; SWEENEY, MATTHEW; GROSSER, JEREMY
To: UBER TECHNOLOGIES, INC.
Reel/Frame 043348/0454 →
Continuity (5)
Continuation 15295719 · Oct 17, 2016
Continuation 14656448 · Mar 12, 2015
Continuation 14506473 · Oct 3, 2014
Provisional Application 61887239 · Oct 4, 2013
Related Publication 20170343377A1 · Nov 30, 2017