IP Library Granted Patent US 9,918,202
Granted Patent B2
US 9,918,202 · App. 14/275,467 · Granted Mar 13, 2018

Adaptive position determination

Inventors: Jyh-Han Lin (Mercer Island, WA); Chih-Wei Wang (Redmond, WA); Stephen P. DiAcetis (Duvall, WA)
Assignee: Microsoft Technology Licensing, LLC
H04W4/043G01S5/02G01S5/0236G01S5/0252G01S5/0263G01S5/0268H04W40/244H04W64/003
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,918,202
App. No.
14/275,467
Granted
Mar 13, 2018
Kind
B2
Abstract

A system and method for calculating a position in response to a position request. Observed beacon data associated with the request is used to select a calculation method based on available data for a venue and device capabilities. If sufficient venue data based on previously verified beacon positions is available, a position calculation can resolve floor and venue information. If insufficient previously observed data is available for a venue, the position is calculated using 2D data based on GPS observations. Following the choice a calculation model, the calculation position is returned in response to the position request.

Claims (32)

1. A computer implemented method of determining a calculated position, comprising:

receiving a request to determine a position of a mobile processing device;

selecting a location calculation method from available methods based on availability of at least venue fingerprint data comprising previously observed beacons, wherein a first method is selected if the venue fingerprint data include previously observed venue and floor data for observed beacons in a request and venue detection and floor detection are successful, wherein a venue is determined based on a threshold number of at least two detected and venue-identified beacons, and a second method is selected if insufficient data to determine a venue is available for a venue, wherein insufficient data is available if less than the threshold number of beacons are present; and

calculating the position of the mobile processing device using the method selected.

2. The computer implemented method of claim 1 further including creating a data model including observed beacon characteristics and associated position data, the position data including a venue identifier and a floor identifier.

3. The computer implemented method of claim 2 further including refining previously observed position data to include at least refined position data.

4. The computer implemented method of claim 1 wherein selecting includes determining a venue from the observed beacons, followed by determining a floor from the observed beacons.

5. The computer implemented method of claim 1 wherein said calculating includes initiating a calculation using the first method, determining that observed beacons or previously observed data is insufficient to complete the calculating, and selecting the second method.

6. The computer implemented method of claim 1 further including selecting a third method if no venue fingerprint data for observed beacons in the request is available.

7. The computer implemented method of claim 1 further including selecting a third method if said calculating using the first or the second methods fails.

8. A mobile processing device including a wireless communication channel, comprising:

a processor;

a memory including code instructing the processor to perform the steps of;

observing a plurality of wireless beacons via the wireless communication channel, each beacon having observed characteristics;

selecting a position calculation method stored in the memory based on availability of at least venue fingerprint data comprising previously observed beacons, wherein selecting comprises:

selecting a first method if a threshold number of at least at least two observed beacons are included in the venue fingerprint data along with venue and floor data and venue detection and floor detection are successful, and

selecting a second method if less that the threshold number of beacons is not available for observed beacons in the venue fingerprint data; and

calculating a position of the mobile processing device using the method selected.

9. The mobile processing device of claim 8 further including code: selecting a third method if venue fingerprint data for observed beacons is available or if said calculating using the first or the second methods fails.

10. The mobile processing device of claim 9 further including calculating using a data model including observed beacon characteristics and associated position data, the position data including a venue identifier and a floor identifier.

11. The mobile processing device of claim 9 wherein said calculating includes initiating a calculation using the first method, determining that observed beacons or previously observed data is insufficient to complete the calculating, and selecting the second method.

12. The mobile processing device of claim 9 wherein said first method is an EZ algorithm method, the second method is a Kalman algorithm, the first and second method using data including floor and venue data.

13. A method comprising:

receiving a request to determine a position, the request including an observation of a plurality of wireless beacons from a mobile processing device, each beacon having observed characteristics;

determining whether venue fingerprint data based on previous observations of beacons exists for one or more of the plurality of wireless beacons in the observation;

selecting a position calculation method based on the venue fingerprint data, wherein a first method is selected if the venue fingerprint data includes previously observed venue and floor data for observed beacons and venue detection and floor detection are successful, wherein a venue is determined based on a threshold number of at least two detected and venue-identified beacons, and a second method is selected if venue and floor data is not available for a venue for at least the threshold number of beacons; and

calculating the position of the mobile processing device using the selected method.

14. The method of claim 13 further including selecting a third method if venue fingerprint data for observed beacons in the request is available or if said calculating using the first or the second methods fails.

15. The method of claim 14 wherein said calculating includes initiating a calculation using the first method, determining that observed beacons or previously observed data is insufficient to complete the calculating, and thereafter selecting the second method.

16. The method of claim 15 further including creating a data model including observed beacon characteristics and associated position data, the position data including a venue identifier and a floor identifier, and including refining previously observed position data to include at least refined position data.

17. The method of claim 16 wherein selecting includes determining a venue from the observed beacons, followed by determining a floor from the observed beacons.

18. The method of claim 13 wherein the receiving includes receiving the request from a mobile device via a network and further including outputting the position of the mobile processing device to the mobile processing device via the network in response to the request.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2014
From: LIN, JYH-HAN; WANG, CHIH-WEI; DIACETIS, STEPHEN P.
To: MICROSOFT CORPORATION
Reel/Frame 033060/0912 →
Continuity (1)
Related Publication 20150327022A1 · Nov 12, 2015