对相关申请的交叉引用
本申请要求于2014年12月18日提交的标题为“assignmentoftenancytodevices”的序号为no.1422669.0的英国专利申请的优先权,通过整体引用将其合并到本文中。
背景技术:
本公开的技术一般地涉及设备(一般被称为端节点、端点或物联网(iot)设备)的租用(tenancy)的分配。
物联网涵盖能使用ip的和互联网连接的设备和网络,以及监视和控制这些设备的互联网服务。连接到互联网的这种能使用ip的设备可以被称为端节点、端点或iot设备,并且包括传感器、机器、主动定位标签、射频识别(rfid)读取器和楼宇自动化装备,以上仅列出一些。
程序、计算机和机器到机器(m2m)之间的数据交换是至关重要的元素。在不同的环境中使用不同的程序、计算机和处理器。在互联网上,传输控制协议/互联网协议(tcp/ip)是通信中使用的基本协议。tcp/ip负责对包中待发送的数据进行组包和解包。ip处理寻址,使得包被传送到正确的目的地,并且在tcp/ip之上,超文本传输协议(http)被用作客户端/服务器协议,由此程序可以向服务器发送http请求,该服务器以另一个http消息进行响应。
无线嵌入式互联网是物联网的子集,并且一般由资源受限制的嵌入式设备(常常由电池供电并通过低功率、低带宽无线网络连接到互联网)来表示。
当前的网络服务技术具有高功率和大带宽需求,这两者都不与低功率网络兼容。最近,为低功率无线网络开发了二进制网络服务协议。二进制网络服务解决方案包括合适的网络服务协议(诸如简化的http或诸如受约束的应用协议coap的二进制网络服务协议)和高效的内容编码(诸如高效xml互换exi、二进制xml或快速信息组(fastinfoset)fi)的使用。
其中广泛应用了机器到机器(m2m)通信的网络技术的例子是低功率无线网络,诸如基于ieee802.15.4的嵌入式和传感器网络。更近地,随着m2m设备已经变得能够使用ip,通过使用ip作为联网协议,系统已变得更加开放。
在引入ieee802.15.4之后,开发了其它标准来标准化用于这样的无线嵌入式链路的ip适配。例如,低功率无线标准ipv6(6lowpan)是通过适应层和相关协议的优化使得能够在简单嵌入式设备上高效使用在低功率低速率的无线网络上的ipv6的标准的集合。
开放移动联盟轻量级lwm2m是适用于6lowpan的标准,并且专注于在受约束的蜂窝和m2m设备上。轻量级机器到机器(lwm2m)自举(bootstrap)处理被用来通过对于lwm2m客户端的自举接口提供强制性信息,使得它们可以向一个或多个lwm2m服务器执行注册。在自举期间,设备(租户)可以向基于云的服务器(主机)注册,以跨域访问应用。域可以是设备的逻辑分组,并且当将域导出到域名系统(dns)时,则域值通常等同于dns域名。
租用可以被分类为单租用或多租用。如果基于云的服务器为单个租户或单个实体提供域,则这被称为单租用。基于云的服务器可以向多个实体或多个租户(包括在多个实体拥有用于不同目的的不同设备或资源的意义上是无关的那些实体)提供相同或类似的应用。在这样的情况下,这被称为多租用,并且通常具有多租户的基于云的服务器将具有拥有多个设备的多个客户。
目前,在自举之前利用租户名预先配置设备,使得设备预先知道在向设备服务器注册时要使用哪个租户名。这样的预先配置是在时间和资源两者上的昂贵的开销。
技术实现要素:
在一个示例中,在网络中的设备和服务器之间进行自举期间向设备分配租用的方法包括向自举服务器发送设备标识符。该方法还包括在设备处接收设备服务器地址,以使设备能够向设备服务器注册。租用被分配给具有设备服务器地址的设备。
在另一个示例中,在网络中的设备和服务器之间进行自举期间向设备分配租用的方法包括在自举服务器处接收设备标识符;以及向设备发送设备服务器地址,以使设备能够向设备服务器注册。该方法还包括向具有设备服务器地址的设备分配租用。
在另一个示例中,在网络中的设备和服务器之间进行自举期间向设备分配租用的方法包括向自举服务器发送设备标识符;以及在设备处接收设备服务器地址,以使设备能够向设备服务器注册。在设备向设备服务器注册之后,设备服务器与自举服务器进行通信,以请求为设备分配租用。该方法还包括向设备分配租用。
在另一个示例中,在网络中的设备和服务器之间进行自举期间向设备分配租用的方法包括在自举服务器处接收设备标识符;以及向设备发送设备服务器地址,以使设备能够向设备服务器注册。该方法还包括在自举服务器处从设备服务器接收针对设备的租用请求并由此向设备分配租用。
在另一个示例中,在网络中的设备和服务器之间进行自举期间向设备分配租用的方法包括向自举服务器发送设备标识符;以及在设备处接收设备服务器地址,以使设备能够向设备服务器注册。在设备向设备服务器注册之前,为设备服务器提供针对设备的租用的分配。
在另一个示例中,在网络中的设备和服务器之间进行自举期间向设备分配租用的方法包括在自举服务器处接收设备标识符;向设备服务器发送针对设备的租用的分配;以及向设备发送设备服务器地址,以使设备能够向设备服务器注册。在设备向设备服务器注册之前,为设备服务器提供针对设备的租用的分配。
在另一个示例中,在网络中的设备和服务器之间进行自举期间向设备分配租用的方法包括在自举服务器处接收设备标识符;从自举服务器向设备服务器提供设备标识符;以及从自举服务器向设备提供信息,以使设备能够向设备服务器注册。在设备向设备服务器注册之前,为设备服务器提供针对设备的租用的分配。
在另一个示例中,在网络中的设备和服务器之间进行自举期间向设备分配租用的方法包括从自举服务器接收设备标识符;从设备接收向设备服务器注册设备的请求;以及基于设备标识符分配租用。
附图说明
图1是lwm2m部署场景的示意图。
图2是具有服务器和客户端的lwm2m架构的示意图。
图3是lwm2m对象模型的示意图。
图4(a)和图4(b)分别是客户端发起的自举(图4a)和服务器发起的自举(图4b)的示意图。
图5a和图5b是根据第一实施例的分配租用的方法的示意图。
图6a和图6b是根据第二实施例的分配租用的方法的示意图。
图7a和图7b是根据第三实施例的分配租用的方法的示意图。
图8a和图8b是根据第四实施例的分配租用的方法的示意图。
图9a和图9b是根据第五实施例的分配租用的方法的示意图。
具体实施方式
本公开的技术向lwm2m自举处理提供附加的特征。这些技术使得能够在无需利用租户名预先配置设备的情况下,作为自举处理的一部分将单租用或多租用分配给设备。
现在将仅通过示例并参考附图来描述实施例。因此,参考图1,跨越从路灯和电表到家庭和楼宇自动化的细分市场范围示出了用于m2m端点设备10的部署场景。端点设备10可以基于开放式ietf标准(诸如受约束的应用协议(coap))经低功率无线网络与lwm2m服务器16对接(interface)12。一个这样的低功率无线网络是使用低功率无线标准ipv6(6lowpan)的基于ieee802.15.4的嵌入式传感器网络。lwm2m服务器16可以与更广泛的万维网18对接,从而能够部署来自私有服务器、私有云或公共云环境19的m2m应用。
图2和图3示出了lwm2m架构20,该架构在技术上定义了在m2m端点设备10上的客户端22与lwm2m服务器16上的服务器软件之间使用的应用层通信协议。客户端22驻留在设备10上并且被集成为模块或设备10的软件库或内置功能。服务器16位于私有或公共数据中心中,并且可由m2m服务提供商、网络服务提供商或应用服务提供商托管。在服务器和客户端之间定义了四个逻辑接口,即,被预先供应或由客户端/服务器发起的自举24;注册客户端22及其对象50的注册26;使服务器16能够访问对象50或资源48的对象/资源访问或设备管理28;以及用于新资源48值的通知的信息报告30。
lwm2m协议栈32使用受约束的应用协议(coap)34作为经由用户数据报协议(udp)和短消息服务器(sms)载体36的底层传输协议。coap协议34定义消息头、请求/响应代码、消息选项和重传机制。coap协议34是用于资源受约束设备10上的表述性状态转移(restful)应用编程接口(api)的http的替代,并且支持可以被映射到http的get、post、put、delete方法的get、post、put、delete的方法。与http不同,coap消息在coap端点之间经面向数据报的传输(诸如udp)进行异步交换。coap消息以允许功能以4字节开销开始的二进制格式编码。lwm2m将与coap的udp绑定定义为强制性的,而与coap的sms绑定则是可选的,这实际上意味着lwm2m客户端22到服务器16的交互可以经由sms和udp36二者发生。
lwm2m架构20通过使用数据报传输层安全性(dtls)38来使用安全协议以保护客户端22与服务器16之间的通信。dtls38被用来提供在lwm2m服务器16和lwm2m客户端22之间对于所有高效的有效载荷40的安全通道。高效的有效载荷40可以是用于单个资源的纯文本和用于资源批(对象或资源阵列)的二进制tlv或json。dtls38安全模式包括预共享密钥和公共密钥技术二者,以支持嵌入式设备10。
m2m应用42开发人员可以通过m2m网络应用44和m2m设备管理应用46远程地管理设备10。
参考图3,更详细地示出了图2所示的客户端22。通过lwm2m客户端22使其可用的每个信息是资源48。资源48是可以利用以下uri被读取、写入或执行并且访问的信息:
·/{对象id}/{对象实例]/[资源id},例如/3/0/1(设备对象,制造商资源)。
资源48被进一步逻辑地组织为对象50。每个lwm2m客户端22可以具有任何数量的资源48,其中每个资源48属于对象50。例如,固件对象52可以包含用于固件更新目的的所有资源54。
虽然在图3中未示出,但是用于设备管理目的的对象集合包括:
·安全对象,处理在设备10上的客户端22和管理服务器16之间的安全性方面;
·服务器对象,定义与管理服务器16相关的数据和功能;
·访问控制对象,为多个经允许的管理服务器16中的每一个定义服务器16所具有的对客户端22上的每个数据对象的访问权限;
·设备对象,详述m2m设备10上与设备10特定信息相关的资源;
·位置对象,将提供关于m2m设备10的当前位置的信息的那些资源进行聚集;
·连接对象,将m2m设备10上有助于监视网络连接的状态的资源聚集在一起;
·连接统计对象,将m2m设备10上保持关于现有网络连接的统计信息的资源聚集在一起。
作为示例,设备对象允许设备信息(诸如制造商、型号、电力信息、空闲存储器和错误信息)的远程检索。此外,设备对象提供用于发起远程重新启动或出厂重置的资源。
如参考图4(a)和图4(b)更详细地讨论的,lwm2m标准定义了供应和自举24功能,其允许服务器16管理设备10的键控(keying)、访问控制和配置来向服务器16登记。lwm2m自举服务器被用来通过自举接口24为客户端22提供信息,使得客户端22可以执行向一个或多个服务器16的注册。在自举序列之后,客户端22具有服务器帐户和可选地一些其它对象实例(诸如访问控制或连接对象)。
用于完全供应和密钥管理的自举可以被预先配置为诸如从flash进行自举、诸如从sim卡进行智能卡自举、或者在客户端发起的自举和服务器发起的自举的模式中使用自举服务器进行初始设置或重新配置和键控。
以如图4(a)所示的其最简化的形式,客户端发起的自举包括来自lwm2m客户端62的对于端点设备的自举的请求步骤60。作为响应,lwm2m自举服务器64向lwm2m客户端62提供lwm2m服务器对象66的供应。在每种情况下,自举服务器64根据omalwm2m给出设备服务器的信息(至少是设备服务器的ip地址和安全模式)。
参考图4(b),服务器发起的自举包括仅从lwm2m自举服务器64到lwm2m客户端62的lwm2m服务器对象66的供应。
图5a是根据本技术的包括租用名称的供应的自举处理的示意图。自举处理包括设备70、自举服务器72和设备服务器74。自举服务器72和设备服务器74可以是相同的或不同的设备。例如,自举服务器72可以是第一设备,并且设备服务器74可以是不同的第二设备。在其它示例中,自举服务器72和设备服务器74可以是相同的设备,该设备具有在本文中归属于被实现为在例如同一设备的一个或多个处理器上执行的单独应用的自举服务器72和设备服务器74的功能。参考图5b,自举处理包括在步骤76处设备70的初始通电。然后,设备70可以与自举服务器连接,以便开始自举处理。在步骤78处,可以有多个用于发现自举服务器72的机制,包括假设缺省位置(诸如在边缘路由器上)或者通过向自举服务器72分配任播地址。取决于部署,自举服务器72可以能够通过其它方法发现。
在步骤78和发现之后,可以在步骤80处向自举服务器72注册设备70。通常,自举服务器接受来自设备70的post(诸如post/bs?ep=temperature_sensor001)。在本技术中,设备70所属的域不被包括在post中。自举服务器72维持与设备匹配的域的列表或能够访问与设备匹配的域的列表,并且因此设备70在列表中可被识别。例如,在步骤80期间,设备70的名称可以以唯一地识别设备的字符串的形式从设备70发送到自举服务器72。这样的识别的示例包括国际移动台设备识别(imei)号。
在步骤82中,自举服务器72将以设备70归属于的域的形式的租户信息返回设备服务器74。然后,在步骤84中,设备70可以通过使用registerpost/rd?ep=temperature_sensor001&d=oulu的形式的post与设备服务器74进行联系来向域注册。设备服务器74在步骤86中接受该请求并且可以用应答(acknowledgement)2.04进行响应并且可以执行write(写入)操作来向设备70put(放入)更多信息。因此,作为自举处理的一部分,设备可以使用类似于post/rd?ep=temperature_sensor001&d=tenant_name的请求向服务器注册,其中d是域名或租户名。
图6a是根据本技术的包括租用名称的供应的自举处理的示意图。相同的标号应当用于识别相似的部分和处理步骤。自举处理包括设备70、自举服务器72和设备服务器74。参考图6b,自举处理包括在步骤76处设备70的初始通电。然后设备70可以与自举服务器连接,以便开始自举处理。在步骤78,可以有多个用于发现自举服务器72的机制,包括假设缺省位置(诸如在边缘路由器上)或者通过向自举服务器72分配任播地址。取决于部署,自举服务器72可以是能够通过其它方法发现的。
在步骤78和发现之后,可以在步骤80处向自举服务器72注册设备70。通常,自举服务器接受来自设备70的post(诸如post/bs?ep=temperature_sensor001)。在本技术中,设备70所属的域不被包括在post中。自举服务器72维持包括设备70的域的列表,并且可以以各种方式针对该列表来识别设备70。例如,可以以唯一地识别设备的字符串的形式发送设备70的名称。这种识别的示例包括国际移动台设备识别(imei)号。
在步骤88中,该处理与结合图5b所描述的处理不同之处在于,在步骤88中,自举服务器72仅返回具有证书共用名称(cn)中的租户名称的设备服务器信息证书。证书共用名称通常是设备服务器74的主机名和域名,并且可以是uri的格式(诸如www.arm.com/oulu/)。
因此,在步骤90中,因为自举服务器72已经提供了在cn字段中包含租户名称的证书,所以虽然设备70不知道租户名称,但是继续向设备服务器74注册。注册可以是post请求的形式,诸如具有证书cn=domain/temperature_sensor001的registerpost/rd?ep=temperature_sensor001。在步骤92中,设备服务器74从证书cn字段获取租户名称并接受请求,并且可以用应答2.04进行响应并且可以执行write操作,以向设备70put更多信息。
图7a是根据本技术的包括租用名称的供应的自举处理的示意图。相同的标号将被用来识别相似的部分和过程步骤。
自举处理包括设备70、自举服务器72和设备服务器74。参考图7b,自举处理包括在步骤76处设备70的初始通电。然后设备70可以与自举服务器连接,以便开始自举处理。在步骤78,可以有多个用于发现自举服务器72的机制,包括假设缺省位置(诸如在边缘路由器上)或者通过向自举服务器72分配任播地址。取决于部署,自举服务器72可以是能够通过其它方法发现的。
在步骤78和发现之后,可以在步骤80处向自举服务器72注册设备70。通常,自举服务器接受来自设备70的post(诸如post/bs?ep=temperature_sensor001)。在本技术中,设备70所属的域不被包括在post中。
在步骤94中,自举服务器72向设备70返回设备服务器74的信息,而不是域租用信息。根据omalwm2m标准,自举服务器72最少向设备70提供设备服务器74的ip地址及其安全模式。因此,在步骤96,可以通过使用postrd?ep=temperature_sensor001消息向设备服务器74注册设备70。
在步骤98,设备服务器74可以实现针对设备70的租户查找。在这样做时,设备服务器74与自举服务器72进行通信,以便询问哪个域被分配给设备70。例如,设备服务器74可以在设备70在步骤96中向设备服务器注册时,从由设备70发送的任何消息中获得自举服务器72的查找地址。替代地,设备服务器74可以得知自举服务器72的地址,或者可以采用如上所述的发现协议。
设备服务器74和自举服务器72通过通信信道相互通信,并且在网络中,信道可以被分割成控制信道和数据信道。通常,控制信道被用于自举协议,并且在正常网络操作期间使用数据信道,其中该网络上的任何节点能够支持多个控制或数据信道。当控制和数据信道相同时,自举在带内(ib)完成。当控制和数据信道不同时,自举在带外(oob)执行。在本技术中,通信可以在带内或带外执行。
在步骤100,自举服务器72将租户名称返回到设备服务器74,该设备服务器74接受该请求并且可以用应答2.04进行响应,并且可以执行write操作,以向设备70put更多的信息,以便在步骤102完成注册。
图8a是根据本技术的包括租用名称的供应的自举处理的示意图。相同的标号将用来识别相似的部分和过程步骤。
自举处理包括设备70、自举服务器72和设备服务器74。参考图8b,自举处理包括在步骤76处设备70的初始通电。然后设备70可以与自举服务器72连接,以便开始自举处理。在步骤78,可以有多个用于发现自举服务器72的机制,包括假设缺省位置(诸如在边缘路由器上)或者通过向自举服务器72分配任播地址。取决于部署,自举服务器72可以是能够通过其它方法发现的。
在步骤78和发现之后,设备70可以在步骤80向启动服务器72注册。通常,自举服务器接受来自设备70post(诸如post/bs?ep=temperature_sensor001)。在本技术中,设备70所属的域不被包括在post中。自举服务器72维持包括设备70的域的列表,并且可以以各种方式针对该列表来识别设备70。例如,可以以唯一地识别设备的字符串的形式发送设备70的名称。这种识别的示例包括国际移动台设备识别(imei)号。
在步骤104中,该处理与上述处理不同之处在于,在步骤104中,自举服务器72向设备服务器74传送用于设备70的租户名称。在步骤106中,自举服务器72向设备70提供设备服务器74的信息。根据omalwm2m标准,自举服务器72最少向设备70提供设备服务器74的ip地址及其安全模式。因此,设备70可以在步骤108处使用postrd?ep=temperature_sensor001消息向设备服务器74注册。在向设备服务器74注册时,可以参考在步骤104中提供的设备70的名称,由设备服务器74来解析和应答租户名称。
在步骤110,设备服务器74可以用应答2.04进行响应,并且可以执行write操作,以向设备70put更多信息,以便在步骤110完成注册。
图9a是根据本技术的包括租用名称的供应的自举处理的示意图。相同的标号将用来识别相似的部分和过程步骤。自举处理包括设备70、自举服务器72和设备服务器74。参考图9b,自举处理包括在步骤76处设备70的初始通电。然后设备70可以与自举服务器连接,以便开始自举处理。在步骤78,可以有多个用于发现自举服务器72的机制,包括假设缺省位置(诸如在边缘路由器上)或者通过向自举服务器72分配任播地址。取决于部署,自举服务器72可以是能够通过其它方法发现的。
在步骤78和发现之后,可以在步骤80处向自举服务器72注册设备70。通常,自举服务器接受来自设备70post(诸如post/bs?ep=temperature_sensor001)。在本技术中,设备70所属的域不被包括在post中。
在如图9a和9b所述的本技术中,自举服务器72不保持关于设备70的任何信息,并且在步骤112中被强制与设备服务器74进行通信,以便设备服务器74可以使用由设备提供的名称70来get(得到)相关信息。
因此,在步骤112中,自举服务器72将设备70的名称提供给设备服务器74,以便设备服务器74获得与设备70相关的租户名称、证书和配置信息。本技术使设备服务器74的证书和信息能够由设备服务器74本身而不是由第三方(诸如自举服务器72)控制。
在步骤114中,自举服务器72向设备70提供设备服务器信息。根据omalwm2m标准,自举服务器72最少向设备70提供设备用来继续向设备服务器74注册的信息。注册可以是post请求的形式(诸如registerpost/rd?ep=temperature_sensor001),并且设备服务器74可以在步骤118中用应答2.04进行响应,并且可以执行write操作,以向设备70put更多信息。
本领域技术人员将理解,虽然以上已经描述了被认为是最佳模式的情况以及适当地执行当前技术的其它模式,但是这些技术不应当限于优选实施例的该说明书中公开的特定配置和方法。本领域技术人员将认识到,这些技术具有广泛的应用范围,并且在不背离如所附权利要求中限定的发明构思的情况下,实施例可以进行宽范围的修改。
在一方面,本技术提供了一种在网络中的设备和服务器之间进行自举期间向设备分配租用的方法,该方法包括:向自举服务器发送设备标识符;在设备处接收设备服务器地址,以使得能够向设备服务器注册设备,并且其中租用被分配给具有设备服务器地址的设备。这样的技术使得租用能够由自举服务器分配给设备,使得设备可以在不被用租用进行编程的情况下被初始操作。
该方法可以包括在具有设备服务器地址的证书共用名称中分配租用。以这种方式分配租用可以包括证书共用名称是设备服务器的主机名和域名。
设备可以使用从设备的imei、序列号或逻辑名称中选择的设备名称来识别自身。
在另一方面,本技术提供了一种在网络中的设备和服务器之间进行自举期间向设备分配租用的方法,该方法包括:在自举服务器处接收设备标识符;向设备发送设备服务器地址,以使设备能够向设备服务器注册,并且向具有设备服务器地址的设备分配租用。
自举服务器可以访问匹配域与设备的数据并由此基于对该数据的参考来分配租用。该方法可以包括在自举之前在数据包中向自举服务器传送所述数据。传送可以在带外通信中发生。
在另一方面,本技术提供了一种在网络中的设备和服务器之间进行自举期间向设备分配租用的方法,该方法包括:向自举服务器发送设备标识符;在设备处接收设备服务器地址,以使设备能够向设备服务器注册,并且其中当向设备服务器注册设备时,设备服务器与自举服务器通信,以请求为设备分配租用;并由此向设备分配租用。
在另一方面,本技术提供了一种在网络中的设备和服务器之间进行自举期间向设备分配租用的方法,该方法包括:在自举服务器处接收设备标识符;向设备发送设备服务器地址,以使设备能够向设备服务器注册;在自举服务器处从设备服务器接收针对设备的租用请求并由此向设备分配租用。
在另一方面,本技术提供了一种在网络中的设备和服务器之间进行自举期间向设备分配租用的方法,该方法包括:向自举服务器发送设备标识符;在设备处接收设备服务器地址,以使设备能够向设备服务器注册,并且其中在设备向设备服务器注册之前,为设备服务器提供针对设备的租用的分配。
在另一方面,本技术提供了一种在网络中的设备和服务器之间进行自举期间向设备分配租用的方法,该方法包括:在自举服务器处接收设备标识符;向设备服务器发送针对设备的租用的分配;向设备发送设备服务器地址,以使设备能够向设备服务器注册,并且其中在设备向设备服务器注册之前,为设备服务器提供针对设备的租用的分配。
在另一方面,本技术提供了一种在网络中的设备和服务器之间进行自举期间向设备分配租用的方法,该方法包括:在自举服务器处接收设备标识符;从自举服务器向设备服务器提供设备标识符;以及从自举服务器向设备提供信息,以使设备能够向设备服务器注册,其中在设备向设备服务器注册之前,为设备服务器提供针对设备的租用的分配。
在另一方面,本技术提供了一种在网络中的设备和服务器之间进行自举期间向设备分配租用的方法,该方法包括:从自举服务器接收设备标识符;从设备接收向设备服务器注册设备的请求;以及基于设备标识符分配租用。设备服务器可以访问将域与设备匹配的数据并由此基于对该数据的参考分配租用。