[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

US20150319574A1 - Triggered location services - Google Patents

Triggered location services Download PDF

Info

Publication number
US20150319574A1
US20150319574A1 US14/746,627 US201514746627A US2015319574A1 US 20150319574 A1 US20150319574 A1 US 20150319574A1 US 201514746627 A US201514746627 A US 201514746627A US 2015319574 A1 US2015319574 A1 US 2015319574A1
Authority
US
United States
Prior art keywords
location
mobile terminal
target
target area
moving geographical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/746,627
Inventor
Andreas K. Wachter
Stephen W. Edge
Kirk Allan Burroughs
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Priority to US14/746,627 priority Critical patent/US20150319574A1/en
Assigned to QUALCOMM INCORPORATED reassignment QUALCOMM INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BURROUGHS, KIRK ALLAN, EDGE, STEPHEN W., WACHTER, ANDREAS K.
Publication of US20150319574A1 publication Critical patent/US20150319574A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • H04W4/022Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences with dynamic range variability
    • H04L67/18
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Definitions

  • the present disclosure relates generally to communication, and more specifically to techniques for supporting location services.
  • location and “position” are synonymous and are used interchangeably herein.
  • a user may utilize the terminal to browse through a website and may click on location sensitive content. The location of the terminal may then be determined and used to provide appropriate content to the user. There are many other scenarios in which knowledge of the location of the terminal is useful or necessary.
  • a message flow (which may also be called a call flow or a procedure) is typically executed in order to obtain location information (e.g., a location estimate) for the terminal and to send the location information to a client entity.
  • Various messages are typically exchanged between one or more network entities, the terminal, and the client entity for the message flow. These messages ensure that each entity is provided with pertinent information, or can obtain this information from another entity, in order to carry out positioning for the terminal and/or to deliver location information to the client entity.
  • these messages add to the traffic at various network entities. The additional traffic may be especially great for location services in which location information may be periodically provided to the client entity.
  • the messages may also extend the response time for sending the location information to the client entity.
  • a triggered location service is a service in which a report with location information may be sent whenever a trigger event occurs.
  • the trigger event may be defined in different manners for different triggered location services.
  • At least one location related measurement for a terminal may be obtained.
  • Each location related measurement may be for the distance traveled by the terminal, or the velocity of the terminal, or the location of the terminal relative to a moving geographical target area.
  • Whether a trigger event has occurred may be determined based on the at least one location related measurement for the terminal.
  • a report may be sent if a trigger event has occurred.
  • the at least one location related measurement may be for the distance traveled by the terminal, which may be determined in various manners as described below. Whether a trigger event has occurred may be determined based on the distance traveled by the terminal. For example, a trigger event may be declared if the distance traveled by the terminal exceeds a predefined distance.
  • the at least one location related measurement may be for the location of the terminal relative to a moving geographical target area.
  • the moving geographical target area may be determined based on the location of a reference terminal.
  • a trigger event may be declared if the location of the terminal matches a criterion with respect to the moving geographical target area.
  • the criterion may be inside, outside, entering or leaving the moving geographical target area.
  • the at least one location related measurement may be for the velocity of the terminal. Whether a trigger event has occurred may be determined based on the velocity of the terminal. For example, the velocity of the terminal may be determined periodically, and the maximum velocity of the terminal since the last trigger event may be determined. A trigger event may be declared if the maximum velocity exceeds a predefined velocity.
  • the at least one location related measurement may be for the distance traveled by the terminal and the velocity of the terminal Whether a trigger event has occurred may be determined based on the distance traveled by the terminal, the velocity of the terminal, and/or elapsed time since the last trigger event. For example, multiple expressions may be determined Each expression may be for the distance traveled by the terminal relative to a predefined distance, or the maximum velocity of the terminal relative to a predefined velocity, or the elapsed time relative to a predefined time. Whether a trigger event has occurred may be determined based on a function of the multiple expressions.
  • a first terminal may send a request for the velocity of a second terminal, e.g., to a location center.
  • the first terminal may thereafter receive the velocity of the second terminal either once or a plurality of times (e.g., from the location center or the second terminal) in response to the request.
  • FIG. 1 illustrates an exemplary deployment supporting location services.
  • FIGS. 2 and 3 illustrate two message flows for the equidistance triggered service.
  • FIG. 4 illustrates a moving geographical target area
  • FIGS. 5 and 6 illustrate two message flows for the relative terminal to terminal triggered service.
  • FIG. 7 illustrates a message flow for the velocity triggered service.
  • FIG. 8 illustrates a message flow for the T-D-V combination triggered service.
  • FIG. 9 illustrates a message flow for a terminal to terminal velocity service.
  • FIG. 10 illustrates a process for supporting triggered location services.
  • FIG. 11 illustrates a process for supporting the terminal to terminal velocity service.
  • FIG. 12 illustrates a block diagram of a terminal, a wireless network, and a location server.
  • Techniques for supporting triggered location services are described herein. These techniques may be used for terminals communicating with various wireless networks.
  • the term “network” and “system” are often used interchangeably.
  • the techniques may be used for wireless networks defined by an organization named “3rd Generation Partnership Project” (3GPP) and wireless networks defined by an organization named “3rd Generation Partnership Project 2” (3GPP2).
  • a user plane location architecture is a location architecture that sends messages for location services via a user plane.
  • a user plane is a mechanism for carrying signaling and data for higher-layer applications and employing a user-plane bearer, which is typically implemented with standard protocols such as User Datagram Protocol (UDP), Transmission Control Protocol (TCP), and Internet Protocol (IP).
  • UDP User Datagram Protocol
  • TCP Transmission Control Protocol
  • IP Internet Protocol
  • a control plane location architecture is a location architecture that sends messages for location services via a control plane.
  • a control plane is a mechanism for carrying signaling for higher-layer applications and is typically implemented with network-specific protocols, interfaces, and signaling messages. Messages supporting location services are carried as part of signaling in a control plane architecture and as part of data (from the network perspective) in a user plane architecture. The content of the messages may, however, be the same or similar in both user plane and control plane location architectures.
  • SUPL Secure User Plane Location
  • OMA Open Mobile Alliance
  • FIG. 1 shows an exemplary deployment supporting location services.
  • Terminals 110 , 112 and 114 may communicate with a wireless network 120 to obtain communication services.
  • a terminal may be stationary or mobile and may also be referred to as a mobile station (MS), a user equipment (UE), an access terminal (AT), a subscriber station, a station, etc.
  • a terminal may be a cellular phone, a personal digital assistant (PDA), a handheld device, a wireless device, a laptop computer, a wireless modem, a cordless phone, a telemetry device, a tracking device, etc.
  • a terminal may be referred to as a SUPL Enabled Terminal (SET) in SUPL.
  • SET SUPL Enabled Terminal
  • Wireless network 120 may be a wireless wide area network (WWAN), a wireless metropolitan area network (WMAN), a wireless local area network (WLAN), etc.
  • a WWAN may be a Code Division Multiple Access (CDMA) 1X network, a Wideband CDMA (WCDMA) network, Global System for Mobile Communications (GSM) network, a Long Term Evolution (LTE) network, etc.
  • CDMA Code Division Multiple Access
  • WCDMA Wideband CDMA
  • GSM Global System for Mobile Communications
  • LTE Long Term Evolution
  • a WMAN may implement IEEE 802.16, which is commonly referred to as WiMAX.
  • a WLAN may implement IEEE 802.11 (which is commonly referred to as Wi-Fi), HiperLAN, etc.
  • a SET may receive and measure signals from satellites such as a satellite 150 to obtain pseudo-range measurements for the satellites.
  • the satellites may be part of the United States Global Positioning System (GPS), the European Galileo system, the Russian GLONASS system, or some other satellite positioning system (SPS), or a combination of these systems.
  • GPS Global Positioning System
  • the pseudo-range measurements and the known locations of the satellites may be used to derive a location estimate for the SET.
  • a location estimate may also be referred to as a position estimate, a position fix, etc.
  • the SET may also receive and measure signals from base stations within wireless network 120 to obtain timing and/or signal strength measurements for the base stations.
  • the timing and/or signal strength measurements and the known locations of the base stations may be used to derive a location estimate for the SET.
  • a location estimate may be derived based on measurements for satellites, base stations, pseudolites, and/or other transmitters and using one or a combination of positioning methods.
  • a Home SUPL Location Platform (H-SLP) 130 may communicate with SETs to support location services for the SETs.
  • Location services may include any services based on or related to location information.
  • Location services may include positioning, which is a process to determine a geographic or civil location estimate for a SET. Positioning may provide (i) latitude, longitude, and possibly altitude coordinates and an uncertainty for a geographic location estimate or (ii) a street address for a civil location estimate. Positioning may also provide velocity and/or other information.
  • H-SLP 130 may include a SUPL Location Center (SLC) 132 and a SUPL Positioning Center (SPC) 134 . SLC 132 may support location services, coordinate the operation of SUPL, and interact with SETs over user plane bearer.
  • SLC SUPL Location Center
  • SPC SUPL Positioning Center
  • SLC 132 may perform functions for privacy, initiation, security, roaming support, charging/billing, service management, location calculation, etc.
  • SPC 134 may support positioning for SETs and delivery of assistance data to the SETs and may also be responsible for messages and procedures used for location calculation.
  • SPC 134 may perform functions for security, assistance data delivery, reference retrieval, location calculation, etc.
  • a SUPL agent 140 may be a location client and may communicate (e.g., directly or via one or more networks) with H-SLP 130 to obtain location information for target SETs.
  • a target SET is a SET for which location information is sought by a SUPL agent.
  • Location information may comprise a location estimate and/or any information related to location or velocity.
  • a SET may also have a SUPL agent resident within the SET. For example, SET 114 has a SUPL agent 144 within the SET.
  • a SET may be capable of position determination and may be able to determine its location with or without assistance from a network.
  • the location of the SET may be determined by the SET, possibly with assistance data from an SPC.
  • the location of the SET may be determined by the SPC with assistance (e.g., measurements) from the SET.
  • the SET may support one or more positioning methods such as autonomous GPS, assisted GPS (A-GPS), advanced forward link trilateration (A-FLT), enhanced observed time difference (EOTD), observed time difference of arrival (OTDOA), hybrid, etc.
  • A-GPS assisted GPS
  • A-FLT advanced forward link trilateration
  • EOTD enhanced observed time difference
  • OTD observed time difference of arrival
  • hybrid etc.
  • GPS can refer to any SPS such as GPS, Galileo, GLONASS, etc.
  • the autonomous GPS and A-GPS methods can provide a location estimate for the SET-based solely on satellite measurements and have high accuracy.
  • the hybrid method can provide a location estimate based on both satellite and base station measurements and has high accuracy and high reliability.
  • the A-FLT, EOTD, and OTDOA methods can provide a location estimate based on timing measurements of base stations made by the SET and have good accuracy.
  • the SET may also support other positioning methods.
  • a triggered location service may provide a SUPL agent with location information for a target SET whenever a trigger event occurs.
  • Different triggered location services may be associated with different types of trigger.
  • Table 1 lists some triggered location services and provides a short description of each triggered location service.
  • Other triggered location services may also be supported based on other types of trigger. The triggered location services in Table 1 are described in further detail below.
  • Triggered Location Service Description Equidistance Periodically determine location of a target SET Triggered Service and report when the target SET has moved a predefined distance.
  • Velocity Periodically determine velocity of a target SET Triggered Service and report when the velocity reaches a predefined level.
  • T-D-V Combination Periodically determine location and/or velocity Triggered Service of a target SET and report based on trigger criteria defined by elapsed time (T), distance traveled (D), and/or velocity (V).
  • the equidistance triggered service may periodically determine the location of a target SET and report location information when the target SET has moved a predefined distance.
  • Distance may refer to (i) a straight line distance between the current location of the SET and its initial location when distance monitoring began, or (ii) an overall distance of a typically non-linear path traced out by the SET since leaving its initial location, or (iii) distance defined in some other way.
  • a SUPL agent may initiate the equidistance triggered service, identify the target SET, and provide applicable parameters.
  • the equidistant triggered service may be used to periodically monitor a mobile terminal (e.g., SET 110 ) and to send a notification to a third party (e.g., SUPL agent 140 ) whenever the terminal has traveled a predefined distance.
  • a third party e.g., SUPL agent 140
  • the third party e.g., the operations center
  • the third party may send a location request to a location server (e.g., H-SLP 130 ).
  • the location server in collaboration with the terminal (which may be position determination capable) may start a position determination procedure that may allow for detection of whether the terminal has moved by the predefined distance. Whenever this event occurs, the location server may notify the location client.
  • FIG. 2 shows a design of a message flow 200 for equidistance triggered service.
  • SUPL agent 140 may desire to know whenever target SET 110 has moved a predefined distance from the last reported location and may send a location request with an indication of equidistance trigger to H-SLP 130 (step A).
  • H-SLP 130 may then communicate with target SET 110 to establish an equidistance triggered session (step B).
  • the location of SET 110 may be determined periodically using the SET-based mode or the SET-assisted mode.
  • SET 110 may autonomously make measurements and determine its location.
  • SET 110 may communicate with H-SLP 130 to obtain assistance data whenever necessary.
  • H-SLP 130 may calculate a location estimate based on measurements from SET 110 .
  • the location of SET 110 may be determined solely by SET 110 , by SET 110 with assistance from H-SLP 130 , by H-SLP 130 with assistance from SET 110 , etc.
  • the evaluation of the trigger condition may be performed by either SET 110 or by H-SLP 130 .
  • the location of SET 110 may be determined at the start of the equidistance triggered session and used as an initial location. The location of SET 110 may also be determined periodically during the equidistance triggered session. In one design, the location of SET 110 may be determined every X seconds, where X may be any suitable value and may be specified by a trigger parameter. In another design, the location of SET 110 may be determined as often as possible. In yet another design, the location of SET 110 may be determined at times ascertained based on the estimated velocity of SET 110 and the predefined distance. The location of SET 110 may thus be determined at shorter intervals for higher velocity and/or shorter predefined distance, and vice versa.
  • the location of SET 110 may be determined based on a sensor that can detect motion of SET 110 .
  • the location of SET 110 may be determined while it is mobile and may be paused while it is stationary.
  • the location of SET 110 may also be determined relative to a previous location using sensors, e.g., a sensor to detect and obtain linear acceleration, a sensor to detect and obtain change of direction, etc.
  • the location of SET 110 may also be determined periodically in other manners.
  • the location of SET 110 may be determined (step C) and the distance traveled by SET 110 may be updated (step D).
  • the traveled distance may be determined in various manners.
  • the traveled distance may be a total distance obtained by accumulating incremental distances between successive locations for SET 110 since the last report.
  • SET 110 may (i) determine the incremental distance between its current location and the last location and (ii) sum this incremental distance with the accumulated distance for the last location to obtain the accumulated distance for the current location.
  • the traveled distance may be the distance between the current location and the location of the last report, which may be the initial location if no report has been sent.
  • the traveled distance may be the distance along a particular route, e.g., along a trajectory from the initial location to a destination location or along a more complex route. The traveled distance may also be determined in other manners.
  • SET 110 may check for trigger events and initiate reporting.
  • H-SLP 130 may check for trigger events and initiate reporting.
  • any suitable entity may be designated to perform the check and to initiate reporting.
  • the designated entity may be provided with the location of SET 110 , the trigger parameters, and/or other pertinent information. For clarity, much of the description below assumes that SET 110 is the designated entity.
  • SET 110 may check whether a trigger event has occurred based on the distance traveled by SET 110 and the predefined distance (step E). A trigger event may occur if the traveled distance exceeds the predefined distance. In this case, SET 110 may report to H-SLP 130 that a trigger event has occurred (step F). The report may also include the current location of SET 110 , the distance traveled by SET 110 , and/or other information. H-SLP 130 may then send a trigger response to inform SUPL agent 140 that a trigger event has occurred (step G). The response may include some or all of the information provided in the trigger report from SET 110 . If a trigger event has not occurred, then steps F and G may be skipped.
  • Steps C through G may be for one processing cycle. Additional processing cycles may be performed in similar manner (step H). Each processing cycle may include steps to determine the current location of SET 110 , determine the distance traveled by SET 110 , and determine whether a trigger event has occurred. Trigger event reporting by SET 110 and trigger response by H-SLP 130 may be initiated if a trigger event has occurred and may be skipped otherwise. The end of the equidistant triggered session may be reached, e.g., when a stop time is reached, when a predefined final waypoint is reached, etc. Upon reaching the end of the equidistant triggered session, H-SLP 130 and SET 110 may terminate the session (step I).
  • FIG. 3 shows a design of a message flow 300 for equidistance triggered service using SUPL messages.
  • SUPL agent 140 may desire to know whenever SET 110 has moved a particular distance from the last reported location of SET 110 .
  • SUPL agent 140 may send a Mobile Location Protocol Triggered Location Response Request (MLP TLRR) message to H-SLP 130 , which may be an H-SLP with which SUPL agent 140 is associated (step A).
  • MLP TLRR Mobile Location Protocol Triggered Location Response Request
  • the MLP TLRR message may include a client identifier (ID) for SUPL agent 140 (client-id), a mobile station identity (ms-id) for target SET 110 , an indication of equidistance triggered service being requested, trigger parameters (e.g., a predefined distance, start time, stop time, etc.), etc.
  • the trigger parameters may be used to determine trigger events for reporting by target SET 110 .
  • H-SLP 130 may authenticate SUPL agent 140 and check if the SUPL agent is authorized for the requested location service based on the client ID. H-SLP 130 may also apply subscriber privacy against SUPL agent 140 based on the mobile station ID. For the privacy check, H-SLP 130 may verify if SUPL agent 140 or this type of SUPL agent is allowed to request location information for SET 110 and whether SET 110 may need to be notified of this request and allowed to accept or reject the request. H-SLP 130 may invoke the equidistant triggered service only with the consent of the user of SET 110 in order to ensure privacy. The equidistant triggered service may also dynamically take into account modifications of the privacy settings of the SET user.
  • H-SLP 130 may then look up SET 110 , verify that SET 110 is currently not roaming, and also verify that SET 110 supports SUPL (step B). H-SLP 130 may obtain routing information for SET 110 and use the routing information to send messages to SET 110 (also step B). H-SLP 130 may send a SUPL INIT message to SET 110 to initiate a SUPL/location session for the equidistance triggered service (step C).
  • the SUPL INIT message may include a session ID (session-id), an equidistance triggered service indicator, a proposed positioning method (posmethod), and/or other information.
  • the session ID may be used to identify the SUPL session.
  • SET 110 may receive the SUPL INIT message from H-SLP 130 and may either attach itself to a data network if SET 110 is not already attached or establish a data connection (step D). SET 110 may evaluate notification rules and follow appropriate actions. SET 110 may then send a SUPL TRIGGERED START message to start the equidistance triggered session with H-SLP 130 . This message may include the session ID, the capabilities of SET 110 , etc.
  • the SET capabilities may include the positioning methods supported by SET 110 , the positioning protocols supported by SET 110 (e.g., Radio Resource LCS Protocol (RRLP) in 3GPP, Radio Resource Control (RRC) in 3GPP, LTE Positioning Protocol (LPP), TIA-801, etc.), and/or other information.
  • RRLP Radio Resource LCS Protocol
  • RRC Radio Resource Control
  • LPP LTE Positioning Protocol
  • TIA-801 TIA-801, etc.
  • H-SLP 130 may receive the SUPL TRIGGERED START message and may select a positioning method to use for the equidistance triggered session by considering the SET capabilities included in the received message. H-SLP 130 may then send to SET 110 a SUPL TRIGGERED RESPONSE message that may include the session ID, the selected positioning method (posmethod), the trigger parameters, etc. (step F). SET 110 and H-SLP 130 may release the secure IP connection after step F. H-SLP 130 may send an MLP Triggered Location Reporting Answer (TLRA) message to inform SUPL agent 140 that the equidistance triggered service has been accepted (step G).
  • TRA MLP Triggered Location Reporting Answer
  • Steps A through G are setup steps for the equidistance triggered session. Location information for SET 110 may thereafter be reported in accordance with the trigger parameters provided by SUPL agent 140 in step A and sent to SET 110 in step F.
  • SET 110 may engage in a positioning session with H-SLP 130 to obtain assistance data in the SET-based mode or to determine the location of SET 110 in the SET-assisted mode.
  • SET 110 may send a SUPL POS INIT message to initiate the positioning session with H-SLP 130 (step H). This message may include the session ID, a location ID (lid), the SET capabilities, a request for assistance data, and/or other information.
  • H-SLP 130 may then engage with SET 110 in a SUPL POS session (or positioning session) (step I).
  • H-SLP 130 and SET 110 may exchange messages for a selected positioning protocol (e.g., RRLP, RRC, LPP, or TIA-801) to provide assistance data to SET 110 and/or to calculate a location estimate for SET 110 .
  • H-SLP 130 may send the location estimate and/or other information in a SUPL REPORT message to SET 110 (step J).
  • the location of SET 110 may be determined by SET 110 alone or with assistance of H-SLP 130 via steps H, I and J (step K).
  • the distance traveled by SET 110 may be updated, e.g., using any of the schemes described above for computing traveled distance (step L).
  • SET 110 may compare the traveled distance against the predefined distance and determine whether it has moved by the predefined distance (step M). If SET 110 has moved by the predefined distance and a trigger event has occurred, then SET 110 may send a SUPL REPORT message to H-SLP 130 (step N). This message may include an indication that a trigger event has occurred and may also include the current location of SET 110 , the distance traveled by SET 110 , and/or other information.
  • Steps K through O are for one processing cycle. Additional processing cycles may be performed in similar manner (step P). Each processing cycle may include steps to determine the current location of SET 110 , determine the distance traveled by SET 110 , and determine whether a trigger event has occurred. Reporting may be initiated if a trigger event has occurred and may be skipped otherwise. The end of the equidistant triggered session may be reached, e.g., when the stop time is reached, when a predefined final waypoint is reached, etc. Upon reaching the end of the equidistant triggered session, H-SLP 130 and SET 110 may terminate the session.
  • H-SLP 130 may send a SUPL END message to SET 110 (step Q), or SET 110 may send a SUPL END message to H-SLP 130 (not shown in FIG. 3 ). H-SLP 130 may also notify SUPL agent 140 of the session end. Alternatively, each entity may autonomously determine the end of the session and terminate the session without exchanging any signaling.
  • the relative SET to SET triggered service may periodically determine the location of a target SET and the location of a reference SET and may report location information when the target SET has entered or left a moving geographical target area centered at the reference SET location.
  • a SUPL agent may initiate the relative SET to SET triggered service, identify the target and reference SETs, and provide applicable parameters.
  • FIG. 4 shows a geographical target area 410 for the relative SET to SET triggered service.
  • the geographical target area may be centered at the location of the reference SET and may be a circular area defined by a radius of r from the reference SET location.
  • the geographical target area may move in sync with the location of the reference SET.
  • the geographical target area may be defined with any shape, e.g., with a more complex polygon.
  • the geographical target area may also be (i) two dimensional and defined by horizontal location or (ii) three dimensional and defined by both horizontal location and altitude.
  • a mother and a child may be in a shopping mall.
  • the mother may want to be notified whenever the child moves outside a 30 yard radius area around her, which may be referred to as a “lost child” scenario.
  • the mother may carry a reference terminal, and the child may carry a target terminal.
  • a geographical target area may be defined as a circular area with radius r centered at the mother's location.
  • the geographical target area may follow the mother's movement, i.e., moves around with the mother.
  • the SUPL agent may be notified.
  • the SUPL agent may then notify the mother that the child has left the geographical target area, e.g., is lost.
  • This example may also be supported when the roles of the terminals are reversed, with the mother carrying the target terminal and the child carrying the reference terminal.
  • FIG. 5 shows a design of a message flow 500 for relative SET to SET triggered service.
  • SUPL agent 140 may desire to know the location of target SET 110 relative to a moving geographical target area defined by the location of reference SET 112 and may send a location request with an indication of relative SET to SET trigger to H-SLP 130 (step A).
  • H-SLP 130 may then communicate with target UE 110 and reference SET 112 to establish a relative SET to SET triggered session (steps B and C).
  • target SET 110 may check for trigger events and initiate reporting.
  • H-SLP 130 may check for trigger events and initiate reporting.
  • any entity may be designated to perform the check and to initiate reporting.
  • the designated entity may be provided with the location of SETs 110 and 112 , the trigger parameters, and/or other pertinent information. For clarity, much of the description below assumes that target SET 110 is the designated entity.
  • the location of reference SET 112 may be determined, e.g., with the SET-based mode or the SET-assisted mode (step D).
  • the location of reference SET 112 may be provided to H-SLP 130 (step E), which may forward the location to target SET 110 (step F).
  • the location of reference SET 112 may be provided directly by reference SET 112 to target SET 110 , without going through H-SLP 130 (as shown by a dashed line in FIG. 5 ).
  • the location of target SET 110 may also be determined, e.g., with the SET-based mode or the SET-assisted mode (step G).
  • Target SET 110 may check whether a trigger event has occurred based on the locations of SETs 110 and 112 and the trigger parameters defining the geographical target area (step H).
  • a trigger event may occur if target SET 110 is or has moved inside or outside of the geographical target area.
  • target SET 110 may report to H-SLP 130 that a trigger event has occurred (step I).
  • the report may include the current location of target SET 110 , the current location of reference SET 112 , the location of target SET 110 relative to reference SET 112 (e.g., 50 meters east), and/or other information.
  • H-SLP 130 may then send a trigger response to inform SUPL agent 140 that a trigger event has occurred (step J).
  • the response may include some or all of the information provided in the trigger report from SET 110 . If a trigger event has not occurred, then steps I and J may be skipped.
  • Steps D through J may be for one processing cycle. Additional processing cycles may be performed in similar manner (step K). Each processing cycle may include steps to determine the current location of reference SET 112 , determine the current location of target SET 110 , and determine whether a trigger event has occurred. The location of reference SET 112 may be determined at the same or different rate as the location of target SET 110 . Trigger event reporting by target SET 110 and trigger response by H-SLP 130 may be initiated if a trigger event has occurred and may be skipped otherwise. The end of the relative SET to SET triggered session may be reached, e.g., when a stop time is reached, etc. Upon reaching the end of the session, H-SLP 130 and SETs 110 and 112 may terminate the session (steps L and M).
  • the initial locations of both SETs 110 and 112 may be obtained in steps D and G, and subsequent locations may be obtained using the location of each SET relative to these initial locations.
  • Relative locations may also be obtained using sensors in each SET, which may require less signaling and processing resources to obtain and may be obtained at short intervals.
  • FIG. 6 shows a design of a message flow 600 for relative SET to SET triggered service using SUPL messages.
  • SUPL agent 140 may desire to know the location of target SET 110 relative to a moving geographical target area defined by the location of reference SET 112 and may send an MLP TLRR message to H-SLP 130 (step A).
  • the MLP TLRR message may include the SUPL agent identity (client-id), the target SET identity (target ms-id), the reference SET identity (ref ms-id), an indication of relative SET to SET triggered service being requested, trigger parameters, etc.
  • the trigger parameters may include information regarding the geographical target area around the reference SET (e.g., radius r), trigger event information (e.g., inside, outside, entering, or leaving the target area), session duration (e.g., start time, stop time, etc.), and/or other information that may be used to determine trigger events for reporting.
  • trigger event information e.g., inside, outside, entering, or leaving the target area
  • session duration e.g., start time, stop time, etc.
  • H-SLP 130 may authenticate and authorize SUPL agent 140 for the relative SET to SET triggered service. H-SLP 130 may also perform notification and/or verification with SETs 110 and 112 . For example, H-SLP 130 may obtain approval from the user of reference SET 112 to allow the location of reference SET 112 to be determined and possibly shared with target SET 110 , H-SLP 130 , and/or SUPL agent 140 . H-SLP 130 may also obtain approval from the user of target SET 110 to allow the location of target SET 110 to be determined and possibly shared with reference SET 112 , H-SLP 130 , and/or SUPL agent 140 . The relative SET to SET triggered service may also dynamically take into account modifications of the privacy settings of each SET user.
  • H-SLP 130 may look up SETs 110 and 112 and obtain routing information for these SETs (step B). H-SLP 130 may send a SUPL INIT message to reference SET 112 to initiate a SUPL session for the relative SET to SET triggered service (step C). SET 112 may receive the SUPL INIT message and may attach itself or establish a data connection (step D). SET 112 may evaluate notification rules and follow appropriate actions. SET 112 may then send a SUPL TRIGGERED START message to start the relative SET to SET triggered session with H-SLP 130 (step E). H-SLP 130 may receive the SUPL TRIGGERED START message from SET 112 and may select a positioning method to use for SET 112 .
  • H-SLP 130 may then send to SET 112 a SUPL TRIGGERED RESPONSE message that may include the session ID, the selected positioning method, the trigger parameters, etc. (step F). H-SLP 130 may similarly perform steps C through F for target SET 110 (step G). H-SLP 130 may send an MLP TLRA message to inform SUPL agent 140 that the relative SET to SET triggered service has been accepted (step H).
  • target SET 110 may perform steps I, J and K, as necessary, to obtain assistance data from H-SLP 130 or to determine its location for the SET-assisted mode. Steps I, J and K may be performed as described above for steps H, I and J, respectively, in FIG. 3 .
  • target SET 110 may check for a trigger event and initiate reporting.
  • H-SLP 130 may check for a trigger event and initiate reporting.
  • reference SET 112 may check for a trigger event and initiate reporting.
  • any entity or any combination of entities may be designated to perform the check and initiate reporting. The designated entity or entities may be provided with the current locations of SETs 110 and 112 and the trigger parameters. For clarity, the description below assumes that target SET 110 checks for a trigger event and initiates reporting.
  • Reference SET 112 may determine its location (step L) and may send a SUPL REPORT message with its current location to H-SLP 130 (step M).
  • target SET 110 may send a SUPL POSITION REQUEST message to H-SLP 130 to request for the current location of reference SET (step N).
  • H-SLP 130 may forward the current location of reference SET 112 in a SUPL REPORT message to target SET 110 (step O).
  • the pull mechanism may allow target SET 110 to request for location information at its convenience, e.g., when target SET 110 has an open connection.
  • H-SLP 130 may forward the location of reference SET 112 whenever it is received from SET 112 .
  • Target SET 110 may determine its location (step P). Target SET 110 may compare its current location against the current location of reference SET 112 and may determine whether it is within or outside or has moved into or out of the geographical target area defined by the current location of reference SET 112 (step Q). If a trigger event has occurred, then target SET 110 may send a SUPL REPORT message with an indication of an event trigger and possibly its current location and/or the location of reference SET 112 to H-SLP 130 (step R).
  • H-SLP 130 may then send to SUPL agent 140 an MLP TLREP message that may include the request ID, an event trigger indication, and possibly other information such as the location of target SET 110 , the location of reference SET 112 , the date and time for each location, the positioning method used to determine each location, and/or other information (step S).
  • Target SET 110 may be informed of a trigger event relative to the location of reference SET 112 , e.g., triggered by target SET 110 .
  • Reference SET 112 may also be informed of a triggered event relative to its own position, e.g., triggered by target SET 110 .
  • Steps L through S are for one processing cycle. Additional processing cycles may be performed in similar manner (step T). Each processing cycle may include steps to determine the current location of each SET and to determine whether a trigger event has occurred. Reporting may be initiated (e.g., in steps R and S) if a trigger event has occurred and may be skipped otherwise. The end of the relative SET to SET triggered session may be reached, e.g., when the stop time is reached, etc. Upon reaching the end of the session, H-SLP 130 , target SET 110 , and reference SET 112 may terminate the session. H-SLP 130 may send a SUPL END message to each SET (steps U and V). A SET may also send a SUPL END message. H-SLP 130 may also notify SUPL agent 140 of the session end.
  • the relative SET to SET triggered service may be used to periodically monitor the movement of a target terminal in relation to a geographical target area with a reference terminal as its center.
  • the geographical target area may be defined relative to the reference terminal (and not the target terminal, as is the case for other triggered services) and may move in sync with the reference terminal.
  • a notification may be sent to a third party (e.g., SUPL agent 140 ) whenever the target terminal is within or outside, enters or leaves the geographical target area.
  • the third party may send a location request to a location server (e.g., H-SLP 130 ).
  • the location server may start a position determination procedure with both the target and reference terminals.
  • the location of the reference terminal may be periodically determined and compared with the location of the target terminal to enable detection of the target terminal being inside or outside, entering or leaving of the geographical target area around the reference terminal. Whenever this trigger event is detected, the location server may notify the location client and possibly the target terminal and/or the reference terminal.
  • the velocity triggered service may periodically determine whether the velocity of a target SET has reached a predefined velocity (i.e., a velocity level) and may report the velocity when a trigger event is detected.
  • a SUPL agent may initiate the velocity triggered service, identify the target SET, and provide applicable parameters.
  • Velocity may include speed and/or bearing.
  • Speed may indicate how fast a SET is moving, and bearing may indicate which direction the SET is moving.
  • a trigger criterion may be defined based on only speed, or only bearing, or both speed and bearing.
  • a trigger criterion may be defined to send a report (i) when a truck reaches a speed of 70 mph, or (ii) when the truck is heading north, or (iii) when the truck is heading north at more than 70 mph.
  • a trigger criterion may also be defined for increasing and/or decreasing speed. For example, a report may be sent when the truck reaches 70 mph (starting from a stop light). The truck may accelerate further and reach 90 mph.
  • velocity used for the velocity triggered service may refer to only speed, or only bearing, or both speed and bearing.
  • Various trigger criteria may also be used for the velocity triggered service.
  • a velocity trigger may be defined in various manners.
  • a velocity trigger may occur when the velocity of the target SET first drops below a lower level and thereafter meets or exceeds a predefined velocity.
  • the lower level may be defined based on the predefined velocity, e.g., may be a certain margin below the predefined velocity.
  • a truck may start at a traffic light and thereafter reach a predefined velocity of 70 mph, which may be defined based on a speed limit of 65 mph plus a 5 mph margin.
  • a velocity trigger may occur when the truck first reaches 70 mph, and no velocity trigger may occur as long as the truck keeps speeding above the lower level.
  • the lower level may be 60 mph, which may be defined based on the 65 mph speed limit minus a 5 mph margin.
  • Another velocity trigger may occur if the truck slows down below the lower level of 60 mph and then meets or exceeds the predefined velocity of 70 mph.
  • a velocity trigger may occur if the velocity of the target SET exceeds the predefined velocity, but may be limited to at most one velocity trigger in each predefined time interval. For the example above, a velocity trigger may occur every predefined time interval of 5 minutes in which the truck meets or exceeds the predefined velocity.
  • a velocity trigger may also be defined in other manners.
  • FIG. 7 shows a design of a message flow 700 for velocity triggered service using SUPL messages.
  • SUPL agent 140 may desire to know whenever the velocity of target SET 110 has reached a target velocity and may send an MLP TLRR message to H-SLP 130 (step A).
  • the MLP TLRR message may include the SUPL agent identity, the target SET identity, an indication of velocity triggered service being requested, trigger parameters, etc.
  • the trigger parameters may include the target velocity, start time, stop time, etc.
  • H-SLP 130 may authenticate and authorize SUPL agent 140 for the velocity triggered service.
  • H-SLP 130 may also perform notification and/or verification with target SET 110 .
  • the velocity triggered service may also dynamically take into account modifications of the privacy settings of the target SET user.
  • H-SLP 130 may look up SET 110 and obtain routing information for the SET (step B). H-SLP 130 may send a SUPL INIT message to SET 110 to initiate a SUPL session for the velocity triggered service (step C). SET 110 may receive the SUPL INIT message and attach itself or establish a data connection (step D). SET 110 may evaluate notification rules and follow appropriate actions. SET 110 may then send a SUPL TRIGGERED START message to start the velocity triggered session with H-SLP 130 (step E).
  • H-SLP 130 may receive the SUPL TRIGGERED START message, select a positioning method to use for SET 110 , and return a SUPL TRIGGERED RESPONSE message that may include the session ID, the selected positioning method, the trigger parameters, etc. (step F). H-SLP 130 may send an MLP TLRA message to inform SUPL agent 140 that the velocity triggered service has been accepted (step G).
  • H-SLP 130 and target SET 110 may thereafter collaborate to detect for occurrence of a trigger event.
  • the velocity of SET 110 may be determined periodically (e.g., every X seconds) during the session.
  • a SET may autonomously make measurements and determine its velocity.
  • a SET may interact with H-SLP 130 to determine its velocity.
  • the velocity of SET 110 may be determined solely by SET 110 , by SET 110 with assistance from H-SLP 130 , by H-SLP 130 with assistance from SET 110 , etc.
  • Target SET 110 may perform steps H, I and J, as necessary, to obtain assistance data from H-SLP 130 or to determine its velocity for the SET-assisted mode.
  • target SET 110 may check for a trigger event and initiate reporting.
  • SET 110 may determine its velocity (step K).
  • SET 110 may compare its current velocity against the target velocity and may determine whether the current velocity has exceeded the target velocity (step L). If a trigger event has occurred, then target SET 110 may send a SUPL REPORT message with an indication of a trigger event and possibly its velocity to H-SLP 130 (step M).
  • H-SLP 130 may then send to SUPL agent 140 an MLP TLREP message that may include the request ID, a trigger event indication, the velocity of SET 110 , the location of SET 110 , etc. (step N).
  • H-SLP 130 may check for a trigger event and initiate reporting. In general, any entity may be designated to perform the check and initiate reporting. The designated entity may be provided with the velocity of SET 110 and the trigger parameters.
  • Steps K through N are for one processing cycle. Additional processing cycles may be performed in similar manner (step O). Each processing cycle may include steps to determine the velocity of SET 110 and to determine whether a trigger event has occurred. Reporting may be initiated if a trigger event has occurred and may be skipped otherwise. The end of the velocity triggered session may be reached, e.g., when the stop time is reached, etc. Upon reaching the end of the velocity triggered session, H-SLP 130 and SET 110 may terminate the session. H-SLP 130 may send a SUPL END message to SET 110 (step P). H-SLP 130 may also notify SUPL agent 140 of the session end.
  • the velocity triggered service may be used to periodically monitor a target terminal and send a notification to a third party (e.g., SUPL agent 140 ) whenever the velocity of the target terminal reaches a predefined level.
  • the third party may send a location request to a location server (e.g., H-SLP 130 ).
  • the location server in collaboration with the target terminal may start a position and velocity determination procedure. The procedure may allow for detection of the terminal velocity exceeding the predefined level. Whenever this trigger event is detected, the location server may notify the location client.
  • This service may be used, e.g., by an operations center of a trucking company that may want to know whenever their trucks exceed 70 mph. This service may also be used by an insurance company to verify that its policy holders generally adhere to local speed limits, e.g., which may then entitle the policy holder to lower insurance premium.
  • the T-D-V combination triggered service may support trigger events defined based on a combination of elapsed time since last report, distance traveled since last report, and maximum velocity reached since last report.
  • the T-D-V combination triggered service may also support other combinations of elapsed time, distance traveled, maximum velocity, and/or other parameters.
  • a T-D-V combination trigger (or trigger condition) may be defined based on one of the following functions of time, distance, and velocity:
  • a Boolean expression may return a true or false output based on a function of its input parameters.
  • Expressions for velocity trigger may be defined in similar manner. Once any trigger condition occurs, it may remain valid until the next report. This would prevent a trigger from occurring and then later disappearing, until after a new report is sent.
  • a combo trigger function may be defined as follows:
  • T is the time elapsed since the last report was sent
  • D is the distance traveled since the last report
  • V is the maximum speed since the last report.
  • the traveled distance D may be computed as (i) a sum of incremental distances between location measurements or (ii) the distance to the location in the last report.
  • variables T, D for case (i), and V may all be increasing functions of time.
  • a combo trigger function may then be defined as follows:
  • different predefined time values may be used with different predefined values for D and V.
  • the Boolean expressions above may include or may depend on the current location of the SET, a set of SET locations since the last report, the current time or the time period since the last report, etc. This may be used to set different predefined values for distance traveled, maximum velocity, and time until the next report. For example, a trucking company may adjust a predefined maximum velocity according to a prevailing (e.g., maximum) speed limit for the locations traveled since the last report.
  • the company may also adjust a predefined distance traveled according to the type of route, e.g., using a higher predefined distance for a truck traveling along a major highway.
  • the company may also adjust a predefined time interval according to the time of day, e.g., using a smaller interval for busy travel periods in a day and a longer interval for less busy periods such as evenings and nights.
  • FIG. 8 shows a design of a message flow 800 for the T-D-V combination triggered service using SUPL messages.
  • SUPL agent 140 may desire to know location and/or velocity information for target SET 110 and may send an MLP TLRR message to H-SLP 130 (step A).
  • the MLP TLRR message may include the SUPL agent identity, the target SET identity, an indication of T-D-V combination triggered service being requested, trigger parameters, etc.
  • the trigger parameters may include T, D and/or V parameters, the desired combo trigger function, e.g., [(T ⁇ T1) AND (D ⁇ D1)) OR (V ⁇ V1)]), start time, stop time, etc.
  • H-SLP 130 may authenticate and authorize SUPL agent 140 for the T-D-V combination triggered service.
  • H-SLP 130 may also perform notification and/or verification with target SET 110 .
  • the T-D-V combination triggered service may also dynamically take into account modifications of the privacy settings of the target SET user.
  • H-SLP 130 may look up SET 110 and obtain routing information for the SET (step B). H-SLP 130 may send a SUPL INIT message to SET 110 to initiate a SUPL session for the T-D-V combination triggered service (step C). SET 110 may receive the SUPL INIT message and attach itself or establish a data connection (step D). SET 110 may evaluate notification rules and follow appropriate actions. SET 110 may then send a SUPL TRIGGERED START message to start the T-D-V combination triggered session with H-SLP 130 (step E).
  • H-SLP 130 may receive the SUPL TRIGGERED START message, select a positioning method to use for SET 110 , and return a SUPL TRIGGERED RESPONSE message that may include the session ID, the selected positioning method, the trigger parameters, etc. (step F). H-SLP 130 may send an MLP TLRA message to inform SUPL agent 140 that the T-D-V combination triggered service has been accepted (step G).
  • Target SET 110 may perform steps H, I and J, as necessary, to obtain assistance data from H-SLP 130 , or to determine its location and/or velocity for the SET-assisted mode. H-SLP 130 and target SET 110 may collaborate to detect for occurrence of a trigger event. The location and/or velocity of SET 110 may be determined periodically (e.g., every X seconds) during the session. In one design, SET 110 may autonomously make measurements and determine its location and/or velocity (step K). In another design, SET 110 may interact with H-SLP 130 to determine its location and/or velocity (e.g., using steps H, I and J in FIG. 8 ). In general, the location and/or velocity of SET 110 may be determined solely by SET 110 , by SET 110 with assistance from H-SLP 130 , by H-SLP 130 with assistance from SET 110 , etc.
  • target SET 110 may check for a trigger event and initiate reporting.
  • SET 110 may determine the current T, D and V values and may logically combine these values in accordance with the combo trigger function to determine whether a trigger event has occurred (step L). If a trigger event has occurred, then target SET 110 may send a SUPL REPORT message with an trigger event indication and possibly its location and/or velocity to H-SLP 130 (step M). In another design, H-SLP 130 may check for a trigger event and initiate reporting.
  • H-SLP 130 may send to SUPL agent 140 an MLP TLREP message that may include the request ID, a trigger event indication, the location and/or velocity of SET 110 , the conditions for the trigger that had occurred, and/or other information (step N).
  • Steps K through N are for one processing cycle. Additional processing cycles may be performed in similar manner (step O). Each processing cycle may include steps to determine the location and/or velocity of SET 110 , to update the distance traveled by SET 110 , and to determine whether a trigger event has occurred. Reporting may be initiated if a trigger event has occurred and may be skipped otherwise.
  • H-SLP 130 and SET 110 may terminate the session.
  • H-SLP 130 may send a SUPL END message to SET 110 (step P).
  • H-SLP 130 may also notify SUPL agent 140 of the session end.
  • the T-D-V combination triggered service may be used to periodically monitor a target terminal and send a notification to a third party (e.g., SUPL agent 140 ) whenever a trigger event based on time T, distance D, and/or velocity V occurs.
  • the third party may send a location request to a location server (e.g., H-SLP 130 ).
  • the location server and the target terminal may collaborate to detect for occurrence of a trigger event based on the location and/or velocity of the terminal. Whenever a trigger event is detected, the location server may notify the location client.
  • a SET to SET velocity service may enable a requesting SET to obtain the absolute or relative velocity of one or more target SETs on an ongoing basis (e.g., periodically, once, etc.) during a SET to SET velocity session.
  • a SUPL agent may reside in the requesting SET and may request the velocity of the target SET(s).
  • Each SET may be capable of executing a positioning procedure with an H-SLP and/or on its own.
  • the positioning procedure may provide location information, which may include the location and/or velocity of the SET.
  • FIG. 9 shows a design of a message flow 900 for SET to SET velocity service using SUPL messages.
  • SUPL agent 144 in requesting SET 114 may desire to know the velocity of target SET 110 . Since SUPL agent 144 resides in SET 114 , a SET initiated service may be used, and SUPL agent 144 may internally request SET 114 to initiate the SET to SET velocity service (step A). Requesting SET 114 may then communicate with H-SLP 130 to establish a SET-initiated triggered session (step B).
  • the session establishment in step B may include (i) SET 114 sending a SUPL TRIGGERED START message to H-SLP 130 and (ii) H-SLP 130 returning a SUPL TRIGGERED RESPONSE message to SET 114 .
  • the SUPL TRIGGERED START message may indicate SET to SET velocity service being requested and may also include information such as the requesting SET identity, the target SET identity, an indication of whether relative or absolute velocity is requested, start time and stop time of the session, number of fixes, interval between fixes, etc.
  • H-SLP 130 may authenticate and authorize SET 114 for the SET to SET velocity service.
  • SET 114 may acknowledge the request internally to SUPL agent 144 and may confirm that the requested service will be performed (step C).
  • H-SLP 130 may establish a location session with target SET 110 (steps D to H). This may include notification and/or verification with SET 110 .
  • H-SLP 130 may collaborate with requesting SET 114 and/or target SET 110 to determine the velocity of target SET 110 , determine the velocity of reference SET 114 , provide assistance to target SET 110 , and/or provide assistance to reference SET 114 during the session. H-SLP 130 may also be involved in sharing the velocity of target SET 110 with requesting SET 114 and/or the velocity of requesting SET 114 with target SET 110 during the session.
  • Target SET 110 may perform steps I, J and K, as necessary, to obtain assistance data from H-SLP 130 or to determine its velocity for the SET-assisted mode.
  • reference SET 114 may perform steps I, J and K, as necessary, to obtain assistance data from H-SLP 130 or to determine its velocity.
  • Target SET 110 may determine its velocity (step L) and may send a SUPL REPORT message with its velocity to H-SLP 130 (step M).
  • Requesting SET 114 may send a SUPL POSITION REQUEST message to H-SLP 130 to request for the velocity of target SET 110 (step N).
  • H-SLP 130 may forward the current velocity of target SET 110 in a SUPL REPORT message to requesting SET 114 (step O).
  • H-SLP 130 may also forward the velocity of target SET 110 whenever it is received from SET 110 .
  • Target SET 110 may also send its velocity directly to requesting SET 114 without interacting with H-SLP 130 (e.g., as indicated by a dashed line in FIG. 9 ).
  • requesting SET 114 may provide the velocity of target SET 110 to SUPL agent 144 (step P).
  • Steps L through P are for one processing cycle. Additional processing cycles may be performed in similar manner (step Q). Each processing cycle may include steps to determine the velocity of target SET 110 and to provide the velocity to requesting SET 114 . The end of the SET to SET velocity session may be reached, e.g., when the stop time is reached, etc. Upon reaching the end of the session, H-SLP 130 , requesting SET 114 , and target SET 110 may terminate the session. H-SLP 130 may send a SUPL END message to target SET 110 (step R). H-SLP 130 may also notify requesting SET 114 of the session end, and SET 114 may then notify SUPL agent 144 .
  • FIG. 9 shows a case in which requesting SET 114 requests for the velocity of one target SET 110 .
  • Requesting SET 114 may also request for the velocity of multiple target SETs.
  • Each target SET may perform processing as shown in FIG. 9 for target SET 110 .
  • requesting SET 114 may determine its velocity relative to target SET 110 by exchanging signals (e.g., radio signals or infrared signals) directly with target SET 110 .
  • Either SET may measure a round trip signal propagation delay and may obtain a straight line distance between the SETs based on the signal measurement. By repeating the signal measurement and distance calculation at short intervals, either SET may obtain the relative velocity of one SET with respect to the other.
  • the signals exchanged between the SETs include a fixed and known frequency component or some marker within the signal that is repeated at fixed known intervals, then either SET may obtain its relative velocity with respect to the other SET by measuring the change in frequency of the frequency component or periodic marker. This signal exchange and measurement procedure may replace steps I to L in FIG. 9 for both SETs.
  • FIGS. 3 and 6 - 9 show exemplary message flows for different location services using SUPL messages.
  • the message flows may be varied.
  • SUPL agent 140 may request H-SLP 130 to terminate an ongoing session.
  • H-SLP 130 , SET 110 , and/or SET 112 may also decide to terminate an ongoing session.
  • H-SLP 130 , SET 110 , and SET 112 may take action to terminate the session.
  • SUPL agent 140 , H-SLP 130 , SET 110 , or SET 112 may request that the service be paused. In this case, position determination and trigger events detection may be paused (i.e., not performed) until a request for resumption of the service is made by the entity requesting the pause.
  • the location services described herein may allow a SUPL agent to obtain location information for a target SET with a single location request to an H-SLP instead of making multiple requests and evaluating the results.
  • the triggered location services may reduce the number of location requests and may greatly reduce the amount of signaling and processing for all affected entities such as the SUPL agent, the H-SLP, and the target SET.
  • FIG. 10 shows a design of a process 1000 for supporting triggered location services.
  • Process 1000 may be performed by a terminal/SET, an H-SLP, or some other entity.
  • At least one location related measurement for a terminal may be obtained (block 1012 ).
  • Each location related measurement may be for the distance traveled by the terminal, or the velocity of the terminal, or the location of the terminal relative to a moving geographical target area.
  • Whether a trigger event has occurred may be determined based on the at least one location related measurement for the terminal (block 1014 ).
  • a report may be sent if a trigger event has occurred (block 1016 ).
  • the at least one location related measurement may be for the distance traveled by the terminal.
  • the distance traveled by the terminal may be determined in various manners. In one design, the distance traveled may be determined by (i) periodically determining the location of the terminal and (ii) accumulating the incremental distances between successive locations of the terminal since a last trigger event (or the start of the triggered session). In another design, the distance traveled may be determined based on the distance between the current location of the terminal and a starting location, which may be the location of the terminal at the last trigger event. In yet another design, the distance traveled may be determined based on the distance between the current location of the terminal and the starting location along a particular route.
  • This particular route may be along a straight line trajectory or a more complex route.
  • the distance traveled by the terminal may also be determined in other manners. In any case, whether a trigger event has occurred may be determined based on the distance traveled by the terminal. For example, a trigger event may be declared if the distance traveled by the terminal exceeds a predefined distance.
  • the at least one location related measurement may be for the location of the terminal relative to a moving geographical target area.
  • the moving geographical target area may be determined based on the location of a reference terminal.
  • the moving geographical target area may be a circular area centered at the location of the reference terminal and having a predefined radius.
  • Whether a trigger event has occurred may be determined based on the location of the terminal relative to the moving geographical target area.
  • a trigger event may be declared if the location of the terminal matches a criterion with respect to the moving geographical target area. The criterion may be inside, outside, entering or leaving the moving geographical target area.
  • the at least one location related measurement for the terminal may be for the velocity of the terminal.
  • Velocity may include only speed, or only bearing, or both speed and bearing. Whether a trigger event has occurred may be determined based on the velocity of the terminal. For example, the velocity of the terminal may be determined periodically. A trigger event may be declared if the velocity of the terminal at any time since the last trigger event meets or exceeds a predefined velocity.
  • the at least one location related measurement may be for the distance traveled by the terminal and the velocity of the terminal Whether a trigger event has occurred may be determined based on the distance traveled by the terminal, the velocity of the terminal, and/or elapsed time since the last trigger event. For example, multiple expressions may be determined. Each expression may be for the distance traveled by the terminal relative to a predefined distance, or a maximum velocity of the terminal relative to a predefined velocity, or elapsed time relative to a predefined time. Whether a trigger event has occurred may be determined based on a function of the multiple expressions.
  • FIG. 11 shows a design of a process 1100 for supporting SET to SET velocity service.
  • Process 1100 may be performed by a first terminal/SET.
  • the first terminal may send a request for the velocity of a second terminal, e.g., to a location center such as an H-SLP (block 1112 ).
  • the first terminal may thereafter receive the velocity of the second terminal, e.g., from the location center, or directly from the second terminal without going through the location center (block 1114 ).
  • the first terminal may receive the velocity of the second terminal either once or a plurality of times (e.g., periodically) in response to the request.
  • FIG. 12 shows a block diagram of a design of terminal/SET 110 , wireless network 120 , and location server/H-SLP 130 in FIG. 1 .
  • FIG. 12 shows one or more controller/processors 1210 , one memory 1212 , and one transmitter/receiver (TMTR/RCVR) 1214 for terminal 110 , one or more controller/processors 1220 , one memory 1222 , one transmitter/receiver 1224 , and one communication (Comm) unit 1226 for wireless network 120 , and one or more controller/processors 1230 , one memory 1232 , and one communication unit 1234 for H-SLP 130 .
  • TMTR/RCVR transmitter/receiver
  • Comm communication
  • each entity may include any number of processors, controllers, memories, transmitters/receivers, communication units, etc.
  • Terminal 110 may support communication with one or more wireless and/or wireline networks.
  • Terminal 110 may also receive and process signals from one or more satellite positioning systems, e.g., GPS, Galileo, etc.
  • wireless network 120 may transmit traffic data, signaling, and pilot to terminals within its coverage area. These various types of information may be processed by processor(s) 1220 , conditioned by transmitter 1224 , and transmitted on the downlink.
  • downlink signals from wireless network 120 may be received and conditioned by receiver 1214 and further processed by processor(s) 1210 to obtain various types of information.
  • Processor(s) 1210 may perform process 1000 in FIG. 10 , process 1100 in FIG. 11 , and/or other processes for the techniques described herein.
  • Processor(s) 1210 may also perform processing for any SET in FIGS. 2 , 3 and 5 - 9 .
  • Memories 1212 and 1222 may store program codes and data for terminal 110 and wireless network 120 , respectively.
  • terminal 110 may transmit traffic data, signaling, and pilot to wireless network 120 . These various types of information may be processed by processor(s) 1210 , conditioned by transmitter 1214 , and transmitted on the uplink.
  • processor(s) 1210 may be processed by processor(s) 1210 , conditioned by transmitter 1214 , and transmitted on the uplink.
  • the uplink signals from terminal 110 and other terminals may be received and conditioned by receiver 1224 and further processed by processor(s) 1220 to obtain various types of information from the terminals.
  • Wireless network 120 may directly or indirectly communicate with H-SLP 130 via communication unit 1226 .
  • processor(s) 1230 may perform processing to support location services for terminals. For example, processor(s) 1230 may perform process 1000 in FIG. 10 and/or other processes for the techniques described herein. Processor(s) 1230 may also perform processing for H-SLP 130 in FIGS. 2 , 3 and 5 - 9 . Processor(s) 1230 may also compute location estimates for terminal 110 , provide location information to SUPL agent 140 , etc. Memory 1232 may store program codes and data for H-SLP 130 . Communication unit 1234 may allow H-SLP 130 to communicate with wireless network 120 , terminal 110 , and/or other network entities. H-SLP 130 and terminal 110 may exchange messages via a user plane (e.g., SUPL), and these messages may be transported by wireless network 120 .
  • a user plane e.g., SUPL
  • a WWAN may be a Code Division Multiple Access (CDMA) network, a Time Division Multiple Access (TDMA) network, a Frequency Division Multiple Access (FDMA) network, an Orthogonal Frequency Division Multiple Access (OFDMA) network, a Single-Carrier Frequency Division Multiple Access (SC-FDMA) network, a Long Term Evolution (LTE) network, a WiMAX (IEEE 802.16) network and so on.
  • CDMA Code Division Multiple Access
  • TDMA Time Division Multiple Access
  • FDMA Frequency Division Multiple Access
  • OFDMA Orthogonal Frequency Division Multiple Access
  • SC-FDMA Single-Carrier Frequency Division Multiple Access
  • LTE Long Term Evolution
  • WiMAX IEEE 802.16
  • a CDMA network may implement one or more radio access technologies (RATs) such as cdma2000, Wideband-CDMA (W-CDMA), and so on.
  • Cdma2000 includes IS-95, IS-2000, and IS-856 standards.
  • a TDMA network may implement Global System for Mobile Communications (GSM), Digital Advanced Mobile Phone System (D-AMPS), or some other RAT.
  • GSM and W-CDMA are described in documents from a consortium named “3rd Generation Partnership Project” (3GPP).
  • Cdma2000 is described in documents from a consortium named “3rd Generation Partnership Project 2” (3GPP2).
  • 3GPP and 3GPP2 documents are publicly available.
  • a WLAN may be an IEEE 802.11x network
  • a WPAN may be a Bluetooth network, an IEEE 802.15x, or some other type of network.
  • the techniques may also be implemented in conjunction with any combination of WWAN, WLAN and/or WPAN.
  • a satellite positioning system typically includes a system of transmitters positioned to enable entities to determine their location on or above the Earth based, at least in part, on signals received from the transmitters.
  • Such a transmitter typically transmits a signal marked with a repeating pseudo-random noise (PN) code of a set number of chips and may be located on ground based control stations, user equipment and/or space vehicles. In a particular example, such transmitters may be located on Earth orbiting satellite vehicles (SVs).
  • PN pseudo-random noise
  • a SV in a constellation of Global Navigation Satellite System such as Global Positioning System (GPS), Galileo, Glonass or Compass may transmit a signal marked with a PN code that is distinguishable from PN codes transmitted by other SVs in the constellation (e.g., using different PN codes for each satellite as in GPS or using the same code on different frequencies as in Glonass).
  • GNSS Global Navigation Satellite System
  • GPS Global Positioning System
  • Glonass Compass
  • PN codes e.g., using different PN codes for each satellite as in GPS or using the same code on different frequencies as in Glonass.
  • the techniques presented herein are not restricted to global systems (e.g., GNSS) for SPS.
  • the techniques provided herein may be applied to or otherwise enabled for use in various regional systems, such as, e.g., Quasi-Zenith Satellite System (QZSS) over Japan, Indian Regional Navigational Satellite System (IRNSS) over India, Beidou over China, etc., and/or various augmentation systems (e.g., an Satellite Based Augmentation System (SBAS)) that may be associated with or otherwise enabled for use with one or more global and/or regional navigation satellite systems.
  • QZSS Quasi-Zenith Satellite System
  • IRNSS Indian Regional Navigational Satellite System
  • SBAS Satellite Based Augmentation System
  • an SBAS may include an augmentation system(s) that provides integrity information, differential corrections, etc., such as, e.g., Wide Area Augmentation System (WAAS), European Geostationary Navigation Overlay Service (EGNOS), Multi-functional Satellite Augmentation System (MSAS), GPS Aided Geo Augmented Navigation or GPS and Geo Augmented Navigation system (GAGAN), and/or the like.
  • WAAS Wide Area Augmentation System
  • GNOS European Geostationary Navigation Overlay Service
  • MSAS Multi-functional Satellite Augmentation System
  • GPS Aided Geo Augmented Navigation or GPS and Geo Augmented Navigation system (GAGAN), and/or the like such as, e.g., a Global Navigation Satellite Navigation System (GNOS), and/or the like.
  • SPS may include any combination of one or more global and/or regional navigation satellite systems and/or augmentation systems, and SPS signals may include SPS, SPS-like, and/or other signals associated with such one or more SPS.
  • a terminal refers to a device such as a cellular or other wireless communication device, personal communication system (PCS) device, personal navigation device (PND), Personal Information Manager (PIM), Personal Digital Assistant (PDA), laptop or other suitable mobile device which is capable of receiving wireless communication and/or navigation signals.
  • the term “terminal” is also intended to include devices which communicate with a personal navigation device (PND), such as by short-range wireless, infrared, wireline connection, or other connection—regardless of whether satellite signal reception, assistance data reception, and/or position-related processing occurs at the device or at the PND.
  • PND personal navigation device
  • terminal is intended to include all devices, including wireless communication devices, computers, laptops, etc.
  • a server which are capable of communication with a server, such as via the Internet, Wi-Fi, femtocells, or other network, and regardless of whether satellite signal reception, assistance data reception, and/or position-related processing occurs at the device, at a server, or at another device associated with the network. Any operable combination of the above are also considered a “terminal”.
  • the processors may be implemented with one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), general purpose processors, controllers, micro-controllers, microprocessors, state machines, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof, for example, one or more microprocessors in conjunction with a DSP core, a plurality of microprocessors, or any other suitable configuration.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • general purpose processors controllers, micro-controllers, microprocessors, state machines, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof, for example, one or more microprocessors in conjunction with a DSP core, a
  • firmware and/or software the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein.
  • firmware/software codes may be stored in a memory and executed by a processor/computer to cause the processor/computer to perform functions.
  • Memory may be implemented within the processor or external to the processor.
  • memory refers to any type of long term, short term, volatile, nonvolatile, or other memory and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
  • the functions may be stored as one or more instructions or code on a computer-readable medium. Examples include computer-readable media encoded with a data structure and computer-readable media encoded with a computer program. Computer-readable media may take the form of a computer program product. Computer-readable media includes physical computer storage media. A storage medium may be any available medium that can be accessed by a computer.
  • such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, semiconductor storage, or other storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer; disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
  • a communication apparatus may include a transceiver having signals indicative of instructions and data.
  • the instructions and data are configured to cause one or more processors to implement the functions outlined in the claims. That is, the communication apparatus includes transmission media with signals indicative of information to perform disclosed functions. At a first time, the transmission media included in the communication apparatus may include a first portion of the information to perform the disclosed functions, while at a second time the transmission media included in the communication apparatus may include a second portion of the information to perform the disclosed functions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Alarm Systems (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

An example method includes: obtaining a location of a reference mobile terminal; and either: (1) sending, to a target mobile terminal, the location of the reference mobile terminal and a trigger parameter associated with a trigger event, the trigger parameter defining a moving geographical target area; and receiving an indication that the trigger event has occurred; or (2) determining a location of the moving geographical target area; determining a location of the target mobile terminal relative to the moving geographical target area; and determining whether the trigger event has occurred; where the trigger event comprises the target mobile terminal being inside the moving geographical target area, being outside the moving geographical target area, entering the moving geographical target area, and/or leaving the moving geographical target area.

Description

    I. CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. application Ser. No. 12/702,159, filed Feb. 8, 2010, entitled “Triggered Location Services,” which claims the benefit of U.S. Provisional Application No. 61/151,089, filed Feb. 9, 2009, entitled “Triggered Location Services,” both of which are assigned to the assignee hereof and expressly incorporated herein by reference.
  • BACKGROUND
  • I. Field
  • The present disclosure relates generally to communication, and more specifically to techniques for supporting location services.
  • II. Background
  • It is often desirable, and sometimes necessary, to know the location of a terminal in a wireless network. The terms “location” and “position” are synonymous and are used interchangeably herein. For example, a user may utilize the terminal to browse through a website and may click on location sensitive content. The location of the terminal may then be determined and used to provide appropriate content to the user. There are many other scenarios in which knowledge of the location of the terminal is useful or necessary.
  • A message flow (which may also be called a call flow or a procedure) is typically executed in order to obtain location information (e.g., a location estimate) for the terminal and to send the location information to a client entity. Various messages are typically exchanged between one or more network entities, the terminal, and the client entity for the message flow. These messages ensure that each entity is provided with pertinent information, or can obtain this information from another entity, in order to carry out positioning for the terminal and/or to deliver location information to the client entity. However, these messages add to the traffic at various network entities. The additional traffic may be especially great for location services in which location information may be periodically provided to the client entity. The messages may also extend the response time for sending the location information to the client entity.
  • SUMMARY
  • Techniques for supporting triggered location services are described herein. A triggered location service is a service in which a report with location information may be sent whenever a trigger event occurs. The trigger event may be defined in different manners for different triggered location services.
  • In one design of supporting a triggered location service, at least one location related measurement for a terminal may be obtained. Each location related measurement may be for the distance traveled by the terminal, or the velocity of the terminal, or the location of the terminal relative to a moving geographical target area. Whether a trigger event has occurred may be determined based on the at least one location related measurement for the terminal. A report may be sent if a trigger event has occurred.
  • In one design, for an equidistance triggered service, the at least one location related measurement may be for the distance traveled by the terminal, which may be determined in various manners as described below. Whether a trigger event has occurred may be determined based on the distance traveled by the terminal. For example, a trigger event may be declared if the distance traveled by the terminal exceeds a predefined distance.
  • In another design, for a relative terminal to terminal triggered service, the at least one location related measurement may be for the location of the terminal relative to a moving geographical target area. The moving geographical target area may be determined based on the location of a reference terminal. A trigger event may be declared if the location of the terminal matches a criterion with respect to the moving geographical target area. The criterion may be inside, outside, entering or leaving the moving geographical target area.
  • In yet another design, for a velocity triggered service, the at least one location related measurement may be for the velocity of the terminal. Whether a trigger event has occurred may be determined based on the velocity of the terminal. For example, the velocity of the terminal may be determined periodically, and the maximum velocity of the terminal since the last trigger event may be determined. A trigger event may be declared if the maximum velocity exceeds a predefined velocity.
  • In yet another design, for a time-distance-velocity (T-D-V) combination triggered service, the at least one location related measurement may be for the distance traveled by the terminal and the velocity of the terminal Whether a trigger event has occurred may be determined based on the distance traveled by the terminal, the velocity of the terminal, and/or elapsed time since the last trigger event. For example, multiple expressions may be determined Each expression may be for the distance traveled by the terminal relative to a predefined distance, or the maximum velocity of the terminal relative to a predefined velocity, or the elapsed time relative to a predefined time. Whether a trigger event has occurred may be determined based on a function of the multiple expressions.
  • In yet another design, for a terminal to terminal velocity service, a first terminal may send a request for the velocity of a second terminal, e.g., to a location center. The first terminal may thereafter receive the velocity of the second terminal either once or a plurality of times (e.g., from the location center or the second terminal) in response to the request.
  • Other triggered location services are described below. Various aspects and features of the disclosure are also described in further detail below.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates an exemplary deployment supporting location services.
  • FIGS. 2 and 3 illustrate two message flows for the equidistance triggered service.
  • FIG. 4 illustrates a moving geographical target area.
  • FIGS. 5 and 6 illustrate two message flows for the relative terminal to terminal triggered service.
  • FIG. 7 illustrates a message flow for the velocity triggered service.
  • FIG. 8 illustrates a message flow for the T-D-V combination triggered service.
  • FIG. 9 illustrates a message flow for a terminal to terminal velocity service.
  • FIG. 10 illustrates a process for supporting triggered location services.
  • FIG. 11 illustrates a process for supporting the terminal to terminal velocity service.
  • FIG. 12 illustrates a block diagram of a terminal, a wireless network, and a location server.
  • DETAILED DESCRIPTION
  • Techniques for supporting triggered location services are described herein. These techniques may be used for terminals communicating with various wireless networks. The term “network” and “system” are often used interchangeably. For example, the techniques may be used for wireless networks defined by an organization named “3rd Generation Partnership Project” (3GPP) and wireless networks defined by an organization named “3rd Generation Partnership Project 2” (3GPP2).
  • The techniques may also be used for user plane and control plane location architectures/solutions. A user plane location architecture is a location architecture that sends messages for location services via a user plane. A user plane is a mechanism for carrying signaling and data for higher-layer applications and employing a user-plane bearer, which is typically implemented with standard protocols such as User Datagram Protocol (UDP), Transmission Control Protocol (TCP), and Internet Protocol (IP). A control plane location architecture is a location architecture that sends messages for location services via a control plane. A control plane is a mechanism for carrying signaling for higher-layer applications and is typically implemented with network-specific protocols, interfaces, and signaling messages. Messages supporting location services are carried as part of signaling in a control plane architecture and as part of data (from the network perspective) in a user plane architecture. The content of the messages may, however, be the same or similar in both user plane and control plane location architectures.
  • For clarity, certain aspects of the techniques are described below for Secure User Plane Location (SUPL) from Open Mobile Alliance (OMA). SUPL is applicable for 3GPP, 3GPP2 and WLAN networks and is described in publicly available documents from OMA. For clarity, SUPL terminology is used in much of the description below
  • FIG. 1 shows an exemplary deployment supporting location services. Terminals 110, 112 and 114 may communicate with a wireless network 120 to obtain communication services. A terminal may be stationary or mobile and may also be referred to as a mobile station (MS), a user equipment (UE), an access terminal (AT), a subscriber station, a station, etc. A terminal may be a cellular phone, a personal digital assistant (PDA), a handheld device, a wireless device, a laptop computer, a wireless modem, a cordless phone, a telemetry device, a tracking device, etc. A terminal may be referred to as a SUPL Enabled Terminal (SET) in SUPL. The terms “terminal” and “SET” are used interchangeably herein.
  • Wireless network 120 may be a wireless wide area network (WWAN), a wireless metropolitan area network (WMAN), a wireless local area network (WLAN), etc. A WWAN may be a Code Division Multiple Access (CDMA) 1X network, a Wideband CDMA (WCDMA) network, Global System for Mobile Communications (GSM) network, a Long Term Evolution (LTE) network, etc. A WMAN may implement IEEE 802.16, which is commonly referred to as WiMAX. A WLAN may implement IEEE 802.11 (which is commonly referred to as Wi-Fi), HiperLAN, etc.
  • A SET may receive and measure signals from satellites such as a satellite 150 to obtain pseudo-range measurements for the satellites. The satellites may be part of the United States Global Positioning System (GPS), the European Galileo system, the Russian GLONASS system, or some other satellite positioning system (SPS), or a combination of these systems. The pseudo-range measurements and the known locations of the satellites may be used to derive a location estimate for the SET. A location estimate may also be referred to as a position estimate, a position fix, etc. The SET may also receive and measure signals from base stations within wireless network 120 to obtain timing and/or signal strength measurements for the base stations. The timing and/or signal strength measurements and the known locations of the base stations may be used to derive a location estimate for the SET. In general, a location estimate may be derived based on measurements for satellites, base stations, pseudolites, and/or other transmitters and using one or a combination of positioning methods.
  • A Home SUPL Location Platform (H-SLP) 130 may communicate with SETs to support location services for the SETs. Location services may include any services based on or related to location information. Location services may include positioning, which is a process to determine a geographic or civil location estimate for a SET. Positioning may provide (i) latitude, longitude, and possibly altitude coordinates and an uncertainty for a geographic location estimate or (ii) a street address for a civil location estimate. Positioning may also provide velocity and/or other information. H-SLP 130 may include a SUPL Location Center (SLC) 132 and a SUPL Positioning Center (SPC) 134. SLC 132 may support location services, coordinate the operation of SUPL, and interact with SETs over user plane bearer. SLC 132 may perform functions for privacy, initiation, security, roaming support, charging/billing, service management, location calculation, etc. SPC 134 may support positioning for SETs and delivery of assistance data to the SETs and may also be responsible for messages and procedures used for location calculation. SPC 134 may perform functions for security, assistance data delivery, reference retrieval, location calculation, etc.
  • A SUPL agent 140 may be a location client and may communicate (e.g., directly or via one or more networks) with H-SLP 130 to obtain location information for target SETs. A target SET is a SET for which location information is sought by a SUPL agent. Location information may comprise a location estimate and/or any information related to location or velocity. A SET may also have a SUPL agent resident within the SET. For example, SET 114 has a SUPL agent 144 within the SET.
  • A SET may be capable of position determination and may be able to determine its location with or without assistance from a network. For a SET-based mode, the location of the SET may be determined by the SET, possibly with assistance data from an SPC. For a SET-assisted mode, the location of the SET may be determined by the SPC with assistance (e.g., measurements) from the SET. The SET may support one or more positioning methods such as autonomous GPS, assisted GPS (A-GPS), advanced forward link trilateration (A-FLT), enhanced observed time difference (EOTD), observed time difference of arrival (OTDOA), hybrid, etc. For simplicity, the term “GPS” can refer to any SPS such as GPS, Galileo, GLONASS, etc. The autonomous GPS and A-GPS methods can provide a location estimate for the SET-based solely on satellite measurements and have high accuracy. The hybrid method can provide a location estimate based on both satellite and base station measurements and has high accuracy and high reliability. The A-FLT, EOTD, and OTDOA methods can provide a location estimate based on timing measurements of base stations made by the SET and have good accuracy. The SET may also support other positioning methods.
  • In an aspect, various triggered location services may be supported. A triggered location service may provide a SUPL agent with location information for a target SET whenever a trigger event occurs. Different triggered location services may be associated with different types of trigger. Table 1 lists some triggered location services and provides a short description of each triggered location service. Other triggered location services may also be supported based on other types of trigger. The triggered location services in Table 1 are described in further detail below.
  • TABLE 1
    Triggered
    Location Service Description
    Equidistance Periodically determine location of a target SET
    Triggered Service and report when the target SET has moved a
    predefined distance.
    Relative SET to Periodically determine location of a target SET
    SET Triggered and a reference SET and report when the target
    Service SET is inside, or is outside, or enters, or
    leaves a geographical target area centered at the
    reference SET.
    Velocity Periodically determine velocity of a target SET
    Triggered Service and report when the velocity reaches a
    predefined level.
    T-D-V Combination Periodically determine location and/or velocity
    Triggered Service of a target SET and report based on trigger
    criteria defined by elapsed time (T),
    distance traveled (D), and/or velocity (V).
  • The equidistance triggered service may periodically determine the location of a target SET and report location information when the target SET has moved a predefined distance. Distance may refer to (i) a straight line distance between the current location of the SET and its initial location when distance monitoring began, or (ii) an overall distance of a typically non-linear path traced out by the SET since leaving its initial location, or (iii) distance defined in some other way. A SUPL agent may initiate the equidistance triggered service, identify the target SET, and provide applicable parameters.
  • The equidistant triggered service may be used to periodically monitor a mobile terminal (e.g., SET 110) and to send a notification to a third party (e.g., SUPL agent 140) whenever the terminal has traveled a predefined distance. For example, an operations center of a trucking company may want to know the location of the trucks in its fleet after every 10 miles traveled. The third party (e.g., the operations center) may send a location request to a location server (e.g., H-SLP 130). The location server in collaboration with the terminal (which may be position determination capable) may start a position determination procedure that may allow for detection of whether the terminal has moved by the predefined distance. Whenever this event occurs, the location server may notify the location client.
  • FIG. 2 shows a design of a message flow 200 for equidistance triggered service. SUPL agent 140 may desire to know whenever target SET 110 has moved a predefined distance from the last reported location and may send a location request with an indication of equidistance trigger to H-SLP 130 (step A). H-SLP 130 may then communicate with target SET 110 to establish an equidistance triggered session (step B).
  • The location of SET 110 may be determined periodically using the SET-based mode or the SET-assisted mode. For the SET-based mode, SET 110 may autonomously make measurements and determine its location. SET 110 may communicate with H-SLP 130 to obtain assistance data whenever necessary. For the SET-assisted mode, SET 110 may engage in a positioning session with H-SLP 130, and H-SLP 130 may calculate a location estimate based on measurements from SET 110. In general, the location of SET 110 may be determined solely by SET 110, by SET 110 with assistance from H-SLP 130, by H-SLP 130 with assistance from SET 110, etc. Furthermore, the evaluation of the trigger condition may be performed by either SET 110 or by H-SLP 130.
  • The location of SET 110 may be determined at the start of the equidistance triggered session and used as an initial location. The location of SET 110 may also be determined periodically during the equidistance triggered session. In one design, the location of SET 110 may be determined every X seconds, where X may be any suitable value and may be specified by a trigger parameter. In another design, the location of SET 110 may be determined as often as possible. In yet another design, the location of SET 110 may be determined at times ascertained based on the estimated velocity of SET 110 and the predefined distance. The location of SET 110 may thus be determined at shorter intervals for higher velocity and/or shorter predefined distance, and vice versa. In yet another design, the location of SET 110 may be determined based on a sensor that can detect motion of SET 110. For example, the location of SET 110 may be determined while it is mobile and may be paused while it is stationary. The location of SET 110 may also be determined relative to a previous location using sensors, e.g., a sensor to detect and obtain linear acceleration, a sensor to detect and obtain change of direction, etc. The location of SET 110 may also be determined periodically in other manners.
  • The location of SET 110 may be determined (step C) and the distance traveled by SET 110 may be updated (step D). The traveled distance may be determined in various manners. In one design, the traveled distance may be a total distance obtained by accumulating incremental distances between successive locations for SET 110 since the last report. In this design, SET 110 may (i) determine the incremental distance between its current location and the last location and (ii) sum this incremental distance with the accumulated distance for the last location to obtain the accumulated distance for the current location. In another design, the traveled distance may be the distance between the current location and the location of the last report, which may be the initial location if no report has been sent. In yet another design, the traveled distance may be the distance along a particular route, e.g., along a trajectory from the initial location to a destination location or along a more complex route. The traveled distance may also be determined in other manners.
  • In one design, SET 110 may check for trigger events and initiate reporting. In another design, H-SLP 130 may check for trigger events and initiate reporting. In general, any suitable entity may be designated to perform the check and to initiate reporting. The designated entity may be provided with the location of SET 110, the trigger parameters, and/or other pertinent information. For clarity, much of the description below assumes that SET 110 is the designated entity.
  • SET 110 may check whether a trigger event has occurred based on the distance traveled by SET 110 and the predefined distance (step E). A trigger event may occur if the traveled distance exceeds the predefined distance. In this case, SET 110 may report to H-SLP 130 that a trigger event has occurred (step F). The report may also include the current location of SET 110, the distance traveled by SET 110, and/or other information. H-SLP 130 may then send a trigger response to inform SUPL agent 140 that a trigger event has occurred (step G). The response may include some or all of the information provided in the trigger report from SET 110. If a trigger event has not occurred, then steps F and G may be skipped.
  • Steps C through G may be for one processing cycle. Additional processing cycles may be performed in similar manner (step H). Each processing cycle may include steps to determine the current location of SET 110, determine the distance traveled by SET 110, and determine whether a trigger event has occurred. Trigger event reporting by SET 110 and trigger response by H-SLP 130 may be initiated if a trigger event has occurred and may be skipped otherwise. The end of the equidistant triggered session may be reached, e.g., when a stop time is reached, when a predefined final waypoint is reached, etc. Upon reaching the end of the equidistant triggered session, H-SLP 130 and SET 110 may terminate the session (step I).
  • FIG. 3 shows a design of a message flow 300 for equidistance triggered service using SUPL messages. SUPL agent 140 may desire to know whenever SET 110 has moved a particular distance from the last reported location of SET 110. SUPL agent 140 may send a Mobile Location Protocol Triggered Location Response Request (MLP TLRR) message to H-SLP 130, which may be an H-SLP with which SUPL agent 140 is associated (step A). The MLP TLRR message may include a client identifier (ID) for SUPL agent 140 (client-id), a mobile station identity (ms-id) for target SET 110, an indication of equidistance triggered service being requested, trigger parameters (e.g., a predefined distance, start time, stop time, etc.), etc. The trigger parameters may be used to determine trigger events for reporting by target SET 110.
  • H-SLP 130 may authenticate SUPL agent 140 and check if the SUPL agent is authorized for the requested location service based on the client ID. H-SLP 130 may also apply subscriber privacy against SUPL agent 140 based on the mobile station ID. For the privacy check, H-SLP 130 may verify if SUPL agent 140 or this type of SUPL agent is allowed to request location information for SET 110 and whether SET 110 may need to be notified of this request and allowed to accept or reject the request. H-SLP 130 may invoke the equidistant triggered service only with the consent of the user of SET 110 in order to ensure privacy. The equidistant triggered service may also dynamically take into account modifications of the privacy settings of the SET user.
  • H-SLP 130 may then look up SET 110, verify that SET 110 is currently not roaming, and also verify that SET 110 supports SUPL (step B). H-SLP 130 may obtain routing information for SET 110 and use the routing information to send messages to SET 110 (also step B). H-SLP 130 may send a SUPL INIT message to SET 110 to initiate a SUPL/location session for the equidistance triggered service (step C). The SUPL INIT message may include a session ID (session-id), an equidistance triggered service indicator, a proposed positioning method (posmethod), and/or other information. The session ID may be used to identify the SUPL session.
  • SET 110 may receive the SUPL INIT message from H-SLP 130 and may either attach itself to a data network if SET 110 is not already attached or establish a data connection (step D). SET 110 may evaluate notification rules and follow appropriate actions. SET 110 may then send a SUPL TRIGGERED START message to start the equidistance triggered session with H-SLP 130. This message may include the session ID, the capabilities of SET 110, etc. The SET capabilities may include the positioning methods supported by SET 110, the positioning protocols supported by SET 110 (e.g., Radio Resource LCS Protocol (RRLP) in 3GPP, Radio Resource Control (RRC) in 3GPP, LTE Positioning Protocol (LPP), TIA-801, etc.), and/or other information.
  • H-SLP 130 may receive the SUPL TRIGGERED START message and may select a positioning method to use for the equidistance triggered session by considering the SET capabilities included in the received message. H-SLP 130 may then send to SET 110 a SUPL TRIGGERED RESPONSE message that may include the session ID, the selected positioning method (posmethod), the trigger parameters, etc. (step F). SET 110 and H-SLP 130 may release the secure IP connection after step F. H-SLP 130 may send an MLP Triggered Location Reporting Answer (TLRA) message to inform SUPL agent 140 that the equidistance triggered service has been accepted (step G).
  • Steps A through G are setup steps for the equidistance triggered session. Location information for SET 110 may thereafter be reported in accordance with the trigger parameters provided by SUPL agent 140 in step A and sent to SET 110 in step F.
  • SET 110 may engage in a positioning session with H-SLP 130 to obtain assistance data in the SET-based mode or to determine the location of SET 110 in the SET-assisted mode. SET 110 may send a SUPL POS INIT message to initiate the positioning session with H-SLP 130 (step H). This message may include the session ID, a location ID (lid), the SET capabilities, a request for assistance data, and/or other information. H-SLP 130 may then engage with SET 110 in a SUPL POS session (or positioning session) (step I). H-SLP 130 and SET 110 may exchange messages for a selected positioning protocol (e.g., RRLP, RRC, LPP, or TIA-801) to provide assistance data to SET 110 and/or to calculate a location estimate for SET 110. H-SLP 130 may send the location estimate and/or other information in a SUPL REPORT message to SET 110 (step J).
  • The location of SET 110 may be determined by SET 110 alone or with assistance of H-SLP 130 via steps H, I and J (step K). The distance traveled by SET 110 may be updated, e.g., using any of the schemes described above for computing traveled distance (step L). SET 110 may compare the traveled distance against the predefined distance and determine whether it has moved by the predefined distance (step M). If SET 110 has moved by the predefined distance and a trigger event has occurred, then SET 110 may send a SUPL REPORT message to H-SLP 130 (step N). This message may include an indication that a trigger event has occurred and may also include the current location of SET 110, the distance traveled by SET 110, and/or other information. In response to a trigger event, H-SLP 130 may send an MLP Triggered Location Report (TLREP) message to SUPL agent 140 (step O). This message may include the request ID, an indication that a trigger event has occurred, the current location of SET 110, the distance traveled by SET 110, the date and time for the current location, the positioning method used to determine the current location, and/or other information. Steps N and O may be skipped if a trigger event has not occurred.
  • Steps K through O are for one processing cycle. Additional processing cycles may be performed in similar manner (step P). Each processing cycle may include steps to determine the current location of SET 110, determine the distance traveled by SET 110, and determine whether a trigger event has occurred. Reporting may be initiated if a trigger event has occurred and may be skipped otherwise. The end of the equidistant triggered session may be reached, e.g., when the stop time is reached, when a predefined final waypoint is reached, etc. Upon reaching the end of the equidistant triggered session, H-SLP 130 and SET 110 may terminate the session. H-SLP 130 may send a SUPL END message to SET 110 (step Q), or SET 110 may send a SUPL END message to H-SLP 130 (not shown in FIG. 3). H-SLP 130 may also notify SUPL agent 140 of the session end. Alternatively, each entity may autonomously determine the end of the session and terminate the session without exchanging any signaling.
  • The relative SET to SET triggered service may periodically determine the location of a target SET and the location of a reference SET and may report location information when the target SET has entered or left a moving geographical target area centered at the reference SET location. A SUPL agent may initiate the relative SET to SET triggered service, identify the target and reference SETs, and provide applicable parameters.
  • FIG. 4 shows a geographical target area 410 for the relative SET to SET triggered service. The geographical target area may be centered at the location of the reference SET and may be a circular area defined by a radius of r from the reference SET location. The geographical target area may move in sync with the location of the reference SET. In general, the geographical target area may be defined with any shape, e.g., with a more complex polygon. The geographical target area may also be (i) two dimensional and defined by horizontal location or (ii) three dimensional and defined by both horizontal location and altitude.
  • For example, a mother and a child may be in a shopping mall. The mother may want to be notified whenever the child moves outside a 30 yard radius area around her, which may be referred to as a “lost child” scenario. The mother may carry a reference terminal, and the child may carry a target terminal. A geographical target area may be defined as a circular area with radius r centered at the mother's location. The geographical target area may follow the mother's movement, i.e., moves around with the mother. Whenever the child (or the target terminal) leaves the geographical target area around the mother (e.g., when the child moves more than 30 yards away from the mother), the SUPL agent may be notified. The SUPL agent may then notify the mother that the child has left the geographical target area, e.g., is lost. This example may also be supported when the roles of the terminals are reversed, with the mother carrying the target terminal and the child carrying the reference terminal.
  • FIG. 5 shows a design of a message flow 500 for relative SET to SET triggered service. SUPL agent 140 may desire to know the location of target SET 110 relative to a moving geographical target area defined by the location of reference SET 112 and may send a location request with an indication of relative SET to SET trigger to H-SLP 130 (step A). H-SLP 130 may then communicate with target UE 110 and reference SET 112 to establish a relative SET to SET triggered session (steps B and C).
  • In one design, target SET 110 may check for trigger events and initiate reporting. In another design, H-SLP 130 may check for trigger events and initiate reporting. In general, any entity may be designated to perform the check and to initiate reporting. The designated entity may be provided with the location of SETs 110 and 112, the trigger parameters, and/or other pertinent information. For clarity, much of the description below assumes that target SET 110 is the designated entity.
  • The location of reference SET 112 may be determined, e.g., with the SET-based mode or the SET-assisted mode (step D). The location of reference SET 112 may be provided to H-SLP 130 (step E), which may forward the location to target SET 110 (step F). Alternatively, the location of reference SET 112 may be provided directly by reference SET 112 to target SET 110, without going through H-SLP 130 (as shown by a dashed line in FIG. 5).
  • The location of target SET 110 may also be determined, e.g., with the SET-based mode or the SET-assisted mode (step G). Target SET 110 may check whether a trigger event has occurred based on the locations of SETs 110 and 112 and the trigger parameters defining the geographical target area (step H). A trigger event may occur if target SET 110 is or has moved inside or outside of the geographical target area. In this case, target SET 110 may report to H-SLP 130 that a trigger event has occurred (step I). The report may include the current location of target SET 110, the current location of reference SET 112, the location of target SET 110 relative to reference SET 112 (e.g., 50 meters east), and/or other information. H-SLP 130 may then send a trigger response to inform SUPL agent 140 that a trigger event has occurred (step J). The response may include some or all of the information provided in the trigger report from SET 110. If a trigger event has not occurred, then steps I and J may be skipped.
  • Steps D through J may be for one processing cycle. Additional processing cycles may be performed in similar manner (step K). Each processing cycle may include steps to determine the current location of reference SET 112, determine the current location of target SET 110, and determine whether a trigger event has occurred. The location of reference SET 112 may be determined at the same or different rate as the location of target SET 110. Trigger event reporting by target SET 110 and trigger response by H-SLP 130 may be initiated if a trigger event has occurred and may be skipped otherwise. The end of the relative SET to SET triggered session may be reached, e.g., when a stop time is reached, etc. Upon reaching the end of the session, H-SLP 130 and SETs 110 and 112 may terminate the session (steps L and M).
  • In another design, instead of obtaining the locations of the reference and target SETs in steps D and G in FIG. 5, either SET may determine its location relative to the other SET periodically in these steps. For example, in step G, target SET 110 may send a signal (e.g., a radio signal or an infrared signal) directly to reference SET 112, which may return a response signal back to SET 110. SET 110 may measure the overall response time and subtract the internal delay at SET 112, which SET 112 may include in its response signal to SET 110, or SET 110 may determine by other means. SET 110 may obtain the round trip signal propagation delay and hence the distance between itself and SET 112. This distance may then be used to evaluate the trigger condition. In yet another design, the initial locations of both SETs 110 and 112 may be obtained in steps D and G, and subsequent locations may be obtained using the location of each SET relative to these initial locations. Relative locations may also be obtained using sensors in each SET, which may require less signaling and processing resources to obtain and may be obtained at short intervals.
  • FIG. 6 shows a design of a message flow 600 for relative SET to SET triggered service using SUPL messages. SUPL agent 140 may desire to know the location of target SET 110 relative to a moving geographical target area defined by the location of reference SET 112 and may send an MLP TLRR message to H-SLP 130 (step A). The MLP TLRR message may include the SUPL agent identity (client-id), the target SET identity (target ms-id), the reference SET identity (ref ms-id), an indication of relative SET to SET triggered service being requested, trigger parameters, etc. The trigger parameters may include information regarding the geographical target area around the reference SET (e.g., radius r), trigger event information (e.g., inside, outside, entering, or leaving the target area), session duration (e.g., start time, stop time, etc.), and/or other information that may be used to determine trigger events for reporting.
  • H-SLP 130 may authenticate and authorize SUPL agent 140 for the relative SET to SET triggered service. H-SLP 130 may also perform notification and/or verification with SETs 110 and 112. For example, H-SLP 130 may obtain approval from the user of reference SET 112 to allow the location of reference SET 112 to be determined and possibly shared with target SET 110, H-SLP 130, and/or SUPL agent 140. H-SLP 130 may also obtain approval from the user of target SET 110 to allow the location of target SET 110 to be determined and possibly shared with reference SET 112, H-SLP 130, and/or SUPL agent 140. The relative SET to SET triggered service may also dynamically take into account modifications of the privacy settings of each SET user.
  • H-SLP 130 may look up SETs 110 and 112 and obtain routing information for these SETs (step B). H-SLP 130 may send a SUPL INIT message to reference SET 112 to initiate a SUPL session for the relative SET to SET triggered service (step C). SET 112 may receive the SUPL INIT message and may attach itself or establish a data connection (step D). SET 112 may evaluate notification rules and follow appropriate actions. SET 112 may then send a SUPL TRIGGERED START message to start the relative SET to SET triggered session with H-SLP 130 (step E). H-SLP 130 may receive the SUPL TRIGGERED START message from SET 112 and may select a positioning method to use for SET 112. H-SLP 130 may then send to SET 112 a SUPL TRIGGERED RESPONSE message that may include the session ID, the selected positioning method, the trigger parameters, etc. (step F). H-SLP 130 may similarly perform steps C through F for target SET 110 (step G). H-SLP 130 may send an MLP TLRA message to inform SUPL agent 140 that the relative SET to SET triggered service has been accepted (step H).
  • H-SLP 130, target SET 110, and reference SET 112 may thereafter collaborate to detect for occurrence of a trigger event. The location of each SET may be determined periodically (e.g., every X seconds) during the session. In one design, a SET may autonomously make measurements and determine its location. In another design, a SET may engage in a positioning session with H-SLP 130 to determine its location. In general, the location of each SET may be determined solely by that SET, by the SET with assistance from H-SLP 130, by H-SLP 130 with assistance from the SET, etc. Reference SET 112 may perform steps I, J and K, as necessary, to obtain assistance data from H-SLP 130 or to determine its location for the SET-assisted mode. Similarly, target SET 110 may perform steps I, J and K, as necessary, to obtain assistance data from H-SLP 130 or to determine its location for the SET-assisted mode. Steps I, J and K may be performed as described above for steps H, I and J, respectively, in FIG. 3.
  • In one design, target SET 110 may check for a trigger event and initiate reporting. In another design, H-SLP 130 may check for a trigger event and initiate reporting. In yet another design, reference SET 112 may check for a trigger event and initiate reporting. In general, any entity or any combination of entities may be designated to perform the check and initiate reporting. The designated entity or entities may be provided with the current locations of SETs 110 and 112 and the trigger parameters. For clarity, the description below assumes that target SET 110 checks for a trigger event and initiates reporting.
  • Reference SET 112 may determine its location (step L) and may send a SUPL REPORT message with its current location to H-SLP 130 (step M). For a pull mechanism, target SET 110 may send a SUPL POSITION REQUEST message to H-SLP 130 to request for the current location of reference SET (step N). In response, H-SLP 130 may forward the current location of reference SET 112 in a SUPL REPORT message to target SET 110 (step O). The pull mechanism may allow target SET 110 to request for location information at its convenience, e.g., when target SET 110 has an open connection. For a push mechanism, H-SLP 130 may forward the location of reference SET 112 whenever it is received from SET 112. In this case, step O would occur but step N may be skipped. The push mechanism may allow H-SLP 130 to provide the reference SET location whenever it is available, without the need for target SET 110 periodically request for it. Reference SET 112 may also send its current location directly to target SET 110, without interacting with H-SLP 130.
  • Target SET 110 may determine its location (step P). Target SET 110 may compare its current location against the current location of reference SET 112 and may determine whether it is within or outside or has moved into or out of the geographical target area defined by the current location of reference SET 112 (step Q). If a trigger event has occurred, then target SET 110 may send a SUPL REPORT message with an indication of an event trigger and possibly its current location and/or the location of reference SET 112 to H-SLP 130 (step R). H-SLP 130 may then send to SUPL agent 140 an MLP TLREP message that may include the request ID, an event trigger indication, and possibly other information such as the location of target SET 110, the location of reference SET 112, the date and time for each location, the positioning method used to determine each location, and/or other information (step S). Target SET 110 may be informed of a trigger event relative to the location of reference SET 112, e.g., triggered by target SET 110. Reference SET 112 may also be informed of a triggered event relative to its own position, e.g., triggered by target SET 110.
  • Steps L through S are for one processing cycle. Additional processing cycles may be performed in similar manner (step T). Each processing cycle may include steps to determine the current location of each SET and to determine whether a trigger event has occurred. Reporting may be initiated (e.g., in steps R and S) if a trigger event has occurred and may be skipped otherwise. The end of the relative SET to SET triggered session may be reached, e.g., when the stop time is reached, etc. Upon reaching the end of the session, H-SLP 130, target SET 110, and reference SET 112 may terminate the session. H-SLP 130 may send a SUPL END message to each SET (steps U and V). A SET may also send a SUPL END message. H-SLP 130 may also notify SUPL agent 140 of the session end.
  • The relative SET to SET triggered service may be used to periodically monitor the movement of a target terminal in relation to a geographical target area with a reference terminal as its center. The geographical target area may be defined relative to the reference terminal (and not the target terminal, as is the case for other triggered services) and may move in sync with the reference terminal. A notification may be sent to a third party (e.g., SUPL agent 140) whenever the target terminal is within or outside, enters or leaves the geographical target area. The third party may send a location request to a location server (e.g., H-SLP 130). The location server may start a position determination procedure with both the target and reference terminals. The location of the reference terminal may be periodically determined and compared with the location of the target terminal to enable detection of the target terminal being inside or outside, entering or leaving of the geographical target area around the reference terminal. Whenever this trigger event is detected, the location server may notify the location client and possibly the target terminal and/or the reference terminal.
  • The velocity triggered service may periodically determine whether the velocity of a target SET has reached a predefined velocity (i.e., a velocity level) and may report the velocity when a trigger event is detected. A SUPL agent may initiate the velocity triggered service, identify the target SET, and provide applicable parameters.
  • Velocity may include speed and/or bearing. Speed may indicate how fast a SET is moving, and bearing may indicate which direction the SET is moving. In general, a trigger criterion may be defined based on only speed, or only bearing, or both speed and bearing. For example, a trigger criterion may be defined to send a report (i) when a truck reaches a speed of 70 mph, or (ii) when the truck is heading north, or (iii) when the truck is heading north at more than 70 mph. A trigger criterion may also be defined for increasing and/or decreasing speed. For example, a report may be sent when the truck reaches 70 mph (starting from a stop light). The truck may accelerate further and reach 90 mph. Another report may be sent when the truck slows down to 70 mph. Alternatively, another report may be sent if the truck slows down below a lower level (e.g., 65 mph) and then exceeds 70 mph. In general, velocity used for the velocity triggered service may refer to only speed, or only bearing, or both speed and bearing. Various trigger criteria may also be used for the velocity triggered service.
  • A velocity trigger may be defined in various manners. In one design, a velocity trigger may occur when the velocity of the target SET first drops below a lower level and thereafter meets or exceeds a predefined velocity. The lower level may be defined based on the predefined velocity, e.g., may be a certain margin below the predefined velocity. For example, a truck may start at a traffic light and thereafter reach a predefined velocity of 70 mph, which may be defined based on a speed limit of 65 mph plus a 5 mph margin. A velocity trigger may occur when the truck first reaches 70 mph, and no velocity trigger may occur as long as the truck keeps speeding above the lower level. The lower level may be 60 mph, which may be defined based on the 65 mph speed limit minus a 5 mph margin. Another velocity trigger may occur if the truck slows down below the lower level of 60 mph and then meets or exceeds the predefined velocity of 70 mph. In another design, a velocity trigger may occur if the velocity of the target SET exceeds the predefined velocity, but may be limited to at most one velocity trigger in each predefined time interval. For the example above, a velocity trigger may occur every predefined time interval of 5 minutes in which the truck meets or exceeds the predefined velocity. A velocity trigger may also be defined in other manners.
  • FIG. 7 shows a design of a message flow 700 for velocity triggered service using SUPL messages. SUPL agent 140 may desire to know whenever the velocity of target SET 110 has reached a target velocity and may send an MLP TLRR message to H-SLP 130 (step A). The MLP TLRR message may include the SUPL agent identity, the target SET identity, an indication of velocity triggered service being requested, trigger parameters, etc. The trigger parameters may include the target velocity, start time, stop time, etc. H-SLP 130 may authenticate and authorize SUPL agent 140 for the velocity triggered service. H-SLP 130 may also perform notification and/or verification with target SET 110. The velocity triggered service may also dynamically take into account modifications of the privacy settings of the target SET user.
  • H-SLP 130 may look up SET 110 and obtain routing information for the SET (step B). H-SLP 130 may send a SUPL INIT message to SET 110 to initiate a SUPL session for the velocity triggered service (step C). SET 110 may receive the SUPL INIT message and attach itself or establish a data connection (step D). SET 110 may evaluate notification rules and follow appropriate actions. SET 110 may then send a SUPL TRIGGERED START message to start the velocity triggered session with H-SLP 130 (step E). H-SLP 130 may receive the SUPL TRIGGERED START message, select a positioning method to use for SET 110, and return a SUPL TRIGGERED RESPONSE message that may include the session ID, the selected positioning method, the trigger parameters, etc. (step F). H-SLP 130 may send an MLP TLRA message to inform SUPL agent 140 that the velocity triggered service has been accepted (step G).
  • H-SLP 130 and target SET 110 may thereafter collaborate to detect for occurrence of a trigger event. The velocity of SET 110 may be determined periodically (e.g., every X seconds) during the session. In one design, a SET may autonomously make measurements and determine its velocity. In another design, a SET may interact with H-SLP 130 to determine its velocity. In general, the velocity of SET 110 may be determined solely by SET 110, by SET 110 with assistance from H-SLP 130, by H-SLP 130 with assistance from SET 110, etc. Target SET 110 may perform steps H, I and J, as necessary, to obtain assistance data from H-SLP 130 or to determine its velocity for the SET-assisted mode.
  • In one design, target SET 110 may check for a trigger event and initiate reporting. SET 110 may determine its velocity (step K). SET 110 may compare its current velocity against the target velocity and may determine whether the current velocity has exceeded the target velocity (step L). If a trigger event has occurred, then target SET 110 may send a SUPL REPORT message with an indication of a trigger event and possibly its velocity to H-SLP 130 (step M). H-SLP 130 may then send to SUPL agent 140 an MLP TLREP message that may include the request ID, a trigger event indication, the velocity of SET 110, the location of SET 110, etc. (step N). In another design, H-SLP 130 may check for a trigger event and initiate reporting. In general, any entity may be designated to perform the check and initiate reporting. The designated entity may be provided with the velocity of SET 110 and the trigger parameters.
  • Steps K through N are for one processing cycle. Additional processing cycles may be performed in similar manner (step O). Each processing cycle may include steps to determine the velocity of SET 110 and to determine whether a trigger event has occurred. Reporting may be initiated if a trigger event has occurred and may be skipped otherwise. The end of the velocity triggered session may be reached, e.g., when the stop time is reached, etc. Upon reaching the end of the velocity triggered session, H-SLP 130 and SET 110 may terminate the session. H-SLP 130 may send a SUPL END message to SET 110 (step P). H-SLP 130 may also notify SUPL agent 140 of the session end.
  • The velocity triggered service may be used to periodically monitor a target terminal and send a notification to a third party (e.g., SUPL agent 140) whenever the velocity of the target terminal reaches a predefined level. The third party may send a location request to a location server (e.g., H-SLP 130). The location server in collaboration with the target terminal may start a position and velocity determination procedure. The procedure may allow for detection of the terminal velocity exceeding the predefined level. Whenever this trigger event is detected, the location server may notify the location client. This service may be used, e.g., by an operations center of a trucking company that may want to know whenever their trucks exceed 70 mph. This service may also be used by an insurance company to verify that its policy holders generally adhere to local speed limits, e.g., which may then entitle the policy holder to lower insurance premium.
  • The T-D-V combination triggered service may support trigger events defined based on a combination of elapsed time since last report, distance traveled since last report, and maximum velocity reached since last report. The T-D-V combination triggered service may also support other combinations of elapsed time, distance traveled, maximum velocity, and/or other parameters. For example, a T-D-V combination trigger (or trigger condition) may be defined based on one of the following functions of time, distance, and velocity:

  • f(T) AND/OR g(D) AND/OR h(V), or  Eq (1)

  • [f 1(T) AND/OR g(D)] AND/OR [f 2(T) AND/OR h(V)],  Eq (2)
  • where
      • T, D and V are current values for elapsed time, traveled distance, and maximum velocity since last report, respectively,
      • f(T) is an expression (e.g., a Boolean expression) for a time trigger,
      • g(D) is an expression (e.g., a Boolean expression) for a distance trigger,
      • h(V) is an expression (e.g., a Boolean expression) for a velocity trigger,
      • “AND” denotes a logical AND operation, and
      • “OR” denotes a logical OR operation.
  • A Boolean expression may return a true or false output based on a function of its input parameters. As an example, a Boolean expression for traveled distance may be defined as g(D)=(D≧D1), where D1 is a predefined distance. The expression would be true if the traveled distance D is equal to or greater than the predefined distance D1 and would be false otherwise. f1(T) and f2(T) may be two Boolean expressions for a time trigger given by fi(T)=(T≧Ti), for i=1 or 2, where T1 and T2 are two predefined values for elapsed time. Expressions for velocity trigger may be defined in similar manner. Once any trigger condition occurs, it may remain valid until the next report. This would prevent a trigger from occurring and then later disappearing, until after a new report is sent.
  • For example, a fleet management center may want updates on movement of its trucks with an interest in reports whenever a truck has moved 10 miles (D1=10 miles) since the last report but with no more than one report per truck every hour (T1=60 minutes). The center may also want to be notified immediately if a truck reaches 75 mph (V1=75 mph). A combo trigger function may be defined as follows:

  • [(T≧60 minutes) AND (D≧10 miles)] OR (V≧75 mph),
  • where
  • T is the time elapsed since the last report was sent,
  • D is the distance traveled since the last report, and
  • V is the maximum speed since the last report.
  • The traveled distance D may be computed as (i) a sum of incremental distances between location measurements or (ii) the distance to the location in the last report. For example, variables T, D for case (i), and V may all be increasing functions of time.
  • To avoid generating excessive reports for speeding drivers, the center may desire no more than one speeding report every 10 minutes (T2=10 minutes). A combo trigger function may then be defined as follows:

  • [(T≧60 minutes) AND (D≧10 miles)] OR [(T≧10 minutes) AND (V≧75 mph)].
  • As shown by the equation above, different predefined time values may be used with different predefined values for D and V.
  • In one design, to enable greater flexibility for the T-D-V combination triggered service, the Boolean expressions above (e.g., f(T), g(D) and h(V)) may include or may depend on the current location of the SET, a set of SET locations since the last report, the current time or the time period since the last report, etc. This may be used to set different predefined values for distance traveled, maximum velocity, and time until the next report. For example, a trucking company may adjust a predefined maximum velocity according to a prevailing (e.g., maximum) speed limit for the locations traveled since the last report. The company may also adjust a predefined distance traveled according to the type of route, e.g., using a higher predefined distance for a truck traveling along a major highway. The company may also adjust a predefined time interval according to the time of day, e.g., using a smaller interval for busy travel periods in a day and a longer interval for less busy periods such as evenings and nights.
  • FIG. 8 shows a design of a message flow 800 for the T-D-V combination triggered service using SUPL messages. SUPL agent 140 may desire to know location and/or velocity information for target SET 110 and may send an MLP TLRR message to H-SLP 130 (step A). The MLP TLRR message may include the SUPL agent identity, the target SET identity, an indication of T-D-V combination triggered service being requested, trigger parameters, etc. The trigger parameters may include T, D and/or V parameters, the desired combo trigger function, e.g., [(T≧T1) AND (D≧D1)) OR (V≧V1)]), start time, stop time, etc. H-SLP 130 may authenticate and authorize SUPL agent 140 for the T-D-V combination triggered service. H-SLP 130 may also perform notification and/or verification with target SET 110. The T-D-V combination triggered service may also dynamically take into account modifications of the privacy settings of the target SET user.
  • H-SLP 130 may look up SET 110 and obtain routing information for the SET (step B). H-SLP 130 may send a SUPL INIT message to SET 110 to initiate a SUPL session for the T-D-V combination triggered service (step C). SET 110 may receive the SUPL INIT message and attach itself or establish a data connection (step D). SET 110 may evaluate notification rules and follow appropriate actions. SET 110 may then send a SUPL TRIGGERED START message to start the T-D-V combination triggered session with H-SLP 130 (step E). H-SLP 130 may receive the SUPL TRIGGERED START message, select a positioning method to use for SET 110, and return a SUPL TRIGGERED RESPONSE message that may include the session ID, the selected positioning method, the trigger parameters, etc. (step F). H-SLP 130 may send an MLP TLRA message to inform SUPL agent 140 that the T-D-V combination triggered service has been accepted (step G).
  • Target SET 110 may perform steps H, I and J, as necessary, to obtain assistance data from H-SLP 130, or to determine its location and/or velocity for the SET-assisted mode. H-SLP 130 and target SET 110 may collaborate to detect for occurrence of a trigger event. The location and/or velocity of SET 110 may be determined periodically (e.g., every X seconds) during the session. In one design, SET 110 may autonomously make measurements and determine its location and/or velocity (step K). In another design, SET 110 may interact with H-SLP 130 to determine its location and/or velocity (e.g., using steps H, I and J in FIG. 8). In general, the location and/or velocity of SET 110 may be determined solely by SET 110, by SET 110 with assistance from H-SLP 130, by H-SLP 130 with assistance from SET 110, etc.
  • In one design, target SET 110 may check for a trigger event and initiate reporting. SET 110 may determine the current T, D and V values and may logically combine these values in accordance with the combo trigger function to determine whether a trigger event has occurred (step L). If a trigger event has occurred, then target SET 110 may send a SUPL REPORT message with an trigger event indication and possibly its location and/or velocity to H-SLP 130 (step M). In another design, H-SLP 130 may check for a trigger event and initiate reporting. In any case, in response to a trigger event, H-SLP 130 may send to SUPL agent 140 an MLP TLREP message that may include the request ID, a trigger event indication, the location and/or velocity of SET 110, the conditions for the trigger that had occurred, and/or other information (step N).
  • Steps K through N are for one processing cycle. Additional processing cycles may be performed in similar manner (step O). Each processing cycle may include steps to determine the location and/or velocity of SET 110, to update the distance traveled by SET 110, and to determine whether a trigger event has occurred. Reporting may be initiated if a trigger event has occurred and may be skipped otherwise. Upon reaching the end of the T-D-V combination triggered session (e.g., when the stop time is reached), H-SLP 130 and SET 110 may terminate the session. H-SLP 130 may send a SUPL END message to SET 110 (step P). H-SLP 130 may also notify SUPL agent 140 of the session end.
  • The T-D-V combination triggered service may be used to periodically monitor a target terminal and send a notification to a third party (e.g., SUPL agent 140) whenever a trigger event based on time T, distance D, and/or velocity V occurs. The third party may send a location request to a location server (e.g., H-SLP 130). The location server and the target terminal may collaborate to detect for occurrence of a trigger event based on the location and/or velocity of the terminal. Whenever a trigger event is detected, the location server may notify the location client.
  • In another aspect, a SET to SET velocity service may enable a requesting SET to obtain the absolute or relative velocity of one or more target SETs on an ongoing basis (e.g., periodically, once, etc.) during a SET to SET velocity session. A SUPL agent may reside in the requesting SET and may request the velocity of the target SET(s). Each SET may be capable of executing a positioning procedure with an H-SLP and/or on its own. The positioning procedure may provide location information, which may include the location and/or velocity of the SET.
  • FIG. 9 shows a design of a message flow 900 for SET to SET velocity service using SUPL messages. SUPL agent 144 in requesting SET 114 may desire to know the velocity of target SET 110. Since SUPL agent 144 resides in SET 114, a SET initiated service may be used, and SUPL agent 144 may internally request SET 114 to initiate the SET to SET velocity service (step A). Requesting SET 114 may then communicate with H-SLP 130 to establish a SET-initiated triggered session (step B). The session establishment in step B may include (i) SET 114 sending a SUPL TRIGGERED START message to H-SLP 130 and (ii) H-SLP 130 returning a SUPL TRIGGERED RESPONSE message to SET 114. The SUPL TRIGGERED START message may indicate SET to SET velocity service being requested and may also include information such as the requesting SET identity, the target SET identity, an indication of whether relative or absolute velocity is requested, start time and stop time of the session, number of fixes, interval between fixes, etc. H-SLP 130 may authenticate and authorize SET 114 for the SET to SET velocity service. Following session establishment in step B, SET 114 may acknowledge the request internally to SUPL agent 144 and may confirm that the requested service will be performed (step C). H-SLP 130 may establish a location session with target SET 110 (steps D to H). This may include notification and/or verification with SET 110.
  • H-SLP 130 may collaborate with requesting SET 114 and/or target SET 110 to determine the velocity of target SET 110, determine the velocity of reference SET 114, provide assistance to target SET 110, and/or provide assistance to reference SET 114 during the session. H-SLP 130 may also be involved in sharing the velocity of target SET 110 with requesting SET 114 and/or the velocity of requesting SET 114 with target SET 110 during the session.
  • Target SET 110 may perform steps I, J and K, as necessary, to obtain assistance data from H-SLP 130 or to determine its velocity for the SET-assisted mode. Similarly, reference SET 114 may perform steps I, J and K, as necessary, to obtain assistance data from H-SLP 130 or to determine its velocity. Target SET 110 may determine its velocity (step L) and may send a SUPL REPORT message with its velocity to H-SLP 130 (step M). Requesting SET 114 may send a SUPL POSITION REQUEST message to H-SLP 130 to request for the velocity of target SET 110 (step N). In response, H-SLP 130 may forward the current velocity of target SET 110 in a SUPL REPORT message to requesting SET 114 (step O). H-SLP 130 may also forward the velocity of target SET 110 whenever it is received from SET 110. Target SET 110 may also send its velocity directly to requesting SET 114 without interacting with H-SLP 130 (e.g., as indicated by a dashed line in FIG. 9). In any case, requesting SET 114 may provide the velocity of target SET 110 to SUPL agent 144 (step P).
  • Steps L through P are for one processing cycle. Additional processing cycles may be performed in similar manner (step Q). Each processing cycle may include steps to determine the velocity of target SET 110 and to provide the velocity to requesting SET 114. The end of the SET to SET velocity session may be reached, e.g., when the stop time is reached, etc. Upon reaching the end of the session, H-SLP 130, requesting SET 114, and target SET 110 may terminate the session. H-SLP 130 may send a SUPL END message to target SET 110 (step R). H-SLP 130 may also notify requesting SET 114 of the session end, and SET 114 may then notify SUPL agent 144.
  • For simplicity, FIG. 9 shows a case in which requesting SET 114 requests for the velocity of one target SET 110. Requesting SET 114 may also request for the velocity of multiple target SETs. Each target SET may perform processing as shown in FIG. 9 for target SET 110.
  • In another design that is based on FIG. 9, requesting SET 114 may determine its velocity relative to target SET 110 by exchanging signals (e.g., radio signals or infrared signals) directly with target SET 110. Either SET may measure a round trip signal propagation delay and may obtain a straight line distance between the SETs based on the signal measurement. By repeating the signal measurement and distance calculation at short intervals, either SET may obtain the relative velocity of one SET with respect to the other. Alternatively, if the signals exchanged between the SETs include a fixed and known frequency component or some marker within the signal that is repeated at fixed known intervals, then either SET may obtain its relative velocity with respect to the other SET by measuring the change in frequency of the frequency component or periodic marker. This signal exchange and measurement procedure may replace steps I to L in FIG. 9 for both SETs.
  • FIGS. 3 and 6-9 show exemplary message flows for different location services using SUPL messages. The message flows may be varied. For example, SUPL agent 140 may request H-SLP 130 to terminate an ongoing session. H-SLP 130, SET 110, and/or SET 112 may also decide to terminate an ongoing session. In these cases, H-SLP 130, SET 110, and SET 112 (if present) may take action to terminate the session. SUPL agent 140, H-SLP 130, SET 110, or SET 112 (if present) may request that the service be paused. In this case, position determination and trigger events detection may be paused (i.e., not performed) until a request for resumption of the service is made by the entity requesting the pause.
  • The location services described herein may allow a SUPL agent to obtain location information for a target SET with a single location request to an H-SLP instead of making multiple requests and evaluating the results. The triggered location services may reduce the number of location requests and may greatly reduce the amount of signaling and processing for all affected entities such as the SUPL agent, the H-SLP, and the target SET.
  • FIG. 10 shows a design of a process 1000 for supporting triggered location services. Process 1000 may be performed by a terminal/SET, an H-SLP, or some other entity. At least one location related measurement for a terminal may be obtained (block 1012). Each location related measurement may be for the distance traveled by the terminal, or the velocity of the terminal, or the location of the terminal relative to a moving geographical target area. Whether a trigger event has occurred may be determined based on the at least one location related measurement for the terminal (block 1014). A report may be sent if a trigger event has occurred (block 1016).
  • In one design, for the equidistance triggered service, the at least one location related measurement may be for the distance traveled by the terminal. The distance traveled by the terminal may be determined in various manners. In one design, the distance traveled may be determined by (i) periodically determining the location of the terminal and (ii) accumulating the incremental distances between successive locations of the terminal since a last trigger event (or the start of the triggered session). In another design, the distance traveled may be determined based on the distance between the current location of the terminal and a starting location, which may be the location of the terminal at the last trigger event. In yet another design, the distance traveled may be determined based on the distance between the current location of the terminal and the starting location along a particular route. This particular route may be along a straight line trajectory or a more complex route. The distance traveled by the terminal may also be determined in other manners. In any case, whether a trigger event has occurred may be determined based on the distance traveled by the terminal. For example, a trigger event may be declared if the distance traveled by the terminal exceeds a predefined distance.
  • In another design, for the relative SET to SET triggered service, the at least one location related measurement may be for the location of the terminal relative to a moving geographical target area. The moving geographical target area may be determined based on the location of a reference terminal. For example, the moving geographical target area may be a circular area centered at the location of the reference terminal and having a predefined radius. Whether a trigger event has occurred may be determined based on the location of the terminal relative to the moving geographical target area. For example, a trigger event may be declared if the location of the terminal matches a criterion with respect to the moving geographical target area. The criterion may be inside, outside, entering or leaving the moving geographical target area.
  • In yet another design, for the velocity triggered service, the at least one location related measurement for the terminal may be for the velocity of the terminal. Velocity may include only speed, or only bearing, or both speed and bearing. Whether a trigger event has occurred may be determined based on the velocity of the terminal. For example, the velocity of the terminal may be determined periodically. A trigger event may be declared if the velocity of the terminal at any time since the last trigger event meets or exceeds a predefined velocity.
  • In yet another design, for the T-D-V combination triggered service, the at least one location related measurement may be for the distance traveled by the terminal and the velocity of the terminal Whether a trigger event has occurred may be determined based on the distance traveled by the terminal, the velocity of the terminal, and/or elapsed time since the last trigger event. For example, multiple expressions may be determined. Each expression may be for the distance traveled by the terminal relative to a predefined distance, or a maximum velocity of the terminal relative to a predefined velocity, or elapsed time relative to a predefined time. Whether a trigger event has occurred may be determined based on a function of the multiple expressions.
  • FIG. 11 shows a design of a process 1100 for supporting SET to SET velocity service. Process 1100 may be performed by a first terminal/SET. The first terminal may send a request for the velocity of a second terminal, e.g., to a location center such as an H-SLP (block 1112). The first terminal may thereafter receive the velocity of the second terminal, e.g., from the location center, or directly from the second terminal without going through the location center (block 1114). The first terminal may receive the velocity of the second terminal either once or a plurality of times (e.g., periodically) in response to the request.
  • FIG. 12 shows a block diagram of a design of terminal/SET 110, wireless network 120, and location server/H-SLP 130 in FIG. 1. For simplicity, FIG. 12 shows one or more controller/processors 1210, one memory 1212, and one transmitter/receiver (TMTR/RCVR) 1214 for terminal 110, one or more controller/processors 1220, one memory 1222, one transmitter/receiver 1224, and one communication (Comm) unit 1226 for wireless network 120, and one or more controller/processors 1230, one memory 1232, and one communication unit 1234 for H-SLP 130. In general, each entity may include any number of processors, controllers, memories, transmitters/receivers, communication units, etc. Terminal 110 may support communication with one or more wireless and/or wireline networks. Terminal 110 may also receive and process signals from one or more satellite positioning systems, e.g., GPS, Galileo, etc.
  • On the downlink, wireless network 120 may transmit traffic data, signaling, and pilot to terminals within its coverage area. These various types of information may be processed by processor(s) 1220, conditioned by transmitter 1224, and transmitted on the downlink. At terminal 110, downlink signals from wireless network 120 may be received and conditioned by receiver 1214 and further processed by processor(s) 1210 to obtain various types of information. Processor(s) 1210 may perform process 1000 in FIG. 10, process 1100 in FIG. 11, and/or other processes for the techniques described herein. Processor(s) 1210 may also perform processing for any SET in FIGS. 2, 3 and 5-9. Memories 1212 and 1222 may store program codes and data for terminal 110 and wireless network 120, respectively. On the uplink, terminal 110 may transmit traffic data, signaling, and pilot to wireless network 120. These various types of information may be processed by processor(s) 1210, conditioned by transmitter 1214, and transmitted on the uplink. At wireless network 120, the uplink signals from terminal 110 and other terminals may be received and conditioned by receiver 1224 and further processed by processor(s) 1220 to obtain various types of information from the terminals. Wireless network 120 may directly or indirectly communicate with H-SLP 130 via communication unit 1226.
  • Within H-SLP 130, processor(s) 1230 may perform processing to support location services for terminals. For example, processor(s) 1230 may perform process 1000 in FIG. 10 and/or other processes for the techniques described herein. Processor(s) 1230 may also perform processing for H-SLP 130 in FIGS. 2, 3 and 5-9. Processor(s) 1230 may also compute location estimates for terminal 110, provide location information to SUPL agent 140, etc. Memory 1232 may store program codes and data for H-SLP 130. Communication unit 1234 may allow H-SLP 130 to communicate with wireless network 120, terminal 110, and/or other network entities. H-SLP 130 and terminal 110 may exchange messages via a user plane (e.g., SUPL), and these messages may be transported by wireless network 120.
  • Those of skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
  • Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
  • Position determination techniques described herein may be implemented in conjunction with various wireless communication networks such as a wireless wide area network (WWAN), a wireless local area network (WLAN), a wireless personal area network (WPAN), and so on. The term “network” and “system” are often used interchangeably. A WWAN may be a Code Division Multiple Access (CDMA) network, a Time Division Multiple Access (TDMA) network, a Frequency Division Multiple Access (FDMA) network, an Orthogonal Frequency Division Multiple Access (OFDMA) network, a Single-Carrier Frequency Division Multiple Access (SC-FDMA) network, a Long Term Evolution (LTE) network, a WiMAX (IEEE 802.16) network and so on. A CDMA network may implement one or more radio access technologies (RATs) such as cdma2000, Wideband-CDMA (W-CDMA), and so on. Cdma2000 includes IS-95, IS-2000, and IS-856 standards. A TDMA network may implement Global System for Mobile Communications (GSM), Digital Advanced Mobile Phone System (D-AMPS), or some other RAT. GSM and W-CDMA are described in documents from a consortium named “3rd Generation Partnership Project” (3GPP). Cdma2000 is described in documents from a consortium named “3rd Generation Partnership Project 2” (3GPP2). 3GPP and 3GPP2 documents are publicly available. A WLAN may be an IEEE 802.11x network, and a WPAN may be a Bluetooth network, an IEEE 802.15x, or some other type of network. The techniques may also be implemented in conjunction with any combination of WWAN, WLAN and/or WPAN.
  • A satellite positioning system (SPS) typically includes a system of transmitters positioned to enable entities to determine their location on or above the Earth based, at least in part, on signals received from the transmitters. Such a transmitter typically transmits a signal marked with a repeating pseudo-random noise (PN) code of a set number of chips and may be located on ground based control stations, user equipment and/or space vehicles. In a particular example, such transmitters may be located on Earth orbiting satellite vehicles (SVs). For example, a SV in a constellation of Global Navigation Satellite System (GNSS) such as Global Positioning System (GPS), Galileo, Glonass or Compass may transmit a signal marked with a PN code that is distinguishable from PN codes transmitted by other SVs in the constellation (e.g., using different PN codes for each satellite as in GPS or using the same code on different frequencies as in Glonass). In accordance with certain aspects, the techniques presented herein are not restricted to global systems (e.g., GNSS) for SPS. For example, the techniques provided herein may be applied to or otherwise enabled for use in various regional systems, such as, e.g., Quasi-Zenith Satellite System (QZSS) over Japan, Indian Regional Navigational Satellite System (IRNSS) over India, Beidou over China, etc., and/or various augmentation systems (e.g., an Satellite Based Augmentation System (SBAS)) that may be associated with or otherwise enabled for use with one or more global and/or regional navigation satellite systems. By way of example but not limitation, an SBAS may include an augmentation system(s) that provides integrity information, differential corrections, etc., such as, e.g., Wide Area Augmentation System (WAAS), European Geostationary Navigation Overlay Service (EGNOS), Multi-functional Satellite Augmentation System (MSAS), GPS Aided Geo Augmented Navigation or GPS and Geo Augmented Navigation system (GAGAN), and/or the like. Thus, as used herein an SPS may include any combination of one or more global and/or regional navigation satellite systems and/or augmentation systems, and SPS signals may include SPS, SPS-like, and/or other signals associated with such one or more SPS.
  • As used herein, a terminal refers to a device such as a cellular or other wireless communication device, personal communication system (PCS) device, personal navigation device (PND), Personal Information Manager (PIM), Personal Digital Assistant (PDA), laptop or other suitable mobile device which is capable of receiving wireless communication and/or navigation signals. The term “terminal” is also intended to include devices which communicate with a personal navigation device (PND), such as by short-range wireless, infrared, wireline connection, or other connection—regardless of whether satellite signal reception, assistance data reception, and/or position-related processing occurs at the device or at the PND. Also, “terminal” is intended to include all devices, including wireless communication devices, computers, laptops, etc. which are capable of communication with a server, such as via the Internet, Wi-Fi, femtocells, or other network, and regardless of whether satellite signal reception, assistance data reception, and/or position-related processing occurs at the device, at a server, or at another device associated with the network. Any operable combination of the above are also considered a “terminal”.
  • The methodologies/implementations described herein may be implemented by various means depending upon the application. For example, they may be implemented in hardware, firmware, software, or any combination thereof. For an implementation involving hardware, the processors may be implemented with one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), general purpose processors, controllers, micro-controllers, microprocessors, state machines, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof, for example, one or more microprocessors in conjunction with a DSP core, a plurality of microprocessors, or any other suitable configuration.
  • For an implementation involving firmware and/or software, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, firmware/software codes may be stored in a memory and executed by a processor/computer to cause the processor/computer to perform functions. Memory may be implemented within the processor or external to the processor. As used herein the term “memory” refers to any type of long term, short term, volatile, nonvolatile, or other memory and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
  • If implemented in firmware and/or software, the functions may be stored as one or more instructions or code on a computer-readable medium. Examples include computer-readable media encoded with a data structure and computer-readable media encoded with a computer program. Computer-readable media may take the form of a computer program product. Computer-readable media includes physical computer storage media. A storage medium may be any available medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, semiconductor storage, or other storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer; disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
  • In addition to storage on computer-readable medium, instructions and/or data may be provided as signals on transmission media included in a communication apparatus. For example, a communication apparatus may include a transceiver having signals indicative of instructions and data. The instructions and data are configured to cause one or more processors to implement the functions outlined in the claims. That is, the communication apparatus includes transmission media with signals indicative of information to perform disclosed functions. At a first time, the transmission media included in the communication apparatus may include a first portion of the information to perform the disclosed functions, while at a second time the transmission media included in the communication apparatus may include a second portion of the information to perform the disclosed functions.
  • Headings are included herein for reference and to aid in locating certain sections. These headings are not intended to limit the scope of the concepts described therein under, and these concepts may have applicability in other sections throughout the entire specification.
  • The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples and designs described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (21)

