设备注册机制的制作方法

文档序号:27091387发布日期:2021-10-27 11:09阅读:93来源:国知局
设备注册机制的制作方法
设备注册机制
1.本技术整体涉及设备向服务器诸如设备管理平台处的服务器的注册。
2.在家庭、其他楼宇或室外环境中,存在越来越多的设备具有处理和通信能力,允许它们与同一网络内或不同网络上(例如,互联网上)的其他实体(例如,设备、服务器、服务等)通信以访问作为“物联网”(iot)的一部分的服务器或服务。
3.例如,家庭中的温度设备可采集所感测的数据并将所感测的数据推送到远程服务(诸如在“云”中运行的应用程序)。然后,可通过远程服务经由所接收的命令数据远程控制温度设备。
4.在其他示例中,工厂中的污染监视设备可包括传感器以从各种化学传感器采集信息并基于所采集的信息来安排维护;而医疗保健提供者可使用包括传感器的设备(诸如心率监视器)来跟踪患者在家中时的健康状况。
5.一般使用机器对机器(m2m)通信技术在设备和其他实体之间传输数据,并且本技术人已认识到需要改进的(m2m)通信技术。
6.根据第一技术,提供了一种用于向服务器注册设备的机器实现的方法,该方法在该设备处执行,该方法包括:对该设备处的至少一个对象、对象实例、资源和/或资源实例应用数据缩减函数以生成包括代表该至少一个对象、对象实例、资源和/或资源实例的压缩数据的资源数据;传输包括所述资源数据的注册消息以向服务器注册所述设备。
7.根据另一种技术,提供了一种用于向服务器注册设备的机器实现的方法,该方法在该服务器处执行,该方法包括:接收包括代表该设备处的至少一个对象、对象实例、资源和/或资源实例的压缩数据的资源数据;基于或响应于该压缩数据而确定该至少一个对象、对象实例、资源和/或资源实例;以及使用该至少一个对象、对象实例、资源和/或资源实例来注册该设备。
8.这些技术在附图中以举例的方式示意性地示出,其中:
9.图1示出了根据本技术的设备的示例性部署场景;
10.图2a示出了描绘图1的设备和服务器之间的客户端

服务器关系的示例性架构;
11.图2b示出了图1的设备处的对象模型的示意图;
12.图2c示出了对象分级结构的一部分的一个简化示例;
13.图3示出了客户端设备向服务器注册的示例性过程;
14.图4示出了根据实施方案的代表设备管理平台可用的所有资源的数据结构的示例;并且
15.图5示出了根据实施方案的代表设备管理平台可用的所有资源的数据结构的示例。
16.在以下详细描述中参考了附图,附图形成描述的一部分,在整个描述中,类似的数字可表示类似的部件,这些部件是对应的和/或相似的。应当理解,附图未必按比例绘制,诸如为了简化和/或清楚地示出。例如,一些方面的尺寸相对于其他方面可能有所放大。此外,应当理解,可利用其他实施方案。此外,在不脱离要求保护的主题的情况下,可进行结构和/或其他改变。还应当指出的是,方向和/或参考(例如,诸如上、下、顶部、底部等)可用于促进
对附图的讨论,并且不旨在限制要求保护的主题的应用。
17.图1示出了根据本技术的设备2的部署场景1。
18.设备2可以是计算机终端、膝上型电脑、平板电脑或移动电话,或者可以是例如运行lwm2m客户端的轻量级m2m(lwm2m)设备。设备2可用于为街灯、电表、温度传感器、楼宇自动化、医疗保健以及作为iot的一部分的一系列其他细分市场提供智能功能。应当理解,上面列出的细分市场的示例仅是为了进行例示性的说明,并且权利要求书在这个方面不受限制。
19.设备2可操作为与一个或多个服务器和/或服务通信。
20.如本文所述,服务器(在图1中描绘为“服务器4”、“服务器6”)可以是单个计算设备或在计算设备上运行的软件。然而,权利要求书在这个方面不受限制并且服务器可包括多个互连计算设备(或在多个互连设备上运行的软件),由此多个互连计算设备可分布在一个或多个公共网络和/或专用网络上。
21.在本附图中,服务器4可以是例如lwm2m服务器、应用服务器、边缘服务器、计算机终端、膝上型电脑、平板电脑或移动电话、或托管在计算设备上的应用程序,并且其提供一个或多个服务(在图1中示出为“服务5”)的部署。此类服务可包括以下各项中的一者或多者:web服务;数据存储服务;分析服务、管理服务和应用服务,但该列表并不是穷举性的。
22.在本附图中,服务器6包括引导服务器,该引导服务器用于在设备2处提供资源。在实施方案中,引导服务器6可以是任何类型的服务器或远程机器,并且可以不一定是专用引导服务器。一般来讲,引导服务器6是适于与设备2一起执行引导过程的任何装置(例如,机器、硬件、技术、服务器、软件等)。
23.在本示例中,服务器4、引导服务器6和/或服务5被描绘为设备管理平台8(诸如来自英国剑桥(cambridge,uk)的pelion
tm
设备管理平台)的一部分。
24.设备2包括通信电路10,该通信电路用于与一个或多个服务器4和/或服务5通信。
25.通信电路10可使用无线通信,诸如例如以下各项中的一者或多者:wi

