IP Library Granted Patent US 9,042,907
Granted Patent B2
US 9,042,907 · App. 13/416,489 · Granted May 26, 2015

Location identification of a portable electronic device based on characteristics of an operating environment of the portable electronic 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,042,907
App. No.
13/416,489
Granted
May 26, 2015
Kind
B2
Abstract

A location label may be determined for a portable electronic device. The location label may provide a textual indication of the particular location of a user of the portable electronic device, such as a restaurant name, or more generally a type of location of the user, such as simply a restaurant. The location label is determined based on a signature vector of operating environment characteristics of the portable electronic device. The operating environment characteristics may include sensor values, visible transmitters, radio connection information, executing applications or other operating environment characteristics that can have a value associated with them.

Claims (74)

1. A method of identifying a location label of a portable electronic device, the method comprising:

receiving values of a plurality of characteristics of an operating environment of the portable electronic device, each of the plurality of characteristics of the operating environment associated with a respective pre-determined unique identifier;

generating a compressed query signature vector from a query signature vector comprising a plurality of key-value pairs, each key-value pair comprising: i) a respective pre-determined unique identifier associated with a corresponding one of the plurality of characteristics of the operating environment and ii) a value for the received characteristic of the operating environment corresponding to the respective pre-determined unique identifier; and

determining the location label for the portable electronic device by comparing the compressed query signature vector to one or more labeled signature vectors that are similar to the compressed query signature vector, each labeled signature vector comprising a previously generated signature vector and associated with a respective location label.

2. The method of claim 1 , wherein generating the compressed query signature vector further comprises:

retrieving weighting information providing an indication of importance of one or more of the plurality of characteristics of the operating environment; and

generating the compressed query signature vector using the weighting information.

3. The method of claim 1 , wherein determining the location label further comprises:

determining a position of the portable electronic device;

determining a plurality of possible labeled signature vectors of the portable electronic device based on a physical position of the portable electronic device; and

determining the location label for the portable electronic device based on the similarity of the generated compressed query signature vector to one or more previously generated signature vectors of the determined plurality of possible labeled signature vectors.

4. The method of claim 1 , wherein the compressed query signature vector is generated based on a weighting mask providing an indication of importance of one or more of the plurality of characteristics of the operating environment in the compressed query signature vector.

5. The method of claim 4 , wherein the weighting mask is associated with a location label.

6. The method of claim 5 , further comprising:

retrieving a plurality of weighting masks associated with respective location labels;

determining a respective compressed query signature vector as a compressed signature vector from the values of the plurality of characteristics of the operating environment and a respective weighting mask of the retrieved weighting masks; and

determining one or more location labels based on the plurality of compressed query signature vectors.

7. The method of claim 6 , further comprising:

determining a likelihood of correctness of each of the determined one or more location labels based on a distance between each respective compressed query signature vector and the associated determined one or more location labels.

8. The method of claim 1 , wherein each vector element in the compressed query signature vector is generated based on each respective key-value pair in the plurality of key-value pairs.

9. The method of claim 8 , wherein each vector element in the compressed query signature vector is generated as a summation of terms based on each of the key-value pairs of the query signature vector, wherein each of the terms in the summation is determined based on a multiplication of a random number generated from a seed based on an element identifier of the compressed signature vector being calculated and the key of the key-value pair associated with that respective term in the summation.

10. The method of claim 1 , wherein the plurality of characteristics of the operating environment of the portable electronic device comprise output from one or more of:

a temperature sensor;

a gyroscope;

an accelerometer;

a microphone;

a magnetometer;

a light sensor;

a radio frequency identification (RFID) reader;

a near-field communications interface;

an application executing on the portable electronic device;

reception quality of a wireless receiver;

a global positioning receiver; and

a wireless radio.

11. A server for identifying a location label of a portable electronic device, the server comprising:

a memory containing instructions; and

a processor for executing instructions, the instructions when executed by the processor configuring the server to provide functionality for:

receiving values of a plurality of characteristics of an operating environment of a portable electronic device, each of the plurality of characteristics of the operating environment associated with a respective pre-determined unique identifier;

generating a compressed query signature vector from a query signature vector comprising a plurality of key-value pairs, each key-value pair comprising: i) a respective pre-determined unique identifier associated with a corresponding one of the plurality of characteristics of the operating environment and ii) a value for the received characteristic of the operating environment corresponding to the respective pre-determined unique identifier; and

determining the location label for the portable electronic device by comparing the compressed query signature vector to one or more labeled signature vectors that are similar to the compressed query signature vector, each labeled signature vector comprising a previously generated signature vector and associated with a respective location label.

12. The server of claim 11 , wherein generating the compressed query signature further comprises:

retrieving weighting information providing an indication of importance of one or more of the plurality of characteristics of the operating environment; and

generating the compressed query signature vector using the weighting information.

13. The server of claim 11 , determining the location label further comprises:

determining a position of the portable electronic device;

determining a plurality of possible labeled signature vectors, of the portable electronic device based on a physical position of the portable electronic device; and

determining the location label for the portable electronic device based on the similarity of the generated compressed query signature vector to one or more previously generated signature vectors of the determined plurality of possible labeled signature vectors.

14. The server of claim 11 , wherein the compressed query signature vector is generated based on a weighting mask providing an indication of importance of one or more of the plurality of characteristics of the operating environment in the compressed query signature vector.

15. The server of claim 14 , wherein the weighting mask is associated with a location label.

16. The server of claim 15 , wherein the instructions further configure the server to provide functionality for:

retrieving a plurality of weighting masks associated with respective location label;

determining a respective compressed query signature vector as a compressed signature vector from the values of the plurality of characteristics of the operating environment and a respective weighting mask of the retrieved weighting masks; and

determining one or more location labels based on the plurality of compressed query signature vectors.

17. The server of claim 16 , wherein the instructions further configure the server to provide functionality for:

determining a likelihood of correctness of each of the determined one or more location labels based on a distance between each respective compressed query signature vector and the associated determined one or more location labels.

18. The server of claim 11 , wherein each vector element in the compressed query signature vector is generated based on each respective key-value pair in the plurality of key-value pairs.

19. The server of claim 18 , wherein each vector element in the compressed query signature vector is generated as a summation of terms based on each of the key-value pairs of the query signature vector, wherein each of the terms in the summation is determined based on a multiplication of a random number generated from a seed based on an element identifier of the compressed signature vector being calculated and the key of the key-value pair associated with that respective term in the summation.

20. The server of claim 11 , wherein the plurality of characteristics of the operating environment of the portable electronic device comprise output from one or more of:

a temperature sensor;

a gyroscope;

an accelerometer;

a microphone;

a magnetometer;

a light sensor;

a radio frequency identification (RFID) reader;

a near-field communications interface;

an application executing on the portable electronic device;

reception quality of a wireless receiver;

a global positioning receiver; and

a wireless radio.

21. A non-transitory computer readable memory containing instructions for identifying a location label of a portable electronic device, the instructions which when executed by a processor perform the method of:

determining values of a plurality of characteristics of an operating environment of a portable electronic device, each of the plurality of characteristics of the operating environment associated with a respective pre-determined unique identifier;

generating a compressed query signature vector from a query signature vector comprising a plurality of key-value pairs, each key-value pair comprising: i) a respective pre-determined unique identifier associated with a corresponding one of the plurality of characteristics of the operating environment and ii) a value for the received characteristic of operating environment corresponding to the respective pre-determined unique identifier; and

determining the location label for the portable electronic device by comparing the compressed query signature vector to one or more labeled signature vectors that are similar to the compressed query signature vector, each labeled signature vector comprising a previously generated signature vector and associated with a respective location label.

Assignments (3)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064271/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Nov 5, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034176/0557 →