What is claimed is:
1. A method of supporting location services, the method comprising:
establishing a first communication session between a server and a reference mobile terminal;
obtaining, at the server, a location of the reference mobile terminal;
establishing a second communication session between the server and a target mobile terminal; and
either:
(1) sending, from the server to the target mobile terminal, the location of the reference mobile terminal and a trigger parameter associated with a trigger event, the trigger parameter defining a moving geographical target area that is associated with a location of the reference mobile terminal and that is configured to move in synch with the reference mobile terminal; and
receiving, at the server from the target mobile terminal, an indication that the trigger event has occurred; or
(2) determining, at the server, a location of the moving geographical target area based on the location of the reference mobile terminal;
determining, at the server, a location of the target mobile terminal relative to the moving geographical target area based at least in part on at least one location related measurement for the target mobile terminal; and
determining, at the server, whether the trigger event has occurred based at least in part on the location of the target mobile terminal relative to the moving geographical target area;
wherein the trigger event comprises the target mobile terminal being inside the moving geographical target area, the target mobile terminal being outside the moving geographical target area, the target mobile terminal entering the moving geographical target area, the target mobile terminal leaving the moving geographical target area, or a combination thereof.
2. The method of claim 1, wherein a shape of the moving geographical target area is a circular area centered at the location of the reference mobile terminal and having a predefined radius.
3. The method of claim 1, wherein the at least one location related measurement for the target mobile terminal is obtained based on at least one signal exchanged between the target mobile terminal and the reference mobile terminal.
4. The method of claim 1, wherein the method comprises the sending the location of the reference mobile terminal and the trigger parameter to the target mobile terminal and wherein the trigger parameter includes a Secure User Plane Location (SUPL) trigger parameter.
5. The method of claim 1, wherein the method comprises the determining, at the server, the location of the target mobile terminal relative to the moving geographical target area, the method further comprising:
exchanging Secure User Plane Location (SUPL) messages to obtain the at least one location related measurement.
6. The method of claim 1, wherein the moving geographical target area comprises a complex polygon.
7. A server for supporting location services, the server comprising:
means for establishing a first communication session with a reference mobile terminal and a second communication session between the server and a target mobile terminal;
means for obtaining a location of the reference mobile terminal using the first communication session; and
either:
(1) means for sending, to the target mobile terminal, the location of the reference mobile terminal and a trigger parameter associated with a trigger event, the trigger parameter defining a moving geographical target area that is associated with a location of the reference mobile terminal and that is configured to move in synch with the reference mobile terminal; and
means for receiving, from the target mobile terminal, an indication that the trigger event has occurred; or
(2) means for determining a location of the moving geographical target area based on the location of the reference mobile terminal;
means for determining a location of the target mobile terminal relative to the moving geographical target area based at least in part on at least one location related measurement for the target mobile terminal; and
means for determining whether the trigger event has occurred based at least in part on the location of the target mobile terminal relative to the moving geographical target area;
wherein the trigger event comprises the target mobile terminal being inside the moving geographical target area, the target mobile terminal being outside the moving geographical target area, the target mobile terminal entering the moving geographical target area, the target mobile terminal leaving the moving geographical target area, or a combination thereof.
8. The server of claim 7, wherein a shape of the moving geographical target area is a circular area centered at the location of the reference mobile terminal and having a predefined radius.
9. The server of claim 7, wherein the server comprises the means for sending the location of the reference mobile terminal and the trigger parameter to the target mobile terminal and wherein the trigger parameter includes a Secure User Plane Location (SUPL) trigger parameter.
10. The server of claim 7, wherein the server comprises the means for determining the location of the target mobile terminal relative to the moving geographical target area, the server further comprising:
means for exchanging Secure User Plane Location (SUPL) messages to obtain the at least one location related measurement.
11. The server of claim 7, wherein the moving geographical target area comprises a complex polygon.
12. A server for supporting location services, the server comprising:
a processor configured to:
establish a first communication session with a reference mobile terminal and a second communication session between the server and a target mobile terminal;
obtain a location of the reference mobile terminal using the first communication session; and
either:
(1) send, to the target mobile terminal, the location of the reference mobile terminal and a trigger parameter associated with a trigger event, the trigger parameter defining a moving geographical target area that is associated with a location of the reference mobile terminal and that is configured to move in synch with the reference mobile terminal; and
receive, from the target mobile terminal, an indication that the trigger event has occurred; or
(2) determine a location of the moving geographical target area based on the location of the reference mobile terminal;
determine a location of the target mobile terminal relative to the moving geographical target area based at least in part on at least one location related measurement for the target mobile terminal; and
determine whether the trigger event has occurred based at least in part on the location of the target mobile terminal relative to the moving geographical target area;
wherein the trigger event comprises the target mobile terminal being inside the moving geographical target area, the target mobile terminal being outside the moving geographical target area, the target mobile terminal entering the moving geographical target area, the target mobile terminal leaving the moving geographical target area, or a combination thereof.
13. The server of claim 12, wherein a shape of the moving geographical target area is a circular area centered at the location of the reference mobile terminal and having a predefined radius.
14. The server of claim 12, wherein the processor is configured to send the location of the reference mobile terminal and the trigger parameter to the target mobile terminal and wherein the trigger parameter includes a Secure User Plane Location (SUPL) trigger parameter.
15. The server of claim 12, wherein the processor is configured to determine the location of the target mobile terminal relative to the moving geographical target area, and wherein the processor is configured to exchange Secure User Plane Location (SUPL) messages to obtain the at least one location related measurement.
16. The server of claim 12, wherein the moving geographical target area comprises a complex polygon.
17. A non-transitory computer-readable medium residing on a server that includes at least one computer, the computer-readable medium comprising code to cause the at least one computer to:
establish a first communication session with a reference mobile terminal and a second communication session between the server and a target mobile terminal;
obtain a location of the reference mobile terminal using the first communication session; and
either:
(1) send, to the target mobile terminal, the location of the reference mobile terminal and a trigger parameter associated with a trigger event, the trigger parameter defining a moving geographical target area that is associated with a location of the reference mobile terminal and that is configured to move in synch with the reference mobile terminal; and
receive, from the target mobile terminal, an indication that the trigger event has occurred; or
(2) determine a location of the moving geographical target area based on the location of the reference mobile terminal;
determine a location of the target mobile terminal relative to the moving geographical target area based at least in part on at least one location related measurement for the target mobile terminal; and
determine whether the trigger event has occurred based at least in part on the location of the target mobile terminal relative to the moving geographical target area;
wherein the trigger event comprises the target mobile terminal being inside the moving geographical target area, the target mobile terminal being outside the moving geographical target area, the target mobile terminal entering the moving geographical target area, the target mobile terminal leaving the moving geographical target area, or a combination thereof.
18. The computer-readable medium of claim 17, wherein a shape of the moving geographical target area is a circular area centered at the location of the reference mobile terminal and having a predefined radius.
19. The computer-readable medium of claim 17, wherein the code is configured to cause the at least one computer to send the location of the reference mobile terminal and the trigger parameter to the target mobile terminal and wherein the trigger parameter includes a Secure User Plane Location (SUPL) trigger parameter.
20. The computer-readable medium of claim 17, wherein the code is configured to cause the at least one computer to determine the location of the target mobile terminal relative to the moving geographical target area, and wherein the code is configured to cause the at least one computer to exchange Secure User Plane Location (SUPL) messages to obtain the at least one location related measurement.
21. The computer-readable medium of claim 17, wherein the moving geographical target area comprises a complex polygon.
US14/746,627 2009-02-09 2015-06-22 Triggered location services Abandoned US20150319574A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/746,627 US20150319574A1 (en) 2009-02-09 2015-06-22 Triggered location services

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15108909P 2009-02-09 2009-02-09
US12/702,159 US9125018B2 (en) 2009-02-09 2010-02-08 Triggered location services
US14/746,627 US20150319574A1 (en) 2009-02-09 2015-06-22 Triggered location services

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/702,159 Continuation US9125018B2 (en) 2009-02-09 2010-02-08 Triggered location services

