The present disclosure relates to methods performed by a Lightweight Machine to Machine (LwM2M) server, LwM2M client node and LwM2M master client node. The present disclosure also relates to a LwM2M server, LwM2M client node and LwM2M master client node, and to a computer program and a computer program product configured, when run on a computer to carry out methods performed by a LwM2M server, LwM2M client node and LwM2M master client node.
The “Internet of Things” (IoT) refers to devices enabled for communication network connectivity, so that these devices may be remotely managed, and data collected or required by the devices may be exchanged between individual devices and between devices and application servers. Such devices, examples of which may include sensors and actuators, are often, although not necessarily, subject to severe limitations on processing power, storage capacity, energy supply, device complexity and/or network connectivity, imposed by their operating environment or situation, and may consequently be referred to as constrained devices. Constrained devices often connect to the core network via gateways using short range radio technologies. Information collected from the constrained devices may then be used to create value in cloud environments.
The constrained nature of IoT devices has prompted the design and implementation of new protocols and mechanisms. The Constrained Application Protocol (CoAP), as defined in RFC 7252, is one example of a protocol designed for IoT applications in constrained nodes and constrained networks. CoAP provides a request-response based RESTful communication architecture between constrained nodes or between constrained nodes and nodes on the Internet. CoAP can easily be integrated to the web and web services by translating CoAP messages to HTTP. Another example of a protocol suited to IoT applications is the Message Queueing Telemetry Transport (MQTT) protocol. MQTT is a lightweight, open source publish/subscribe messaging transport protocol designed for power constrained devices and low-bandwidth, high-latency networks.
The Open Mobile Alliance (OMA) Lightweight Device Management (DM) protocol, also known as the Lightweight Machine to Machine protocol (LwM2M), is a light and compact device management protocol that may be used for managing IoT devices and their resources. LwM2M is designed to run on top of CoAP, and LwM2M is therefore compatible with any constrained device which supports CoAP. In addition, work is ongoing to standardize an MQTT transport solution for LwM2M. LwM2M defines three components:
In order to maintain communication between the above discussed components, the following LwM2M interfaces are defined:
A constrained device is configured during bootstrap for a specific environment and/or domain before being deployed to use that domain's LwM2M Management Server. During bootstrapping, a LwM2M Bootstrap Server updates client security information with the assigned LwM2M Management Server address and credentials for the LwM2M Client. In this manner, the assigned LwM2M Management Server is given management rights on the client.
CoAP, over which LwM2M runs, is designed for constrained devices and networks. However, when only a subset of the capabilities provided for in CoAP is required, a CoAP implementation can be simplified even further to only a few hundreds of bytes and close to zero RAM use. It is likely that such implementations would have to rely on network level security, as the implementation would not include Datagram Transport Layer Security (DTLS). For very constrained devices or networks in which such simplified implementations of CoAP are envisaged, supporting the full range of LwM2M interactions as set out above is not a viable option. In light of this, a gateway model has been suggested for upcoming versions of LwM2M. This model would enable very simple devices to connect to a LwM2M management server via a LwM2M gateway.
Although addressing some of the issues involved in implementing LwM2M in very constrained devices, a LwM2M gateway solution introduces a permanent network element that needs to be provisioned, operated, and maintained. In particular, the gateway needs to be in the network (IP) path between the devices and the LwM2M server(s). In addition, this gateway-based approach does not help with constrained networks if the gateway also needs to reside in the constrained network, and so is subject to similar constraints to those placed on the devices.
It is an aim of the present disclosure to provide methods, apparatus and computer readable media which at least partially address one or more of the challenges discussed above.
According to a first aspect of the present disclosure, there is provided a method for operating a system comprising a LwM2M client node, a LwM2M master client node and a LwM2M management server. The method comprises the LwM2M master client node sending to the LwM2M management server a request to register the LwM2M client node, the LwM2M management server confirming registration of the LwM2M client node to the LwM2M master client node, and the LwM2M management server and LwM2M client node exchanging application messages.
Examples of the present disclosure thus allow for a solution in which a LwM2M master client node can perform registration or another operation on behalf of a client node without remaining in the network path between the client and a LwM2M server. Once registration is complete, application messages, such as data reporting or notifications, can be exchanged between the client node and the LwM2M server without involving the LwM2M master client node.
According to examples of the present disclosure, the LwM2M client node comprises a physical or virtual node on which a LwM2M client is running. The LwM2M client node may be a constrained node and may be operable to connect to a constrained network. For the purposes of the present disclosure, a constrained device comprises a device which conforms to the definition set out in section 2.1 of RFC 7228 for “constrained node”. According to the definition in RFC 7228, a constrained device is a device in which “some of the characteristics that are otherwise pretty much taken for granted for Internet nodes at the time of writing are not attainable, often due to cost constraints and/or physical constraints on characteristics such as size, weight, and available power and energy. The tight limits on power, memory, and processing resources lead to hard upper bounds on state, code space, and processing cycles, making optimization of energy and network bandwidth usage a dominating consideration in all design requirements. Also, some layer-2 services such as full connectivity and broadcast/multicast may be lacking”. Constrained devices are thus clearly distinguished from server systems, desktop, laptop or tablet computers and powerful mobile devices such as smartphones. A constrained device may for example comprise a Machine Type Communication device, a battery powered device or any other device having the above discussed limitations. Examples of constrained devices may include sensors measuring temperature, humidity and gas content, for example within a room or while goods are transported and stored, motion sensors for controlling light bulbs, sensors measuring light that can be used to control shutters, heart rate monitor and other sensors for personal health (continuous monitoring of blood pressure etc.) actuators and connected electronic door locks.
According to examples of the present disclosure, the LwM2M server may be a virtualised function running in a cloud deployment, and the LwM2M master client node may be a physical node or virtual node.
According to another aspect of the present disclosure, there is provided a method performed by a LwM2M master client node. The method comprises sending a request message to a LwM2M server, the request message requesting the LwM2M server to perform an operation with respect to a LwM2M client node, and instructing the LwM2M server that, following completion of the operation, any subsequent messages relating to the LwM2M client node should be exchanged between the LwM2M client node and the LwM2M server. The subsequent messages relating to the LwM2M client node may for example be application messages, in the case of a LwM2M management server, or subsequent bootstrap messages, in the case of a LwM2M bootstrap server.
According to another aspect of the present disclosure, there is provided a method performed by a LwM2M server. The method comprises receiving a request message from a LwM2M master client node, the request message requesting the LwM2M server to perform an operation with respect to a LwM2M client node. The method further comprises receiving an instruction from the LwM2M master client node that, following completion of the operation, any subsequent messages relating to the LwM2M client node should be exchanged between the LwM2M client node and the LwM2M server. The method further comprises performing the requested operation with respect to the LwM2M client node, and, after completion of the operation, exchanging any subsequent messages relating to the LwM2M client node with the LwM2M client node. The LwM2M server may be a LwM2M management server or a LwM2M bootstrap server, and the subsequent messages relating to the LwM2M client node may be application messages, in the case of a LwM2M management server, or subsequent bootstrap messages, in the case of a LwM2M bootstrap server.
According to another aspect of the present disclosure, there is provided a method performed by a LwM2M client node. The method comprises, responsive to at least one of receipt of a confirmation message from a LwM2M master client node indicating that an operation has been completed, or deployment of the LwM2M client node, sending a message to a LwM2M management server.
According to another aspect of the present disclosure, there is provided a computer program comprising instructions which, when executed on at least one processor, cause the at least one processor to carry out a method according to any one of the aspects or examples of the present disclosure.
According to another aspect of the present disclosure, there is provided a carrier containing a computer program according to the preceding aspect of the present disclosure, wherein the carrier comprises one of an electronic signal, optical signal, radio signal or computer readable storage medium.
According to another aspect of the present disclosure, there is provided a computer program product comprising non transitory computer readable media having stored thereon a computer program according to the preceding aspect of the present disclosure.
According to another aspect of the present disclosure, there is provided a LwM2M master client node. The LwM2M master client node comprises processing circuitry configured to cause the LwM2M master client node to send a request message to a LwM2M server, the request message requesting the LwM2M server to perform an operation with respect to a LwM2M client node, and instruct the LwM2M server that, following completion of the operation, any subsequent messages relating to the LwM2M client node should be exchanged between the LwM2M client node and the LwM2M server.
According to another aspect of the present disclosure, there is provided a LwM2M server. The LwM2M server comprises processing circuitry configured to cause the LwM2M server to receive a request message from a LwM2M master client node, the request message requesting the LwM2M server to perform an operation with respect to a LwM2M client node, and to receive an instruction from the LwM2M master client node that, following completion of the operation, any subsequent messages relating to the LwM2M client node should be exchanged between the LwM2M client node and the LwM2M server. The processing circuitry is further configured to cause the LwM2M server to perform the requested operation with respect to the LwM2M client node, and after completion of the operation, exchange any subsequent messages relating to the LwM2M client node with the LwM2M client node.
According to another aspect of the present disclosure, there is provided a LwM2M client node comprising processing circuitry configured to cause the LwM2M client node to, responsive to at least one of receipt of a confirmation message from a LwM2M master client node indicating that an operation has been completed, or deployment of the LwM2M client node, send a message to a LwM2M management server.
For a better understanding of the present disclosure, and to show more clearly how it may be carried into effect, reference will now be made, by way of example, to the following drawings in which:
Much of the complexity required within a client node for that node to support LwM2M is related to the bootstrapping and registration procedures required by LwM2M. The operations involved in bootstrapping and registering a client are relatively complex and involve large payloads, so placing significant requirements on the device in terms of processing power and memory. Once bootstrapping and registration are complete, the remaining operations required of a client node, including for example reporting events, are significantly simpler, and so can be implemented even in very-constrained client devices. Aspects of the present disclosure propose to extend the LwM2M protocol so that client nodes, including for example very-constrained client nodes, can outsource the complex operations of bootstrapping and/or registration to another entity, and therefore need only implement simpler operations such as data reporting.
In order to support this outsourcing or delegation of bootstrapping and/or registration, a new LwM2M agent is proposed, referred to as a LwM2M Master Client node (LMC).
The LMC can perform registration and bootstrap commands on behalf of a LwM2M client node (LC), which may be a very constrained LC. After the relatively complex operations of bootstrapping and registration are completed, the LC acts independently, for example using the information reporting interface only, to interact with the appropriate LwM2M management server without the further involvement of the LMC.
In step 110, the LwM2M master client node sends to the LwM2M management server a request to register the LwM2M client node. In step 112, the LwM2M management server confirms registration of the LwM2M client node to the LwM2M master client node. The LwM2M master client node may then confirm registration to the LwM2M client node, or to an owner, administrator or other operational authority for the LwM2M client node, in step 114. In step 116, the LwM2M management server and LwM2M client node exchange application messages. These messages may include an observe request sent by the LwM2M management server to the LwM2M client node, and reporting such as measurement reports or other messages sent by the LwM2M client node to the LwM2M management server. The messages may be sent over the Device Management and Service Enablement and/or Information Reporting LwM2M interfaces.
The method 100 of
According to examples of the present disclosure, the LwM2M master client node is provisioned with credentials that allow it to contact the LwM2M bootstrap server and LwM2M management server on behalf of the LwM2M client node. This provisioning may be achieved by, for example, issuing an authorisation token such as a certificate or web token to the LwM2M master client node that delegates these rights to the LwM2M master client node. In addition, the LwM2M master client node may be configured with information about the LwM2M client node's capabilities and configuration so that the LwM2M master client node can perform the initial bootstrap and registration processes on behalf of the LC.
When the LwM2M master client node performs registration of the LwM2M client node with a LwM2M management server, it presents the authorisation token that indicates the endpoint identifier of the LwM2M client node. The certificate or web token is authorised, for example by means of cryptographic signature, by a party trusted by the LwM2M management server, as discussed in further detail below. The LwM2M master client node also provides an indication of the credentials of the LwM2M client node (for example, a fingerprint of the public key of the LwM2M client node) and may provide the IP address of the LwM2M client node. The IP address of the LwM2M client node may be useful if the device is such that initial communication after the registration is initiated by the server. Alternatively or in addition, the server may use the IP address for access control purposes, for example if the LwM2M client node does not have secure credentials but network security is used so that the IP address is “trusted”. A new master client mode of operation within a LwM2M bootstrap server and LwM2M management server is proposed herein to reflect this behaviour and is discussed below.
In some operational scenarios, a LwM2M client node may be so simple or constrained that it can only send essentially fixed messages with a small variable part, for example a measurement value. The LwM2M client node may even be unable to receive CoAP messages, and the configuration of the LwM2M client node, including for example where to send notifications, could be performed at manufacture time. An administrator of the LwM2M client node may only be able to turn on and turn off the LwM2M client node, and the LwM2M master client node may therefore be unable to report any error conditions in the registration to the LwM2M client node. An administrator may therefore chose to delay deployment of the LwM2M client node until the registration process performed by the LwM2M master client node completes successfully. Successful completion of registration may be reported by the LwM2M master client node to the administrator.
Some operational scenarios may involve LwM2M client nodes that are more complex, while remaining significantly constrained. Such LwM2M client nodes may support a simple form of communication with the LwM2M master client node. In these cases, the LwM2M client node may send its own configuration information to the LwM2M master client node and the LwM2M master client node may inform the LwM2M client node when the registration process is complete. The LwM2M client node—LwM2M master client node communication may take place for example over a simple short-range radio connection (such as RFID) that does not require complex security mechanisms.
As discussed above, the LwM2M client node may be a constrained node and may be operable to connect to a constrained network. The LwM2M server may be a virtualized function running in a cloud deployment, and may comprise a LwM2M bootstrap server or a LwM2M management server. In one example, the method 300 is repeated towards both a LwM2M bootstrap server and a LwM2M management server, as illustrated in
Referring initially to
In step 404, the LwM2M master client node receives information about the configuration and capabilities of the LwM2M client node, which information may be used by the LwM2M master client node to perform bootstrapping and registration of the LwM2M client node on behalf of the LwM2M client node. As illustrated at 404a, this information may be received by the LwM2M master client node from the LwM2M client node, for example of short range radio, or may be received from an operational authority for the LwM2M client node, such as an administrator, as illustrated at 404b. In another example, the configuration and capabilities information may be configured in the LwM2M master client node.
In step 406, the LwM2M master client node sends a request message to a LwM2M bootstrap server, the request message requesting the LwM2M server to perform a bootstrapping operation with respect to a LwM2M client node. The request message may be a CoAP message or an MQTT message, and is sent over the LwM2M bootstrapping interface, which is the interface that would be used by the client node for this purpose, if the client node were to perform the bootstrapping operation for itself.
Step 406b illustrates different information that may be included in the bootstrap request message sent at step 406. The bootstrap request message may include an identification of the LwM2M client node, which identifier may be an endpoint identifier of the client node. The request message may further include a network address for the LwM2M client node. In some examples, the LwM2M master client node may send an identification or address of the client node in a separate message.
The request message may further include an identification of the LwM2M master client node. If security (for example Datagram Transport Layer Security (DTLS)) is used, this will ensure that the request message will identify the LwM2M master client node as the sender of the message. In addition, an IP address is operable to identify the sender of a message in certain cases, such as in a fully end-to-end trusted network without Network Address Translators (NATs). However, according to examples of the present disclosure, the request message may explicitly specify that the included sender identity is the identity of the master client node that is requesting bootstrapping on behalf of a LwM2M client node, and is not the identity of a LwM2M client node requesting bootstrapping for itself.
In step 408, the LwM2M master client node instructs the LwM2M bootstrap server that, following completion of the operation, any subsequent bootstrap messages relating to the LwM2M client node should be exchanged between the LwM2M client node and the LwM2M bootstrap server. As illustrated in step 408a, this may comprise including in the bootstrap request message sent in step 406 a LwM2M option corresponding to a master client operational mode of the LwM2M bootstrap server. The option may for example be a CoAP option, if the request message is a CoAP message. In some examples, the option may be an explicit option such as a flag. In other examples, the option may be implicit, its inclusion implied by the inclusion of both a LwM2M client node identifier and a LwM2M master client node identifier. In still further examples, a separate message type may be defined for requesting bootstrapping (and/or registration) by a LwM2M master client node on behalf of a LwM2M client node. Example request messages and options are discussed below with reference to a message requesting registration of the LwM2M client node. The options discussed below apply equally to a bootstrap request message sent at step 406 of the present method.
A master client operational mode of the LwM2M bootstrap server comprises an operational mode according to which an operation relating to a LwM2M client node is performed on behalf of the LwM2M client node by a LwM2M master client node, and, following completion of the operation, any subsequent bootstrap messages relating to the LwM2M client node (for example when re-bootstrapping the LwM2M client node) are exchanged between the LwM2M bootstrap server and the LwM2M client node.
In step 410, the LwM2M master client node sends to the LwM2M bootstrap server the authorisation token received in step 402 and operable to certify that the LwM2M master client node is authorised to request the LwM2M bootstrap server to perform the bootstrapping operation with respect to the LwM2M client node. As illustrated at step 410a and 410b, sending the authorisation token may comprise including the authorisation token in the request message or sending an authorisation message to the LwM2M bootstrap server and including the authorisation token in the authorisation message. In some examples, an IP address for the LwM2M client node may also be included in the authorisation message.
In step 412, the LwM2M master client node receives from the LwM2M bootstrap server confirmation of completion of the bootstrapping, which confirmation may take the form of configuration information for the client node.
Referring now to
In step 416, the LwM2M master client node sends a request message to a LwM2M management server, the request message requesting the LwM2M server to perform a registration operation with respect to a LwM2M client node. This message may be a CoAP message or an MQTT message and may be sent over the LwM2M registration interface. In step 418, the LwM2M master client node instructs the LwM2M management server that, following completion of the registration operation, any application messages relating to the LwM2M client node should be exchanged between the LwM2M client node and the LwM2M management server. As discussed above with reference to the bootstrapping request message and illustrated at 416a, the registration request message may include an identifier for the LwM2M client node, an identifier for the LwM2M master client node, and a network address for the LwM2M client node. Including the network address of the LwM2M client node may enable the LwM2M management server to ensure that messages from that address are accepted (for example if DTLS is not used and so the IP address alone is used to ensure messages originate from the right client node).
Also as discussed above with reference to the bootstrapping request and illustrated at 418a, instructing the LwM2M management server regarding exchange of application messages with the LwM2M client node may comprise including a LwM2M option corresponding to a master client operational mode of the LwM2M management server in the registration request message. The details regarding the inclusion of an option in the bootstrapping request message discussed above also apply to the inclusion of an option in a registration message.
In step 420, the LwM2M master client node sends to the LwM2M management server the authorisation token received in step 402 and operable to certify that the LwM2M master client node is authorised to request the LwM2M server to perform the registration operation with respect to the LwM2M client node. As illustrated at step 420a and 420b, sending the authorisation token may comprise including the authorisation token in the request message or sending an authorisation message to the LwM2M management server and including the authorisation token in the authorisation message. In some examples, an IP address for the LwM2M client node may also be included in the authorisation message.
An example of a simple form of registration request message that may be sent by a LwM2M master client node in step 416 is illustrated below, followed by a corresponding standard registration request message:
Example Message According to the Present Disclosure:
CoAP method: POST
URI options: /rd/?cep=example-client-42
Payload: </1/1>,</1/2>,</2/0>,</3/0>,</4/0>
Example Message for Standard Registration Procedure:
CoAP method: POST
URI options: /rd/?ep=example-client-42
Payload: </1/1>,</1/2>,</2/0>,</3/0>,</4/0>
The example registration request message according to the present disclosure uses a new “cep” option (Client EndPoint) to denote that registration is requested on behalf of another node. This option would trigger the LwM2M management server to operate in the new master client operational mode, anticipating exchange of application messages with the client node itself and not with the master client node that sent the registration request message. If the LwM2M client node creates a DTLS connection that uses the given ID (example-client-42) and is using the certificate mode of DTLS that binds the ID to a trust anchor (e.g., CA), and the LwM2M, master client node is well trusted, this may provide sufficient evidence that the LwM2M master client node was authorised to request registration. However, in a majority of practical scenarios it may be desirable to include an explicit authorization token to certify that the LwM2M master client node is authorized to request registration.
In order to deliver the authorisation token, the registration request message could be extended with a container for the authorisation token in the payload. The payload would therefore be “CoRE Multipart” or of a new content format, and contain both the original CoRE weblink payload shown above and also the authorisation token. In other examples, as discussed above, a separate message may be used to deliver the authorisation token, for example:
POST /rd/auth-lmc
Payload: [authorisation token]
As discussed the authorisation token may be a certificate such as an X.509 certificate issued by a Certificate Authority. Alternatively, the authorisation token may comprise a web token such as a CBOR Web Token as set out in RFC8392 or a JSON Web Token as set out in RFC7519. Such tokens are becoming increasingly popular for delivering claims such as “A is authorized to do X on B”.
Also as discussed above, the address of the LwM2M client node may be included in the registration request message, for example as a URI option in the registration request message. Alternatively, for example if the authorisation token is to be delivered in a separate message, the LwM2M master client node could deliver the LwM2M client node address as part of a standardized payload with the authorisation token. An example of LwM2M client node address as a URI option, using “cip” to deliver the IP address, is illustrated below:
URI options: /rd/?cep=example-client?cip=192.0.2.42
Referring still to
As discussed above, the LwM2M client node may be a constrained node and may be operable to connect to a constrained network. The LwM2M master client node may be a physical or virtual node.
a and 7b show flow charts illustrating process steps further examples of methods 600, 700 performed by a LwM2M server, which may be a physical server or a virtualised function. The steps of the method 600 illustrate an example way in which the steps of the method 500 may be implemented and supplemented in a LwM2M bootstrap server in order to achieve the above discussed and additional functionality. The steps of the method 700 illustrate an example way in which the steps of the method 500 may be implemented and supplemented in a LwM2M management server in order to achieve the above discussed and additional functionality.
Referring initially to
In step 604, the LwM2M bootstrap server receives an instruction from the LwM2M master client node that, following completion of the bootstrapping operation, any subsequent bootstrap messages relating to the LwM2M client node should be exchanged between the LwM2M client node and the LwM2M bootstrap server. As illustrated in 604a, this may comprise receiving in the bootstrap request message a LwM2M option corresponding to a master client operational mode of the LwM2M bootstrap server. As discussed above, a master client operation mode is an operational mode according to which an operation relating to a LwM2M client node is performed on behalf of the LwM2M client node by a LwM2M master client node, and any subsequent messages relating to the LwM2M client node and exchanged after completion of the operation are exchanged with the LwM2M client node. In the case of a LwM2M bootstrap server, such subsequent messages relating to the LwM2M client node may for example comprise messages relating to re-bootstrapping of the LwM2M client node. The details regarding the inclusion of an option in a bootstrapping request message are discussed above with reference to method 400 and consequently are not repeated here.
In step 606, the LwM2M bootstrap server receives from the LwM2M master client node an authorisation token, the authorisation token operable to certify that the LwM2M master client node is authorised to request the LwM2M server to perform the bootstrap operation with respect to the LwM2M client node. As illustrated in 606a and 606b, the authorisation token may be received in the request message or in a separate authorisation message from the LwM2M master client node. The authorisation token may be a certificate issued by a Certification Authority a web token, as discussed above with reference to method 400.
In step 608, the LwM2M bootstrap server verifies, using the authorisation token, that the LwM2M master client node is authorised to request the bootstrap operation with respect to the LwM2M client node. If no authorisation token is received from the master client node, the LwM2M bootstrap server may still seek to verify authorisation of the LwM2M master client node by confirming a trust relationship established with the master client node. In step 610, the LwM2M bootstrap server performs bootstrapping of the LwM2M client node and in step 612, the LwM2M bootstrap server sends to the LwM2M master client node confirmation of completion of the operation. The confirmation may be in the form of configuration information for the LwM2M client node. In step 618, after completion of the operation, the LwM2M bootstrap server exchanges any subsequent bootstrap messages relating to the LwM2M client node (such as during re-bootstrapping) with the LwM2M client node, and thus the LwM2M master client node is not involved in the exchange of such messages.
Referring initially to
In step 704, the LwM2M management server receives an instruction from the LwM2M master client node that, following completion of the registration operation, any application messages relating to the LwM2M client node should be exchanged between the LwM2M client node and the LwM2M bootstrap server. Such messages may include an observe request sent by the LwM2M management server and reporting messages sent by the LwM2M client node. As illustrated in 704a, receiving this instruction may comprise receiving in the registration request message a LwM2M option corresponding to a master client operational mode of the LwM2M management server. The details regarding the inclusion of an option in a registration request message are discussed above with reference to method 400.
In step 706, the LwM2M management server receives from the LwM2M master client node an authorisation token, the authorisation token operable to certify that the LwM2M master client node is authorised to request the LwM2M server to perform the registration operation with respect to the LwM2M client node. As illustrated in 706a and 706b, the authorisation token may be received in the request message or in a separate authorisation message from the LwM2M master client node. The authorisation token may be a certificate issued by a Certification Authority a web token, as discussed above with reference to method 400.
In step 708, the LwM2M management server verifies, using the authorisation token, that the LwM2M master client node is authorised to request the registration operation with respect to the LwM2M client node. If no authorisation token is received from the master client node, the LwM2M management server may still seek to verify authorisation of the LwM2M master client node by confirming a trust relationship established with the master client node. In step 710, the LwM2M management server performs registration of the LwM2M client node.
Referring now to
In step 716, after completion of the registration operation, the LwM2M management server exchanges any application messages related to the LwM2M client node with the LwM2M client node. Such messages may comprise reporting messages. As illustrated in step 718a, on receipt of on receipt of data from the LwM2M client node, the LwM2M management server may reset the registration lifetime of the LwM2M client node. Existing practices envisage a refreshing of registration of the LwM2M client node with a re-registration. By resetting the registration lifetime of the LwM2M client node when data is received from the client node, the LwM2M management server may avoid the need for re-registration by the LwM2M master client node. This resetting of the lifetime, together with performing registration by exchanging messages with a LwM2M master client node and then exchanging subsequent application messages with the LwM2M client node, may form part of the master client mode of operation of the LwM2M management server.
As discussed above, the methods 300, 400, 500, 600, 700 and 800 are performed by a LwM2M master client node, LwM2M server and LwM2M client node respectively. The present disclosure provides a LwM2M master client node, a LwM2M server and a LwM2M client node that are adapted to perform any or all of the steps of the above discussed methods.
Referring to
The LwM2M master client node may be a physical node or may be implemented as a virtual node in the cloud, provided network constrains of a particular deployment allow for this.
Referring to
It will be appreciated that the LwM2M server 1100, 1200 may be virtualised network functions deployed in the cloud
Referring to
The methods and apparatus proposed in the present disclosure offer a solution for registration and bootstrapping of LwM2M client nodes that differs considerably from those currently available, as demonstrated in
Examples of the present disclosure propose a native LwM2M solution for on-behalf-of registration which eliminates the disadvantages of the methods demonstrated in
A very-constrained node, which is unable to perform the relatively complex LwM2M bootstrap and registration procedures, can thus be deployed in a network by having a LwM2M master client node perform those procedures on behalf of the very-constrained node. Examples of the present disclosure allow very-constrained devices to be supported without the need to use a full network gateway node. In addition, once the bootstrap and the registration processes are completed, the methods and apparatus of the present disclosure do not add overhead to regular LwM2M operations of the system, such as the sending of notifications.
The methods of the present disclosure may be implemented in hardware, or as software modules running on one or more processors. The methods may also be carried out according to the instructions of a computer program, and the present disclosure also provides a computer readable medium having stored thereon a program for carrying out any of the methods described herein. A computer program embodying the disclosure may be stored on a computer readable medium, or it could, for example, be in the form of a signal such as a downloadable data signal provided from an Internet website, or it could be in any other form.
It should be noted that the above-mentioned examples illustrate rather than limit the disclosure, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. The word “comprising” does not exclude the presence of elements or steps other than those listed in a claim, “a” or “an” does not exclude a plurality, and a single processor or other unit may fulfil the functions of several units recited in the claims. Any reference signs in the claims shall not be construed so as to limit their scope.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2019/065788 | 6/15/2019 | WO |