Search This Blog

Saturday, February 11, 2012

SUPL fast facts


SUPL was developed by the Open Mobile Alliance1 (OMA), a mobile communications industry forum that was created to bring open standards, platform independence, and global interoperability to the LBS market. More than 360 companies are represented in OMA, including MNOs and NEVs, wireless vendors, mobile device manufacturers, content and service providers, and other suppliers. SUPL standards acknowledge Assisted GPS (AGPS) as the most accurate location technology available today. SUPL architecture is composed of two basic elements: a SUPL Enabled Terminal (SET) and a SUPL Location Platform (SLP). The SET is a mobile device, such as a phone or PDA, which has been configured to support SUPL transactions. The SLP is a server or network equipment stack that handles tasks associated with user authentication, location requests, location-based application downloads, charging, and roaming.

The core strength of SUPL is the utilization, wherever possible, of existing protocols, IP connections, and data-bearing channels. SUPL standards are complementary to and compatible with C-Plane standards. SUPL supports C-Plane protocols developed for the exchange of location data between a mobile device and a wireless network, including RRLP3 and TIA-80144. SUPL also supports MLP (Mobile Location Protocol) and ULP (UserPlane Location Protocol). MLP is used in the exchange of LBS data between elements such as an SLP and a GMLC, or between two SLPs; ULP is used in the exchange of LBS data between an SLP and an SET.

Implementation: SUPL vs. C-Plane

Two functional entities must be added to the C-Plane network in order to support location services: a Serving Mobile Location Center (SMLC), which controls the coordination and scheduling of the resources required to locate the mobile device; and a Gateway Mobile Location Center (GMLC), which controls the delivery of position data, user authorization, charging, and more. Although simple enough in concept, the actual integration of SMLCs and GMLCs into the Control Plane requires multi-vendor, multi-platform upgrades, as well as modifications to the interfaces between the various network elements. As with any complex endeavor, the larger the scope of the program and the more parties that are involved, the greater the number of points at which failures can occur. LBS through SUPL is much less cumbersome. The SLP takes on most of the tasks that would normally be assigned to the SMLC and GMLC, drastically reducing interaction with Control Plane elements. SUPL supports the same protocols for location data that were developed for the C-Plane, which means little or no modification of C-Plane interfaces is required.

AGPS for Location-Based Services

The“A” in AGPS is the assistance data provided to mobile AGPS devices through a wireless network. With this data, mobile devices equipped with AGPS can compute positions more quickly and in much more difficult environments. Traditional GPS receivers work best in open areas that offer an unobstructed line of sight to the GPS satellites orbiting overhead. In places where GPS signals are weak, obstructed, or scattered, as is the case inside an office building or in an urban canyon, traditional GPS receivers compute positions intermittently at best and frequently cannot compute positions at all.

Call Flows

In the network-initiated and SET-initiated call flows detailed below, the GMLC does nothing more than provide the initial position for the position calculation sequence that is conducted between the SLP and the SET. The SLP and the SET communicate through ULP, a binary protocol that supports eight basic messages. These messages are used to initiate a SUPL session, exchange positioning and authentication data, and end a SUPL session. Communication between the SLP, the Client application, and the GMLC is done through MLP. Only two MLP message types, SLIR (Standard Location Immediate Request) and SLIA (Standard Location Immediate Answer), are used in either transaction sequence. This is important because although MLP is very complex, utilization of MLP in SUPL architecture is not.



Network initiated request


 
Step 1. The Client application queries for the location of the targeted SET by sending an SLIR message (Standard Location Immediate Request) to the SLP. The message contains an ID for the targeted SET, positioning preferences, routing information, and a transaction code. The SLP authenticates the request and then determines whether the transaction will be based on AGPS or another positioning resource.

Step 2. The SLP sends a SUPL INIT message to the targeted SET through SMS or WAP push. The message contains an access code, an address for the SLP, parameters for the positioning method that will be used, and a unique, SLP-generated Session ID.


Step 3. The SET authenticates the access code and connects to an IP network through GPRS, EDGE, or other means.


Step 4. The SET establishes a secure connection with the SLP and sends a SUPL POS INIT message to it. The message contains the ID of the Cell tower being used by the SET (Cell ID), a profile of the SET’s capabilities, a request for assistance data, and a unique Session ID generated by the SET. The SUPL POS INIT also contains a“hash”, or cryptographic distillation, of the SUPL INIT message that the SLP uses to authenticate the SUPL POS INIT message.


Step 5. The SLP authenticates the hash and sends an SLIR message to the GMLC to get a coarse position for the SET. The message contains the SET ID, an access code for the SET, and the ID of the Cell tower being used by the SET.

Step 6. The GMLC authenticates the request, then queries its Cell ID database to find the latitude and longitude of the Cell ID referenced in the SLIR message. The latitude and longitude of the Cell ID will serve as the initial position for the position calculation.


Step 7. The GMLC sends an SLIA message to the SLP. The message contains the SET’s coarse position and an ID number that corresponds to the access code sent in Step 5.


Step 8. The SLP authenticates the ID number and sends a SUPL POS message to the SET to start the position calculation process based on the coarse position sent by the GMLC. The message contains a unique Session ID that combines the Session IDs generated by the SLP and the SET in steps 2 and 4. This combined Session ID will be used in all of remaining messages exchanged between the SET and the SLP. The SUPL POS message encapsulates a message from one of the approved positioning protocols (RRLP6, TIA-801, or RRC). The SET and the SLP may exchange several SUPL POS messages while performing the position calculation.


Step 9. The position calculated for the SET is sent back to the Client application in an SLIA message. The message contains the latitude and longitude of the SET as well as an ID number that corresponds to the transaction code sent in Step 1.


Step 10. After sending the position of the targeted SET to the Client application, the SLP sends SUPL END message to the SET. This is the end of the transaction as far as the SLP and SET are concerned, although the GMLC or the Client application may have additional tasks to complete.



SET initiated request



Step 1. The SET connects to an IP network through GPRS, EDGE, or other means.


Step 2. The SET establishes a secure connection with the SLP sends a SUPL START message. The message contains the ID of the Cell tower being used by the SET (Cell ID), a profile of the SET’s capabilities, parameters for the positioning method, and a unique, SET-generated Session ID.


Step 3. The SLP sends an SLIR message to the GMLC to get a coarse position for the SET. The message contains the SET ID, an access code for the SET, and the ID of the Cell tower being used by the SET.


Step 4. The GMLC authenticates the request, then queries its Cell ID database to provide a latitude and longitude for the Cell ID referenced in the SLIR message. The latitude and longitude of the Cell ID will serve as the initial position for the position calculation.


Step 5. The GMLC sends an SLIA message to the SLP. The SLIA message contains a latitude and longitude for the Cell tower being used by the SET and an ID number that corresponds to the access code sent in Step 3.


Step 6. The SLP sends a SUPL RESPONSE message to the SET, which identifies the positioning method that will be used, and contains a unique Session ID that is a combination of the Session ID generated by the SET and a Session ID generated by the SLP. This compound Session ID will be used in all of the remaining messages exchanged between the SET and the SLP. The SUPL RESPONSE message may also contain an address for the SLP and authentication data if the transaction requires authorization.


Step 7. The SET sends a SUPL POS INIT to the SLP. This message contains some of the same elements as the SUPL START message, but also contains a request for assistance data.


Step 8. The SLP sends a SUPL POS message to the SET to start the position calculation process based on the coarse position sent by the GMLC. The SUPL POS message encapsulates a message from one of the approved positioning protocols. Several SUPL POS messages may be exchanged between the SET and the SLP during the position calculation.


Step 9. The SLP sends a SUPL END message to the SET declaring that the transaction has ended. This is the end of the session for the SET and the SLP, but the GMLC may perform additional tasks outside session.



GLOSSARY

SET
SUPL Enabled Terminal. A device that can communicate with a SUPL network. Communication with the SUPL network is handled
LBS
Location-Based Services. An extension of LCS that includes a wide variety of real-time services and takes advantage of burgeoning wideband wireless communication services.
LCS
Location Services. A generic term for services and related applications that are based on the geographic location of a mobile device, and are channeled primarily through wireless communication networks.
LSP
Location Services Provider. A mobile network operator or SUPL provider that manages location services for LBS subscribers.
SLP
SUPL Location Platform at the center of Figure 3 is responsible for all aspects of SUPL communication between the SET and the rest of the SUPL-enabled network. The SLP also provides all AGPS data services from the embedded AGPS Server engine, including providing assistance data and performing position computations.
MLP
MLP is used in the exchange of LBS data between elements such as an SLP and a GMLC, or between two SLPs.
ULP
ULP is used in the exchange of LBS data between an SLP and an SET.
SMLC
Serving Mobile Location Center (SMLC), which controls the coordination and scheduling of the resources required to locate the mobile device
GMLC
Gateway Mobile Location Center (GMLC), which controls the delivery of position data, user authorization, charging, and more.


No comments:

Post a Comment