# US 8,150,367 B1 · System and method of determining a location based on location of detected signals

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

- Number: US 8,150,367 B1
- Document ID: US8150367B1
- Status: Granted
- Kind: B1
- Application number: 12/570,325
- Filed: 2009-09-30
- Granted: 2012-04-03
- Earliest claimed: 2009-09-30
- Assignees: Google Inc.
- Inventors: Venkata Sastry Malladi; Arunesh Mishra; Zhengrong Ji
- Web page: https://patentgrep.com/patent/US8150367B1

## CPC

- H04W 64/00: Locating users or terminals {or network equipment} for network management purposes, e.g. mobility management
- G01S 5/0236: {Assistance data, e.g. base station almanac}
- G01S 5/0295: {Proximity-based methods, e.g. position inferred from reception of particular signals}
- H04W 4/026: {using orientation information, e.g. compass}
- H04W 4/029: Location-based management or tracking services
- H04W 12/037: of the control plane, e.g. signalling traffic
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G01S: RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES

## Abstract

A system and method is provided that allows a client device to determine its position based on the location of signals detected by the device. The signals' locations may be obtained from a server, and some of the information may be pre-fetched and sent to the client device before the client device detect the signals. The pre-fetched data may also be encrypted so that a client device cannot determine the location of a signal unless it is proximate to the signal.

## Claims

### Claim 1

A method comprising:
detecting a first signal at a device when the device is at a first location;
receiving, based on an identifier of the first signal, second signal data and a second location associated with the second signal data;
detecting another signal at the device, wherein said another signal is detected in response to the device being moved from the first location to another location;
comparing the second signal data with data based on an identifier of said another signal;
determining a device location associated with the device based on the comparison;
displaying, on an electronic display associated with the device, information based on the determined device location.

### Claim 2 (depends on 1)

The method of claim 1 wherein the first signal and said another signal are transmitted by WiFi transmitters.

### Claim 3 (depends on 2)

The method of claim 2 wherein the identifier of the first signal and the data based on the identifier of said another signal is each a MAC address.

### Claim 4 (depends on 1)

The method of claim 1 wherein said determining a device location comprises determining whether the data based on an identifier of said another signal matches the second signal data, and determining the device location based on the second location when there is a match.

### Claim 5 (depends on 1)

The method of claim 1 wherein said determining a device location comprises selecting the second location as the device location.

### Claim 6 (depends on 1)

The method of claim 1 further comprising receiving third and fourth signal data, and
receiving third and fourth locations respectively associated with the third and fourth signal data; and
wherein
said comparing further comprises comparing the data based on an identifier of said another signal with the second, third and fourth signal data, and
said determining comprises selecting the second, third or fourth location depending on whether the identifier matches the second, third or fourth signal data.

### Claim 7 (depends on 1)

The method of claim 1 wherein the device cannot detect the first signal when the device is at said another location.

### Claim 8 (depends on 1)

The method of claim 1 further comprising detecting a plurality of signals when the device moves from the first location to another location, and wherein determining the device location comprises determining the location based on each of the plurality of signals.

### Claim 9 (depends on 1)

The method of claim 1 further comprising receiving a plurality of locations based on the identifier of the first signal data, associating each one of a plurality of the detected signals with one of the plurality of received locations, and wherein the device location is determined based on a plurality of the received locations.

### Claim 10 (depends on 1)

The method of claim 1 further comprising receiving, based on an identifier of the first signal, a single location associated with a plurality of identifiers of independently-transmitted signals, where each signal is at a different location; further comprising detecting a plurality of signals at the device when the device moves from the first location to another location; and wherein said comparing comprises comparing the received identifiers with the detected signals.

### Claim 11 (depends on 1)

The method of claim 1 further comprising calculating a value based on the identifier of the signal, wherein the value is based on an encryption function.

### Claim 12 (depends on 11)

The method of claim 11 wherein the encryption function comprises a one-way cryptographic hash function.

### Claim 13 (depends on 12)

The method of claim 12 wherein the one-way cryptographic hash function comprises SHA-1.

### Claim 14 (depends on 1)

The method of claim 1 wherein the received locations are encrypted.

### Claim 15 (depends on 1)

The method of claim 1 wherein the device location is displayed relative to a map displayed on the electronic display.

### Claim 16

A method comprising:
receiving, via a network and from a device, a first identifier of a radio signal;
selecting, with a processor and based on the first identifier, a first location from identifier/location data, said identifier/location data comprising a plurality of locations each associated with an identifier of a radio signal;
selecting additional locations and their associated identifiers from the identifier/location data based on each location's proximity to the first location; and
providing, via the network and to the device, the first location, the additional identifiers and the locations associated with the additional identifiers without waiting to receive said additional identifiers from the device.

### Claim 17 (depends on 16)

The method of claim 16 wherein selecting locations based on proximity comprises selecting locations that are less than a threshold distance from the first location.

### Claim 18 (depends on 16)

The method of claim 16 wherein the first location is proximate to a street, and wherein selecting locations based on proximity comprises selecting locations that are proximate to the same street.

### Claim 19 (depends on 16)

The method of claim 16 wherein selecting locations based on proximity comprises selecting locations based on the direction in which the device is moving.

### Claim 20 (depends on 16)

The method of claim 16 wherein selecting locations based on proximity comprises selecting locations based on the speed in which the device is moving.

### Claim 21

A method comprising:
detecting a first signal identifier at a device when the device is at a first location;
receiving, based on the first signal identifier, a second value and a second location associated with the second value, the second value being based on an identifier of a second signal;
detecting another signal identifier at the device when the device moves from the first location to another location;
calculating, with a processor, an encrypted value based on a function applied to said another signal identifier;
determining the device's location based on the second location when the encrypted value corresponds with the second value; and
displaying, on an electronic display associated with the device, information based on the determined device location.

### Claim 22 (depends on 21)

The method of claim 21 wherein the encryption function is a one-way cryptographic function.

### Claim 23 (depends on 22)

The method of claim 22 wherein the encryption function is based on SHA-1.

### Claim 24 (depends on 21)

The method of claim 21 wherein the encryption function is a hash function.

### Claim 25 (depends on 21)

The method of claim 21 wherein said calculating comprises calculating an encrypted value based on a function that accepts as parameters identifiers from two different signals detected by the device.

### Claim 26 (depends on 21)

The method of claim 21 wherein said function further accepts a numerical value as a parameter that is not associated with a detected signal, and the value is received at the device via a network.

### Claim 27

A device comprising:
a processor;
a display displaying data processed by the processor in accordance with the instructions;
a medium storing instructions operable by the processor;
the instructions comprising:
detecting a first signal at the device when the device is at a first location;
receiving, based on an identifier of the first signal, second signal data and a second location associated with the second signal data;
detecting another signal at the device, wherein said another signal is detected in response to the device being moved from the first location to another location;
comparing the second signal data with data based on an identifier of said another signal;
determining a device location associated with the device based on the comparison; and
displaying, on an electronic display associated with the device, information based on the determined device location.

### Claim 28 (depends on 27)

The device of claim 27 wherein the device is a wireless phone.

### Claim 29 (depends on 27)

The device of claim 27 wherein the device further comprises a wireless WiFi receiver, and wherein said identifier comprises a MAC address.

### Claim 30 (depends on 27)

The device of claim 27 wherein the device further comprises a housing and a memory wherein the processor and memory are stored internally within the housing, and wherein said second signal data and second location are stored within the internal memory.

### Claim 31 (depends on 27)

The method of claim 27 wherein the instructions further comprise calculating a value based on the identifier of the signal, wherein the value is based on an encryption function.

### Claim 32 (depends on 31)

The method of claim 31 wherein the encryption function comprises a one-way cryptographic hash function.

### Claim 33

A system comprising:
a first computer at a first node of a network;
the first computer having access to instructions operable by the first computer, identifier data comprising data based on information broadcast by a plurality of radio transmissions, and location data representing geographic locations, wherein the identifier data of each radio transmission is associated with a geographic location;
a mobile client device at a second node of the network different from the first node, the client device comprising an electronic display, a processor and instructions operable by the processor;
the instructions of the client device comprising:
detecting a first radio transmission when the device is within range of the first radio transmission;
providing, to the first computer, first identifier data based on the first radio transmission;
receiving, from the first computer and in response to the first identifier data, first location data representing a first geographic location;
receiving, from the first computer and in response to the first identifier data, second location data representing a second geographic location different from the first geographic location and second identifier data;
detecting a second radio transmission when the device is within range of the second radio transmission;
displaying, on the electronic display, information based on the first geographic location when the device is within range of and detects the first radio transmission; and
displaying, on the electronic display, information based on the second geographic location when both (i) the device is within range of and detects the second radio transmission and (ii) the second identifier data corresponds with an identifier of the detected second radio transmission;
the instructions of the first computer comprising:
receiving the first identifier data;
selecting and providing the first location data based on the location data that is associated with the first identifier data;
selecting and providing the second location data based on the proximity of the second geographic location to the first geographic location; and
selecting and providing the second identifier data based on the identifier data that is associated with the second location data.

### Claim 34 (depends on 33)

The system of claim 33 wherein the first computer is a server and the client device is a mobile phone.

### Claim 35 (depends on 33)

The system of claim 33 wherein the network comprises the Internet and further comprises a wireless network.

### Claim 36 (depends on 33)

The system of claim 33 wherein the second identifier data was calculated by applying encryption to the identifier of the second radio transmission; wherein the instructions of the client device further comprise calculating an encrypted value by applying the same encryption to an identifier of the detected second radio transmission; and wherein the second identifier data corresponds with an identifier of the detected second radio transmission when the second identifier data received from the first computer corresponds with the encrypted value calculated by the client device.

### Claim 37 (depends on 36)

The system of claim 36 wherein the encryption comprises a one-way cryptographic hash function.

### Claim 38 (depends on 33)

The system of claim 33 wherein the instructions of the first computer further comprise determining and providing revised first location data associated with a third geographic location after the first computer provides the first location data to the client device, and wherein the displaying instructions of the client device further comprise displaying, on the electronic display, information based on the third geographic location when the device is within range of and detects the first radio transmission.

### Claim 39

A computer-usable medium including a program executable by a processor comprising:
computer code that detects a first signal at a device when the device is at a first location;
computer code that receives, based on an identifier of the first signal, second signal data and a second location associated with the second signal data;
computer code that detects another signal at the device, wherein said another signal is detected in response to the device being moved from the first location to another location;
computer code that compares the second signal data with data based on an identifier of said another signal;
computer code that determines a device location associated with the device based on the comparison; and
computer code displays, on an electronic display associated with the device, information based on the determined device location.
