Precise positioning service for internet of things
Patent Information
- Application Number
- CN202280014586.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-02-26
- Filing Date
- 2022-01-05
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2042-01-05
AI Technical Summary
这些技术通常需要显著增加处理硬件和支持基础设施,这可能会增加提供增强定位精度的成本
[0017]本文描述的项目和/或技术可以提供以下一个或多个能力,以及未提及的其他能力。物联网(IoT)设备可以被配置为基于卫星信号结合其他精确定位服务(诸如精确点定位数据、实时运动学数据和差分GNSS数据)来确定其精确位置。具有精确已知位置的物联网设备可以被用作参考站,以向物联网设备网络或其他精确定位应用提供位置校正数据。其他物联网设备可以基于应用要求接收可定制的位置校正数据。可以监控网络中的物联网参考站的状态。如果当前参考站变得不可用,则可以将热门候选物联网设备标识为充当参考站。用户设备可以从不同的物联网参考站接收位置校正数据。可以实现可靠且可扩展的精确定位网络。此外,上述效果可以通过除所述之外的手段来实现,并且所述项目/技术可能不一定产生所述效果。
Smart Images

Figure CN116868089B_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This application claims the rights of U.S. Application No. 17 / 186,372, filed February 26, 2021, entitled “PRECISE POSITIONING SERVICES WITHAN INTERNET OF THINGS NETWORK,” which has been assigned to the assignee of this application, and the entire contents of which are incorporated herein by reference for all purposes. Background Technology
[0003] Location information from mobile devices—such as cellular phones, Internet of Things (IoT) devices, location tracking devices, or other such mobile devices that include radio communication modules and motion sensors—can be used in numerous 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 radio transceivers, Global Navigation Satellite System (GNSS) receivers, and other sensors. The accuracy of GNSS-based systems may often fall short of the requirements of applications such as land surveying, automated land and aircraft navigation, or other location-sensitive technologies. Several technologies, 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 technologies typically require a significant increase in processing hardware and supporting infrastructure, which can increase the cost of providing enhanced positioning accuracy. Summary of the Invention
[0004] An example of an apparatus for determining the precise location of a mobile device according to the present disclosure includes at least one server comprising a data structure containing precise location subscription options associated with the mobile device; a plurality of client Internet of Things (IoT) devices configured to communicate with the at least one server, wherein at least one of the plurality of client IoT devices is a serving Internet of Things (IoT) device configured to provide precise location information to the mobile device, and wherein the serving IoT device is selected from the plurality of client IoT devices based on the precise location subscription options.
[0005] Implementation of this device may include one or more of the following features: Precise positioning subscription options may include the desired accuracy of the precise positioning information. Precise positioning subscription options may include the desired update rate of the precise positioning information. The serving IoT device may be configured to provide precise positioning information to at least one server, and the at least one server may be configured to provide the precise positioning information to mobile devices. The precise positioning information may be in Maritime Radio Technical Committee (RTCM) format. The precise positioning information may be real-time motion satellite phase signal correction information. The precise positioning information may be differential satellite position correction information. One or more of a plurality of client IoT devices may be configured as popular candidates based on the precise positioning subscription options, such that if the serving IoT device becomes inactive or the distance between the mobile device and the serving IoT device exceeds a threshold distance, the popular candidate may be configured as an alternative serving IoT device.
[0006] An example method according to this disclosure for determining a serving Internet of Things (IoT) device to provide precise location information to a mobile device via an IoT device network includes obtaining a coarse location of the mobile device, determining one or more nearby reporting Internet of Things (IoT) devices based on the coarse location, selecting a serving IoT device from the one or more nearby reporting IoT devices based on one or more configuration options, and selecting one or more popular candidates from the one or more nearby reporting IoT devices based on one or more configuration options.
[0007] Implementation of this method may include one or more of the following features: The serving IoT device may be configured to provide real-time motion satellite phase correction information. The serving IoT device may be configured to provide differential satellite correction information. One or more configuration options may include the desired accuracy of the precise positioning information. One or more configuration options may include the desired update rate of the precise positioning information. The serving IoT device may be configured to provide precise positioning information in Maritime Radio Technical Committee (RTCM) format. The method may also include determining the state of the serving IoT device, determining the distance between the mobile device and the serving IoT device, and determining an alternative serving device from one or more popular candidates if the serving IoT device is inactive or the distance between the mobile device and the serving IoT device is greater than a threshold distance.
[0008] An example of an apparatus according to the present disclosure for determining a serving IoT device to provide precise location information to a mobile device via an IoT device network includes a memory, at least one processor operatively coupled to the memory and configured to obtain a coarse location of the mobile device, determine one or more nearby reporting IoT devices based on the coarse location, select a serving IoT device from the one or more nearby reporting IoT devices based on one or more configuration options, and select one or more popular candidates from the one or more nearby reporting IoT devices based on one or more configuration options.
[0009] An example of an apparatus according to this disclosure for determining a serving IoT device to provide precise location information to a mobile device via an IoT device network includes components for obtaining a coarse location of the mobile device, components for determining one or more nearby reporting IoT devices based on the coarse location, components for selecting a serving IoT device from the one or more nearby reporting IoT devices based on one or more configuration options, and components for selecting one or more popular candidates from the one or more nearby reporting IoT devices based on one or more configuration options.
[0010] An example of a non-transitory processor-readable storage medium according to the present disclosure includes processor-readable instructions configured to cause one or more processors to determine a serving Internet of Things (IoT) device to provide precise location information to a mobile device via an IoT device network. The instructions include code for obtaining a coarse location of the mobile device, code for determining one or more nearby reporting IoT devices based on the coarse location, code for selecting a serving IoT device from the one or more nearby reporting IoT devices based on one or more configuration options, and code for selecting one or more popular candidates from the one or more nearby reporting IoT devices based on one or more configuration options.
[0011] An example of a method for switching a serving IoT device in an IoT network according to the present disclosure includes determining the state of the serving IoT device, determining the distance between the mobile device and the serving IoT device, and selecting an alternative serving IoT device from one or more previously determined popular candidates if the state of the serving IoT device is inactive or the distance between the mobile device and the serving IoT device is greater than a threshold distance.
[0012] This approach can be implemented with one or more of the following features: One or more previously identified popular candidates can be selected from one or more nearby reporting IoT devices based on one or more configuration options. One or more nearby reporting IoT devices can be within 10 kilometers of the mobile device. One or more configuration options can include the desired accuracy of the precise location information. One or more configuration options can include the desired update rate of the precise location information.
[0013] An example of an apparatus for switching a serving IoT device in an IoT network according to the present disclosure includes a memory, at least one processor operatively coupled to the memory and configured to determine the state of the serving IoT device, determine the distance between the mobile device and the serving IoT device, and select an alternative serving IoT device from one or more previously determined popular candidates if the state of the serving IoT device is inactive or the distance between the mobile device and the serving IoT device is greater than a threshold distance.
[0014] Implementation of this device may include one or more of the following features: One or more previously determined popular candidates can be selected from one or more nearby reporting IoT devices based on one or more configuration options. One or more nearby reporting IoT devices can be within 10 kilometers of the mobile device. One or more configuration options may include the desired accuracy of the precise location information. One or more configuration options may include the desired update rate of the precise location information.
[0015] An example of an apparatus for switching a serving IoT device in an IoT network according to the present disclosure includes components for determining the state of the serving IoT device, components for determining the distance between a mobile device and the serving IoT device, and components for selecting an alternative serving IoT device from one or more previously determined popular candidates if the state of the serving IoT device is inactive or the distance between the mobile device and the serving IoT device is greater than a threshold distance.
[0016] An example of a non-transitory processor-readable storage medium according to the present disclosure includes processor-readable instructions configured to cause one or more processors to switch serving IoT devices in an IoT network, including code for determining the state of the serving IoT device, code for determining the distance between a mobile device and the serving IoT device, and code for selecting an alternative serving IoT device from one or more previously determined popular candidates if the state of the serving IoT device is inactive or the distance between the mobile device and the serving IoT device is greater than a threshold distance.
[0017] The projects and / or technologies described herein can provide one or more of the following capabilities, as well as others not mentioned. Internet of Things (IoT) devices can be configured to determine their precise location based on satellite signals combined with other precise positioning services, such as precise point positioning data, real-time kinematic data, and differential GNSS data. IoT devices with precisely known locations can be used as reference stations to provide location correction data to IoT device networks or other precise positioning applications. Other IoT devices can receive customizable location correction data based on application requirements. The status of IoT reference stations in the network can be monitored. If a current reference station becomes unavailable, popular candidate IoT devices can be identified as acting as reference stations. User equipment can receive location correction data from different IoT reference stations. A reliable and scalable precise positioning network can be achieved. Furthermore, the above effects can be achieved by means other than those described, and the projects / technologies described may not necessarily produce the described effects. Attached Figure Description
[0018] Figure 1 This is a diagram of an example communication system.
[0019] Figure 2 This is a diagram of a mobile device.
[0020] Figure 3 This is a hardware diagram of a subgroup of components in an example Internet of Things (IoT) device.
[0021] Figure 4 This is a conceptual diagram of an example IoT architecture for providing precise location services.
[0022] Figure 5 This is a sample user interface and data structure for a customizable subscription service that leverages IoT networks for precise location tracking.
[0023] Figure 6 This is an example use case diagram for locating mobile devices using an Internet of Things (IoT) device network.
[0024] Figure 7 This is a flowchart of an example program used to identify service IoT devices to provide precise location information to mobile devices via an IoT device network.
[0025] Figure 8 This is a flowchart of an example program used to track one or more popular candidates in an Internet of Things (IoT) network.
[0026] Figure 9 This is a flowchart of a sample program for tracking and switching service IoT devices in an IoT network.
[0027] Figure 10 A block diagram of an example computer system is shown. Detailed Implementation
[0028] This paper discusses techniques for providing precise location information to mobile devices with dynamic Internet of Things (IoT) networks. Precise Positioning Service (PPS) typically refers to sub-meter to centimeter-level precision positioning services, such as Differential GNSS (DGNSS), Precise Point Positioning (PPP), and Real-Time Kinematic (RTK) methods. These solutions often require significant investment in additional hardware and advanced GNSS software packages. The method described in this paper leverages dense and dynamic IoT networks to provide low-cost and reliable PPS without building dedicated infrastructure and deploying complex GNSS software packages. In one example, the IoT network can contain several IoT devices, each capable of using GNSS data to determine its location and communicating with other devices and / or networks via one or more wireless communication protocols. IoT devices can be configured to report GNSS measurements back to a network server for crowdsourcing or performance enhancement. IoT devices with precisely known locations can be configured as reference stations to provide single-station RTK / DGNSS correction for precise positioning applications such as autonomous driving, high-definition mapping, etc. Additional IoT devices can be added to the proposed IoT network to expand PPS coverage. The density of IoT devices in the network can be used to update and change which IoT device acts as the RTK reference station. When the state of such an IoT RTK reference station changes (e.g., power loss, position accuracy loss, etc.), another qualified IoT device can provide the functionality of the RTK reference station. The number and types of IoT devices in the network can be used to implement a range of customizable services. For example, users can select the desired level of position accuracy (e.g., sub-meter, decimeter, centimeter), as well as other relevant parameters such as the desired GNSS constellation(s), signal band(s), correction type, data payload format, and correction data update frequency. These techniques are just examples and are not exhaustive.
[0029] Generally, DGNSS (such as DGPS) uses code-based positioning to determine the location of a GPS receiver. For example, GPS signals from satellites transmit pseudo-random codes (PRCs), and the GPS receiver is configured to receive PRCs from multiple satellites. The receiver is configured to align the received codes 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 them. For example, once the receiver knows its distances (ranges) to four satellites, it can determine its three-dimensional position.
[0030] RTK systems use carrier-based ranging to determine location information. For example, the range can be calculated by determining the number of carrier cycles between the RTK receiver and the satellite, and then multiplying it by the wavelength of the carrier signal. Because different GPS satellites can transmit at different frequencies, atmospheric delay and multipath propagation errors of satellite signals can be reduced.
[0031] DGNSS and RTK can use base stations with known locations (e.g., based on precise positioning services). Base stations in a DGNSS system can be configured to compare their known locations with locations calculated from GNSS signals. The difference between the known and calculated locations is then sent to other receivers in the network, who use corrections to calculate their respective locations. Base stations in an RTK system can be configured to transmit the phase of the signals they observe and send this information to other receivers in the network, who then compare this information with the phase they observe.
[0032] For reference Figure 1 The diagram illustrates an example communication system 100. Communication system 100 includes mobile devices (e.g., IoT devices, location tracker devices, cellular phones, or other user equipment (UE)) 105, and components of a fifth-generation (5G) network including a next-generation (NG) radio access network (RAN) (NG-RAN) 135 and a 5G core network (5GC) 140. The 5G network may also be referred to as a new radio (NR) network; NG-RAN 135 may be referred to as 5G RAN or NR RAN; and 5GC 140 may be referred to as an NG core network (NGC). The 3rd Generation Partnership Project (3GPP) is standardizing NG-RAN and 5GC. Therefore, NG-RAN 135 and 5GC 140 may conform to current or future 5G support standards according to 3GPP. Communication system 100 may utilize information from satellite vehicle (SV) 190 for satellite positioning systems (SPS) (e.g., Global Navigation Satellite Systems (GNSS)), such as GPS, GLONASS, Galileo, or BeiDou, or other local or regional SPS such as the Indian Regional Navigation Satellite System (IRNSS), the European Geostationary Navigation Overlay Service (EGNOS), or a Wide Area Augmentation System (WAAS). Additional components of communication system 100 are described below. Communication system 100 may include additional or alternative components.
[0033] like Figure 1As shown, NG-RAN 135 includes NR Node Bs (gNBs) 110a and 110b and a Next Generation eNode B (ng-eNB) 114, and 5GC 140 includes Access and Mobility Management Functions (AMF) 115, Location Management Functions (LMF) 120, and Gateway Mobility Location Center (GMLC) 125. gNBs 110a, 110b, and ng-eNB 114 are communicatively coupled to each other, each configured to conduct bidirectional wireless communication with UE 105, and each is communicatively coupled to AMF 115 and configured to conduct bidirectional communication with the AMF. AMF 115, LMF 120, and GMLC 125 are communicatively coupled to each other, and the GMLC is communicatively coupled to an external client 130.
[0034] Figure 1 A general description of the various components is provided, wherein any or all of the components may be used as appropriate, and each component may be repeated or omitted as needed. Specifically, although a UE 105 is illustrated, many UEs (e.g., hundreds, thousands, millions, etc.) may be utilized in the communication system 100. Similarly, the communication system 100 may include more (or fewer) numbers of SV 190, gNB 110a-b, ng-eNB 114, AMF 115, external client 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, depending on the desired functionality, components may be rearranged, combined, separated, replaced, and / or omitted.
[0035] Although Figure 1 A 5G-based network is illustrated, but similar network implementations and configurations can also be used for other communication technologies such as 3G, Long Term Evolution (LTE), etc. The implementations described herein (whether for 5G technology and / or for one or more other communication technologies and / or protocols) can be used to transmit (or broadcast) directional synchronization signals, receive and measure directional signals at the UE (e.g., UE 105), and / or provide location assistance to the UE 105 (via GMLC 125 or other location servers), and / or calculate the location of the UE 105 at a location-capable device such as UE 105, gNB 110a, 110b, or LMF 120 based on measurements of signals received at the UE 105 for such directional transmissions. 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 in various embodiments, they may be replaced or included by various other location server functions and / or base station functions, respectively.
[0036] UE 105 may include and / or may 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 use other names. Furthermore, UE 105 may correspond to a mobile phone, smartphone, laptop, tablet, PDA, tracking device, navigation device, Internet of Things (IoT) device, asset tracker, health monitor, security system, smart city sensor, smart meter, wearable tracker, or some other portable or mobile device. Typically, although not always, UE 105 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 (Institute of Electrical and Electronics Engineers) 802.11 WiFi (also known as Wi-Fi). (BT), Global Microwave Access Interoperability (WiMAX), 5G New Radio (NR) (e.g., using NG-RAN 135 and 5GC140), etc. UE 105 can support wireless communication using a wireless local area network (WLAN), which can connect to other networks (e.g., the Internet) using digital subscriber line (DSL) or packet cable, etc. Using one or more of these RATs can allow UE 105 to communicate with external client 130 (e.g., via...). Figure 1 The elements of 5GC 140 not shown in the diagram, or possibly via GMLC 125) and / or allow external client 130 to receive location information about UE 105 (e.g., via GMLC 125).
[0037] UE 105 may include a single entity or may include multiple entities, such as in a personal area network, where the user may use audio, video, and / or data I / O (input / output) devices and / or body sensors, as well as separate wired or wireless modems. The estimation of the location of UE 105 may be referred to as location, location estimate, location fixation, fixation, positioning, location estimation, or location fixation, and may be geographic, thus providing location coordinates (e.g., latitude and longitude) for UE 105, which may or may not include an elevation component (e.g., height above sea level, ground level, height above the first floor or basement, or depth below). Alternatively, the location of UE 105 may be represented as a city location (e.g., designated by a postal address or a point or small area (such as a specific room or floor) within a building). The location of UE 105 may also be represented as an area or volume (defined in geographic or city form) in which UE 105 is expected to be located with a certain probability or confidence level (e.g., 67%, 95%, etc.). The location of the UE 105 can be represented as a relative location, including, for example, distance and orientation from a known location. A relative location can also be represented as relative coordinates (e.g., X, Y (and Z) coordinates) defined relative to an origin of a known location, which can be geographically, urbanly, or as a point, area, or volume indicated on a map, floor plan, or building plan. In the description contained herein, unless otherwise stated, the use of the term "location" can include any of these variations. When calculating the location of the UE, local x, y, and possibly z coordinates are typically solved first, and then the local coordinates are converted to absolute coordinates (e.g., latitude, longitude, and elevation above or below mean sea level) as needed.
[0038] based on Figure 1 The base stations (BS) in NG-RAN 135 shown include NR nodes B, referred to as gNBs 110a and 110b. Pairs of gNBs 110a and 110b in NG-RAN 135 can be interconnected via one or more other gNBs. Access to the 5G network is provided to UE 105 via wireless communication between UE 105 and one or more of gNBs 110a and 110b, which can provide wireless communication access to 5GC 140 on behalf of UE 105 using 5G. Figure 1 In this context, the serving gNB of UE 105 is assumed to be gNB 110a, although if UE 105 moves to another location, another gNB (e.g., gNB 110b) may serve as the serving gNB or may serve as the secondary gNB to provide additional throughput and bandwidth to UE 105.
[0039] based on Figure 1The base station (BS) in NG-RAN 135 shown may include ng-eNB 114, also known as a next-generation evolved Node B. ng-eNB 114 may connect to one or more of gNBs 110a and 110b in NG-RAN 135 (possibly via one or more other gNBs and / or one or more other ng-eNBs). ng-eNB 114 may provide LTE radio access and / or evolved LTE (eLTE) radio access to UE 105. One or more of gNBs 110a, 110b and / or ng-eNB 114 may be configured as location-only beacons, capable of transmitting signals to aid in determining the location of UE 105, but not capable of receiving signals from UE 105 or other UEs.
[0040] As mentioned above, although Figure 1 A node configured to communicate according to a 5G communication protocol is shown, but nodes configured to communicate according to other communication protocols (such as, for example, the LTE protocol or the IEEE 802.11x protocol) can be used. For example, in an evolved packet system (EPS) providing LTE radio access to UE 105, the RAN may include an evolved Universal Mobile Telecommunications System (UMTS) terrestrial radio access network (E-UTRAN), which may include base stations containing evolved Node Bs (eNBs). The core network for the EPS may include an evolved packet core (EPC). The EPS may include E-UTRAN plus EPC, where E-UTRAN corresponds to NG-RAN 135, and EPC corresponds to... Figure 1 5GC 140.
[0041] gNB 110a-b and ng-eNB 114 can communicate with AMF 115, which in turn communicates with LMF 120 for positioning functionality. AMF 115 can support UE 105 mobility (including cell changes and handover) and can participate in supporting signaling connections to UE 105, as well as possible data and voice bearers for UE 105. When UE 105 accesses NG-RAN 135, LMF 120 can support UE 105 positioning and can support positioning procedures / methods such as Auxiliary GNSS (A-GNSS), Observed Time Difference of Arrival (OTDOA), Real-Time Kinematics (RTK), Precise Point Positioning (PPP), Differential GNSS (DGNSS), Enhanced Cell ID (E-CID), Angle of Arrival (AOA), Angle of Departure (AOD), and / or other positioning methods. LMF 120 can process location service requests from UE 105, such as those received from AMF 115 or GMLC 125. LMF 120 can connect to AMF 115 and / or GMLC 125. LMF 120 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 LMF 120 may additionally or alternatively implement other types of location support modules, such as Enhanced Serving Mobility Location Center (E-SMLC) or Secure User Plane Positioning (SUPL) Location Platform (SLP). At least a portion of the positioning function (including deriving the location of UE 105) can be performed at UE 105 (e.g., using signal measurements acquired by UE 105 for signals transmitted by radio nodes such as gNB 110a, 110b, and / or ng-eNB 114, and / or auxiliary data provided to UE 105 by LMF 120).
[0042] GMLC 125 can support location requests from UE 105 received from external client 130 and can forward such requests to AMF 115 for forwarding to LMF 120, or it can forward the location request directly to LMF 120. A location response from LMF 120 (e.g., containing a location estimate for UE 105) can be returned to GMLC 125 directly or via AMF 115, and GMLC 125 can then return the location response (e.g., containing a location estimate) to external client 130. GMLC 125 is shown as connected to both AMF 115 and LMF 120, although in some implementations one of these connections may be supported by 5GC 140.
[0043] like Figure 1As further illustrated, the LMF 120 can communicate with gNB 110a, 110b, and / or ng-eNB 114 using the new Radio Positioning Protocol A (which may be referred to as NPPa or NRPPa) (defined in 3GPP Technical Specification (TS) 38.455). NRPPa can be the same as, similar to, or an extension of the LTE Positioning Protocol A (LPPa) defined in 3GPP TS 36.455. NRPPa messages are transmitted via AMF 115 between gNB 110a (or gNB 110b) and LMF 120, and / or between ng-eNB 114 and LMF 120. Figure 1 As further illustrated, LMF 120 and UE 105 can communicate using the LTE Location Protocol (LPP), which is defined in 3GPP TS 36.355. LMF 120 and UE 105 can also communicate using, or alternatively using, a new radio location protocol (which may be called NPP or NRPP), which can be the same as, similar to, or an extension of LPP. Here, LPP and / or NPP messages can be transmitted between UE105 and LMF 120 via the serving gNB 110a, 110b, or serving ng-eNB 114 of AMF 115 and UE 105. For example, LPP and / or NPP messages can be transmitted between LMF 120 and AMF 115 using the 5G Location Services Application Protocol (LCS AP), and can be transmitted between AMF 115 and UE 105 using the 5G Non-Access Stratum (NAS) protocol. The LPP and / or NPP protocols can be used to support the positioning of UE 105 using UE-assisted and / or UE-based positioning methods such as A-GNSS, RTK, OTDOA, and / or E-CID. The NRPPa protocol can be used to support the positioning of UE 105 using network-based positioning methods (such as E-CID) (e.g., when used with measurements acquired by gNB 110a, 110b, or ng-eNB 114), and / or can be used by LMF 120 to acquire location-related information from gNB 110a, 110b, and / or ng-eNB 114, such as defining parameters of the orientation SS (synchronization signal) or PRS transmission from gNB 110a, 110b, and / or ng-eNB 114.
[0044] Using a UE-assisted positioning method, UE 105 can acquire location measurements and send them to a location server (e.g., LMF 120) to calculate a location estimate for UE 105. For example, location measurements may include one or more of the following: Received Signal Strength Indication (RSSI), Round-Trip Time (RTT), Reference Signal Time Difference (RSTD), Reference Signal Received Power (RSRP), and / or Reference Signal Received Quality (RSRQ) for gNB 110a, 110b, ng-eNB 114, and / or WLAN AP. Location measurements may also include, or replace, measurements of GNSS pseudorange, code phase, and / or carrier phase for SV 190.
[0045] Using a UE-based positioning method, UE 105 can acquire location measurements (e.g., the same or similar to location measurements for a UE-assisted positioning method) and can calculate the location of UE 105 (e.g., by means of auxiliary data received from a location server such as LMF 120 or broadcast by gNB 110a, 110b, ng-eNB 114 or other base stations or APs).
[0046] Using a network-based positioning method, one or more base stations (e.g., gNB 110a, 110b, and / or ng-eNB 114) or APs can acquire location measurements (e.g., measurements of RSSI, RTT, RSRP, RSRQ, or Time of Arrival (TOA) for signals transmitted by UE 105) and / or can receive measurements acquired by UE 105. One or more base stations or APs can send the measurements to a location server (e.g., LMF 120) to calculate a location estimate for UE 105.
[0047] Background Technology: Information provided by gNB 110a, 110b and / or ng-eNB 114 to LMF 120 using NRPPa may include timing and configuration information for directed SS or PRS transmissions, as well as location coordinates. LMF 120 may provide some or all of this information as supplementary data to UE 105 in LPP and / or NPP messages via NG-RAN 135 and 5GC 140.
[0048] The LPP or NPP message sent from LMF 120 to UE 105 can instruct UE 105 to perform any of a variety of tasks according to the desired function. For example, the LPP or NPP message may contain instructions for UE 105 to obtain measurements for GNSS (or A-GNSS), WLAN, E-CID, and / or OTDOA (or some other positioning method). In the case of E-CID, the LPP or NPP message may instruct UE 105 to obtain one or more measurements (e.g., beam ID, beamwidth, average angle, RSRP, RSRQ measurements) of directional signals transmitted within a specific cell supported by one or more of gNB 110a, 110b, and / or ng-eNB 114 (or by some other type of base station such as eNB or WiFi AP). UE 105 can send measurement values back to LMF 120 via service gNB 110a (or service ng-eNB 114) and AMF 115 in LPP or NPP messages (e.g., within 5G NAS messages).
[0049] As described above, although the communication system 100 is described in conjunction with 5G technology, the communication system 100 can be implemented to support other communication technologies, such as GSM, WCDMA, LTE, etc., which are used to support and interact with mobile devices such as UE 105 (e.g., to implement voice, data, location, and other functions). In some such embodiments, 5GC 140 can be configured to control different air interfaces. For example, 5GC 140 can use non-3GPP interoperability functions (N3IWF) in 5GC 140. Figure 1(Not shown) Connected to a WLAN. For example, the WLAN may support IEEE 802.11 WiFi access for UE 105 and may include one or more WiFi APs. Here, the N3IWF may connect to the WLAN and other elements in 5GC 140, such as AMF 115. In some embodiments, both NG-RAN 135 and 5GC 140 may be replaced by one or more other RANs and one or more other core networks. For example, in EPS, NG-RAN 135 may be replaced by an E-UTRAN containing eNBs, and 5GC 140 may be replaced by an EPC containing a Mobility Management Entity (MME) replacing AMF 115, an E-SMLC replacing LMF 120, and possibly a GMLC similar to GMLC 125. In such EPS, the E-SMLC may use LPPa instead of NRPPa to send location information to and receive location information from eNBs in the E-UTRAN, and may use LPP to support UE 105's positioning. In these other embodiments, UE 105 positioning using directional PRS can be supported in a manner similar to that described herein for 5G networks, except that the functions and procedures described herein for gNB 110a, 110b, ng-eNB 114, AMF 115 and LMF 120 may, in some cases, be used in place of other network elements such as eNB, WiFi AP, MME and E-SMLC.
[0050] As described above, in some embodiments, the positioning function can be implemented at least partially using directional SS or PRS beams, by the UE (e.g., whose location is to be determined) Figure 1 These beams are transmitted by base stations (such as gNB 110a, 110b and / or ng-eNB 114) within the range of UE 105. In some cases, the UE may use directional SS or PRS beams from multiple base stations (such as gNB 110a, 110b, ng-eNB 114, etc.) to calculate the UE's location.
[0051] Reference Figure 2 A schematic diagram of a mobile device 200 according to an embodiment is shown. Figure 1 The UE 105 shown may include Figure 2 One or more features of the mobile device 200 shown. Figure 2Some features disclosed herein 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 communication network through a wireless antenna 222. The wireless transceiver 221 may be connected to the bus 201 via 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 may include multiple wireless transceivers 221 and wireless antennas 222 to enable the transmission and / or reception of signals according to various wireless communication standards, such as, for example, IEEE 202.11, CDMA, WCDMA, LTE, UMTS, GSM, AMPS, Zigbee, etc. And versions of the 5G or NR radio interface defined by 3GPP, to name just a few. In a particular implementation, the transceiver 221 can receive and acquire downlink signals, including terrestrial positioning signals such as PRS. For example, the transceiver 221 can process the acquired terrestrial positioning signals sufficiently to enable the timing of the acquired terrestrial positioning signals.
[0052] Mobile device 200 may include an SPS receiver 255 capable of receiving and acquiring SPS signals 259 via an SPS antenna 258 (in some embodiments, the SPS antenna may be the same as the wireless antenna 222). The SPS receiver 255 and interface 250 may process the acquired SPS signals 259 wholly or partially for estimating the location of 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 to process the acquired SPS signals wholly or partially, and / or in conjunction with the SPS receiver 255 to calculate the estimated location of mobile device 200. Storage of SPS, TPS, or other signals (e.g., signals acquired from wireless transceiver 221) or storage of measurements of these signals used to perform positioning operations may be performed in memory 240 or registers (not shown). The general-purpose processors 211, memory 240, DSPs 212, and / or dedicated processors may provide or support a location engine for processing measurements to estimate the location of mobile device 200. For example, (multiple) general-purpose processors 211 or (multiple) DSPs 212 can process downlink signals acquired by wireless transceiver 221 to perform, for example, measurements of RSSI, RTT, AOA, TOA, RSTD, RSRQ and / or RSRQ.
[0053] Also in Figure 2As shown, multiple DSPs 212 and multiple general-purpose processors 211 can be connected to memory 240 via bus 201. Specific bus interfaces (not shown) can be integrated with the multiple DSPs 212, multiple general-purpose processors 211, and memory 240. In various embodiments, functions can be performed in response to the execution of one or more machine-readable instructions stored in memory 240 (such as computer-readable storage media, such as RAM, ROM, FLASH, or disk drives, to name just a few examples). One or more instructions can be executed by the multiple general-purpose processors 211, dedicated processors, or multiple DSPs 212. Memory 240 may include non-transitory, processor-readable and / or computer-readable memory storing software code (programming code, instructions, etc.) that can be executed by the multiple general-purpose processors 211 and / or multiple DSPs 212 to perform the functions described herein.
[0054] Also in Figure 2 As shown, user interface 235 may include any of a number of devices, such as, for example, a speaker, microphone, display device, vibration device, keyboard, touchscreen, to name just a few. In a particular implementation, user interface 235 enables a user to interact with one or more applications carried on mobile device 200. For example, the device of user interface 235 may store analog and / or digital signals on memory 240 for further processing by (multiple) DSPs 212 or (multiple) general-purpose processors 211 in response to actions from the user. Similarly, applications carried on mobile device 200 may store analog or digital signals in memory 240 to present output signals to the user. Mobile device 200 may optionally include dedicated audio input / output (I / O) devices 270, which include, for example, dedicated speakers, microphones, digital-to-analog circuitry, analog-to-digital circuitry, amplifiers, and / or gain control. This is merely an example of how audio I / O can be implemented in a mobile device, and the claimed subject matter is not limited in this respect. Mobile device 200 may include touch sensors 262 responsive to touch or pressure on a keyboard or touchscreen device.
[0055] Mobile device 200 may include a dedicated camera device 264 for capturing still or moving images. Camera device 264 may include, for example, an imaging sensor (e.g., a charge-coupled device or a CMOS (complementary metal-oxide-semiconductor) imager), a lens, analog-to-digital circuitry, a frame buffer, and a few other examples. Additional processing, conditioning, encoding, and / or compression of signals representing the captured images may be performed at a general-purpose / application processor 211 and / or (multiple) DSPs 212. A dedicated video processor 268 may perform conditioning, encoding, compression, or manipulation on the signals representing the captured images. The video processor 268 may decode / decompress stored image data for presentation on a display device (not shown) of mobile device 200.
[0056] Mobile device 200 may also include sensors 260 coupled to bus 201, which may include, for example, inertial sensors and environmental sensors. The inertial sensors of sensor 260 may include, for example, accelerometers (e.g., responding to acceleration of mobile device 200 in three dimensions), one or more gyroscopes, or one or more magnetometers (e.g., to support one or more compass applications). The environmental sensors of mobile device 200 may include, for example, temperature sensors, barometric pressure sensors, ambient light sensors, camera imagers, microphones, and a few other examples. Sensors 260 may generate analog and / or digital signals, which may be stored in memory 240 and processed by (multiple) DPS 212 or general-purpose application processor 211 to support one or more applications (such as applications specified for positioning or navigation operations, for example).
[0057] Mobile device 200 may include a dedicated modem processor 266 capable of performing baseband processing on signals received and down-converted at wireless transceiver 221 or SPS receiver 255. Modem processor 266 can perform baseband processing on signals to be up-converted for transmission by 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., general-purpose / application processor 211 or (multiple) DSPs 212). These are merely examples of structures capable of performing baseband processing, and the claimed subject matter is not limited in this respect.
[0058] For reference Figure 3The diagram illustrates a hardware diagram of an example IoT device 300. The IoT device is an example of a type of mobile device 200. Generally, IoT devices have the ability to connect to the internet and include integrated technologies such as sensors, functional software, technologies supporting network connectivity, or actuators. As an example and not a limitation, IoT devices can be a wide variety of products, such as mobile devices, photoactuators, parking meters, appliances, security systems, fire alarms, cameras, etc. In one example, 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 including at least one central processing unit (e.g., an ARM Cortex A7), configured as a multi-mode 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 mobile devices that utilize wide-area connectivity with small size and low power requirements. In one example, modem module 302 may be a Qualcomm 9205 chipset configured for voice services such as LTE Cat-M1-VoLTE on IMD, GSM CS voice, and advanced features such as Cat-M1 with a maximum UL TBS Rel.14 of 2984, Cat-M1-VoLTE enhancement, Cat-NB2 with multi-carrier NPRACH and paging, Cat-M1 coverage enhancement mode B support, Cat-M1 with enhanced coverage limitations, Cat-M1 with HARQ-ACK binding in HD-FDD mode, Cat-NB2 with a larger TBS and two HARQ procedures, Cat-M1 retuning to another narrowband area within one retuning symbol, and Cat-NB2 release assist indication (RAI). RF control module 304 is an example of radio transceiver 221 and SPS transceiver 255. The RF control module 304 may be software-defined and radio-operable, coupled to the modem module 302 and one or more antennas 306a, 306b. Radio frequency reference input (RFFE) and Tx / Rx I / Q channels may be used 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, for example, Rel.12 EGPRS MSC12, Rel.14 LTE Cat-M1, Rel.14 LTE, and Cat-NB2.By way of example and not limitation, 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. RF control module 304 may be configured to support terrestrial and satellite-based positioning. For example, RF control module 304 may be configured to receive GPS, GLONASS, BeiDou, and Galileo satellite signals, as well as cellular signals used in land navigation (e.g., measurements of RSSI, RTT, RSRP, RSRQ, and TOA signals). In one example, RF control module 304 may be a radio transceiver and front-end IC, such as the Qualcomm SDR105.
[0059] In one example, a subgroup of components may include an optional Wi-Fi module 308. Wi-Fi module 308 is an example of wireless transceiver 221. Wi-Fi module 308 may be operatively coupled to modem module 302 and antenna 310, and is configured for single or dual-band connectivity in 2.4GHz and 5GHz applications. In one example, Wi-Fi module 308 may be a Qualcomm QCA4002 / 4 for IoT applications. Power supply 320 and voltage regulator (e.g., low-dropout LDO regulator 318) may be connected to a resistor network ( Figure 3 (Not shown) are used together to provide power and bias voltage to hardware components. In one example, the power supply ranges from 2.4V to 4.8V.
[0060] Although Figure 3 The hardware components shown are illustrated as discrete packages, but more than one component can be integrated into a system-on-a-chip (SoC) configuration. For example, the Qualcomm 9205 LTE modem may include a Qualcomm 9205 baseband IC, an SMB231 charger IC, a PME9205 power management IC, and an SDR105 radio transceiver, as well as a front-end IC within the SoC configuration. Furthermore, more than one external motion detection sensor device can be used.
[0061] Other devices and chipsets can also be used in IoT networks. For example, IoT devices may include ublox ZED-F9P modules configured to simultaneously receive GPS, GLONASS, Galileo, and BeiDou signals and capable of multi-band RTK. The specific hardware manufacturers and part numbers provided herein are examples and not limitations, as the functionality of components can be incorporated into other proprietary and commercially available semiconductor chipsets.
[0062] refer to Figure 4 And further reference Figures 1 to 3This illustrates an example IoT architecture 400 for providing precise location services. The IoT architecture 400 includes a server 402 operatively 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., LMF 120). The IoT architecture 400 includes an example access point 408 and an example base station 412. The access point 408 and base station 412 are examples of WiFi access points, gNB 110a-b, ng-eNB 114, or other networked wireless communication stations. In one example, the network 410 may include a connection to the Internet. The serving IoT device 404 may be one with a precise location (in...) Figure 4 The serving IoT device 404 is represented by solid concentric circles. Typically, a serving IoT device 404 can be a fixed IoT device in a fixed location, such as a lamppost, weather station, security camera, or any capable IoT device in a fixed location. In one example, a serving device could be a roadside unit (RSU) in a V2X (Vehicle-to-Everything) network. The serving IoT device 404 is not limited to fixed units. Mobile devices with precise point positioning can be configured as serving devices, enabling them to propagate location accuracy to other IoT devices in the network. For example, the serving IoT device 404 could be a mobile device operating using a subscription location correction service (e.g., PPP, DGNSS, network RTK).
[0063] Generally, errors from satellite clocks, actual orbits, and other sources can cause inaccurate GNSS signals when they reach the receiver. In one example, the serving IoT device 404 is configured to send its known location and raw GNSS measurements to other IoT devices in the network. User equipment can be configured to calculate the difference between the actual range (i.e., the known location of the serving IoT device 404) and the raw measurements obtained by the serving IoT device 404 to obtain satellite correction. In another example, the serving IoT device 404 can be configured to calculate its location using signals transmitted from GNSS satellite 190 and compare the calculated location with its actual known location. The difference in location is used to determine error correction, which is then provided to other IoT devices in the network. Error correction is an example of precise positioning information and can be real-time motion satellite phase correction information or differential satellite correction information. In one example, the serving IoT device 404 can provide correction data to a first IoT device 406a using a wireless sidelink 416. The wireless sidelink can be Bluetooth, PC5, or other wireless communication technologies. The correction data can be included as an RTCM protocol-compatible payload (Maritime Radio Technical Committee). Other protocols (e.g., 3GPP, etc.) can also be used. The first IoT device 406a can calculate its precise location using signals transmitted from GNSS satellite 190 and correction data received from the serving IoT device 404.
[0064] In one example, the serving IoT device 404 may utilize an additional wireless protocol 414 (e.g., WiFi, LTE, 5G) to provide precise location data to the server 402 via access point 408 or base station 412. The server 402 is configured to propagate the precise location data determined by the serving IoT device 404 throughout the network. For example, a second IoT device 406b may receive precise location data via network 410 and access point 408 (or another access point connected to network 410) and apply the precise location data to signals received from satellite 190 to determine a precise location. The second IoT device 406b may then use its precise location to generate new precise location data and provide that precise location data to the server 402 or one or more other IoT devices in the network, such as a third IoT device 406c. The precise location data may be provided to the third IoT device 406c via sidechains or other peer-to-peer communication protocols. In one example, the second IoT device 406b may be configured to forward precise location data received from network 410 to the third IoT device 406c.
[0065] Various IoT devices in the network can be configured to provide precise location data based on their respective capabilities or configuration settings. For example, a first IoT device 406a can provide precise location data to a server 402 at a first accuracy level and a first rate, and a second IoT device 406b can provide precise location data to the server 402 at a second accuracy level and a second rate. A fourth IoT device 406d can be configured to customize how it receives precise location data from the server 402. For example, the fourth IoT device 406d can subscribe to data at a first rate and a first accuracy level. Other configuration options can also be used.
[0066] refer to Figure 5 And further reference Figures 1 to 4 This illustration shows an example user interface and data structure for a customizable subscription service using IoT devices for precise location tracking. Server 402 may include or be operatively coupled to data structure 502, which is configured to store subscription database information. Data structure 502 may be a relational database application (e.g., SQL, Oracle, etc.) or other persistent data structures (e.g., flat files, 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 precise location services typically have a single service model where all subscribers receive the same level of data. This existing model may be inefficient for some users because the received location data may be at a level of accuracy higher than the user requires, thus wasting a portion of the subscription cost. Data structure 502 is configured to store precise location subscription options to enable users to receive customized location information more suitable for specific applications. In one example, computing device 510 (such as a tablet, personal computer, etc.) may be configured to present the user with configuration options stored in data structure 502. For example, the user interface could be a web-based application configured to run in a browser, or a rich client application running on computing device 510. In one example, data structure 502 could persist on computing device 510. The user interface could include standard objects such as text boxes, list boxes, combo boxes, radio buttons, toggle objects, and other input and display objects.
[0067] Subscription options can be associated with a user (e.g., user ID) or other identifying information such as a device ID. Subscription options can also be associated with a location or region. These options may include data fields associated with relevant satellite signal types. For example, the constellation selection field 512 can be configured to obtain a list of GNSS constellation data (e.g., GPS, GLONASS, Galileo, BeiDou, etc.) that the device is configured to receive. The desired frequency band field 514 is configured to obtain information associated with satellite signal types such as L1C / A, L2C, L20F, E1B / C, B2I, E5b, L5, etc. Other fields can be used to capture channel information (e.g., pilots or data). The payload format field 516 can be used to store the desired format of the received correction data (e.g., RTCM, 3GPP, etc.). The correction data type field 518 can receive an indication of the desired pseudorange and / or carrier phase correction. The correction data update frequency field 520 can be used to receive the user-desired correction data update frequency (e.g., every 1, 2, 5, 10, 15 seconds, etc.). The location accuracy field 522 can indicate the desired accuracy of the calibration data (e.g., centimeter, decimeter, sub-meter, etc.). Other configuration options 524 and operational data can be stored in data structure 502. For example, a coarse location of the device (e.g., latitude / longitude / altitude) can be periodically provided to the server. Corresponding location uncertainties (e.g., east, north, vertical: meters) can also be stored. Other satellite and positioning options that may affect the transmission of precise positioning services can also be stored in data structure 502.
[0068] In one example, data structure 502 or server 402 may have a billing application configured to provide users with billing or purchase order information. Users can access subscription options based on a fee structure. For example, the fee structure may be based on geographic region, corrected data update frequency, location accuracy, or other configuration options. For the precise location service provided by IoT architecture 400, billing may be periodic and / or per use, or based on other business methods. One of the configuration options may include an opt-out option for users to cancel their subscriptions. In one embodiment, devices in IoT architecture 400, such as service IoT device 404, may be compensated for participating in IoT architecture 400. In one example, to incentivize participation in IoT architecture 400, compensation may be based on the amount of time a device performs as a service station. Other compensation methods may be used to provide benefits for adding devices to the network.
[0069] refer to Figure 6 And further reference Figures 1 to 6 This diagram illustrates an example use case diagram of network 600 using IoT devices to locate mobile device 602. In one example, network 600 includes... Figure 4Example IoT architecture 400 in the example. Devices shown in network 600 are configured to receive signals from satellite 190 and via access point 408 and / or base station 412. Figure 6 (Not shown) communicates with server 402 as described above. The communication technology between devices in network 600 is unknown because various wired and wireless communication systems can be used to achieve data transmission between devices. Mobile device 602 is an example of UE 105. For example, mobile device 602 could be an autonomous vehicle such as a delivery drone. Server 402 is configured to determine subscription data associated with mobile device 602 (e.g., based on device ID, user ID, or other index fields). The subscription data may be further based on the location of mobile device 602. Server 402 is configured to obtain the current location (e.g., rough location) of mobile device 602 and determine one or more IoT devices in network 600 to provide precise location 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 a serving IoT device. For example, server 402 may select serving IoT device 606 based on one or more previously saved subscription fields (such as location precision field 522 and constellation field 512). Serving IoT device 606 may be a fixed or mobile IoT device with a precise location. The serving IoT device 606 can be configured to determine RTK or DGPS correction data and provide the correction data (i.e., precise location information) to the server 402. In one example, the server 402 can receive raw satellite signal information from the serving IoT device 606 and calculate precise location data. The mobile device 602 can receive precise location data from the server 402 (e.g., via IoT architecture 400) or directly from the serving IoT device 606 (e.g., via a sidechain protocol) and calculate its precise location. In one example, the server 402 can be configured to receive satellite signal information from the mobile device 602 and the serving IoT device 606 to determine the precise location of the mobile device 602.
[0070] Server 402 can also determine one or more popular candidates 608a-c based on the location and subscription configuration of mobile device 602. Popular candidates 608a-c are client IoT devices that can be used as alternatives to service IoT devices. The selection of popular candidates 608a-c can be based on the expected future trajectory 604 of the mobile device and / or other subscription factors. Server 402 can evaluate subscription options based on a weighted matching algorithm, such that the selected service IoT device 606 represents the best result based on the matching algorithm. Popular candidates 608a-c can then represent suboptimal results based on a weighted algorithm. For example, the subscription option can indicate a desired decimeter accuracy requirement and provide correction data every 5 seconds. Service IoT device 606 can provide decimeter accuracy at the desired update rate. First popular candidate 608a can be configured to provide centimeter-level accuracy at a higher update rate. Therefore, the first popular candidate 608a is able to over-provide service that may be suboptimal from a data transmission perspective, but will be a sufficient alternative service station for mobile device 602 if service IoT device 606 becomes inactive. Alternatively, a second popular candidate 608b may provide the required accuracy and update rate, but is classified as a popular candidate rather than a serving device using other factors such as uptime or other historical performance factors. A third popular candidate 608c may also meet the accuracy and update rate requirements, but is classified as a popular candidate using its relative position to the mobile device 602, compared to the serving IoT device 606. Server 402 may be configured to modify the precise location data sent to the mobile device 602 based on subscription requirements. For example, server 402 may filter data associated with an over-promising first popular candidate 608a to meet the subscription expectations of mobile device 602. Server 402 may also modify the format of inter-device data payloads, such as converting RTCM messages into 3GPP frames, and vice versa, as indicated by subscription options.
[0071] Server 402 is configured to continuously update the selection of currently serving devices and popular candidates as mobile device 602 moves along trajectory 604. One or more unassigned client IoT devices 610a, 610b, 610c, 610d, 610e can then be selected as serving devices and / or popular candidates based on subscription options and network status. For example, if one of the currently serving IoT device 606 and / or popular candidates 608a-c becomes inactive due to reasons such as being offline (e.g., power saving mode, communication failure), losing location accuracy (e.g., due to obstructed view), changing location, or other device failure, server 402 is configured to execute a matching algorithm to find an alternative site to use. Therefore, IoT network 600 provides increased reliability compared to existing single-site RTK solutions because alternative serving devices are identified and can be used to immediately replace the failed serving device. The matching algorithm can also continuously re-evaluate the status and capabilities of devices in IoT network 600 to provide service consistent with subscription options. New IoT sites can also be added to the network. Therefore, as the number of IoT devices in the network increases, the coverage of the precise location service can automatically expand. In one example, mobile device 602 itself can be included in the IoT network and can be configured as a service device. Server 402 can be configured to use the existing network 600 to accurately determine the location of newly added IoT devices. In one example, one or more of the unassigned client IoT devices 610a-e can be in sleep mode, and server 402 can be configured to wake up the unassigned client IoT devices 610a-e, making them available as hot candidates or service devices.
[0072] refer to Figure 7 And further reference Figures 1 to 6 A method 700 for identifying service IoT devices to provide precise location information to mobile devices via an IoT device network includes the stages shown. However, method 700 is an example and not a limitation. Method 700 can be modified, for example by adding, removing, rearranging, combining, performing stages simultaneously, and / or dividing a single stage into multiple stages. For example, stages 706 and 708 described below can be performed simultaneously. Other modifications to method 700 as shown and described are also possible.
[0073] At stage 702, the method includes obtaining a coarse location of the mobile device. Server 402 and mobile device 602 are components used to obtain the coarse 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 locally calculate its location and provide the coarse location to server 402. In one example, mobile device 602 provides satellite measurement information to server 402, and server 402 is configured to determine the coarse location of mobile device 602. The coarse location of mobile device 602 may be based on land navigation technologies such as OTDOA, E-CID, AOA, AOD, RTT, inertial sensors, or other land-based navigation technologies. The coarse location may be determined by communication system 100 and provided to server 402.
[0074] At stage 704, the method includes determining one or more nearby reporting IoT devices based on the approximate location. Server 402 may be a component used to determine the one or more nearby reporting devices. (Reference) Figure 6 Server 402 is configured to track the location of IoT devices 606, 608a-c, 610a-e, and other IoT devices that may subsequently join the network. Proximity can be defined based on the density of IoT devices in the network and other operational considerations (e.g., desired accuracy, satellite coverage). Typically, reporting nearby IoT devices are within 10 km of the estimated location of mobile device 602. In one example, reporting nearby IoT devices are within 30 km of mobile device 602. Server 402 is configured to determine a list of IoT devices in the network within a threshold distance of the approximate location of mobile device 602. This list of IoT devices is one or more reporting nearby devices.
[0075] At stage 706, the method includes selecting a serving IoT device from one or more nearby reporting IoT devices based on one or more configuration options. Server 402 may be a component for selecting the serving device. Server 402 may include or be accessible a non-transitory processor-readable storage medium including processor-readable instructions configured to cause one or more processors to select the serving device based on subscription options stored in data structure 502. In one example, the algorithm may determine a subgroup of nearby reporting devices capable of reporting GNSS measurements and located at precise locations. For each IoT device in the subgroup, the algorithm may determine a weighted score based on parameters of the IoT device compared to the subscription options of mobile device 602. The weighted score may be the sum of weighting functions applied to each field in the subscription options. For example, a first weighting function may be the distance between the IoT station and mobile device 602 multiplied by a constant value. A second weighting function may be based on the location accuracy field 522 of mobile device 602 and the device capabilities of the IoT device. Other weighting functions may be applied to other fields in the subscription options. The calculated scores of each IoT device in the subgroup may be sorted in an array. The IoT device in the subgroup with the lowest total weighted score may be selected as the serving IoT device 606.
[0076] At stage 708, the next n IoT devices with the second lowest scores in the subgroup can be selected as popular candidates 608a-c. Server 402 can be configured to periodically execute an algorithm (e.g., every 1, 2, 5, 10, 15, 60 seconds, etc.) to ensure that as mobile device 602 moves through the network and as the state of IoT devices in network 600 changes (e.g., due to movement, power settings, location accuracy, device performance, etc.), the best matching candidate is selected as the serving device and the best popular candidate is identified. Method 700 provides an adaptive precise location service, which helps ensure that the transmitted precise location data matches the subscription options associated with the mobile device.
[0077] refer to Figure 8 And further reference Figures 1 to 7 Method 800 for tracking one or more popular candidates in an IoT network includes the stages shown. However, method 800 is an example and not a limitation. Method 800 can be modified, for example by adding, removing, rearranging, combining, performing stages simultaneously, and / or dividing a single stage into multiple stages. For example, stages 802, 804, and 806 described below can be performed simultaneously. Other modifications to method 800 as shown and described are also possible.
[0078] At stage 802, the method includes determining the status of popular candidates. Server 402 is the component used to determine the status of popular candidates. Popular candidates 608a-c are identified as serving devices when the currently serving IoT device 606 becomes unavailable. The status of each of the popular candidates 608a-c can be periodically evaluated (e.g., every 0.5, 1, 2, 10, 60, etc.) to ensure they will be available to fulfill the role of a 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, requests may be sent periodically. Status changes such as offline (e.g., due to power settings), changes in location accuracy (e.g., due to movement), changes in satellite reception (e.g., possibly due to site line congestion and degradation), or rejection of a request to join the network may result in the device being excluded from the network. If a popular candidate becomes unavailable due to offline status or loss of satellite detection capability, the device may be removed from the network and / or the status field indicating that the device is a popular candidate may be changed.
[0079] At stage 804, the method includes determining the distance between the mobile device and a popular candidate. Server 402 may be a component used to determine the distance. The precise location of the mobile device 602 may be based on precise location data provided by the serving IoT device 606. Server 402 is configured to determine the distance between the mobile device 602 and the current popular candidate. If the distance is greater than a threshold (e.g., 1, 5, 10, 30 km), the current popular candidate is removed from the popular candidate list. At stage 806, server 402 is configured to determine the number of IoT devices classified as popular candidates. For example, server 402 may perform a counting operation based on the value of the IsHotCandidate (for popular candidates) status field associated with the IoT device.
[0080] At stage 808, the method includes determining one or more nearby reporting IoT devices based on the current location of the mobile device if the number of available popular candidates is below a threshold, and selecting new popular candidates from the one or more nearby reporting IoT devices based on one or more configuration options. Server 402 is the component used to select new popular candidates. The threshold for popular candidates can be based on the capabilities and features 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 popular candidates could be 3 or 4 to ensure that popular candidates are quickly available if the serving IoT device 606 is offline or out of range (i.e., based on 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 popular candidates (e.g., 1 or 2) may provide satisfactory positioning results. If the number of popular candidates is below a specified threshold, server 402 can be configured to perform a search process to select new popular candidates. For example, Figure 7 Method 700 can be used to select popular candidates based on configuration options associated with mobile device 602.
[0081] refer to Figure 9 And further reference Figures 1 to 8 The method 900 for tracking and switching service devices in an IoT network includes the stages shown. However, method 900 is an example and not a limitation. Method 900 can be modified, for example by adding, removing, rearranging, combining, performing stages simultaneously, and / or dividing a single stage into multiple stages. For example, stages 902 and 904 described below can be performed simultaneously. Other modifications to method 900 as shown and described are also possible.
[0082] At stage 902, the method includes determining the state of the servicing IoT device. Server 402 is a method for determining the state of the servicing IoT device. (See reference) Figure 6Mobile device 602 receives precise location data based on measurements obtained from serving IoT device 606. If, at some point, serving IoT device 606 is unable to provide measurement or correction data to network 600 (e.g., via server 402), one of the top candidates 608a-c can be designated as the new serving IoT device and will provide the measurement or correction to network 600. For example, serving IoT device 606 may be inactive due to power outages, component failures, or other events that would cause serving IoT device 606 to lose connectivity 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 it is inactive, one of the top candidates 608a-c will be selected in phase 906.
[0083] At stage 904, the method includes determining the distance between the mobile device 602 and the service IoT device 606. Server 402 is a component used to determine the distance. The precise location of the mobile device 602 and the service IoT device 606 is known to server 402. This distance can be compared to a pre-established threshold. This threshold can be based on application parameters such as device speed, accuracy requirements, or other operational factors. In one example, the threshold distance value could include 1 km, 5 km, 10 km, 20 km, 30 km, etc.
[0084] At stage 906, the method includes selecting a replacement serving IoT device from one or more previously determined popular candidates if the serving IoT device is inactive or the distance between the mobile device and the serving IoT device is greater than a threshold distance. Server 402 is a component for determining the replacement serving IoT device. (Reference) Figure 7 At stage 708, one or more popular candidates are selected based on configuration options. The selection of popular candidates is based on a weighted score determined in method 700. A replacement service device can be a popular candidate with the next best score (i.e., compared to the service device selected at stage 706). The replacement service device can be designated as a service IoT device, and method 900 can periodically iterate back to stages 902 and 904 (e.g., every 0.5, 1, 2, 5, 10 seconds) to evaluate the status of the service IoT device, as previously described.
[0085] like Figure 10 The computer system shown can be incorporated as part of the previously described computerized equipment, such as server 402. Figure 10 A schematic diagram of one embodiment of a computer system 1000 is provided, which can perform the methods provided in various other embodiments as described herein. It should be noted that... Figure 10The aim is to provide a general description of various components, from which any or all components can be appropriately used. Therefore, Figure 10 It outlines how individual system components can be implemented in a relatively separate or relatively more integrated manner.
[0086] The computing system 1000 is shown as including hardware elements that can be electrically coupled (or otherwise communicated) via a bus 1005. The hardware elements may include one or more processors 1010, including but not limited to one or more general-purpose processors and / or one or more special-purpose processors (such as digital signal processing chips, graphics accelerators, and / or the like); one or more input devices 1015, which may include, but are not limited to, a mouse, keyboard, and / or the like; and one or more output devices 1020, which may include, but are not limited to, a display device, printer, and / or the like.
[0087] Computer system 1000 may also include (and / or communicate with) one or more non-transitory storage devices 1025, which may include, but are not limited to, local and / or network-accessible storage, and / or may include, but are not limited to, disk drives, drive arrays, optical storage devices, solid-state storage devices such as random access memory (“RAM”) and / or read-only memory (“ROM”), which may be programmable, flash-updatable, and / or similar. Such storage devices may be configured to implement any suitable data storage, including but not limited to various file systems, database structures, and / or similar.
[0088] Computer system 1000 may also include a communication subsystem 1030, which may include, but is not limited to, a modem, a network interface card (NIC) (wireless or wired), an infrared communication device, a wireless communication device and / or a chipset (such as a Bluetooth device, an 802.11 device, a WiFi device, a WiMax device, a cellular communication facility, etc.) and / or similar. Communication subsystem 1030 may allow the exchange of data with a network (such as network 600, to name one), other computer systems, and / or any other device described herein. In many embodiments, computer system 1000 will further include working memory 1035, which may include RAM or ROM devices as described above.
[0089] Computer system 1000 may also include software elements, shown as currently residing within working memory 1035, including operating system 1040, device drivers, executable libraries, and / or other code, such as one or more application programs 1045, which may include computer programs provided by various embodiments and / or may be designed to implement methods and / or configure systems provided by other embodiments, as described herein. By way of example only, one or more programs described with respect to the above-described methods(s) may be implemented as code and / or instructions executable by a computer (and / or a processor within a computer); in one aspect, such code and / or instructions may be used to configure and / or adjust a general-purpose computer (or other device) to perform one or more operations according to the methods.
[0090] These sets of instructions and / or code may be stored in computer-readable storage media such as the aforementioned storage devices(s)1025. In some cases, the storage media may be incorporated into a computer system, such as system 1000. In other embodiments, the storage media may be separate from the computer system (e.g., a removable medium, such as an optical disc) and / or provided in an installation package, such that the storage media can be used to program, configure, and / or adapt to a general-purpose computer on which the instructions / code are stored. These instructions may take the form of executable code executable by computer system 1000 and / or may take the form of source code and / or installable code, which, when compiled and / or installed on computer system 1000 (e.g., using any of a variety of generally available compilers, installers, compression / decompression entities, etc.), then take the form of executable code.
[0091] It will be apparent to those skilled in the art that substantial variations can be made to suit specific requirements. For example, custom hardware, and / or specific elements implemented in hardware, software (including mobile software such as applets), or both, may be used. Furthermore, connectivity to other computing devices, such as network input / output devices, may be employed.
[0092] As described above, in one aspect, some embodiments may employ a computer system (such as computer system 1000) to perform the methods according to various embodiments of this disclosure. According to one set of embodiments,
[0093] Computer system 1000 executes some or all of these methods 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 operating system 1040 and / or other code such as application 1045).
[0094] Such instructions can be read from one or more of another computer-readable medium, such as storage devices 1025, into working memory 1035. By way of example only, execution of the sequence of instructions contained in working memory 1035 may cause processors 1010 to perform one or more processes of the methods described herein.
[0095] As used herein, the terms “machine-readable medium” and “computer-readable medium” refer to any medium that participates in providing data that enables a machine to operate in a particular manner. In embodiments implemented using computer system 1000, various computer-readable media may involve providing instructions / code to processor(s) 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 can take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical and / or magnetic disks, such as storage devices(s) 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 containing bus 1005, and various components of communication subsystem 1030 (and / or the medium through which communication subsystem 1030 provides communication with other devices). Therefore, the transmission medium can also take the form of waves (including but not limited to radio waves, sound waves and / or light waves, such as those generated during radio wave and infrared data communication).
[0096] Common forms of physical and / or tangible computer-readable media include, for example, floppy disks, floppy disks, hard disks, magnetic tapes or any other magnetic media, CD-ROMs, any other optical media, any other physical media with a perforated pattern, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, carrier waves as described below, or any other medium from which a computer may read instructions and / or code.
[0097] Various forms of computer-readable media may involve carrying one or more sequences of one or more instructions to processor(s) 1010 for execution. By way of example only, the instructions may initially be carried on a disk and / or optical disk of a remote computer. The remote computer may load the instructions into its dynamic memory and transmit the instructions as signals via a transmission medium for reception and / or execution by computer system 1000. According to various embodiments of this disclosure, these signals may be electromagnetic signals, acoustic signals, optical signals, and / or similar forms, all examples of carrier waves on which instructions may be encoded.
[0098] The communication subsystem 1030 (and / or its components) typically receives signals, and the bus 1005 can then transmit the signals (and / or the data, instructions, etc. carried by the signals) to the working memory 1035, from which the processor(s) 1005 retrieves and executes the instructions. The instructions received by the working memory 1035 may optionally be stored on the storage device 1025 before or after execution by the processor(s) 1010.
[0099] The methods, systems, and devices discussed above are all examples. Various configurations may omit, substitute, or add various programs or components as appropriate. For example, in alternative configurations, methods may be performed in a different order than described, and / or various stages may be added, omitted, and / or combined. Furthermore, features described with respect to certain configurations may be combined in various other configurations. Different aspects and elements of configurations may be combined in a similar manner. Moreover, technology is constantly evolving, and therefore many elements are illustrative and do not limit the scope of this disclosure or the claims.
[0100] Specific details are provided in this specification to offer a comprehensive understanding of the example configurations (including implementations). However, the configurations can be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques are shown without unnecessary detail to avoid obscuring the configurations. This specification provides example configurations and does not limit the scope, applicability, or configuration of the claims. Rather, the prior description of the configurations will provide those skilled in the art with an implementation description for carrying out the described techniques. Various changes can be made to the function and arrangement of the elements without departing from the scope of this disclosure.
[0101] Furthermore, the configuration can be described as a process shown as a flowchart or block diagram. Although each operation may be described as a sequential process, many operations can be performed in parallel or concurrently. Moreover, the order of operations can be rearranged. A process may have additional steps not included in the diagram. Furthermore, examples of the method can be implemented using 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 that perform the necessary tasks can be stored in a non-transitory computer-readable medium (such as a storage medium). The processor can execute the described tasks.
[0102] Several example configurations have been described, and various modifications, alternative constructions, and equivalents may be used without departing from this disclosure. For example, the aforementioned elements may be components of a larger system, where other rules may take precedence over or otherwise modify the application of this disclosure. Furthermore, multiple steps may be performed before, during, or after considering the aforementioned elements. 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 appended claims. For example, due to the nature of software and computers, the aforementioned functionality may be implemented using software executed by a processor, hardware, firmware, hardwiring, or any combination thereof. Features implementing the functionality may also be physically located in various locations, including distributed such that different parts of the functionality are implemented at different physical locations.
[0103] Furthermore, as used herein, the word "or" (which begins with "at least one" or "one or more") used in a list of items signifies a disjunctive list, such that a list of, for example, "at least one A, B, or C" or "one or more of A, B, or C" or "A, B, or C, or combinations thereof" means A, or B, or C, or AB, or AC, or BC, or ABC (i.e., A and B and C), or combinations with multiple features (e.g., AA, AAB, ABBC, etc.).
[0104] Unless otherwise stated, as used herein, a statement that a function or operation is “based on” an item or condition means that the function or operation is based on said item or condition and may be based on one or more items and / or conditions other than said item or condition.
[0105] Furthermore, the sending or transmission of information as an instruction "to" an entity, or as a statement of information, does not require the completion of communication. Such instructions or statements include situations where information is transmitted from a sending entity but does not reach the intended recipient. The intended recipient, even if it does not actually receive the information, can be referred to as a receiving entity, such as a receiving execution environment. Moreover, an entity configured to send or transmit information "to" an intended recipient does not need to be configured to complete the transmission of information to the intended recipient. For example, the entity could provide the information, along with the intended recipient's instruction, to another entity capable of forwarding the information together.
[0106] A wireless communication system is a system in which at least some communications are transmitted wirelessly, for example, by propagation through atmospheric space via electromagnetic and / or sound waves, rather than through wires or other physical connections. A wireless communication network may not have all communications transmitted wirelessly, but is configured to have at least some communications transmitted wirelessly. Furthermore, the term "wireless communication device" or similar terms do not require that the device's function is specifically or even primarily for communication, or that the device is a mobile device, but rather indicate that the device includes wireless communication capabilities (one-way or two-way), for example, including at least one radio for wireless communication (each radio being part of a transmitter, receiver, or transceiver).
[0107] The methods, systems, and devices discussed above are merely examples. Various configurations may omit, substitute, or add various procedures or components as appropriate. For example, in alternative configurations, methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Furthermore, features described with respect to certain configurations may be combined in various other configurations. Different aspects and elements of configurations can be combined in a similar manner. Moreover, technology is constantly evolving, and therefore many elements are merely examples and do not limit the scope of this disclosure or the claims.
[0108] Unless otherwise stated, "approximately" and / or "approximately" as used herein refers to measurable values, such as quantities, durations, and the like, including variations of ±20% or ±10%, ±5%, or +0.1% from a specified value, as appropriate in the context of the systems, devices, circuits, methods, and other implementations described herein. Unless otherwise stated, "substantially" as used herein refers to measurable values, such as quantities, durations, physical properties (such as frequency), and the like, including variations of ±20% or ±10%, ±5%, or +0.1% from a specified value, as appropriate in the context of the systems, devices, circuits, methods, and other implementations described herein.
[0109] A statement that a value exceeds (or is greater than or higher than) a first threshold is equivalent to a statement that the value meets or exceeds a second threshold slightly greater than the first threshold, for example, in the resolution of a computing system, the second threshold is a value higher than the first threshold. A statement that a value is less than (or is within or lower than) the first threshold is equivalent to a statement that the value is less than or equal to a second threshold slightly lower than the first threshold, for example, in the resolution of a computing system, the second threshold is a value lower than the first threshold.
[0110] The following numbered clauses describe the embodiments:
[0111] Clause 1. An apparatus for determining the precise location of a mobile device, comprising:
[0112] At least one server, which includes a data structure containing precise location subscription options associated with mobile devices;
[0113] Multiple client IoT devices are configured to communicate with at least one server, wherein at least one of the client IoT devices is a service IoT device configured to provide precise location information to mobile devices; and
[0114] The IoT devices for this service are selected from multiple client IoT devices based on a precise location subscription option.
[0115] Clause 2. The device pursuant to Clause 1, wherein the precise location subscription option includes the desired precision of the precise location information.
[0116] Clause 3. The device pursuant to Clause 1, wherein the precise location subscription option includes the expected update rate of the precise location information.
[0117] Clause 4. The apparatus according to Clause 1, wherein the serving IoT device is configured to provide precise location information to at least one server, and the at least one server is configured to provide the precise location information to a mobile device.
[0118] Clause 5. The device pursuant to Clause 1, wherein the precise positioning information is in the Maritime Radio Technical Committee (RTCM) format.
[0119] Clause 6. The apparatus according to Clause 1, wherein the precise positioning information is real-time motion satellite phase signal correction information.
[0120] Clause 7. The apparatus according to Clause 1, wherein the precise positioning information is differential satellite position correction information.
[0121] Clause 8. The apparatus of Clause 1, wherein one or more of a plurality of client IoT devices are configured as a top candidate based on a precise location subscription option, wherein if the serving IoT device becomes inactive or the distance between the mobile device and the serving IoT device exceeds a threshold distance, the top candidate is configured as an alternative serving IoT device.
[0122] Clause 9. A method for identifying serving Internet of Things (IoT) devices to provide precise location information to mobile devices via an IoT device network, comprising:
[0123] Obtain the approximate location of the mobile device;
[0124] Based on this rough location, one or more nearby reporting IoT devices can be identified;
[0125] Select a serving IoT device from one or more nearby reporting IoT devices based on one or more configuration options; and
[0126] Select one or more popular candidates from one or more nearby reporting IoT devices based on one or more configuration options.
[0127] Clause 10. The method of Clause 9, wherein the serving IoT device is configured to provide real-time motion satellite phase correction information.
[0128] Clause 11. The method pursuant to Clause 9, wherein the serving IoT device is configured to provide differential satellite correction information.
[0129] Clause 12. According to the method of Clause 9, one or more configuration options include the desired accuracy of the precise positioning information.
[0130] Clause 13. According to the method of Clause 9, one or more configuration options include the expected update rate of the precise location information.
[0131] Clause 14. The method of Clause 9, wherein the service IoT device is configured to provide precise location information in Maritime Radio Technical Committee (RTCM) format.
[0132] Clause 15. The methods pursuant to Clause 9 also include:
[0133] Determine the status of the IoT devices serving this service;
[0134] Determine the distance between mobile devices and serving IoT devices; and
[0135] If the service IoT device is inactive or the distance between the mobile device and the service IoT device is greater than a threshold distance, an alternative service device is determined from one or more popular candidates.
[0136] Clause 16. An apparatus for identifying serving Internet of Things (IoT) devices to provide precise location information to mobile devices via an IoT device network, comprising:
[0137] Memory;
[0138] At least one processor, operatively coupled to the memory and configured to:
[0139] Obtain the approximate location of the mobile device;
[0140] Based on this rough location, one or more nearby reporting IoT devices can be identified;
[0141] Select a serving IoT device from one or more nearby reporting IoT devices based on one or more configuration options; and
[0142] Select one or more popular candidates from one or more nearby reporting IoT devices based on one or more configuration options.
[0143] Clause 17. The apparatus pursuant to Clause 16, wherein the serving IoT device is configured to provide real-time motion satellite phase correction information.
[0144] Clause 18. The apparatus pursuant to Clause 16, wherein the serving IoT device is configured to provide differential satellite correction information.
[0145] Clause 19. The apparatus pursuant to Clause 16, wherein one or more configuration options include the desired accuracy of the precise positioning information.
[0146] Clause 20. The device pursuant to Clause 16, wherein one or more configuration options include the desired update rate of precise positioning information.
[0147] Clause 21. The device pursuant to Clause 16, wherein the service IoT device is configured to provide precise location information in Maritime Radio Technical Committee (RTCM) format.
[0148] Clause 22. The apparatus pursuant to Clause 16, wherein the at least one processor is further configured to:
[0149] Determine the status of the IoT devices serving this service;
[0150] Determine the distance between mobile devices and serving IoT devices; and
[0151] If the service IoT device is inactive or the distance between the mobile device and the service IoT device is greater than a threshold distance, an alternative service device is determined from one or more popular candidates.
[0152] Clause 23. An apparatus for identifying serving Internet of Things (IoT) devices to provide precise location information to mobile devices via an IoT device network, comprising:
[0153] Components used to obtain the approximate location of a mobile device;
[0154] Components used to determine one or more nearby reporting IoT devices based on this rough location;
[0155] Components for selecting service IoT devices from one or more nearby reporting IoT devices based on one or more configuration options; and
[0156] Used to select one or more popular candidate components from one or more nearby reported IoT devices based on one or more configuration options.
[0157] Clause 24. The apparatus pursuant to Clause 23 further includes:
[0158] Components used to determine the status of IoT devices providing this service;
[0159] Components used to determine the distance between mobile devices and serving IoT devices; and
[0160] A component for determining an alternative service device from one or more popular candidates if the service IoT device is inactive or the distance between the mobile device and the service IoT device is greater than a threshold distance.
[0161] Clause 25. A non-transitory processor-readable storage medium including processor-readable instructions configured to cause one or more processors to determine a servicing Internet of Things (IoT) device to provide precise location information to a mobile device via an IoT device network, comprising:
[0162] Code used to obtain the approximate location of the mobile device;
[0163] Code used to identify one or more nearby reporting IoT devices based on this rough location;
[0164] Code for selecting a service IoT device from one or more nearby reporting IoT devices based on one or more configuration options; and
[0165] Code for selecting one or more popular candidates from one or more nearby reporting IoT devices based on one or more configuration options.
[0166] Clause 26. The non-transitory storage media pursuant to Clause 25 also includes:
[0167] Code used to determine the status of IoT devices for this service;
[0168] Code used to determine the distance between mobile devices and serving IoT devices; and
[0169] Code for determining an alternative service device from one or more popular candidates if the service IoT device is inactive or the distance between the mobile device and the service IoT device is greater than a threshold distance.
[0170] Clause 27. A method for switching serving Internet of Things (IoT) devices in an IoT network, comprising:
[0171] Determine the status of the IoT devices serving this service;
[0172] Determine the distance between mobile devices and serving IoT devices; and
[0173] If the service IoT device is inactive or the distance between the mobile device and the service IoT device is greater than a threshold distance, an alternative service IoT device is selected from one or more previously determined popular candidates.
[0174] Clause 28. The method of Clause 27, wherein one or more previously determined popular candidates are selected from one or more nearby reporting IoT devices based on one or more configuration options.
[0175] Clause 29. In accordance with the method of Clause 28, one or more of the nearby reporting IoT devices are within 10 kilometers of the mobile device.
[0176] Clause 30. The method according to Clause 28, wherein one or more configuration options include the desired accuracy of the precise positioning information.
[0177] Clause 31. The method according to Clause 28, wherein one or more configuration options include the expected update rate of the precise location information.
[0178] Clause 32. An apparatus for switching serving Internet of Things (IoT) devices in an IoT network, comprising:
[0179] Memory;
[0180] At least one processor, operatively coupled to the memory and configured to:
[0181] Determine the status of the IoT devices serving this service;
[0182] Determine the distance between mobile devices and serving IoT devices; and
[0183] If the service IoT device is inactive or the distance between the mobile device and the service IoT device is greater than a threshold distance, an alternative service IoT device is selected from one or more previously determined popular candidates.
[0184] Clause 33. A device pursuant to Clause 32, wherein one or more previously identified popular candidates are selected from one or more nearby reporting IoT devices based on one or more configuration options.
[0185] Clause 34. A device pursuant to Clause 33, wherein one or more of the reported IoT devices are within 10 kilometers of the mobile device.
[0186] Clause 35. The apparatus pursuant to Clause 33, wherein one or more configuration options include the desired accuracy of the precise positioning information.
[0187] Clause 36. The device pursuant to Clause 33, wherein one or more configuration options include the desired update rate of precise positioning information.
[0188] Clause 37. An apparatus for switching serving Internet of Things (IoT) devices in an IoT network, comprising:
[0189] Components used to determine the status of IoT devices providing this service;
[0190] Components used to determine the distance between mobile devices and serving IoT devices; and
[0191] A component for selecting an alternative service IoT device from one or more previously determined popular candidates if the service IoT device is inactive or the distance between the mobile device and the service IoT device is greater than a threshold distance.
[0192] Clause 38. A device pursuant to Clause 37, wherein one or more previously identified popular candidates are selected from one or more nearby reporting IoT devices based on one or more configuration options.
[0193] Clause 39. A device pursuant to Clause 38, wherein one or more of the reported IoT devices are within 10 kilometers of the mobile device.
[0194] Clause 40. The apparatus pursuant to Clause 38, wherein one or more configuration options include the desired accuracy of the precise positioning information.
[0195] Clause 41. The device pursuant to Clause 38, wherein one or more configuration options include the desired update rate of precise positioning information.
[0196] Clause 42. A non-transitory processor-readable storage medium including processor-readable instructions configured to cause one or more processors to switch service to an Internet of Things (IoT) device in an IoT network, comprising:
[0197] Code used to determine the status of IoT devices for this service;
[0198] Code used to determine the distance between mobile devices and serving IoT devices; and
[0199] Code for selecting an alternative service IoT device from one or more previously determined popular candidates if the service IoT device is inactive or the distance between the mobile device and the service IoT device is greater than a threshold distance.
[0200] Clause 43. A non-transitory storage medium pursuant to Clause 42, wherein one or more previously identified popular candidates are selected from one or more nearby reporting IoT devices based on one or more configuration options.
Claims
1. An apparatus for determining the precise location of a mobile device, comprising: At least one server includes a data structure containing a precise location subscription option associated with the mobile device, wherein the precise location subscription option enables the mobile device to receive customized location information selected by the mobile device. Multiple client IoT devices are configured to communicate with the at least one server, wherein at least one of the multiple client IoT devices is a service IoT device configured to provide precise location information to the mobile device based on the precise location subscription option; and The service IoT device is selected from the plurality of client IoT devices based on the precise location subscription option.
2. The apparatus of claim 1, wherein the precise location subscription option includes the desired precision of the precise location information.
3. The apparatus of claim 1, wherein the precise location subscription option includes the expected update rate of the precise location information.
4. The apparatus of claim 1, wherein the service IoT device is configured to provide the precise location information to the at least one server, and the at least one server is configured to provide the precise location information to the mobile device.
5. The apparatus of claim 1, wherein the precise positioning information is in Maritime Radio Technical Committee (RTCM) format.
6. The apparatus according to claim 1, wherein the precise positioning information is real-time motion satellite phase signal correction information.
7. The apparatus according to claim 1, wherein the precise positioning information is differential satellite position correction information.
8. The apparatus of claim 1, wherein one or more of the plurality of client IoT devices are configured as popular candidates based on the precise location subscription option, wherein if the service IoT device becomes inactive or the distance between the mobile device and the service IoT device exceeds a threshold distance, the popular candidate is configured as an alternative service IoT device.
9. The apparatus of claim 1, wherein the at least one server further comprises a billing application configured to provide billing information to a user based on the precise location subscription option.
10. A method for identifying serving Internet of Things (IoT) devices to provide precise location information to mobile devices via an IoT device network, comprising: Obtain the approximate location of the mobile device; Based on the rough location, one or more nearby reporting IoT devices are identified; The serving IoT device is selected from one or more nearby reporting IoT devices based on a precise location subscription option, wherein the precise location subscription option enables the mobile device to receive customized location information selected by the mobile device; and Based on the precise location subscription option, one or more popular candidates are selected from the one or more nearby reporting IoT devices.
11. The method of claim 10, wherein the service IoT device is configured to provide real-time motion satellite phase correction information.
12. The method of claim 10, wherein the service IoT device is configured to provide differential satellite correction information.
13. The method of claim 10, wherein the precise location subscription option includes the desired precision of the precise location information.
14. The method of claim 10, wherein the precise location subscription option includes the expected update rate of the precise location information.
15. The method of claim 10, wherein the service IoT device is configured to provide the precise location information in Maritime Radio Technical Committee (RTCM) format.
16. The method of claim 10, further comprising: Determine the status of the IoT devices providing the service; Determine the distance between the mobile device and the serving IoT device; and If the service IoT device is inactive or the distance between the mobile device and the service IoT device is greater than a threshold distance, an alternative service device is determined from one or more popular candidates.
17. An apparatus for identifying serving Internet of Things (IoT) devices to provide precise location information to mobile devices via an IoT device network, comprising: Memory; At least one processor, operatively coupled to the memory and configured to: Obtain the approximate location of the mobile device; Based on the rough location, one or more nearby reporting IoT devices are identified; The serving IoT device is selected from one or more nearby reporting IoT devices based on a precise location subscription option, wherein the precise location subscription option enables the mobile device to receive customized location information selected by the mobile device; and Based on the precise location subscription option, one or more popular candidates are selected from the one or more nearby reporting IoT devices.
18. The apparatus of claim 17, wherein the service IoT device is configured to provide real-time motion satellite phase correction information.
19. The apparatus of claim 17, wherein the service IoT device is configured to provide differential satellite correction information.
20. The apparatus of claim 17, wherein the precise location subscription option includes the desired precision of the precise location information.
21. The apparatus of claim 17, wherein the precise location subscription option includes the desired update rate of the precise location information.
22. The apparatus of claim 17, wherein the service IoT device is configured to provide the precise location information in Maritime Radio Technical Committee (RTCM) format.
23. The apparatus of claim 17, wherein the at least one processor is further configured to: Determine the status of the IoT devices providing the service; Determine the distance between the mobile device and the serving IoT device; and If the service IoT device is inactive or the distance between the mobile device and the service IoT device is greater than a threshold distance, an alternative service device is determined from one or more popular candidates.
24. An apparatus for identifying serving Internet of Things (IoT) devices to provide precise location information to mobile devices via an IoT device network, comprising: Components for obtaining the approximate location of the mobile device; Components used to determine one or more nearby reporting IoT devices based on the rough location; A component for selecting the service IoT device from one or more nearby reporting IoT devices based on a precise location subscription option, wherein the precise location subscription option enables the mobile device to receive customized location information selected by the mobile device; as well as Used to select one or more popular candidate components from one or more nearby reporting IoT devices based on the precise location subscription option.
25. The apparatus of claim 24, further comprising: Components used to determine the status of the IoT devices providing the service; Components used to determine the distance between the mobile device and the serving IoT device; as well as A component for determining an alternative service device from one or more popular candidates if the service IoT device is inactive or the distance between the mobile device and the service IoT device is greater than a threshold distance.
26. A non-transitory processor-readable storage medium including processor-readable instructions configured to cause one or more processors to determine a servicing Internet of Things (IoT) device to provide precise location information to a mobile device via an IoT device network, comprising: Code used to obtain the approximate location of the mobile device; Code used to determine one or more nearby reporting IoT devices based on the rough location; Code for selecting the service IoT device from one or more nearby reporting IoT devices based on a precise location subscription option, wherein the precise location subscription option enables the mobile device to receive customized location information selected by the mobile device; as well as Code for selecting one or more popular candidates from the one or more nearby reporting IoT devices based on the precise location subscription option.
27. The non-transitory processor-readable storage medium of claim 26, further comprising: Code used to determine the status of the IoT device providing the service; Code used to determine the distance between the mobile device and the serving IoT device; as well as If the service IoT device is inactive or the distance between the mobile device and the service IoT device is greater than a threshold distance, a code is used to determine an alternative service device from one or more popular candidates.
28. A method for switching serving Internet of Things (IoT) devices in an IoT network, comprising: Determine the status of the IoT devices providing the service; Determine the distance between the mobile device and the IoT device providing the service; and If the state of the serving IoT device is inactive or the distance between the mobile device and the serving IoT device is greater than a threshold distance, then an alternative serving IoT device is selected from one or more previously determined popular candidates. The one or more previously identified popular candidates are selected from one or more nearby reporting IoT devices based on one or more configuration options.
29. The method of claim 28, wherein the one or more nearby reporting IoT devices are within 10 kilometers of the mobile device.
30. The method of claim 28, wherein the one or more configuration options include the desired accuracy of the precise positioning information.
31. The method of claim 28, wherein the one or more configuration options include the desired update rate of the precise location information.
32. An apparatus for switching serving Internet of Things (IoT) devices in an IoT network, comprising: Memory; At least one processor, operatively coupled to the memory and configured to: Determine the status of the IoT devices providing the service; Determine the distance between the mobile device and the IoT device providing the service; and If the state of the serving IoT device is inactive or the distance between the mobile device and the serving IoT device is greater than a threshold distance, then an alternative serving IoT device is selected from one or more previously determined popular candidates. The one or more previously identified popular candidates are selected from one or more nearby reporting IoT devices based on one or more configuration options.
33. The apparatus of claim 32, wherein the one or more proximity reporting IoT devices are within 10 kilometers of the mobile device.
34. The apparatus of claim 32, wherein the one or more configuration options include the desired accuracy of the precise positioning information.
35. The apparatus of claim 32, wherein the one or more configuration options include a desired update rate for precise positioning information.
36. An apparatus for switching serving Internet of Things (IoT) devices in an IoT network, comprising: Components used to determine the status of the IoT devices providing the service; Components used to determine the distance between a mobile device and the service IoT device; as well as A component for selecting an alternative service IoT device from one or more previously determined popular candidates if the service IoT device is inactive or the distance between the mobile device and the service IoT device is greater than a threshold distance. The one or more previously identified popular candidates are selected from one or more nearby reporting IoT devices based on one or more configuration options.
37. The apparatus of claim 36, wherein the one or more proximity reporting IoT devices are within 10 kilometers of the mobile device.
38. The apparatus of claim 36, wherein the one or more configuration options include the desired accuracy of the precise positioning information.
39. The apparatus of claim 36, wherein the one or more configuration options include a desired update rate for precise positioning information.
40. A non-transitory processor-readable storage medium including processor-readable instructions configured to cause one or more processors to switch servicing Internet of Things (IoT) devices in an IoT network, comprising: Code used to determine the status of the IoT device providing the service; Code used to determine the distance between the mobile device and the service IoT device; as well as Code for selecting an alternative serving IoT device from one or more previously determined popular candidates if the serving IoT device is inactive or the distance between the mobile device and the serving IoT device is greater than a threshold distance. The one or more previously identified popular candidates are selected from one or more nearby reporting IoT devices based on one or more configuration options.
Citation Information
Patent Citations
GNSS (global navigation satellite system) differential signal broadcasting system and method combining internet and radio
CN103364797A
Methods and systems for location determination of a mobile device using partial RF bands
US10327109B1
Ensuring positioning quality-of-service for LTE positioning
WO2013150344A1
Uplink positioning for narrow band internet of things
WO2018067380A1