# US 11,443,334 B2 · Determining a topological location of a client device using received radio signatures

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,443,334 B2
- Document ID: US11443334B2
- Status: Granted
- Kind: B2
- Application number: 17/035,356
- Filed: 2020-09-28
- Published: 2021-01-14
- Granted: 2022-09-13
- Earliest claimed: 2017-05-24
- Assignees: Uber Technologies, Inc.
- Applicants: Uber Technologies, Inc.
- Inventors: Upamanyu Madhow; Daniel Iland; Dinesh Ramasamy
- Web page: https://patentgrep.com/patent/US11443334B2

## CPC

- G06Q 30/0205: {based on location or geographical consideration}
- G01C 21/3492: {employing speed data or traffic data, e.g. real-time or historical (traffic control systems for road vehicles involving transmission of navigation instructions to the vehicle G08G1/0968)}
- G06Q 50/40: Business processes related to the transportation industry (shipping G06Q10/083)
- H04W 4/029: Location-based management or tracking services
- G07B 15/02: taking into account a variable factor such as distance or time, e.g. for passenger transport, parking systems or car rental systems (G07B15/06 takes precedence; taximeters G07B13/00; parking meters per se G07F17/24)
- H04L 67/52: specially adapted for the location of the user terminal
- H04M 2242/14: with services dependent on location
- H04W 4/021: Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
- H04W 4/026: {using orientation information, e.g. compass}
- H04W 4/027: {using movement velocity, acceleration information}
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G01C: MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY (measuring liquid level G01F; radio navigation, determining distance or velocity by use of propagation effects, e.g. Doppler effects, propagation time, of radio waves, analogous arrangements using other waves G01S)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G07B: TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)

## Abstract

A network system, such as a transport management system, efficiently allocates resources by monitoring the geospatial and topological locations of a rider responsive to receiving a trip request. A trip management module matches a rider with an available driver based in part on an comparison of the estimated times of arrival of the rider and the driver at the pickup location. A client positioning module monitors the rider's progress through nodes and edges in a topological graph associated with the origin location based on radio signatures received at the rider client device. A client ETA module calculates a rider ETA based on the rider's rate of travel through the origin location represented by nodes in the topological graph. Responsive to determining that the rider ETA and the driver ETA vary by over a threshold amount of time, the trip management module matches the rider with a second available driver.

## Claims

### Claim 1

A computer-implemented method for matching users for transportation services, the method comprising:
receiving, at a network system including one or more processors, from a computing device associated with a first user, a set of service data including a request for a second user to transport the first user from an origin location;
determining, by the network system, a topological location of the computing device within a topological graph that includes a pickup location associated with the origin location, the topological graph comprising nodes representing clusters of radio signals associated with access points and edges labeled with estimated travel times between two nodes, wherein the topological location is determined according to a plurality of signal strength indicators from a plurality of radio signals associated with one or more terrestrial wireless local area networks and received at the computing device;
determining, based on the topological location, an estimated time of arrival of the first user at the pickup location; and
matching the first user with the second user based the estimated time of arrival of the first user.

### Claim 2 (depends on 1)

The method of claim 1, wherein the estimated time of arrival of the first user at the pickup location is further determined by:
receiving a geospatial location of the computing device; and
determining, based on the geospatial location and the topological location, an estimated time of arrival of the first user at the pickup location.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
determining a second topological location of the computing device; and
determining an updated estimated time of arrival of the first user at the pickup location.

### Claim 4 (depends on 3)

The method of claim 3, further comprising:
comparing the updated estimated time of arrival of the first user with an estimated time of arrival of the second user at the pickup location; and
responsive to the updated estimated time of arrival of the first user and the estimated time of arrival of the second user varying by more than a threshold amount of time, matching the first user with a third user.

### Claim 5 (depends on 4)

The method of claim 4, wherein the third user has an estimated time of arrival that is within a threshold amount of time of the updated estimated time of arrival of the first user.

### Claim 6 (depends on 1)

The method of claim 1, wherein each radio signal is associated with a beacon associated with a low power short range wireless protocol.

### Claim 7

A non-transitory computer-readable storage medium storing computer-executable instructions that, in response to executing, cause a device comprising a processor to perform operations, comprising:
receiving, at a network system including one or more processors, from a computing device associated with a first user, a set of service data including a request for a second user to transport the first user from an origin location;
determining, by the network system, a topological location of the computing device within a topological graph that includes a pickup location associated with the origin location, the topological graph comprising nodes representing clusters of radio signals associated with access points and edges labeled with estimated travel times between two nodes, wherein the topological location is determined according to a plurality of signal strength indicators from a plurality of radio signals associated with one or more terrestrial wireless local area networks and received at the computing device;
determining, based on the topological location, an estimated time of arrival of the first user at a pickup location associated with the origin location; and
matching the first user with a second user based on the estimated time of arrival of the first user.

### Claim 8 (depends on 7)

The non-transitory computer-readable storage medium of claim 7, wherein the operations further comprise:
determining a second topological location of the computing device; and
determining an updated estimated time of arrival of the first user at the pickup location.

### Claim 9 (depends on 8)

The non-transitory computer-readable storage medium of claim 8, wherein the operations further comprise:
comparing the updated estimated time of arrival of the first user with an estimated time of arrival of the second user at the pickup location; and
responsive to the updated estimated time of arrival of the first user and the estimated time of arrival of the second user varying by more than a threshold amount of time, matching the first user with a third user.

### Claim 10 (depends on 9)

The non-transitory computer-readable storage medium of claim 9, wherein the third user has an estimated time of arrival that is within a threshold amount of time of the updated estimated time of arrival of the first user.

### Claim 11

A computer-implemented method for matching a user and a vehicle for a transportation service, the method comprising:
receiving, at a network system including one or more processors, from a computing device associated with a user, a set of service data including a request for a vehicle to transport the user from an origin location;
determining, by the network system, a topological location of the computing device within a topological graph that includes a pickup location associated with the origin location, the topological graph comprising nodes representing clusters of radio signals associated with access points and edges labeled with estimated travel times between two nodes, wherein the topological location is determined according to a plurality of signal strength indicators from a plurality of radio signals associated with one or more terrestrial wireless local area networks and received at the computing device;
determining, based on the topological location, an estimated time of arrival of the user at the pickup location; and
matching the user with a vehicle based the estimated time of arrival of the user.

### Claim 12 (depends on 11)

The method of claim 11, wherein the estimated time of arrival of the user at the pickup location is further determined by:
receiving a geospatial location of the computing device; and
determining, based on the geospatial location and the topological location, an estimated time of arrival of the user at the pickup location.

### Claim 13 (depends on 11)

The method of claim 11, further comprising:
determining a second topological location of the computing device; and
determining an updated estimated time of arrival of the user at the pickup location.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
comparing the updated estimated time of arrival of the user with an estimated time of arrival of the vehicle at the pickup location; and
responsive to the updated estimated time of arrival of the user and the estimated time of arrival of the vehicle varying by more than a threshold amount of time, matching the user with a second vehicle.

### Claim 15 (depends on 14)

The method of claim 14, wherein the second vehicle has an estimated time of arrival that is within a threshold amount of time of the updated estimated time of arrival of the user.

### Claim 16

A computer system comprising:
one or more computer processors for executing computer program instructions; and
a non-transitory computer-readable storage medium storing instructions executable by the one or more computer processors to perform steps comprising:
receiving, at a network system including one or more processors, from a computing device associated with a user, a set of service data including a request for a vehicle to transport the user from an origin location;
determining, by the network system, a topological location of the computing device within a topological graph that includes a pickup location associated with the origin location, the topological graph comprising nodes representing clusters of radio signals associated with access points and edges labeled with estimated travel times between two nodes, wherein the topological location is determined according to a plurality of signal strength indicators from a plurality of radio signals associated with one or more terrestrial wireless local area networks and received at the computing device;
determining, based on the topological location, an estimated time of arrival of the user at the pickup location; and
matching the user with a vehicle based on the estimated time of arrival of the user at the pickup location.

### Claim 17 (depends on 16)

The computer system of claim 16, wherein the estimated time of arrival of the user at the pickup location is further determined by:
receiving a geospatial location of the computing device; and
determining, based on the geospatial location and the topological location, an estimated time of arrival of the user at the pickup location.

### Claim 18

The computer system of 16, further comprising:
determining a second topological location of the computing device; and
calculating an updated estimated time of arrival of the user at the pickup location.

### Claim 19 (depends on 18)

The computer system of claim 18, further comprising:
comparing the updated estimated time of arrival of the user with an estimated time of arrival of the vehicle at the pickup location; and
responsive to the updated estimated time of arrival of the user and the estimated time of arrival of the vehicle varying by more than a threshold amount of time, matching the user with a second vehicle.

### Claim 20 (depends on 19)

The computer system of claim 19, wherein the second vehicle has an estimated time of arrival that is within a threshold amount of time of the updated estimated time of arrival of the user.
