Wireless devices frequently communicate with each other via multi-message exchange communication protocols. For example, in some embodiments, LPP protocol messages are used to transport location specific information via non-access stratum (NAS) protocol data unit (PDU) messages. If there are network problems, messages, of the message exchange, may get dropped, but may get re-transmitted. In some embodiments, failure to complete an exchange within some pre-determined time period (e.g., transmitting or retransmitting a request, and receiving an acknowledgement in response thereto) may cause communication session failure (e.g., LPP session failure).
In some variations, an example method is provided that includes, at a first processor-based wireless device, transmitting at a first time instance, from the first wireless device to a second wireless device, a wireless message including message content, and dynamically determining an adjustable timeout interval based, at least in part, on one or more network characteristics associated with a network comprising the first wireless device, the second wireless device, or both the first wireless device and the second wireless device. The example method further includes transmitting at least one subsequent wireless message including at least some of the message content of the wireless message upon a determination that an acknowledgement message responsive to the wireless message transmitted at the first time instance was not received at the first wireless device within a time period, subsequent to the first time instance, greater or equal to the determined adjustable timeout interval.
In some variations, an example wireless device is provided that includes one or more processors configured to dynamically determine an adjustable timeout interval based, at least in part, on one or more network characteristics associated with a network comprising the example wireless device, another wireless device, or both the example wireless device and the other wireless device. The example wireless device further includes at least one transceiver, coupled to the one or more processors, configured to transmit at a first time instance, from the example wireless device to the other wireless device, a wireless message including message content, and transmit at least one subsequent wireless message including at least some of the message content of the wireless message upon a determination that an acknowledgement message responsive to the wireless message transmitted at the first time instance was not received at the example wireless device within a time period, subsequent to the first time instance, greater or equal to the determined adjustable timeout interval.
In some variations, an example apparatus is provided that includes means for transmitting at a first time instance, from a first wireless device to a second wireless device, a wireless message including message content, and means for dynamically determining an adjustable timeout interval based, at least in part, on one or more network characteristics associated with a network comprising the first wireless device, the second wireless device, or both the first wireless device and the second wireless device. The example apparatus further includes means for transmitting at least one subsequent wireless message including at least some of the message content of the wireless message upon a determination that an acknowledgement message responsive to the wireless message transmitted at the first time instance was not received at the first wireless device within a time period, subsequent to the first time instance, greater or equal to the determined adjustable timeout interval.
In some variations, example non-transitory computer readable media are provided. The example computer readable media are programmed with instructions, executable on a processor, to transmit at a first time instance, from a first wireless device to a second wireless device, a wireless message including message content, and dynamically determine an adjustable timeout interval based, at least in part, on one or more network characteristics associated with a network comprising the first wireless device, the second wireless device, or both the first wireless device and the second wireless device. The example computer readable media are also programmed with further instructions to transmit at least one subsequent wireless message including at least some of the message content of the wireless message upon a determination that an acknowledgement message responsive to the wireless message transmitted at the first time instance was not received at the first wireless device within a time period, subsequent to the first time instance, greater or equal to the determined adjustable timeout interval.
Other and further objects, features, aspects, and advantages of the present disclosure will become better understood with the following detailed description of the accompanying drawings.
Like reference symbols in the various drawings indicate like elements, in accordance with certain example implementations.
Described herein are methods, systems, devices, computer readable media, and other implementations, for dynamically managing message transmission (e.g., transmission/retransmission of subsequent wireless messages that have similar or same content as an earlier unacknowledged wireless message) in a communication protocol. Example embodiments include a method including, at a first processor-based wireless device, transmitting at a first time instance, from the first wireless device to a second wireless device, a wireless message including message content, dynamically determining an adjustable timeout interval based, at least in part, on one or more network characteristics associated with a network comprising the first wireless device, the second wireless device, or both the first wireless device and the second wireless device, and transmitting at least one subsequent wireless message including at least some of the message content of the wireless message upon a determination that an acknowledgement message responsive to the wireless message transmitted at the first time instance was not received at the first wireless device within a time period, subsequent to the first time instance, greater or equal to the determined adjustable timeout interval. In some embodiments, the wireless message may include a long-term evolution positioning protocol (LPP) message. In some embodiments, determining the adjustable timeout interval may include determining subsequent time instances at which the at least one subsequent wireless message, which may have the same or similar content as the wireless message transmitted at the first time instance, is to be transmitted, with the subsequent time instances determined based, for example, on time remaining before a current session between the first wireless device and the second wireless device is concluded. Thus, for example, if a current session (e.g., an LPP session) is about to expire, the adjustable timeout interval may be shortened so that transmission of a subsequent wireless message, and possibly several subsequent transmissions of subsequent wireless messages with content similar to that included in the original wireless message (i.e., effectively re-transmission of the original wireless message), if necessary, can be performed before the current session expires.
With reference to
The mobile device 108 (as well as any other device depicted in
As noted, the environment 100 may contain one or more different types of wireless communication systems or nodes. Such nodes include wireless access points (or WAPs) and may include LAN and/or WAN wireless transceivers, including, for example, WiFi base stations, femto cell transceivers, Bluetooth® wireless technology transceivers, cellular base stations, WiMax transceivers, etc. Thus, for example, and with continued reference to
As further illustrated, the environment 100 may also include a plurality of one or more types of the Wide Area Network Wireless Access Points (WAN-WAPs) 104a-c, which may be used for wireless voice and/or data communication, and may also serve as another source of independent information through which the mobile wireless device 108 may determine its position/location. The WAN-WAPs 104a-c may be part of wide area wireless network (WWAN), which may include cellular base stations, and/or other wide area wireless systems, such as, for example, WiMAX (e.g., 802.16). A WWAN may include other known network components which are not shown in
Communication to and from the mobile device 108 (to exchange data, provide location determination operations and services to the device 108, etc.) may be implemented, in some embodiments, using various wireless communication networks and/or technologies such as a wide area wireless network (WWAN), a wireless local area network (WLAN), a wireless personal area network (WPAN), and so on. The term “network” and “system” may be 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 WiMax (IEEE 802.16), 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/or 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. In some embodiments, 4G networks, Long Term Evolution (“LTE”) networks, Advanced LTE networks, Ultra Mobile Broadband (UMB) networks, and all other types of cellular communications networks may also be implemented and used with the systems, methods, and other implementations described herein. A WLAN may also be implemented, at least in part, using an IEEE 802.11x network, and a WPAN may be a Bluetooth® wireless technology network, an IEEE 802.15x, or some other type of network. The techniques described herein may also be used for any combination of WWAN, WLAN and/or WPAN.
In some embodiments, and as further depicted in
As further shown in
In embodiments in which the server 110 is a location server, the location server may be an Evolved Serving Mobile Location Center (E-SMLC). In some implementations, the location server may communicate with a Mobility Management Entity (MME; not shown), configured to perform various control functions such as mobility management, gateway selection, authentication, bearer management, etc. Such an MME system may also be in communication with one or more of the wireless devices depicted in
In some embodiments, the server 110 may implement such protocols as an LTE Positioning Protocol (LPP) and/or the LPP Extensions (LPPe) protocol for direct communication and to control and transfer measurements. The LPP protocol is defined by 3GPP, and the ULP and LPPe protocols are defined by the Open Mobile Alliance (OMA). Other communication protocols that may be implemented by the server 110 may include protocols as Secure User plane Location (SUPL), User plane Location Protocol (ULP), etc.
Thus, in some embodiments, the mobile device 108 may communicate with any one or a combination of the SPS satellites 102a-b, the WAN-WAPs 104a-c, the LAN-WAPs 106a-e, the server 110, and/or the mobile wireless devices 118 and 128. In some embodiments, each of the aforementioned systems can provide an independent information estimate of the position for the mobile device 108 using the same or different techniques. In some embodiments, the mobile device may combine the solutions derived from each of the different types of wireless devices to improve the accuracy of the position data. It is also possible to hybridize measurements from different systems to get a position estimate, particularly when there is an insufficient number of measurements from all individual systems or devices to derive a position. For instance, in an urban canyon setting, only one GNSS satellite may be visible and provide adequate measurements (i.e. raw pseudorange and Doppler observables). By itself, this single measurement cannot provide a position solution. However, it could be combined with measurements from urban WiFi APs, or WWAN cell ranges. When deriving a position using the access points 104a-c, 106a-e, the satellites 102a-b, and/or other wireless devices, at least some of the operations/processing may be performed using a server (e.g., a location server, such as the server 110), which may be accessed, in some embodiments, via a network 112.
With reference to
Generally, an LPP transaction involves the exchange of one or more LPP messages between the location server and a target device. Each message type may contain information specific to one or more positioning processes or techniques and/or information common to all positioning processes or techniques. Each LPP message may carry an acknowledgment request and/or an acknowledgement indicator. An LPP wireless message that includes an acknowledgement request (i.e., includes the IE ackRequested set to TRUE) may also include a sequence number. Upon receipt of an LPP message which includes the IE ackRequested set to TRUE, a receiver may be configured to return an LPP message with an acknowledgement response, e.g., an acknowledgement that includes the ackIndicator IE set to the same sequence number of the message being acknowledged. An acknowledgment response may contain no LPP message body (in which case only the sequence number being acknowledged is significant). Alternatively, the acknowledgment may be sent in an LPP message along with an LPP message body. In some embodiments, an acknowledgment may be returned for each received LPP message including any duplicate. Once the first device (the sender device sending the message requiring an acknowledgement) receives an acknowledgment for an LPP message and determines (in some embodiments) that any included sequence number matches the sequence number transmitted with the originating message, the first device may send the next LPP message. In some embodiments, when the first and second wireless devices communicate according to the LPP protocol, the LPP messages communicated may include capability transfer messages (such as a positioning capability request message or a positioning capability response message in which the communicating devices can obtain or provide information about the capabilities and resources available to support a session, e.g., transferring UE positioning capability information to a location server such as an E-SMLC), positioning assistance messages (such as a positioning assistance data request message, a positioning assistance data delivery message, e.g., a positioning assistance data delivery from the E-SMLC to the UE), location information messages, session management messages to facilitate error handling and abort functions (e.g., service activation messages, service termination messages), etc.
In some embodiments, retransmission functionality (e.g., to transmit subsequent messages that are the same or similar as an unacknowledged message transmitted earlier), which builds on the acknowledgment and duplicate detection functionality, is implemented. For example, when an LPP message which requires acknowledgement is sent but is not acknowledged, the sending device may send a subsequent LPP message (with at least some of the content of the earlier LPP message) following a timeout period (this may be repeated a predetermined number of times, e.g., three (3) retransmission attempts, in some embodiments). If still unacknowledged after that, the sending device may terminate/abort all communication activity for the associated session. In some embodiments, a static retransmission timing procedure to control transmission timeout may be used. However, static timeout may hold-up the processing resources and may not allow other messages to be processed during the wait periods, which can lead to call flow failure if the devices do not abide by QoS provided in, for example, a request message (e.g., a location request message).
Accordingly, in implementations described herein, the first wireless device, e.g., the device which transmitted the unacknowledged wireless message, is configured to wait for an acknowledgement for the wireless message it transmitted (at a first time instance) before proceeding to transmit the next wireless message (e.g., to transmit another request under the LPP protocol). When an acknowledgement message is not received by the first wireless device, the first device is configured, in such embodiments, to transmit, following a timeout period/interval, a subsequent wireless message that may be the same or similar (e.g., substantially the same content, except, possibly, for control information, such as a timestamp, etc.) to the wireless message it transmitted at the first time instance. In some embodiments, retransmissions of the wireless message may be performed up to some threshold number of times, for example, in certain implementations three times (or some other pre-determined number of times). If the re-transmitted wireless message remains unacknowledged after that, the sender may conclude or abort all LPP activity for the associated session. As noted, if the timeout period (be it for an LPP message, or a message transmitted under some other protocol) is static, the static timeout period may hold up processing. Furthermore, a static timeout period may be too low or too high depending on the network characteristics associated with the sending device and/or the receiving device. For example, an established session between the first device and a location server (communicating with the first device via a second wireless device) may have an associated QoS that is relatively short, and thus, if a static retransmission timeout period for the first, sending, device is set to a relatively large value, fewer retransmission attempts may be realized than what is permissible under the protocol in use before the session expires (e.g., the QoS may be such that the session expires after only one retransmission attempt has been made, even though three, or more, retransmission attempts were otherwise allowed for the particular wireless message).
Thus, with continued reference to
In some embodiments, the retransmission timeout interval may be periodically adjusted multiple times for a particular wireless message based, for example, on changing network conditions. For example, prior to attempting the first retransmission of a wireless message, the timeout period may be determined and set to a value that would allow three (3) retransmission attempts during the remaining period before the current session expires. Consider a situation where, subsequently, a determination is made that the current session has been shortened (e.g., because a change to the QoS) so that not all retransmission attempts could be utilized. Under these circumstances, the previously determined adjustable timeout interval/period for transmission of subsequent wireless messages may be dynamically re-computed to allow an earlier performance of the remaining transmission attempts than what was previously determined. Furthermore, the fact that network conditions are fluctuating may be taken into account to factor in the uncertainty associated with network conditions (e.g., to dynamically compute an even shorted retransmission timeout period than would be necessary to perform all remaining transmission attempts if the network conditions remained stable).
In some embodiments, dynamic determination of the adjustable timeout interval based on one or more network characteristics may include dynamically determining the adjustable timeout interval based on data comprising one or more of, for example, LTE real time reference signal received power (RSRP) value, reference signal received quality (RSRQ) information, a type of the wireless message (e.g., a type of an LPP message), etc. RSRP generally refers the linear average power of the resource elements that carry cell-specific signals across a channel bandwidth, while RSRQ generally refers to a value computed as RSRQ=N×RSRP/RSSI, where N is the number of Physical Resource Blocks (PRBs) over which the RSSI is measured and is usually equal to system bandwidth (RSSI, corresponding to received signal strength indicator, measures the received wide-band power by UE, including intracell power, interference and noise). When, for example, the RSRP level is relatively low (e.g., less than some predetermined RSRP threshold value), indicative of a possibly weak network transmission environment, the adjustable timeout interval(s) may be set to a relatively larger value (e.g., longer intervals between successive retransmissions of the wireless message) because of the expectation that it may be more difficult (and thus longer) for the wireless message transmitted by the first wireless device to be received and processed at the destination. For example, retransmission of an unacknowledged wireless message may be set to time instances at n, 2n, and 4n (from the time instance at which the current wireless message was first sent by the originating sender device, i.e., the first wireless device), where n may be an initial timeout value (e.g., provided in milliseconds) for the adjustable timeout interval. On the other hand, when the RSRP level is relatively high (e.g., higher than, or equal to, some predetermined RSRP threshold value), indicative of a relatively stronger (more favorable) network transmission environment, the adjustable timeout interval may be set to relatively shorter values (e.g., shorter intervals between successive transmissions of subsequent wireless messages with at least some of the message content of the wireless message) because the expectation is that it should be easier (and thus would require less time) to receive and process wireless messages received at the destination from the first wireless device. For example, retransmission of an unacknowledged wireless message may be set to time instances of n, n+1, and n+2 (values provided, for example, in millisecond). Thus, in some embodiments, dynamically determining the adjustable timeout interval may include determining an initial timeout value, n, with n provided in milliseconds, and in response to a determination that the initial timeout value, n, is less than a pre-determined threshold value, setting each of at least one subsequent time instance (to transmit respective at least one subsequent wireless message that each includes at least some of the content of the earlier unacknowledged message) according to: 1) a·k·n, when the RSRP value is less than a pre-determined RSRP threshold value, where a is a scaler value, and k=1, 2, 3, . . . , and is representative of a number of retransmission attempts, or 2) n+k·b, when the RSRP value is greater than or equal to the pre-determined RSRP threshold value, where b is a time value provided in milliseconds (e.g., 1 millisecond).
With continued reference to
To further illustrate the processing performed to dynamically determine adjustable timeout intervals and retransmit unacknowledged wireless messages, reference is now made to
In the example of
Assume that in the example of
As further shown in the example of
As further illustrated, prior to the third scheduled subsequent transmission time instance (at 16 milliseconds from the original time that the wireless message N was first transmitted), an acknowledgement message 336, to the 2nd subsequent wireless message 334, is received by the first device 310 from the second device 320. Accordingly, the first device 310 may proceed to transmit the next wireless message (if there is one), i.e., a message that is not merely a retransmission attempt of the content of the wireless message 330, and thus, at a time TN+1, the first device transmits the wireless message 340 (denoted as Message N+1).
With reference now to
As shown, the wireless device 400 may include one or more local area network transceivers 406 that may be connected to one or more antennas 402. The one or more local area network transceivers 406 comprise suitable devices, circuits, hardware, and/or software for communicating with and/or detecting signals to/from one or more of the WLAN access points 106a-e depicted in
The wireless device 400 may also include, in some implementations, one or more wide area network transceiver(s) 404 that may be connected to the one or more antennas 402. The wide area network transceiver 404 may comprise suitable devices, circuits, hardware, and/or software for communicating with and/or detecting signals from one or more of, for example, the WWAN access points 104a-c illustrated in
In some embodiments, an SPS receiver (also referred to as a global navigation satellite system (GNSS) receiver) 408 may also be included with the wireless device 400. The SPS receiver 408 may be connected to the one or more antennas 402 for receiving satellite signals. The SPS receiver 408 may comprise any suitable hardware and/or software for receiving and processing SPS signals. The SPS receiver 408 may request information as appropriate from the other systems, and may perform the computations necessary to determine the position of the mobile device 400 using, in part, measurements obtained by any suitable SPS procedure. Additionally, measurement values for received satellite signals may be communicated to a location server configured to facilitate location determination.
As further illustrated in
The processor(s) (also referred to as a controller) 410 may be connected to the local area network transceiver(s) 406, the wide area network transceiver(s) 404, the SPS receiver 408 and the one or more sensors 412. The processor may include one or more microprocessors, microcontrollers, and/or digital signal processors that provide processing functions, as well as other calculation and control functionality. The processor 410 may be coupled to storage media (e.g., memory) 414 for storing data and software instructions for executing programmed functionality within the mobile device. The memory 414 may be on-board the processor 410 (e.g., within the same IC package), and/or the memory may be external memory to the processor and functionally coupled over a data bus. Further details regarding an example embodiment of a processor or computation system, which may be similar to the processor 410, are provided below in relation to
A number of software modules and data tables may reside in memory 414 and may be utilized by the processor 410 in order to manage both communications with remote devices/nodes (such as the various nodes and/or the server 110 depicted in
The application module 418 may be a process running on the processor 410 of the mobile device 400, which requests position information from the positioning module 416, or which receives positioning/location data from a remote device (e.g., a remote location server). Applications typically run within an upper layer of the software architectures, and may include indoor navigation applications, shopping applications, location aware service applications, etc. The positioning module/circuit 416 may derive the position of the wireless device 400 using information derived from various receivers and modules of the mobile device 400, e.g., based on measurements performed by the RSSI module and/or the RTT module. Data derived by the positioning module 416 may be used to supplement location information provided, for example, by a remote device (such as a location server) or may be used in place of location data sent by a remoted device. For example, positioning module 416 may determine position of the device 400 based on measurements performed by various sensors, circuits, and/or modules of the device 400, and use those measurements in conjunction with assistance data received from a remote server to determine location of the device 400. The memory 414 may also include a module(s) to implement the processes described herein, e.g., the process to dynamically determine adjustable timeout intervals, and to transmit subsequent wireless messages with corresponding subsequent content based on the message content of the original, earlier, wireless message. For example, subsequent wireless messages may include substantially the same content as that of the original wireless message, except, possibly, control information, such as a timestamp, etc. Alternatively, the processes described herein may be implemented through the application module 418.
As further illustrated, the wireless device 400 may also include assistance data storage 424, where assistance data (which may have been downloaded from a remote server), such as map information, data records relating to location information in an area where the device is currently located, heatmaps (e.g., indicative of expected signal strength values, for signals transmitted from one or more wireless device, at various locations), etc., is stored. In some embodiments, the wireless device 400 may also be configured to receive supplemental information that includes auxiliary position and/or motion data which may be determined from other sources (e.g., from the one or more sensors 412). Such auxiliary position data may be incomplete or noisy, but may be useful as another source of independent information for estimating the position of the device 400, or for performing other operations or functions. Supplemental information may also include, but not be limited to, information that can be derived or based upon Bluetooth signals, beacons, RFID tags, and/or information derived from a map (e.g., receiving coordinates from a digital representation of a geographical map by, for example, a user interacting with a digital map). The supplemental information may optionally be stored in the storage module 426 schematically depicted in
The wireless device 400 may further include a user interface 450 providing suitable interface systems, such as a microphone/speaker 452, a keypad 454, and a display 456 that allows user interaction with the device 400. The microphone/speaker 452 (which may be the same or different from the sensor 412f) provides for voice communication services (e.g., using the wide area network transceiver(s) 404 and/or the local area network transceiver(s) 406). The keypad 454 may comprise suitable buttons for user input. The display 456 may include a suitable display, such as, for example, a backlit LCD display, and may further include a touch screen display for additional user input modes.
With reference now to
The node 500 may also include other components that may be used with embodiments described herein. For example, the node 500 may include, in some embodiments, a controller 530 (which may be similar to the processor 410 of
In some embodiments, the node 500 may also be configured to transmit wireless messages implemented under one or more communication protocols (e.g., LPP), to dynamically determine/derive an adjustable timeout interval (e.g., determine an actual timeout value, or a subsequent transmission/retransmission schedule relative to an instance in which an initial/original wireless message was sent), and to transmit at least one subsequent wireless message with content based on (e.g., substantially similar) to the message content of the original, earlier, transmitted wireless message, in accordance with the adjustable timeout interval (or in accordance with the derived subsequent transmission /retransmission schedule) when an acknowledgement to the wireless message fails to be received prior to the expiration of the timeout period or by the next scheduled retransmission time instance. As noted, in such embodiments, the node may send an initial wireless message (e.g., under the LPP protocol), such as a request message, in order to, for example, obtain capability data from a mobile device with which the node 500 may be communicating, to request measurement data, to transmit control signals or data, etc. The node 500 may also be configured, in some implementations, to perform location data services, or performs other types of services, for multiple wireless devices (clients) communicating with the node 500 (or communicating with a server coupled to the node 500), and to provide location data and/or assistance data to such multiple wireless devices.
In addition, the node 500 may include, in some embodiments, neighbor relations controllers (e.g., neighbor discovery modules) 540 to manage neighbor relations (e.g., maintaining a neighbor list 542) and to provide other related functionality. The controller 530 may be implemented, in some embodiments, as a processor-based device, with a configuration and functionality similar to that shown and described in relation to
Performing the procedures described herein may also be facilitated by a processor-based computing system. With reference to
The computing-based device 610 is configured to facilitate, for example, the implementation of one or more of the processes/procedures described herein, including the procedures to retransmit unacknowledged wireless messages (e.g., transmit subsequent messages with content based on the content of the unacknowledged wireless messages) according to adjustable timeout intervals dynamically determined based on one or more network characteristics. The mass storage device 614 may thus include a computer program product that, when executed on the computing-based device 610, causes the computing-based device to perform operations to facilitate the implementation of the procedures described herein. The computing-based device may further include peripheral devices to enable input/output functionality. Such peripheral devices may include, for example, a CD-ROM drive and/or flash drive, or a network connection, for downloading related content to the connected system. Such peripheral devices may also be used for downloading software containing computer instructions to enable general operation of the respective system/device. For example, as illustrated in
Computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and may be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the term “machine-readable medium” refers to any non-transitory computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a non-transitory machine-readable medium that receives machine instructions as a machine-readable signal.
Memory may be implemented within the computing-based device 610 or external to the device. 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 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 (e.g., with lasers). Combinations of the above should also be included within the scope of computer-readable media.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly or conventionally understood. As used herein, the articles “a” and “an” refer to one or to more than one (i.e., to at least one) of the grammatical object of the article. By way of example, “an element” means one element or more than one element. “About” and/or “approximately” as used herein when referring to a measurable value such as an amount, a temporal duration, and the like, encompasses variations of ±20% or ±10%, ±5%, or +0.1% from the specified value, as such variations are appropriate in the context of the systems, devices, circuits, methods, and other implementations described herein. “Substantially” as used herein when referring to a measurable value such as an amount, a temporal duration, a physical attribute (such as frequency), and the like, also encompasses variations of ±20% or ±10%, ±5%, or +0.1% from the specified value, as such variations are appropriate in the context of the systems, devices, circuits, methods, and other implementations described herein.
As used herein, including in the claims, “or” as used in a list of items prefaced by “at least one of” or “one or more of” indicates a disjunctive list such that, for example, a list of “at least one of A, B, or C” means A or B or C or AB or AC or BC or ABC (i.e., A and B and C), or combinations with more than one feature (e.g., AA, AAB, ABBC, etc.). Also, as used herein, unless otherwise stated, a statement that a function or operation is “based on” an item or condition means that the function or operation is based on the stated item or condition and may be based on one or more items and/or conditions in addition to the stated item or condition.
As used herein, a mobile device or station (MS) refers to a device such as a cellular or other wireless communication device, a smartphone, tablet, 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, such as navigation positioning signals. The term “mobile station” (or “mobile device” or “wireless device”) 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, “mobile station” is intended to include all devices, including wireless communication devices, computers, laptops, tablet devices, etc., which are capable of communication with a server, such as via the Internet, WiFi, or other network, and to communicate with one or more types of nodes, 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 or node associated with the network. Any operable combination of the above are also considered a “mobile station.” A mobile device may also be referred to as a mobile terminal, a terminal, a user equipment (UE), a device, a Secure User Plane Location Enabled Terminal (SET), a target device, a target, or by some other name.
While some of the techniques, processes, and/or implementations presented herein may comply with all or part of one or more standards, such techniques, processes, and/or implementations may not, in some embodiments, comply with part or all of such one or more standards.
Although particular embodiments have been disclosed herein in detail, this has been done by way of example for purposes of illustration only, and is not intended to be limiting with respect to the scope of the appended claims, which follow. In particular, it is contemplated that various substitutions, alterations, and modifications may be made without departing from the spirit and scope of the invention as defined by the claims. Other aspects, advantages, and modifications are considered to be within the scope of the following claims. The claims presented are representative of the embodiments and features disclosed herein. Other unclaimed embodiments and features are also contemplated. Accordingly, other embodiments are within the scope of the following claims.