The present disclosure generally relates to a receiver-side device, a content server, a content distribution system and a signal processing method for use in a satellite-based navigation system. The present disclosure further relates to a computer program product and a non-volatile storage medium comprising instructions for performing a signal processing method. In particular, the disclosure relates to devices, methods and systems for improved processing and distribution of localized correction data.
A number of global and regional satellite-based navigation systems are currently in use. Known examples of Global Navigation Satellite Systems (GNSS) include the US-based Global Positioning System (GPS), Russia's Global Navigation Satellite System (GLONASS), China's BeiDou Navigation Satellite System (BDS) and the Galileo system of the European Union. In addition, a number of further systems, global, regional and national, are operating or under development.
In general, satellite-based navigation systems enable to determine a position of a satellite receiver based on propagation time delays of satellite signals received from a plurality of satellites located at known locations in an orbit. The precision of the determined position of the satellite receiver generally depends on various parameters of the received signals used for positioning. Among others, the signals encode information on a position of the respective satellite and a point in time at which the signal was transmitted by the respective satellite. The encoded information themselves as well as the radio frequency (RF) signals used for their transmission are subject to errors. For example, the satellites of such systems, while driven by accurate atomic clocks, exhibit independent variability, beyond those determined from the information transmitted by the satellite. Such errors, known as satellite clock errors, cannot be ignored in precise positioning applications. Other error sources include an uncertainty regarding the exact orbital position of the satellites at the time of sending, and disturbances in signal propagation caused by the atmosphere.
To further improve the precision of a satellite-based navigation system, for example for Precise Point Positioning (PPP) and/or Real-Time Kinematic positioning (RTK), it is known to provide a number of stationary reference receivers at known position on the ground. Based on continuous tracking of a phase of a received satellite signal and other signal processing methods, it is possible to determine real-time correction data for the satellite-based navigation system. The correction data may comprise clock correction data, ephemeris correction data, and atmospheric correction data. Such correction data may be used by non-stationary satellite receivers at unknown locations to improve their position accuracy, their position detection speed and/or, knowing their location, to improve time accuracy for time-transfer applications. For this purpose, the National Geodetic Survey of the US National Oceanic and Atmospheric Administration (NOAA) operates the so-called NOAA Continuously Operating Reference Station (CORS) network.
However, due to distributed generation and sheer amount of data produced by a largescale network of reference stations such as the CORS network, its distribution and storage, in particular for use by relatively small, mobile devices, is an issue that needs to be urgently addressed.
According to a first aspect of the present disclosure, a receiver-side device for use in a satellite-based navigation system is provided. The receiver-side device comprises a satellite receiver circuit for receiving signals from at least one satellite of the satellite-based navigation system, a communication interface for requesting and receiving data from a communication network, and at least one processing module. The processing module is configured to perform the following steps: determine an approximate position of the receiver-side device; select at least one data set from a plurality of available data sets based on the determined approximate position, each data set corresponding to a predefined subarea of a service area served by the satellite-based navigation system and comprising geographically related content relevant to the respective subarea, wherein the content comprises localized correction data of the satellite-based navigation system; request the selected at least one data set and receive corresponding content relevant to the approximate position from the communication network; and process signals from the satellite-based navigation system received by the satellite receiver circuit, comprising calculating a corrected position and/or a corrected time using the received localized correction data relevant to the approximate position.
Among others, the inventors have found that the separation of geographically related content comprising correction data into a plurality of different data sets, for example tens, hundreds, thousands or even ten thousands of different data sets, each data set corresponding to a predefined subarea of a service area, for example, a single country, province or districts, or a given area, such as a 100×100 km square, can help to limit the size of the data to be obtained by a receiver-side device. Moreover, by requesting a selected at least one data set over a communication network on demand, the receiver-side device can determine which information to obtain for a present position and/or select appropriate area data sets as that device moves to different coverage areas. At the same time, it is not necessary to share the approximate position of the receiver-side device with any other component of the satellite-based navigation system, including a source of the at least one data set. This minimizes the need to disclose device data in order to obtain geographically related content, which in turn increase privacy protection for the device information, such as its approximate position. It also reduces the data transferred in an uplink direction and a downlink direction. The obtained localized correction data can be used to calculate a corrected position and/or a corrected time based on signals received from the satellite-based navigation.
According to at least one embodiment, the at least one processing module is specifically configured to determine the approximate position of the receiver-side device based on signals received by the satellite receiver circuit. This enables the autonomous determination of the approximate position, i.e. without relying on either a GNSS correction data service provider or another external entity, such as a communication network.
According to at least one embodiment, the at least one processing module is specifically configured to determine that the approximate position is contained in a first subarea of the plurality of subareas and to select a first data set corresponding to the first subarea of the service area based on a mapping relationship between the plurality of available data sets and the plurality of subareas.
The present disclosure considers different ways of establishing the mapping relationships between available data sets and corresponding subareas. Amongst others, a corresponding directory defining the mapping relationship between each one of the plurality of available data sets and the corresponding subareas may be received from the communication network. Alternatively or in addition, the processing module may be specifically configured to infer the mapping relationship between the first data set and the corresponding subarea based on metadata associated with a first data set. Metadata associated with a dataset comprises metadata of the data sets and their availability. This may include metadata stored in the received datasets themselves (e.g. headers or categories) or metadata used during querying (e.g. a name of the dataset or a topic of a content delivery system or network). Alternatively or in addition, the processing module may be specifically configured to compute the mapping relationship between each one of the plurality of available data sets and the corresponding subareas based on a map projection system for the service area, defining an ordered set of subareas of the service area. For example, MGRS grid reference identifiers may be used to identify the plurality of data sets and define corresponding subareas. This enables a very flexible approach to both definition and determination of appropriate subareas and corresponding data sets. It is noted that the mapping relationship is not necessarily unequivocal, in that more than one data set may be applicable to a single subarea and/or a single data set may cover more than a single subarea.
According to at least one embodiment, a subset of more than one data set from the plurality of available data sets corresponds to the approximate position, and the at least one processing module is specifically configured to select at least one data set from the subset of more than one data set. Accordingly, it is the data consumer, e.g., the receiver-side device, that determines which information to obtain, rather than the data producer, e.g., a content server.
This choice may be based on at least one of the following parameters: a service level agreement; a desired precision of the localization; a current operating state of the receiver-side device; a memory size of the receiver-side device; a size of the more than one corresponding data set; a current data transmission rate of the communication interface; a tariff for usage of the communication interface; a pricing structure for the geographically related content; and an update frequency of the more than one corresponding data sets. In this way, the transmitted content can be tailored to the specific needs of a receiver-side device, while maintaining the re-usability of the generated data sets by other receiver-side device.
According to at least one embodiment, the at least one processing module is specifically configured to send a subscription request identifying a data stream and/or a topic to a content server or a node of a content distribution network, and, in response to the subscription request, receive current versions of the at least one selected data set via the subscribed data stream and/or from the content server or the node of a content distribution network, respectively. The subscription request and published current versions of the at least one selected data set may be sent using appropriate protocols, such as the Message Queuing Telemetry Transport, MQTT, protocol. Use of a subscribe-publish mechanism facilitates repeated and/or regular provision of current, i.e. newly computed or updated data sets, comprising valid correction data.
For example, the provided correction data may be valid for a predetermined time only, for example a given time tag epoch of the GNSS or a processing interval of the receiver-side device. Once new correction data becomes available, for example in a new epoch with a new time tag or for the next processing interval, a subscribed receiver-side device may automatically, i.e. without sending a new request, receive a current set of localized correction data from the content provider. The current set of localized correction data may comprise all available correction data, e.g. satellite clock, bias and orbit correction data as well as tropospheric and ionospheric correction data, or only a subset of previously provided correction data, e.g. satellite clock correction data, which may be changing at a faster rate than other parts of the correction data, such as tropospheric and ionospheric correction data.
According to a second aspect of the disclosure, a content server for a satellite-based navigation system is provided. The content server comprises a database for collecting correction data for a service area served by the satellite-based navigation system for use by a plurality of receiver-side devices of the satellite-based navigation system. The content server further comprises a processing subsystem for transforming the correction data into a plurality of separate data sets, each data set corresponding to a predefined subarea of the service area and comprising geographically related content relevant to the respective subarea, wherein the content relevant to the respective subarea comprises localized correction data of the satellite-based navigation system. The content server further comprises a publication subsystem for distributing the plurality of separate data sets over a communication network such that different receiver-side devices of the satellite-based navigation system can select and request at least one data set from the plurality of separate data sets and receive the corresponding localized correction data for correcting signals received from the satellite-based navigation system within a corresponding subarea.
The content server according to the second aspect can help to collect, reorganize and distribute the reorganized, localized correction data for a large number of receiver-side devices. It essentially reorganizes the geographically related content to a manifold of locally tailored data sets or data sources that the receiver-side device can select from. It then, directly or indirectly, provides the plurality of locally applicable data sets or data sources to receiver-side devices in a given subarea, without needing to be aware of the current positions of the receiver-side devices. In other words, the content server is not required to create a stream of data per receiver-side device. It is enough to create multiple fine granular streams of data that can be selected by the receiver-side devices to provide a multicast-like instead of unicast-like approach. This reduces both the required processing performance on the side of the content server, as well as the required transmission bandwidth between the content server and the receiver-side devices as only the selected data is transferred.
The geographically related content may comprise different types of data and may be organized in different ways. For example, the geographically related content may be organized by subareas or by a type of data or a combination of both. Different types of data or subareas may be further subdivided in a hierarchical fashion, for example using a hierarchy of topics of a content delivery network, e.g. topics covering all satellite related correction data or only correction data for a certain error type such as clock drift errors, or topics covering an entire country or 100×100 km square or only a province or 10×10 km square, allowing to further tailor the available data sets and reduce a corresponding transmission bandwidth.
According to an embodiment, the processing subsystem is specifically configured for transforming the geographically related content into two or more different series of separate data sets based on different subdivisions of the service area. The different subdivisions may comprise at least two of a subdivision by continents, a subdivision by countries, a subdivision by provinces and a subdivision by regions. A series of data sets may relate to a plurality of similar data sets of different areas, e.g. equi-sized data sets or data sets on a same level of a location hierarchy. The series itself may be characterized by a required resolution, country coverage, etc. The provision of different levels of subdivisions of the service area offers more flexibility as it essentially gives the receiver-side device the choice of how much correction data it wants to receive. For example, a first receiver-side device may request correction data with high precision for a relatively small subarea such as a single province, whereas a second receiver-side device may request correction data for a larger subarea such as an entire country, potentially having a lower resolution.
According to at least one embodiment, the publication subsystem is specifically configured for selective distributing data sets from one of the two or more different series of separate data sets based on at least one of an individual request or a subscription request of a receiver-side device. This enables the receiver-side device to perform single request/response provisions or to subscribe to the regular provision of localized correction data based on service level agreements and similar information managed by the content server.
Alternatively or in addition, the database may be specifically configured to collect different types of correction data, comprising at least one of satellite-related correction data, ionosphere-related correction data, troposphere-related correction data, quality data and integrity data. The processing subsystem may be specifically configured to transform the different types of correction data into a plurality of companion data sets, each companion data set comprising localized correction data of at least one type of correction data applicable to the predefined subarea of the service area. Companion data set may relate to different data sets with different localized error correction data related to a common position. Thus, companion data sets are spatially overlapping at least at the common position. However, they do not need to cover an identical subarea, e.g. they may only be partially overlapping. The publication subsystem may be specifically configured to distribute at least two of the companion data sets as separate data sets over the communication network. In this case, a receiver-side device may request only one or more specific types of correction data useful for its processing capabilities and current operating state, avoiding the transmission of irrelevant data to receiver-side devices with limited capabilities.
According to at least one embodiment, each one of the plurality of data sets is associated with corresponding metadata, the metadata indicating a mapping relationship between the respective data set and a corresponding subarea. Such metadata, for example MGRS based grid references indicating a position and precision or extend of a subarea, can be used by receiver-side devices to find and select an appropriate data set and/or to construct an internal catalogue of available data sets. By providing suitable metadata for the generated data sets, the receiver-side devices can discover and select appropriate data sets without further assistance from the content server or provision of an explicit directory, further improving privacy and bandwidth efficiency.
According to at least one embodiment, the publication subsystem further publishes a directory or similar data structure, like a catalog, defining a mapping relationship between each one of the plurality of data sets and the corresponding subareas, thereby enabling the receiver-side device to determine a data stream or topic of interest. Provision of an explicit directory makes it easier for the receiver-side devices to determine a locally applicable data set from the plurality of separate data sets without disclosing their current position to the content server.
According to at least one embodiment, the publication subsystem provides a separate data stream and/or topic for each one of the plurality of subareas, such that receiver-side devices of the satellite-based navigation system can subscribe to a locally applicable data set from the plurality of separate data sets without disclosing their current position to the content server. Subscription to individual data streams or topics of a publication subsystem enables a relatively large number of receiver-side devices to obtain information that is relevant to them without disclosing their position to the content server, and without the need for the content server to generate a different stream of data per receiver-side device.
According to a third aspect of the disclosure, a content distribution system comprises at least one receiver-side device according to the first aspect and a content server according to the second aspect. The details and advantages of the respective devices are not repeated here.
In at least one embodiment, the content distribution system according to the third aspect further comprises one or more nodes of a content distribution network, wherein the content server is configured to provide the plurality of data sets to the one or more nodes, and the at least one receiver-side device is configured to request and receive the at least one data set from at least one of the nodes. Use of a content distribution network enables a fast, low latency and efficient distribution of large volumes of data to a large number of receiver-side devices by allowing regional or local caching and/or multicasting of the geographically related content.
In at least one embodiment, the disclosed content distribution system may distribute tens to thousands of separate data sets to hundreds to millions of receiver-side devices. Providing a relatively high number of data sets enables to further localize their content and, at the same time, reduce their size, making it easier to transmit them to a relatively large number of receiver-side devices. If the number of receiver-side devices is considerably larger than the number of data sets, multicasting or broadcasting them locally helps to further reduce the transmission bandwidth.
According to a fourth aspect, a signal processing method performed by a receiver-side device of a satellite-based navigation system is provided. The method comprises the following steps: determining an approximate position; selecting at least one data set from a plurality of available data sets based on the determined approximate position, each data set corresponding to a predefined subarea of a service area served by the satellite-based navigation system and comprising geographically related content relevant to the respective subarea, wherein the content comprises localized correction data of the satellite-based navigation system; requesting the selected at least one data set and receiving corresponding content relevant to the approximate position from the communication network; and processing signals from the satellite-based navigation system received by a satellite receiver circuit, comprising calculating a corrected position and/or a corrected time using the received localized correction data relevant to the approximate position.
The method according to the fourth aspect essentially implements the functionality of the receiver-side device according to the first aspect and achieves similar advantages.
According to at least one embodiment, the method further comprises the following steps performed by a content server: collecting correction data for the service area served by the satellite-based navigation system for use by a plurality of receiver-side devices of the satellite-based navigation system; transforming the correction data into the plurality of separate data sets; and distributing the plurality of separate data sets over the communication network. The additional method steps according to this embodiment of the fourth aspect essentially implement the functionality of the content server according to the second aspect and achieves similar advantages.
The steps of the method according to the fourth aspect may be implemented using instructions of a computer program product, which may be performed by one or more processors of a receiver-side device or a content server, respectively. Such instructions may be stored on a non-volatile data storage medium. Such a computer program product can be executed by many different devices, and enables the above advantages.
The improved devices, methods and systems will be described in more detail with reference to individual embodiments shown in the attached drawings.
In the following description, the same reference numerals are used to describe individual components of different embodiments. Use of common reference symbols will support better understanding but is not intended to limit the scope of the disclosure. In particular, while aspects described with respect to a specific embodiment may also be implemented in another embodiment of the disclosure, instances of the described components do not need to be identical in all respects in different embodiments. In general, the following, detailed description of individual embodiments is not intended to be limiting. Instead, all variations and combinations of features as detailed below are intended to fall under the scope of the present disclosure as defined by the attached set of claims.
The satellite receiver circuit 110 is connected to at least one antenna (not shown in
The communication interface 120 serves to request and receive correction data from a content server 300. Communication between the communication interface 120 of the device 100 and the content server 300 is performed through the use of a bidirectional communication network 400. In the sense of the present application, any means for submitting a request from the communication interface 120 to the content server 300 and receiving a data set from the content server 300 at the communication interface 120 is considered to represent a communication network. The communication network 400 may therefore be perceived as a combination of an uplink channel 410 used for sending an individual request or a subscription request 412 and a downlink channel 420 used for receiving a at least one message 422 providing data of at least one data set. Attention is drawn to the fact that the uplink channel 410 and the downlink channel 420 are not required to use the same physical resources or communication technology. Accordingly, the communication network 400 may be a wide area network, such as the Internet, a circuit or packet switched communication network, such as a 3G, 4G, 5G or a later cellular phone network as defined by the 3GPP, or a non-terrestrial network, such as the one provided by High Altitude Platform Systems (HAPS) or LEO satellites, or a combination of a low bandwidth uplink channel in combination with a higher bandwidth downlink channel, e.g. a terrestrial or satellite high bandwidth downlink channel.
The processing module 130 is set up to implement a sequence of processing steps on the received data. This may be achieved by specific hardware components or a general processing architecture configured to execute computer readable instructions of a computer program.
In particular, in a first step 132 an approximate position 134 of the receiver-side device 100 is determined. An approximate position may be determined by the receiver-side device 100 in absence of any valid correction data, i.e. independent from any assistance by the content server 300. Such an approximate position 134 may have a precision of a few hundred or a few ten meters. The approximate position 134 may be determined by different means, as detailed below.
For example, the satellite receiver circuit 110 may acquire a number of RF signals carrying uncorrected time and satellite position data from the GNSS satellites 200 and determine an approximate position in absence of any valid correction data. For example, the receiver-side device may calculate the approximate position 134 after having received at least four GNSS messages from four different navigation satellites. An autonomously determined code phase based position may have a precision of less than 10 meters.
Alternatively, the communication interface 120 may provide an approximate position based on data provided via the communication network 400. For example, if the communication network 400 is a mobile phone network, an approximate position 134 may be determined based on known positioning methods provided by the communication network 400, for example, by corresponding services of LTE or 5G networks.
Alternatively, the processing module 130 may also determine the approximate position 134 based on other information, such as a last known position of the receiver-side device 100 or information provided by a user of the receiver-side device 100. For example, for time-transfer applications, the position of the receiver-side device 100 may be known a priori.
As shown in
In the described example, the approximate position 134 falls into the second subarea 138-2. Accordingly, to improve positioning within the second subarea 138-2, in a step 142, the receiver-side device 100 requests the second data set 140-2, which comprises geographically related content specific for the second subarea 138-2. For this purpose, the communication interface 120 issues a request 412 identifying the data set 140-2 over the uplink channel 410, which is received by the content server 300. In response, the content server 300 provides at least one message 422 for providing the actual data of the second data set 140-2 via the downlink channel 420, which is received by the communication interface 120 of the receiver-side device 100. Depending on the specific implementation, an individual request 412 can be sent each time a data set 140 is to be transferred by the content server 300 using a request-response or pull mechanism. Alternatively, a single subscription request 412 may be sent to activate a subscribe-publish or push mechanism. In the latter case, multiple messages 422 are received from the content server 300, for example until the receiver-side device 100 unsubscribes from the second data set 140-2 or the downlink channel 420 becomes unavailable.
In the described example, the second data set 140-2 comprises localized correction data of the GNSS for the second subarea 138-2. For example, the provided localized correction data may comprise timing corrections of GNSS satellites 200 visible from within the subarea 138-2, in which the receiver-side device 100 is located. Furthermore, the correction data may comprise ionospheric and tropospheric correction data for respective parts of the atmosphere relevant for the subarea 138-2, e.g. parts of the atmosphere in the direct line of sight between the subarea 138-2 and the visible GNSS satellites 200.
In a further step 144, the processing module 130 calculates a corrected position 146 of the receiver-side device 100. Calculation of the corrected position 146 includes the determination of satellite signals by the satellite receiver circuit 110 and further processing based on the localized correction data received as part of the second data set 140-2. As a result, a corrected position 146 of the receiver-side device 100 is determined by the processing module 130 for further use. In other words, the corrected position 146 differs from the approximate position 134 in that it is based on further information, i.e. at least some of the received localized correction data, and therefore will typically have a higher precision.
Alternative or in addition, for example in a time-transfer application, a corrected time may be computed based on original time information contained in the received GNSS satellite messages and the localized correction data.
Attention is drawn to the fact that, while the description frequently refers to satellite-based navigation systems in accordance with common use of said term, the primary function of the receiver-side device 100 is to obtain an improved position 146 and/or time of the receiver-side device 100. Whether or not the obtained position 146 and/or time is used for navigation purposes or different purposes is not limited by the present disclosure.
In the embodiment of
Attention is drawn to the fact that the directory 152 does not need to be transferred for each request 412 for a specific data set 140. In particular, the directory 152 may only be received once from the content server 300 and may be stored in the receiver-side device 100 thereafter, e.g. within the mapping relationship 136. Alternatively, the receiver-side device 100 may subscribe to a special topic or data stream for receiving updates on the directory 152 every time a directory entry 154 is changed, removed from or added to the directory 152.
The implementation described with respect to the embodiment of
In the example shown in
In the drawings and the following description, MGRS is used as it is human readable. However, it will be clear to the skilled person that other map projection and/or grid reference systems may be used. Similarly, while equi-sized, square subareas 138 are used in the presented examples, differently shaped and sized subareas, e.g. rectangles or triangles of different sizes, or irregularly shaped areas, such as the boundary of countries or regions, may be used to define different subareas 138.
In this example, the receiver-side device 100 sends a request 412 to obtain a data set 140-2 corresponding to a square subarea 138-2 surrounding the approximate position 134, for example, by requesting correction data for the 100 km MGRS grid square ‘31UCT’. The content server 300 will then provide, in one or more messages 422, the requested correction data set 140-2 corresponding to the MGRS grid square ‘31UCT’.
The receiver-side device 100 may implicitly specify the required precision level of the returned data set 140 by providing a request 412 containing an identifier 148-2 of the same precision. For example, in response to providing only grid square 4QFJ with a precision level of 100 km for the approximate position 134, the content server 300 will provide one or more messages 422 with correction data for the corresponding MGRS grid square 4QFJ of 100×100 km. Correspondingly, a request 412 for position 4QFJ16 has a precision level of 10 km, and a request 412 for position 4QFJ1267 has a precision level of 1 km. The content server 300 will provide data sets 140 for correspondingly smaller subareas 138.
The local directory 160 comprises directory entries mapping each possible identifier 148, for example the MGRS identifier 33UCT00, contained in a list of available topics or directly included in a previously received data set 140 to a corresponding subarea 138 covered by said identifier 148. In this way, the receiver-side device 100 can successfully infer the mapping relationship 136 for direct lookup of approximate positions 134. Again, no direct support by the content server 300 is required.
Each of the above implementations has its own advantages. In particular, the provision of an explicit directory 152 by the content server 300 in
In practice, these different embodiments may be combined in a single content distribution system and/or receiver-side device 100. Transferring and storage of an explicit directory 152 may be more computing efficient, whereas an implicit inferred mapping based may be more memory efficient. Thus, whether or not a directory 152 is explicitly requested from the content server 300 or internally generated may be determined based on the available bandwidth, the available storage capacity of the receiver-side device 100 and/or the availability of such a service on the side of the content server 300.
The content server 300 further comprises a processing subsystem 320 which comprises at least one processor 322 for transformation of the correction data 312 into individual data sets 140-1 to 140-N. The transformation by the processor 322 is based on predefined subareas 138-1 to 138-N of the service area corresponding to the respective data sets 140-1 to 140-N. For example, the processor 322 may select and process satellite-related correction data for those satellites that are currently visible in a given subarea 138. Correspondingly, the processor 322 may also select and process parameters modelling the atmosphere in a direct line of sight between receiver-side devices 100 placed in a given subarea 138 and the corresponding set of satellites 200. As a consequence, each one of the data sets 140-1 to 140-N is much smaller than the entire collection of service area correction data 312 provided in the database 310. Attention is drawn to the fact that several of the data sets 140 may comprise the same data, e.g. clock correction data for a satellite visible from several subareas 138. That is to say, the total size of all data sets 140-1 to 140-N is likely to exceed the size of the service area correction data 312. Stated differently, the processing subsystem may simply subdivide the available service area correction data 312 into equally sized subsets, or it may transform it to completely new data sets 140 specific for use in a given subarea 138.
The data sets 140-1 to 140-N generated by the processor 322 are made available via a publication subsystem 330 of the content server 300. As shown in
Depending on the capabilities and/or the needs of receiver-side device 100, the receiver-side device 100 may request only a relatively small data set, for example a fourth data set 140-4 corresponding to region B of country A in continent A, or may request a relatively large data set, for example data set 140-8 covering the entire continent B. Correction data sets 140 of the same level of a location hierarchy may also be referred to a series, e.g. the continental series of data sets 140-1 and 140-8, the country series of data sets 140-2 and 140-5, and the region series of data sets 140-3, 140-4, 140-6 and 140-7. In this way, the hierarchy shown in the embodiment of
Additional metadata (not shown in
As shown in
For example, the receiver-side device 100 may choose to receive only correction data for a specific satellite, e.g. the data set 140-1b1 for correction data corresponding to satellite A. In this way, the receiver-side device 100 can tailor the received correction data specifically to its current requirements, for example based on the satellites visible to the receiver-side device 100. In the example query 412 shown in the lower part of
In the hierarchy shown in
The individual topics 324 are made available for subscription by the publication subsystem 330. Accordingly, the receiver-side device 100 may receive data sets 140 of different topics 324 via different data streams. As shown in the example, the device 100 may subscribe to more than one topic 324. In particular, it subscribes to all satellite correction data set 140-2s as well as ionospheric correction data set 140-2i for the second subarea 138-2 corresponding to MGRS grid square identifier 32TMT65.
Attention is drawn to the fact that due to the subscription mechanism of the content server 300, updates to the respective data sets 140 may occur with different frequencies. For example, ionospheric correction data may be published with a first update interval, such as every 30 seconds, whereas the satellite clock correction data may be published with a second update interval, such as every 5 seconds.
Attention is drawn to the fact that the correction data provided by multiple sources is aggregated by the content server and then transformed into geographically related content specific for a given subarea. That is to say, there is no one-to-one mapping between a single reference receiver and one of the generated data sets 140-1 to 140-N.
In the depicted embodiment, the corresponding subareas 138-1 to 138-4 represent a true partitioning, i.e. a non-overlapping subdivision of the entire service area 326. However, in other embodiments, the pre-defined subareas 138 and corresponding data set 140 may be partly or entirely overlapping. A partial overlapping of subareas 138 is useful to avoid a frequent switching between data sets 140, for example when a receiver-side device 100 is located close to a boundary between two neighboring subareas 138-1 and 138-2. A complete overlapping may arise when data sets 140 corresponding to different levels of a hierarchical structure are generated, i.e. a first series of data sets 140 covering entire countries and a second series of data sets 140 covering individual province of a country. In this case, a first subarea 138-1 of the first series of data sets 140 covers the area of a first country, such as Austria, and will be overlapping with an entire second subarea 138-2 of the second series of data sets 140 covering a province of said country, such as Tyrol.
The individual data sets 140 and the directory 152 are then made available by the publication subsystem 330 at different access points 332-1 to 332-4 and 332-D, e.g. through different URLs served by an http server or as different topics of a content management system.
In the depicted example, different data sets 140-2a1 to 140-2bN are available for the same subarea 138-2. The receiver-side device 100 may decide which data set 140-2a1 to 140-2bN it is going to receive by subscribing to a corresponding topic 324, e.g. based on its technical capabilities or a pricing scheme for the different service levels. In the example, the receiver-side device 100 subscribes to a specific topic 324 related to a given subarea 138-2 and service level of a correction data set 140-2bN through the MQTT interface 336, using a MQTT Subscribe message. In response, the publication subsystem 330 provides updates to the receiver-side device 100 using a MQTT Publish message each time a new data set 140-2bN with localized correction data becomes available and/or with an agreed update frequency based, for example, on the service level or subscription request of the receiver-side device 100.
Alternatively, the publication subsystem 330 may decide which of the data set 140-2a1 to 140-2bN is appropriate for the receiver-side device 100, e.g. based on subscription data of an associated customer. In this case, the receiver-side device 100 may subscribe to a generic topic 324 related to the subarea 138-2. The publication subsystem 330 then resolves, based on further information, such as a stored, customer or device-specific service level, which one and/or how often the service-level specific data set 140-2a1 to 140-2bN is delivered to the receiver-side device 100. For example, for a first, relatively low service level or device capability, a new data set 140 may be delivered once every minute or once every thirty seconds. For a second, relatively high service level or device capability, a new data set 140 may be delivered once every 5 seconds or once every second.
In the embodiment described above with regards to
In the presented example, the content distribution network 700 comprises a plurality of CDN nodes 710-1 to 710-N. Each CDN node 710 may be located at a different physical location or logical part of the communication network 400 (not shown in
Accordingly, the communication interface 120 of different receiver-side devices 100 may contact a CDN node 710, which is physically or topologically arranged relatively close to the receiver-side device 100. This helps to improve performance, e.g. reduce latency and/or increase bandwidth, in the data exchange between the receiver-side device 100 and the respective CDN node 710. At the same time, the CDN nodes 710 can act as a cache for the content server 300 to avoid potential performance bottlenecks.
Moreover, this adds an additional layer of data security and anonymity between the receiver-side device 100 and the content server 300. As depicted in
The precomputed data set 140-2 may then be distributed, for example within a local cell of the communication network 400, to all interested receiver side-devices 100-1, 100-2 and 100-3 together, which greatly improves scalability of the data delivery.
In comparison, the required bandwidth for transmitting a smaller data set with localized correction data covering only a relatively small subarea 138 of a service area by multicast or even unicast is much lower. For example, when using the content distribution network 700 shown in
In contrast, if each receiver-side device 100 was to provide its approximate position 134 directly to a content server 300, the content server 300 would need to provide and transmit, in response, a data set 140 tailored to the individual receiver-side device 100 using a unicast-like approach. This would disclose the approximate position 134 of the receiver-side device 100 to the content server 300. Moreover, the subsequent generation and delivery of the data set 140 tailored to it would represent a performance issue when thousands or millions of different receiver-side devices 100 were to be served by a content provider 300, and would prevent the use of advanced distribution methods in a communication network 400, such as multicasting and/or content delivery networks.
The described architecture also adds further flexibility, as the receiver-side device 100 can choose, based on its current position, operational state, computational and storage requirements, quality requirements as well as user preferences, one or more data sets 140 made available by the publication subsystem 330. This is shown in
As an example, the receiver-side device 100 may initially request all available correction data corresponding to its approximate position 134 during bootstrapping to facilitate fast determination of a more accurate position 146 and/or a fast convergence time for positioning. However, once the receiver-side device 100 has obtained an accurate position 146, it may, based on a continuous monitoring of the received satellite signals, determine and maintain corresponding correction data internally, i.e. without provision of further updates of correction data from the content server 300. Thus, after an initial start-up phase, the receiver-side device 100 may unsubscribe from certain data sets 140 in order to reduce the transmission bandwidths and/or associated cost for data transfer. In this way, the described system and methods essentially enable a pay-as-you-go approach to geographically related content, including correction data for a satellite-based navigation system.
As another example, the receiver-side device 100 may choose satellite correction data as aggregated data per satellite or per subarea 140 or per set of satellites depending on its own position and expected quality of the positioning. For example, if only a relatively small subsets of GNSS satellites 200 are used by the receiver-side device 100, it may not be necessary to retrieve satellite correction data for all GNSS satellites 200 visible from within the present subarea.
In this way, a given receiver-side device 100 only receives data likely to be useful for it, rather than a complete set of service area correction data 312, or correction data for a very large area, such as an entire continent. Accordingly, the disclosed content distribution method and system 600 can be described as content efficient, as it is the receiver-side device 100 rather than the content server 300 who decides on the content to be transmitted, such that the transmission of unnecessary content is avoided.
While the invention has been described using various embodiments shown in the attached set of figures, the skilled person will understand that the various aspects can be combined in many ways without departing from the scope of the disclosure as set out in the attached set of claims.