IP Library Granted Patent US 9,137,629
Granted Patent B2
US 9,137,629 · App. 11/469,374 · Granted Sep 15, 2015

Apparatus and methods for providing location-based services to a mobile computing device having a dual processor architecture

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,137,629
App. No.
11/469,374
Granted
Sep 15, 2015
Kind
B2
Abstract

Various embodiments of systems and techniques for providing location-based services (LBS) to a mobile computing device having a dual processor architecture are described. In one or more embodiments, the mobile computing device may comprise or implement hardware and/or software configured to enable LBS and data communications sessions using a single active data stack at any particular point in time. Other embodiments are described and claimed.

Claims (60)

1. An apparatus comprising:

a wireless computing device comprising a combination handheld computer and mobile telephone,

the device comprising:

a host processor having a first data stack and a remote location-based services (LBS) application programming interface (API); and

a radio processor having a second data stack and an API handler, wherein the radio processor is responsible for performing voice and data communications operations including transmitting and receiving voice and data information over one or more wireless communication channels,

the remote API to interface with the API handler and to communicate with one or more position determination programs implemented on the radio processor, wherein the one or more position determination programs employ one or more position determination techniques including a Global Positioning System (GPS) technique,

the wireless computing device to establish at least one of a LBS communications session and a data communications session using a single active one of the first data stack and the second data stack implemented by at least one of the host processor and the radio processor at any particular point in time, the first data stack to support LBS and data communications sessions,

the position determination programs comprising at least a position engine that operates in one or more modes including a standalone mode,

the host processor comprising at least one LBS application to initiate the LBS communications session, and

the LBS application to provide data to the position engine for hiding the first position fix when operating in the standalone mode.

2. The apparatus of claim 1 , the active data stack to communicate over a cellular network with a position determination entity (PDE).

3. The apparatus of claim 1 , the LBS communications session comprising GPS communications session.

4. The apparatus of claim 1 , the host processor further comprising at least one other application to initiate the data communications session.

5. The apparatus of claim 1 , the position determination programs further comprising one or more of a position engine interface and a position engine extension.

6. The apparatus of claim 5 , the position engine further operates in one or more of a mobile station (MS) assisted mode and an MS-based mode.

7. An apparatus comprising:

a wireless computing device comprising a combination handheld computer and mobile telephone, the device including a host processor having a first data stack and a radio processor having a second data stack, wherein the radio processor is responsible for performing voice and data communications operations including transmitting and receiving voice and data information over one or more wireless communication channels, the wireless computing device to establish at least one of a location-based services (LBS) communications session and a data communications session using a single active one of the first data stack and the second data stack implemented by at least one of the host processor and the radio processor at any particular point in time, the first data stack to support LBS and data communications sessions;

at least one remote data module and the LBS communications sessions using the first data stack are established through the remote data module; and

one or more of a data API and a data API handler to establish communications sessions to provide access to one or more position determination programs implemented on the radio processor, wherein the one or more position determination programs employ one or more position determination techniques including a Global Positioning System (GPS) technique,

the position determination programs comprising at least a position engine that operates in one or more modes including a standalone mode,

the host processor comprising at least one LBS application to initiate the LBS communications session, and

the LBS application to provide data to the position engine for hiding the first position fix when operating in the standalone mode.

8. The apparatus of claim 7 , the second data stack to support LBS and data communications sessions.

9. The apparatus of claim 8 , the data communications sessions using the second data stack are established through one or more of the data API and the data API handler.

10. A method comprising:

communicating a location request through a location-based services (LBS) application programming interface (API) implemented by a host processor to a LBS API handler implemented by a radio processor, wherein the radio processor is responsible for performing voice and data communications operations including transmitting and receiving voice and data information over one or more wireless communication channels;

communicating a preempt request from the radio processor to the host processor to preempt data sessions using a data stack implemented by the host processor;

establishing a LBS communications session to a network entity to provide access to one or more position determination programs implemented on the radio processor, wherein the one or more position determination programs employ one or more position determination techniques including a Global Positioning System (GPS) technique; and

canceling preemption of the data sessions using the data stack implemented by the host processor in response to termination of the LBS communication session,

the position determination programs comprising at least a position engine that operates in one or more modes including a standalone mode,

the host processor comprising at least one LBS application to initiate the LBS communications session, and

the LBS application to provide data to the position engine for hiding the first position fix when operating in the standalone mode.