fi;短程通信,诸如射频通信(rfid);近场通信(nfc);无线技术中使用的通信,诸如蓝牙低功耗(ble);蜂窝通信,诸如3g或4g;并且通信电路10还可使用有线通信,诸如光纤或金属电缆。通信电路10还可使用两种或更多种不同形式的通信,诸如上文组合给出的若干示例。
26.应当理解,设备2还可使用用于通信的任何合适的协议,包括以下各项中的一者或多者:ipv6、ipv6低功率无线标准受限制的应用协议(coap)、消息队列遥测传输(mqtt)、表现层状态转换(rest)、http、websocket、但应当理解,这些是合适协议的示例。
27.作为例示性示例,coap定义消息头、请求/响应代码、消息选项和重传机制,诸如例如资源受限设备上的restful应用编程接口(api),并且支持get、post、put、delete方法,这些方法可映射到http协议的方法。
28.m2m通信通常需要是安全的,以降低恶意第三方通过设备、服务器或服务获得数据访问权限的风险,或者限制设备、服务器或服务对数据的访问。该设备可使用一个或多个安全协议来建立用于在实体之间提供安全通信的通信路径或信道。示例性安全协议可例如包括传输层安全(tls)和数据报传输层安全(dtls)协议,由此tls/dtls可用于在设备2与服务
器4之间建立安全信道,由此tls/dtls包括使用证书(例如,x.509证书)以及预共享密钥和公共密钥技术两者来建立通信。由tls/dtls保护的数据(例如,凭据数据)可被编码为纯文本、二进制tlv、json、cbor或任何其他合适的数据交换格式。
29.设备2还包括用于控制由设备2执行的各种处理操作的处理电路12。
30.设备2还可包括输入/输出(i/o)电路14,使得设备2可接收输入(例如,用户输入、传感器输入、测量输入等)和/或生成输出(例如,音频/视觉/控制命令等)。
31.设备2还包括用于存储资源(诸如凭据数据)的存储电路16,由此存储电路16可包括易失性存储器和/或非易失性存储器。
32.此类凭据数据可包括以下各项中的一者或多者:证书、加密密钥(例如,共享对称密钥、公共密钥、私有密钥)、标识符(例如,直接标识符或间接标识符),由此此类凭据数据可由设备使用来利用一个或多个远程实体(例如,引导服务器/服务器/服务)进行验证(例如,连接、建立安全通信、注册、登记等)。
33.图2a例示性地示出了示例性架构20,该示例性架构示出了设备2与服务器4之间的客户端

服务器关系。图2b例示性地示出了设备2的对象模型的示意图。
34.设备2在下文中被称为“客户端设备”,但在本文也可被称为“设备”、“节点设备”、“最终用户设备”或“用户设备”。
35.在以下示例中,服务器4被描绘为lwm2m服务器,使得lwm2m服务器4和客户端设备2使用合适的协议进行通信,这些合适的协议诸如符合开放移动联盟(oma)lwm2m规范的那些协议,但权利要求书在这个方面不受限制。
36.客户端设备2包括客户端21,该客户端可被集成为模块的软件库或内置功能,并且用于与lwm2m服务器4通信。客户端21可为lwm2m客户端。
37.可在客户端21与lwm2m服务器4之间限定逻辑接口,并且在图2中描绘出三个逻辑接口,即:
38.·“客户端注册”接口可用于执行和维护向一个或多个lwm2m服务器的注册,以及从一个或多个lwm2m服务器撤销注册。
39.·“设备管理和服务启用”接口可由一个或多个服务器使用来访问在客户端设备2处可用的对象、对象实例和资源。
40.·“信息报告”接口可用于使得一个或多个服务器能够观察客户端设备2上的资源的任何变化,以及在新值可用时接收通知。
41.该逻辑接口列表仅是示例性的,并且可例如根据oma lwm2m规范在客户端21与lwm2m服务器4之间提供附加的或替代的逻辑接口。
42.设备2包括各种资源22,该各种资源可由lwm2m服务器4或一个或多个另外的服务器/服务读取、写入、执行和/或访问。
43.作为例示性示例,资源可包括值(例如,由设备上的电路生成)。web应用程序可经由lwm2m服务器4从客户端设备2请求值(例如,利用report请求),由此由lwm2m服务器4读取所请求的值并将其报告回web应用程序。
44.作为另一个例示性示例,资源可包括在制造时(例如,在工厂提供过程期间)或在与引导服务器的通信会话期间提供的凭据数据,并且随后用于向lwm2m服务器4注册。
45.如图2b中所描绘的,资源22可进一步在逻辑上组织成对象24,由此每个设备2可具
有任何数量的资源,每个资源与相应的对象24相关联。
46.客户端设备2上的一组对象可包括例如:
47.·“安全对象”,用于处理客户端设备2与一个或多个服务器之间的安全方面;
48.·“服务器对象”,用于定义与服务器相关的数据和功能;
49.·“访问控制对象”,用于针对一个或多个经许可服务器中的每个经许可服务器定义一个或多个服务器对于客户端设备2上的每个对象具有的访问权限;
50.·“设备对象”,用于详述客户端设备2上的资源。例如,设备对象可详述设备信息,诸如制造商、型号、功率信息、空闲存储器和错误信息;
51.·“连接监视对象”,用于将客户端设备2上的有助于监视网络连接状态的资源分组在一起;
52.·“固件更新对象”使得能够管理待更新固件,由此该对象包括安装固件、更新固件,以及在更新固件之后执行动作;
53.·“位置对象”,用于对提供关于客户端设备2的当前位置的信息的那些资源进行分组;
54.·“连接统计对象”,用于将客户端设备2上的保持关于现有网络连接的统计信息的资源分组在一起。
55.在实施方案中,设备2可具有对象的一个或多个实例,其中三个在图2b中被描绘为24、24a和24b。作为例示性示例,温度传感器设备可包括两个或更多个温度传感器,并且客户端设备2可针对每个温度传感器包括不同的设备对象实例。
56.在实施方案中,资源还可包括在图2b中被描绘为22、22a、22b的一个或多个资源实例。
57.在实施方案中,对象、对象实例、资源和资源实例被组织在对象分级结构中,其中对象、对象实例、资源和/或资源实例中的每一者均为对象分级结构的元素,并且由此设备可使用一个或多个字符来枚举对象实例层次结构的不同元素(例如,文本串;字母数字文本、二进制等)。
58.图2c示出了此类对象分级结构40的一部分的一个简化示例,具有由省略号(...)标记的省略内容。在图2c中,对象0实例2被示出为具有单个实例资源0(即,资源0实例0)和两个资源实例5(即,资源5实例0和资源5实例1)。分级结构的元素用分级结构符号进一步标记,该分级结构符号使用斜杠分隔符示出层级和层级内的元素。本领域的普通技术人员将清楚的是,这仅仅是分级结构符号的一个示例,并非旨在限制使用本技术可用的分级结构的结构。本领域的技术人员还将清楚的是,此类分级结构的真实世界具体实施将大得多,并且这里仅示出了非常简单的示例。
59.在图2c所示的分级结构中,对象可表示lwm2m对象。根据正在实现的系统的要求来创建此类对象的实例。因此,例如,在用于监视一组楼宇中的加热和冷却的系统中,可定义具有每个楼宇的实例的温度对象。温度对象实例可被定义为包括资源,诸如当前温度资源、最大温度资源和最小温度资源,并且每个资源可进一步包括各种温度传感器的实例。
60.在向服务器注册时,然后设备可以如下形式枚举待使用合适的标识符(诸如通用资源指示符(uri))注册的对象分级结构的那些元素:
61.·
/{对象id}/{对象实例}/{资源id},例如/3/0/1。
62.因此,客户端设备上的对象、对象实例和资源可由例如在服务器(例如,引导服务器、lwm2m服务器4)上托管的软件或作为服务5的一部分运行的应用程序来远程访问/管理。
63.在一个实施方案中,lwm2m服务器4包括设备管理平台8(如图1中所描绘)处的资源目录(在图1中描绘为资源目录30)或具有对该资源目录的访问权限,由此向lwm2m服务器4注册的各种客户端设备的资源存储在资源目录30中。
64.因此,资源目录30是在向一个或多个服务器注册的一个或多个客户端设备上的对象分级结构的元素的注册表。在实施方案中,资源目录30可使用处理器和存储设备(诸如硬盘驱动器和合适的应用程序、计算机中的数据库应用程序)来实现,或者其可使用云计算来实现。
65.在一个实施方案中,客户端设备2通过发送注册请求并提供各种数据(例如,在tls/dtls握手中)来向lwm2m服务器4注册,诸如提供客户端设备上的所有对象、对象实例资源和/或资源实例(例如,作为文本串或单独标识符)。lwm2m服务器4将所识别的对象、对象实例、资源和/或资源实例存储在客户端设备2的资源目录30中。一旦数据在资源目录30中,就可查找数据并根据需要访问资源。
66.随着客户端设备上的对象、对象实例、资源和/或资源实例的数量的增加,注册消息的大小也将增加并且可能影响系统容量,尤其是当许多客户端设备尝试基本上同时向lwm2m服务器4注册时。
67.为了简化注册程序并减小来自特定客户端设备的注册请求的大小,lwm2m服务器可使用基于模板的注册,由此lwm2m服务器访问资源模板,该资源模板定义特定设备类型的对象、对象实例、资源和/或资源实例。资源模板是至少两个预先确定的对象、对象实例、资源和/或资源实例的模板。在实施方案中,资源模板与设备类型相关联。
68.在本说明书中,“设备类型”由客户端设备上的对象、对象实例和资源限定,由此相同设备类型的客户端设备将具有相同的对象、对象实例和资源,而不同设备类型的客户端设备将具有不同的对象、对象实例和资源。此外,对象、对象实例和资源可在每个设备上具有不同的值。作为例示性示例,具有第一资源集的第一客户端设备将为与具有第二资源集的第二客户端设备不同的客户端设备类型,该第二资源集具有与第一资源集不同的至少一种另外的或替代的资源。
69.再次参见图1,资源模板可存储在设备管理平台8上的存储装置32中,下文中称为“模板存储装置”32。
70.在例示性示例中,当客户端设备2向lwm2m服务器4注册并且该客户端设备2处的对象、对象实例、资源和/或资源实例与模板存储装置30中的资源模板中所指定的对象、对象实例、资源和/或资源实例匹配时,lwm2m服务器4可存储在资源目录30中的资源模板中所识别的对象、对象实例、资源和/或资源实例,以在设备管理平台8处注册该客户端设备2。
71.在此类场景中,客户端设备2可通过在注册请求中提供模板标识符来识别资源模板,其中模板标识符可在引导过程期间由引导服务器6提供在客户端设备2上。此类功能意味着不需要客户端设备2向lwm2m服务器4提供其所有对象、对象实例、资源和/或资源实例,而是仅传输模板标识符以提供基于模板的注册。
72.当安装并通电时,客户端设备被配置为向服务器注册其自身,并且将注册消息发送到服务器。该消息的示例如下:
87.另选地,当该设备对其上的所有对象、对象实例、资源和资源实例应用数据缩减函数时,资源数据可用作模板标识符,例如:
88.post/rd?ep=endpoint1&rt=resourcedata&tmpl&d=domain1
89.在s206处,服务器4处理注册消息以获得与资源数据和/或模板标识符相对应的对象、对象实例、资源和资源实例,并且在s208处,将所获得的对象、对象实例、资源和资源实例存储在资源目录30中以注册客户端设备2。
90.当服务器无法获得对象、对象实例、资源和资源实例时,其将通知客户端设备2(例如,经由错误消息),并且客户端设备可执行完整注册,从而为其上所有对象、对象实例、资源和/或资源实例提供单独标识符。
91.如应当理解的,包括资源数据的注册消息将小于包括所有对象、对象实例、资源和/或资源实例(例如,rt参数中)的所有单独标识符的注册消息。
92.当注册完成时,客户端设备2可访问服务器4,反之亦然。
93.在一个实施方案中,数据缩减函数为压缩函数,诸如游程编码(rle)、霍夫曼编码和/或lempel

ziv压缩。在另一个实施方案中,数据缩减函数为散列函数,诸如md5、sha、adler32 checksum等。此类散列函数可为单向散列函数。
94.应当理解,数据缩减函数的这些示例仅是示例性的并且可使用任何合适的数据缩减函数。
95.在接收到具有资源数据的注册消息时,服务器可以以任何合适的方式获得与资源数据相对应的对象、对象实例、资源和资源实例。
96.在例示性示例中,当资源数据是散列值时,服务器可将散列值与设备管理平台处的存储装置中(例如,散列表中)的预先计算的散列进行比较。当存在匹配时,可使用对应的对象、对象实例、资源和资源实例来注册客户端设备。
97.在另一个例示性示例中,当资源数据是散列值时,服务器可使用客户端设备所使用的相同散列算法来利用服务器上的存储装置中(或可对其进行访问)的对象、对象实例、资源和资源实例作为输入来形成散列值。当存在匹配时,可使用对应的对象、对象实例、资源和资源实例来注册客户端设备。
98.在另一个例示性示例中,当资源数据可逆时,服务器可解压缩或逆转资源数据以获得对应的对象、对象实例、资源和资源实例。
99.图4例示性地示出了数据结构50的示例,该数据结构描绘了可由服务器用来识别对象、对象实例、资源和资源实例的对象实例分级结构。
100.数据结构50代表设备管理平台可用的资源,并且以分级方式结构化,由此根节点52表示可用资源集。尝试向设备管理平台注册的每个设备将可能具有设备管理平台可用的资源子集。
101.对象节点54各自表示根节点52的资源的子集。
102.对象实例节点56各自表示相应对象节点54的资源的子集。
103.资源节点58各自表示相应对象实例节点56的资源的子集。另一个分支可源自相应资源以提供资源实例节点(图4中未示出)。
104.数据结构的每个分支包括一组对象、对象实例、资源和/或资源实例,并且被分配不同的组标识符(b)。组标识符在图4中被描绘为字母数字值,但权利要求在这方面不受限
制。
105.在一个实施方案中,可通过对分支的相应节点的所有资源应用数据缩减函数(例如,散列函数)(例如,通过对资源的所有标识符应用散列函数)来获得该分支的组标识符。
106.在一个实施方案中,客户端设备可通过对其上的相应对象、对象实例、资源和/或资源实例执行数据缩减函数来生成组标识符以提供与数据结构50中的组标识符相对应的资源数据。此类功能减小了注册消息的大小,因为设备不必为所有对象、对象实例、资源和/或资源实例传输单独的标识符。
107.在一些实施方案中,可在引导过程期间或经由网关装置为客户端设备预先提供与组标识符相对应的资源数据。除此之外或另选地,可为客户端设备提供其上对象、对象实例、资源和/或资源实例的数据结构并且客户端设备可从数据结构选择组标识符作为资源数据。与必须生成相应资源数据相比,此类功能减轻了客户端设备的计算/处理负担。
108.此类功能还意味着不同设备可提供相应注册消息中的不同设备数据并且接收服务器将确定需要哪些对象、对象实例、资源和/或资源实例来注册不同设备中的每个设备。例如,客户端设备2a和2b均可实现由组标识符b=454s和b=afsas识别的资源,并且将这些组标识符包括在注册过程中。类似地,这两个客户端设备可实现彼此不同的次分支并且将不同次分支的组标识符包括在相应注册消息中。
109.在另一个实施方案中,设备管理平台可用的对象、对象实例、资源和/或资源实例可分组在一起,而不是通过数据结构的分支进行分组。
110.如图5中所描绘的,数据结构50中的对象、对象实例和资源通过组标识符(g)分组和识别,由此组标识符“g=uio6”对应于从对象20到对象250的所有对象;组标识符“g=yt”对应于对象10420的对象实例1和对象实例2;组标识符“g=u897”对应于对象20的对象实例3和对象9000的对象实例1;组标识符“g=uio6”对应于从对象250到对象10420的所有对象;并且组标识符“g=yut6”对应于对象20和对象10420的资源。图5中所描绘的组仅是例示性的,并且可分配任何数量的分组。
111.在一个实施方案中,可由设备管理平台(例如,服务器或服务器处的服务)通过对分配给每个组的对象、对象实例、资源和/或资源的资源应用数据缩减函数(例如,通过对相应的对象、对象实例、资源和/或资源实例的标识符应用数据缩减函数)来获得组标识符。如图5中所描绘的,组可具有与另一组重叠的一个或多个元素。
112.如应当理解的,客户端设备可通过对其上的相应对象、对象实例、资源和/或资源实例执行数据缩减函数来生成相应组标识符以提供与这些组相对应的资源数据。此类功能减小了注册消息的大小,因为设备不必为所有对象、对象实例、资源和/或资源实例传输单独的标识符。
113.在一些实施方案中,可在引导过程期间为客户端设备预先提供与组标识符相对应的资源数据。除此之外或另选地,可为客户端设备提供其上对象、对象实例、资源和/或资源实例的数据结构并且客户端设备可从数据结构选择组标识符。
114.与必须生成资源数据相比,此类功能减轻了客户端设备的计算/处理负担。
115.因此,客户端设备可将与一个或多个组标识符相对应的资源数据作为注册消息的一部分来传输,并且接收服务器可确定需要哪些对象、对象实例、资源和/或资源实例来注册客户端设备。
116.数据结构还减轻了设备管理平台的计算/处理负担,因为当生成了一次组标识符时,可针对每个设备注册来存储和查找它们,并且在更新或修改它们之前不需要生成它们。
117.如应当理解的,客户端设备可使用组标识符作为注册消息中的模板标识符。
118.在实施方案中,客户端设备上的一个或多个对象、对象实例、资源和资源实例可随时间而改变(例如,在固件更新之后),从而改变该客户端设备的设备类型。服务器(例如,引导服务器或lwm2m服务器)可为新设备类型生成更新的资源数据并且在更新的设备上预先提供资源数据。因此,设备管理平台可在设备类型改变之前动态地学习组标识符,并将它们递送到客户端设备或网关装置。此类动态学习可基于客户/用户/管理员输入配置、连接到与客户帐户相关联的其他网关的设备类型、地理提示等,但权利要求在这个方面不受限制。
119.虽然对象、对象实例、资源和/或资源实例可由包括如用组标识符描绘的字母数字值的资源数据来表示,但权利要求在这方面不受限制,并且在其他实施方案中,对象、对象实例、资源和/或资源实例可由包括代码诸如二进制代码(例如,从1位到n位)的资源数据来表示。
120.作为例示性示例,客户端设备可被配置为应用数据缩减函数以便将其资源识别为包括位流或位串的资源数据,由此每个位都代表对象、对象实例、资源或资源实例。例如,当位串中的位被设置为值
‘1’
时,客户端设备具有该对应的对象、对象实例、资源或资源实例(即,采用值
‘1’
来指示客户端设备处存在对应的对象、对象实例、资源或资源实例);并且当该位被设置为值
‘0’
时,则客户端设备不具有该对应的对象、对象实例、资源或资源实例(即,采用值
‘0’
来指示客户端设备不存在对应的对象、对象实例、资源或资源实例)。
121.组标识符也可由位值标识,由此客户端设备将通过将位值作为资源数据来提供,从而标识所需的资源。例如,设备的最常请求的对象、对象实例或资源可被分组在一起并利用包括单个位的组标识符来识别。设备的下一个最常请求的对象、对象实例或资源可被分组在一起并利用两个位来识别等。另选地,数据结构中的最常请求的分支可用包括单个位的组标识符来标识。下一个最常请求的分支可用包括两个位的组标识符来识别等。
122.当客户端设备需要该组中的对象、对象实例或资源时,则其将能够使用一个或多个位来识别该组。
123.在接收到注册消息时,服务器将解析资源数据并且识别需要哪些对象、对象实例、资源或资源实例来注册客户端设备。作为例示性示例,位串中的每个位可对应于特定的对象、对象实例、资源或资源实例。此类功能意味着对象、对象实例、资源或资源实例可用一个或多个位来识别。作为另一个例示性示例,每个对象、对象实例、资源和/或资源实例可由位代码(例如,2位或更多位)定义,使得当设备在注册时需要特定的对象、对象实例、资源或资源实例时,其将在资源数据中包括该位代码。
124.具有第一主要功能的设备(例如,温度传感器)可能比具有不同主要功能的设备(例如,化学传感器)更频繁地需要一些或不同的对象、对象实例和/或资源。因此,对象、对象实例、资源和/或资源实例可被不同地分组,或者取决于客户端设备而被不同地分配组标识符。设备管理平台可根据从客户端设备接收到的一个或多个设备标识符(例如,端点标识符)来确定要使用哪些组标识符,同时将为每个客户端设备提供适当数据以生成所需的模板标识符或资源模板。
125.如上所述,位串可用作注册消息中的模板标识符或作为注册消息中的模板标识符
的补充。
126.在一个实施方案中,为了减小注册消息的大小,客户端设备可被配置为应用数据缩减函数以提供包括统一压缩表达式的资源数据,该统一压缩表达式在单个表达式中封装对象分级结构的多个元素以便由服务器用来注册客户端设备。
127.作为例示性示例,注册消息可包括包含通配符的统一压缩表达式,从而使得服务器可操作为对与落入由通配符指定的组内的对象分级结构的任何元素相关联的任何活动作出响应。
128.通配符的例示性示例包括星号“*”,该星号可由客户端设备使用来请求对象的所有对象实例或对象(或对象实例)的所有资源。该设备可应用数据缩减函数,使得资源数据包括以下形式的压缩表达式:
129.post/rd?ep=endpoint1&rt=type&tmpl&d=domain1</custom>;rt=“<“/3/0/*>。
130.服务器将资源数据识别为与对象3、对象实例0的所有对象实例和资源相关。
131.通配符的另一个例示性示例包括问号“?”,该问号可由客户端设备使用来请求特定的对象、对象实例或资源。该设备可应用数据缩减函数,使得资源数据包括以下形式的压缩表达式:
132.post/rd?ep=endpoint1&rt=type&tmpl&d=domain1</custom>;rt=“<“/3/?/3>。
133.服务器将资源数据识别为与对象3.3的任何对象实例的资源3相关。
134.通配符的另一个例示性示例是开括号和闭括号“[]”,该开括号和闭括号可由客户端设备使用来请求某个范围内的特定对象、对象实例、资源和/或资源实例。该设备可应用数据缩减函数,使得资源数据包括以下形式的压缩表达式:
[0135]
post/rd?ep=endpoint1&rt=type&tmpl&d=domain1</custom>;rt=“<“/3/0/[3

7]>。
[0136]
服务器将识别资源数据与对象3的对象实例0的所有资源3至7(包括端值在内)相关。
[0137]
示例性压缩表达式仅是示例性的,并且可使用任何字符或符号来减少对应的非压缩表达式。
[0138]
与必须为其上所有对象、对象实例、资源和/或资源实例提供单独标识符的设备相比,使用压缩表达式减少了注册消息。
[0139]
在另一个例示性示例中,注册消息可包括正则表达式形式的统一压缩表达式,该正则表达式定义元素将满足的标准,该标准将使设备可操作为对与落入由正则表达式指定的那些元素内的任何元素相关联的任何活动作出响应。例如,此类正则表达式可指定一组值,这些值识别具有包含指定嵌入串的名称的元素。正则表达式可包括对象分级结构中的对象、对象实例、资源或资源实例的定义中与标准匹配所需的那些部分的规范,并且正则表达式可包含对象分级结构中的对象、对象实例、资源或资源实例的定义中将被忽略的一些部分的指示符。本领域的普通技术人员将清楚的是,这些仅仅是示例,并且统一压缩表达式可根据应用程序的要求采取许多其他形式,该应用程序是客户端设备响应于与识别客户端设备的对象分级结构的元素相关联的活动而提供到服务器的信息的消费者。
[0140]
如上所述,压缩表达式可用作注册消息中的模板标识符或作为注册消息中的模板标识符的补充。
[0141]
在实施方案中,由客户端设备用来生成资源数据的数据缩减算法可与服务器预共享。除此之外或另选地,客户端设备可提供关于使用哪种数据缩减算法来生成资源数据的提示(例如,通过在注册消息中提供标记或代码或者作为tls/dtls与服务器握手的一部分)。
[0142]
本技术提供了减小从设备到服务器的注册消息的大小。
[0143]
此外,虽然以上服务器4一般被描述为lwm2m服务器,但权利要求在这方面不受限制,并且在实施方案中,服务器4可为oma设备管理(dm)、tr

069服务器或者遵循由开放连接基金会(open connectivity foundation)或开放互联联盟(open interconnect consortium)设定的标准/协议的服务器。
[0144]
本技术的实施方案可提供符合开放移动联盟轻量级机器对机器技术规范1.0版及其一个或多个版本(包括例如1.0.2、1.1和1.3版)的具体实施。应当理解,权利要求书在这个方面不受限制。
[0145]
本技术的实施方案还提供了一种携带代码的非暂态数据载体,该代码当在处理器上实现时,使处理器执行本文所述的方法。
[0146]
这些技术还提供处理器控制代码以例如在通用计算机系统或数字信号处理器(dsp)上实现上述方法。这些技术还提供携带处理器控制代码的载体以在运行时实现上述方法中的任一种,特别是在非暂态数据载体或非暂态计算机可读介质诸如磁盘、微处理器、cd或dvd

rom、编程存储器诸如只读存储器(固件)上,或在数据载体诸如光或电信号载体上。代码可被提供在(非暂态)载体诸如磁盘、微处理器、cd或dvd

rom、编程存储器诸如非易失性存储器(例如,闪存)或只读存储器(固件)上。用于实现本技术的实施方案的代码(和/或数据)可包括常规编程语言(解释或编译)诸如c的源代码、目标代码或可执行代码,或者汇编代码,用于设置或控制asic(专用集成电路)或fpga(现场可编程门阵列)的代码,或用于硬件描述语言诸如verilog
tm
或vhdl(极高速集成电路硬件描述语言)的代码。如技术人员将理解的,此类代码和/或数据可分布在彼此通信的多个耦接部件之间。这些技术可包括控制器,该控制器包括微处理器、工作存储器以及耦接到系统的一个或多个部件的程序存储器。
[0147]
用于执行上述技术的操作的计算机程序代码可以一种或多种编程语言的任何组合来编写,包括面向对象的编程语言和常规过程编程语言。代码部件可体现为过程、方法等,并且可包括子部件,该子部件可在任何抽象级上(从本机指令集的直接机器指令到高级编译或解释语言构造)采用指令或指令序列的形式。
[0148]
本领域技术人员还将清楚的是,根据本技术的优选实施方案的逻辑方法的全部或部分可适当地体现在逻辑装置中,该逻辑装置包括用于执行上述方法的步骤的逻辑元件,并且此类逻辑元件可包括例如可编程逻辑阵列或专用集成电路中的诸如逻辑门的部件。此类逻辑布置还可体现为使能元件,该使能元件用于使用例如虚拟描述符语言在此类阵列或电路中暂时或永久地建立逻辑结构,该虚拟硬件描述符语言可使用固定或可传输的载体介质来存储和传输。
[0149]
在一个实施方案,本技术可以数据载体的形式实现,该数据载体上具有功能数据,
所述功能数据包括功能计算机数据结构,以在加载到计算机系统或网络中并在其上操作时,使得所述计算机系统能够执行上述方法的所有步骤。
[0150]
本领域的技术人员将理解的,虽然前面已经描述了被认为是最佳模式以及在适当的情况下执行本技术的其他模式,但本技术不应限于优选实施方案的本说明书中公开的特定配置和方法。本领域的技术人员将认识到,本技术具有广泛的应用范围,并且在不脱离所附权利要求书中所限定的任何发明构思的情况下,实施方案可进行广泛的修改。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1