METHOD AND DEVICE FOR SELECTING A LOW-PERFORMANCE WIDE-RANGE NETWORK
Patent Information
- Application Number
- DE602021026032
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-06-26
- Filing Date
- 2021-06-24
- Publication Date
- 2025-02-12
- Estimated Expiration
- 2041-06-24
AI Technical Summary
Low-consumption extended networks, such as LoRaWAN, lack native roaming features, leading to fragmentation and difficulties in interconnection between private and public networks, with few operators interconnected through roaming agreements.
A device with a table that can memorize multiple profiles for different low-consumption networks, allowing it to autonomously select and connect to the most suitable network based on priority, authentication keys, and encryption keys, without requiring inter-operator agreements, enabling seamless switching between networks.
Ensures continuous service by dynamically selecting the best available network, reducing network fragmentation and eliminating the need for roaming agreements between operators, facilitating connectivity in various environments and countries.
Description
Field of invention
[0001] The invention relates to the general field of telecommunications, and more particularly to that of the selection of a low-consumption wide area network by a device. Prior art
[0002] For example, low-power wide-area networks are networks operating according to the LoRaWan protocol (for “Long Range Wide-area network”).
[0003] WO 2018 / 183789 A1 describes an LPWAN network that can use multiple network servers, and distribute IoT devices (e.g., LoRa end nodes) across network servers in a way that balances loads across those network servers.
[0004] US 2015 / 119103 A1 relates to methods, systems and devices for prioritizing communication technologies to allocate resources in a mobile device that uses a dual-subscription configuration that may be associated with simultaneously active communications.
[0005] The paper TORROGLOSA-GARCIA ELENA et al: “Enabling Roaming Across Heterogeneous IoT Wireless Networks: LoRaWAN MEETS 5G”, May 28, 2020 proposes a new roaming mechanism for the Low Range Wide Area Network (LoRaWAN) protocol that leverages the trusted 5G network to perform authentication and key management of IoT devices.
[0006] There figure 1 illustrates four connected objects OC 1 to OC 4 , two gateways GW 1 , GW 2 , a network server NS and an application server AS in a network operating according to the LoRaWan protocol (or LoRaWan network) in accordance with the state of the art.
[0007] The connected objects OC 1 to OC 4 are, for example, low-power wireless devices. They communicate with the gateways GW 1, GW 2 in the free ISM frequency band using LoRa modulation (registered trademark) developed by the company Semtech Corporation (registered trademark).
[0008] The GW 1 and GW 2 gateways are not specifically addressed by the connected objects OC 1 to OC 4: all the gateways present in the coverage area receive the messages and process them. They therefore act as a gateway between LoRa modulation and IP communication.
[0009] The information transmitted to the NS network server by the OC i connected objects is authenticated using a 128-bit AES key (in English "Advanced Encryption Standard") called Network Session Key: NwkSKey OCi . This NwkSKey OCi key is used for authentication between an OC i connected object and an NS network server. More precisely, and in a known manner, in order to carry out this authentication between the OC i connected object and the NS network server, a MIC field (for "Message Integrity Control") is added to the frame. It is calculated based on the transmitted data and the NwkSKey OCi key.
[0010] Upon receipt, the same calculation is performed by the NS network server. If the NwkSKey OCi keys are identical in the OC i connected object and in the NS network server, then the two calculated MIC values must match.
[0011] In addition to authentication, the NS network server handles other security functions. It also eliminates duplicate packets when multiple gateways receive the same message from a connected object.
[0012] The AS application server analyzes the data received from the connected objects OC i . For example, if the connected objects are temperature sensors, the AS application server can analyze and process the temperature measurements received from these connected objects via the LoRaWAN network. The AS application server stores the OCi ID identifiers of the connected objects under its management. The messages transmitted to the AS application server by the connected objects OC i are encrypted using a 128-bit AES key called Application Session Key: AppSKey OCi .
[0013] There figure 2represents a connected object OC i conforming to the current state of the art. In particular, it stores a profile, or more generally a data structure, PROF i comprising its unique identifier ID OCi , its authentication key NwkSKey OCi with the network server NS and its encryption key AppSKey OCi . It also includes a business application AM which uses this information to send data to the application server AS via the network corresponding to the authentication key NwkSKey OCi .
[0014] LoRaWAN networks are now widespread and hundreds of millions of objects around the world are connected via different LoRaWAN networks, more than a hundred of which are managed by operators and many more by private managers, especially in countries where the coverage offered by operators is insufficient.
[0015] Today, very few LoRaWAN operators are interconnected by roaming agreements and many private managers wish to retain proprietary solutions.
[0016] The initiatives of the LoRa Alliance to facilitate interconnection between LoRaWAN networks, in particular through the principles of passive and active roaming defined by the v.1.1 specifications, have not to date prevented a double fragmentation of LoRaWAN networks, between private networks and networks operated by public operators on the one hand, and between the public networks of operators who have not concluded a roaming agreement on the other.
[0017] The invention aims to provide a solution to this problem. It applies in particular to low-power wide area networks, known in English as LPWA (Low Power Wide Area) networks, which do not have native roaming features. Thus, it applies in particular to LoRaWAN networks but more generally to any low-power wide area network. Statement of the invention
[0018] More specifically, the invention relates to a method for selecting a low-power wide area network from a plurality of low-power wide area networks, this method being implemented by a terminal or connected object type device registered with these networks and comprising a table capable of storing at least two profiles, each profile corresponding to one of these networks. This method comprises: a step of selecting a profile from the table; and a step of connecting to the network corresponding to this profile using said profile.
[0019] Correlatively, the invention relates to a terminal or connected object type device comprising: a table capable of storing at least two profiles, each of these profiles corresponding to a low-power wide area network among a plurality of low-power wide area networks with which the device is registered. This device comprises: a module for selecting a profile from the table; and a module configured to connect the device to the network corresponding to this profile using said profile.
[0020] Pre-declaring the device to a low-power wide area network essentially consists of communicating the necessary elements to this network, so that the device can connect to the network using its profile.
[0021] In a particular embodiment, each of said profiles comprises at least one piece of data allowing the device to connect to the network corresponding to this profile and the device connects to this network using this data.
[0022] In a particular embodiment, the invention is implemented in LoraWAN networks. The invention can more generally be implemented in any low-power wide area network (LPWAN). The invention finds a particular but non-limiting application in the context of the Internet of Things (IoT). In a particular embodiment, the device is integrated into a connected object, for example a measuring device, a watch, etc.
[0023] Thus, the selection process can be implemented by a connected object. According to another example, the process can be implemented in or by a terminal type device (“end-device” in English terminology) within the meaning of the LoRaWan protocol.
[0024] Remarkably, the selection method according to the invention can be implemented exclusively by the devices connecting to the low-power wide area network, in other words by the connected objects, without any impact on the other equipment in the network, in particular, in the case of a LoRaWAN network, on the network server within the meaning of the figure 1 .
[0025] In this sense, the selection method according to the invention can be described as autonomous.
[0026] The invention thus provides a mechanism allowing a connected object to select a network, without impacting the network. It thus offers a solution to the problem of interconnecting networks, whether these are managed by public operators or by private managers. It does not require a roaming agreement between network operators.
[0027] The invention can be used in a static model in which the device is not necessarily likely to move, but likely to be connected to different low-power wide area networks. For example, the invention finds an application in which the device can be used in different countries, the profile table comprising a profile for each of these countries.
[0028] In a particular embodiment, the device selects profiles from the table randomly or cyclically. Using the example where the device can be used in different countries, the device can select profiles from the table one after the other until the profile corresponding to the country of use is selected.
[0029] In a particular embodiment, the selection method comprises a step for detecting a possible loss of a capacity of the device to communicate with said network and, if applicable: a step of selecting a profile from the table; and a step of connecting to the network corresponding to this profile, using this profile.
[0030] For example, the device is considered to lose the ability to communicate with the said network if it leaves the area covered by the network or if it ceases to be authenticated or authorized to communicate with the network.
[0031] In this sense, the selection method according to the invention can be described as “dynamic” since it advantageously allows the device to connect to a new network in response to the detection of a loss of capacity to communicate with the network to which the device is connected at a given time.
[0032] The invention thus finds an application in mobility and makes it possible to guarantee continuity of service when the device leaves the coverage of a first network and enters the coverage of a second network. The device according to the invention can therefore be mobile, for example carried by a mobile connected object or by a person.
[0033] In a particular embodiment, the table is a table of prioritized profiles, the profiles being associated with respective priorities stored in the table and the selection of a profile being carried out according to its priority.
[0034] The invention thus makes it possible to favor the first network selected according to different criteria or to dynamically switch a connection established on a first network to a second network more relevant in the sense of these criteria. The criteria for selecting a network can be of any nature.
[0035] In a particular embodiment, the selection method comprises a step of modifying at least one of the priorities.
[0036] The system can thus favor or, on the contrary, disadvantage certain networks dynamically, for example depending on the reliability of these networks.
[0037] In a particular embodiment, said table can be updated to add a profile to the table and / or delete a profile from the table and / or modify the priority of at least one of the profiles in the table.
[0038] Indeed, if the profile table of a device must be able to contain several profiles, this table may contain no profile or only one profile. The first profile can for example be loaded by a terminal incorporating the device by any means, for example via a USB cable, by reading an RFID tag ... The other profiles can be downloaded into the table by the same means or by an OTA mechanism (in English Over The Air).
[0039] In a particular embodiment, the selection method comprises a step for detecting a possible modification of the table and, if applicable: a step of selecting a profile from said table; and a step of connecting to the network corresponding to said profile using this profile.
[0040] This embodiment in particular allows the device to connect or switch to a new network as soon as a profile associated with this network is downloaded into the profile table.
[0041] In a particular embodiment, the data included in the profile and allowing the device to connect to a low-power wide area network is an authentication key allowing the device to authenticate itself with a server on this network.
[0042] In a particular embodiment, the profiles further comprise an encryption key associated with an application server.
[0043] The selection method according to the invention is a purely software solution. It can be implemented by a computer program. Consequently, the invention also relates to a computer program on a recording medium, this program being capable of being implemented in a device or more generally in a computer. This program comprises instructions allowing the implementation of a method as described above.
[0044] This program may use any programming language, and may be in the form of source code, object code, or code intermediate between source code and object code, such as in a partially compiled form, or in any other desirable form.
[0045] The invention also relates to an information medium or a recording medium readable by a computer, and comprising instructions of a computer program as mentioned above.
[0046] The information or recording medium may be any entity or device capable of storing programs. For example, the media may include a storage medium, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording medium, for example a floppy disk or a hard disk, or a flash memory.
[0047] On the other hand, the information or recording medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio link, by wireless optical link or by other means.
[0048] The program according to the invention can in particular be downloaded from an Internet-type network.
[0049] Alternatively, the information or recording medium may be an integrated circuit in which a program is incorporated, the circuit being adapted to carry out or to be used in carrying out one of the methods as described above. Brief description of the drawings
[0050] Other characteristics and advantages of the present invention will emerge from the description given below, with reference to the appended drawings which illustrate an exemplary embodiment thereof without any limiting character. In the figures: [ Fig. 1 ] there figure 1 already described represents a LoRaWAN network of the current state of the art; [ Fig. 2 ] there figure 2 already described represents a connected object conforming to the current state of the art; [ Fig. 3 ] there figure 3 represents an example of an environment in which the invention can be implemented; [ Fig. 4 ] there figure 4represents the hardware architecture of a device conforming to a particular embodiment; [ Fig. 5 ] there Figure 5 represents an example of a profile that may be used in a device according to a particular embodiment; [ Fig. 6 ] there figure 6 represents in flowchart form a selection method in accordance with a particular embodiment; and [ Fig. 7 ] there figure 7 represents the functional architecture of a device conforming to a particular embodiment. Detailed description of particular embodiments
[0051] There figure 3represents an example of an environment in which the invention can be implemented. In this example, we consider n low-power wide area networks, for example of the LoRaWAN type N 1 to N n . Each network N j comprises one or more gateways GW and a network server NS j . An application server AS is connected to the networks N 1 to N n by a wide area network, for example the Internet network.
[0052] When the low-power wide area network is of the LoRaWan type, the selection method can be implemented by a terminal-type device (end-device in English terminology) within the meaning of the LoRaWan protocol, i.e. operating according to the LoRaWan protocol. In addition, the device connects to the Nj network by connecting to a network server NS within the meaning of the LoRaWan standard.
[0053] Those skilled in the art of wireless communication networks distinguish between connected and disconnected networks. Some low-power wide-area networks operate in disconnected mode.
[0054] Connected mode networks (or networks operating in connected mode) are networks in which there is a permanently established communication channel between the network and the terminal devices communicating on these networks. For example, GSM, Wi-Fi (registered trademark) and Bluetooth (registered trademark) networks are connected mode networks. As specified in the document https: / / fr.wikipedia.org / wiki / Mode_connecté, connected mode more specifically aims at "the establishment of a communication session between two parties who want to exchange data, this session comprising a beginning, an end and a validation (error checking), typically an identifier and a password. It corresponds to layer 5 called "session" of the OSI model, between the "presentation" and "transport" layers."
[0055] In contrast, in a disconnected mode network, there is no permanently established communication channel between the end devices and the network. There is also no peering mechanism between the end devices and the network.
[0056] There figure 4 represents the hardware architecture of a device 100 according to the invention. In the exemplary embodiment described here, this device 100 has the hardware architecture of a computer. It comprises in particular a processor 10, a RAM type random access memory 11, a ROM type read-only memory 12, a rewritable non-volatile Flash type memory 14 and communication means 13.
[0057] The read-only memory 12 constitutes a medium in accordance with a particular embodiment of the invention. This memory comprises a computer program PGSD in accordance with a particular embodiment of the invention, which when executed by the processor 10, implements a selection method in accordance with the invention and described later with reference to the figure 6 .
[0058] In the embodiment described here, the memory 14 of the device 100 comprises a table TP of prioritized profiles. In the example of the figure 4 , the TP table comprises three profiles PROF 100 , N1 , PROF 100 , N2 and PROF 100 , Nj with respective priorities p 1 , p 2 , and pj allowing the device 100 to authenticate itself respectively with the networks N1, N2 and Nj.
[0059] For example, the Figure 5represents the PROF 100 profile, Nj: it includes the unique identifier ID 100 of the device 100, its authentication key NwkSKey 100, Nj with the NS server j of the Nj network and its encryption key AppSKey 100 associated with the application server AS.
[0060] There figure 6 represents in the form of a flowchart the main steps of a selection method according to a particular embodiment. In the embodiment described here, this method is implemented by the device 100 of the figure 4 .
[0061] In this example, it is assumed that the device 100 has previously been declared to the network servers NS 1 , NS 2 and ND j , the device 100 being likely to be at a given time under the coverage of at least one gateway of the networks N 1 , N 2 or N j .
[0062] The declaration to the network server NS j can be made via a portal or via an API (in English “Application Programming Interface”) of a platform of the operator or manager of the network N j .
[0063] During a step E10, the profiles PROF 100 , N1 , PROF 100 , N2 and PROF 100, Nj of the device 100 for the respective networks N 1 , N 2 or N j are recorded in the prioritized profile table TP. Each of the profiles PROF 100 , Nj is initially associated with a priority p.
[0064] In this example, we assume that initially, a profile PROF 100 , Nj is associated with the priority pj , the priority p 1 being the highest priority.
[0065] The profiles in the TP table and the priority of these profiles are likely to vary over time, particularly dynamically: new profiles may be added to the TP profile table, profiles may be deleted from the TP profile table and the priorities of one or more profiles present in the TP profile table may be modified.
[0066] For example, if the device 100 detects that a connectivity criterion of a network N k decreases, it modifies the priority pk of this network so that it becomes less of a priority. This connectivity quality criterion, or overall connectivity quality criterion, may for example take into account the frequency of use of the network, unreachability rate, error rate, etc.
[0067] For example, the TP profile table can be updated through the network using an OTA (Over The Air) mechanism by a frame received from the NS network server. It can also be updated from a terminal (for example, a smartphone) if the device 100 can establish communication (USB, BLE, NFC, etc.) with this terminal. It can also be updated by reading an RFID tag if the device 100 is configured to be able to read such tags.
[0068] In the embodiment described here, the method then executes an infinite loop comprising steps E20 to E80 described below.
[0069] During a step E20, the device 100 obtains the list of profiles recorded in the TP profile table.
[0070] In one embodiment, during a step E30, the device 100 selects the highest priority profile and then (step E40) tries to connect to the network corresponding to this profile. Therefore, in the particular example described here, the device 100 tries to connect to the network N 1 , then if it fails to the network N 2 , then if it fails to the network N j . To connect to the network N 1 for example, the device 100 uses the authentication key NwkSKey 100, N1 with the server NS 1 , included in the profile PROF 100 , N1 . When the low-power wide area network is a LoRaWAN type network, the connection attempt can be made by sending a command of the JOIN_ACCEPT type.
[0071] In another embodiment, the device selects the profile randomly.
[0072] In the embodiment described here, the result of the test E40 is positive if the device 100 succeeds in authenticating itself to a network and negative otherwise. In this example, it is assumed that the device 100 actually succeeds in authenticating itself to the network server NS 1 .
[0073] During a step E50, the device 100 executes its business application AM. This business application embedded in the device 100 corresponds to the primary function of the device 100, for example acquiring a measurement (temperature, vibration frequency) with a sensor of the device 100 and sending this measurement to the application server AS. The business application uses for this purpose the authentication key NwkSKey 100, N1 with the server NS 1 and the encryption key AppSKey 100 associated with the application server AS. These keys are therefore variables of the business application AM.
[0074] During a step E60, the device 100 checks whether it is still able to communicate with said network, for example whether it is still in an area covered by the network and authenticated with the network (in this case with network N 1 in this example). When the low-power wide area network is a LoRaWAN type network, this check may consist of sending a LINK_CHECK_REQUEST status request.
[0075] It may also consist of checking whether confirmation messages have been received in response to messages sent by the device 100 to the NS server or to the application server AS.
[0076] If the device considers that it is no longer able to communicate with the network (in this case N1), the result of the test E60 is positive and the device 100 executes step E30 again to select the profile with the highest priority (in this case the profile PROF 100 , N2 ) and try (step E40) to connect to the network N 2 corresponding to this profile.
[0077] If during the E60 test the device 100 determines that the current connection is still active, the result of the E60 test is negative and the device 100 executes a step E70 to determine whether its TP profile table has been updated (adding a new profile, deleting a profile, modifying a priority).
[0078] If this is the case, the result of test E70 is positive and the method executes step E20 again to obtain its profile table, in order to select the profile with the highest priority (step E30) to attempt to connect (step E40) to the network associated with this profile.
[0079] If the TP profile table has not been modified, the result of test E70 is negative. In the embodiment described here, the device 100 determines during a step E80 whether the priority of the profiles in the TP table must be modified. If this is the case, the device 100 modifies the priorities during this same step.
[0080] The priorities may, for example, be automatically modified by the device 100 to favor the most reliable or most frequently connected networks, for example according to a weighting mechanism.
[0081] For example, in one embodiment, the device 100 stores a history of its previous connections with the different networks and modifies the priorities of the profiles associated with these networks based on this history.
[0082] This history can, for example, record the connectivity criteria mentioned above (frequency of network use, unreachability rate, error rate, etc.).
[0083] For example, if the device 100 determines that a network N k is statistically more available than the others, or that a connectivity criterion increases for this network, the device 100 can choose to raise the priority of the profile associated with this network.
[0084] The priority associated with a network can also be modified by the device 100 based on parameters obtained or measured by the device, for example representative of its location, the current time, its battery level, etc.
[0085] Then the device 100 executes the business application again (by returning to step E50), for example to acquire a new measurement and send this measurement to the application server AS.
[0086] There figure 7 represents the functional architecture of a device 100 according to the invention. In the exemplary embodiment described here, the device 100 comprises: a CAP sensor; a TP table of profiles as mentioned above; an MSP module configured to select a profile from said TP table; and an MCR module configured to connect the device 100 to a network N j using the data included in a profile of the TP table associated with this network; a business application AM configured to send measurements acquired by the CAP sensor to an application server AS, these measurements being encrypted by an encryption key AppSKey 100 included in the profile; an MDP module configured to detect a loss of connection of the device 100; and an MDM module configured to detect a modification of the profile table.
[0087] The MSP, MCR, MDP and MDM modules can be implemented according to the hardware architecture described with reference to the figure 4 .
Claims
1. Selection method, for selecting a low-power wide-area network (Nj) from a plurality of low-power wide-area networks (N1, Nn), said method being implemented by an end device or connected object (100) declared to the networks (N1, Nn) and comprising a table (TP) capable of storing at least two profiles (PROF100, N1, PROF100, Nj), each of said profiles (PROF100, Nj) corresponding to one (Nj) of said networks (N1, Nn), said method comprising: - a step (E30) of selecting a profile (PROF100, Nj) from said table (TP); and - a step (E40) of connecting to the network (Nj) corresponding to said profile (PROF100, Nj) using said profile (PROF100, Nj).
2. Selection method according to Claim 1, wherein said table (TP) is a table of prioritized profiles, said profiles (PROF100, N1, PROF100, Nj) being associated with respective priorities (pj) stored in said table (TP), a profile being selected (E30) depending on its priority.
3. Selection method according to Claim 1 or Claim 2, wherein said table (TP) is able to be updated dynamically, to add a profile to said table and / or remove a profile from said table and / or modify the priority of at least one of the profiles of said table.
4. Selection method according to any of Claims 1 to 3, comprising a step (E60) of detecting a potential loss of an ability of the device (100) to communicate with said network (Nj) and, where appropriate: - a step (E30) of selecting a profile (PROF100, Nj) from said table (TP); and - a step (E40) of connecting to the network (Nj) corresponding to said profile (PROF100, Nj) using said profile (PROF100, Nj).
5. Selection method according to any of Claims 1 to 4, comprising a step (E70) of detecting a potential modification of said table (TP) and, where appropriate: - a step (E30) of selecting a profile (PROF100, Nj) from said table (TP); and - a step (E40) of connecting to the network (Nj) corresponding to said profile (PROF100, Nj) using said profile (PROF100, Nj).
6. Selection method according to any of Claims 2 to 5, comprising a step (E100) of modifying at least one of said priorities (pj).
7. Selection method according to any of Claims 1 to 6, wherein each of said profiles (PROF100, Nj) comprises a datum (NwkSKey100, Nj) allowing the device (100) to connect to the network corresponding to said profile.
8. Selection method according to Claim 7, wherein said datum is an authentication key allowing said device (100) to authenticate itself to a server (NSj) of one (Nj) of said low-power wide-area networks (N1, Nn).
9. Selection method according to any of Claims 1 to 7, wherein said profiles (PROF100, Nj) contain an encryption key (AppSKey100) associated with an application server (AS).
10. Selection method according to any of Claims 1 to 9, wherein said selected low-power wide-area network (N1, Nn) is a network operating according to the LoRaWAN protocol.
11. End device or connected object (100) comprising: - a table (TP) capable of storing at least two profiles (PROF100, N1, PROF100, Nj), each of said profiles (PROF100, Nj) corresponding to one low-power wide-area network (Nj) among a plurality of low-power wide-area networks (N1, Nn) to which said device (100) has declared itself, said device comprising: - a module (MSP) for selecting a profile (PROF100, Nj) from said table (TP); and - a module (MCR) configured to connect said device (100) to the network (Nj) corresponding to said profile (PROF100, Nj) using said profile (PROF100, Nj).
12. Computer program (PGSD) comprising instructions configured to implement the steps of a selection method according to any of Claims 1 to 10 when they are executed by an end device or connected object (100).