WO2022122150A1 - Lwm2m client device, server device, and methods thereof - Google Patents

Lwm2m client device, server device, and methods thereof Download PDF

Info

Publication number
WO2022122150A1
WO2022122150A1 PCT/EP2020/085291 EP2020085291W WO2022122150A1 WO 2022122150 A1 WO2022122150 A1 WO 2022122150A1 EP 2020085291 W EP2020085291 W EP 2020085291W WO 2022122150 A1 WO2022122150 A1 WO 2022122150A1
Authority
WO
WIPO (PCT)
Prior art keywords
lwm2m
client device
notification
resource
lwm2m client
Prior art date
Application number
PCT/EP2020/085291
Other languages
French (fr)
Inventor
Jaime JIMÉNEZ
Klaus HARTKE
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to PCT/EP2020/085291 priority Critical patent/WO2022122150A1/en
Priority to EP20823784.2A priority patent/EP4260493A1/en
Publication of WO2022122150A1 publication Critical patent/WO2022122150A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal

Definitions

  • LwM2M client device LwM2M client device, server device, and methods thereof
  • the present disclosure relates to a Lightweight Machine to Machine (LwM2M) client device and to a LwM2M server device.
  • the present disclosure also relates to methods performed by a LwM2M client device and a LwM2M server device, to a corresponding computer program, a corresponding carrier, and a corresponding computer program product.
  • LwM2M Lightweight Machine to Machine
  • the “Internet of Things” refers to systems of 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.
  • a popular vision of loT comprises large numbers of such small autonomous devices, transmitting and receiving small amounts of data, typically relatively infrequently.
  • loT 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 may operate according to a range of protocols, including widely used protocols such as Internet Protocol (IP) v4 or IPv6, and dedicated protocols for constrained devices, including for example the Constrained Application Protocol (CoAP).
  • IP Internet Protocol
  • CoAP Constrained Application Protocol
  • CoAP is a generic Representational state transfer (REST) application protocol for constrained devices, defined in RFC 7252. CoAP is designed to be used over the user datagram protocol (UDP), defined in RFC 0768, for communication over the Internet.
  • REST Representational state transfer
  • UDP user datagram protocol
  • LwM2M Lightweight M2M
  • OMA Open Mobile Alliance
  • LwM2M defines a protocol between a LwM2M Server and a LwM2M Client.
  • a LwM2M client is a component running on a device implementing the client-side functionality of the LwM2M protocol for interacting with a LwM2M Server and a LwM2M Bootstrap-Server.
  • LwM2M Clients are often implemented in loT devices and gateways.
  • a LwM2M server is a component implementing the server-side functionality of the LwM2M protocol for interacting with a LwM2M Client.
  • LwM2M Server software is often, although not necessarily, running on a non-loT device, such as an on-premise server or in a cloud-based infrastructure.
  • a LwM2M device is a computing device that operates a LwM2M client or LwM2M server.
  • LwM2M includes several interfaces to manage LwM2M devices, including a bootstrap interface, a registration interface, a device management and service enablement interface, and an information reporting interface.
  • the LwM2M Information Reporting Interface is defined in section 6.4 of the Lightweight Machine to Machine Technical Specification: Core, version 1.2 (http://www.openmobilealliance.org/release/LightweightM2M/V1_2-20201110-A/).
  • the information reporting interface is used by LwM2M server devices or applications to observe resources hosted by LwM2M client devices, receiving notifications every time the state of a resource changes.
  • the hosted resource may comprise a temperature sensor and a notification may be received every time the temperature increases above a specified value.
  • the hosted resource may comprise an actuator and a notification may be received every time the actuator is active.
  • LwM2M client devices maintain a state for every request for notifications that is being serviced.
  • the state maintained for each request message may contain the following information: IP address to which notifications should be sent (16 bytes), UDP port (2 bytes), CoAP token (8-16 bytes), LwM2M security context (about 200-300 bytes per client), temporary resource for each query parameter combination/value (about 10 bytes per query parameter).
  • a LwM2M client device therefore maintains a state comprising hundreds of bytes for each observe request made by a LwM2M server device or application.
  • multiple applications and LwM2M servers may be observing the state of various resources in every LwM2M client device in the deployment.
  • LwM2M client devices may consequently receive hundreds of observations per hosted resource. Maintaining the required state for all of these requests is a significant burden on the LwM2M client device, and may lead to difficulties in scaling the system for use with a larger number of LwM2M devices.
  • a Lightweight Machine to Machine (LwM2M) client device comprising processing circuitry configured to cause the LwM2M client device to receive, from a first LwM2M server device, a first message requesting a location of a first notification resource that is associated with a target resource hosted by the LwM2M client device, a first reporting query parameter; and a first reporting query parameter value.
  • a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value.
  • the processing circuitry is further configured to cause the LwM2M client device to expose, to the first LwM2M server device in response to the received first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device
  • a LwM2M server device comprising processing circuitry configured to cause the LwM2M server device to transmit, to a LwM2M client device, a first message requesting a location of a first notification resource that is associated with a target resource hosted by the LwM2M client device, a first reporting query parameter, and a first reporting query parameter value.
  • a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value.
  • the processing circuitry is further configured to cause the LwM2M server device to obtain, from the LwM2M client device in response to the message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device.
  • a method performed by a LwM2M client device comprising receiving, from a first LwM2M server device, a first message requesting a location of a first notification resource that is associated with a target resource hosted by the LwM2M client device, a first reporting query parameter, and a first reporting query parameter value.
  • a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value.
  • the method further comprises exposing, to the LwM2M server device in response to the received first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device.
  • a method performed by a LwM2M server device comprising transmitting, to a LwM2M client device, a first message requesting a location of a first notification resource that is associated with a target resource hosted by the LwM2M client device, a first reporting query parameter, and a first reporting query parameter value.
  • a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value.
  • the method further comprises obtaining, from the LwM2M client device in response to the first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device.
  • 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 preceding aspects or examples of the present disclosure.
  • 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.
  • a computer program product comprising non transitory computer readable media having stored thereon a computer program according to a preceding aspect of the present disclosure.
  • Figure 1 is an abstract view of observation components for two resources being observed
  • Figure 2 is a message flow diagram illustrating an example of communications between LwM2M devices
  • Figure 3 is a flow chart illustrating a method performed by a LwM2M client device
  • Figures 4a-d are other flow charts illustrating a method performed by a LwM2M client device
  • Figure 5 is a flow chart illustrating a method performed by a LwM2M server device
  • Figure 6 is another flow chart illustrating a method performed by a LwM2M server device
  • Figure 7 is another message flow diagram illustrating an example of communications between LwM2M devices
  • Figure 8 is another message flow diagram illustrating an example of communications between LwM2M devices
  • Figure 9 is an example of a LwM2M client device
  • Figure 10 is an example of a LwM2M server device. Detailed Description
  • Figure 1 is an abstract view 100 of observation components for two resources being observed by observers.
  • observers 110, 120, 130 and 140 are observing first resource 101a and second resource 101b, hosted by a LwM2M client device.
  • First and second resources 101a and 101b may for example be associated with temperature sensors, pressure sensors, etc. In the following description, it is assumed that resources 101a and 101b are temperature resources.
  • Each observer 110 to 140 is associated with a token, II, V, X or Y.
  • the plurality of observers may be associated with a single LwM2M server device or with multiple different LwM2M server devices.
  • each observer is associated with a client IP address, a UDP port and a security context, illustrated collectively as LwM2M server device information 103a-c.
  • observers 120 and 140 are associated with the same LwM2M server device, and therefore they share the same LwM2M server device information 103b.
  • Each of observers 110 and 130 is associated with a different LwM2M server device and consequently with different server device information 103a, 103c.
  • Observers 110, 120 and 130 are all observing first resource 101a, and observer 140 is observing second resource 101b.
  • the LwM2M client device hosting resources 101a, 101 b creates a state for each observation request that it is servicing. This state is illustrated in Figure 1 at 104a and 104b.
  • Figure 1 illustrates only two resources and four observers, however it will be appreciated that in a typical deployment comprising a large number of observers, and many hosted resources per device, the amount of state that must be maintained by each LwM2M client device increases rapidly with each additional observation.
  • Figure 2 is an example message flow diagram 200 illustrating messages transmitted between a LWM2M Client device 210, a first LwM2M server device 220 and second LwM2M server device 230 according to information reporting procedures as set out in version 1 .2 of the LwM2M specification referenced above.
  • the LwM2M client device 210 is hosting a temperature resource “3303”, at the address coap://[ipv6]/3303.
  • the first LwM2M server device 220 comprises a device manager, located for example in a 3GPP core network, and configured to manage the LwM2M client device 210.
  • the second LwM2M server device 230 comprises a server device that is external to the network comprising the first LwM2M server device 210.
  • the first LwM2M server device 220 may comprise observers 110 and 120 of the deployment of Figure 1
  • the second LwM2M server device 230 may comprise observer 130 of the deployment of Figure 1.
  • the resource “3303” hosted by the LwM2M client device 210 may comprise resource A of the deployment 100.
  • the current value of the temperature resource “3303” is 10 degrees Celsius (°C), which fulfils the query condition.
  • the LwM2M client device 210 therefore transmits a notification message to the first LwM2M server device 220, notifying first LwM2M server device 220 that the value of the temperature sensor is “10 degC”.
  • the LwM2M client device 210 transmits a notification message to the second LwM2M server device 230, notifying second LwM2M server device 230 that the value of the temperature sensor is “10 degC”.
  • the LwM2M client device 210 maintains states for the two observer requests it has received, and consequently continues to notify the first and second LwM2M server devices 220 and 230 each time the value of the temperature sensor fulfills the conditions corresponding to the query information expressed in the Observe requests. For example, in step 213, LwM2M client device 210 transmits a notification message to the first LwM2M server device 220, notifying the first LwM2M server device 220 that the temperature is “5 degC”.
  • the second LwM2M server device 220 does not receive a corresponding notification at this time because the value of the temperature sensor is not above 6, and so does not fulfill the condition in the state maintained for the second Observe request sent by the second LwM2M server device 230 in step 231 .
  • LwM2M client device 210 transmits a notification message to the first LwM2M server device 220, notifying first LwM2M server device 220 that the value of the temperature sensor is “7 degC”. As this temperature also fulfils the condition for notification to the second LwM2M server device 230, the LwM2M client device 210 also transmits a notification message to the second LwM2M server device 230 in step 215.
  • a notification resource is associated with a target resource hosted by a LwM2M client device, a query parameter and a query parameter value.
  • a value of the notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value.
  • a notification resource may be exposed by the LwM2M client device, and may consequently be discovered and observed by multiple different observers, offering economies of scale for the LwM2M client device.
  • a LwM2M server device may simply discover what notification resources already exist for the target resource, and observe one of the existing notification resources.
  • a LwM2M client device may propose an existing notification resource when it receives a request to create a new notification resource for the same target resource and having a similar query condition to that associated with the existing notification resource for the target hosted resource.
  • a notification resource is distinguished from other types of resource that may be hosted by a LwM2M client device in that a notification resource does not provide an interface to interact with a physical entity such as a sensor or actuator, it does not represent a value or other parameter associated with a physical entity, but rather represents the value of a notification that would be sent in accordance with an observation request on another, target resource hosted by the LwM2M client device.
  • a notification resource may in some examples be referred to or considered as an “observational resource”.
  • a LwM2M server device may use a notification resource to observe a target resource.
  • a LwM2M server device may request the creation of a new notification resource.
  • a LwM2M server device may transmit a Create message to a LwM2M client device, the Create message comprising a request to create a notification resource associated with a specified target resource hosted by the LwM2M client device.
  • the Create message includes query information that would be associated with a CoAP Observe request, for example, the address of the resource that is the target of the request, a query parameter and a query parameter value.
  • the LwM2M client device creates the requested notification resource and exposes its location to the LwM2M server device.
  • the LwM2M server device, and other LwM2M server devices as discussed below, may then observe the created notification resource, receiving notifications every time a value of the notification resource changes.
  • a LwM2M client device may first check whether a notification resource for the target hosted resource already exists, and whether such existing notification resource may fulfil a similarity criterion, such that the LwM2M client device may propose the existing notification resource to the requesting LwM2M server device, as opposed to creating a new notification resource as requested.
  • the similarity criterion may for example require that the existing notification resource be associated with the same target resource hosted by the LwM2M client device, and include the same query parameter, although the query parameter value may be different.
  • the LwM2M client device may supply the location of the existing notification resource to the requesting LwM2M server in response to the create request.
  • the requesting LwM2M server is then free to either observe the proposed notification request, or to send a conventional observe request for the target resource, if the proposed notification resource will not fulfil the LwM2M server device’s requirements.
  • a LwM2M server device may use discovery to find out what notification resources exist at a client device, and then either observe an existing notification resource, or send a conventional Observe request for the relevant target resource hosted on the LwM2M client device, if none of the existing notification resources will satisfy the LwM2M server device’s requirements.
  • a LwM2M client device may expose the location not only of existing notification resources that have been created via a Create request from a LwM2M server device, but also notification resources corresponding to state created for conventional observation requests received for resources hosted on the LwM2M client device. In this way, state for observation requests received in the conventional manner may in effect by “reused”, so as to minimise the amount of state, and the number of notification resources maintained by the LwM2M client device.
  • FIG 3 is a flow chart illustrating process steps in a method 300 performed by a LwM2M client device according to examples of the present disclosure.
  • the LwM2M client device comprises a computing device that is operable to run a LwM2M client.
  • the LwM2M client device may comprise an loT device, and may be a constrained device.
  • the LwM2M client device may be operable to host a target resource, which may be a sensor resource, an actuator resource, etc.
  • the method 300 comprises, in a first step 310, receiving, from a first LwM2M server device, a first message requesting a location of a first notification resource that is associated with: a target resource hosted by the LwM2M client device; a first reporting query parameter, and a first reporting query parameter value.
  • a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value.
  • the first message may comprise a request to create the first notification resource, and consequently an implicit request to provide the location of the created observational resource.
  • the first message may comprise a discovery message seeking to discover the location of notification resources that already exist.
  • a discovery message may request locations of notification resources associated with a specific target resource, query parameter and/or query parameter values, or may request any notification resources associated with any target resources hosted on the LwM2M client device. It will be appreciated that he “first message” is distinguished from a conventional CoAP GET request using the Observe option by the fact that it requests the location of a notification resource, as opposed to querying a resource value.
  • the method 300 further comprises, in step 320, exposing, to the LwM2M server device and in response to the received first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device.
  • the LwM2M client device may create the notification resource in response to a first message that is a request to create a notification resource, and may expose the location of the created notification resource to the LwM2M server device.
  • the LwM2M client device may expose a location of one or more existing notification resources to the LwM2M server device, in response to a discovery message or in response to a create message.
  • the first message specifies a request for a location of a “first” notification resource, while the client device exposes a location of “a” notification resource based on the received first message.
  • the location provided by the client device may in some examples not correspond to the first notification resource, for example in a discovery operation in which no notification resources matching the first notification resource are present in the provided list, or if in response to a create request the LwM2M client device provides locations of one or more similar already existing notification resources.
  • Figures 4a-d show flow charts illustrating process steps in further examples of a method 400 performed by a LwM2M client device.
  • the steps of the method 400 illustrate example ways in which the steps of the method 300 may be implemented and supplemented in order to achieve the above discussed and additional functionality.
  • the method 400 comprises, in a first step 410, receiving, from a first LwM2M server device, a first message requesting a location of a first notification resource that is associated with: a target resource hosted by the LwM2M client device; a first reporting query parameter, and a first reporting query parameter value.
  • a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value.
  • the method 400 further comprises, in step 420, exposing, to the LwM2M server device in response to the received first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device.
  • that the notification resource may be associated with the first reporting query parameter, in addition to being associated with the target resource hosted by the LwM2M client device.
  • reporting query parameters include “greater than” (gt), “less than” (It), “minimum period” (pmin), “maximum period”, (pmax), “step” (st), “edge” (edge), etc.
  • a list of query reporting parameters is included Table 5.1.2-2 “class Attributes”, in section 5.1.2 of the LwM2M Technical Specification V1.2 referenced above. So if the first reporting query parameter which may be associated with the first message is a “greater than” parameter, the query parameter of the notification resource whose location is exposed to the LwM2M server may also be associated with a “greater than” query parameter.
  • the reporting query parameter value associated with the exposed notification resource may be the same as, or different from, the first reporting query parameter value. For example, if the first reporting query parameter value which may be associated with the first message, comprises 4°C, the reporting query parameter value associated with the notification resource whose location is exposed may also comprise 4°C or may comprise a different value.
  • the exposing step 420 may comprise, as illustrated at 424, exposing a plurality of locations of a plurality of notification resources, the plurality of notification resources comprising the notification resource referred to above with reference to step 420. Further detail of how the LwM2M client device determines which notification resource should have its location exposed at step 420 is discussed below, with reference to Figure 4c.
  • the first message may comprise a Create message, and the LwM2M client device may perform method steps as discussed below with reference to Figure 4c, which may result in the LwM2M client device creating the first notification resource and exposing a location of the created first notification recourse to the first LwM2M server in step 420.
  • the method steps in Figure 4c may result in the LwM2M client device exposing the location of an already existing notification resource in step 420.
  • the LwM2M server may already have performed discovery to determine what resources are hosted on the LwM2M client device.
  • the first message may comprise a Discover message.
  • the LwM2M client device may be configured to expose a plurality of notification resources to the LwM2M server device.
  • the plurality of notification resources may comprise all of the notification resources existing on the LwM2M client device.
  • the plurality of notification resources may comprise all of the notification resources existing on the LwM2M client device and that are associated with the target resource.
  • the method 400 may further comprise, in step 430, receiving from the first LwM2M server device, an Observe message identifying the exposed notification resource, and requesting to be notified with updated representations of the exposed notification resource.
  • a message may also be referred to as an Observe request.
  • the LwM2M client device may notify the first LwM2M server device whenever the value of the exposed notification resource changes. The value of the exposed notification resource will change when the value of the target resource, with which the notification resource is associated, fulfils the conditions specified by the reporting query parameter and reporting query value of the exposed notification resource.
  • the reporting query parameter comprises “gt” and the reporting query value comprises “4°C”
  • the value of the notification resource will change, and the LwM2M client device may transmit a notification to the LwM2M server device, when the value of the temperature resource is greater than 4°C.
  • the method 400 may further comprise, in step 440, receiving from a second LwM2M server device a second message.
  • the second message requests a location of a second notification resource associated with the target resource hosted by the LwM2M client device, with a second reporting query parameter, and with a second reporting query parameter value.
  • a value of the second notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the second reporting query parameter and the second reporting query parameter value.
  • the method 400 further comprises, in step 450, exposing to the second LwM2M server device in response to the received second message, the location of the same notification resource whose location was exposed to the first LwM2M server device in response to the received first message.
  • the second message may comprise a Discover message.
  • the notification resource that was exposed to the first LwM2M server may therefore be exposed to the second message as part of a plurality of notification resources.
  • exposing the location of the same notification resource in step 450 may be conditional upon the second reporting query parameter being the same as the first reporting query parameter. Consequently, the exposing step 450 may comprise, in step 452, determining whether the second reporting query parameter is the same as the first reporting query parameter. The exposing step 450 may further comprise, in step 454, exposing to the second LwM2M server device the location of the same notification resource whose location was exposed to the first LwM2M server device, if the second reporting query parameter is the same as the first reporting query parameter.
  • the second message may comprise a Create message, and may for example be received following a first message that was also a Create message.
  • the LwM2M client device may determine whether the second reporting query parameter of the second Create message from the second LwM2M server is the same as the first reporting query parameter of the first Create message from the first LwM2M server.
  • the first reporting query parameter and the second reporting query parameter may both comprise the “gt” reporting query parameter. Responsive to determining that the first reporting query parameter of the first Create message and the second reporting query parameter of the second Create message are the same, the LwM2M client device may expose the same notification resource to the second LwM2M client device that was exposed to the first LwM2M client device.
  • the method 400 may further comprise, in step 460, receiving, from the second LwM2M server device, an Observe request identifying the exposed notification resource and requesting to be notified with updated representations of the exposed notification resource.
  • the LwM2M client device may notify the second LwM2M server device whenever the value of the exposed notification resource changes.
  • the value of the exposed notification resource will change when the value of the target resource, with which the notification resource is associated, fulfils the conditions specified by the reporting query parameter and reporting query value of the exposed notification resource.
  • Figure 4c illustrates process steps that may be performed by the LwM2M client device between steps 410 and 420, in order to determine what notification resource should have its location exposed to the first LwM2M server. Similar steps may be performed between steps 440 and 450 with reference to the second message.
  • the method 400 may further comprise, in step 411 , identifying any existing notification resource that is associated with the target resource hosted by the LwM2M client device and the first reporting query parameter.
  • a notification resource associated with the target resource hosted by the LwM2M client device and the first reporting query parameter may for example have been created by the LwM2M client device in response to a previously received Create message.
  • the first reporting query parameter is the “gt” query parameter
  • the target resource comprises a temperature resource “3303”
  • the LwM2M client device may identify in step 411 any existing notification resource that is associated with the temperature resource “3303” and the “gt” reporting query parameter. Any existing notification resource or resources that are identified may themselves be being observed by other LwM2M server devices, as a notification resource may be deleted by the LwM2M client when it is no longer being observed by any LwM2M server device.
  • the method 400 comprises identifying any observation by any LwM2M server device of the target resource hosted by the LwM2M client device which observation specifies the first reporting query parameter.
  • the LwM2M client device may be maintaining state associated with an Observe request received from a LwM2M server device (for example if a LwM2M server device sent a conventional observe request for the target resource as opposed to creating or discovering a notification resource associated with the target resource).
  • the LwM2M client device may be configured to identify any existing observations associated with a corresponding target resource and corresponding reporting query parameter to the target resource and first reporting query parameter, if the first reporting query parameter is the “gt” query parameter, and the target resource comprises a temperature resource “3303”, the LwM2M client device may identify in step 411 any currently maintained observation that is associated with the temperature resource “3303” and the “gt” reporting query parameter.
  • the LwM2M client device determines whether any notification resources or existing observations were identified in step 411 or step 412. If one or more existing notification resources were identified at step 411 , the location(s) of these identified notification resources are exposed by the LwM2M client device in step 420, illustrated in Figure 4c as step 420a. If one or more existing observations were identified at step 412, the identified observations are exposed by the LwM2M client device in step 420 as notification resources, illustrated in Figure 4c as step 420a.
  • the LwM2M client device may send a suitable response indicating that no resources corresponding to the discovery request exist on the LwM2M client device. If however the first message was a Create message (Yes at step 414), the method may further comprise creating the first notification resource in accordance with the first reporting query parameter, the first reporting query parameter value, and the target resource. The method may then comprise exposing a location of the newly created notification resource in step 420, illustrated in Figure 4c as step 420b.
  • the creation of the first notification resource may be dependent on two conditions.
  • the first condition is that no notification resource that is associated with the target resource hosted by the LwM2M client device and with the first reporting query parameter currently exists on the LwM2M client device.
  • the second condition is that no observation by any LwM2M server device of the target resource hosted by the LwM2M client device, which observation specifies the first reporting query parameter, is currently being maintained by the LwM2M client device.
  • the LwM2M client device If a notification resource or observation for the same target resource and the same reporting query parameter as specified in a Create message already exist on the LwM2M client device, then the LwM2M client device exposes a location of the existing notification resource, or exposes the observation as a notification resource, rather than creating a new notification resource. In this manner, the LwM2M client device attempts to reuse existing notification resources and observations.
  • the reuse of existing notification resources and observations may reduce the amount of memory that the client device is required to devote to supporting observation of its resources by LwM2M server devices.
  • a LwM2M server device may determine that the exposed notification resource is not suitable for its requirements, in which case the LwM2M server device may send an observe request for the target resource, as illustrated in Figure 4d.
  • the method 400 may further comprise, in step 470, receiving from the first LwM2M server device an Observe request identifying the target resource hosted by the LwM2M client device and requesting to be notified with updated representations of the target resource.
  • the method 400 may further comprise, in step 480, providing, to the first LwM2M server device, updated representations of the target resource in accordance with the received Observe request.
  • the LwM2M client device thus follows existing procedures when receiving an observe request for a target resource hosted on the LwM2M client device.
  • the methods 300 and/or 400 may be complemented by a method 500 performed by a LwM2M server device as illustrated in Figure 5.
  • the LwM2M server device comprises a logical LwM2M server component and support on which the logical component is running.
  • the LwM2M server device may comprise a computing device or other computing architecture or physical computing entity that operates a LwM2M server.
  • the method 500 comprises, in a first step 510, transmitting, to a LwM2M client device, a first message requesting a location of a first notification resource that is associated with: a target resource hosted by the LwM2M client device; a first reporting query parameter; and a first reporting query parameter value.
  • a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value.
  • the first message may comprise a Create message or a Discover message, as will be described in more detail below.
  • the method 500 further comprises, in step 520, obtaining, from the LwM2M client device in response to the first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device.
  • Figure 6 shows a flow chart illustrating process steps in a further example of a method 600 performed by a LwM2M server device.
  • the steps of the method 600 illustrate example ways in which the steps of the method 500 may be implemented and supplemented in order to achieve the above discussed and additional functionality.
  • the method 600 comprises, in a first step 610, transmitting, to a LwM2M client device, a first message requesting a location of a first notification resource that is associated with: a target resource hosted by the LwM2M client device; a first reporting query parameter; and a first reporting query parameter value.
  • a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value.
  • the first message may comprise a Create message. In other examples, the first message may comprise a Discover message.
  • the method 600 comprises, in a second step 620, obtaining, from the LwM2M client device in response to the first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device.
  • the notification resource may be associated with the first reporting query parameter.
  • the obtaining step 620 may comprise, as illustrated at 624, obtaining a plurality of locations of a plurality of notification resources, the plurality of notification resources comprising the notification resource.
  • the notification resource obtained from the LwM2M client device may be associated with the target resource hosted by the LwM2M client device, but with a reporting query parameter that is different from the first reporting query parameter of the first message transmitted by the LwM2M server device.
  • the first message may comprise a Discover message, in response to which, the LwM2M server device may obtain a plurality of notification resources associated with the target resource from the LwM2M client device. It may be that none of the plurality of notification resources may be associated with the first reporting query parameter.
  • the notification resource obtained from the LwM2M client device may be associated with the target resource hosted by the LwM2M client device and with the first reporting query parameter of the first message transmitted by the LwM2M server device.
  • the LwM2M server may obtain a plurality of notification resources from the LwM2M client device of which at least one may be associated with the first reporting query parameter.
  • the LwM2M server device may obtain from the LwM2M client device a location of a notification resource that is associated with the target resource hosted by the LwM2M client device and with the first reporting query parameter.
  • the reporting query parameter value associated with the obtained notification resource from the LwM2M client device may be the same as or different from the first reporting query parameter value of the message transmitted by the LwM2M server device.
  • the method 600 further comprises, in step 630, assessing the obtained notification resource against a similarity criterion based on the first notification resource.
  • the similarity criterion may be based on, for example, a difference between the first reporting query parameter value and the reporting query parameter value of the notification resource obtained by the LwM2M server device from the LwM2M client device.
  • the similarity criterion may be associated with a purpose for which notifications relating to the target resource hosted by the LwM2Mclient device will be used.
  • the target resource may comprise a temperature resource
  • the first reporting query parameter and reporting query parameter value may be, respectively “greater than” and “4°Q”.
  • notification resource whose location is obtained in step 620 may be associated with various different combinations of reporting query parameter and reporting query parameter value, including for example: “greater than 6°C”, “greater than 12°C”, less than 4°C”.
  • the extent to which the obtained notification resource would provide notifications that are suitable for use by the LwM2M server may depend upon a match in required and provided reporting query parameters, and a similarity between the two reporting query parameter values.
  • the similarity criterion may comprise a threshold value for a difference between the reporting query parameter values.
  • the method 600 may further comprise, in step 650, transmitting, to the LwM2M client device, an Observe request identifying the obtained notification resource and requesting to be notified with updated representations of the obtained notification resource.
  • the similarity criterion may comprise a threshold difference and the difference between the first reporting query parameter value and the reporting query parameter value of the obtained notification resource may be below the threshold difference and thus meet the similarity criterion.
  • the LwM2M server device may therefore request to receive notifications based on the obtained notification resource via an Observe request identifying the obtained notification resource.
  • the method 600 may further comprise, in step 660, transmitting to the LwM2M client device, an Observe message identifying the target resource hosted by the LwM2M client device and requesting to be notified with updated representations of the target resource.
  • the similarity criterion may comprise a threshold difference and the difference between the first reporting query parameter value and the reporting query parameter value of the obtained notification resource may be greater than the threshold difference and thus may not meet the similarity criterion.
  • the LwM2M server device may therefore request to receive notifications via an observe request identifying he target resource, as opposed to the obtained notification resource.
  • the LwM2M server device may obtain a plurality of notification resources from the LwM2M client device.
  • the method 600 may further comprise assessing each of the plurality of notification resources against a similarity criterion with reference to the first notification resource. If at least one of the obtained notification resources meets the similarity criterion, the LwM2M server may transmit to the LwM2M client device an Observe message identifying the notification resource that meets the criterion and requesting to be notified with updated representations of the notification resource of the plurality.
  • the LwM2M server device may therefore request to receive notifications based on one of the obtained notification resources of the plurality. If no notification resources of the plurality meet the similarity criterion, the LwM2M server may transmit to the LwM2M client device an Observe message identifying the target resource hosted on the LwM2M client device and requesting to be notified with updated representations of the target resource.
  • Figures 7 and 8 are message flow diagrams illustrating example signalling exchanges in accordance with methods of the present disclosure.
  • Figure 7 illustrates an example of a message flow diagram 700 illustrating messages transmitted between a LWM2M Client device 710, a first LwM2M server device 720 and second LwM2M server device 730 over a LwM2M information reporting interface.
  • LwM2M client device 710 may comprise an loT device
  • the first LwM2M server 720 may comprise a device manager of a the loT device, located for example in a 3GPP core network.
  • the second LwM2M server 730 may comprise a server external to a network comprising the LWM2M Client device 710 and first LwM2M server device 720.
  • Figure 7 illustrates an example message exchange in which the first and second LwM2M server devices send Create messages, enabling the LwM2M client device to, in response to the second Create message, to propose an already created notification resource.
  • the first LwM2M server device 720 transmits a Create message to the LwM2M client device 710.
  • the Create message identifies a target resource “3303”, hosted on the LwM2M client device and identifying a current value of a temperature sensor.
  • the Create message includes in its payload a first reporting query parameter “gt” and a first reporting query parameter value “4”.
  • the first LwM2M server device 710 creates a notification resource in accordance with the target resource “3303”, first reporting query parameter “gt” and the first reporting query parameter value “4”.
  • the LwM2M client device exposes the location of the created notification resource to the first LwM2M server 720.
  • the LwM2M client device 710 may be configured to create the notification resource dependent on determining that no notification resource that is associated with the first reporting query parameter “gt” and the target resource “3303” currently exists, and no observation by any LwM2M server device of the target resource “3303”, which observation specifies the first reporting query parameter “gt”, is currently being maintained by the LwM2M client device.
  • the first sever device 720 transmits an Observe request to the LwM2M client device 710, identifying the exposed notification resource and requesting to be notified with updated representations of the exposed notification resource.
  • the first LwM2M server device 710 may assess the obtained notification resource against a similarity criterion with reference to the contents of the Create message, and to transmit the Observe request responsive to the obtained notification resource meeting the similarity criterion.
  • the similarity criterion may comprise a threshold difference and the LwM2M server device may compare a difference between the first query parameter value i.e. “4” with the query parameter value of the created notification resource i.e. “4”, to the threshold difference.
  • the first LwM2M server may determine that the similarity criterion is met, responsive to the difference being less than the threshold difference.
  • the LwM2M client device 710 transmits a notification message to the first LwM2M server device 720 notifying the first LwM2M server device 720 that the temperature sensor has a value of 10°C.
  • the second LwM2M server 730 transmits a second Create message to the LwM2M client device 710.
  • the second Create message identifies the same the target resource hosted by the LwM2M client device, temperature sensor “3303”, and includes in its payload a second reporting query parameter “gt”, a second reporting query parameter value “6”, and.
  • the LwM2M client device 710 In response to the second Create message, the LwM2M client device 710, identifies the previously created notification resource that is associated with the same target resource hosted by the LwM2M client device (3303) and with the second reporting query parameter “gt”. The LwM2M client device exposes to the second LwM2M server device 730 the location of the identified existing notification resource in step 713. In step 732, the second LwM2M server device 730 transmits an Observe request to the LwM2M client device 710, the Observe request identifying the exposed notification resource and requesting to be notified with updated representations of the exposed notification resource.
  • the second LwM2M server device 730 is configured to perform a similar assessment to that described above with reference to the first LwM2M server in order to determine whether the exposed notification resource will be suitable for its requirements. This may comprise comparing a difference between the reporting query parameter value of the exposed notification resource “4” against the reporting query parameter value of the second Create message “6”, to a difference threshold.
  • the similarity criterion may comprise a threshold difference e.g. 3°C, and the LwM2M server device may compare a difference between the second query parameter value of the second Create message “6” with the query parameter value of the exposed notification resource “4”, to the threshold difference. In such an example, the difference between the query parameter value of the exposed notification resource and the second query parameter value is less than the threshold difference 3 and thus the similarity criterion is met.
  • the LwM2M client device 710 transmits a notification message to the second LwM2M client device 730 notifying the second LwM2M client device 730 that the temperature sensor has a value of 10°C.
  • step 715 the LwM2M client device 710 transmits a notification message to the first LwM2M server device 720 notifying the first LwM2M server device 720 that the temperature sensor has a value of 5°C, thus fulfilling the conditions for notification.
  • step 716 the LwM2M client device 710 transmits a notification message to the second LwM2M client device 730 notifying the second LwM2M server device 730 that the temperature sensor has a value of 5°C.
  • the LwM2M client device 710 may therefore continue to notify the first LwM2M server device 720 and second LwM2M server device 730, each time the value of the target resource meets fulfils the conditions expressed by the query information associated with the observed notification resource.
  • the LwM2M client device 710 transmits a notification message to the first LwM2M client device 720 notifying the first LwM2M server device 720 that the temperature sensor has a value of 7°C and, in step 718, the LwM2M client device 710 transmits a notification message to the second LwM2M server device 730 notifying the second LwM2M server device 730 that the temperature sensor has a value of 7°C.
  • Figure 8 illustrates another example of a message flow diagram 800 illustrating messages transmitted between a LWM2M Client device 810, a first LwM2M server device 820 and second LwM2M server device 830 over an information reporting interface.
  • LwM2M client device 810, a first LwM2M server device 820 and second LwM2M server device 830 may comprise the same entities and be configured to perform the same functionality, as described above with reference to Figure 7.
  • Figure 8 illustrates an example of messages transmitted over an information reporting interface in response to a Discover message.
  • first LwM2M server 820 transmits a Discover message to LwM2M client device 810.
  • the Discover message identifies the target resource “3303.
  • the LwM2M client device 810 expose, to the first LwM2M server device 820, a plurality of locations of a plurality of notification resources.
  • the plurality of notification resources may comprise notification resources created by the LwM2M client device 810 in response to previously received Create messages.
  • the LwM2M client device 810 may provide a list of each notification resource location and an associated link attribute specifying the query information (reporting query parameter and reporting query parameter value) of the notification resource.
  • one, some or all of the plurality of notification resources may comprise existing observations being maintained in response to observe requests identifying the target resource “3303”.
  • the LwM2M client device 810 transmits a notification message to the first LwM2M server device 820 notifying the first LwM2M server device 820 that the temperature sensor has a value of 10°C.
  • second LwM2M server device 830 transmits a second Discover message to LwM2M client device 810.
  • the second Discover message identifies the same target resource “3303” as the earlier Discover message sent by the first LwM2M server device in step 821.
  • LwM2M client device 810 In response to the second Discover message, in step 813, LwM2M client device 810 exposes a second plurality of notification resources to first LwM2M server device 820. If some time has passed since the first Discover message, different notification resources may now be in existence at the LwM2M client device 810.
  • the LwM2M client device 810 may provide a list of each notification resource location and an associated link attribute specifying the query information (reporting query parameter and reporting query parameter value) of the notification resource.
  • the LwM2M client device 810 transmits a notification message to the second LwM2M server device 830 notifying the second LwM2M server device 830 that the temperature sensor has a value of 10°C.
  • the LwM2M client device 810 transmits notification messages to the first and second LwM2M server devices 820 and 830 in steps 815 and 816.
  • the notification messages indicate that the temperature sensor has a value of 5°C, thus fulfilling the conditions for notification.
  • the LwM2M client device 810 continues to notify the first LwM2M server device 820 and second LwM2M server device 830, each time the value of the target resource fulfils the conditions expressed in the query information associated with the observed notification resource.
  • the LwM2M client device 810 transmits a notification message to the first LwM2M server device 820 notifying the first LwM2M server device 820 that the temperature sensor has a value of 7°C and, in step 818, the LwM2M client device 810 transmits a notification message to the second LwM2M server device 830 notifying the second LwM2M server device 830 that the temperature sensor has a value of 7°C.
  • the methods 300 and 400 are performed by a LwM2M client device and the methods 500 and 600 are performed by a LwM2M server device.
  • the present disclosure provides a LwM2M client device and LwM2M server device which are adapted to perform any or all of the steps of the above discussed methods.
  • the LwM2M client device and LwM2M server device may comprise constrained devices and/or logical or other functions.
  • FIG. 9 is a block diagram illustrating a LwM2M client device 900 which may implement the methods 300 or 400 according to examples of the present disclosure, for example on receipt of suitable instructions from a computer program 950.
  • the LwM2M client device 900 comprises a processor or processing circuitry 902, and may comprise a memory 904 and interfaces 906.
  • the processing circuitry 902 is operable to perform some or all of the steps of the methods 300 or 400 as discussed above with reference to Figures 3 and 4a-d.
  • the memory 904 may contain instructions executable by the processing circuitry 902 such that the LwM2M client device 900 is operable to perform some or all of the steps of the methods 300 or 400.
  • the instructions may also include instructions for executing one or more telecommunications and/or data communications protocols.
  • the instructions may be stored in the form of the computer program 950.
  • the interfaces 906 may comprise one or more interface circuits supporting wired or wireless communications according to one or more communication protocols.
  • the interfaces 906 may support exchange of messages in accordance with examples of the methods disclosed herein, and may for example comprise one or more LwM2M interfaces.
  • Figure 10 is a block diagram illustrating a LwM2M server device 1000 which may implement the methods 500 or 600 according to examples of the present disclosure, for example on receipt of suitable instructions from a computer program 1050.
  • the LwM2M server device 1000 comprises a processor or processing circuitry 1002, and may comprise a memory 1004 and interfaces 1006.
  • the processing circuitry 1002 is operable to perform some or all of the steps of the methods 500 or 600 as discussed above with reference to Figures 5 and 6.
  • the memory 1004 may contain instructions executable by the processing circuitry 1002 such that the LwM2M server device 1000 is operable to perform some or all of the steps of the method 300.
  • the instructions may also include instructions for executing one or more telecommunications and/or data communications protocols.
  • the instructions may be stored in the form of the computer program 1050.
  • the interfaces 1006 may comprise one or more interface circuits supporting wired or wireless communications according to one or more communication protocols.
  • the interfaces 1006 may support exchange of messages in accordance with examples of the methods disclosed herein, and may for example comprise one or more LwM2M interfaces.
  • aspects and examples of the present disclosure provide a mechanism for information reporting between LwM2M devices that reduces the burden on a LwM2M client device hosting a resource by reducing the amount of information that must be stored by the LwM2M client device in order to support observation of its resources by LwM2M server devices.
  • the mechanism enables a plurality of LwM2M server devices to subscribe to a single notification resource associated with a target resource hosted by a LwM2M client device.
  • the plurality of LwM2M server devices may receive notifications representative of the value of the target resource based on the notification resource.
  • LwM2M client device This allows the LwM2M client device to maintain state for a single notification resource to which multiple LwM2M server devices may subscribe, as opposed to maintaining state for every observe query received by the LwM2M client device.
  • the burden on the LwM2M client device for supporting observation of its hosted target resources is consequently reduced when compared to the LwM2M client device marinating state for each query received from each LwM2M server device.
  • the reduced burden on the LwM2M client device improves the scalability of the information reporting interface in LwM2M messaging protocols.
  • a Create message that may be transmitted from a LwM2M server device to a LwM2M client device.
  • the LwM2M client device may create a notification resource, which may be subscribed to by the LwM2M server device that transmitted the Create message and other LwM2M server devices.
  • the LwM2M client device may expose the location of an already existing notification resource that is associated with the same target resource and reporting query parameter as are specified in the transmitted Create message.
  • the LwM2M server device may choose to subscribe to the exposed notification resource that is already being maintained by the LwM2M client device, thus improving the efficiency of information reporting.
  • a LwM2M server device may also or alternatively transmit a Discover message that to a LwM2M client device.
  • the LwM2M client device may expose to the LwM2M server device the location of one or more notification resources associated with a target resource.
  • the LwM2M server device may subscribe to one of the plurality of the notification resources, thereby also reducing the burden on the LwM2M client device , or may seek to create a new notification resource, or may simply observe the target resource in accordance with existing procedures.
  • examples of the present disclosure may be virtualised, such that the methods and processes described herein may be run in a cloud environment.
  • 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.

Abstract

A Lightweight Machine to Machine (LwM2M) client device (710) is disclosed. The LwM2M client device (710) comprises processing circuitry configured to cause the LwM2M client device to receive, from a first LwM2M server device (720), a first message (721) requesting a location of a first notification resource that is associated with a target resource hosted by the LwM2M client device (710), a first reporting query parameter, and a first reporting query parameter value. A value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device (710), the query comprising the first reporting query parameter and the first reporting query parameter value. The processing circuitry is further configured to cause the LwM2M client device (710) to expose, to the first LwM2M server device (720) in response to the received first message (721), a location (711) of a notification resource that is associated with the target resource hosted by the LwM2M client device (710). Also disclosed are a LwM2M server device (720) and associated methods.

Description

LwM2M client device, server device, and methods thereof
Technical Field
The present disclosure relates to a Lightweight Machine to Machine (LwM2M) client device and to a LwM2M server device. The present disclosure also relates to methods performed by a LwM2M client device and a LwM2M server device, to a corresponding computer program, a corresponding carrier, and a corresponding computer program product.
Background
The “Internet of Things” (loT) refers to systems of 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. A popular vision of loT comprises large numbers of such small autonomous devices, transmitting and receiving small amounts of data, typically relatively infrequently. loT 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 may operate according to a range of protocols, including widely used protocols such as Internet Protocol (IP) v4 or IPv6, and dedicated protocols for constrained devices, including for example the Constrained Application Protocol (CoAP).
CoAP is a generic Representational state transfer (REST) application protocol for constrained devices, defined in RFC 7252. CoAP is designed to be used over the user datagram protocol (UDP), defined in RFC 0768, for communication over the Internet.
Lightweight M2M (LwM2M) is an application layer protocol defined by the Open Mobile Alliance (OMA) standardisation body for managing resource-constrained devices (loT devices). LwM2M defines a protocol between a LwM2M Server and a LwM2M Client. According to the LwM2M specification, a LwM2M client is a component running on a device implementing the client-side functionality of the LwM2M protocol for interacting with a LwM2M Server and a LwM2M Bootstrap-Server. LwM2M Clients are often implemented in loT devices and gateways. A LwM2M server is a component implementing the server-side functionality of the LwM2M protocol for interacting with a LwM2M Client. LwM2M Server software is often, although not necessarily, running on a non-loT device, such as an on-premise server or in a cloud-based infrastructure. A LwM2M device is a computing device that operates a LwM2M client or LwM2M server. LwM2M includes several interfaces to manage LwM2M devices, including a bootstrap interface, a registration interface, a device management and service enablement interface, and an information reporting interface.
The LwM2M Information Reporting Interface is defined in section 6.4 of the Lightweight Machine to Machine Technical Specification: Core, version 1.2 (http://www.openmobilealliance.org/release/LightweightM2M/V1_2-20201110-A/). The information reporting interface is used by LwM2M server devices or applications to observe resources hosted by LwM2M client devices, receiving notifications every time the state of a resource changes. For example, the hosted resource may comprise a temperature sensor and a notification may be received every time the temperature increases above a specified value. In another example, the hosted resource may comprise an actuator and a notification may be received every time the actuator is active. Information reporting requests are sent using the CoAP Observe option, and include query parameters to express the conditions under which a notification should be sent (e.g. “?rt=light-lux”).
LwM2M client devices maintain a state for every request for notifications that is being serviced. The state maintained for each request message may contain the following information: IP address to which notifications should be sent (16 bytes), UDP port (2 bytes), CoAP token (8-16 bytes), LwM2M security context (about 200-300 bytes per client), temporary resource for each query parameter combination/value (about 10 bytes per query parameter).
A LwM2M client device therefore maintains a state comprising hundreds of bytes for each observe request made by a LwM2M server device or application. In a typical deployment, multiple applications and LwM2M servers may be observing the state of various resources in every LwM2M client device in the deployment. LwM2M client devices may consequently receive hundreds of observations per hosted resource. Maintaining the required state for all of these requests is a significant burden on the LwM2M client device, and may lead to difficulties in scaling the system for use with a larger number of LwM2M devices.
Summary
It is an aim of the present disclosure to provide a LwM2M client device, a LwM2M server device, methods and a computer readable medium which at least partially address one or more of the challenges discussed above.
According to an aspect of the present disclosure, there is provided a Lightweight Machine to Machine (LwM2M) client device, the LwM2M client device comprising processing circuitry configured to cause the LwM2M client device to receive, from a first LwM2M server device, a first message requesting a location of a first notification resource that is associated with a target resource hosted by the LwM2M client device, a first reporting query parameter; and a first reporting query parameter value. A value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value. The processing circuitry is further configured to cause the LwM2M client device to expose, to the first LwM2M server device in response to the received first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device
According to another aspect of the present disclosure, there is provided a LwM2M server device, the LwM2M server device comprising processing circuitry configured to cause the LwM2M server device to transmit, to a LwM2M client device, a first message requesting a location of a first notification resource that is associated with a target resource hosted by the LwM2M client device, a first reporting query parameter, and a first reporting query parameter value. A value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value. The processing circuitry is further configured to cause the LwM2M server device to obtain, from the LwM2M client device in response to the message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device. According to another aspect of the present disclosure, there is provided a method performed by a LwM2M client device, the method comprising receiving, from a first LwM2M server device, a first message requesting a location of a first notification resource that is associated with a target resource hosted by the LwM2M client device, a first reporting query parameter, and a first reporting query parameter value. A value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value. The method further comprises exposing, to the LwM2M server device in response to the received first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device.
According to another aspect of the present disclosure, there is provided a method performed by a LwM2M server device, the method comprising transmitting, to a LwM2M client device, a first message requesting a location of a first notification resource that is associated with a target resource hosted by the LwM2M client device, a first reporting query parameter, and a first reporting query parameter value. A value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value. The method further comprises obtaining, from the LwM2M client device in response to the first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device.
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 preceding 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 a preceding aspect of the present disclosure.
Brief Description of the Drawings
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:
Figure 1 is an abstract view of observation components for two resources being observed;
Figure 2 is a message flow diagram illustrating an example of communications between LwM2M devices;
Figure 3 is a flow chart illustrating a method performed by a LwM2M client device;
Figures 4a-d are other flow charts illustrating a method performed by a LwM2M client device;
Figure 5 is a flow chart illustrating a method performed by a LwM2M server device;
Figure 6 is another flow chart illustrating a method performed by a LwM2M server device;
Figure 7 is another message flow diagram illustrating an example of communications between LwM2M devices;
Figure 8 is another message flow diagram illustrating an example of communications between LwM2M devices;
Figure 9 is an example of a LwM2M client device;
Figure 10 is an example of a LwM2M server device. Detailed Description
In order to provide additional context for the present disclosure, there now follows a discussion of observation procedures according to section 6.4 of the Lightweight Machine to Machine Technical Specification: Core, version 1.2. Figure 1 is an abstract view 100 of observation components for two resources being observed by observers. Referring to Figure 1 , observers 110, 120, 130 and 140 are observing first resource 101a and second resource 101b, hosted by a LwM2M client device. First and second resources 101a and 101b may for example be associated with temperature sensors, pressure sensors, etc. In the following description, it is assumed that resources 101a and 101b are temperature resources.
Each observer 110 to 140 is associated with a token, II, V, X or Y. The plurality of observers may be associated with a single LwM2M server device or with multiple different LwM2M server devices. As illustrated in Figure 1 , each observer is associated with a client IP address, a UDP port and a security context, illustrated collectively as LwM2M server device information 103a-c. In the illustrated example, observers 120 and 140 are associated with the same LwM2M server device, and therefore they share the same LwM2M server device information 103b. Each of observers 110 and 130 is associated with a different LwM2M server device and consequently with different server device information 103a, 103c. Observers 110, 120 and 130 are all observing first resource 101a, and observer 140 is observing second resource 101b.
As discussed above, the LwM2M client device hosting resources 101a, 101 b creates a state for each observation request that it is servicing. This state is illustrated in Figure 1 at 104a and 104b. State 104a, created in response to observe requests from observer 110 and observer 120, is “A?gt=4”. “A” refers to first resource 101a and identifies the target of the observe request, “gt” is the query parameter “greater than” and “4” is the query parameter value. Observers 110 and 120 have therefore requested notifications when resource 101a is greater than 4. State 104b, created in response to an observe request from observer 130 is “A?gt=6”. State 104b thus comprises the same query parameter as state 104a but a different query parameter value, as observer 130 has requested notifications when first resource 101ais greater than 6.
Figure 1 illustrates only two resources and four observers, however it will be appreciated that in a typical deployment comprising a large number of observers, and many hosted resources per device, the amount of state that must be maintained by each LwM2M client device increases rapidly with each additional observation.
Figure 2 is an example message flow diagram 200 illustrating messages transmitted between a LWM2M Client device 210, a first LwM2M server device 220 and second LwM2M server device 230 according to information reporting procedures as set out in version 1 .2 of the LwM2M specification referenced above. The LwM2M client device 210 is hosting a temperature resource “3303”, at the address coap://[ipv6]/3303. In the illustrated example, the first LwM2M server device 220 comprises a device manager, located for example in a 3GPP core network, and configured to manage the LwM2M client device 210. The second LwM2M server device 230 comprises a server device that is external to the network comprising the first LwM2M server device 210. With reference also to Figure 1 , the first LwM2M server device 220 may comprise observers 110 and 120 of the deployment of Figure 1 , while the second LwM2M server device 230 may comprise observer 130 of the deployment of Figure 1. The resource “3303” hosted by the LwM2M client device 210 may comprise resource A of the deployment 100.
According to existing procedures, in step 221 , the first LwM2M server device 220 transmits a first Observe request to LwM2M client device 210 including the query parameter gt and the parameter value 4, (OBSERVE/3303?gt=4). The query information “gt=4” indicates that a notification should be sent in response to the request every time the value of the temperature sensor is greater than 4. The current value of the temperature resource “3303” is 10 degrees Celsius (°C), which fulfils the query condition. In step 211 , the LwM2M client device 210 therefore transmits a notification message to the first LwM2M server device 220, notifying first LwM2M server device 220 that the value of the temperature sensor is “10 degC”.
In step 231 , the second LwM2M server device 230 transmits a second Observe request to the LwM2M client device 210 including the query parameter gt and the parameter value 6, (OBSERVE/3303?gt=6). The query information “gt=6” indicates that a notification should be sent in response to the request every time the value of the temperature sensor is greater than 6. As the current value of the temperature resource “3303” (10 degrees Celsius) fulfils the query condition, in step 212, the LwM2M client device 210 transmits a notification message to the second LwM2M server device 230, notifying second LwM2M server device 230 that the value of the temperature sensor is “10 degC”. The LwM2M client device 210 maintains states for the two observer requests it has received, and consequently continues to notify the first and second LwM2M server devices 220 and 230 each time the value of the temperature sensor fulfills the conditions corresponding to the query information expressed in the Observe requests. For example, in step 213, LwM2M client device 210 transmits a notification message to the first LwM2M server device 220, notifying the first LwM2M server device 220 that the temperature is “5 degC”. The second LwM2M server device 220 does not receive a corresponding notification at this time because the value of the temperature sensor is not above 6, and so does not fulfill the condition in the state maintained for the second Observe request sent by the second LwM2M server device 230 in step 231 .
Referring still to Figure 2, in step 214, LwM2M client device 210 transmits a notification message to the first LwM2M server device 220, notifying first LwM2M server device 220 that the value of the temperature sensor is “7 degC”. As this temperature also fulfils the condition for notification to the second LwM2M server device 230, the LwM2M client device 210 also transmits a notification message to the second LwM2M server device 230 in step 215.
As discussed above, maintaining state for every observe request received by a LwM2M client device requires the LwM2M client device to use a considerable amount of its available memory resource solely for this purpose, as the state for a single query parameter requires approximately 10 bytes of information. Aspects and examples of the present disclosure offer a mechanism to reduce this burden. The mechanism proposes the concept of a “notification resource” which notification resource may be considered as an alternative to the state that is currently maintained for an observation request. A notification resource is associated with a target resource hosted by a LwM2M client device, a query parameter and a query parameter value. A value of the notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value. In contrast to a state as maintained in current procedures, a notification resource may be exposed by the LwM2M client device, and may consequently be discovered and observed by multiple different observers, offering economies of scale for the LwM2M client device. Instead of transmitting a new observation request for a target resource, a LwM2M server device may simply discover what notification resources already exist for the target resource, and observe one of the existing notification resources. In a further example of the present disclosure, a LwM2M client device may propose an existing notification resource when it receives a request to create a new notification resource for the same target resource and having a similar query condition to that associated with the existing notification resource for the target hosted resource. A notification resource is distinguished from other types of resource that may be hosted by a LwM2M client device in that a notification resource does not provide an interface to interact with a physical entity such as a sensor or actuator, it does not represent a value or other parameter associated with a physical entity, but rather represents the value of a notification that would be sent in accordance with an observation request on another, target resource hosted by the LwM2M client device. Owing to the close association between a notification resource and an observation request, a notification resource may in some examples be referred to or considered as an “observational resource”.
The present disclosure proposes two mechanisms by which a LwM2M server device may use a notification resource to observe a target resource. In one mechanism, a LwM2M server device may request the creation of a new notification resource. A LwM2M server device may transmit a Create message to a LwM2M client device, the Create message comprising a request to create a notification resource associated with a specified target resource hosted by the LwM2M client device. The Create message includes query information that would be associated with a CoAP Observe request, for example, the address of the resource that is the target of the request, a query parameter and a query parameter value. In response to the Create message, the LwM2M client device creates the requested notification resource and exposes its location to the LwM2M server device. The LwM2M server device, and other LwM2M server devices as discussed below, may then observe the created notification resource, receiving notifications every time a value of the notification resource changes.
In some examples, on receipt of a Create message requesting creation of a new notification resource, a LwM2M client device may first check whether a notification resource for the target hosted resource already exists, and whether such existing notification resource may fulfil a similarity criterion, such that the LwM2M client device may propose the existing notification resource to the requesting LwM2M server device, as opposed to creating a new notification resource as requested. The similarity criterion may for example require that the existing notification resource be associated with the same target resource hosted by the LwM2M client device, and include the same query parameter, although the query parameter value may be different. If an existing notification resource fulfils the similarity criterion, the LwM2M client device may supply the location of the existing notification resource to the requesting LwM2M server in response to the create request. The requesting LwM2M server is then free to either observe the proposed notification request, or to send a conventional observe request for the target resource, if the proposed notification resource will not fulfil the LwM2M server device’s requirements.
According to another mechanism proposed herein, a LwM2M server device may use discovery to find out what notification resources exist at a client device, and then either observe an existing notification resource, or send a conventional Observe request for the relevant target resource hosted on the LwM2M client device, if none of the existing notification resources will satisfy the LwM2M server device’s requirements. In response to a received Discover message, a LwM2M client device may expose the location not only of existing notification resources that have been created via a Create request from a LwM2M server device, but also notification resources corresponding to state created for conventional observation requests received for resources hosted on the LwM2M client device. In this way, state for observation requests received in the conventional manner may in effect by “reused”, so as to minimise the amount of state, and the number of notification resources maintained by the LwM2M client device.
Figure 3 is a flow chart illustrating process steps in a method 300 performed by a LwM2M client device according to examples of the present disclosure. The LwM2M client device comprises a computing device that is operable to run a LwM2M client. The LwM2M client device may comprise an loT device, and may be a constrained device. The LwM2M client device may be operable to host a target resource, which may be a sensor resource, an actuator resource, etc.
Referring to Figure 3, the method 300 comprises, in a first step 310, receiving, from a first LwM2M server device, a first message requesting a location of a first notification resource that is associated with: a target resource hosted by the LwM2M client device; a first reporting query parameter, and a first reporting query parameter value. As illustrated at 310a, a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value. The first message may comprise a request to create the first notification resource, and consequently an implicit request to provide the location of the created observational resource. Alternatively, the first message may comprise a discovery message seeking to discover the location of notification resources that already exist. A discovery message may request locations of notification resources associated with a specific target resource, query parameter and/or query parameter values, or may request any notification resources associated with any target resources hosted on the LwM2M client device. It will be appreciated that he “first message” is distinguished from a conventional CoAP GET request using the Observe option by the fact that it requests the location of a notification resource, as opposed to querying a resource value.
The method 300 further comprises, in step 320, exposing, to the LwM2M server device and in response to the received first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device. In some examples, the LwM2M client device may create the notification resource in response to a first message that is a request to create a notification resource, and may expose the location of the created notification resource to the LwM2M server device. In further examples, the LwM2M client device may expose a location of one or more existing notification resources to the LwM2M server device, in response to a discovery message or in response to a create message. It will be appreciated that the first message specifies a request for a location of a “first” notification resource, while the client device exposes a location of “a” notification resource based on the received first message. The location provided by the client device may in some examples not correspond to the first notification resource, for example in a discovery operation in which no notification resources matching the first notification resource are present in the provided list, or if in response to a create request the LwM2M client device provides locations of one or more similar already existing notification resources.
Figures 4a-d show flow charts illustrating process steps in further examples of a method 400 performed by a LwM2M client device. The steps of the method 400 illustrate example ways in which the steps of the method 300 may be implemented and supplemented in order to achieve the above discussed and additional functionality.
Referring to Figure 4a, the method 400 comprises, in a first step 410, receiving, from a first LwM2M server device, a first message requesting a location of a first notification resource that is associated with: a target resource hosted by the LwM2M client device; a first reporting query parameter, and a first reporting query parameter value. As described above with reference to step 310 of the method 300, a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value.
The method 400 further comprises, in step 420, exposing, to the LwM2M server device in response to the received first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device. As illustrated in step 422, that the notification resource may be associated with the first reporting query parameter, in addition to being associated with the target resource hosted by the LwM2M client device. Examples of reporting query parameters include “greater than” (gt), “less than” (It), “minimum period” (pmin), “maximum period”, (pmax), “step” (st), “edge” (edge), etc. A list of query reporting parameters is included Table 5.1.2-2 “class Attributes”, in section 5.1.2 of the LwM2M Technical Specification V1.2 referenced above. So if the first reporting query parameter which may be associated with the first message is a “greater than” parameter, the query parameter of the notification resource whose location is exposed to the LwM2M server may also be associated with a “greater than” query parameter. The reporting query parameter value associated with the exposed notification resource may be the same as, or different from, the first reporting query parameter value. For example, if the first reporting query parameter value which may be associated with the first message, comprises 4°C, the reporting query parameter value associated with the notification resource whose location is exposed may also comprise 4°C or may comprise a different value. The implications for any difference between the first reporting query parameter value and the reporting query parameter value of the notification resource whose location is exposed are discussed below, with reference to actions carried out in a LwM2M server device.
The exposing step 420 may comprise, as illustrated at 424, exposing a plurality of locations of a plurality of notification resources, the plurality of notification resources comprising the notification resource referred to above with reference to step 420. Further detail of how the LwM2M client device determines which notification resource should have its location exposed at step 420 is discussed below, with reference to Figure 4c. In some examples, the first message may comprise a Create message, and the LwM2M client device may perform method steps as discussed below with reference to Figure 4c, which may result in the LwM2M client device creating the first notification resource and exposing a location of the created first notification recourse to the first LwM2M server in step 420. In other examples, the method steps in Figure 4c may result in the LwM2M client device exposing the location of an already existing notification resource in step 420. In such examples, the LwM2M server may already have performed discovery to determine what resources are hosted on the LwM2M client device.
In further examples, the first message may comprise a Discover message. In such examples, responsive to the Discover message, the LwM2M client device may be configured to expose a plurality of notification resources to the LwM2M server device. In some examples, the plurality of notification resources may comprise all of the notification resources existing on the LwM2M client device. In further examples, the plurality of notification resources may comprise all of the notification resources existing on the LwM2M client device and that are associated with the target resource.
Referring still to Figure 4a, the method 400 may further comprise, in step 430, receiving from the first LwM2M server device, an Observe message identifying the exposed notification resource, and requesting to be notified with updated representations of the exposed notification resource. Such a message may also be referred to as an Observe request. In such examples, responsive to the Observe message received from the first LwM2M server, the LwM2M client device may notify the first LwM2M server device whenever the value of the exposed notification resource changes. The value of the exposed notification resource will change when the value of the target resource, with which the notification resource is associated, fulfils the conditions specified by the reporting query parameter and reporting query value of the exposed notification resource. For example, if the target resource provides the temperature value of a temperature sensor, the reporting query parameter comprises “gt” and the reporting query value comprises “4°C”, the value of the notification resource will change, and the LwM2M client device may transmit a notification to the LwM2M server device, when the value of the temperature resource is greater than 4°C.
Referring now to Figure 4b, the method 400 may further comprise, in step 440, receiving from a second LwM2M server device a second message. The second message requests a location of a second notification resource associated with the target resource hosted by the LwM2M client device, with a second reporting query parameter, and with a second reporting query parameter value. A value of the second notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the second reporting query parameter and the second reporting query parameter value.
The method 400 further comprises, in step 450, exposing to the second LwM2M server device in response to the received second message, the location of the same notification resource whose location was exposed to the first LwM2M server device in response to the received first message. In some examples, the second message may comprise a Discover message. In such examples, the notification resource that was exposed to the first LwM2M server may therefore be exposed to the second message as part of a plurality of notification resources.
In some examples, exposing the location of the same notification resource in step 450 may be conditional upon the second reporting query parameter being the same as the first reporting query parameter. Consequently, the exposing step 450 may comprise, in step 452, determining whether the second reporting query parameter is the same as the first reporting query parameter. The exposing step 450 may further comprise, in step 454, exposing to the second LwM2M server device the location of the same notification resource whose location was exposed to the first LwM2M server device, if the second reporting query parameter is the same as the first reporting query parameter.
The second message may comprise a Create message, and may for example be received following a first message that was also a Create message. In such examples, the LwM2M client device may determine whether the second reporting query parameter of the second Create message from the second LwM2M server is the same as the first reporting query parameter of the first Create message from the first LwM2M server. For example, the first reporting query parameter and the second reporting query parameter may both comprise the “gt” reporting query parameter. Responsive to determining that the first reporting query parameter of the first Create message and the second reporting query parameter of the second Create message are the same, the LwM2M client device may expose the same notification resource to the second LwM2M client device that was exposed to the first LwM2M client device. Referring still to Figure 4b, the method 400 may further comprise, in step 460, receiving, from the second LwM2M server device, an Observe request identifying the exposed notification resource and requesting to be notified with updated representations of the exposed notification resource. In such examples, responsive to the Observe message received from the second LwM2M server, the LwM2M client device may notify the second LwM2M server device whenever the value of the exposed notification resource changes. The value of the exposed notification resource will change when the value of the target resource, with which the notification resource is associated, fulfils the conditions specified by the reporting query parameter and reporting query value of the exposed notification resource.
As discussed above, Figure 4c illustrates process steps that may be performed by the LwM2M client device between steps 410 and 420, in order to determine what notification resource should have its location exposed to the first LwM2M server. Similar steps may be performed between steps 440 and 450 with reference to the second message.
Referring to Figure 4c, following the step 410 of receiving the first message, the method 400 may further comprise, in step 411 , identifying any existing notification resource that is associated with the target resource hosted by the LwM2M client device and the first reporting query parameter. A notification resource associated with the target resource hosted by the LwM2M client device and the first reporting query parameter may for example have been created by the LwM2M client device in response to a previously received Create message. In one example, if the first reporting query parameter is the “gt” query parameter, and the target resource comprises a temperature resource “3303”, the LwM2M client device may identify in step 411 any existing notification resource that is associated with the temperature resource “3303” and the “gt” reporting query parameter. Any existing notification resource or resources that are identified may themselves be being observed by other LwM2M server devices, as a notification resource may be deleted by the LwM2M client when it is no longer being observed by any LwM2M server device.
In step 412, the method 400 comprises identifying any observation by any LwM2M server device of the target resource hosted by the LwM2M client device which observation specifies the first reporting query parameter. In some examples, the LwM2M client device may be maintaining state associated with an Observe request received from a LwM2M server device (for example if a LwM2M server device sent a conventional observe request for the target resource as opposed to creating or discovering a notification resource associated with the target resource). In such examples, the LwM2M client device may be configured to identify any existing observations associated with a corresponding target resource and corresponding reporting query parameter to the target resource and first reporting query parameter, if the first reporting query parameter is the “gt” query parameter, and the target resource comprises a temperature resource “3303”, the LwM2M client device may identify in step 411 any currently maintained observation that is associated with the temperature resource “3303” and the “gt” reporting query parameter.
In step 413, the LwM2M client device determines whether any notification resources or existing observations were identified in step 411 or step 412. If one or more existing notification resources were identified at step 411 , the location(s) of these identified notification resources are exposed by the LwM2M client device in step 420, illustrated in Figure 4c as step 420a. If one or more existing observations were identified at step 412, the identified observations are exposed by the LwM2M client device in step 420 as notification resources, illustrated in Figure 4c as step 420a.
If no existing notification resources or existing observations were identified in step 411 or 412, the LwM2M client device, and the first message was a Discover message, then the LwM2M client device may send a suitable response indicating that no resources corresponding to the discovery request exist on the LwM2M client device. If however the first message was a Create message (Yes at step 414), the method may further comprise creating the first notification resource in accordance with the first reporting query parameter, the first reporting query parameter value, and the target resource. The method may then comprise exposing a location of the newly created notification resource in step 420, illustrated in Figure 4c as step 420b.
As illustrated in Figure 4c, the creation of the first notification resource may be dependent on two conditions. The first condition is that no notification resource that is associated with the target resource hosted by the LwM2M client device and with the first reporting query parameter currently exists on the LwM2M client device. The second condition is that no observation by any LwM2M server device of the target resource hosted by the LwM2M client device, which observation specifies the first reporting query parameter, is currently being maintained by the LwM2M client device. If a notification resource or observation for the same target resource and the same reporting query parameter as specified in a Create message already exist on the LwM2M client device, then the LwM2M client device exposes a location of the existing notification resource, or exposes the observation as a notification resource, rather than creating a new notification resource. In this manner, the LwM2M client device attempts to reuse existing notification resources and observations. The reuse of existing notification resources and observations, as opposed to maintaining state for every query received by the LwM2M client device, may reduce the amount of memory that the client device is required to devote to supporting observation of its resources by LwM2M server devices.
It will be appreciated that in some examples, as discussed in further detail below, a LwM2M server device may determine that the exposed notification resource is not suitable for its requirements, in which case the LwM2M server device may send an observe request for the target resource, as illustrated in Figure 4d.
Referring to Figure 4d, following the steps 410 and 420 of receiving the first message and exposing a location of a notification resource in response to the first message, the method 400 may further comprise, in step 470, receiving from the first LwM2M server device an Observe request identifying the target resource hosted by the LwM2M client device and requesting to be notified with updated representations of the target resource. The method 400 may further comprise, in step 480, providing, to the first LwM2M server device, updated representations of the target resource in accordance with the received Observe request. The LwM2M client device thus follows existing procedures when receiving an observe request for a target resource hosted on the LwM2M client device.
The methods 300 and/or 400 may be complemented by a method 500 performed by a LwM2M server device as illustrated in Figure 5. The LwM2M server device comprises a logical LwM2M server component and support on which the logical component is running. The LwM2M server device may comprise a computing device or other computing architecture or physical computing entity that operates a LwM2M server.
Referring to Figure 5, the method 500 comprises, in a first step 510, transmitting, to a LwM2M client device, a first message requesting a location of a first notification resource that is associated with: a target resource hosted by the LwM2M client device; a first reporting query parameter; and a first reporting query parameter value. As illustrated at 510a, a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value. In some examples, the first message may comprise a Create message or a Discover message, as will be described in more detail below. The method 500 further comprises, in step 520, obtaining, from the LwM2M client device in response to the first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device.
Figure 6 shows a flow chart illustrating process steps in a further example of a method 600 performed by a LwM2M server device. The steps of the method 600 illustrate example ways in which the steps of the method 500 may be implemented and supplemented in order to achieve the above discussed and additional functionality.
Referring to Figure 6, the method 600 comprises, in a first step 610, transmitting, to a LwM2M client device, a first message requesting a location of a first notification resource that is associated with: a target resource hosted by the LwM2M client device; a first reporting query parameter; and a first reporting query parameter value. As described above, a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value. In some examples, the first message may comprise a Create message. In other examples, the first message may comprise a Discover message.
Referring again to Figure 6, the method 600 comprises, in a second step 620, obtaining, from the LwM2M client device in response to the first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device. As illustrated at 622, the notification resource may be associated with the first reporting query parameter. In some examples, the obtaining step 620 may comprise, as illustrated at 624, obtaining a plurality of locations of a plurality of notification resources, the plurality of notification resources comprising the notification resource.
In some examples, the notification resource obtained from the LwM2M client device may be associated with the target resource hosted by the LwM2M client device, but with a reporting query parameter that is different from the first reporting query parameter of the first message transmitted by the LwM2M server device. For example, the first message may comprise a Discover message, in response to which, the LwM2M server device may obtain a plurality of notification resources associated with the target resource from the LwM2M client device. It may be that none of the plurality of notification resources may be associated with the first reporting query parameter. In further examples, the notification resource obtained from the LwM2M client device may be associated with the target resource hosted by the LwM2M client device and with the first reporting query parameter of the first message transmitted by the LwM2M server device. For example, in response to a Discover message, the LwM2M server may obtain a plurality of notification resources from the LwM2M client device of which at least one may be associated with the first reporting query parameter. In another example, in response to a first message that is a Create message, the LwM2M server device may obtain from the LwM2M client device a location of a notification resource that is associated with the target resource hosted by the LwM2M client device and with the first reporting query parameter.
The reporting query parameter value associated with the obtained notification resource from the LwM2M client device may be the same as or different from the first reporting query parameter value of the message transmitted by the LwM2M server device.
Referring still to Figure 6, the method 600 further comprises, in step 630, assessing the obtained notification resource against a similarity criterion based on the first notification resource. In some examples, the similarity criterion may be based on, for example, a difference between the first reporting query parameter value and the reporting query parameter value of the notification resource obtained by the LwM2M server device from the LwM2M client device. In other examples, the similarity criterion may be associated with a purpose for which notifications relating to the target resource hosted by the LwM2Mclient device will be used. In one example, the target resource may comprise a temperature resource, and the first reporting query parameter and reporting query parameter value may be, respectively “greater than” and “4°Q”. In such an example, notification resource whose location is obtained in step 620 may be associated with various different combinations of reporting query parameter and reporting query parameter value, including for example: “greater than 6°C”, “greater than 12°C”, less than 4°C”. The extent to which the obtained notification resource would provide notifications that are suitable for use by the LwM2M server may depend upon a match in required and provided reporting query parameters, and a similarity between the two reporting query parameter values. In some examples, the similarity criterion may comprise a threshold value for a difference between the reporting query parameter values.
Responsive to the obtained notification resource meeting the similarity criterion, the method 600 may further comprise, in step 650, transmitting, to the LwM2M client device, an Observe request identifying the obtained notification resource and requesting to be notified with updated representations of the obtained notification resource. For example, the similarity criterion may comprise a threshold difference and the difference between the first reporting query parameter value and the reporting query parameter value of the obtained notification resource may be below the threshold difference and thus meet the similarity criterion. In such examples, the LwM2M server device may therefore request to receive notifications based on the obtained notification resource via an Observe request identifying the obtained notification resource.
Responsive to the obtained notification resource failing to meet the similarity criterion, the method 600 may further comprise, in step 660, transmitting to the LwM2M client device, an Observe message identifying the target resource hosted by the LwM2M client device and requesting to be notified with updated representations of the target resource. For example, the similarity criterion may comprise a threshold difference and the difference between the first reporting query parameter value and the reporting query parameter value of the obtained notification resource may be greater than the threshold difference and thus may not meet the similarity criterion. In such examples, the LwM2M server device may therefore request to receive notifications via an observe request identifying he target resource, as opposed to the obtained notification resource.
As described above, in some examples, such as in response to a Discover message transmitted from the LwM2M server device to the LwM2M client device, the LwM2M server device may obtain a plurality of notification resources from the LwM2M client device. In such examples, the method 600 may further comprise assessing each of the plurality of notification resources against a similarity criterion with reference to the first notification resource. If at least one of the obtained notification resources meets the similarity criterion, the LwM2M server may transmit to the LwM2M client device an Observe message identifying the notification resource that meets the criterion and requesting to be notified with updated representations of the notification resource of the plurality. In such examples, the LwM2M server device may therefore request to receive notifications based on one of the obtained notification resources of the plurality. If no notification resources of the plurality meet the similarity criterion, the LwM2M server may transmit to the LwM2M client device an Observe message identifying the target resource hosted on the LwM2M client device and requesting to be notified with updated representations of the target resource.
Figures 7 and 8 are message flow diagrams illustrating example signalling exchanges in accordance with methods of the present disclosure.
Figure 7 illustrates an example of a message flow diagram 700 illustrating messages transmitted between a LWM2M Client device 710, a first LwM2M server device 720 and second LwM2M server device 730 over a LwM2M information reporting interface. LwM2M client device 710 may comprise an loT device, and the first LwM2M server 720 may comprise a device manager of a the loT device, located for example in a 3GPP core network. The second LwM2M server 730 may comprise a server external to a network comprising the LWM2M Client device 710 and first LwM2M server device 720.
Figure 7 illustrates an example message exchange in which the first and second LwM2M server devices send Create messages, enabling the LwM2M client device to, in response to the second Create message, to propose an already created notification resource. Referring to Figure 7, in a first step 721 , the first LwM2M server device 720 transmits a Create message to the LwM2M client device 710. The Create message identifies a target resource “3303”, hosted on the LwM2M client device and identifying a current value of a temperature sensor. The Create message includes in its payload a first reporting query parameter “gt” and a first reporting query parameter value “4”.
In response to the Create message, the first LwM2M server device 710 creates a notification resource in accordance with the target resource “3303”, first reporting query parameter “gt” and the first reporting query parameter value “4”. In step 711 , the LwM2M client device exposes the location of the created notification resource to the first LwM2M server 720. In some examples, the LwM2M client device 710 may be configured to create the notification resource dependent on determining that no notification resource that is associated with the first reporting query parameter “gt” and the target resource “3303” currently exists, and no observation by any LwM2M server device of the target resource “3303”, which observation specifies the first reporting query parameter “gt”, is currently being maintained by the LwM2M client device. Referring still to Figure 7, in step 722, the first sever device 720 transmits an Observe request to the LwM2M client device 710, identifying the exposed notification resource and requesting to be notified with updated representations of the exposed notification resource. In some examples, the first LwM2M server device 710 may assess the obtained notification resource against a similarity criterion with reference to the contents of the Create message, and to transmit the Observe request responsive to the obtained notification resource meeting the similarity criterion. For example, the similarity criterion may comprise a threshold difference and the LwM2M server device may compare a difference between the first query parameter value i.e. “4” with the query parameter value of the created notification resource i.e. “4”, to the threshold difference. The first LwM2M server may determine that the similarity criterion is met, responsive to the difference being less than the threshold difference.
In step 712, the LwM2M client device 710 transmits a notification message to the first LwM2M server device 720 notifying the first LwM2M server device 720 that the temperature sensor has a value of 10°C. The notification message is sent because the query information associated with the created notification resource requests a notification each time the value of the temperature sensor is greater than 4°C based on the query information “3303?gt=4”.
Referring still to Figure 7, in step 731 , the second LwM2M server 730 transmits a second Create message to the LwM2M client device 710. The second Create message identifies the same the target resource hosted by the LwM2M client device, temperature sensor “3303”, and includes in its payload a second reporting query parameter “gt”, a second reporting query parameter value “6”, and.
In response to the second Create message, the LwM2M client device 710, identifies the previously created notification resource that is associated with the same target resource hosted by the LwM2M client device (3303) and with the second reporting query parameter “gt”. The LwM2M client device exposes to the second LwM2M server device 730 the location of the identified existing notification resource in step 713. In step 732, the second LwM2M server device 730 transmits an Observe request to the LwM2M client device 710, the Observe request identifying the exposed notification resource and requesting to be notified with updated representations of the exposed notification resource. In some examples, the second LwM2M server device 730 is configured to perform a similar assessment to that described above with reference to the first LwM2M server in order to determine whether the exposed notification resource will be suitable for its requirements. This may comprise comparing a difference between the reporting query parameter value of the exposed notification resource “4” against the reporting query parameter value of the second Create message “6”, to a difference threshold. For example, the similarity criterion may comprise a threshold difference e.g. 3°C, and the LwM2M server device may compare a difference between the second query parameter value of the second Create message “6” with the query parameter value of the exposed notification resource “4”, to the threshold difference. In such an example, the difference between the query parameter value of the exposed notification resource and the second query parameter value is less than the threshold difference 3 and thus the similarity criterion is met.
In step 714, the LwM2M client device 710 transmits a notification message to the second LwM2M client device 730 notifying the second LwM2M client device 730 that the temperature sensor has a value of 10°C. The notification message is sent because the query information associated with the observed notification resource requests a notification each time the value of the temperature sensor is greater than 4°C based on the query information “3303?gt=4”.
In step 715, the LwM2M client device 710 transmits a notification message to the first LwM2M server device 720 notifying the first LwM2M server device 720 that the temperature sensor has a value of 5°C, thus fulfilling the conditions for notification. In a similar manner, in step 716, the LwM2M client device 710 transmits a notification message to the second LwM2M client device 730 notifying the second LwM2M server device 730 that the temperature sensor has a value of 5°C.
The LwM2M client device 710 may therefore continue to notify the first LwM2M server device 720 and second LwM2M server device 730, each time the value of the target resource meets fulfils the conditions expressed by the query information associated with the observed notification resource. Thus, in step 717, the LwM2M client device 710 transmits a notification message to the first LwM2M client device 720 notifying the first LwM2M server device 720 that the temperature sensor has a value of 7°C and, in step 718, the LwM2M client device 710 transmits a notification message to the second LwM2M server device 730 notifying the second LwM2M server device 730 that the temperature sensor has a value of 7°C. Figure 8 illustrates another example of a message flow diagram 800 illustrating messages transmitted between a LWM2M Client device 810, a first LwM2M server device 820 and second LwM2M server device 830 over an information reporting interface. LwM2M client device 810, a first LwM2M server device 820 and second LwM2M server device 830 may comprise the same entities and be configured to perform the same functionality, as described above with reference to Figure 7.
Figure 8 illustrates an example of messages transmitted over an information reporting interface in response to a Discover message. In a first step 821 , first LwM2M server 820 transmits a Discover message to LwM2M client device 810. The Discover message identifies the target resource “3303.
In response to the Discover message, in step 811 , the LwM2M client device 810 expose, to the first LwM2M server device 820, a plurality of locations of a plurality of notification resources. The plurality of notification resources may comprise notification resources created by the LwM2M client device 810 in response to previously received Create messages. In the illustrated example, the notification resources are “</3303?gt=6>” and “</3303?gt=4>”. The LwM2M client device 810 may provide a list of each notification resource location and an associated link attribute specifying the query information (reporting query parameter and reporting query parameter value) of the notification resource. In some examples, one, some or all of the plurality of notification resources may comprise existing observations being maintained in response to observe requests identifying the target resource “3303”. For example, the notification resource “<3303?gt=6>” could be exposed as a consequence of the LwM2M client device maintaining an observation “<gt=6>” for the target resource “3303”.
The first LwM2M server device 820 may determine whether any of the exposed notification resources are suitable for its requirements. In the illustrated example, the first LwM2M server 820 identifies the “</3303?gt=4>” notification resource as best suited to its purposes, and sends an observation request for the identified notification resource in step 822.
In step 812, the LwM2M client device 810 transmits a notification message to the first LwM2M server device 820 notifying the first LwM2M server device 820 that the temperature sensor has a value of 10°C. The notification message is sent because the query information associated with the observed notification resource requests a notification each time the value of the temperature sensor is greater than 4°C based on the query information “3303?gt=4”.
In step 831 , second LwM2M server device 830 transmits a second Discover message to LwM2M client device 810. The second Discover message identifies the same target resource “3303” as the earlier Discover message sent by the first LwM2M server device in step 821.
In response to the second Discover message, in step 813, LwM2M client device 810 exposes a second plurality of notification resources to first LwM2M server device 820. If some time has passed since the first Discover message, different notification resources may now be in existence at the LwM2M client device 810. In the illustrated example, the currently existing notification resources for target resource “3303” are “</3303?gt=12>” and “</3303?gt=4>”. As described above, these notification resources may have been created following a Create message, or may comprise existing observations being maintained in response to observe requests identifying the target resource “3303”. The LwM2M client device 810 may provide a list of each notification resource location and an associated link attribute specifying the query information (reporting query parameter and reporting query parameter value) of the notification resource.
As described above with reference to the first LwM2M server device 820, the second LwM2M server device 830 may determine whether any of the exposed notification resources are suitable for its requirements. In the illustrated example, the second LwM2M server device 830 identifies the “</3303?gt=4>” notification resource as best suited to its purposes, and sends an observation request for the identified notification resource in step 832.
In step 814, the LwM2M client device 810 transmits a notification message to the second LwM2M server device 830 notifying the second LwM2M server device 830 that the temperature sensor has a value of 10°C. The notification message is sent because the query information associated with the observed notification resource requests a notification each time the value of the temperature sensor is greater than 4°C based on the query information “3303?gt=4”.
The LwM2M client device 810 transmits notification messages to the first and second LwM2M server devices 820 and 830 in steps 815 and 816. The notification messages indicate that the temperature sensor has a value of 5°C, thus fulfilling the conditions for notification. The LwM2M client device 810 continues to notify the first LwM2M server device 820 and second LwM2M server device 830, each time the value of the target resource fulfils the conditions expressed in the query information associated with the observed notification resource. Thus, in step 817, the LwM2M client device 810 transmits a notification message to the first LwM2M server device 820 notifying the first LwM2M server device 820 that the temperature sensor has a value of 7°C and, in step 818, the LwM2M client device 810 transmits a notification message to the second LwM2M server device 830 notifying the second LwM2M server device 830 that the temperature sensor has a value of 7°C.
As discussed above, the methods 300 and 400 are performed by a LwM2M client device and the methods 500 and 600 are performed by a LwM2M server device. The present disclosure provides a LwM2M client device and LwM2M server device which are adapted to perform any or all of the steps of the above discussed methods. The LwM2M client device and LwM2M server device may comprise constrained devices and/or logical or other functions.
Figure 9 is a block diagram illustrating a LwM2M client device 900 which may implement the methods 300 or 400 according to examples of the present disclosure, for example on receipt of suitable instructions from a computer program 950. Referring to Figure 9, the LwM2M client device 900 comprises a processor or processing circuitry 902, and may comprise a memory 904 and interfaces 906. The processing circuitry 902 is operable to perform some or all of the steps of the methods 300 or 400 as discussed above with reference to Figures 3 and 4a-d. The memory 904 may contain instructions executable by the processing circuitry 902 such that the LwM2M client device 900 is operable to perform some or all of the steps of the methods 300 or 400. The instructions may also include instructions for executing one or more telecommunications and/or data communications protocols. The instructions may be stored in the form of the computer program 950. The interfaces 906 may comprise one or more interface circuits supporting wired or wireless communications according to one or more communication protocols. The interfaces 906 may support exchange of messages in accordance with examples of the methods disclosed herein, and may for example comprise one or more LwM2M interfaces. Figure 10 is a block diagram illustrating a LwM2M server device 1000 which may implement the methods 500 or 600 according to examples of the present disclosure, for example on receipt of suitable instructions from a computer program 1050. Referring to Figure 10, the LwM2M server device 1000 comprises a processor or processing circuitry 1002, and may comprise a memory 1004 and interfaces 1006. The processing circuitry 1002 is operable to perform some or all of the steps of the methods 500 or 600 as discussed above with reference to Figures 5 and 6. The memory 1004 may contain instructions executable by the processing circuitry 1002 such that the LwM2M server device 1000 is operable to perform some or all of the steps of the method 300. The instructions may also include instructions for executing one or more telecommunications and/or data communications protocols. The instructions may be stored in the form of the computer program 1050. The interfaces 1006 may comprise one or more interface circuits supporting wired or wireless communications according to one or more communication protocols. The interfaces 1006 may support exchange of messages in accordance with examples of the methods disclosed herein, and may for example comprise one or more LwM2M interfaces.
Aspects and examples of the present disclosure provide a mechanism for information reporting between LwM2M devices that reduces the burden on a LwM2M client device hosting a resource by reducing the amount of information that must be stored by the LwM2M client device in order to support observation of its resources by LwM2M server devices. The mechanism enables a plurality of LwM2M server devices to subscribe to a single notification resource associated with a target resource hosted by a LwM2M client device. The plurality of LwM2M server devices may receive notifications representative of the value of the target resource based on the notification resource. This allows the LwM2M client device to maintain state for a single notification resource to which multiple LwM2M server devices may subscribe, as opposed to maintaining state for every observe query received by the LwM2M client device. The burden on the LwM2M client device for supporting observation of its hosted target resources is consequently reduced when compared to the LwM2M client device marinating state for each query received from each LwM2M server device. The reduced burden on the LwM2M client device improves the scalability of the information reporting interface in LwM2M messaging protocols.
Aspects and examples of the present disclosure provide a Create message that may be transmitted from a LwM2M server device to a LwM2M client device. In response to the Create message, the LwM2M client device may create a notification resource, which may be subscribed to by the LwM2M server device that transmitted the Create message and other LwM2M server devices. Alternatively, in response to the Create message, the LwM2M client device may expose the location of an already existing notification resource that is associated with the same target resource and reporting query parameter as are specified in the transmitted Create message. The LwM2M server device may choose to subscribe to the exposed notification resource that is already being maintained by the LwM2M client device, thus improving the efficiency of information reporting.
A LwM2M server device may also or alternatively transmit a Discover message that to a LwM2M client device. In response to the Discover message, the LwM2M client device may expose to the LwM2M server device the location of one or more notification resources associated with a target resource. The LwM2M server device may subscribe to one of the plurality of the notification resources, thereby also reducing the burden on the LwM2M client device , or may seek to create a new notification resource, or may simply observe the target resource in accordance with existing procedures.
It will be appreciated that examples of the present disclosure may be virtualised, such that the methods and processes described herein may be run in a cloud environment.
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.

Claims

29 CLAIMS
1. A Lightweight Machine to Machine, LwM2M, client device (900), the LwM2M client device comprising processing circuitry (902) configured to cause the LwM2M client device to: receive (310), from a first LwM2M server device, a first message requesting a location of a first notification resource that is associated with: a target resource hosted by the LwM2M client device; a first reporting query parameter; and a first reporting query parameter value; wherein a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value (310a); and wherein the processing circuitry is further configured to cause the LwM2M client device to: expose, to the first LwM2M server device in response to the received first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device (320).
2. A LwM2M client device according to claim 1 , wherein the notification resource, whose location is exposed by the LwM2M client device in response to the received first message, is associated with the target resource hosted by the LwM2M client device and with the first reporting query parameter (422).
3. A LwM2M client device according to claim 1 or 2, wherein the processing circuitry is further configured to cause the LwM2M client device to: identify any existing notification resource that is associated with the target resource hosted by the LwM2M client device and the first reporting query parameter (411); and expose the location of the identified notification resource or resources to the LwM2M server in response to the received first message (420a).
4. A LwM2M client device according to any one of claims 1 to 3, wherein the processing circuitry is further configured to cause the LwM2M client device to: 30 identify any observation by any LwM2M server device of the target resource hosted by the LwM2M client device which observation specifies the first reporting query parameter (412); and if such an observation is currently being maintained by the LwM2M client device, to expose, to the LwM2M server device in response to the received first message, the existing observation as a notification resource (420a).
5. A LwM2M client device according to any one of claims 1 to 4, wherein the processing circuitry is further configured to cause the LwM2M client device to, in response to the first message, create the first notification resource in accordance with the target resource hosted by the LwM2M client device, the first reporting query parameter, and the first reporting query parameter value (415).
6. A LwM2M client device as claimed in claim 5, when dependent on any one of claims 3 to 5, wherein creating the first notification resource is dependent on determining that (413): no notification resource that is associated with the target resource hosted by the LwM2M client device, and the first reporting query parameter currently exists; and no observation by any LwM2M server device of the target resource hosted by the LwM2M client device, which observation specifies the first reporting query parameter, is currently being maintained by the LwM2M client device.
7. A LwM2M client device according to any preceding claim wherein the processing circuitry is further configured to cause the LwM2M client device to: receive, from the first LwM2M server device, an Observe message identifying the exposed notification resource and requesting to be notified with updated representations of the exposed notification resource (430).
8. A LwM2M client device according to any preceding claim wherein the processing circuitry is configured to cause the LwM2M client device to: receive, from a second LwM2M server device, a second message requesting a location of a second notification resource associated with the target resource hosted by the LwM2M client device, a second reporting query parameter, and a second reporting query parameter value (440); and expose, to the second LwM2M server device in response to the received second message, the location of the same notification resource whose location was exposed to the first LwM2M server device in response to the received first message (450).
9. A LwM2M client device according to claim 8 wherein the processing circuitry is further configured to cause the LwM2M client device to: determine whether the second reporting query parameter is the same as the first reporting query parameter (452), and expose, to the second LwM2M server device in response to the second message, the location of the same notification resource whose location was exposed to the first LwM2M server device, if the second reporting query parameter is the same as the first reporting query parameter (454).
10. A LwM2M client device according to claim 8 or 9, wherein the processing circuitry is further configured to cause the LwM2M client device to receive, from the second LwM2M server device, an Observe message identifying the exposed notification resource and requesting to be notified with updated representations of the exposed notification resource (460).
11. A LwM2M client device according to any one of claims 1 to 9, wherein the processing circuitry is further configured to cause the LwM2M client device to expose a plurality of locations of a plurality of notification resources, the plurality of notification resources comprising the notification resource (424).
12. A LwM2M client device according to any one of claims 1 to 11, wherein the processing circuitry is further configured to cause the LwM2M client device to: receive, from the first LwM2M server device, an Observe message identifying the target resource hosted by the LwM2M client device and requesting to be notified with updated representations of the target resource (470); and provide, to the first LwM2M server device, updated representations of the target resource in accordance with the received Observe request (480).
13. A LwM2M server device (1000), the LwM2M server device comprising processing circuitry (1002) configured to cause the LwM2M server device to: transmit (510), to a LwM2M client device, a first message requesting a location of a first notification resource that is associated with: a target resource hosted by the LwM2M client device; a first reporting query parameter; and a first reporting query parameter value; wherein a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value (510a); and wherein the processing circuitry is further configured to cause the LwM2M server device to: obtain, from the LwM2M client device in response to the first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device (520).
14. A LwM2M server device according to claim 13 wherein the notification resource whose location is obtained from the LwM2M client device is associated with the target resource hosted by the LwM2M client device and the first reporting query parameter (622).
15. A LwM2M server device according to any of claims 13 or 14 wherein the processing circuitry is further configured to: asses the obtained notification resource against a similarity criterion with reference to the first notification resource (630); responsive to the obtained notification resource meeting the similarity criterion, transmit, to the LwM2M client device, an Observe message identifying the obtained notification resource and requesting to be notified with updated representations of the obtained notification resource (650); and responsive to the obtained notification resource failing to meet the similarity criterion, transmit, to the LwM2M client device, an Observe message identifying the target resource hosted by the LwM2M client device and requesting to be notified with updated representations of the target resource (660).
16. A LwM2M server device according to any of claims 13 to 15 wherein to obtain the location of an notification resource, the processing circuitry is further configured to obtain, from the LwM2M client device, a plurality of locations of a plurality of notification resources, the plurality of notification resources comprising the notification resource (624). 33
17. A LwM2M server device according to claim 16 wherein the processing circuitry is further configured to: asses each of the plurality of notification resources against a similarity criterion with reference to the first notification resource (630); responsive to a notification resource of the plurality meeting the similarity criterion, transmit, to the LwM2M client device, an Observe message identifying the notification resource of the plurality and requesting to be notified with updated representations of the notification resource of the plurality (650); and responsive to no notification resources of the plurality meeting the similarity criterion, transmit, to the LwM2M client device, an Observe message identifying the target resource hosted by the LwM2M client device and requesting to be notified with updated representations of the target resource (660).
18. A method (300) performed by a Lightweight Machine to Machine, LwM2M, client device, the method comprising: receiving (310), from a first LwM2M server device, a first message requesting a location of a first notification resource that is associated with: a target resource hosted by the LwM2M client device; a first reporting query parameter, and a first reporting query parameter value, wherein a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value (310a); and wherein the method further comprises: exposing, to the LwM2M server device in response to the received first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device (320).
19. A method as claimed in claim 18, the method further comprising performing any one or more of the steps set out in any one of claims 2 to 12.
20. A method (500) performed by a Lightweight Machine to Machine, LwM2M, server device, the method comprising: 34 transmitting (510), to a LwM2M client device, a first message requesting a location of a first notification resource that is associated with: a target resource hosted by the LwM2M client device; a first reporting query parameter; and a first reporting query parameter value; wherein a value of the first notification resource comprises the value of a notification that would be sent in accordance with a query of a state of the target resource hosted by the LwM2M client device, the query comprising the first reporting query parameter and the first reporting query parameter value (510a); and wherein the method further comprises: obtaining, from the LwM2M client device in response to the first message, a location of a notification resource that is associated with the target resource hosted by the LwM2M client device (520).
21. A method as claimed in claim 20, the method further comprising performing any one or more of the steps set out in any one of claims 14 to 17.
22. 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 claims 18 to 21.
23. A carrier containing a computer program as claimed in claim 22, wherein the carrier comprises one of an electronic signal, optical signal, radio signal or computer readable storage medium.
24. A computer program product comprising non transitory computer readable media having stored thereon a computer program as claimed in claim 22.
PCT/EP2020/085291 2020-12-09 2020-12-09 Lwm2m client device, server device, and methods thereof WO2022122150A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/EP2020/085291 WO2022122150A1 (en) 2020-12-09 2020-12-09 Lwm2m client device, server device, and methods thereof
EP20823784.2A EP4260493A1 (en) 2020-12-09 2020-12-09 Lwm2m client device, server device, and methods thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2020/085291 WO2022122150A1 (en) 2020-12-09 2020-12-09 Lwm2m client device, server device, and methods thereof

Publications (1)

Publication Number Publication Date
WO2022122150A1 true WO2022122150A1 (en) 2022-06-16

Family

ID=73793213

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/085291 WO2022122150A1 (en) 2020-12-09 2020-12-09 Lwm2m client device, server device, and methods thereof

Country Status (2)

Country Link
EP (1) EP4260493A1 (en)
WO (1) WO2022122150A1 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ISAM ISHAQ ET AL: "Observing CoAP groups efficiently", AD HOC NETWORKS, vol. 37, 1 February 2016 (2016-02-01), AMSTERDAM, NL, pages 368 - 388, XP055526378, ISSN: 1570-8705, DOI: 10.1016/j.adhoc.2015.08.030 *
ROBLES MARIA INES ET AL: "Device group management in constrained networks", 2016 IEEE INTERNATIONAL CONFERENCE ON PERVASIVE COMPUTING AND COMMUNICATION WORKSHOPS (PERCOM WORKSHOPS), IEEE, 14 March 2016 (2016-03-14), pages 1 - 6, XP032893743, DOI: 10.1109/PERCOMW.2016.7457128 *

Also Published As

Publication number Publication date
EP4260493A1 (en) 2023-10-18

Similar Documents

Publication Publication Date Title
US11153398B2 (en) Subscription and notification service
CN106233695B (en) Apparatus and method for managing client devices
EP1542409B1 (en) Protocol for multi-hop ad-hoc networks
US11336601B2 (en) Publish-subscribe messaging systems, methods, apparatuses, computer programs and computer program products
JP5743239B2 (en) Technology to control gateway functions to support device management in communication systems
CN109379291B (en) Method and device for processing service request in networking
US20080243900A1 (en) Dynamic and Real-Time Discovery of Computing Resources
CN106465049B (en) Periodic management stabilization of the internet of things
US11283668B2 (en) Method and apparatus in a web service system
CN111886900A (en) Unique service identifier for message brokers in a service-based architecture
WO2021032269A1 (en) Distribution of constrained device data
KR102423812B1 (en) Enabling stable decentralized M2M/IoT services
CN116633993B (en) Cross-network micro-service calling method, device, equipment and storage medium
EP4260493A1 (en) Lwm2m client device, server device, and methods thereof
CN112787970B (en) Method and device for subscribing event stream
US11924309B2 (en) Managing resource state notifications
US20190312929A1 (en) Information synchronization method and device
CN114500660B (en) Request processing method, device, equipment and computer readable storage medium
US20160241440A1 (en) Providing network management information in a communications network
WO2023148124A1 (en) Session management for redundant pdu sessions
WO2023041348A1 (en) Method for transmitting and receiving device/application events, and corresponding apparatuses
WO2021073754A1 (en) Management of transport addresses associated with a computing device

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020823784

Country of ref document: EP

Effective date: 20230710

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20823784

Country of ref document: EP

Kind code of ref document: A1