11. The method of claim 10 , further comprising communicating a preempt request to a data preemption module implemented by the radio processor in response to invocation of an LBS communication session by the LBS API.

12. The method of claim 10 , further comprising preventing new data sessions using the data stack of the host processor from being established until termination of the LBS communications session.

13. A method comprising:

communicating a data request to a radio processor comprising a data stack used to establish a location-based services (LBS) communications session, wherein the radio processor is responsible for performing voice and data communications operations including transmitting and receiving voice and data information over one or more wireless communication channels;

establishing a data communications session other than an LBS communications session to provide access to one or more position determination programs implemented on the radio processor, wherein the one or more position determination programs employ one or more position determination techniques including a Global Positioning System (GPS) technique; and

communicating the data request through a first data API implemented by a host processor to a second data API handler implemented by the radio processor,

the position determination programs comprising at least a position engine that operates in one or more modes including a standalone mod;

the host processor comprising at least one LBS application to initiate the LBS communications session, and

the LBS application to provide data to the position engine for hiding the first position fix when operating in the standalone mode.

14. The method of claim 13 , further comprising sharing the data stack on the radio processor with the LBS application.

15. A non-transitory machine-readable storage medium comprising instructions that if executed enable a computing system to:

communicate a location request through a location-based services (LBS) application programming interface (API) implemented by a host processor to LBS API handler implemented by a radio processor, wherein the radio processor is responsible for performing voice and data communications operations including transmitting and receiving voice and data information over one or more wireless communication channels;

communicate a preempt request from the radio processor to the host processor to preempt data sessions using a data stack implemented by the host processor;

establish a location-based services (LBS) communications session to a network entity to provide access to one or more position determination programs implemented on the radio processor, wherein the one or more position determination programs employ one or more position determination techniques including a Global Positioning System (GPS) technique; and

cancel preemption of the data sessions using the data stack implemented by the host processor in response to termination of the LBS communication session,

the position determination programs comprising at least a position engine that operates in one or more modes including a standalone mode,

the host processor comprising at least one LBS application to initiate the LBS communications session, and

the LBS application to provide data to the position engine for hiding the first position fix when operating in the standalone mode.

16. The non-transitory machine-readable storage medium of claim 15 , further comprising instructions that if executed enable a computing system to communicate a preempt request to a data preemption module implemented by the radio processor in response to invocation of an LBS communication session by the LBS API.

17. The non-transitory machine-readable storage medium of claim 15 , further comprising instructions that if executed enable a computing system to prevent new data sessions using the data stack of the host processor from being established until termination of the LBS communications session.

18. A non-transitory machine-readable storage medium comprising instructions that if executed enable a computing system to:

communicate a data request to a radio processor comprising a data stack used to establish a location-based services (LBS) communications session, wherein the radio processor is responsible for performing voice and data communications operations including transmitting and receiving voice and data information over one or more wireless communication channels; and

establish a data communications session other than an LBS communications session to provide access to one or more position determination programs implemented on the radio processor, wherein the one or more position determination programs employ one or more position determination techniques including a Global Positioning System (GPS) technique; and

communicate the data request through a first data API implemented by a host processor to a second data API handler implemented by a radio processor,

the position determination programs comprising at least a position engine that operates in one or more modes including a standalone mode,

the host processor comprising at least one LBS application to initiate the LBS communications session, and

the LBS application to provide data to the position engine for hiding the first position fix when operating in the standalone mode.

19. The non-transitory machine-readable storage medium of claim 18 , further comprising instructions that if executed enable sharing of the data stack on the radio processor with the LBS application.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2014
From: HEWLETT-PACKARD COMPANY; HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.; PALM, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 032177/0210 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2013
From: PALM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 031837/0239 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2013
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: PALM, INC.
Reel/Frame 031837/0544 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2013
From: PALM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 031837/0659 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2013
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: PALM, INC.
Reel/Frame 030341/0459 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2010
From: PALM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 025204/0809 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2010
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: PALM, INC.
Reel/Frame 024630/0474 →
SECURITY AGREEMENT Recorded Jan 4, 2008
From: PALM, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 020319/0568 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2007
From: ZHAO, WEN; GA, ISABEL; MYERS, DAN; MATHIAS, ARUN; BRASLAVSKY, IGOR; ZABALDO, PERRY; ANG, DARREN LEE; HAMILTON, CRAIG; LIU, ERIC; PAULSON, JANELL
To: PALM, INC.
Reel/Frame 018807/0380 →