Publications (1)

Publication Number Publication Date
US20150319574A1 true US20150319574A1 (en) 2015-11-05

Family

ID=42540853

Family Applications (3)

Application Number Title Priority Date Filing Date
US12/702,159 Active 2030-12-20 US9125018B2 (en) 2009-02-09 2010-02-08 Triggered location services
US13/423,037 Abandoned US20120202524A1 (en) 2009-02-09 2012-03-16 Triggered location services
US14/746,627 Abandoned US20150319574A1 (en) 2009-02-09 2015-06-22 Triggered location services

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US12/702,159 Active 2030-12-20 US9125018B2 (en) 2009-02-09 2010-02-08 Triggered location services
US13/423,037 Abandoned US20120202524A1 (en) 2009-02-09 2012-03-16 Triggered location services

Country Status (18)

Country Link
US (3) US9125018B2 (en)
EP (2) EP2477420A1 (en)
JP (4) JP5350493B2 (en)
KR (1) KR101363011B1 (en)
CN (2) CN102405656B (en)
AU (1) AU2010210352B2 (en)
BR (2) BRPI1008193A2 (en)
CA (2) CA2852348A1 (en)
HK (1) HK1167220A1 (en)
IL (2) IL214388A (en)
MY (1) MY159470A (en)
PH (1) PH12015501329B1 (en)
RU (1) RU2491767C2 (en)
SG (2) SG173480A1 (en)
TW (1) TWI505729B (en)
UA (2) UA100800C2 (en)
WO (1) WO2010091424A2 (en)
ZA (1) ZA201106593B (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150296346A1 (en) * 2014-04-11 2015-10-15 ACR Development, Inc. User location tracking
US20160242005A1 (en) * 2015-02-15 2016-08-18 Sony Corporation Communication device and communication method for wireless communications
CN106254426A (en) * 2016-07-20 2016-12-21 杭州网易云音乐科技有限公司 A kind of method and apparatus being carried out by terminal blowing a whistle
US9818075B2 (en) 2014-04-11 2017-11-14 ACR Development, Inc. Automated user task management
US20190213173A1 (en) * 2013-03-15 2019-07-11 Factual Inc. Apparatus, systems, and methods for analyzing movements of target entities
US10681199B2 (en) 2006-03-24 2020-06-09 Uber Technologies, Inc. Wireless device with an aggregate user interface for controlling other devices
US10687166B2 (en) 2004-09-30 2020-06-16 Uber Technologies, Inc. Obtaining user assistance
US10872365B2 (en) 2004-09-30 2020-12-22 Uber Technologies, Inc. Supply-chain side assistance
US11189154B2 (en) 2014-07-31 2021-11-30 Samsung Electronics Co., Ltd. Terminal and a method of controlling the same based on a state of the terminal
US11669785B2 (en) 2014-05-06 2023-06-06 Uber Technologies, Inc. System and methods for verifying that one or more directives that direct transport of a second end user does not conflict with one or more obligations to transport a first end user

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101366283B1 (en) * 2007-10-15 2014-02-20 엘지전자 주식회사 Method for perporming supl based location service
KR101366282B1 (en) * 2007-10-15 2014-02-20 엘지전자 주식회사 Method for performing triggered session in triggered location service based on supl
US9125018B2 (en) * 2009-02-09 2015-09-01 Qualcomm Incorporated Triggered location services
US8566022B1 (en) 2010-02-09 2013-10-22 Google Inc. Managing use of location-identification services
US9760885B1 (en) * 2010-03-23 2017-09-12 Amazon Technologies, Inc. Hierarchical device relationships for geolocation-based transactions
US8929918B2 (en) * 2010-04-07 2015-01-06 Telefonaktiebolaget L M Ericsson (Publ) Positioning and location services using civic address information
US9507027B2 (en) 2010-08-06 2016-11-29 Qualcomm Incorporated Determining location of a target device based on relative change in location information
US10063642B2 (en) 2010-08-21 2018-08-28 Qualcomm Incorporated Method and apparatus for supporting location services via a generic location session
US8588870B1 (en) * 2010-10-15 2013-11-19 Sprint Spectrum L.P. Method and system for reducing resource consumption to extend battery life based on an estimated time to destination
GB2487090A (en) * 2011-01-10 2012-07-11 Nec Corp Obtaining user consent for provision of location related data in association with measurement of communication conditions
US8943160B2 (en) 2011-01-18 2015-01-27 Htc Corporation Methods for controlling ongoing triggered SUPL session by SLP and network-side SUPL agent
US20120250662A1 (en) * 2011-03-29 2012-10-04 Innovative Sonic Corporation Method and apparatus to avoid higher random access (ra) failure rate due to a solution for in-device coexistence interference in a wireless communication system
GB2490104B (en) * 2011-04-12 2015-03-11 Assist Mi Ltd A method of tracking and communicating information about a person to a provider of goods or services
US20120276922A1 (en) * 2011-04-28 2012-11-01 Ho-Sung Chien Method of Handling Velocity Triggered SUPL Service and Related Communication Device
CN102934489B (en) * 2011-06-07 2015-04-29 华为技术有限公司 Method, device and system for reporting location
US20150138300A1 (en) * 2011-09-02 2015-05-21 Microsoft Technology Licensing, Llc Mobile Video Calls
EP2595418B1 (en) 2011-11-18 2019-05-01 Samsung Electronics Co., Ltd Method and apparatus for providing an alert on a user equipment entering an alerting area
GB2500212A (en) * 2012-03-13 2013-09-18 Validsoft Uk Ltd Method for location based authentication of transaction
CN107205269B (en) * 2012-04-27 2020-06-16 华为技术有限公司 Method, device and system for positioning terminal
US9516104B2 (en) * 2013-09-11 2016-12-06 Telecommunication Systems, Inc. Intelligent load balancer enhanced routing
KR102170394B1 (en) * 2014-08-04 2020-10-27 주식회사 엘지유플러스 Terminal and service server for providing promotion information based on recognizing status and operating method thereof
CN105472533A (en) * 2014-09-12 2016-04-06 北京奇虎科技有限公司 Communication connection detection method between portable mobile devices, terminal, server and system
CN105072186B (en) * 2015-08-14 2019-08-30 深圳市元征科技股份有限公司 A kind of method, relevant device and system that position is shared
CN105611499B (en) * 2016-01-15 2019-04-19 宇龙计算机通信科技(深圳)有限公司 Control plane signal processing method and system in a kind of V2V transmission mechanism
US10820336B2 (en) * 2016-04-01 2020-10-27 Intel Corporation Geo-information reporting for vehicle-to-vehicle sidelink communications
CN107404566B (en) * 2016-05-19 2020-05-12 中国移动通信集团设计院有限公司 Terminal scene judging method and device
US11678291B2 (en) 2016-08-21 2023-06-13 Qualcomm Incorporated Methods and systems for support of location for the Internet of Things
US11405863B2 (en) 2016-10-05 2022-08-02 Qualcomm Incorporated Systems and methods to enable combined periodic and triggered location of a mobile device
CN114143714B (en) * 2016-11-07 2024-08-13 高通股份有限公司 System and method for enabling combined cycle and trigger positioning of mobile devices
WO2018141368A1 (en) 2017-01-31 2018-08-09 Verizon Connect Ireland Limited System and method for detecting and classifying recurrent stops of a vehicle fleet
US20180330555A1 (en) * 2017-05-12 2018-11-15 Walmart Apollo, Llc Quick parking systems and methods
WO2021072940A1 (en) * 2019-10-18 2021-04-22 珠海优特电力科技股份有限公司 Electronic lock and control method therefor
CN113411740A (en) * 2020-03-17 2021-09-17 海能达通信股份有限公司 Method and device for reporting terminal position information
US12108305B2 (en) 2020-09-29 2024-10-01 Qualcomm Incorporated System and methods for power efficient positioning of a mobile device
CN117296383A (en) * 2021-05-07 2023-12-26 上海诺基亚贝尔股份有限公司 Apparatus, method and computer program
CN115150807B (en) * 2022-09-06 2022-12-20 北京全路通信信号研究设计院集团有限公司 Position management method and system
WO2024073308A1 (en) * 2022-09-27 2024-04-04 Interdigital Patent Holdings, Inc. Global navigation satellite system (gnss) reporting for reduced capability devices
CN116493787B (en) * 2023-06-21 2023-11-28 深圳市圭华智能科技有限公司 Synchronous trigger system for micron-sized laser and motion platform position

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070182547A1 (en) * 2005-08-25 2007-08-09 Andreas Wachter Location reporting with Secure User Plane Location (SUPL)
US20110117922A1 (en) * 2005-05-31 2011-05-19 Erik Reitsma Positioning in a Mobile Communications System

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155689A (en) * 1991-01-17 1992-10-13 By-Word Technologies, Inc. Vehicle locating and communicating method and apparatus
JP3424328B2 (en) * 1994-06-21 2003-07-07 株式会社日立製作所 Mobile terminal device
JPH1175244A (en) 1997-08-29 1999-03-16 Mitsubishi Electric Corp Portable terminal
US6606561B2 (en) 2000-05-17 2003-08-12 Omega Patents, L.L.C. Vehicle tracker including input/output features and related methods
US6308120B1 (en) * 2000-06-29 2001-10-23 U-Haul International, Inc. Vehicle service status tracking system and method
US6529136B2 (en) 2001-02-28 2003-03-04 International Business Machines Corporation Group notification system and method for implementing and indicating the proximity of individuals or groups to other individuals or groups
US7813741B2 (en) * 2001-07-18 2010-10-12 Decarta Inc. System and method for initiating responses to location-based events
ATE447311T1 (en) * 2001-11-21 2009-11-15 Ericsson Telefon Ab L M SPEED TREATMENT IN LOCATION SERVICES
JP4168714B2 (en) 2001-12-17 2008-10-22 ソニー株式会社 COMMUNICATION DEVICE AND METHOD, RECORDING MEDIUM, AND PROGRAM
GB0223498D0 (en) * 2002-10-09 2002-11-13 Nokia Corp Provision of information regarding a mobile station
WO2004059996A1 (en) * 2002-12-27 2004-07-15 Nokia Corporation Location based services for mobile communication terminals
US6940451B2 (en) * 2003-02-19 2005-09-06 Nokia Corporation Provision of navigation information
US8694504B2 (en) 2003-03-05 2014-04-08 Spore, Inc. Methods and systems for technology analysis and mapping
US20050044223A1 (en) * 2003-06-24 2005-02-24 Randy Meyerson Method and apparatus for entitlement based dynamic sampling
US7738881B2 (en) 2003-07-22 2010-06-15 Microsoft Corporation Systems for determining the approximate location of a device from ambient signals
CN1277443C (en) * 2003-11-20 2006-09-27 华为技术有限公司 Treatment method of periodic position information request
US7660590B2 (en) * 2003-12-23 2010-02-09 At&T Mobility Ii Llc Terminal-based server for location tracking
CN1625068A (en) * 2004-07-13 2005-06-08 吴裕策 Over-distance alarm mobile phone
GB2416419B (en) * 2004-07-19 2008-10-15 Autoliv Dev Improvements in or relating to an arrangement for triggering a vehicle safety device
ATE525296T1 (en) * 2004-07-28 2011-10-15 Toyo Seikan Kaisha Ltd METHOD FOR PRODUCING RESIN CONTAINER AND APPARATUS FOR PRODUCING RESIN CONTAINER
US7974639B2 (en) * 2005-02-04 2011-07-05 Qualcomm Incorporated Method and apparatus for performing position determination with a short circuit call flow
JP2006279859A (en) 2005-03-30 2006-10-12 Hitachi Ltd Mobile object movement actual condition information providing system, location information collection device, car navigation device, and mobile object movement actual condition information providing method
US20060234727A1 (en) * 2005-04-13 2006-10-19 Wirelesswerx International, Inc. Method and System for Initiating and Handling an Emergency Call
US8099112B2 (en) 2005-04-18 2012-01-17 Nokia Corporation Network entity, method and computer program product for dynamically changing a request for location information
RU2404545C2 (en) * 2005-04-29 2010-11-20 ЭлДжи ЭЛЕКТРОНИКС ИНК. Method for transfer of information about location
JP4993386B2 (en) 2005-04-29 2012-08-08 エルジー エレクトロニクス インコーポレイティド Location information transmission method
KR20060114569A (en) 2005-05-02 2006-11-07 (주) 위즈도메인 An operating methods for patent information system
US9154907B2 (en) * 2005-06-21 2015-10-06 Qualcomm Incorporated Efficient periodic location reporting in a radio access network
US8792902B2 (en) * 2005-06-21 2014-07-29 Qualcomm Incorporated Method and apparatus for providing location services with short-circuited message flows
US8600410B2 (en) * 2005-07-28 2013-12-03 Unwired Planet, Llc Wireless network with adaptive autonomous location push
KR100690877B1 (en) 2005-08-11 2007-03-09 엘지전자 주식회사 Periodic positioning method in mobile communication system
CA2609148C (en) 2005-08-11 2013-11-26 Lg Electronics Inc. Area-based positioning method in mobile communications system
KR20070039855A (en) 2005-10-10 2007-04-13 삼성전자주식회사 Location service providing system and method for providing triggered location request service using a previously calculated position thereof
US8437958B2 (en) * 2005-11-14 2013-05-07 General Motors Llc Method and system for providing wireless connection conditions along a navigation route
US7873370B2 (en) * 2005-12-01 2011-01-18 Lg Electronics Inc. Location information system and method for performing notification based upon location
KR100893072B1 (en) 2006-01-26 2009-04-17 엘지전자 주식회사 Method for requesting triggered location service between terminals in location information system
US7813325B2 (en) 2006-03-03 2010-10-12 Sony Ericsson Mobile Communications Ab Location information communication
CN100446625C (en) 2006-03-20 2008-12-24 华为技术有限公司 Extending trigger positioning method and device
CN100428862C (en) 2006-03-20 2008-10-22 华为技术有限公司 Zone trigger positioning method and device
CN101083478B (en) * 2006-06-02 2011-04-06 周鹏 Anti-theft mobile terminal and its anti-theft process
KR100739004B1 (en) * 2006-07-10 2007-07-13 삼성전자주식회사 System and mobile terminal for storing data into web storage by using wireless lan service and method thereof
US20080014964A1 (en) * 2006-07-12 2008-01-17 Loc-Aid Technologies, Inc. System and method for generating use statistics for location-based applications
US20090002147A1 (en) 2006-08-30 2009-01-01 Sony Ericsson Mobile Communications Ab Method for safe operation of mobile phone in a car environment
US7697917B2 (en) 2006-08-30 2010-04-13 Sony Ericsson Mobile Communications Ab Method for safe operation of mobile phone in a car environment
KR100735407B1 (en) 2006-09-18 2007-07-04 삼성전기주식회사 Apparatus and method for estimating distance using time of arrival
US7822384B2 (en) * 2006-10-12 2010-10-26 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for providing mobile ad hoc cooperative communication systems and related devices
US7831264B2 (en) 2006-10-23 2010-11-09 Sony Ericsson Mobile Communications Ab Tracking a group of mobile terminals
US7822547B2 (en) * 2006-11-09 2010-10-26 Nokia Corporation Apparatus and method for enhancing the utilization of distance measuring devices
GB2443864B (en) 2006-11-15 2009-02-11 Motorola Inc Mobile station, wireless communication system and method of operation
WO2008094685A1 (en) * 2007-02-01 2008-08-07 Global Trek Xploration Corp. System and method for monitoring the location of a tracking device
US7561063B2 (en) 2007-03-05 2009-07-14 Sony Ericsson Mobile Communications Ab Mobile terminals including location management systems and location management methods for mobile terminals
US8150418B2 (en) 2007-03-28 2012-04-03 At&T Intellectual Property I, Lp Methods and systems for proximity-based monitoring of wireless devices
JP4996999B2 (en) * 2007-07-04 2012-08-08 株式会社エヌ・ティ・ティ・ドコモ Wide area communication / direct communication switching system and wide area communication / direct communication switching method
GB2464427B (en) * 2007-08-10 2012-04-04 Lg Electronics Inc Method of reporting measurement result in wireless communication system
US8600391B2 (en) * 2008-11-24 2013-12-03 Ringcentral, Inc. Call management for location-aware mobile devices
KR20090036714A (en) 2007-10-10 2009-04-15 삼성전자주식회사 Portable terminal using sim application toolkit and method for providing location information thereof
US8554243B2 (en) 2007-12-04 2013-10-08 Blackberry Limited Mobile tracking
US8275346B2 (en) * 2008-01-15 2012-09-25 Logicmark, Llc Wireless, centralized emergency services system
US20090268828A1 (en) * 2008-04-25 2009-10-29 Adc Telecommunications, Inc. Systems and methods for doppler shift compensation in ofdma communications
US9125018B2 (en) 2009-02-09 2015-09-01 Qualcomm Incorporated Triggered location services

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110117922A1 (en) * 2005-05-31 2011-05-19 Erik Reitsma Positioning in a Mobile Communications System
US20070182547A1 (en) * 2005-08-25 2007-08-09 Andreas Wachter Location reporting with Secure User Plane Location (SUPL)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10872365B2 (en) 2004-09-30 2020-12-22 Uber Technologies, Inc. Supply-chain side assistance
US10687166B2 (en) 2004-09-30 2020-06-16 Uber Technologies, Inc. Obtaining user assistance
US10681199B2 (en) 2006-03-24 2020-06-09 Uber Technologies, Inc. Wireless device with an aggregate user interface for controlling other devices
US11012552B2 (en) 2006-03-24 2021-05-18 Uber Technologies, Inc. Wireless device with an aggregate user interface for controlling other devices
US10891269B2 (en) 2013-03-15 2021-01-12 Factual, Inc. Apparatus, systems, and methods for batch and realtime data processing
US10831725B2 (en) 2013-03-15 2020-11-10 Factual, Inc. Apparatus, systems, and methods for grouping data records
US10817482B2 (en) 2013-03-15 2020-10-27 Factual Inc. Apparatus, systems, and methods for crowdsourcing domain specific intelligence
US10459896B2 (en) 2013-03-15 2019-10-29 Factual Inc. Apparatus, systems, and methods for providing location information
US10579600B2 (en) * 2013-03-15 2020-03-03 Factual Inc. Apparatus, systems, and methods for analyzing movements of target entities
US10817484B2 (en) 2013-03-15 2020-10-27 Factual Inc. Apparatus, systems, and methods for providing location information
US11468019B2 (en) 2013-03-15 2022-10-11 Foursquare Labs, Inc. Apparatus, systems, and methods for analyzing characteristics of entities of interest
US11762818B2 (en) 2013-03-15 2023-09-19 Foursquare Labs, Inc. Apparatus, systems, and methods for analyzing movements of target entities
US11461289B2 (en) 2013-03-15 2022-10-04 Foursquare Labs, Inc. Apparatus, systems, and methods for providing location information
US20190213173A1 (en) * 2013-03-15 2019-07-11 Factual Inc. Apparatus, systems, and methods for analyzing movements of target entities
US10866937B2 (en) 2013-03-15 2020-12-15 Factual Inc. Apparatus, systems, and methods for analyzing movements of target entities
US20150296346A1 (en) * 2014-04-11 2015-10-15 ACR Development, Inc. User location tracking
US9818075B2 (en) 2014-04-11 2017-11-14 ACR Development, Inc. Automated user task management
US11669785B2 (en) 2014-05-06 2023-06-06 Uber Technologies, Inc. System and methods for verifying that one or more directives that direct transport of a second end user does not conflict with one or more obligations to transport a first end user
US11189154B2 (en) 2014-07-31 2021-11-30 Samsung Electronics Co., Ltd. Terminal and a method of controlling the same based on a state of the terminal
US20160242005A1 (en) * 2015-02-15 2016-08-18 Sony Corporation Communication device and communication method for wireless communications
US9813869B2 (en) * 2015-02-15 2017-11-07 Sony Corporation Communication device and communication method for wireless communications
US10462607B2 (en) 2015-02-15 2019-10-29 Sony Corporation Communication device and communication method for wireless communications
CN106254426A (en) * 2016-07-20 2016-12-21 杭州网易云音乐科技有限公司 A kind of method and apparatus being carried out by terminal blowing a whistle

Also Published As

Publication number Publication date
US20100203902A1 (en) 2010-08-12
UA100800C2 (en) 2013-01-25
PH12015501329A1 (en) 2016-07-25
JP2015029286A (en) 2015-02-12
JP6105136B2 (en) 2017-03-29
CN103997714A (en) 2014-08-20
SG173480A1 (en) 2011-09-29
TW201110743A (en) 2011-03-16
IL239413A0 (en) 2015-07-30
EP2394446A2 (en) 2011-12-14
IL214388A0 (en) 2011-09-27
SG2014010474A (en) 2014-05-29
WO2010091424A3 (en) 2010-12-02
US9125018B2 (en) 2015-09-01
PH12015501329B1 (en) 2016-07-25
CA2751740A1 (en) 2010-08-12
IL214388A (en) 2016-02-29
BRPI1008193A2 (en) 2016-03-01
CA2751740C (en) 2016-07-12
KR101363011B1 (en) 2014-02-13
JP5350493B2 (en) 2013-11-27
CN102405656B (en) 2015-09-30
CN103997714B (en) 2017-12-08
WO2010091424A2 (en) 2010-08-12
RU2011137144A (en) 2013-03-20
JP2013243696A (en) 2013-12-05
HK1167220A1 (en) 2012-11-23
ZA201106593B (en) 2012-05-30
TWI505729B (en) 2015-10-21
KR20110118159A (en) 2011-10-28
JP2012517746A (en) 2012-08-02
JP2016226006A (en) 2016-12-28
RU2491767C2 (en) 2013-08-27
CA2852348A1 (en) 2010-08-12
AU2010210352A1 (en) 2011-08-25
EP2394446B1 (en) 2018-01-10
EP2477420A1 (en) 2012-07-18
BR122013003764A2 (en) 2016-03-22
AU2010210352B2 (en) 2014-08-14
CN102405656A (en) 2012-04-04
US20120202524A1 (en) 2012-08-09
IL239413A (en) 2016-10-31
MY159470A (en) 2017-01-13
UA107680C2 (en) 2015-02-10

Similar Documents

Publication Publication Date Title
US9125018B2 (en) Triggered location services
EP2942929B1 (en) Method and apparatus for supporting location services with a streamlined location service layer
EP3794848B1 (en) Location of a mobile device with wireless access using a user plane location solution
KR101450289B1 (en) Positioning protocol conveyance
US20230362592A1 (en) Systems and methods for periodic and triggered event reporting via user plane
AU2013216633B2 (en) Triggered location services
TWI857995B (en) Systems and methods for location reporting with low latency for wireless networks

Legal Events

Date Code Title Description
AS Assignment

Owner name: QUALCOMM INCORPORATED, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WACHTER, ANDREAS K.;EDGE, STEPHEN W.;BURROUGHS, KIRK ALLAN;SIGNING DATES FROM 20100218 TO 20100308;REEL/FRAME:036132/0785

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE