本地网络中的资源发现转让专利

申请号 : CN201580081602.7

文献号 : CN107836103B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 彼得里·约凯拉简·梅伦阿里·克兰林

申请人 : 瑞典爱立信有限公司

摘要 :

提供了使资源可被发现的机制。一种由资源位置映射节点执行的方法。该方法包括获取本地网络的范围信息和使得能够确定资源在本地网络中的具体位置的位置信息。该方法包括根据范围信息和位置信息生成资源的约束应用协议(CoAP)资源标识符。该方法包括将CoAP资源标识符提供给资源目录,从而使资源可被发现。

权利要求 :

1.一种用于使资源(106,107,108,109,110)能够被发现的方法,所述方法由资源位置映射节点(301,401)执行,所述方法包括:获取(S102)本地网络(201,304)的范围信息和使得能够确定资源在本地网络中的具体位置的位置信息,其中,所述范围信息描述基于由本地网络中的资源所提供的信息的类型的分层结构;

根据所述范围信息和所述位置信息生成(S104)资源的约束应用协议CoAP资源标识符;

以及

将所述CoAP资源标识符提供(S106)给资源目录RD(412),从而使所述资源能够被发现。

2.根据权利要求1所述的方法,其中,所述范围信息被提供为一组信息中心联网ICN范围。

3.根据权利要求1所述的方法,其中,所述位置信息包括分组内布隆过滤器比特串。

4.根据权利要求1所述的方法,其中,所述CoAP资源标识符被提供为CoAP资源统一资源标识符URI。

5.根据权利要求1所述的方法,其中,每个资源对应于本地网络中的节点、数据项和物理设备中的至少一个。

6.根据权利要求1所述的方法,其中,所述位置信息是从本地网络的网关GW获取的。

7.根据权利要求1所述的方法,其中,所述位置信息被提供为所有资源各自的互联网协议IP地址。

8.根据权利要求7所述的方法,其中,所述IP地址包括标识本地网络的前缀和标识本地网络中的各个资源的后缀。

9.根据权利要求8所述的方法,其中所述后缀由分组内布隆过滤器比特串提供。

10.根据权利要求8或9所述的方法,其中,生成CoAP资源标识符还包括:通过组合所述本地网络中的至少两个资源的后缀,生成(S104a)用于寻址所述至少两个资源的一个CoAP统一资源标识符URI。

11.根据权利要求10所述的方法,其中用于寻址所述至少两个资源的CoAP URI是在所述至少两个资源的后缀之间执行按位逻辑或操作的结果。

12.根据权利要求10所述的方法,其中,用于寻址所述至少两个资源的CoAP URI表示与所述至少两个资源的范围信息相比较高层的范围信息。

13.根据权利要求10所述的方法,其中,所述方法还包括:通过以下操作向RD提供(S106a)关于资源的位置的信息:向所述RD提供(S106b)所述CoAP URI的因特网协议IP地址;或者向所述RD提供(S106c)所述CoAP URI的资源名称。

14.根据权利要求1所述的方法,其中,所述方法还包括:将所述CoAP资源标识符提供(S108)给本地网络的域名服务器DNS(413)。

15.根据权利要求1所述的方法,其中,所述方法还包括:获取(S110)使得能够确定新的资源在本地网络中的具体位置的新的位置信息;

通过将范围信息与所述新的位置信息相关联来生成(S112)所述新的资源的CoAP资源标识符;以及向所述RD提供(S114)所述新的资源的CoAP资源标识符,从而使所述新的资源能够被发现。

16.根据权利要求1所述的方法,其中,所述方法还包括:获取(S116)所述资源的新的范围信息。

17.根据权利要求16所述的方法,其中,所述方法还包括:通过将所述新的范围信息与所述位置信息相关联来生成(S118)所述资源的新的CoAP资源标识符。

18.根据权利要求17所述的方法,其中,所述方法还包括:将所述新的CoAP资源标识符提供(S120)给所述RD和域名服务器DNS中的至少一个。

19.一种用于使资源(106,107,108,109,110)能够被发现的资源位置映射节点(301,

401),所述资源位置映射节点包括处理电路(601),所述处理电路被配置为使所述资源位置映射节点执行一组操作,所述操作包括:获取本地网络(201,304)的范围信息和使得能够确定资源在本地网络中的具体位置的位置信息,其中,所述范围信息描述基于由本地网络中的资源所提供的信息的类型的分层结构;

根据所述范围信息和所述位置信息生成资源的约束应用协议CoAP资源标识符;以及将所述CoAP资源标识符提供给资源目录RD(412),从而使所述资源能够被发现。

20.根据权利要求19所述的资源位置映射节点,其中,所述方法还包括存储所述一组操作的存储介质(603),并且所述处理电路被配置为从所述存储介质获取所述一组操作,使所述资源位置映射节点执行所述一组操作。

21.根据权利要求19或20所述的资源位置映射节点,其中所述一组操作被提供为一组可执行指令。

22.一种计算机可读存储介质,存储有用于使资源(106,107,108,109,110)能够被发现的计算机程序(802),其中所述计算机程序当在资源位置映射节点(301,401)的处理电路(601)上运行时,使所述资源位置映射节点:获取(S102)本地网络(201,304)的范围信息和使得能够确定资源在本地网络中的具体位置的位置信息,其中,所述范围信息描述基于由本地网络中的资源所提供的信息的类型的分层结构;

根据所述范围信息和所述位置信息生成(S104)资源的约束应用协议CoAP资源标识符;

以及

将所述CoAP资源标识符提供(S106)给资源目录RD(412),从而使所述资源能够被发现。

说明书 :

本地网络中的资源发现

技术领域

[0001] 本文呈现的实施例涉及发现,具体涉及用于使本地网络中的资源可被发现的方法、资源位置映射节点、计算机程序和计算机程序产品。

背景技术

[0002] 在通信网络中,针对给定的通信协议、其参数和部署有该通信网络的物理环境,获得良好性能和容量可能是一种挑战。
[0003] Web协议(如超文本传输协议(HTTP)和约束应用协议(CoAP))使用统一资源标识符(URI)来引用在服务器上托管的资源。可以从使用超链接的文档(例如,超文本标记语言(HTML))中发现URI,或者可以将它们存储在诸如约束RESTful环境(CoRE)资源目录(RD)的目录中。URI的权威部分包括托管资源的服务器的地址,而路径部分包括去往该服务器上资源的路径。传统上,路径指的是服务器上的一组文件系统目录,但是现在使用虚拟URI使服务器能够动态地将不同的URI映射到服务器中的各种资源。
[0004] 当RD用于发现资源时,客户端向RD查询与特定标准匹配的资源,并且RD返回定义去往那些资源的URI的web链接的列表。
[0005] 发布-订阅(pub-sub)和信息中心联网(ICN)范例从寻址主机转变为寻址信息并引入“范围”的概念,其中范围的层次和那些范围内的资源被定义,而不是定义地址和资源路径,寻址资源不需要定义托管这些资源的服务器。ICN范围的说明性示例是房子里的房间的灯具:例如,这些灯可以呈现为“房子:厨房:灯具”或“房子:客厅:灯具”这样的范围。单个资源也可以属于多个范围,例如“房子:底层:灯具1”和“房子:厨房:灯具1”。ICN会合层将把范围转换成针对转发层的指令,该转发层进而将向正确的服务器转发对资源的查询。
[0006] 房子信息的范围可以例如如图1所示。图1提供了基于范围的信息识别的分层结构100。分层结构100包括由实体房子101所表示的顶层。实体房子下面的一层是实体客厅102、厨房103、灯具104和传感器105。这些实体102-105因此是实体房子101的一部分。最后,底层是实体灯1106、灯2107、灯3108、传感器1109和传感器2110。实体106-110被称为资源。连接指示实体106-110如何与实体102-105相关。例如,客厅102与灯1106、灯2107和传感器1109相关联。因此,在现实情况下,这将对应于如下情形:房子包括客厅并且客厅有两个灯具(如灯1和灯2所示)和一个传感器(由传感器1所示)。图1提供了信息中心联网中用于针对当前信息寻址信息的范围的示意图。例如,灯1可以使用范围“房子:客厅:灯1”或“房子:灯具:灯
1”来寻址。
[0007] ICN用户可以基于这些范围来订阅信息,例如,针对客厅里的灯具(订阅:房子->客厅),针对所有的灯具(订阅:房子->灯具),和针对特定的灯(房子->厨房->灯具3)。该会合系统在拓扑管理器(TM)和相应的转发标识符(Fid)的帮助下创建所需的路径。分组内布隆过滤器(iBF)可以用作Fid,并且TM可以负责计算从资源至订阅客户端的Fid。然后将所计算的Fid发送给进一步使用该Fid向客户端传送数据的资源。然而,这个Fid也可以是例如IP地址,在这种情况下不需要TM,而会合实体或资源位置映射节点可以直接将订阅客户端的IP地址发送给向订阅客户端发送请求数据的资源。
[0008] 虽然ICN方法能够有效地寻址资源,但目前互联网主机并不普遍支持它。ICN网络和互联网之间的网关通常需要使用不同的寻址范例在这两个网络之间进行转换(translate)。然而,ICN网络中的资源仍然需要可被互联网上的主机发现,以便建立既使用ICN资源又使用互联网资源的服务。
[0009] 虽然传统的对去往资源的URI路径的使用通常会导致去往单个资源的单一路径,但ICN范围可以以任意方式进行组合。例如,参照图1,可以使用ID路径房子/灯具/灯3或房子/厨房/灯3来识别灯3。
[0010] 因此,仍然需要改进使资源可被发现的机制。

发明内容

[0011] 本文的实施例的目的是提供使资源可被发现的有效机制。
[0012] 根据第一方面,提出了一种使资源可被发现的方法。该方法由资源位置映射节点执行。该方法包括获取本地网络的范围信息和使得能够确定资源在本地网络中的具体位置的位置信息。该方法包括根据范围信息和位置信息生成资源的约束应用协议(CoAP)资源标识符。该方法包括将CoAP资源标识符提供给资源目录,从而使资源可被发现。
[0013] 有利地,这提供了使资源可被发现的有效机制。
[0014] 有利地,这使得能够在传统的CoAP网络中创建资源的灵活映射。
[0015] 有利地,这使得能够以有效的方式从传统的互联网协议(IP)网络中寻址ICN网络实体,其中主机部分可以描述URI的主机部分中的动态变化的资源。
[0016] 有利地,这使得能够使用单个单播IPv6地址进行高效传输,并且使用IPv6地址中的iBF来将信息多播到所有资源。
[0017] 根据第二方面,提出了一种用于使资源可被发现的资源位置映射节点。资源位置映射节点包括处理电路。处理电路被配置为使资源位置映射节点执行一组操作。该组操作包括资源位置映射节点获取本地网络的范围信息和使得能够确定资源在本地网络中的具体位置的位置信息。该组操作包括资源位置映射节点根据范围信息和位置信息生成资源的约束应用协议(CoAP)资源标识符。该组操作包括资源位置映射节点将CoAP资源标识符提供给资源目录,从而使得资源可被发现。
[0018] 根据第三方面,提出了一种用于使资源可被发现的计算机程序,所述计算机程序包括计算机程序代码,所述计算机程序代码当在资源位置映射节点上运行时,使所述资源位置映射节点执行根据第一方面的方法。
[0019] 根据本发明的第四方案,提出了一种计算机程序产品,所述计算机程序产品包括根据三方案的计算机程序和存储所述计算机程序的计算机可读装置。
[0020] 应当注意的是,适当时,第一、第二、第三和第四方案的任何特征可以应用到任何其它方案。同样,第一方案的任何优点可以分别等同地应用到第二、第三和/或第四方案,反之亦然。通过以下详细公开、所附从属权利要求以及附图,所附实施例的其他目的、特征和优点将变得显而易见。
[0021] 一般地,除非本文另有明确说明,否则权利要求中使用的所有术语根据其技术领域中的普通含义来解释。除非另有明确说明,否则对“一/一个/所述元件、设备、组件、装置、步骤等”的所有引用应被开放地解释为指代元件、设备、组件、装置、步骤等中的至少一个实例。除非明确说明,否则本文公开的任何方法的步骤不必以所公开的确切顺序来执行。

附图说明

[0022] 现在通过举例的方式参考附图描述本发明的构思,其中:
[0023] 图1是示出根据实施例的基于范围的信息标识的分层结构的示意图;
[0024] 图2是示出根据实施例的本地网络的物理布置的示意图;
[0025] 图3是示出根据实施例的用于在图2的物理布置中登记范围和资源的布置的示意图;
[0026] 图4是示出根据实施例的包括资源位置映射节点、资源目录和域名服务器的布置的示意图;
[0027] 图5是示出根据实施例的资源目录的示意图;
[0028] 图6是示出根据实施例的资源位置映射节点的功能单元的示意图;
[0029] 图7是示出根据实施例的资源位置映射节点的功能模块的示意图;
[0030] 图8示出了根据实施例的包括计算机可读装置的计算机程序产品的一个示例;以及
[0031] 图9和图10是根据实施例的方法的流程图。

具体实施方式

[0032] 现在将在下文参考附图来更全面地描述发明构思,附图中示出了本发明构思的特定实施例。然而,本发明构思可以按多种不同形式来体现,并且不应当被解释为受到本文阐述的实施例的限制。相反,通过示例给出这些实施例,使得本公开将透彻和完整,并且向本领域技术人员充分地传达本发明构思的范围。在说明书全文中,相似的标记指代相似的要素。由虚线示出的任何步骤或特征应当被视为可选的。
[0033] 在CoAP的背景下,已经认识到上述的发布-订阅方法也有优势。根据本文公开的实施例中的至少一些,提供了这两个标识符之间的映射。具体地,提出了一种将基于发布-订阅的信息标识符映射到CoAP资源标识符并将来自发布-订阅主机的信息发布到基于CoAP的网络的机制。CoAP资源标识符使用传统格式通过使用主机名和去往实际资源的路径来标识资源。相比之下,在使用发布-订阅范例的信息中心联网(ICN)中,信息标识不基于任何具体的主机名。
[0034] 图2示意性地示出了经由网关208可操作地连接到外部网络(互联网)210的本地网络201的物理布置200。在本地网络中,使用分组内布隆过滤器(iBF)来转发分组。网关(GW)208维护去往本地网络中的每个设备204、205、206(其中每个设备对应于资源)的转发标识符(FId)信息209。在图2的说明性示例中,本地网络201对应于实体房子,该实体房子包括由GW 206经由路由器203访问的实体客厅202,以及由GW 206经由路由器207访问的实体厨房
211。例如,灯1的FId是iBF1。这个FId可以用来向灯1传送分组。在这方面,FId是用于描述转发信息的通用术语;它也可以是例如在本地网络是基于IP的情况下的IP地址。在图2中,FIds是GW可以用于向本地网络中的相应资源传送分组的iBF。
[0035] iBF可以以各种方式生成。本地网络可以具有知道网络拓扑以及用于在iBF转发中传送分组的链接标识符的特定拓扑管理器(例如路径计算单元(PCE))。基于这个信息,PCE可以计算GW请求向其传送分组的不同资源的iBF。也可以针对固定连接或无线网络自动收集iBF。
[0036] 作为示例,本地网络已经被分配了前缀3ffe:abba。在IP网络中使用该前缀的所有分组都被传送给GW。然而,如上所述,本地网络不使用IP,因此GW例如通过在IP地址中嵌入资源的iBF表示的指示来执行iBF到IP地址的转换。
[0037] 这里公开的实施例涉及使资源106、107、108、109、110(在本地网络中)可被发现。为了使资源106、107、108、109、110可被发现,提供了资源位置映射节点、由资源位置映射节点执行的方法,例如以计算机程序产品形式的包括代码的计算机程序,当在资源位置映射节点上运行代码时,使资源位置映射节点执行该方法。
[0038] 图8以多个功能单元的方式示意性地示出了根据实施例的资源位置映射节点301、401的组件。使用能够执行计算机程序产品801(如图8)(例如,具有存储介质603的形式)中存储的软件指令的合适的中央处理单元(CPU)、多处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等中的一种或多种的任意组合来提供处理电路601。
[0039] 具体地,处理电路601被配置为使资源位置映射节点301、401执行一组操作或步骤S102-S120。下面将公开这些操作或步骤S102-S120。例如,存储介质603可以存储该组操作,并且处理电路601可以被配置为从存储介质603获取该组操作,以使资源位置映射节点301、401执行该组操作。该组操作可以被提供为一组可执行指令。处理电路601由此被布置为执行本文公开的方法。
[0040] 存储介质603还可以包括持久存储设备,其例如可以是磁存储器、光存储器、固态存储器或甚至远程安装存储器中的任意单独一个或组合。资源位置映射节点301、401还可以包括用于与至少一个网关资源目录和域名服务器通信的通信接口602。处理电路601例如通过向通信接口602和存储介质603发送数据和控制信号,通过从通信接口602接收数据和报告,以及通过从存储介质603中获取数据和指令来控制资源位置映射节点301、401的总体操作。省略资源位置映射节点301、401的其他组件以及有关功能以不使本文提出的概念模糊。
[0041] 图7以多个功能模块的方式示意性地示出了根据实施例的资源位置映射节点301、401的组件。图7的资源位置映射节点301、401包括多个功能模块;获取模块601a,被配置为执行以下步骤S102、S110、S116;生成模块602,被配置为执行以下步骤S104、S104a、S112、S118;以及提供模块603,被配置为执行以下步骤S106、S106a、S106b、S114、S120。图7的资源位置映射节点301、401可以进一步包括多个可选的功能模块,例如由另外的功能模块601d表示。以下将在可以使用功能模块601a-601c的上下文中进一步公开每个功能模块601a-
601c的功能。一般地,每个功能模块601a-601c可以在硬件或在软件中实现。优选地,一个或多个或所有功能模块601a-601c可以由处理电路601可能与功能单元602和/或603协作来实现。处理电路601可以因此被布置为从存储介质603获取由功能模块601a-601c提供的指令,并且被布置为执行这些指令,由此执行下文将公开的任何步骤。
[0042] 资源位置映射节点301、401可以是单独的节点或GW中提供的功能节点。另外地或可选地,一个资源位置映射节点301、401可以服务几个GW。此外,尽管在图6中示出了单个处理电路601,但处理电路601可以分布在多个设备或节点中。这同样适用于图7的功能模块601a-601d和图8的计算机程序802(见下文)。
[0043] 图8示出了包括计算机可读装置803的计算机程序产品801的一个示例。在该计算机可读装置803上,可以存储计算机程序802,该计算机程序802可以使处理电路601和可操作地耦接到该处理电路的实体和设备(例如,通信接口602和存储介质603)执行根据本文描述的实施例的方法。计算机程序802和/或计算机程序产品801可以因此提供执行如本文公开的任何步骤的方法。
[0044] 在图8的示例中,计算机程序产品801示出为光盘,例如CD(高密度盘)或DVD(数字多功能盘)或蓝光盘。计算机程序产品801还可以体现为存储器,例如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、或电可擦除可编程只读存储器(EEPROM)和更具体地作为外部存储器中的设备的非易失性存储介质,例如USB(通用串行总线)存储器或闪存(例如闪存)。因此,尽管计算机程序802这里示意性地示出为所描述的光盘上的轨道,计算机程序802可以用适于计算机程序产品801的任意方式进行存储。
[0045] 图9和图10是示出用于使资源106、107、108、109、110可被发现的方法的实施例的流程图。这些方法由资源位置映射节点301、401执行。有利地,将这些方法提供为计算机程序32。
[0046] 现在参考图9,图9示出了根据实施例的由资源位置映射节点301、401执行的用于使资源106、107、108、109、110可被发现的方法。
[0047] 资源位置映射节点301、401被配置为在步骤S102中获取位置信息和本地网络的范围信息。本地信息使得能够确定资源在本地网络中的具体位置。位置信息可以从本地网络的网关(GW)获取。范围信息、本地信息和资源的示例将在下面提供。例如,位置信息可以包括iBF比特串。
[0048] 获取的信息用于生成资源的约束资源标识符。具体地,资源位置映射节点301、401被配置为在步骤S104中根据范围信息和位置信息生成资源的约束应用协议(CoAP)资源标识符。CoAP资源标识符可以被提供为CoAP资源统一资源标识符(URI)。下面将提供可以如何生成CoAP资源标识符的示例。
[0049] 然后发布这些CoAP资源。因此,资源位置映射节点301、401被配置为在步骤S106中向资源目录(RD)412提供CoAP资源标识符。资源从而可被发现。下面将提供关于可以如何发布CoAP资源的更多示例。
[0050] 范围信息可以描述基于由本地网络中的资源所提供的信息的类型的分层结构。例如,范围信息可以提供为一组ICN范围。
[0051] 存在不同的资源的示例。一般而言,资源可以被定义为可以由URI标识的网络数据对象或服务。资源可以以多种表示形式(例如多种语言、数据格式、大小和分辨率)提供,或以其他方式变化。例如,每个资源可以对应于本地网络中的节点、数据项和物理设备(诸如机器设备、传感器或物联网(IoT)设备)中的至少一个。由于本地网络可以是ICN网络,因此这些资源可被视为ICN资源。
[0052] 知道托管资源的本地网络的ICN特性的RD可以由此将ICN范围(由CoAP资源表示)映射到URl路径中。例如,鉴于以上提出的说明性示例,范围“房子:底层:灯具1”可以映射到URI“/房子/底层/灯具1/”。对于互联网主机,这将看起来像一个常规的URI,但是当针对这样的URI的查询到达ICN网络的网关时,该URI可以被映射到ICN范围,并使用ICN转发发送给属于该范围的主机。
[0053] 如下面将进一步公开的,本文公开的实施例允许从分配给RD处的资源的单个单播IPv6地址映射到本地网络中的多个主机。IPv6地址可以包括允许本地网络中基于非IP的转发使用多播去往所有需要的目的资源的信息。
[0054] 现在参考图10,图示了根据另外的实施例的由资源位置映射节点301、401执行的用于使资源106、107、108、109、110可被发现的方法。
[0055] 在一些实施例中,GW之后的本地网络不是基于IP的,而是使用基于iBF的转发机制。这个本地网络使用知道两个转发机制的GW连接到IPv6互联网(见图2)。
[0056] GW负责在本地网络主机(多个主机)的外部IPv6地址与用于将分组从GW转发到资源的iBF之间进行映射。这可以例如使用iBF网络地址转换器(translator)来实现。该机制可以基于例如将分配给GW处的具体资源的外部IPv6地址映射到从GW通向该资源的现有iBF,或者可以形成IPv6地址本身,使得地址的主机部分是iBF,并且其中GW删除IPv6地址的前缀部分,并使用主机部分作为iBF将分组传送给资源。
[0057] 当本地网络中的资源向GW发送登记时,可在分组中包括空的64位iBF收集字段。本地网络内的每个路由器203、207可以通过将Lid与收集器字段的当前内容进行逻辑“或”(OR),在收集器字段中包括进入接口的链接标识(Lid)。一旦分组到达位于本地网络和IPv6网络之间的GW,GW就可以从分组中获得收集器字段,并且通过将本地网络的64位前缀与登记分组中的64位iBF组合来生成登记资源的IPv6地址。
[0058] GW可以联系资源位置映射节点301、401。GW将发布的信息和范围登记到负责维护本地网络的信息的资源位置映射节点301、401。因此,资源位置映射节点301、401具有本地网络、以及已经被定义为在本地网络中建立有意义的资源组(例如,“光传感器”、“第三层房间”等等)的相应范围,以及每个资源的相应的基于iBF的IP地址的知识。
[0059] 另外,资源位置映射节点301、401可以生成附加的IP地址,该地址可以包括多个目的iBF。具体地,根据实施例,资源位置映射节点301、401被配置为通过在步骤S104a中通过组合至少两个资源的后缀来生成用于寻址本地网络中的至少两个资源的一个CoAP统一资源标识符(URI),来生成CoAP资源标识符。资源位置映射节点301、401可以使用它们之间的逻辑或操作来合并两个iBF,从而创建新的iBF。因此,用于寻址所述至少两个资源的CoAP URI可以是在所述至少两个资源的后缀之间执行按位逻辑或操作的结果。
[0060] 例如,参照图4的说明性示例,灯1和灯2都具有基于iBF的IP地址。这些地址可以用来相应地联系灯资源。资源位置映射节点301、401因此可以通过使用针对灯1和灯2地址的iBF部分的按位或运算来生成附加的IPv6地址,从而生成新的IPv6地址。当使用此IPv6地址时,信息实际上被传送给本地网络中的灯1和灯2二者。这允许较高层的范围被映射到在互联网侧描述资源的单个CoAP URI。因此,根据实施例,用于寻址至少两个资源的CoAP URI表示与至少两个资源的范围信息相比较高层的范围信息。
[0061] 图4提供了包括向资源目录412和域名服务器413提供信息的资源位置映射节点401的布置400的示意图。资源位置映射节点401示意性地保存图1的基于范围的信息标识的分层结构100的表示。因此,该分层结构包括由实体房子411表示的顶层。实体房子下面的一层是实体客厅402、厨房403、灯具404和传感器405。最后,在底层上是表示资源的实体灯
1406、灯2407、灯3408、传感器1409和传感器2410。
[0062] 在图4中,资源位置映射节点301、401保持本地网络的范围。使用接收的特定资源(例如灯1)的地址信息,资源位置映射节点301、401可以生成额外的资源。这些资源是虚拟的,因为没有代表这个特定资源的物理设备。例如,资源位置映射节点301、401可以基于由GW发布的范围来生成新的资源“客厅”,并为其分配新的IP地址。这个IP地址后缀部分可在其下面包括子范围或发布者。在图4的说明性示例中,这些发布者是均在房子中存在的灯1和灯2。
[0063] 分组内布隆过滤器特征可用于合并路径。当GW需要将分组发送给灯1和灯2二者时,它可以在iBF1和iBF2之间执行按位或操作。这个操作给出了新的iBF,并且当从GW使用这个iBF时,本地网络将分组多播到灯1和灯2。虚拟资源“客厅”的IP地址是通过将两个灯的iBF合并而成的iBF作为后缀添加到本地网络的前缀来创建的,从而得到地址IPv6客厅。
[0064] 如上所述,如在步骤S106中那样,资源位置映射节点301、401将资源登记到RD(参见图3)。这些登记可以包括指向特定IPv6地址的URI,包含iBF作为主机部分。因此,RD可能不知道本地网络的iBF性质以及IPv6地址实际指向的资源。
[0065] 图3是用于在图2的物理布置中登记范围和资源的布置300的示意图。因此,布置300与物理布置200类似,并且包括经由网关303可操作地连接到外部网络(互联网)302的本地网络304。网关303又可操作地连接到资源位置映射节点301。网关(GW)303维护去往本地网络304中的每个资源的转发标识符(FId)信息305。
[0066] 在图3中,GW针对本地网络中的每个资源生成IPv6地址。因此,根据实施例,位置信息被提供为所有资源的各个IP地址。
[0067] 这可以通过使用本地网络的分配的IPv6前缀作为地址前缀并将iBF比特串添加到该地址的后缀部分来实现。因此,根据实施例,IP地址包括标识本地网络的前缀和标识本地网络中的各个资源的后缀。后缀可以由iBF比特串提供。前缀可以和iBF一样可以是64位长。在一些情况下,前缀部分可以较短,而iBF相应地较长。GW可以将该信息发布到维护ICN范围和发布信息(如图1所述)的资源位置映射节点301、401。
[0068] 向本地网络添加新的资源可能需要向GW登记新的资源本身,并且进一步地,它们发布的信息被置于GW和资源位置映射节点301、401处的范围系统中的正确范围之下。因此,根据实施例,资源位置映射节点301、401被配置为在步骤S110中获取使得能够确定新的资源在本地网络中的具体位置的新的位置信息。在该实施例中,资源位置映射节点301、401还被配置为在步骤S112中通过将范围信息与新的位置信息相关联来生成新的资源的CoAP资源标识符。资源位置映射节点301、401还将这些新的设备及其发布的信息作为新的资源登记到RD。在本实施例中,资源位置映射节点301、401因此被进一步配置为在步骤S114中将新的资源的CoAP资源提供给RD,从而使得新的资源可被发现。
[0069] 资源位置映射节点301、401还可以被配置为在步骤S116中获取资源的新的范围信息。此外,资源位置映射节点301、401可以被配置为在步骤S118中通过将新的范围信息与位置信息相关联来生成资源的新的CoAP资源标识符。例如,当资源位置映射节点301、401接收到在某个现有范围之下的新的范围或发布资源时,可以通过将新的资源的这个新的iBF部分借助按位或操作包含在IPv6地址的主机部分中来更新较高层范围的IPv6地址。
[0070] 资源位置映射节点301、401可以通过仅仅发送DNS中登记的某个主机名的新IP地址来将该信息更新到域名服务器(DNS)413。因此,根据一个实施例,资源位置映射节点301、401被配置为在步骤S120中将新的CoAP资源标识符提供给RD和DNS中的至少一个。
[0071] 例如,在图4(见下文)中,资源位置映射节点301、401已经登记了客厅的IP地址,该IP地址在后缀部分包括iBF1和iBF2。如果第三个灯被添加到客厅,则资源位置映射节点301、401可以生成针对客厅的新的IPv6地址,该地址还包括到新灯的iBF,并且在DNS中更新该地址。对于这部分,不需要更新RD。此外,新灯也可以以类似于灯1和灯2的方式,作为新的独立资源登记在RD中。
[0072] 当CoAP客户端通过查询RD从例如所有客厅资源请求数据时,CoAP客户端将接收到相应的CoAP URI(coap://livingroom.example.com/)。它从DNS解析主机名并获取客厅的IP地址。IPv6地址的前缀部分将通过互联网将请求路由到GW。当GW接收到请求时,会将IP分组转换为iBF分组,并将目的IPv6地址的主机部分作为iBF。由于该地址通常可以通过将接收的通向灯1和灯2的iBF逻辑“或”在一起,所以所述分组将使用本地网络中的iBF转发被传送给两个灯。
[0073] 当资源(即本说明性示例中的灯设备)应答该请求时,GW将主机ICN范围转换为可用于与资源进一步通信的IPv6地址。在GW上的映射可以被执行,使得IPv6地址仅包括作为地址后缀的应答灯的iBF,或者包括与在互联网中来自CoAP客户端的请求到达时使用的相同iBF。
[0074] 如上所述,如在步骤S106中那样,资源位置映射节点301、401将所有资源登记在CoAP RD中。这可以通过将资源的IP地址提供给RD来实现(例如,coap://[3ffe:abba:[iBF1 OR iBF2]]或通过仅给出资源名称(例如coap://livingroom.example.com/)并更新DNS中的对应地址信息(例如livingroom.example.com=3ffe:abba:[iBF1 OR iBF2]来实现。因此,资源位置映射节点301、401可以被配置为在步骤S106a中向RD提供关于资源的位置的信息。步骤S106a可以包括步骤S106b或步骤S106c。根据步骤S106b,资源位置映射节点301、401被配置为向RD提供CoAP URI的IP地址。根据步骤S106c,资源位置映射节点301、401被配置为向RD提供CoAP URI的资源名称。
[0075] 为了使得DNS中的相应地址信息(例如livingroom.example.com=3ffe:abba:[iBF1OR iBF2])能够更新,资源位置映射节点301、401可以被配置为在步骤S108中向本地网络的DNS 413提供CoAP资源标识符。
[0076] 资源位置映射节点301、401在图4中维护的每个灯资源具有登记的IPv6地址。RD将范围和发布内容登记为RD中的资源。当互联网中的CoAP客户端从RD请求例如资源灯2时,它将接收IPv6地址3fie:abba:iBF2作为从中可以查询数据的位置。
[0077] 当客户端使用从RD接收到的IPv6地址时,将数据请求分组传送给GW。GW从IPv6地址中删除前缀部分,并使用后缀部分的iBF将所述分组传送给基于iBF的本地网络。对于对灯2的请求,目的IPv6地址是3ffe:abba::iBF2,并且使用后缀部分iBF2将分组从GW传送给本地网络。该请求被传送给灯2。但是,如果客户端希望从/房子/客厅获得信息,则IPv6地址具有不同的后缀。删除前缀给出包含iBF1和iBF2二者的iBF,并且网络向灯1和灯2二者传送相同的请求。因此,客户端将从这两个资源接收数据。
[0078] 通过在RD和请求中使用合适的URI(例如coap://livingroom.example.com/),可以在共同的范围之下寻址两个或多个资源。RD资源如图5所示。图5示意性地示出了资源目录501。图5的资源目录501通过寻址虚拟资源客厅之下的具体资源(例如物理设备或可能的其他虚拟资源)的图示来例示。CoAP客户端从RD请求资源。利用coap://livingroom.example.com/,客户端将接收来自客厅范围之下的所有发布资源的信息。但是,如果客户端请求URI为“灯1”的资源,IP地址是相同的(即“livingroom.example.com”的IP地址),则该请求被传送给“客厅”之下的所有资源,但是只有灯1发现在URI中描述的是自己的资源。接收请求的其他资源不会在请求中的URI中发现自己,它们将丢弃该请求。因此,与前面提到的具体资源(例如coap://Lamp1.example.com)的寻址的一个区别在于:现在,CoAP客户端将“livingroom.example.com”视为接收者,并获得实际指向本地网络中的灯1和灯2二者的IP地址。然而,现在在被请求的URI中插入“灯1”,并且尽管两个灯都接收到请求,但URI中的资源仅与灯1而不与灯2匹配。因此,唯一的应答来自灯1。这允许CoAP客户端以灵活的方式分配资源。
[0079] 总之,已经提供了利用iBF和范围创建以及RD和本地网络地址转换使得采用iBF寻址的基于ICN的本地网络的资源可用于采用IP和CoAP URI资源寻址的IP网络的有效机制。对多个实际资源启用CoAP URI的映射,其中资源的IPv6地址包括多播分组内布隆过滤器。
可以在资源位置映射节点301、401处将多个资源映射到单个CoAP资源。可以通过将多个基于iBF的IPv6地址组合成单个IPv6地址来使资源可寻址,其中新创建的IPv6地址实际上是将来自传统IP节点的分组与所有目标资源相乘的多播iBF。
[0080] 以上已经参考一些实施例主要地描述了发明构思。然而,本领域技术人员容易理解的是:上述公开之外的在如由所附专利权利要求所限定的发明构思的范围之内的其它实施例同样是可能的。