IP Library Granted Patent US 9,390,279
Granted Patent B2
US 9,390,279 · App. 14/010,437 · Granted Jul 12, 2016

Systems and methods for providing conditional access to transmitted information

Inventors: Arun Raghupathy (Bangalore, IN); Subramanian Meiyappan (San Jose, CA); Deepak Joseph (Fairfax, VA); Varaprasad Vajjhala (San Ramon, CA)
Assignee: NextNav, LLC
G06F21/6218G01S5/0236G01S19/05H04L63/0442H04L67/18H04W4/02H04W12/02H04W12/08G06F2221/2111H04W4/005H04W4/06H04W4/22
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,390,279
App. No.
14/010,437
Granted
Jul 12, 2016
Kind
B2
Abstract

Systems, methods and computer program products for controlling access to position information at a receiver based on various considerations, including a requested service type, a user type, a device type, a software application type, and/or other characteristics associated with a particular software application at the receiver from which the position information was requested.

Claims (107)

1. A computer-implemented method for controlling access to position information by one or more location applications on a computing device, said method comprising:

decrypting, during a first service-level decryption step, the position information using a first service-level decryption key to obtain first decrypted position information, wherein the first service-level decryption key is associated with a first location application;

processing, using a computing device, the first decrypted position information based on a first set of one or more limitations related to location services provided by the first location application;

determining a position estimate of the computing device based on the processing of the first decrypted position information;

providing the position estimate to the first location application;

determining, prior to the decrypting during the first service-level decryption step, whether the first service-level decryption key is stored on the computing device;

upon determining that the first service-level decryption key is not stored on the computing device, accessing a first developer key that is associated with the first service-level decryption key and the first location application;

sending the first developer key to a network; and

receiving the first service-level decryption key from the network in response to sending the first developer key.

2. The computer-implemented method of claim 1 , further comprising:

receiving the position information from a remote transmitter, wherein the position information is encrypted; and

decrypting, prior to the decrypting during the first service-level decryption step, the position information using a first system-level decryption key associated with the transmitter.

3. The computer-implemented method of claim 1 , wherein the first set of one or more limitations specify one or more of a maximum level of position location accuracy available to the first location application, a coverage area within which the position information may be provided to the first location application, or a time period during which the position information may be provided to the first location application.

4. The method of claim 1 , wherein the first set of limitations specify one or more of a maximum level of position location accuracy available to a user of the computing device, a coverage area within which the position information may be provided to the user, or a time period during which the position information may be provided to the user.

5. The computer-implemented method of claim 1 , wherein the position information comprises latitude, longitude and altitude information.

6. A computer-implemented method for controlling access to position information b one or more location applications on a computing device, the method comprising:

decrypting, during a first service-level decryption step, the position information using a first service-level decryption key to obtain first decrypted position information, wherein the first service-level decryption key is associated with a first location application;

processing, using a computing device, the first decrypted position information based on a first set of one or more limitations related to location services provided by the first location application;

determining a position estimate of the computing device based on the processing of the first decrypted position information;

providing the position estimate to the first location application;

decrypting, during a second service-level decryption step, the position information using a second service-level decryption key to obtain second decrypted position information, wherein the second service-level decryption key is associated with a second location application;

processing the second decrypted position information based on a second set of one or more limitations related to location services provided by the second location application;

determining a second position estimate of the computing device based on the processing of the second decrypted position information; and

providing the second position estimate to the second location application.

7. The computer-implemented method of claim 6 , wherein the second set of one or more limitations specify one or more of a maximum level of position accuracy available to the second location application, a coverage area within which the position information may be provided to the second location application, or a time period during which the position information may be provided to the second location application, said method further comprising:

determining, prior to the decrypting during the second service-level decryption step, whether the second service-level decryption key is stored on the computing device;

upon determining that the second service-level decryption key is not stored on the computing device, accessing a second developer key that is associated with the second service-level decryption key and the second location application;

sending the second developer key to a network; and

receiving the second service-level decryption key from the network in response to sending the second developer key.

8. A computer-implemented method for controlling access to position information by one or more location applications on a computing device the method comprising:

decrypting, during a first service-level decryption step, the position information using a first service-level decryption key to obtain first decrypted position information, wherein the first service-level decryption key is associated with a first location application;

processing, using a computing device, the first decrypted position information based on a first set of one or more limitations related to location services provided by the first location application;

determining a position estimate of the computing device based on the processing of the first decrypted position information;

providing the position estimate to the first location application;

