LwM2M客户端注册的制作方法
- 国知局
- 2024-11-06 15:07:46
本公开涉及一种用于向lwm2m服务器注册lwm2m客户端的方法。本公开还涉及一种lwm2m客户端、lwm2m服务器和一种计算机程序。
背景技术:
1、物联网(iot)装置及其相关联的通信协议已经在许多应用中得到广泛使用。轻量级机器对机器(lwm2m)协议就是这样一种通信协议,它已经使得这样的iot装置能够进行通信。lwm2m协议是从为相对简单的iot装置相互通信以及与其他更复杂的装置通信而开发的受限应用协议(coap)发展而来的。
2、在许多coap和lwm2m通信系统中,iot装置可运行lwm2m客户端应用,而另一iot装置可运行lwm2m服务器应用。lwm2m客户端可托管诸如温度传感器之类的资源,并且lwm2m服务器可响应于与该资源相关联的改变(例如,温度增加到高于定义的阈值)而询问lwm2m客户端以向lwm2m服务器传送通知消息。rfc 7641指定了coap的协议扩展,其通过允许lwm2m服务器检索由lwm2m客户端托管的资源的表示并在一段时间内保持该表示由lwm2m服务器更新而能够实现这样的过程。
3、图1图示了信令图100,其示出了在lwm2m客户端120和lwm2m服务器140之间传送的消息,以基于观察请求接收通知消息。lwm2m服务器140使用lwm2m协议中定义的观察或观察合成操作向lwm2m客户端120传送观察请求101。该请求包括用于lwm2m客户端120基于资源向lwm2m服务器140传送通知消息的询问指令。根据所述询问指令,lwm2m客户端120因此可根据如lwm2m协议中定义的通知操作向lwm2m服务器140传送通知消息102。
4、为了保护lwm2m客户端和lwm2m服务器之间交换的信息的机密性和完整性,可在客户端和服务器之间建立安全协议,例如,传输层安全(tls)、数据报tls(dtls)或受限restful环境的对象安全(oscore)。这些安全协议为lwm2m客户端和lwm2m服务器之间的相互认证提供了可能性。所述装置中tls、dtls或oscore的客户端实现可驻留在lwm2m客户端内或外部。为了简单起见,并且不失一般性,在根据本公开的示例中,如果没有以其他方式明确声明,则tls、dtls或oscore的客户端实现含有在lwm2m客户端内。
5、lwm2m协议还规定了注册操作,其中lwm2m客户端向lwm2m服务器注册。在运行lwm2m客户端的lwm2m装置被开启并且引导过程已被完成后,lwm2m客户端必须向管理该装置或启用应用的每个lwm2m服务器执行“注册”操作。注册操作用于通知lwm2m服务器lwm2m装置的存在,并在客户端注册后启用装置管理和装置通信。注册操作包含向lwm2m服务器提供支持的lwm2m对象和在lwm2m客户端托管的现有lwm2m对象实例的信息。注册操作还使得lwm2m服务器和lwm2m客户端能够维持lwm2m装置和lwm2m服务器之间的通信(例如,传输模式、lwm2m对象信息)和注册会话(例如,注册寿命)。
6、在成功注册时,lwm2m服务器因此可请求观察lwm2m客户端资源,并且当所述资源改变时,lwm2m客户端可发送通知。客户端可使用更新操作来更新其注册设置(例如,如果由客户端托管的资源被更新的话)。客户端使用注销(de-register)操作来通知lwm2m服务器该lwm2m客户端不再可用。例如,lwm2m客户端装置可断电或进入睡眠模式。在这样的示例中,当lwm2m客户端醒来并重新连接到lwm2m服务器时,要求新的注册。
技术实现思路
1、根据lwm2m规范,当开始新的tls/dtls握手时,或者在nosec模式下当lwm2m客户端ip地址改变时,客户端必须再次向lwm2m服务器注册。
2、此外,当lwm2m服务器和lwm2m客户端丢失注册时,lwm2m协议假定所有观察都将被遗忘。lwm2m规范还指示:
3、“如果注册的寿命到期而没有从lwm2m客户端接收到更新,则lwm2m服务器将认为它注销:
4、lwm2m服务器必须移除该lwm2m客户端的注册和现有观察。如果lwm2m客户端不知道到期,则当lwm2m客户端执行注册更新时,lwm2m服务器将以错误来响应。
5、在接收到错误消息时,lwm2m客户端应重置其状态并再次注册。在发起任何进一步的通信之前,lwm2m客户端必须向lwm2m服务器重新注册(“更新”是不够的),以便再次连接。”
6、因此,lwm2m服务器需要每个观察端点每个资源地重置观察请求,以便重新建立先前正在进行的观察。这给客户端和服务器之间的通信带来了很大的负担,并且可使需要使用来自所述两个实体之间通信的数据的iot服务搁置。大部分时间都处于睡眠状态,并且仅周期性地醒来以报告数据的lwm2m装置因此在它们每次醒来时都需要重新注册,并且还必须在报告数据之前等待服务器来配置所述观察。这延长了lwm2m装置需要醒着的时间,从而消耗功率。
7、由于在lwm2m应用中使用频繁重新分配(例如,每小时)的动态分配的ip地址,因此即使不睡眠的lwm2m装置也可具有周期性地需要重新注册的问题。如果所述ip地址到期,lwm2m客户端和lwm2m服务器都可能不知道该到期。因此,lwm2m客户端可能仍然向lwm2m服务器发送通知或更新操作,但是如果lwm2m服务器没有认出新的ip地址,则lwm2m客户端被强制再次注册。
8、在lwm2m通信中使用连接id(cid)有助于在lwm2m服务器处将正在进行的tls会话或dtls会话链接到lwm2m客户端,即使lwm2m客户端可能突然接收到新的ip地址。然而,对于大部分时间处于睡眠模式中的装置,当装置醒来时仍然要求tls或dtls握手,其中新的cid针对该客户端被建立,这意味着lwm2m客户端必须再次向服务器注册,然后该服务器向客户端重新传送观察请求。
9、因此,在一些示例中,上述注册过程给lwm2m服务器和lwm2m客户端两者都带来了很大的负担。
10、本公开的目的是提供一种方法、一种lwm2m服务器、一种lwm2m客户端和一种计算机程序产品,其至少部分地解决上面讨论的一个或多个挑战。
11、根据第一方面,提供了一种由轻量级机器对机器(lwm2m)服务器执行的用于向lwm2m服务器注册lwm2m客户端的方法。该方法包括从lwm2m客户端接收用于向lwm2m服务器注册lwm2m客户端的第一消息。该第一消息包括对于自动重新配置数据的请求,该自动重新配置数据能够实现在lwm2m服务器和lwm2m客户端之间配置的注册设置的重新配置。该方法还包括向lwm2m客户端传送自动重新配置数据;从lwm2m客户端接收第二消息,该第二消息包括用于向lwm2m服务器重新注册lwm2m客户端并基于自动重新配置数据自动地重新配置注册设置的请求;以及基于第二消息来恢复与lwm2m客户端相关联的注册设置。
12、根据第二方面,提供了一种用于向lwm2m服务器注册lwm2m客户端的lwm2m服务器,所述lwm2m服务器被配置成:从lwm2m客户端接收用于向lwm2m服务器注册lwm2m客户端的第一消息,其中,该第一消息包括对于自动重新配置数据的请求,该自动重新配置数据能够实现在lwm2m服务器和lwm2m客户端之间配置的注册设置的重新配置。lwm2m服务器还被配置成向lwm2m客户端传送自动重新配置数据;从lwm2m客户端接收第二消息,该第二消息包括用于向lwm2m服务器注册lwm2m客户端并基于自动重新配置数据自动地重新配置注册设置的请求;以及基于第二消息来恢复与lwm2m客户端相关联的注册设置。
13、根据第三方面,提供了一种由lwm2m客户端执行的用于向lwm2m服务器注册lwm2m客户端的方法。该方法包括:向lwm2m服务器传送用于向lwm2m服务器注册lwm2m客户端的第一消息,其中,该第一消息包括对于自动重新配置数据的请求,该自动重新配置数据能够实现在lwm2m服务器和lwm2m客户端之间配置的注册设置的重新配置。该方法还包括从lwm2m服务器接收自动重新配置数据;与lwm2m服务器断开连接;以及向lwm2m服务器传送第二消息,该第二消息包括用于向lwm2m服务器重新注册lwm2m客户端并基于自动重新配置数据自动地重新配置注册设置的请求。
14、根据第四方面,提供了一种用于向lwm2m服务器注册的lwm2m客户端。所述lwm2m客户端被配置成:向lwm2m服务器传送用于向lwm2m服务器注册lwm2m客户端的第一消息,其中,该第一消息包括对于自动重新配置数据的请求,该自动重新配置数据能够实现在lwm2m服务器和lwm2m客户端之间配置的注册设置的重新配置。lwm2m服务器还被配置成从lwm2m服务器接收自动重新配置数据;与lwm2m服务器断开连接;以及向lwm2m服务器传送第二消息,该第二消息包括用于向lwm2m服务器重新注册lwm2m客户端并基于自动重新配置数据自动地重新配置注册设置的请求。
15、根据第五方面,提供了一种包括指令的计算机程序,所述指令当在至少一个处理器上被执行时,使所述至少一个处理器执行根据第一方面或第三方面中任一方面的方法。
本文地址:https://www.jishuxx.com/zhuanli/20241106/325473.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。