Precision positioning service using the Internet of Things network
A high-density IoT network provides precise positioning services by using IoT devices as reference stations, addressing the accuracy and cost issues of existing GNSS systems, enabling cost-effective sub-meter to centimeter-level precision for applications like autonomous driving and HD mapping.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- QUALCOMM INC
- Filing Date
- 2022-01-05
- Publication Date
- 2026-06-17
AI Technical Summary
Existing GNSS-based location systems lack the accuracy required for applications like land surveying and autonomous navigation, and techniques like PPP and RTK require significant hardware and infrastructure investments, increasing costs.
A high-density IoT network is utilized to provide precise positioning services using IoT devices with known locations as reference stations, providing real-time kinematic satellite phase and differential satellite correction information, and dynamically switching active base stations to maintain accuracy without dedicated infrastructure.
This approach achieves sub-meter to centimeter-level precision positioning at a lower cost by leveraging a dynamic IoT network, enabling reliable and scalable precision positioning services for applications like autonomous driving and HD mapping.
Smart Images

Figure 0007875195000001 
Figure 0007875195000002 
Figure 0007875195000003
Abstract
Description
Technical Field
[0001] Cross - Reference to Related Applications This application claims the benefit of U.S. Application No. 17 / 186,372, filed Feb. 26, 2021, titled "PRECISE POSITIONING SERVICES WITH AN INTERNET OF THINGS NETWORK", which was assigned to the assignee of this application and is hereby incorporated by reference in its entirety for all purposes.
Background Art
[0002] The location of mobile devices such as cellular phones, Internet of Things (IoT) devices, location tracking devices, or other such mobile devices including wireless communication modules and motion sensors can be useful in several applications such as emergency calls, navigation, direction finding, asset tracking, and Internet services. The location of IoT devices can be estimated based on information collected from various systems such as terrestrial wireless transceivers, Global Navigation Satellite System (GNSS) receivers, and other sensors. The accuracy of GNSS - based systems is often below the requirements of some applications such as land surveying, autonomous land vehicle and aircraft navigation, or other location - sensing technologies. Some techniques such as Precise Point Positioning (PPP) and Real - Time Kinematic (RTK) positioning can be used to improve the positioning accuracy of GNSS - based systems. These techniques often require a significant increase in processing hardware and support infrastructure, which can increase the cost of providing improved positioning accuracy.
Summary of the Invention
Means for Solving the Problems
[0003] An example of an apparatus for determining the precise location of a mobile device according to this disclosure includes at least one server having a data structure including a precision positioning subscription option associated with the mobile device, and a plurality of client Internet of Things devices configured to communicate with the at least one server, where at least one of the plurality of client Internet of Things devices is a serving Internet of Things device configured to provide precision positioning information to the mobile device, and the serving Internet of Things device is selected from the plurality of client Internet of Things devices based on the precision positioning subscription option.
[0004] Such an implementation of the device may include one or more of the following features: The precision positioning subscription option may include a desired accuracy of precision positioning information. The precision positioning subscription option may include a desired update rate of precision positioning information. The serving thing's internet device may be configured to provide precision positioning information to at least one server, and at least one server may be configured to provide precision positioning information to a mobile device. The precision positioning information may be in the Radio Technical Commission for Maritime (RTCM) format. The precision positioning information may be real-time kinematic satellite phase signal correction information. The precision positioning information may be differential satellite position correction information. One or more of the multiple client thing's internet devices may be configured as a leading candidate based on the precision positioning subscription option so that if the serving thing's internet device becomes inactive or the distance between the mobile device and the serving thing's internet device exceeds a threshold distance, the leading candidate may be configured to be the surrogate serving thing's internet device.
[0005] An exemplary method for determining a serving Internet of Things (IoT) device for providing precise positioning information to a mobile device using a network of IoT devices, as disclosed herein, includes the steps of: obtaining the approximate location of a mobile device; determining one or more nearby reporting IoT devices based on the approximate location; selecting a serving IoT device from one or more nearby reporting IoT devices based on one or more configuration options; and selecting one or more strong candidates from one or more nearby reporting IoT devices based on one or more configuration options.
[0006] An implementation of such a method may include one or more of the following features: The Serving Mono Internet device may be configured to provide real-time kinematic satellite phase correction information. The Serving Mono Internet device may be configured to provide differential satellite correction information. One or more configuration options may include a desired precision of precision positioning information. One or more configuration options may include a desired update rate of precision positioning information. The Serving Mono Internet device may be configured to provide precision positioning information in Maritime Radio Technology Commission (RTCM) format. The method may further include the steps of determining the status of the Serving Mono Internet device, determining the distance between the mobile device and the Serving Mono Internet device, and determining a substitute Serving Device from one or more leading candidates if the status of the Serving Mono Internet device is inactive or the distance between the mobile device and the Serving Mono Internet device exceeds a threshold distance.
[0007] An example of an apparatus for determining a serving Internet of Things (IoT) device for providing precise positioning information to a mobile device using a network of IoT devices, as disclosed herein, includes a memory and at least one processor operably coupled to the memory, configured to acquire the approximate location of a mobile device, determine one or more nearby reporting IoT devices based on the approximate location, select a serving IoT device from one or more nearby reporting IoT devices based on one or more configuration options, and select one or more strong candidates from one or more nearby reporting IoT devices based on one or more configuration options.
[0008] An example of an apparatus for determining a serving Internet of Things (IoT) device for providing precise positioning information to a mobile device using a network of IoT devices, as disclosed herein, includes means for obtaining the approximate location of a mobile device; means for determining one or more nearby reporting IoT devices based on the approximate location; means for selecting a serving IoT device from one or more nearby reporting IoT devices based on one or more configuration options; and means for selecting one or more strong candidates from one or more nearby reporting IoT devices based on one or more configuration options.
[0009] An example of a non-temporary processor-readable storage medium provided in this disclosure, which includes processor-readable instructions configured to cause one or more processors to determine a serving Internet of Things device for providing precise positioning information to a mobile device using a network of Internet of Things devices, includes code for obtaining the approximate location of a mobile device; code for determining one or more nearby reporting Internet of Things devices based on the approximate location; code for selecting a serving Internet of Things device from one or more nearby reporting Internet of Things devices based on one or more configuration options; and code for selecting one or more strong candidates from one or more nearby reporting Internet of Things devices based on one or more configuration options.
[0010] One example of a method for switching a serving Internet of Things device in an Internet of Things network, as disclosed herein, includes the steps of: determining the status of the serving Internet of Things device; determining the distance between the mobile device and the serving Internet of Things device; and, if the status of the serving Internet of Things device is inactive or the distance between the mobile device and the serving Internet of Things device exceeds a threshold distance, selecting a substitute serving Internet of Things device from one or more previously determined strong candidates.
[0011] An implementation of such a method may include one or more of the following features: One or more previously determined leading candidates may be selected from one or more nearby reporting device Internet devices based on one or more configuration options. One or more nearby reporting device Internet devices may be within 10 kilometers of the mobile device. One or more configuration options may include a desired precision for precise positioning information. One or more configuration options may include a desired update rate for precise positioning information.
[0012] An example of a device for switching a serving Internet of Things (Internet of Things) device in an Internet of Things network, as disclosed herein, includes memory and at least one processor operably coupled to the memory, configured to determine the status of a serving Internet of Things device, determine the distance between a mobile device and the serving Internet of Things device, and, if the status of the serving Internet of Things device is inactive or the distance between the mobile device and the serving Internet of Things device exceeds a threshold distance, select a substitute serving Internet of Things device from one or more previously determined strong candidates.
[0013] Such an implementation of the device may include one or more of the following features: One or more previously determined leading candidates may be selected from one or more nearby reporting device Internet devices based on one or more configuration options. One or more nearby reporting device Internet devices may be within 10 kilometers of the mobile device. One or more configuration options may include a desired accuracy for precise positioning information. One or more configuration options may include a desired update rate for precise positioning information.
[0014] An example of a device for switching a serving Internet of Things (Internet of Things) device in an Internet of Things network, as disclosed herein, includes means for determining the status of a serving Internet of Things device; means for determining the distance between a mobile device and the serving Internet of Things device; and means for selecting a substitute serving Internet of Things device from one or more previously determined candidates if the status of the serving Internet of Things device is inactive or the distance between the mobile device and the serving Internet of Things device exceeds a threshold distance.
[0015] An example of a non-temporary processor-readable storage medium provided for in this disclosure, which includes processor-readable instructions configured to cause one or more processors to switch a serving Internet of Things device in an Internet of Things network, includes code for determining the status of a serving Internet of Things device; code for determining the distance between a mobile device and the serving Internet of Things device; and code for selecting a substitute serving Internet of Things device from one or more previously determined leading candidates if the status of the serving Internet of Things device is inactive or the distance between the mobile device and the serving Internet of Things device exceeds a threshold distance.
[0016] The items and / or techniques described herein may provide one or more of the following capabilities, as well as other capabilities not mentioned: Internet of Things (IoT) devices may be configured to determine their precise location based on satellite signals combined with other precision positioning services such as precision single-point positioning data, real-time kinematic data, and differential GNSS data. IoT devices with precisely known locations may be used as base stations to provide position correction data to a network of IoT devices or other precision positioning applications. Other IoT devices may receive customizable position correction data based on application requirements. The status of IoT base stations in the network may be monitored. Promising candidate IoT devices may be identified to act as base stations if the current base station becomes unavailable. User devices may receive position correction data from different IoT base stations. A reliable and scalable precision positioning network may be realized. Furthermore, the effects mentioned above may be achievable by means other than those mentioned, and the items / techniques mentioned may not necessarily produce the effects mentioned. [Brief explanation of the drawing]
[0017] [Figure 1] This is a diagram illustrating an example communication system. [Figure 2] This is a schematic diagram of a mobile device. [Figure 3] This is a hardware diagram of a subset of components in an exemplary Internet of Things (IoT) device. [Figure 4] This is a conceptual diagram of an exemplary IoT architecture for providing precision positioning services. [Figure 5] This diagram illustrates an exemplary user interface and data structure for a customizable subscription service for precision positioning using the Internet of Things network. [Figure 6] This is a diagram illustrating an example use case where a mobile device is positioned using a network of IoT devices. [Figure 7] This is an illustrative flowchart of the procedure for determining which Internet of Things (IoT) device will serve a mobile device to provide precise positioning information using a network of IoT devices. [Figure 8] This is an illustrative flowchart of the procedure for tracking one or more promising candidates within an IoT network. [Figure 9] This is an illustrative flowchart of the steps for tracking and switching Internet of Things (ISP) devices within an IoT network. [Figure 10] This is a block diagram of an example computer system. [Modes for carrying out the invention]
[0018] This specification describes a technique for providing precise positioning information to mobile devices using a dynamic Internet of Things (IoT) network. Precision positioning services (PPS) typically refer to positioning services with sub-meter to centimeter-level accuracy, such as differential GNSS (DGNSS), precision single-point positioning (PPP), and real-time kinematic (RTK) methods. These solutions typically require significant investment in additional hardware and advanced GNSS software packages. The method described herein leverages a high-density, dynamic IoT network to provide reliable PPS at low cost without building dedicated infrastructure and deploying complex GNSS software packages. For example, the IoT network may include several IoT devices, each capable of utilizing GNSS data to determine location and communicate with other devices and / or networks via one or more wireless communication protocols. IoT devices may be configured to report GNSS measurements to a network server for crowdsourcing and performance enhancement. IoT devices with precisely known locations may be configured as reference stations to provide single-station RTK / DGNSS correction values for precision positioning applications such as autonomous driving and HD mapping. To extend PPS coverage, additional IoT devices may be added to the proposed IoT network. The density of IoT devices in the network can be used to update and change which IoT devices are acting as RTK base stations. When the status of such an IoT RTK base station changes (e.g., loss of power, loss of positional accuracy), another eligible IoT device may take over the RTK base station function. The number and diversity of IoT devices in the network can be used to enable a variety of customizable services.For example, the user may select a desired level of position accuracy (e.g., sub-meter, decimeter, centimeter), as well as other relevant parameters such as the desired GNSS constellation, signal band, correction type, data payload format, and correction data update frequency. These techniques are examples and are not exhaustive.
[0019] Generally, DGNSS such as DGPS utilizes code-based positioning to determine the location of a GPS receiver. For example, GPS signals from satellites transmit a pseudo-random code (PRC), and a GPS receiver is configured to receive the PRC from multiple satellites. The receiver is configured to align the received code with its own code and calculate the propagation delay. The GPS receiver also knows the positions of the satellites and can calculate the distances to the satellites. For example, if the receiver knows its distances (ranges) from four satellites, it can determine its three-dimensional position.
[0020] An RTK system utilizes carrier-based ranging to determine position information. For example, the distance can be calculated by determining the number of carrier cycles between the RTK receiver and the satellite, and then multiplied by the wavelength of the carrier signal. Since different GPS satellites may transmit at different frequencies, errors due to atmospheric delay and multipath propagation of satellite signals can be reduced.
[0021] DGNSS and RTK can use a base station with a known position (e.g., based on a precise positioning service). The base station of a DGNSS system can be configured to compare its known position with the position calculated by GNSS signals. Then, the difference between the known position and the calculated position is transmitted to other receivers in the network, and the other receivers calculate their respective positions using the correction values. The base station in an RTK system may be configured to transmit the phase of the signals observed by the base station and send that information to other receivers in the network. Then, the other receivers compare that information with the phase observed by the other receivers.
[0022] Referring to Figure 1, a diagram of an exemplary communication system 100 is shown. The communication system 100 comprises a mobile device (e.g., an IoT device, a location tracker device, a cellular phone, or other user equipment (UE)) 105 and components of a fifth-generation (5G) network comprising a next-generation (NG) radio access network (RAN) (NG-RAN) 135 and a 5G core network (5GC) 140. The 5G network is sometimes called a new radio (NR) network, NG-RAN 135 may be called a 5G RAN or NR RAN, and 5GC 140 may be called an NG core network (NGC). Standardization of NG-RAN and 5GC is underway in the Third Generation Partnership Project (3GPP®, hereafter the same). Therefore, NG-RAN 135 and 5GC 140 may comply with current and future standards for 5G support from 3GPP. The communication system 100 may utilize information from the satellite vehicle (SV) 190 for satellite positioning systems (SPS) such as the Global Positioning System (GPS), Global Navigation Satellite System (GLONASS), Galileo, or Beidou (for example, Global Navigation Satellite System (GNSS)), or any other local or regional SPS such as the Indian Regional Navigation Satellite System (IRNSS), the European Geostationary Navigation Overlay Service (EGNOS), or the Wide Area Augmentation System (WAAS). Additional components of the communication system 100 are described below. The communication system 100 may include additional or alternative components.
[0023] As shown in Figure 1, NG-RAN135 includes NR node B (gNB) 110a, 110b, and next-generation e node B (ng-eNB) 114, and 5GC140 includes access and mobility management function (AMF) 115, location management function (LMF) 120, and gateway mobile location center (GMLC) 125. gNB110a, 110b, and ng-eNB114 are communicatively coupled to each other and configured to communicate wirelessly bidirectionally with UE105, and each is communicatively coupled to AMF115 and configured to communicate bidirectionally with AMF115. AMF115, LMF120, and GMLC125 are communicatively coupled to each other, and GMLC is communicatively coupled to external client 130.
[0024] Figure 1 provides a generalized diagram of various components, any or all of which may be used as appropriate, and each component may be duplicated or omitted as needed. Specifically, one UE 105 is shown, but many UEs (e.g., hundreds, thousands, millions, etc.) may be used in the communication system 100. Similarly, the communication system 100 may include more (or fewer) SV190s, gNB110a~b, ng-eNB114, AMF115s, external clients 130, and / or other components. The illustrated connections connecting the various components in the communication system 100 include data and signaling connections, which may include additional (intermediate) components, direct or indirect physical and / or wireless connections, and / or additional networks. Furthermore, components may be rearranged, combined, separated, replaced, and / or omitted depending on the desired function.
[0025] Figure 1 shows a 5G-based network, but similar network implementations and configurations may be used for other communication technologies such as 3G and Long-Term Evolution (LTE). The implementations described herein (whether they are for 5G technology or for one or more other communication technologies and / or protocols) may be used to transmit (or broadcast) a directional synchronization signal, receive and measure the directional signal at a UE (e.g., UE105), and / or provide location assistance to UE105 (via GMLC125 or other location server), and / or calculate the location of UE105 at a location-enabled device such as UE105, gNB110a, 110b, or LMF120 based on the measurements received at UE105 for such directionally transmitted signals. The Gateway Mobile Location Center (GMLC) 125, Location Management Function (LMF) 120, Access and Mobility Management Function (AMF) 115, ng-eNB (e-node B) 114, and gNB (g-node B) 110a, 110b are examples and may be replaced by, or include, various other location server functions and / or base station functions in different embodiments.
[0026] UE105 may include and / or be referred to as a device, mobile device, wireless device, mobile terminal, terminal, mobile station (MS), Secure User Plane Location (SUPL) enabled terminal (SET), or any other name. Furthermore, UE105 may correspond to cell phones, smartphones, laptops, tablets, PDAs, tracking devices, navigation devices, Internet of Things (IoT) devices, asset trackers, health monitors, security systems, smart city sensors, smart meters, wearable trackers, or any other portable or movable device. Typically, but not always, the UE105 may support wireless communications using one or more radio access technologies (RATs), such as Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA®), LTE, High-Speed Packet Data (HRPD), IEEE 802.11 WiFi (also known as Wi-Fi), Bluetooth® (BT), Worldwide Interoperability for Microwave Access (WiMAX), and 5G New Radio (NR) (e.g., using NG-RAN135 and 5GC140). The UE105 may also support wireless communications using, for example, a digital subscriber line (DSL) or a wireless local area network (WLAN) that can connect to other networks (e.g., the Internet) using packet cable. The use of one or more of these RATs may enable UE105 to communicate with an external client 130 (for example, via an element of 5GC140 not shown in Figure 1, or possibly via GMLC125) and / or enable the external client 130 to receive location information about UE105 (for example, via GMLC125).
[0027] UE105 may include a single entity or multiple entities in a personal area network where the user may employ audio, video and / or data I / O (input / output) devices and / or body sensors and separate wireline or wireless modems. The location estimation of UE105 may be called location, location estimate, location fix, fix, position, location estimate, or location fix, and may be geographical and therefore may or may not include an elevation component (e.g., elevation, ground, floor, or height or depth from underground), providing the location coordinates of UE105 (e.g., latitude and longitude). Alternatively, the location of UE105 may be expressed as an urban location (e.g., a postal address, or a designation for a destination or small area within a building, such as a particular room or floor). The location of UE105 may be expressed as an area or volume (defined either geographically or in urban form) in which UE105 is expected to be located with some probability or confidence level (e.g., 67%, 95%, etc.). The location of UE105 may be expressed as a relative location, for example, including distance and direction from a known location. The relative location may be expressed as relative coordinates (e.g., X, Y (and Z) coordinates) defined with respect to some origin in a known location, which may be defined, for example, geographically, in urban terms, or by referring to a point, area, or volume shown on a map, floor plan, or building plan. In the descriptions contained herein, the use of the term location may include any of these variations unless otherwise indicated. When calculating the location of UE, it is common to obtain local x, y, and possibly z coordinates, and then, if desired, convert the local coordinates to absolute coordinates (e.g., latitude, longitude, and altitude above or below mean sea level).
[0028] The base station (BS) in NG-RAN135 shown in Figure 1 includes NR node B, referred to as gNB110a and 110b. The pair of gNB110a and 110b in NG-RAN135 may be connected to each other via one or more other gNBs. Access to the 5G network is provided to UE105 via wireless communication between UE105 and one or more of gNB110a and 110b, and these gNBs may provide wireless communication access to 5GC140 on behalf of UE105 using 5G. In Figure 1, it is assumed that the serving gNB for UE105 is gNB110a, but another gNB (e.g., gNB110b) may act as the serving gNB when UE105 moves to a different location, or as a secondary gNB to provide UE105 with additional throughput and bandwidth.
[0029] The base stations (BS) in NG-RAN135 shown in Figure 1 may include ng-eNB114, also known as next-generation advanced node B. ng-eNB114 may be connected to one or more of the gNB110a, 110b in NG-RAN135, possibly via one or more other gNBs and / or one or more other ng-eNBs. ng-eNB114 may provide LTE wireless access and / or advanced LTE (eLTE) wireless access to UE105. One or more of the gNB110a, 110b and / or ng-eNB114 may be configured to function as positioning-only beacons, capable of transmitting signals to assist in determining the location of UE105, but unable to receive signals from UE105 or other UEs.
[0030] As stated, Figure 1 shows a node configured to communicate according to the 5G communication protocol, but nodes configured to communicate according to other communication protocols, such as the LTE protocol or the IEEE 802.11x protocol, may be used. For example, in an Advanced Packet System (EPS) providing LTE wireless access to UE105, the RAN may include an Advanced Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access Network (E-UTRAN) which may include base stations including Advanced Node B (eNB). The core network for the EPS may include an Advanced Packet Core (EPC). The EPS may also include the E-UTRAN plus the EPC, in which the E-UTRAN corresponds to NG-RAN135 and the EPC corresponds to 5GC140.
[0031] gNB110a~b and ng-eNB114 can communicate with AMF115, and AMF115 communicates with LMF120 for positioning functions. AMF115 can support the mobility of UE105, including cell changes and handovers, and may be involved in signaling connections to UE105, as well as potentially supporting data and voice bearers for UE105. LMF120 can support the positioning of UE105 when UE105 accesses NG-RAN135, and can support positioning procedures / methods such as A-GNSS, Observation Time of Arrival (OTDOA), Real-time Kinematic (RTK), Precision Single Positioning (PPP), Differential GNSS (DGNSS), Extended Cell ID (E-CID), Angle of Arrival (AOA), Angle of Departure (AOD), and / or other positioning methods. The LMF120 can process location service requests for the UE105, for example, received from the AMF115 or the GMLC125. The LMF120 can be connected to the AMF115 and / or the GMLC125. The LMF120 may be referred to by other names, such as Location Manager (LM), Location Function (LF), Commercial LMF (CLMF), or Value-Added LMF (VLMF). Nodes / systems implementing the LMF120 may, as an addition or alternative, implement other types of location support modules, such as an Extended Serving Mobile Location Center (E-SMLC) or a Secure User Plane Location (SUPL) Location Platform (SLP). At least part of the positioning function (including the derivation of the UE105's location) may be performed in the UE105 (using, for example, signal measurements acquired by the UE105 for signals transmitted by wireless nodes such as gNB110a, 110b, and / or ng-eNB114, as well as / or supporting data provided to the UE105 by, for example, LMF120).
[0032] GMLC125 can support location requests for UE105 received from external client 130, and may forward such location requests to AMF115 for forwarding to LMF120 by AMF115, or it may forward the location requests directly to LMF120. The location response from LMF120 (including, for example, a location estimate for UE105) may be returned to GMLC125 either directly or via AMF115, and GMLC125 may then return the location response (including, for example, a location estimate) to external client 130. Although GMLC125 is shown to connect to both AMF115 and LMF120, in some implementation forms one of these connections may be supported by 5GC140.
[0033] As further shown in Figure 1, the LMF120 may communicate with gNB110a, 110b, and / or ng-eNB114 using a new radio positioning protocol A (sometimes called NPPa or NRPPa) as defined in 3GPP Technical Specification (TS) 38.455. NRPPa may be the same as, similar to, or an extension of LTE Positioning Protocol A (LPPa) as defined in 3GPP TS 36.455, and NRPPa messages are transmitted via the AMF115 between gNB110a (or gNB110b) and the LMF120, and / or between ng-eNB114 and the LMF120. As further shown in Figure 1, the LMF120 and UE105 may communicate using the LTE Positioning Protocol (LPP) as defined in 3GPP TS 36.355. The LMF120 and UE105 may communicate using a new radio positioning protocol (sometimes called NPP or NRPP) which is the same as, similar to, or an extension of LPP. Here, LPP and / or NPP messages may be transferred between the UE105 and the LMF120 via serving gNB110a, 110b or serving ng-eNB114 for the AMF115 and UE105. For example, LPP and / or NPP messages may be transferred between the LMF120 and AMF115 using the 5G Location Services Application Protocol (LCS AP), or between the AMF115 and UE105 using the 5G Non-Access Layer (NAS) protocol. The LPP and / or NPP protocol may be used to support positioning of the UE105 using UE-assisted and / or UE-based positioning methods such as A-GNSS, RTK, OTDOA, and / or E-CID.The NRPPa protocol may also be used to support the positioning of the UE105 using network-based positioning methods such as E-CID (for example, when used with measurements obtained by gNB110a, 110b, or ng-eNB114), and / or may be used by the LMF120 to obtain location-related information from gNB110a, 110b, and / or ng-eNB114, such as parameters defining directional SS (synchronization signal) or PRS transmissions from gNB110a, 110b, and / or ng-eNB114.
[0034] Using a UE-assisted positioning method, UE105 can acquire location measurements and send these measurements to a location server (e.g., LMF120) for the calculation of a location estimate for UE105. For example, location measurements may include one or more of the following for gNB110a, 110b, ng-eNB114, and / or WLAN APs: Received Signal Strength Indication (RSSI), Round-Trip Signal Propagation Time (RTT), Reference Signal Time Difference (RSTD), Reference Signal Received Power (RSRP), and / or Reference Signal Received Quality (RSRQ). Location measurements may also include, or alternatively, GNSS pseudodistance, code phase, and / or carrier phase measurements for SV190.
[0035] Using a UE-based positioning method, UE105 can acquire a location measurement (which may be the same as, or similar to, a location measurement from, a UE-assisted positioning method) and calculate its location (for example, using support data received from a location server such as LMF120, or broadcast by gNB110a, 110b, ng-eNB114, or other base stations or APs).
[0036] Using a network-based positioning method, one or more base stations (e.g., gNB110a, 110b, and / or ng-eNB114) or APs can acquire and / or receive location measurements (e.g., RSSI, RTT, RSRP, RSRQ, or Time of Arrival (TOA) measurements for a signal transmitted by UE105). One or more base stations or APs may send the measurements to a location server (e.g., LMF120) for the calculation of a location estimate for UE105.
[0037] The information provided to the LMF120 by gNB110a, 110b, and / or ng-eNB114 using NRPPa may include timing and configuration information for directional SS or PRS transmission, as well as location coordinates. The LMF120 may provide some or all of this information to the UE105 as supporting data in LPP and / or NPP messages via NG-RAN135 and 5GC140.
[0038] LPP or NPP messages sent from the LMF120 to the UE105 can instruct the UE105 to do one of a variety of things, depending on the desired function. For example, an LPP or NPP message may include an instruction for the UE105 to acquire measurements for GNSS (or A-GNSS), WLAN, E-CID, and / or OTDOA (or any other positioning method). In the case of E-CID, an LPP or NPP message can instruct the UE105 to acquire one or more measurements of a directional signal transmitted within a particular cell supported by one or more of gNB110a, 110b, and / or ng-eNB114 (or supported by any other type of base station such as an eNB or WiFi AP) (e.g., beam ID, beamwidth, mean angle, RSRP, RSRQ measurements). UE105 may send the measured quantity back to LMF120 via serving gNB110a (or serving ng-eNB114) and AMF115 within an LPP or NPP message (for example, inside a 5G NAS message).
[0039] As stated, while communication system 100 is described in relation to 5G technology, communication system 100 may be implemented to support other communication technologies such as GSM, WCDMA®, and LTE, which are used to support and interact with mobile devices such as UE105 (for example, to implement voice, data, positioning, and other functions). In some such embodiments, 5GC140 may be configured to control different air interfaces. For example, 5GC140 may be connected to a WLAN using a non-3GPP interworking function (N3IWF, not shown in Figure 1) in 5GC140. For example, the WLAN may support IEEE802.11 WiFi access for UE105 and may comprise one or more WiFi APs. Here, the N3IWF may connect to the WLAN and to other elements in 5GC140 such as AMF115. In some embodiments, both NG-RAN135 and 5GC140 may be replaced by one or more other RANs and one or more other core networks. For example, in an EPS, NG-RAN135 may be replaced by an E-UTRAN including an eNB, and 5GC140 may be replaced by an EPC including a Mobility Management Entity (MME) instead of AMF115, an E-SMLC instead of LMF120, and a GMLC which may be similar to GMLC125. In such an EPS, the E-SMLC may use LPPa instead of NRPPa to send and receive location information to and from the eNB within the E-UTRAN, and may use LPP to support the positioning of UE105. In these other embodiments, the positioning of UE105 using a directional PRS may be supported in a manner similar to the method described herein for 5G networks, the difference being that the functions and procedures described herein for gNB110a, 110b, ng-eNB114, AMF115, and LMF120 may, in some cases, be applied instead to other network elements such as eNBs, WiFi APs, MMEs, and E-SMLCs.
[0040] As described, in some embodiments, the positioning function may be implemented, at least in part, using directional SS or PRS beams transmitted by base stations (such as gNB110a, 110b, and / or ng-eNB114) within range of the UE (e.g., UE105 in Figure 1) whose position will be determined. In some cases, the UE may use directional SS or PRS beams from multiple base stations (such as gNB110a, 110b, and ng-eNB114) to calculate the position of the UE.
[0041] Referring to Figure 2, a schematic diagram of a mobile device 200 according to one embodiment is shown. The UE 105 shown in Figure 1 may include one or more features of the mobile device 200 shown in Figure 2. Some of the features disclosed in Figure 2 are optional. In some embodiments, the mobile device 200 may include a wireless transceiver 221 capable of transmitting and receiving wireless signals 223 via a wireless antenna 222 over a wireless communication network. The wireless transceiver 221 may be connected to a bus 201 by a wireless transceiver bus interface 220. In some embodiments, the wireless transceiver bus interface 220 may be at least partially integrated with the wireless transceiver 221. Some embodiments, to name just a few, may include multiple wireless transceivers 221 and wireless antennas 222 to enable transmission and / or reception of signals in accordance with multiple corresponding wireless communication standards, such as versions of IEEE standard 202.11, CDMA, WCDMA®, LTE, UMTS, GSM, AMPS, Zigbee, Bluetooth®, and 5G or NR radio interfaces as defined by 3GPP. In certain implementations, the wireless transceivers 221 may receive and acquire downlink signals, including terrestrial positioning signals such as PRS. For example, the wireless transceivers 221 may process the acquired terrestrial positioning signals to a degree sufficient to enable timing detection of the acquired terrestrial positioning signals.
[0042] The mobile device 200 may include an SPS receiver 255 capable of receiving and acquiring SPS signals 259 via an SPS antenna 258 (which may be the same as the wireless antenna 222 in some embodiments). The SPS receiver 255 and interface 250 may process the acquired SPS signals 259 whole or partially to estimate the location of the mobile device 200. One or more general-purpose processors 211, memory 240, one or more digital signal processors (DSPs) 212, and / or dedicated processors (not shown) may be used in conjunction with the SPS receiver 255 to process the acquired SPS signals whole or partially and / or to calculate the estimated location of the mobile device 200. The storage of SPS, TPS, or other signals (e.g., signals acquired from the wireless transceiver 221) or the storage of measurements of these signals for use when performing positioning operations may be performed in memory 240 or registers (not shown). The general-purpose processor 211, memory 240, DSP 212, and / or dedicated processor may provide or support a location engine for use in processing measurements to estimate the location of the mobile device 200. For example, the general-purpose processor 211 or DSP 212 may process the downlink signal acquired by the wireless transceiver 221 to perform measurements of RSSI, RTT, AOA, TOA, RSTD, RSRQ, and / or RSRQ.
[0043] As shown in Figure 2, the DSP212 and the general-purpose processor 211 may be connected to the memory 240 via the bus 201. Certain bus interfaces (not shown) may be integrated with the DSP212, the general-purpose processor 211, and the memory 240. In various embodiments, the functions may be executed in response to the execution of one or more machine-readable instructions stored in the memory 240, such as on a computer-readable storage medium like RAM, ROM, FLASH, or a disk drive. One or more instructions may be executable by the general-purpose processor 211, a dedicated processor, or the DSP212. The memory 240 may include non-temporary processor-readable memory and / or computer-readable memory that stores software code (programming code, instructions, etc.) executable by the general-purpose processor 211 and / or the DSP212 to perform the functions described herein.
[0044] As shown in Figure 2, the user interface 235 may include one of several devices, such as, to name just a few, a speaker, a microphone, a display device, a vibration device, a keyboard, or a touchscreen. In a particular implementation, the user interface 235 may enable the user to interact with one or more applications hosted on the mobile device 200. For example, the devices of the user interface 235 may store analog and / or digital signals in the memory 240 so that they are further processed by the DSP 212 or general-purpose processor 211 in response to user actions. Similarly, an application hosted on the mobile device 200 may store analog or digital signals in the memory 240 to present output signals to the user. The mobile device 200 may optionally include a dedicated audio input / output (I / O) device 270, which may include, for example, a dedicated speaker, a microphone, a digital-analog circuit configuration, an analog-digital circuit configuration, an amplifier, and / or gain control. This is just one example of how audio I / O may be implemented in a mobile device, and the claimed subject matter is not limited thereto. The mobile device 200 may include a touch sensor 262 or a touchscreen device that responds to touch on the keyboard or pressure applied to the keyboard.
[0045] The mobile device 200 may include a dedicated camera device 264 for capturing still images or videos. The camera device 264 may include, for example, an image sensor (e.g., a charge-coupled element or a CMOS (complementary metal-oxide-semiconductor) imager), a lens, an analog-digital circuit configuration, and a frame buffer. Additional processing, adjustment, encoding, and / or compression of the signal representing the captured image may be performed in the general-purpose / application processor 211 and / or DSP 212. A dedicated video processor 268 may perform adjustment, encoding, compression, or manipulation of the signal representing the captured image. The video processor 268 may decode / decompress the stored image data for presentation on a display device (not shown) on the mobile device 200.
[0046] The mobile device 200 may also include sensors 260 coupled to the bus 201, which may include, for example, inertial sensors and environmental sensors. The inertial sensors of the sensors 260 may include, for example, an accelerometer (for example, responding collectively to the acceleration of the mobile device 200 in three dimensions), one or more gyroscopes (for example, to support one or more compass applications), or one or more magnetometers. The environmental sensors of the mobile device 200 may include, for example, a temperature sensor, a barometric pressure sensor, an ambient light sensor, a camera imager, and a microphone. The sensors 260 may generate analog and / or digital signals that are stored in memory 240 and processed by the DSP 212 or general-purpose / application processor 211, for example, to support one or more applications, such as applications targeting positioning or navigation operations.
[0047] The mobile device 200 may include a dedicated modem processor 266 capable of performing baseband processing on signals received and downconverted by the wireless transceiver 221 or SPS receiver 255. The modem processor 266 may perform baseband processing on signals to be upconverted for transmission by the wireless transceiver 221. In alternative implementations, instead of having a dedicated modem processor, baseband processing may be performed by a general-purpose processor or DSP (e.g., a general-purpose / application processor 211 or DSP 212). These are merely examples of structures capable of performing baseband processing, and the claimed subject matter is not limited thereto.
[0048] Referring to Figure 3, a hardware diagram of an exemplary IoT device 300 is shown. An IoT device is an example of a type of mobile device 200. Generally, an IoT device has the ability to connect to the internet and includes integrated technologies such as sensors, functional software, technologies that support network connectivity, or actuators. Not limited to, but as examples, an IoT device could be a multitude of products such as mobile devices, optical actuators, parking meters, appliances, security systems, fire alarms, cameras, etc. In one example, an IoT device 300 may include a modem module 302, a radio frequency (RF) control module 304, an optional Wi-Fi module 308, a power management integrated circuit (PMIC) 312, and an external motion detection sensor 314. The modem module 302 may also be a device manager and is an example of a modem processor 266, which includes at least one central processing unit (e.g., ARM Cortex A7) and is configured as a multimode single chipset connectivity solution to support IoT applications such as asset trackers, health monitors, security systems, smart city sensors, smart meters, wearable trackers, and other portable or movable devices that utilize wide-area connectivity in small form factor and low power requirements. For example, the modem module 302 may be a Qualcomm 9205 chipset configured for voice services such as LTE Cat-M1 VoLTE over IMD and GSM CS voice, as well as advanced features such as Cat-M1 with up to 2,984 UL TBS Rel.14, Cat-M1 VoLTE extension, Cat-NB2 with multi-carrier NPRACH and paging, Cat-M1 coverage extension mode B support, Cat-M1 with extended coverage limiting, Cat-M1 with HARQ-ACK bundling in HD-FDD mode, Cat-NB2 with larger TBS and two HARQ processes, Cat-M1 retuning to another narrowband region within one retuning symbol, and Cat-NB2 Release Assistance Indication (RAI).The RF control module 304 is an example of a wireless transceiver 221 and an SPS receiver 255. The RF control module 304 may be a software-defined radio operably coupled to a modem module 302 and one or more antennas 306a, 306b. A radio frequency reference input (RFFE) and Tx / Rx I / Q channels may be available between the modem module 302 and the RF control module 304. The RF control module 304 may be configured for various cellular technologies, such as Rel.12 EGPRS MSC12, Rel.14 LTE Cat-M1, Rel.14 LTE, and Cat-NB2. As an example, but not limited to, the modem module 302 and RF control module 304 may support network protocols such as IPv4 / IPv6 stacks with TCP and UDP, PPP, SSL, DTSL, FTP, ping, HTTP, MQTT, OMA Lightweight M2M, and CoAP. The RF control module 304 may be configured to support ground and satellite-based positioning. For example, the RF control module 304 may be configured to receive GPS, GLONASS, Beidou, and Galileo satellite signals, as well as cellular signals used in ground navigation (e.g., measurements of RSSI, RTT, RSRP, RSRQ, and TOA signals). In one example, the RF control module 304 may be a radio transceiver and front-end IC, such as the Qualcomm SDR105.
[0049] In one example, a subset of the components may include an optional Wi-Fi module 308, which is an example of a wireless transceiver 221. The Wi-Fi module 308 is operably coupled to the modem module 302 and the antenna 310 and can be configured for single or dual-band connectivity for both 2.4GHz and 5GHz applications. In one example, the Wi-Fi module 308 may be a Qualcomm QCA4002 / 4 for IoT applications. A power supply 320 and a voltage regulator (e.g., a low-dropout LDO regulator 318) may be used in conjunction with a resistor network (not shown in Figure 3) to provide power and bias voltages to the hardware components. In one example, the power supply ranges from 2.4V to 4.8V.
[0050] Although the hardware components shown in Figure 3 are shown as individual packages, two or more components may be integrated in a system-on-a-chip (SoC) configuration. For example, the Qualcomm 9205 LTE modem in an SoC configuration may include the Qualcomm 9205 baseband IC, the SMB231 charger IC, the PME9205 power management IC, and the SDR105, which is a wireless transceiver and front-end IC. Furthermore, two or more external motion detection sensor devices may be used.
[0051] Other devices and chipsets may also be used in IoT networks. For example, an IoT device may include a ublox ZED-F9P module configured for simultaneous reception of GPS, GLONASS, Galileo, and BeiDou, and capable of multiband RTK. The functionality of the components may be included in other proprietary and commercially available semiconductor chipsets, so the specific hardware device manufacturers and part numbers provided herein are examples, not limitations.
[0052] Referring to Figure 4, and further to Figures 1-3, an exemplary IoT architecture 400 for providing precision positioning services is shown. The IoT architecture 400 includes a server 402 operably connected to a network 410. The server 402 may be one or more edge network devices configured to coordinate communication between network elements. The network 410 may include a communication system 100 and / or other wide area network components. In one example, the server 402 may be included in the communication system 100 (e.g., LMF120). The IoT architecture 400 includes an exemplary access point 408 and an exemplary base station 412. The access point 408 and base station 412 are examples of WiFi access points, gNB110a-b, ng-eNB114, or other network-connected wireless communication stations. In one example, the network 410 may include a connection to the Internet. A serving IoT device 404 may be an IoT device with precision location (shown as solid concentric circles in Figure 4). Typically, a serving IoT device 404 may be a stationary IoT device, such as a lamppost, weather station, security camera, or any corresponding IoT device at a fixed location. In one example, the serving device may be a Roadside Unit (RSU) in a V2X (Vehicle-to-Everything) network. The serving IoT device 404 is not limited to a stationary unit. A mobile device using precise single-point positioning may be configured as a serving device and thus capable of propagating its positional accuracy to other IoT devices in the network. For example, a serving IoT device 404 may be a mobile device that operates by subscribing to a position correction service (e.g., PPP, DGNSS, network RTK).
[0053] In general, errors in satellite clocks, actual orbits, and other sources can cause inaccuracies in the GNSS signal by the time it reaches the receiver. In one example, a serving IoT device 404 is configured to transmit its known location and raw GNSS measurements to other IoT devices in the network. A user device may be configured to calculate the difference between the actual distance (i.e., the known location of the serving IoT device 404) and the raw measurements obtained by the serving IoT device 404 in order to obtain a correction value for the satellite. In another example, the serving IoT device 404 may be configured to utilize signals transmitted from GNSS satellite 190 to calculate its location and compare its calculated location to its actual known location. The location difference is used to determine an error correction value, which is then provided to other IoT devices in the network. An example of the error correction value is precision positioning information, which may be real-time kinematic satellite phase correction information or differential satellite correction information. In one example, the serving IoT device 404 may utilize a wireless sidelink 416 to provide correction data to a first IoT device 406a. The wireless sidelink may be Bluetooth, PC5, or other wireless communication technology. Correction data may be included as an RTCM (Radio Technology Commission for Maritime Affairs) protocol-compliant payload. Other protocols (e.g., 3GPP) may also be used. The first IoT device 406a may utilize signals transmitted from GNSS satellite 190 and correction data received from serving IoT device 404 to calculate a precise position.
[0054] For example, a serving IoT device 404 may utilize additional wireless protocols 414 (e.g., WiFi, LTE, 5G) to provide precise positioning data to a server 402 via an access point 408 or base station 412. The server 402 is configured to enable the propagation of the precise positioning data determined by the serving IoT device 404 across the entire network. For example, a second IoT device 406b may receive precise positioning data via network 410 and access point 408 (or another access point connected to network 410) and apply the precise positioning data to signals received from satellite 190 to determine its precise location. The second IoT device 406b may then use its precise location to generate new precise positioning data and provide this data to the server 402 or to one or more other IoT devices in the network, such as a third IoT device 406c. The precise positioning data may be provided to the third IoT device 406c via sidelink or other peer-to-peer communication protocols. In one example, the second IoT device 406b may be configured to transfer precise positioning data received from the network 410 to the third IoT device 406c.
[0055] Various IoT devices in the network may be configured to provide precision positioning data based on their respective capabilities or configuration setpoints. For example, a first IoT device 406a may provide precision positioning data to server 402 at a first accuracy level and a first rate, and a second IoT device 406b may provide precision positioning data to server 402 at a second accuracy level and a second rate. A fourth IoT device 406d may be configured to customize how precision positioning data is received from server 402. For example, the fourth IoT device 406d may subscribe to acquire data at a first accuracy level and a first rate. Other configuration options may also be used.
[0056] Referring to Figure 5, and further to Figures 1-4, an exemplary user interface and data structure for a customizable subscription service for precision positioning using IoT devices is shown. Server 402 includes, or can be operably coupled to, a data structure 502 configured to store subscription database information. Data structure 502 may be a relational database application (e.g., SQL, Oracle, etc.) or another persistent data structure (e.g., flat file, JSON, XML) configured to store user and device subscription information. Data structure 502 may include various tables and fields configured to store user and / or device subscription options. Previous precision positioning services typically have a single service model in which all subscribers receive the same level of data. The conventional model can be inefficient for some users, as the received positioning data may be at a higher precision level than the user needs, thus wasting a portion of the subscription cost. Data structure 502 is configured to store precision positioning subscription options to enable users to receive customized location information better suited to their specific applications. For example, a computing device 510, such as a tablet or personal computer, may be configured to present configuration selections stored in a data structure 502 to the user. For instance, the user interface could be a web-based application configured to run in a browser, or a rich client application running on the computing device 510. For example, the data structure 502 may persist on the computing device 510. The user interface may include standard objects such as text boxes, list boxes, combination boxes, radio buttons, toggle objects, and other input and display objects.
[0057] Subscription options may be associated with a user (e.g., user ID) or other identifying information such as a device ID. Subscription options may also be associated with a location or region. Options may include data fields associated with the relevant satellite signal type. For example, the field 512 for selecting a constellation may be configured to retrieve a list of GNSS constellation data (e.g., GPS, GLONASS, Galileo, Beidou, etc.) that the device is configured to receive. The desired bandwidth field 514 may be configured to retrieve information associated with satellite signal types such as L1C / A, L2C, L20F, E1B / C, B2I, E5b, L5, etc. Other fields may be used to capture channel information (e.g., pilot or data). The payload format field 516 may be used to store the expected format of the correction data to be received (e.g., RTCM, 3GPP, etc.). The correction data type field 518 may receive an instruction indicating a desire to utilize pseudorange and / or carrier phase correction. The correction data update frequency field 520 may be used to receive the user's desired correction data update frequency (e.g., every second, every two seconds, every five seconds, every ten seconds, every fifteen seconds, etc.). The position accuracy field 522 may indicate the desired accuracy of the correction data (e.g., centimeter level, decimeter level, submeter level, etc.). Other configuration options 524 and operational data may be stored in the data structure 502. For example, the approximate location of the device may be provided to the server periodically (e.g., latitude / longitude / altitude). Corresponding position uncertainty may also be stored (e.g., east, north, vertical: meters). Other satellites and positioning options that may affect the delivery of precision positioning services may also be stored in the data structure 502.
[0058] In one example, a data structure 502 or server 402 may have a billing application configured to provide users with billing or purchase order information. Users may enter subscription options based on a pricing structure. For example, the pricing structure may be based on geographical area, correction data update frequency, location accuracy, or other configuration options. Users may be billed periodically and / or per use, or on other commercial approaches, for the precision positioning services provided by the IoT architecture 400. One of the configuration options may include an opt-out option for users to cancel their subscriptions. In one embodiment, devices within the IoT architecture 400, such as a serving IoT device 404, may be compensated for participating in the IoT architecture 400. In one example, to encourage participation in the IoT architecture 400, compensation may be based on the amount of time the device acts as a serving station. Other compensation approaches may be used to offer the benefit of adding devices to the network.
[0059] Referring to Figure 6, and further to Figures 1-5, an exemplary use case diagram is shown in which a mobile device 602 is positioned using a network 600 of IoT devices. In one example, the network 600 includes the exemplary IoT architecture 400 in Figure 4. The devices shown in the network 600 are configured to receive signals from satellite 190 and communicate with server 402 via access point 408 and / or base station 412 (not shown in Figure 6), as previously described. The communication technology between devices in the network 600 is agnostic, as various wired and wireless communication systems may be used to enable the transfer of data between devices. The mobile device 602 is an example of UE105. For example, the mobile device 602 could be an autonomous vehicle such as a delivery drone. Server 402 is configured to determine subscription data associated with the mobile device 602 (based on, for example, device ID, user ID, or other index fields). The subscription data may further be based on the location of the mobile device 602. Server 402 is configured to obtain the current location (e.g., approximate location) of mobile device 602 and determine one or more IoT devices in network 600 in order to provide precise positioning information (e.g., RTK, DGPS correction data) to mobile device 602 based on subscription options. Network 600 may include multiple client IoT devices, one of which is designated as the serving IoT device. For example, Server 402 may select the serving IoT device 606 based on one or more previously stored subscription fields, such as the location accuracy field 522 and the constellation field 512. The serving IoT device 606 may be a stationary or mobile IoT device with a precise location. The serving IoT device 606 may be configured to determine RTK or DGPS correction data and provide the correction data (i.e., precise positioning information) to Server 402.In one example, server 402 may receive raw satellite signal information from serving IoT device 606 and calculate precise positioning data. Mobile device 602 may receive precise positioning data from server 402 (e.g., via IoT architecture 400) or directly from serving IoT device 606 (e.g., via sidelink protocol) and calculate its precise location. In one example, server 402 may be configured to receive satellite signal information from mobile device 602 and from serving IoT device 606 in order to determine the precise location of mobile device 602.
[0060] Server 402 may also determine one or more leading candidates 608a-c based on the location and subscription configuration of the mobile device 602. Leading candidates 608a-c are client IoT devices that can be used as alternative serving IoT devices. The selection of leading candidates 608a-c may be based on the expected future trajectory 604 of the mobile device and / or other subscription factors. Server 402 may evaluate subscription options based on its matching algorithm so that the selected serving IoT device 606 can represent the best result based on the weighted matching algorithm. In this case, leading candidates 608a-c may represent the next best result based on the weighted matching algorithm. For example, the subscription option may indicate a desired decimeter accuracy requirement where correction data is provided every 5 seconds. The serving IoT device 606 may provide decimeter accuracy at the desired update rate. The first leading candidate 608a may be configured to provide centimeter-level accuracy at a higher update rate. Therefore, the first leading candidate 608a, while potentially suboptimal in terms of data transfer, could provide an over-provided service, but would serve as a sufficient substitute serving station for the mobile device 602 if the serving IoT device 606 becomes inactive. Alternatively, the second leading candidate 608b could provide the required accuracy and update rate, but other factors such as uptime or other historical performance factors would be used to categorize the second leading candidate 608b as a leading candidate rather than a serving device. The third leading candidate 608c could also meet the accuracy and update rate requirements, but its relative position to the mobile device 602 compared to the serving IoT device 606 would be used to categorize the third leading candidate 608c as a leading candidate. Server 402 may be configured to modify the precision positioning data sent to the mobile device 602 based on subscription requirements. For example, Server 402 could filter the data associated with the over-provided first leading candidate 608a to meet the subscription expectations of the mobile device 602.Server 402 can also modify the format of data payloads between devices, such as converting RTCM messages to 3GPP frames and 3GPP frames to RTCM messages, as indicated by the subscription options.
[0061] Server 402 is configured to continuously update the current serving device selection and leading candidates as the mobile device 602 moves along the orbit 604. One or more unassigned client IoT devices 610a, 610b, 610c, 610d, 610e may be later selected as serving devices and / or leading candidates based on subscription options and network status. For example, if the current serving IoT device 606 and / or one of the leading candidates 608a-c is to become inactive for reasons such as going offline (e.g., power saving mode, communication failure), losing positional accuracy (e.g., due to sky obstruction), changing location, or other device failure, Server 402 is configured to run a matching algorithm to find an alternative station to use. Thus, since an alternative serving device is identified and can be used to immediately replace the failed serving device, the IoT network 600 offers improved reliability compared to previous single-station RTK solutions. The alignment algorithm can also continuously re-evaluate the status and capabilities of devices within the IoT network 600 to provide services aligned with subscription options. New IoT stations can also be added to the network. Thus, as the number of IoT devices in the network increases, the coverage area of the precision positioning service can automatically expand. In one example, the mobile device 602 itself may be included in the IoT network and configured as a serving device. Server 402 may be configured to use the existing network 600 to precisely determine the location of newly added IoT devices. In one example, one or more of the unassigned client IoT devices 610a-e may be in sleep mode, and Server 402 may be configured to wake up the unassigned client IoT devices 610a-e so that they can function as leading candidates or serving devices.
[0062] Referring to Figure 7, and further to Figures 1-6, Method 700 for determining a serving Internet of Things device to provide precise positioning information to a mobile device using a network of Internet of Things devices includes the illustrated steps. However, Method 700 is an example and not limiting. Method 700 can be modified, for example, by adding, removing, rearranging, combining, performing simultaneously, and / or dividing a single step into multiple steps. For example, steps 706 and 708, described below, can be performed simultaneously. Further modifications to Method 700 as illustrated and described are possible.
[0063] In step 702, the method includes obtaining the approximate location of a mobile device. Server 402 and mobile device 602 are means for obtaining the approximate location. In one example, mobile device 602 includes an SPS receiver 255 configured to receive signals transmitted from satellite 190. Mobile device 602 may be configured to calculate its location locally and provide the approximate location to server 402. In one example, mobile device 602 is configured to provide satellite measurement information to server 402, and server 402 determines the approximate location of mobile device 602. The approximate location of mobile device 602 may be based on ground navigation techniques such as OTDOA, E-CID, AOA, AOD, RTT, inertial sensors, or other land-based navigation techniques. The approximate location may be determined by communication system 100 and provided to server 402.
[0064] In step 704, the method includes determining one or more nearby reporting devices on the Internet. Server 402 may be a means for determining one or more nearby reporting devices. Referring to Figure 6, Server 402 is configured to track the locations of IoT devices 606, 608a-c, 610a-e, and other IoT devices that may later join the network. Proximity may be defined based on the density of IoT devices in the network and other operational considerations (e.g., desired accuracy, satellite coverage). Generally, nearby reporting IoT devices may be within 10 km of the estimated location of mobile device 602. In one example, nearby reporting IoT devices may be within 30 km of mobile device 602. Server 402 is configured to determine a list of IoT devices in the network that are within a threshold distance of the approximate location of mobile device 602. This list of IoT devices is one or more nearby reporting devices.
[0065] In step 706, the method includes selecting a serving Internet device from one or more nearby reporting Internet devices based on one or more configuration options. Server 402 may be a means for selecting a serving device. Server 402 may include, or have access to, a non-temporary processor-readable storage medium containing processor-readable instructions configured to cause one or more processors to select a serving device based on subscription options stored in a data structure 502. In one example, the algorithm may determine a subset of nearby reporting devices that are capable of reporting GNSS measurements and are precisely located. For each IoT device in the subset, the algorithm may determine a weighted score based on the parameters of the IoT device compared to a subscription option for a mobile device 602. The weighted score may be the sum of weighting functions applied to each of the fields in the subscription option. For example, a first weighting function may be a constant value × the distance between the IoT station and the mobile device 602. A second weighting function may be based on the location accuracy field 522 for the mobile device 602 and the device capability of the IoT device. Other weighting functions may be applied to other fields in the subscription options. The calculated scores for each IoT device in the subset can be sorted in an array. The IoT device in the subset with the lowest total weighted score may be selected as Serving IoT Device 606.
[0066] In stage 708, the next n IoT devices in the subset with the next lowest score may be selected as strong candidates 608a-c. Server 402 may be configured to run the algorithm periodically (e.g., every 1 second, every 2 seconds, every 5 seconds, every 10 seconds, every 15 seconds, every 60 seconds, etc.) to ensure that the best matched candidate is selected as the serving device and the best strong candidates are identified when the mobile device 602 moves through the network and the status of IoT devices in network 600 changes (e.g., due to movement, power settings, location accuracy, device performance, etc.). Method 700 provides an adaptive precision positioning service that helps ensure that the delivered precision positioning data matches the subscription options associated with the mobile device.
[0067] Referring to Figure 8, and further to Figures 1-7, Method 800 for tracking one or more promising candidates in an IoT network includes the illustrated steps. However, Method 800 is an example and not limiting. Method 800 can be modified, for example, by adding, removing, rearranging, combining, performing simultaneously, and / or dividing a single step into multiple steps. For example, steps 802, 804, and 806, described below, can be performed simultaneously. Further modifications to Method 800 as illustrated and described are possible.
[0068] In step 802, the method includes determining the status of the leading candidates. Server 402 is the means for determining the status of the leading candidates. Leading candidates 608a-c are identified as becoming the serving device if the current serving IoT device 606 becomes unavailable. The status of each of the leading candidates 608a-c may be evaluated periodically (e.g., every 0.5 seconds, every 1 second, every 2 seconds, every 10 seconds, every 60 seconds, etc.) to ensure that those leading candidates become available to fulfill the role of the serving device. In one example, Server 402 may send a request to a device to obtain permission to use the device in Network 600. The server may reject such a request, and the device will not be added to Network 600. In one example, the request may be sent periodically. Status changes such as going offline (e.g., due to power settings), a change in location accuracy (e.g., due to movement), a change in satellite reception (e.g., which can be degraded by obstruction of the line of sight), or rejecting a request to join the network may cause the device to be excluded from the network. If a promising candidate goes offline or loses satellite detection capabilities and becomes unavailable, the device may be removed from the network, and / or the status field indicating that the device is a promising candidate may be changed.
[0069] In step 804, the method includes determining the distance between the mobile device and the leading candidate. Server 402 may be a means for determining the distance. The precise location of the mobile device 602 can be obtained based on precise positioning data provided by the serving IoT device 606. Server 402 is configured to determine the distance between the mobile device 602 and the current leading candidate. If the distance is greater than a threshold (e.g., 1km, 5km, 10km, 30km), the current leading candidate is removed from the list of leading candidates. In step 806, Server 402 is configured to determine the number of IoT devices to be classified as leading candidates. For example, Server 402 may perform a counting operation based on the value of the IsHotCandidate status field associated with the IoT device.
[0070] In step 808, the method includes determining one or more nearby reporting Internet devices based on the current location of the mobile device if the number of available strong candidates falls below a threshold, and selecting a new strong candidate from one or more nearby reporting Internet devices based on one or more configuration options. Server 402 is a means for selecting the new strong candidate. The threshold for strong candidates can be based on the capabilities and abilities of the mobile device 602. For example, if the mobile device 602 is moving rapidly and / or requires centimeter-level precision positioning, the threshold number for strong candidates may be 3 or 4 to ensure that strong candidates are readily available if the serving IoT device 606 goes offline or out of range (i.e., based on the distance to the mobile device). In another example, if the mobile device 602 is stationary or moving slowly or has less precise positioning requirements (e.g., sub-meter level), a threshold with fewer strong candidates (e.g., 1 or 2) may provide satisfactory positioning results. If the number of strong candidates falls below a specified threshold, the server 402 may be configured to run a search process to select new strong candidates. For example, method 700 in Figure 7 may be used to select strong candidates based on configuration options associated with the mobile device 602.
[0071] Referring to Figure 9, and further to Figures 1-8, Method 900 for tracking and switching serving devices in an IoT network includes the illustrated steps. However, Method 900 is an example and not limiting. Method 900 can be modified, for example, by adding, removing, rearranging, combining, performing simultaneously, and / or dividing a single step into multiple steps. For example, steps 902 and 904, described below, can be performed simultaneously. Further modifications to Method 900 as illustrated and described are possible.
[0072] In step 902, the method includes determining the status of the Serving IoT device. Server 402 is a means for determining the status of the Serving IoT device. Referring to Figure 6, mobile device 602 receives precise positioning data based on measurements taken from Serving IoT device 606. If at some point Serving IoT device 606 is unable to provide measurements or correction data to network 600 (for example, via server 402), one of the leading candidates 608a-c may be designated as the new Serving IoT device and will provide measurements or correction values to network 600. For example, Serving IoT device 606 may have an inactive status due to a power outage, component failure, or other event that causes Serving IoT device 606 to lose its connection to the network or impair its ability to provide data to the network. Server 402 is configured to maintain a status field for each IoT device in network 600. If the status of serving IoT device 606 indicates that serving IoT device 606 is inactive, one of the leading candidates 608a to c will be selected in step 906.
[0073] In step 904, the method includes determining the distance between the mobile device and the serving IoT device. Server 402 is the means for determining the distance. The precise locations of the mobile device 602 and the serving IoT device 606 are known to Server 402. The distance can be compared to a pre-established threshold. The threshold may be based on application parameters such as device speed, accuracy requirements, or other operating factors. In one example, threshold distance values may include 1km, 5km, 10km, 20km, 30km, etc.
[0074] In step 906, the method includes selecting a surrogate serving IoT device from one or more previously determined strong candidates if the status of the serving IoT device is inactive or the distance between the mobile device and the serving IoT device exceeds a threshold distance. Server 402 is the means for determining the surrogate serving IoT device. Referring to Figure 7, in step 708, one or more strong candidates are selected based on configuration options. The selection of strong candidates is based on the weighted scores determined in method 700. A surrogate serving device may be a strong candidate having a second-best score (i.e., compared to the serving device selected in step 706). The surrogate serving device may be designated as the serving IoT device, and method 900 may be repeated periodically (e.g., every 0.5 seconds, every 1 second, every 2 seconds, every 5 seconds, every 10 seconds) by returning to steps 902 and 904 to evaluate the status of the serving IoT device, as previously described.
[0075] The computer system shown in Figure 10 can be incorporated as part of a previously described computerized device, such as a server 402. Figure 10 provides a schematic diagram of one embodiment of computer system 1000 that can perform methods provided by various other embodiments as described herein. It should be noted that Figure 10 is intended to provide a generalized diagram of various components, and any or all of the components may be used as appropriate. Thus, Figure 10 broadly illustrates how individual system elements can be implemented in a relatively isolated or relatively more integrated manner.
[0076] A computer system 1000 is shown, comprising hardware elements that can be electrically coupled (or communicate otherwise as appropriate) via a bus 1005. The hardware elements may include, but are not limited to, one or more processors 1010, including one or more general-purpose processors and / or one or more dedicated processors (such as a digital signal processing chip, a graphics acceleration processor, etc.); one or more input devices 1015, which may include, but are not limited to, a mouse, a keyboard, etc.; and one or more output devices 1020, which may include, but are not limited to, a display device, a printer, etc.
[0077] The computer system 1000 may further include (and / or communicate with) one or more non-temporary storage devices 1025. The non-temporary storage devices 1025 may, but are not limited to, include local storage and / or network-accessible storage, and / or may include solid-state storage devices such as disk drives, drive arrays, optical storage devices, programmable, flash-updatable, etc., random access memory ("RAM") and / or read-only memory ("ROM"). Such storage devices may, but are not limited to, be configured to implement any suitable data store, including various file systems, database structures, etc.
[0078] The computer system 1000 may also include a communications subsystem 1030, which may include, but is not limited to, a modem, a network card (wireless or wired), an infrared communications device, a wireless communications device (such as a Bluetooth device, an 802.11 device, a WiFi device, a WiMAX device, or a cellular communications facility), and / or a chipset. The communications subsystem 1030 may enable data to be exchanged with a network (such as network 600, for example), another computer system, and / or any other device described herein. In many embodiments, the computer system 1000 will further include a working memory 1035, which may include a RAM device or a ROM device, as described above.
[0079] The computer system 1000 may also comprise software elements, currently shown as located in working memory 1035, which include other code such as an operating system 1040, device drivers, executable libraries, and / or one or more application programs 1045, the application programs 1045 may include computer programs provided by various embodiments and / or may be designed to implement methods provided by other embodiments and / or to configure a system provided by other embodiments, as described herein. Just as an example, one or more procedures described above with respect to the methods described above may be implemented as code and / or instructions executable by a computer (and / or a processor in the computer), and in one embodiment such code and / or instructions may then be used to configure and / or adapt a general-purpose computer (or other device) to perform one or more operations according to the methods described.
[0080] These instructions and / or sets of code may be stored on a computer-readable storage medium, such as the storage device 1025 described above. In some cases, the storage medium may be incorporated into a computer system, such as computer system 1000. In other embodiments, the storage medium may be separate from the computer system (e.g., a removable medium such as a compact disk) and / or provided in an installation package, so that the storage medium may be used to program, configure, and / or adapt a general-purpose computer using the instructions / code stored thereon. These instructions may take the form of executable code that can be executed by computer system 1000 and / or in the form of source and / or installable code, the source and / or installable code then taking the form of executable code when compiled and / or installed on computer system 1000 (e.g., using one of various commonly available compilers, installation programs, compression / decompression utilities, etc.).
[0081] It will be apparent to those skilled in the art that substantial modifications may be made to suit specific requirements. For example, customized hardware may be used, and / or certain elements may be implemented in hardware, software (including portable software such as applets), or both. Furthermore, connections to other computing devices, such as network input / output devices, may be employed.
[0082] As described above, in one aspect, several embodiments may employ a computer system (such as computer system 1000) to perform the methods according to various embodiments of the present disclosure. According to a set of embodiments, some or all of the steps of such a method are performed by computer system 1000 in response to processor 1010 executing one or more sequences of one or more instructions contained in working memory 1035 (which may be incorporated into other code such as the operating system 1040 and / or application program 1045). Such instructions may be read into working memory 1035 from another computer-readable medium, such as one or more of the storage devices 1025. Simply as an example, the execution of a sequence of instructions contained in working memory 1035 may cause processor 1010 to perform one or more steps of the methods described herein.
[0083] As used herein, the terms “machine-readable medium” and “computer-readable medium” refer to any medium involved in providing data that causes a machine to operate in a particular manner. In one embodiment implemented using computer system 1000, various computer-readable media may be involved in providing instructions / code to processor 1010 for execution and / or may be used to store and / or carry such instructions / code (e.g., as signals). In many implementations, computer-readable media are physical and / or tangible storage media. Such media may take many forms, including, but are not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical disks and / or magnetic disks, such as storage device 1025. Volatile media include, but are not limited to, dynamic memory, such as working memory 1035. Transmission media include, but are not limited to, coaxial cables, copper wires and optical fibers, including wires with bus 1005, as well as various components of communication subsystem 1030 (and / or media through which communication subsystem 1030 provides communication with other devices). Therefore, the transmission medium may also take the form of a wave (including, but not limited to, radio waves, acoustic waves and / or light waves, such as those generated between radio data communications and infrared data communications).
[0084] Common forms of physical and / or tangible computer-readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tapes, or any other magnetic media, CD-ROMs, any other optical media, any other physical media having a pattern of holes, RAM, PROMs, EPROMs, FLASH-EPROMs, any other memory chips or cartridges, carriers as described below, or any other media from which a computer can read instructions and / or code.
[0085] Various forms of computer-readable media may be involved in transporting one or more sequences of one or more instructions to the processor 1010 for execution. As a simple example, instructions may first be transported on a magnetic disk and / or optical disk of a remote computer. The remote computer may load the instructions into its dynamic memory and send the instructions, to be received and / or executed by the computer system 1000, as signals via a transmission medium. These signals, which may take the form of electromagnetic signals, acoustic signals, optical signals, etc., are all examples of carrier waves on which instructions may be encoded, according to various embodiments of this disclosure.
[0086] The communication subsystem 1030 (and / or its components) generally receives a signal, and the bus 1005 may then transport the signal (and / or the data, instructions, etc. carried by the signal) to the working memory 1035, where the processor 1010 retrieves the instruction from the working memory 1035 and executes it. The instruction received from the working memory 1035 may optionally be stored on the storage device 1025 either before or after execution by the processor 1010.
[0087] The methods, systems, and devices described above are examples. Various configurations may omit, substitute, or add various procedures or components as appropriate. For example, in alternative configurations, the methods may be performed in a different order than described, and / or various steps may be added, omitted, and / or combined. Also, features described for some configurations may be combined in various other configurations. Different aspects and elements of configurations may be combined in similar ways. Furthermore, technology evolves, and therefore many of the elements are examples and do not limit the scope of this disclosure or the claims.
[0088] Specific details are given in the description to provide a complete understanding of exemplary configurations (including implementation forms). However, configurations can be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques are shown without unnecessary details to avoid obscuring the configurations. This description provides exemplary configurations and does not limit the scope, applicability, or configurations of the claims. Rather, the foregoing description of configurations provides a description that enables a person skilled in the art to implement the techniques described. Various modifications may be made to the function and configuration of the elements without departing from the scope of this disclosure.
[0089] Furthermore, the configuration may be described as a process shown as a flow chart or block diagram. While flow charts or block diagrams may describe the operation as a sequential process, many operations may be performed in parallel or simultaneously. In addition, the order of operations may be rearranged. The process may have additional steps not included in the diagram. Moreover, examples of methods may be implemented in hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments for performing the required tasks may be stored in a non-temporary computer-readable medium such as a storage medium. The processor may perform the described tasks.
[0090] While several exemplary configurations have been described, various modifications, alternative configurations, and equivalents may be used without departing from this disclosure. For example, the elements described above may also be components of a larger system, where other rules may take precedence over the examples of application of this disclosure, or the examples of application of this disclosure may be modified in a different way. Furthermore, several steps may be undertaken before, during, or after the consideration of the elements described above. Therefore, the above description does not limit the scope of the claims. Other examples and implementations are within the scope of this disclosure and the accompanying claims. For example, due to the nature of software and computers, the functions described above may be implemented using software, hardware, firmware, hardwiring, or any combination thereof, executed by a processor. The features implementing the functions may also be physically located in various locations, including the distribution of parts of the functions so that they are implemented in various physical locations.
[0091] Furthermore, as used herein, "or" in a list of items beginning with "at least one of" or "one or more of" indicates a disjunctive list where, for example, a list of "at least one of A, B, or C" or a list of "one or more of A, B, or C" or "A, B, or C or a combination thereof" means A, or B, or C, or AB, or AC, or BC, or ABC (i.e., A and B and C), or a combination of two or more features (e.g., AA, AAB, ABBC, etc.).
[0092] When used herein, unless otherwise specified, the statement that a function or operation is "based on" an item or condition means that the function or operation is based on the item or condition described, and may also be based on one or more items and / or conditions in addition to the item or condition described.
[0093] Furthermore, an indication that information is being sent or transmitted, or a statement that information is being sent or transmitted "to" an entity, does not require the completion of communication. Such indications or statements include situations where information is transmitted from the sending entity but does not reach the intended recipient of the information. The intended recipient may still be referred to as the receiving entity, for example, the receiving execution environment, even if it has not actually received the information. Moreover, an entity configured to send or transmit information "to" a intended recipient is not required to be configured to complete the delivery of the information to the intended recipient. For example, an entity may provide information to another entity along with an indication of the intended recipient, and the other entity may forward that information along with the indication of the intended recipient.
[0094] A wireless communication system is one in which at least some communications are transmitted wirelessly by electromagnetic and / or acoustic waves that propagate through the atmosphere rather than, for example, through wires or other physical connections. A wireless communication network is configured to transmit at least some communications wirelessly, but not all communications wirelessly. Furthermore, the term “wireless communication device” or similar terms does not require that the device’s function is exclusively or uniformly primarily for communication, or that the device is a mobile device, but that the device includes wireless communication capabilities (one-way or two-way), for example, that it includes at least one radio for wireless communication (each radio being part of a transmitter, receiver, or transceiver).
[0095] The methods, systems, and devices described above are examples. Various configurations may omit, substitute, or add various procedures or components as appropriate. For example, in alternative configurations, the methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Also, features described for some configurations may be combined in various other configurations. Different aspects and elements of configurations may be combined in similar ways. Furthermore, technology evolves, and therefore many elements are examples and do not limit the scope of this disclosure or the claims.
[0096] Unless otherwise specified, “about” and / or “approximately” as used herein when referring to measurable values such as quantity, duration, etc., in the context of the systems, devices, circuits, methods, and other forms of implementation described herein, shall, as appropriate, include a variation of ±20%, ±10%, ±5%, or +0.1% from the specified value. Unless otherwise specified, “substantially” as used herein when referring to measurable values such as quantity, duration, physical attributes (such as frequency), etc., in the context of the systems, devices, circuits, methods, and other forms of implementation described herein, shall, as appropriate, include a variation of ±20%, ±10%, ±5%, or +0.1% from the specified value.
[0097] The statement that a value exceeds a first threshold (i.e., is greater than or above it) is equivalent to the statement that a value meets or exceeds a second threshold that is slightly greater than the first threshold, for example, the second threshold being a single value higher than the first threshold in the resolution of the computing system. The statement that a value is less than a first threshold (i.e., is within or below it) is equivalent to the statement that a value is less than or equal to a second threshold that is slightly lower than the first threshold, for example, the second threshold being a single value lower than the first threshold in the resolution of the computing system.
[0098] Implementation examples are described in the following numbered clauses.
[0099] Clause 1. A device for determining the precise location of a mobile device, A server having a data structure that includes precision positioning subscription options associated with a mobile device, The system comprises multiple client Internet of Things devices configured to communicate with at least one server, wherein at least one of the multiple client Internet of Things devices is a serving Internet of Things device configured to provide precise positioning information to a mobile device. A Serving Things Internet device is selected from multiple Client Things Internet devices based on a precision positioning subscription option. Device.
[0100] Clause 2. The precision positioning subscription option includes the desired precision of the precision positioning information for the device specified in Clause 1.
[0101] Clause 3. The device specified in Clause 1, which includes a precision positioning subscription option that includes a desired update rate for precision positioning information.
[0102] Clause 4. The device of Clause 1, wherein the Serving Things Internet device is configured to provide precise positioning information to at least one server, and at least one server is configured to provide precise positioning information to a mobile device.
[0103] Clause 5. The device specified in Clause 1, whose precise positioning information is in Maritime Radio Technology Commission (RTCM) format.
[0104] Clause 6. The apparatus of Clause 1, wherein the precise positioning information is real-time kinematic satellite phase signal correction information.
[0105] Clause 7. The device specified in Clause 1, wherein the precise positioning information is differential satellite position correction information.
[0106] Clause 8. The device under Clause 1, in which one or more of the multiple client Internet of Things devices are configured as a leading candidate based on the precision positioning subscription option, and if the Serving Internet of Things device becomes inactive or the distance between the mobile device and the Serving Internet of Things device exceeds a threshold distance, one of the leading candidates is configured to be the surrogate Serving Internet of Things device.
[0107] Article 9. A method for determining a serving Internet of Things device for providing precise positioning information to a mobile device using a network of Internet of Things devices, Steps to obtain the approximate location of the mobile device, The steps include determining one or more nearby Internet devices of reporting objects based on their approximate location, A step of selecting a serving Internet device from one or more nearby reporting Internet devices based on one or more configuration options, The steps include selecting one or more promising candidates from one or more nearby reporting Internet devices based on one or more configuration options, and A method that includes this.
[0108] Clause 10. The method of Clause 9, wherein a Serving Mono Internet device is configured to provide real-time kinematic satellite phase correction information.
[0109] Clause 11. The method of Clause 9, wherein an Internet of Things Serving Device is configured to provide differential satellite correction information.
[0110] The method of Clause 9, wherein one or more configuration options include a desired accuracy for precise positioning information.
[0111] The method of Clause 9, wherein one or more configuration options include a desired update rate for precise positioning information.
[0112] Clause 14. The method of Clause 9, wherein an Internet of Things Serving device is configured to provide precise positioning information in Maritime Radio Technology Commission (RTCM) format.
[0113] Article 15. Steps to determine the status of the Serving Things Internet device, The steps include determining the distance between a mobile device and an internet-enabled serving device, If the status of the Serving Things Internet device is inactive, or if the distance between the mobile device and the Serving Things Internet device exceeds a threshold distance, the step of determining a surrogate serving device from one or more strong candidates is performed. The method of Article 9, further including the method of Article 9.
[0114] Clause 16. A device for determining a serving Internet of Things device for providing precise positioning information to a mobile device using a network of Internet of Things devices, Memory and At least one processor operably coupled to memory, To obtain the approximate location of the mobile device, Based on their approximate location, one or more nearby Internet devices of reporting objects, Selecting a serving Internet device from one or more nearby reporting Internet devices based on one or more configuration options, Selecting one or more promising candidates from one or more nearby reporting Internet devices based on one or more configuration options. At least one processor configured to perform the following: A device equipped with the following features.
[0115] Clause 17. An Internet of Things Serving device configured to provide real-time kinematic satellite phase correction information, as per Clause 16.
[0116] Clause 18. An Internet of Things Serving Device configured to provide differential satellite correction information, as per Clause 16.
[0117] The apparatus of Clause 16, wherein one or more configuration options include a desired accuracy for precise positioning information.
[0118] The apparatus of Clause 16, wherein one or more configuration options include a desired update rate for precise positioning information.
[0119] Clause 21. An Internet of Things device configured to provide precise positioning information in Maritime Radio Technology Commission (RTCM) format, as per Clause 16.
[0120] Clause 22. At least one processor, Determining the status of a Serving Things Internet device, Determining the distance between a mobile device and an internet-enabled serving device, If the status of the Serving Things Internet device is inactive, or if the distance between the mobile device and the Serving Things Internet device exceeds a threshold distance, a surrogate serving device will be determined from one or more leading candidates. The apparatus of clause 16, further configured to perform the following.
[0121] Clause 23. A device for determining a serving Internet of Things device for providing precise positioning information to a mobile device using a network of Internet of Things devices, A means of obtaining the approximate location of a mobile device, Means for determining one or more nearby reporting device internet devices based on their approximate location, Means for selecting a serving Internet device from one or more nearby reporting Internet devices based on one or more configuration options, Means for selecting one or more promising candidates from one or more nearby reporting Internet devices based on one or more configuration options. A device equipped with the following features.
[0122] Article 24. A means for determining the status of a Serving Things Internet device, Means for determining the distance between a mobile device and an Internet device serving things, If the status of the Serving Things' Internet device is inactive, or if the distance between the mobile device and the Serving Things' Internet device exceeds a threshold distance, means for determining a surrogate serving device from one or more strong candidates. The apparatus of Clause 23, further comprising:
[0123] Clause 25. A non-temporary processor-readable storage medium comprising processor-readable instructions configured to cause one or more processors to determine a serving Internet of Things device for providing precise positioning information to a mobile device using a network of Internet of Things devices, Code to obtain the approximate location of a mobile device, A code for determining one or more nearby reporting Internet devices based on their approximate location, Code for selecting a serving Internet device from one or more nearby reporting Internet devices based on one or more configuration options, Code for selecting one or more promising candidates from one or more nearby reporting Internet devices based on one or more configuration options. A non-temporary processor-readable storage medium that includes [a specific type of data].
[0124] Article 26. A code to determine the status of a Serving Things Internet device, Code for determining the distance between a mobile device and an internet device serving things, If the status of the Serving Things' Internet device is inactive, or if the distance between the mobile device and the Serving Things' Internet device exceeds a threshold distance, a code is used to determine a substitute serving device from one or more strong candidates. Non-temporary storage media of Clause 25, further including the above.
[0125] Article 27. A method for switching a serving Internet of Things device in an Internet of Things network, Steps to determine the status of the Serving Things Internet device, The steps include determining the distance between a mobile device and an internet-enabled serving device, If the status of the Serving Things Internet device is inactive, or if the distance between the mobile device and the Serving Things Internet device exceeds a threshold distance, the step of selecting a substitute Serving Things Internet device from one or more previously determined strong candidates. A method that includes this.
[0126] Clause 28. One or more previously determined leading candidates are selected from one or more nearby reporting device Internet devices based on one or more configuration options, in the manner of Clause 27.
[0127] Clause 29.1 or more nearby reporting devices are within 10 kilometers of a mobile device, in the manner of Clause 28.
[0128] The method of Clause 28, wherein one or more configuration options include a desired precision for precise positioning information.
[0129] The method of Clause 28, wherein one or more configuration options include a desired update rate for precise positioning information.
[0130] Clause 32. A device for switching serving Internet of Things devices in an Internet of Things network, Memory and At least one processor operably coupled to memory, Determining the status of a Serving Things Internet device, Determining the distance between a mobile device and an internet-enabled serving device, If the status of the Serving Things Internet device is inactive, or if the distance between the mobile device and the Serving Things Internet device exceeds the threshold distance, select a surrogate Serving Things Internet device from one or more previously determined leading candidates. At least one processor configured to perform the following: A device equipped with the following features.
[0131] The apparatus of Clause 32, wherein one or more previously determined leading candidates are selected from one or more nearby reporting device internet devices based on one or more configuration options.
[0132] Clause 34.1 or more nearby reporting devices of the Internet of Things are within 10 kilometers of the mobile device of Clause 33.
[0133] The apparatus of Clause 33, wherein one or more configuration options include a desired accuracy for precise positioning information.
[0134] The apparatus of Clause 33, wherein one or more configuration options include a desired update rate for precise positioning information.
[0135] Clause 37. A device for switching serving Internet of Things devices within an Internet of Things network, A means for determining the status of a Serving Things Internet device, Means for determining the distance between a mobile device and an Internet device serving things, If the status of the Serving Things Internet device is inactive, or if the distance between the mobile device and the Serving Things Internet device exceeds a threshold distance, means for selecting a substitute Serving Things Internet device from one or more previously determined strong candidates. A device equipped with the following features.
[0136] Clause 38. One or more previously determined leading candidates are selected from one or more nearby reporting device of the Internet of Things based on one or more configuration options, according to Clause 37.
[0137] Clause 39.1 or more nearby reporting devices of the Internet of Things are within 10 kilometers of the mobile device of Clause 38.
[0138] The apparatus of Clause 40.1, in which one or more configuration options include a desired accuracy for precise positioning information.
[0139] The apparatus of Clause 41.1, in which one or more configuration options include a desired update rate for precision positioning information, as specified in Clause 38.
[0140] Clause 42.1 A non-temporary processor-readable storage medium comprising processor-readable instructions configured to cause one or more processors to switch serving Internet of Things devices in an Internet of Things network, A code to determine the status of a Serving Things Internet device, Code for determining the distance between a mobile device and an internet device serving things, If the status of the Serving Things' Internet device is inactive, or if the distance between the mobile device and the Serving Things' Internet device exceeds a threshold distance, a code is generated to select a substitute Serving Things' Internet device from one or more previously determined leading candidates. A non-temporary processor-readable storage medium that includes [a specific type of data].
[0141] Clause 43. One or more previously determined leading candidates are selected from one or more nearby reporting device Internet devices based on one or more configuration options for a non-temporary storage medium under Clause 42. [Explanation of Symbols]
[0142] 100 Communication Systems 105 Mobile devices, UE 110a, 110b NR node B (gNB), gNB, serving gNB 114 Next-generation e-node B (ng-eNB), ng-eNB, Serving ng-eNB 115 Mobility Management Function (AMF), AMF 120 Location Management Function (LMF), LMF 125 Gateway Mobile Location Center (GMLC), GMLC 130 External Clients 135 Next-generation (NG) wireless access network (RAN) (NG-RAN), NG-RAN 140 5G Core Network (5GC), 5GC 190 Satellite Vehicles (SV), SV, GNSS satellite, satellite 200 mobile devices 201 Bus 211 General-purpose processors, general-purpose / application processors 212 Digital Signal Processor (DSP), DSP 220 Wireless Transverse Bus Interface 221 Wire Restaurant Seaba 222 Wireless Antenna 223 Wireless Signal 235 User Interface 240 memory 250 Interfaces 255 SPS receiver 258 SPS antenna 259 SPS signal 260 sensors 262 Touch Sensors 264 Camera Devices 266 Modem Processors 268 video processors 270 Audio Input / Output (I / O) Devices 300 IoT devices 302 Modem Module 304 Radio frequency (RF) control module, RF control module 306a, 306b antennas 308 Wi-Fi Modules 310 Antenna 312 Power Management Integrated Circuit (PMIC) 314 External motion detection sensor 318 Low Dropout LDO Regulator 320 power supply 400 IoT Architectures 402 Server 404 Serving IoT Devices 406a First IoT device 406b Second IoT device 406c The third IoT device 406d The fourth IoT device 408 Access Point 410 Network 412 Base Station 414 Wireless Protocols 416 Wireless Sidelink 502 Data Structure 510 Computing Devices 512 Field for selecting a constellation, constellation field 514 Desired bandwidth field 516 Payload Format Field 518 Correction Data Type Field 520 Correction data update frequency field 522 Positional accuracy field 524 Other configuration options 600 IoT Networks 602 Mobile devices 604 orbit 606 Serving IoT devices, IoT devices 608a Strong candidate, top candidate, IoT device 608b Strong candidate, second strong candidate, IoT device 608c: A strong candidate, a third strong candidate, IoT devices 610a, 610b, 610c, 610d, 610e Unassigned Client IoT Devices, IoT Devices 700 methods 800 ways 900 ways 1000 Computer Systems 1005 Bus 1010 Processor 1015 Input Devices 1020 Output Device 1025 Non-temporary memory device, memory device 1030 Communication Subsystem 1035 Working memory 1040 Operating Systems 1045 Application Programs
Claims
1. A device for determining the precise location of a mobile device, A server comprising a data structure including a precision positioning subscription option associated with the mobile device, A serving IoT device comprising a plurality of client Internet of Things (IoT) devices configured to communicate with at least one of the server, wherein at least one of the plurality of client IoT devices is configured to provide precise positioning information to the mobile device, The serving IoT device is selected from the plurality of client IoT devices based on the precision positioning subscription option. Device.
2. The aforementioned precision positioning subscription option, The predetermined accuracy of the aforementioned precise positioning information, and / or The aforementioned precise positioning information includes a desired update rate, The apparatus according to claim 1.
3. The apparatus according to claim 1, wherein the serving IoT device is configured to provide the precise positioning information to the at least one server, and the at least one server is configured to provide the precise positioning information to the mobile device.
4. The aforementioned precise positioning information, Maritime Radio Technology Committee (RTCM) format, Real-time kinematic satellite phase signal correction information, or This is differential satellite position correction information. The apparatus according to claim 1.
5. The apparatus according to claim 1, wherein one or more of the plurality of client IoT devices are configured as a strong candidate based on the precision positioning subscription option, and if the serving IoT device becomes inactive or the distance between the mobile device and the serving IoT device exceeds a threshold distance, one of the strong candidates is configured to be a surrogate serving IoT device.
6. The apparatus according to claim 1, wherein the precision positioning subscription option enables the mobile device to receive location information at a customized update rate or accuracy selected by the mobile device.
7. A method for determining a serving IoT device for providing precise positioning information to a mobile device using a network of Internet of Things (IoT) devices, The steps include obtaining the approximate location of the mobile device, The steps include determining one or more nearby reporting IoT devices based on the aforementioned approximate location, The steps include selecting the serving IoT device from one or more nearby reporting IoT devices based on a precision positioning subscription option, The steps include selecting one or more promising candidates from the one or more nearby reporting IoT devices based on one or more configuration options, and A method that includes this.
8. The aforementioned serving IoT device Real-time kinematic satellite phase correction information, or Configured to provide differential satellite correction information, The method according to claim 7.
9. The one or more of the above configuration options are The predetermined accuracy of the aforementioned precise positioning information, or The aforementioned precise positioning information includes a desired update rate, The method according to claim 7.
10. The method according to claim 7, wherein the serving IoT device is configured to provide the precision positioning information in Maritime Radio Technology Commission (RTCM) format.
11. The steps include determining the status of the serving IoT device, The steps include determining the distance between the mobile device and the serving IoT device, If the status of the serving IoT device is inactive, or if the distance between the mobile device and the serving IoT device exceeds a threshold distance, the step of determining a substitute serving device from one or more promising candidates: The method according to claim 7, further comprising:
12. The method according to claim 7, wherein the precision positioning subscription option enables the mobile device to receive location information at a customized update rate or accuracy selected by the mobile device.
13. A device for determining a serving IoT device to provide precise positioning information to a mobile device using a network of Internet of Things (IoT) devices, Memory and At least one processor operably coupled to the memory, To obtain the approximate location of the aforementioned mobile device, Based on the aforementioned approximate location, one or more nearby reporting IoT devices are determined, Selecting the serving IoT device from the one or more nearby reporting IoT devices based on the precision positioning subscription option, Selecting one or more promising candidates from the one or more nearby reporting IoT devices based on one or more configuration options. and A device equipped with the following features.
14. The apparatus according to claim 13, further configured to perform the method described in any one of claims 8 to 12.
15. A non-temporary processor-readable storage medium comprising a processor-readable instruction configured to cause one or more processors to determine a serving IoT device for providing precise positioning information to a mobile device using a network of IoT devices, and comprising code for performing the method according to any one of claims 7 to 12.