determining whether a second location application on the computing device may access the position information based on whether a second service-level decryption key is stored on the computing device;

upon determining that the second service-level decryption key is not stored on the computing device, denying access to the position —information by the second location application; and

upon determining that the second service-level decryption key is stored on the computing device, providing the position —information to the second location application.

9. A system for controlling access to position information by one or more location applications on a computing device, the system comprising one or more processors or other devices that:

decrypt, during a first service-level decryption step, the position information using a first service-level decryption key to obtain first decrypted position information, wherein the first service-level decryption key is associated with a first location application;

process the first decrypted position information —based on a first set of one or more limitations related to location services provided by the first location application;

determine a position estimate of the computing device based on the processing of the first decrypted position information;

provide the position estimate to the first location application;

determine, prior to the decrypting during the first service-level decryption step, whether the first service-level decryption key is stored on the computing device;

upon determining that the first service-level decryption key is not stored on the computing device, access a first developer key that is associated with the first service-level decryption key and the first location application;

send the first developer key to a network; and

receive the first service-level decryption key from the network in response to sending the first developer key.

10. The system of claim 9 , wherein the one or more processors or other devices:

receive the position information from a transmitter, wherein the position information is encrypted; and

decrypt, prior to the decrypting during the first service-level decryption step, the position information using a first system level decryption key associated with the transmitter.

11. The system of claim 9 , wherein the first set of one or more limitations specify one or more of a maximum level of position location accuracy available to the first location application or to a user of the computing device, a coverage area within which the position information may be provided to the first location application or the user, or a time period during which the position information may be provided to the first location application or the user.

12. A system for controlling access to position information by one or more location applications on a computing device, the system comprising one or more processors or other devices that:

decrypt, during a first service-level decryption step, the position information using a first service-level decryption key to obtain first decrypted position information, wherein the first service-level decryption key is associated with a first location application;

process the first decrypted position information based on a first set of one or more limitations related to location services provided by the first location application;

determine a position estimate of the computing device based on the processing of the first decrypted position information;

provide the position estimate to the first location application;

decrypt, during a second service-level decryption step, the position information using a second service-level decryption key to obtain second decrypted position information, wherein the second service-level decryption key is associated with a second location application;

process the second decrypted position information based on a second set of one or more limitations related to location services provided by the second location application;

determine a second position estimate of the computing device based on the processing of the second decrypted position information; and

provide the second position estimate to the second location application.

13. The system of claim 12 , wherein the second set of one or more limitations specify one or more of a maximum level of position accuracy available to the second location application, a coverage area within which the position information may be provided to the second location application, or a time period during which the position information may be provided to the second location application, wherein the one or more processors or other devices:

determine, prior to the decrypting during the second service-level decryption step, whether the second service-level decryption key is stored on the computing device;

upon determining that the second service-level decryption key is not stored on the computing device, access a second developer key that is associated with the second service-level decryption key and the second location application;

send the second developer key to a network; and

receive the second service-level decryption key from the network in response to sending the second developer key.

14. A system for controlling access to position information by one or more location applications on a computing device, the system comprising one or more processors or other devices that:

decrypt, during a first service-level decryption step, the position information using a first service-level decryption key to obtain first decrypted position information, wherein the first service-level decryption key is associated with a first location application;

process the first decrypted position information based on a first set of one or more limitations related to location services provided by the first location application;

determine a position estimate of the computing device based on the processing of the first decrypted position information;

provide the position estimate to the first location application;

determine whether a second location application on the computing device may access the position information based on whether a second service-level decryption key is stored on the computing device;

upon determining that the second service-level decryption key is not stored on the computing device, deny access to the position information by the second location application; and

upon determining that the second service-level decryption key is stored on the computing device, provide the position information to the second location application.

15. A non-transitory computer-readable medium having a computer readable program code embodied therein, said computer readable program code adapted to be executed to implement a method for controlling access to position information by one or more location applications on a computing device, the method comprising:

decrypting, during a first service-level decryption step, the position information using a first service-level decryption key to obtain first decrypted position information, wherein the first service-level decryption key is associated with a first location application;

processing the first decrypted position information based on a first set of one or more limitations related to location services provided by the first location application;

determining a position estimate of the computing device based on the processing of the first decrypted position information;

providing the position estimate to the first location application;

determining, prior to the decrypting during the first service-level decryption step, whether the first service-level decryption key is stored on the computing device;

upon determining that the first service-level decryption key is not stored on the computing device, accessing a first developer key that is associated with the first service-level decryption key and the first location application;

