# US 9,112,683 B2 · Maintaining triggered session state in secure user plane location (SUPL) enabled system

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

- Number: US 9,112,683 B2
- Document ID: US9112683B2
- Status: Granted
- Kind: B2
- Application number: 13/101,243
- Filed: 2011-05-05
- Published: 2011-12-01
- Granted: 2015-08-18
- Earliest claimed: 2010-05-27
- Assignees: Maple Acquisition LLC
- Applicants: Nguyen Khiem Tran; Martin Wyville Thomson; Darren Pawson
- Inventors: Nguyen Khiem Tran; Martin Wyville Thomson; Darren Pawson
- Web page: https://patentgrep.com/patent/US9112683B2

## CPC

- H04L 67/60: Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70)
- H04W 4/20: Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
- H04L 9/088: {Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms (network architectures or network communication protocols for using time-dependent keys in a packet data network H04L63/068)}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04W 4/02: Services making use of location information
- H04L 2209/80: Wireless
- H04W 80/08: Upper layer protocols {(network arrangements or communication protocols for networked applications H04L67/00)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A method is provided for maintaining session state in a Secure User Plane Location (SUPL) enabled system during a triggered session. The method includes modifying at least one parameter of a session message to include state data indicating the session state, and transmitting a request to a SUPL Enabled Terminal (SET) to initiate the triggered session, the request comprising the session message having the at least one modified parameter to be stored at the SET. The method further includes receiving a triggered message from the SET in response to occurrence of a trigger event detected by the SET, the triggered message comprising the stored state data. The triggered session is identified using the state data received in the triggered message.

## Claims

### Claim 1

A method of maintaining session state in a Secure User Plane Location (SUPL) enabled system, the method comprising:
modifying at least one parameter of a session message to include state data necessary to maintain session state of a triggered session;
transmitting a request to a SUPL Enabled Terminal (SET) over a given communication channel to initiate the triggered session, the request comprising the session message having the at least one modified parameter, enabling the state data to be stored at the SET;
closing the given communication channel after the session message is received at the SET;
clearing the state data from memory of the SUPL enabled system in response to the closing, wherein the SET maintains the only copy of the state data;
receiving a triggered message from the SET over another communication channel in response to occurrence of a trigger event detected by the SET during the triggered session, the triggered message comprising the stored state data;
re-establishing the triggered session using the state data received in the triggered message;
receiving a SUPL POS message from the SET, the SUPL POS message including position data indicating a location of the SET; and
setting an estimated position of the SET using the position data in the SUPL POS message.

### Claim 2 (depends on 1)

The method of claim 1, further wherein the setting further comprises calculating the estimated position of the SET using the position data.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
initially receiving a request from a location client to initiate the triggered session with the SET; and
sending the calculated estimated position of the SET to the location client.

### Claim 4 (depends on 1)

The method of claim 1, wherein the session message transmitted to the SET comprises a SUPL NIT message.

### Claim 5 (depends on 4)

The method of claim 4, wherein the at least one modified parameter comprises a SlpSessionID parameter.

### Claim 6 (depends on 5)

The method of claim 5, wherein modifying the at least one parameter of the session message to include state data indicating the session state comprises setting free bits in at least one of a sessionID field and a slpID field of the SlpSessionID parameter to include the state data.

### Claim 7 (depends on 1)

The method of claim 1, wherein the triggered message received from the SET comprises one of a SUPL REPORT message or a SUPL POS INIT message.

### Claim 8 (depends on 1)

The method of claim 1, wherein modifying the at least one parameter of the session message comprises:
encrypting the state data included in the at least one modified parameter, wherein the SET stores the encrypted state data, and is incapable of decrypting the encrypted state data.

### Claim 9 (depends on 8)

The method of claim 8, wherein the at least one modified parameter includes a key identifier that identifies a key known only to a SUPL Location Platform (SLP).

### Claim 10 (depends on 8)

The method of claim 8, wherein re-establishing the triggered session comprises decrypting the state data received in the triggered message.

### Claim 11 (depends on 1)

The method of claim 1, wherein modifying the at least one parameter of the session message comprises:
including a message authentication code, and not encrypting the state data included in the at least one modified parameter, wherein the SET stores the unencrypted state data and message authentication code.

### Claim 12 (depends on 11)

The method of claim 11, wherein the at least one modified parameter includes a key identifier that identifies a key known only to a SUPL Location Platform (SLP).

### Claim 13 (depends on 11)

The method of claim 11, wherein re-establishing the triggered session comprises using the key identifier to identify an encryption key, and performing the cryptographic hash function using the identified encryption key, and verifying that the state data received in the triggered message has not been altered using the cryptographic hash function.

### Claim 14 (depends on 1)

The method of claim 1, wherein the receiving and the re-establishing occur after the closing.

### Claim 15 (depends on 1)

The method of claim 1, wherein the receiving and the re-establishing occur at least one hour after the closing.

### Claim 16 (depends on 1)

The method of claim 1, wherein the modifying is performed at a SULP location platform (SLP).

### Claim 17

A non-transitory computer readable medium storing code executable by a computer processor for maintaining session state in a Secure User Plane Location (SUPL) enabled system, the computer readable medium comprising:
a modifying code segment for modifying at least one parameter of a session message to include state data necessary to maintain session state of a triggered session;
a transmitting code segment for enabling transmission of a request to a SUPL Enabled Terminal (SET) to initiate the triggered session over a given communication channel, the request comprising the session message having the at least one modified parameter, enabling the state data to be stored at the SET;
a closing code segment for closing the given communication channel after the session message is received by the SET;
a clearing code segment for clearing the state data from memory of the SUPL enabled system in response to the closing, wherein the SET maintains the only copy of the state data;
a receiving code segment for receiving a triggered message from the SET over another communication channel in response to occurrence of a trigger event detected by the SET during the triggered session, the triggered message comprising the stored state data; and
an identifying code segment for re-establishing the triggered session using the state data received in the triggered message;
wherein the receiving code segment is for receiving a SUPL POS message from the SET, the SUPL POS message including position data indicating a location of the SET and setting an estimated position of the SET using the position data in the SUPL POS message.

### Claim 18 (depends on 17)

The computer readable medium of claim 17, further comprising:
a calculating code segment for calculating the estimated position of the SET using position data.

### Claim 19 (depends on 17)

The computer readable medium of claim 17, wherein the session message comprises a SUPL INIT message.

### Claim 20 (depends on 19)

The computer readable medium of claim 19, wherein the at least one modified parameter comprises a SlpSessionID parameter.

### Claim 21 (depends on 20)

The computer readable medium of claim 20, wherein the modifying code segment modifies the at least one parameter by comprises setting free bits in at least one of a sessionID field and a slpID field of the SlpSessionID parameter to include the state data.

### Claim 22 (depends on 17)

The computer readable medium of claim 17, further comprising:
an encrypting code segment for encrypting the state data included in the at least one modified parameter, wherein the SET stores the encrypted state data, and is incapable of decrypting the encrypted state data.

### Claim 23

A method of maintaining session state in a Secure User Plane Location (SUPL) enabled system during a triggered session, without a SUPL Location Platform (SLP) maintaining state necessary to re-establish the triggered session, the method comprising:
setting free bits of a SlpSessionID parameter in a session message at the SLP to include state data necessary to maintain the session state of the triggered session;
transmitting the session message a SUPL Enabled Terminal (SET) from the SLP to the SET to initiate the triggered session over a given communication channel, the SET storing the free bits of the SlpSessionID;
closing the given communication channel after the SET receives the session message;
clearing the state data from memory of the SLP in response to the closing, wherein the SET maintains the only copy of the state data;
receiving a SUPL POS INIT message from the SET over another communication channel upon occurrence of a trigger event to initiate position determination as part of the triggered session, the SUPL POS INIT message comprising the stored state data;
re-establishing the triggered session using the stored data in the SUPL POS INIT message;
receiving a SUPL POS message from the SET, the SUPL POS message including position data indicating a location of the SET; and
calculating an estimated position of the SET using the position data in the SUPL POS message.

### Claim 24 (depends on 23)

The method of claim 23, wherein the setting free bits of the SlpSessionID parameter comprises modifying the SlpSessionID parameter by setting free bits in at least one of a sessionID field and a slpID field of the SlpSessionID parameter to include the state data.

### Claim 25 (depends on 23)

The method of claim 23, wherein the setting free bits of the SlpSessionID parameter comprises modifying the SlpSessionID parameter by setting free bits in an FQDN in a slpID field.