sending the first developer key to a network; and

receiving the first service-level decryption key from the network in response to sending the first developer key.

16. The computer-readable medium of claim 15 , the method further comprising:

receiving the position information from a remote transmitter, wherein the position information is encrypted; and

decrypting, prior to the decrypting during the first service-level decryption step, the position information using a first system-level decryption key associated with the transmitter.

17. The computer-readable medium of claim 15 , wherein the first set of one or more limitations specify one or more of a maximum level of position location accuracy available to the first location application or to a user of the computing device, a coverage area within which the position information may be provided to the first location application or the user, or a time period during which the position information may be provided to the first location application or the user.

18. A non-transitory computer-readable medium having a computer readable program code embodied therein, said computer readable program code adapted to be executed to implement a method for controlling access to position information by one or more location applications on a computing device, the method comprising:

decrypting, during a first service-level decryption step, the position information using a first service-level decryption key to obtain first decrypted position information, wherein the first service-level decryption key is associated with a first location application;

processing the first decrypted position information based on a first set of one or more limitations related to location services provided by the first location application;

determining a position estimate of the computing device based on the processing of the first decrypted position information;

providing the position estimate to the first location application;

decrypting, during a second service-level decryption step, the position information using a second service-level decryption key to obtain second decrypted position information, wherein the second service-level decryption key is associated with a second location application;

processing the second decrypted position information based on a second set of one or more limitations related to location services provided by the second location application;

determining a second position estimate of the computing device based on the processing of the second decrypted position information; and

providing the second position estimate to the second location application.

19. The computer-readable medium of claim 18 , wherein the second set of one or more limitations specify one or more of a maximum level of position accuracy available to the second location application, a coverage area within which the position information may be provided to the second location application, or a time period during which the position information may be provided to the second location application, the method further comprising:

determining, prior to the decrypting during the second service-level decryption step, whether the second service-level decryption key is stored on the computing device;

upon determining that the second service-level decryption key is not stored on the computing device, accessing a second developer key that is associated with the second service-level decryption key and the second location application;

sending the second developer key to a network; and

receiving the second service-level decryption key from the network in response to sending the second developer key.

20. A non-transitory computer-readable medium having a computer readable program code embodied therein, said computer readable program code adapted to be executed to implement a method for controlling access to position information by one or more location applications on a computing device, the method comprising:

decrypting, during a first service-level decryption step, the position information using a first service-level decryption key to obtain first decrypted position information, wherein the first service-level decryption key is associated with a first location application;

processing the first decrypted position information based on a first set of one or more limitations related to location services provided by the first location application;

determining a position estimate of the computing device based on the processing of the first decrypted position information;

providing the position estimate to the first location application;

determining whether a second location application on the computing device may access the position information based on whether a second service-level decryption key is stored on the computing device;

upon determining that the second service-level decryption key is not stored on the computing device, denying access to the position information by the second location application; and

upon determining that the second service-level decryption key is stored on the computing device, providing the position information to the second location application.

Assignments (5)
SECURITY INTEREST Recorded Apr 1, 2025
From: NEXTNAV INC.; NEXTNAV HOLDINGS, LLC; NEXTNAV INTERMEDIATE HOLDCO, LLC; PROGENY LMS, LLC; COMMLABS, INC.
To: GLAS TRUST COMPANY LLC
Reel/Frame 070691/0909 →
RELEASE OF SECURITY INTEREST Recorded Oct 29, 2021
From: FORTRESS CREDIT CORP.
To: NEXTNAV, LLC
Reel/Frame 057973/0636 →
ASSIGNMENT FOR SECURITY -- PATENTS Recorded Dec 27, 2019
From: NEXTNAV, LLC; PROGENY LMS, LLC
To: FORTRESS CREDIT CORP., AS AGENT
Reel/Frame 051433/0692 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2014
From: VAJJHALA, VARAPRASAD; MEIYAPPAN, SUBRAMANIAN; JOSEPH, DEEPAK; RAGHUPATHY, ARUN
To: NEXTNAV, LLC
Reel/Frame 031901/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2013
From: RAGHUPATHY, ARUN; MEIYAPPAN, SUBRAMANIAN; JOSEPH, DEEPAK; VAJJHALA, VARAPRASAD
To: NEXTNAV, LLC
Reel/Frame 031187/0735 →
Continuity (2)
Provisional Application 61699800 · Sep 11, 2012
Related Publication 20140075181A1 · Mar 13, 2014