CN106134159B - 增强分布式资源目录 - Google Patents

增强分布式资源目录 Download PDF

Info

Publication number
CN106134159B
CN106134159B CN201580013351.9A CN201580013351A CN106134159B CN 106134159 B CN106134159 B CN 106134159B CN 201580013351 A CN201580013351 A CN 201580013351A CN 106134159 B CN106134159 B CN 106134159B
Authority
CN
China
Prior art keywords
resource
node
endpoint
message payload
network
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CN201580013351.9A
Other languages
English (en)
Other versions
CN106134159A (zh
Inventor
董丽君
王重钢
黛尔·N·希德
李庆光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Convida Wireless LLC
Original Assignee
Convida Wireless LLC
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 Convida Wireless LLC filed Critical Convida Wireless LLC
Publication of CN106134159A publication Critical patent/CN106134159A/zh
Application granted granted Critical
Publication of CN106134159B publication Critical patent/CN106134159B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Computing Systems (AREA)

Abstract

根据示例性实施例,增强分布式资源目录提供资源查找能力,无需知道资源的统一资源标识符。例如,资源目录节点可以从端点接收消息有效载荷。消息有效载荷包括注册请求或资源查找请求。资源目录节点可以确定与消息有效载荷相关联的关键字。关键字可以包括参数和与参数相关联的值。在确定关键字后,可以将关键字应用于散列函数来生成具有对等资源目录的标识的映射信息。基于映射信息,资源目录可以将消息有效载荷传送到对等资源目录。资源目录可以从对等资源目录接收应答,使得可以将适当的应答提供给请求端点。

Description

增强分布式资源目录
相关申请的交叉引用
本申请要求2014年3月11日提交的美国临时专利申请序列号No.61/951,141的优先权,其全部内容在此引入以供参考。
背景技术
资源约束节点和网络构成机器对机器(M2M)和物联网(IoT)系统的重要部分。互联网工程任务组(IETF)约束RESTful环境(CoRE)工作组(IETE CoRE)已经开发了CoRE资源目录(RD)。图1示出了CoRE资源目录架构的示例,以及CoRE资源目录规定资源目录支持的Web接口,使得Web服务器能发现资源目录。此外,Web接口允许Web服务器注册、维护、查看和删除资源描述。IETF还定义了能结合资源目录使用的链接属性。
参考图1,图示CoRE RD架构内的资源目录100。资源目录100是用于在其他Web服务器——通常称为端点如端点102——托管的资源相关联的Web链接的资源库。端点可以指与门户相关联的Web服务器,由此,一个物理节点可以托管一个或多个端点。能在各种M2M/IoT设备中托管端点。资源目录100为端点102实现RESTful(代表性状态传输)接口集以注册和维护Web链接的集合(称为资源目录项)。接口还使得资源目录验证项,并且使客户端(例如客户端104)从资源目录100查找资源。资源通常是指RESTful架构中的唯一可寻址实体。端点也充当客户端,因此,还在M2M/IoT设备中托管客户端。
仍然参考图1,端点102主动注册和维护资源目录100上的资源目录项。这些项是软状态并且需要定期刷新。端点102具有注册、更新和删除指定资源目录项的接口。此外,能使用CoRE链接格式,发现资源目录。资源目录,例如资源目录100,可以主动发现来自资源目录100的Web链接,并且将它们添加为资源目录项。资源目录100还可以主动发现Web链接来验证现有的资源目录项。使用CoRE链接格式,提供用于发现保存在资源目录100中的Web链接的查找接口。
图2示出CoRE资源目录架构中的资源注册的当前技术。参考图1和2,端点102使用注册接口106注册其资源。在202,注册接口106从端点102接受POST。根据CoRE链接格式,POST可以把待添加到目录的资源的列表包含在消息有效载荷中。POST还可以包含指示端点102的名称、与端点102相关联的域和注册寿命期的查询串参数。在示例中,除端点名称外的所有参数是可选的。然后,资源目录100创建新资源或更新资源目录中的现有资源并返回其位置(在204)。根据该示例,当用注册接口106刷新注册时,资源目录100用接收的位置。在由寿命期参数表示的时段内,使资源目录100中的端点资源保持有效。端点102使用注册接口106或更新接口负责在该时段内刷新项。
参考图1至3继续背景示例,为了使用资源目录100来发现其注册的资源,能提供查找接口108。对客户端104指定示例性查找接口108来与RD 100交互,如实现“GET”方法。示例性URI模板是/{+rd-lookup-base}/{lookup-type}{?d,ep,gp,et,rt,page,count,resource-param}。示例性参数包括:
●rd-lookup-base:=RD查找函数集路径(强制)。这是RD查找函数集的路径,在一些情况下,只要可能,RD将值“rd-lookup"用于该变量。
●lookup-type:=("d","ep","res","gp")(强制)。该变量用来选择查找的类型以执行(例如域、端点或资源)。
●ep:=端点(可选)。用于端点、组和资源查找。
●d:=域(可选)。用于域、组、端点和资源查找。
●page:=页(可选)。不能使用参数,无需计数参数。从包含从索引(页*计数)开始的“计数"结果的页中的结果集返回结果。
●count:=计数(可选)。结果的计数可以限定到该参数值。在一些情况下,如果该参数不存在,那么使用RD实施方式特定的缺省值。
●rt:=资源类型(可选)。用于组、端点和资源查找。
●et:=端点类型(可选)。用于组、端点和资源查找。
●resource-param:=链接属性参数(可选)。该参数可以表示如在RFC 6690“CoreLink Format"的4.1章节中定义的链接属性。用于资源查找。
图3示出用于CoRE资源目录架构中的资源查找的当前技术。如所示,在302,客户端104查找资源目录(rt)参数。在该示例中,客户端104正尝试发现具有温度资源类型(例如温度传感器)的资源。由此,资源类型被设定为temperature。在304,如所示,RD 100返回具有URI“coap://node1/temp"的资源。
集中如在CoRE资源目录架构中规定的资源目录100。集中的资源目录缺少跨互联网的扩展性。例如,某些客户端可能仅想要访问他们本地域中的资源。在不影响其他客户端的情况下,集中资源目录也不支持这种本地资源管理。因此,提出了分布式资源目录。
图4示出在示例性DRD架构中的示例性分布式资源目录DRD 400。所提出的分布式资源目录架构规定与分布式散列表的接口并且规定如何使用分布式散列表能力来使能分布式资源目录。参与的资源目录构成分布式资源目录覆盖。所提出的分布式资源目录(DRD)架构提供与集中资源目录相同的REST接口。端点可以是运行一个或多个约束应用协议(CoAP)服务器,并且能使用DRD中的REST操作(例如POST,GET)的物理节点。端点还能充当客户端。由此,端点可以被称为CoAP客户端。传统或常见HTTP客户端也需要访问在DRD中存储的资源。如所示,DRD架构中的各种节点包括端点(EP)402、对等设备(P)404、HTTP代理(HP)406、HTTP客户端408和CoAP客户端410。如所示,端点402是驻留在“节点"上并且使用CoAP协议通信的实体,由此能被称为CoAP端点。CoAP端点能是CoAP消息的源或目的地。对等设备404是全覆盖成员节点,能够沿通过该覆盖的路径,将消息转发到目的地。一些对等设备还充当HTTP代理406。换句话说,除了充当对等设备外,节点还充当用于协议转换的代理。HTTP代理406能够运行HTTP和CoAP协议,以及执行两者之间的转换。HTTP客户端408是使用HTTP消息,向指定资源目录发出请求的客户端。CoAP客户端410是使用CoAP消息,向指定资源目录发出请求的CoAP实体。
图5示出分布式资源目录400中的资源注册的当前技术。例如,在资源注册中,在502,EP 402a发送(在消息的有效载荷中)包含资源列表的CoAP POST消息以将其资源注册到分布式资源目录400中。EP 402这样做,使得能发现其资源。当对等设备,例如,第一对等设备404a(运行分布式散列表算法来加入分布式资源目录覆盖)接收注册消息,将在外部源的CoAP URI的散列下的CoAP注册结构存储在分布式散列表中(在504)。CoAP注册的有效载荷存储为覆盖中的值。在506,从第二对等设备404b获得分布式散列表ACK消息后,第一对等设备404a将CoAP ACK消息发送到EP 402a(在508)以表示将该资源注册到分布式资源目录400中。
在502处,POST请求包括表示EP 402a的名称的查询串参数,用来唯一地标识EP402a。端点名称设置具有不同替选方案。一种方法是散列设备的MAC地址来生成端点名称。另一方法是使用公用名称。
例如,仍然参考图4和5,如果具有名称“9996172"的端点想将一个temerature资源和一个lights资源描述注册到分布式资源目录400中,端点发送具有URI“coap://overlay-1.com/proxy-1/.well-known/core?ep=9996172"的POST请求。资源描述包括在消息的有效载荷中。注册消息的示例如下:
Req:POST coap://overlay-1.com/proxy-1/.well-known/core?ep=9996172
Payload:
</temperature-1>;lt=41;rt="Temperature";if="sensor",
</light-2>;lt=41;rt="LightLux";if="sensor"
因此,应用于散列函数的关键字是coap://overlay-1.com/proxy-1/.well-known/core?ep=9996172,确定第二对等设备404b(P2)是存储该值的对等设备。在第二对等设备404b上存储的值是有效载荷。
参考图6,图6示出分布式资源目录400中的资源发现的当前技术。分布式资源目录400通过提取CoAP URIs与节点IDs之间的映射信息来支持会合以获得资源的地址信息。具体地,在602,端点(例如图6中的客户端410a)将CoAP GET请求发送到分布式资源目录400,包括请求的资源的URI信息。处理该请求的该分布式资源目录对等设备(图6中的对等设备404c)对CoAP URI的散列执行分布式散列表查找。然后,分布式散列表查找负责资源的值的对等设备(图6中的对等设备404b)。在606,目的地对等设备404b将存储值返回到对等设备404c。在608,对等设备404c将内容(例如存储值)发送回客户端410,也称为端点410a。
例如,如本文指定的,如果客户端410a想发现具有URI:coap://overlay-1.com/proxy-1/.well-knwn/core?ep=9996172的资源,对等设备404c接收GET请求,并且对映射到对等设备404b的URI使用散列函数。因此,对等设备404c将请求转发到对等设备404b。对等设备404b将资源的有效载荷返回给对等设备404c,反过来,对等设备404c将有效载荷返回给客户端410a。
发明内容
如上所述,CoRE资源目录包括中央资源目录,使得集中CoRE资源目录。本发明人意识到不能由客户端同时有效地访问集中目录以及不能有效地扩展IoT系统或M2M网络。此外,意识到除其他缺点外,上述分布式资源目录还限制注册能力和查找能力。
本文描述了用于增强分布式资源目录(DRD)的方法、设备和系统。在示例性实施例中,分布式资源目录网络中的节点,例如资源目录节点从端点接收消息有效载荷。消息有效载荷可以包括注册请求或资源查找请求。在接收消息有效载荷后,资源目录服务器可以确定与消息有效载荷相关联的关键字。关键字可以具有参数和与参数相关联的值。在确定关键字后,将关键字应用于散列函数来生成与对等资源目录相关联的映射信息。基于映射信息,资源目录服务器可以将消息有效载荷传送到对等资源目录。在传送消息有效载荷后,资源目录节点可以从各对等资源目录接收响应。这些响应可以指示在对等资源目录处存储的资源的位置或内容。在接收响应后,资源目录节点可以通过组合这些响应以产生最终响应。资源目录节点可将最终响应传送到可以是Web服务器的请求端点。最终响应可以包括散列参数。
提供该概述以简化的形式介绍将在下文的详述中进一步描述的概念的选择。该概述不用于标识要求的主题的关键特征或必要特征,也不用来限制要求的主题的范围。此外,要求的主题不限于解决本公开的任何一部分中提到的任一或所有缺点的限制。
附图说明
从结合附图的示例给出的下述描述,可以更详细地理解,其中:
图1是示出约束RESTful环境(CoRE)资源目录架构的系统图;
图2是示出CoRE资源目录架构中的资源注册的示例的流程图;
图3是示出CoRE资源目录架构中的资源查找的示例的流程图;
图4是示出示例性分布式资源目录架构的系统图;
图5是示出在图4中所示的分布式资源目录的资源注册的示例的流程图;
图6是示出在图4中所示的分布式资源目录的资源目录的示例的流程图;
图7是根据示例性实施例的使用存储辅助机制的来自端点的资源注册的流程图;
图8是根据示例性实施例的使用存储辅助机制的来自另一端点的资源注册的流程图;
图9是根据示例性实施例的存储辅助机制中的灯光(lights)组注册的流程图;
图10是根据示例性实施例的存储辅助机制中的压力(pressure)组注册的流程图;
图11是根据示例性实施例的存储辅助实施方式中的资源查找的流程图;
图12是根据示例性实施例的存储辅助实施方式中的另一资源查找的流程图;
图13是根据示例性实施例的存储辅助实施方式中的又一资源查找的流程图;
图14是根据示例性实施例的存储辅助实施方式中的又一资源查找的流程图;
图15是根据示例性实施例的资源注册的示例的流程图;
图16是根据另一示例性实施例的资源注册的另一示例的流程图;
图17是根据示例性实施例的灯光(lights)组注册的流程图;
图18是根据示例性实施例的压力(pressure)组注册的流程图;
图19是根据示例性实施例的参照保障(ensured)实施方式的资源查找示例的流程图;
图20是根据示例性实施例的参照保障实施方式的另一资源查找示例的流程图;
图21是根据示例性实施例的参照保障实施方式的又一资源查找示例的流程图;
图22A是可以实现一个或多个公开的实施例的示例性机器对机器(M2M)或物联网(IoT)通信系统的系统图;
图22B是在图22A所示的M2M/IoT通信系统中可使用的示例性架构的系统图;
图22C是在图22A所示的通信系统内可使用的示例性M2M/IoT终端或网关设备的系统图;以及
图22D是体现图22A的通信系统各方面的示例性计算系统框图。
具体实施方式
提供下述详细描述以示出示例性实施例并且不限制本发明的范围、应用性或配置。在不背离本发明的精神和范围的情况下,在元件的功能和排列以及步骤方面可以做出各种改变。
本文使用的术语“覆盖网络"是指构建在另一网络的顶端上的网络。覆盖网络中的节点能被视为由基础网络中的虚拟或逻辑链路连接,每一链路对应于路径。例如,分布式系统,诸如对等(P2P)网络能视为覆盖网络,因为它们的节点运行上互联网上。如本文所使用的,作为“归属地资源目录(RD)”的节点是指当EP想注册其资源时,用于端点(EP)的第一连结点。归属地RD还指当客户端想发现资源时,用于客户端的第一连结点。如本文所使用的,作为“存储RD”的节点可以是指存储资源注册项并且归属地RD向其转发客户端的发现请求的对等设备。如本文所使用的,除非另有说明,作为“负责RD”的节点是指在资源注册消息中的所有可能关键字上使用散列函数得出的对等设备的RD。如本文所使用的,除非另有说明,作为“核心负责RD”的节点是指作为归属地RD向其转发资源发现请求的第一连结点的负责RDs中的一个。
根据示例性实施例,增强分布式资源目录,如本文所述,能支持资源查找,无需知道资源的统一资源标识符(URI)。在一个示例中,将资源描述的多个副本存储在多个资源目录(RD)中,本文称为对等RD。在本文所述的另一实施方式中,称为参照保障(RE)实施方式中,归属地对等设备将注册消息发送到仅一个对等RD,并且将存储资源及其相关信息的地址告知其他对等RD。
通常参考在图4中图示的分布式资源目录架构,本文所述的实施例实现高级分布式资源查找。在一个示例中,客户端不需要提前知道资源URI以发现和检索资源。例如,客户端可以向它们的归属地RD请求和查找指定基于链接参数的查询的资源。换句话说,分布式资源目录能向客户端返回满足基于链接参数的查询的资源。
在示例性实施例中,能称为存储辅助(SA)实施方式,在多个对等设备中提供资源注册的冗余副本。意识到当数据存储能力增加时,与这些数据存储相关联的成本减小,由此,对等设备能有效地配备数据存储能力。如下文详细所述,通过在资源的值中的可能关键词和/或参数上使用散列函数,可以选择对等设备用于数据存储。所选择的对等设备可以使用它们的存储能力,存储资源注册。在一些情况下,假定应用表示为H()的一个散列函数以在所有资源目录对等设备中,产生统一和分布式散列空间。
为了方便,如本文所使用的,除非另有说明,对等RD能简称为对等设备。客户端能指定各个查找关键词/参数,诸如下述举例的参数,但不是限制:
·d:域
·ep:端点
·gp:组名
·et:端点类型
·rt:资源类型
·lt:资源寿命期
·if:接口
为进一步示例,下述是提出的可以注册到一个或多个RD对等设备的资源以及它们的有效载荷的示例,但不是限制:
1.ep=9996172
有效载荷:</temperature-1>;lt=41;rt="temperature";if="sensor",
</temperature-2>;lt=41;rt="LightLux";if="sensor"
2.ep=9234571
有效载荷:</Temp-1>;rt="temperature";if="gateway"
3.gp=lights
有效载荷:<coap://host1:port1>;ep="node1";d="domain1"
<coap://host1:port 1>;ep="node2";d="domain1"
4.gp=pressure
有效载荷<coap://host2:port 2>;ep="node2";d="domain1"
在示例性实施例中,指定端点能通过以各种方式获得候选IP地址,查找目录服务器。例如,在一些情况下,每一对等RD至少具有下述基本RD资源:/rd>;rt="core.rd";</rd-lookup>;rt="core.rd-lookup";以及</rd-group>;rt="core.rd-group"。如本文所述,端点可以使用资源接口,将其资源注册到其归属地RD。该接口可以从端口接收POST。POST可以包含作为CoRE链接格式中的消息有效载荷,将添加到目录的资源列表。POST还可以包含查询串参数。在一些情况下,代替仅散列端点或组的名称,对等RD可以将散列函数应用于包含在资源的有效载荷(例如资源链接格式描述)中的所有参数及它们的值。在应用散列函数后,归属地RD可以获得负责存储具有相同参数的资源的对等设备的地址。由此,通过利用通过对等设备的大存储容量及其相关的低成本,归属地RD可以将资源有效载荷发送到散列的对等设备。如上所述,有四个示例性资源和有效载荷,本文描述以进一步描述示例性SA实现。将首先描述包括图4中示为EP 702的EP 9996172的资源注册的示例。
图7-21(下文描述)示出用于管理和检索资源的方法和装置的各个实施例。在这些图中,各个步骤或操作示为由一个或多个端点、客户端和/或对等设备执行。应理解到在这些图中所示的端点、客户端和/或对等设备可以表示通信网络中的逻辑实体并且可以实现成软件(如计算机可执行指令),存储在该网络的节点的存储器中并且在其处理器上执行,节点可以包括下文所述的图22C或22D的通用架构中的一个。即,图7-21中所示的方法可以实现成软件形式(如计算机可执行指令),在网络节点如图22C或22D所示的节点或计算机系统的存储器中存储,该计算机可执行指令当由节点的处理器执行时,执行图中所示的步骤。还应注意,在节点的处理器及其执行的计算机可执行指令(如软件)的控制下,由节点的通信电路(分别如图22C和22D的电路34或97)执行这些图中所示的任何传送和接收步骤。
现在参考图7,示例性网络700包括EP 702和对等设备1,3,5,和11(P1,P3,P5,和P11)。应理解,简化示例性网络700以便于所公开主题的描述并且不用于限制本公开的范围。除了或代替网络如网络700,还可以使用其他设备、系统和配置来实现本文所述实施例,并且所有这些实施例可以构想为在本公开的范围内。将进一步意识到在不同图中重复参考数字来表示图中相同或类似的特征。
如所示,根据所示的示例,在704,EP 702具有名称9996172并且将其资源注册到作为其归属地RD的P1。在706,P1可以解释包含在有效载荷中的链接格式并且确定与该注册相关联的关键字/参数为:
·ep=9996172
·lt=41
·rt="temperature"
·rt="LightLux"
·if="sensor"
上述关键字/参数可以用作被应用于散列函数的关键字。当应用散列函数时,根据该示例,结果包括P3,P5和P11。由此,在708a,708b和708c,P1将注册消息分别转发到P3,P5和P7。P3,P5和P7的每一个存储有效载荷并把确认返回给P1(在710a-c)。在712,P1可以组合这些确认响应。在714,响应确认,P1应答EP 702。在一些情况下,不同关键字导致注册消息被转发到同一对等RD。例如,通过散列lt=41或if=“sensor",两个散列的结果可以表示P5应当是对等资源目录。类似地,当散列rt=‘temperature"以及rt=“LightLux"时,两个散列的结果可以表示P11应当是对等资源目录。
现在参考图8,示例性网络800包括示为EP 802的EP 9234571,以及对等设备3,2,11,和6(P3,P2,P11和P6)。应理解,简化示例性网络800以便于所公开的主题的描述并且不限制本公开的范围。除了或代替网络如网络800,还可以使用其他设备、系统和配置来实现本文所述的实施例,并且所有这些实施例可以预期为在本公开的范围内。
如所示,根据所示的示例,EP 802具有名称9234571并且在804,将其资源注册到作为其归属地RD的P3。在806,P3可以解释包含在有效载荷中的链接格式并且确定与注册相关联的关键字/参数是:
·ep=9234571
·rt="temperature"
·if="gateway"
上述关键字可以用作散列函数的输入。当应用散列函数时,根据示例,结果包括P2,P11和P5。由此,在808a,808b和808c,P3将注册消息分别转发到P2,P11和P5。P2,P11和P5的每一个存储有效载荷并且把确认返回给P3(在810a-c)。在812,P3可以组合这些确认响应。在814,响应确认,P3应答EP 802。
现在参考图9,根据示例性实施例,提出“lights”组注册示例。如所示,示例性网络900包括EP 902,其也是如下所述的管理节点,以及对等设备1,3,6和2(P1,P3,P6和P2)。应理解,简化示例性网络900以便于所公开主题的描述并且不限制本公开的范围。除了或代替网络如网络900外,还可以使用其他设备、系统和配置来实现本文所述的实施例,并且所有这些实施例可以预期为在本公开的范围内。
如所示,根据所示的示例,管理节点(EP 902)用来配置组。在904,EP 902对其归属地RD(P1)发出请求。请求表示创建的组的名称和该组所属的可选域。注册消息还可以包括属于该组的端点的列表。在906,P1可以解释包含在有效载荷中的链接格式并且确定与该注册相关联的关键字/参数是:
·gp=light
·ep="node1"
·d="domain1"
·ep="node2"
上述关键字/参数可以用作散列函数的输入。当应用散列函数时,根据该示例,结果包括P1,P3,P6和P2。由此,在908a,908b和908c,P1将注册消息分别转发到P3,P6和P2。因为对等设备P3,P6和P2存储有效载荷并且把确认返回到P1(在910a-c)。因为P1是散列的对等设备中的一个,在907,也可以存储注册消息。在912,P3可以组合这些确认响应。在914,响应该确认,P3应答EP 902。
现在参考图10,根据示例性实施例,提出“Pressure”组注册示例。如所示,示例性网络1000包括EP 1002,其也是如下所述的管理节点,以及对等设备1,3,6和2(P1,P3,P6和P2)。应理解,简化示例性网络1000以便于所公开主题的描述并且不限制本公开的范围。除了或代替网络如网络1000,还可以使用其他设备、系统和配置来实现本文所述的实施例,并且所有这些实施例可以预期为在本公开的范围内。
如所示,根据所示的示例,管理节点(EP 902)用来配置组。在1004,EP 1002对其归属地RD(P1)发出请求。请求表示创建的组的名称和该组所属的可选域。注册消息还可以包括属于该组的端点的列表。在1006,P1可解释包含在有效载荷中的链接格式并且确定与该注册相关联的关键字/参数是:
·gp=pressure
·d="domain1"
·ep="node2"
上述关键字/参数可以用作散列函数的输入。当应用散列函数时,根据该示例,结果包括P1,P3,P6和P2。由此,在1008a,1008b和1008c,P1将注册消息分别转发到P3,P6和P2。因为对等设备P3,P6和P2存储有效载荷并且将确认返回到P1(在1010a-c)。因为P1是散列的对等设备中的一个,在1007,也可以存储注册消息。在1012,P3可以组合这些确认响应。在914,响应该确认,P3应答EP 1002。
举例来说,在如上参考图7-10所述,执行分布式资源和组注册后,对等RDs可以存储举例提出而不是限制的表1(下文)中所示的信息。
表1:资源目录内容例子
在一些情况下,上述资源和组注册方法使得经由上述现有的查找(发现)接口,查找(发现)资源和组。现在转到资源和组查找,通过背景,客户端向其归属地RD发送资源查找请求。资源查找请求能指定客户端想要发现的查找类型和参数。归属地RD可以分析该请求并且提取客户端指定的关键字。在示例性实施例中,归属地RD将散列函数应用于这些关键字来计算存储资源注册的对等RD。关键字可以用AND或OR连接。例如,可以由AND连接关键字,因为最终RD的每一个(在应用散列函数后指出的RDS)存储同一资源注册,并且可以将请求转发到它们中的一个。归属地RD可以随机地或基于某些上下文信息,诸如目的地RD的负载或归属地RD和目的地RD之间的带宽来拾取目的地RD。当很可能满足指定请求的资源分布在冗余RD上时,可以由OR连接关键字。因此,归属地RD可能需要将请求转发到所有冗余RD以接收资源的接合集(joint set)。
归属地RD可以确定该请求应当转发的对等RD。在归属地RD从对等RD接收响应后,生成包含资源的完整列表的查找表结果,无需复制,并且可以将该列表返回给请求客户端。
在下文提出示例以根据各个示例性实施例,示出资源和组查找。参考图11,示出了包括GET/rd-lookup/res?rt="temperature"AND it="gateway"查找请求的示例。图11示出包括客户端1102、归属地RD 1104和对等设备11(P11)的示例性网络1100。应理解,简化示例性网络1100以便于所公开主题的描述并且不限制本公开的范围。除了或代替网络如网络1100,还可以使用其他设备、系统和配置来实现本文所述的实施例,并且所有这些实施例可以预期为在本公开的范围内。
如所示,在1106,客户端1102将资源查找请求发送到归属地RD 1104。客户端1102想要获得同时满足rt="temperature"和it="gateway"的资源。在1108,归属地RD将散列函数应用于在该请求中指出的两个关键字。当应用散列函数时,根据示例,结果包括P11和P6。在示例性方面中,归属地RD 1104可以选择所示的RD(P11和P6)中的一个来获得完整的资源查找结果。在所示的示例中,HRD选择P11,并且在1110,将查找请求发送到P11。在1112,P11将与该请求相关联的应答返回给归属地RD 1104。在1114,归属地RD 1104将应答转发到客户端1102。
参考图 12,示出了包括GET/rd-lookup/res?rt="LightLux"OR it="gateway"请求的示例。图12示出包括客户端1202、归属地RD 1204和对等设备11(P11)与6(P6)的示例性网络1200。应理解,简化示例性网络1200以便于所公开主题的描述并且不限制本公开的范围。除了或代替网络如网络1200,还可以使用其他设备、系统和配置来实现本文所述的实施例,并且所有这些实施例可以预期为在本公开的范围内。
如所示,在1206,客户端1202将资源查找请求发送到归属地RD 1204。客户端1202想要获得满足rt="LightLux"或it="gateway"的资源。在1208,归属地RD将散列函数应用于在该请求中指出的两个关键字。因为用OR连接关键字,归属地RD 1104需要将请求转发到两个指出的RD(P11和P6)来获得完整的资源查找结果。由此,在所示的示例中,HRD将查找请求发送到P11(在1210a)和P6(在1210b)。分别在1212a和1212b,将与该请求相关联的应答返回给归属地RD 1204。在1214,归属地RD 1204可以组合接收的应答。此外,在1214,归属地RD可以组合结果,使得消除重复应答。在1216,归属地RD将作为完整查找结果的组合应答发送到客户端1202,由此满足查找请求。
现在参考图13,示出了包括GET/rd-lookup/gp?d="domain1"查找请求的示例。图13示出包括客户端1302、归属地RD 1304和对等设备1(P1)的示例性网络1300。应理解,简化示例性网络1300以便于所公开主题的描述并且不限制本公开的范围。除了或代替网络如网络1300外,还可以使用其他设备、系统和配置来实现本文所述的实施例,并且所有这些实施例可以预期为在本公开的范围内。
如所示,在1306,客户端1302将资源查找请求发送到归属地RD 1304。客户端1302希望获得满足d=“domain1"的组。在1308,归属地RD将散列函数应用于在请求(d=“domain1")中指出的关键字。当应用散列函数时,根据示例,结果包括P1。在所示的示例中,在1310,归属地RD 1304将查找请求发送到P1。在1312,P11将与该请求相关联的应答返回给归属地RD 1304。在1314,归属地RD 1304将应答转发到客户端1302。
现在参考图14,示出了包括GET/rd-lookup/gp?ep="node2"查找请求的示例。图14示出包括客户端1402、归属地RD 1404和对等设备2(P2)的示例性网络1400。应理解,简化示例性网络1400以便于所公开主题的描述并且不限制本公开的范围。除了或代替网络如网络1400,还可以使用其他设备、系统和配置来实现本文所述的实施例,并且所有这些实施例可以预期为在本公开的范围内。
如所示,在1406,客户端1402将资源查找请求发送到归属地RD 1404。客户端1402希望获得其中具有端点(node2)的组。在1408,归属地RD将散列函数应用于在请求(ep=“node2")中指出的关键字。当应用散列函数时,根据示例,结果包括作为节点2的P2。在所示的示例中,在1410,归属地RD 1404将查找请求发送到P2。在1412,P1将与该请求相关联的应答返回给归属地RD 1404。在1414,归属地RD 1404将应答转发到客户端1402。
在称为参照保障(RE)实施方式的另一示例性实施例中,对等RD保存存储RD的参照(reference),而不是存储资源本身。
现在参考图15,示出了示例性网络700,包括EP 702和对等设备1,3,5和11(P1,P3,P5和P11)。如所示,根据所示的示例,在1504,EP 702具有名称9996172并且将其资源注册到作为其归属地RD的P1。在1506,P1可以解释包含在有效载荷中的链接格式并且确定与该注册相关联的关键字/参数如下:
·ep=9996172
·lt=41
·rt="temperature"
·rt="LightLux"
·if="sensor"
上述关键字/参数可以用作应用于散列函数的关键字。当应用散列函数时,根据示例,结果包括P3,P5和P11。此外,根据所示的示例,在1506,P1可以选择注册消息将转发至的三个结果RD中的一个(P3,P5或P11)。在1508,P1将注册消息转发到所选的对等设备(P3)。在1510,P3存储有效载荷并且将确认返回给P1。在1514a和1514b,P1分别告知P5和P11注册消息存储在P3处。在1516a和1516b,在适当参照未来的资源查找下,P5和P11分别存储P3的地址。在1512,P1应答EP 702,由此满足资源请求。
现在参考图16,示出了示例性网络800,包括EP 702和对等设备1,3,5和11(P3,P2,P11和P6)。如所示,根据所示的示例,在1604,EP 802将其资源注册到作为其归属地RD的P3。在1606,P3可以解释包含在有效载荷中的链接格式并且确定与该注册相关联的关键字/参数如下:
·ep=9234571
·rt="temperature"
·if="gateway"
上述关键字/参数可以用作应用于散列函数的关键字。当应用散列函数时,根据示例,结果包括P2,P11和P6。此外,根据所示的示例,在1606,P3可以选择注册消息将转发至的三个结果RD中的一个(P2,P11或P6)。在1608,P3将注册消息转发到所选的对等设备(P2)。在1610,P2存储有效载荷并且将确认返回给P3。在1614a和1614b,P3分别告知P11和P6注册消息存储在P2处。在1616a和1616b,在用于未来资源查找的适当参照下,P11和P6分别存储P2的地址。在1612,P1应答EP 802,由此满足资源请求。
现在参考图17,根据示例性实施例,提出“lights”组注册示例。如所示,示例性网络900包括EP 902,其也是如下所述的管理节点,以及对等设备1,3,6和2(P1,P3,P6和P2)。在1704,EP 902对其归属地RD(P1)发出请求。请求表示创建的组的名称和该组所属的可选域。注册消息还可以包括属于该组的端点的列表。在1706,P1可以解释包含在有效载荷中的链接格式并且确定与该注册相关联的关键字/参数是:
·gp=lights
·ep="node1"
·d="domain1"
·ep="node2"
上述关键字/参数可以用作散列函数的输入。当应用散列函数时,根据该示例,结果包括P1,P3,P6和P2。如所示,在1708,P1将注册存储到自身,例如以节省用在转发注册消息中的网络带宽。在1712a-c,P1可以将包括每一对等设备负责的参数的资源注册存储在P1中告知P3,P6和P2。在1714a-c,在用于未来资源查找的适当参照下,P3,P6和P2可以存储P1的地址。在1710,结果被发送到EP 902。
现在参考图18,根据示例性实施例,提出“pressure”组注册示例。如所示,示例性网络1800包括EP 1802和对等设备1和11。应理解,简化示例性网络1800以便于所公开主题的描述并且不限制本公开的范围。除了或代替网络如网络1800,还可以使用其他设备、系统和配置来实现本文所述的实施例,并且所有这些实施例可以预期为在本公开的范围内。
在1804,对等设备P1可以接收组注册请求。在1806,散列函数可以将组资源映射到对等RD P11,P1和P2。在1808,P1可以将注册存储到自己以节省用在转发注册消息中的网络带宽。在1810,P1可以将资源注册保存在P1中告知P11。如所示,因为P1的地址已经被告知P2(在1804),在1810处不需要告知P2。在1812,在用于未来资源查找的适当参照下,P11可以存储P1的地址。
在示例性实施例中,在上述示例中描述的分布式资源和组注册发生后,对等RD可以存储表2(下文)中所示的信息。
表2:示例性RE实施方式中的示例性资源目录内容例子
现在转到资源和组查找实施方式,在另一示例性实施例中,客户端可以将资源和组查找请求发送到其归属地RD。归属地RD可以通过将散列函数应用于参数,确定对应于在请求中指定的参数的负责对等RD。在一个示例中,仅一个参数包含在请求中,并且归属地RD可以将该请求转发到负责RD。负责RD可以基于在请求中指定的查找类型,搜索rd或rd-group目录。负责RD也可以将请求转发到在参照类别中列出的各RD。归属地RD可以从负责RD和参照类别中的RD收集所有应答并且将结果返回给客户端。在另一示例性情况下,有多个参数包含在请求中并且由“AND"连接参数。在这种情况下,归属地RD可以将请求转发到各负责RD中的一个(核心负责RD)。核心负责RD可以将散列函数应用在其他参数上并且可以确定有其他负责RD。核心负责RD可以将请求转发到其他负责RD,也可以附加用于参照类别中的列表的请求。核心负责RD能够在所有负责RD的参照类别中,找出RD的接合集。然后,核心负责RD可以将该请求转发到RD的接合集。核心负责RD可以收集所有应答并且将它们返回给归属地RD,反过来,归属地RD可以将该应答返回给客户端。
在另一示例性情况下,在请求中包含多个参数并且由“OR”连接参数。在这种情况下,归属地RD可以将请求转发到负责RD中的一个(核心负责RD)。核心负责RD可以将散列函数应用于其他参数并且可以确定有其他负责RD。核心负责RD可以将请求转发到其他负责RD,其中,可以附加用于参照类别中的列表的请求。核心负责RD能够发射所有负责RD的参照类别中的RD的超集(super set)。然后,核心负责RD可以将请求转发到RD的超集。可以收集所有应答并且返回给归属地RD,反过来,归属地RD将应答返回给客户端。
现在参考图19,示出了包括GET/rd-lookup/res?rt="temperature"AND it="gateway"查找请求的示例。图19示出了示例性网络1900,包括客户端1902、归属地RD 1904以及对等设备11,6,1和2。应理解,简化示例性网络1900以便于所公开主题的描述并且不限制本公开的范围。除了或代替网络如网络1900,还可以使用其他设备、系统和配置来实现本文所述的实施例,并且所有这些实施例可以预期为在本公开的范围内。
如所示,在1906,客户端1902将资源查找请求发送到归属地RD 1904。客户端1902想要获得同时满足rt="temperature"和it="gateway"的资源。在1908,归属地RD 1904可以将两个关键字应用于散列函数来获得负责RD,根据所示的示例,为P11和P6。归属地RD1904可以选择它们中的一个作为核心负责RD。在所示的示例中,归属地RD 1904选择P11并且相应地转发请求(在1910)。如所示,P11可以将散列函数应用于其他参数,并且可以确定P6也是负责RD。在1912,P11将请求发送到P6,并且将参照列表请求包括(附加)在该请求中。在示例中,如果P6未找到任何匹配资源,在1914,将P2和P1的地址返回给P11。在1916,P11确定P1和P2包括接合集(在两个参照列表中)。在1918a和1918b,然后,P11可以将请求分别转发到P1和P2。如所示,根据所示的示例,如果P1未找到任何匹配资源,在1920a,可以将“未找到"应答。根据所示的示例,P2找到匹配资源,并且将其返回给P11(在1920b)。在1922,然后,P11可以将资源返回给归属地RD 1904,反过来,归属地RD 1904将应答发送到客户端1902(在1924)。
现在参考图20,示出了包括GET/rd-lookup/res?rt="LightLux"OR it="gateway"查找请求的示例。图20示出了示例性网络2000,包括客户端2002、归属地RD 2004以及对等设备11,6,1,2和3。应理解,简化示例性网络2000以便于所公开的主题的描述并且不旨在限制本公开的范围。除了或代替网络如网络2000,还可以使用其他设备、系统和配置来实现本文所述的实施例,并且所有这些实施例可以预期为在本公开的范围内。
如所示,在2006,客户端2002将资源查找请求发送到归属地RD 2004。客户端2002想要获得满足rt="LightLux"或it="gateway"的资源。在2008,归属地RD 2004可以将两个关键字应用于散列函数来获得负责RD,在所示的示例中,为P11和P6。归属地RD 2004可以选择它们中的一个作为核心负责RD(在所示的示例中为P11)。P11可以将散列函数应用于其他参数,并且可以确定P6也是负责RD。在2012,P11将请求发生到P6,并且还可以附加参照列表。在2014,如果P6未找到任何匹配资源,将P2和P1的地址返回给P11。在2016,根据所示的示例,P11能够确定P1,P2和P3是两个参照列表的超集。在2018a-2018c,然后,P11可以将请求分别转发到P1,P2和P3。在2018a,如果P1未找到任何匹配资源,可以返回“未找到”应答。在2018b和2018c,P2和P3找到匹配资源,并且将其返回给P11。P11可以拼接所有匹配资源并且将它们返回给归属地RD 2004(在2020),反过来,归属地RD 2004将应答发送到客户端2002(在2022)。
图21示出根据示例性实施例的另一示例性资源查找示例4。在该示例性实施例中,客户端2012可以执行组查找。在2106,客户端2012将GET/rd-lookup/gp?ep=“node2"请求发送到归属地RD 2014。如所示,客户端2012希望获得其中具有端点(node2)的组。在2108,归属地RD 2014可以将关键字(ep="node2")应用于散列函数来获得相应的RD,在所示的示例中,为P2。在2110,归属地RD 2014可以将请求转发到P2。P2可以使P1存储在参照类别中。因此,在2112,P2可以将请求转发到P1。在2114,根据所示示例,P1找到匹配资源并且将它们返回给P2。在2116,P2可以将应答返回给归属地RD 2014,反过来,归属地RD 2014将应答发送到客户端2012(在2116)。
由此,如在整个上述公开内容中所述,节点能确定与从端点接收的消息有效载荷相关联的一个或多个关键字。端点可以被配置作为Web服务器、M2M设备或网关来操作。节点可以包括处理器、存储器和通信电路。节点可以经由其通信电路连接到通信网络,并且节点可以包括在节点的存储器中存储的计算机可执行指令,当被节点的处理器执行时,使节点实现各种操作。在一个示例中,消息有效载荷包括注册请求。节点可以将一个或多个关键字应用于散列函数来生成映射信息。如上所述,映射信息可以包括对等资源目录服务器的至少一个标识。节点可以基于映射信息,将消息有效载荷传送到一个或多个对等资源目录服务器。节点可以从一个或多个对等资源目录服务器接收至少一个应答。至少一个应答可以表示资源的位置。同时,如上详细所述,基于接收的至少一个应答,节点(例如资源目录服务器)可以将最终应答传送到端点。与消息有效载荷相关联的多个关键字之一可以包括至少一个参数和与至少一个参数相关联的至少一个值。至少一个参数可以包括域、端点、组名、端点类型、资源类型、资源寿命期或接口。在上文详述的一个示例中,至少一个参数是多个参数,并且至少一个值是多个值,散列函数应用于注册请求中的每一参数和值。此外,消息有效载荷所传送到的一个或多个对等资源目录服务器可以是多个对等资源目录服务器,分别存储消息有效载荷,以及节点可以基于消息有效载荷中有多少参数,确定有多少对等资源目录服务器在所述多个对等资源目录服务器中。替选地,如上详细所述,消息有效载荷被传送到的一个或多个对等资源目录服务器可以是选择的用于存储消息有效载荷的一个对等资源目录服务器,节点可以将对选择的该对等资源目录的参照传送到多个对等资源目录服务器,使得多个对等资源目录存储对该有存储消息有效载荷的对等资源目录的参照。将理解到注册请求可以包括端点的名称和资源描述。
在另一示例中,消息有效载荷包括资源查找请求,以及与消息有效载荷相关联的一个或多个关键字包括一个或多个参数。资源查找请求可以包括查找类型和一个或多个参数。在一个示例中,如果使用第一逻辑连接符(例如AND)使参数相互连接,节点将消息有效载荷传送到多个对等资源目录服务器。多个可以基于多少参数在消息有效载荷中。在另一示例中,如上详细所述,如果使用第二逻辑连接符(例如OR),使参数相互连接,节点将消息有效载荷传送到仅一个对等资源目录服务器。由此,消息有效载荷被传送到的一个或多个对等资源目录服务器可以是将资源查找请求传播到由映射信息表示的其他对等资源目录服务器的选择的一个对等资源目录服务器。
图22A是其中可实现一个或多个公开实施例的示例机器对机器(M2M)、物联网(IoT)或万物网(WoT)通信系统10的图。一般地,M2M技术提供了用于IoT/WoT的构建模块,并且任何M2M设备、M2M网关或M2M服务平台可以是IoT/WoT以及IoT/WoT服务层等的组件。图7-21的任何一个中所示的客户端、终端、对等设备或资源目录可以包括通信系统的节点,诸如图22A-D所示的节点。
如图22A中所示,M2M/IoT/WoT通信系统10包括通信网络12。通信网络12可以是固定网络(例如,以太网、Fiber、ISDN、PLC等)或无线网络(例如,WLAN、蜂窝等)或者异构网络的网络。例如,通信网络12可由向多个用户提供诸如语音、数据、视频、消息、广播等内容的多个接入网构成。例如,通信网络12可采用一个或多个信道接入方法,诸如码分多址(CDMA)、时分多址(TDMA)、频分多址(FDMA)、正交FDMA(OFDMA)、单载波FDMA(SC-FDMA)等。此外,通信网络12可包括其它网络,诸如核心网络、互联网、传感器网络、工业控制网络、个域网、融合个人网络、卫星网络、家庭网络或企业网。
如图22A中所示,M2M/IoT/WoT通信系统10可包括基础设施域和场域。技术设施域指代端对端M2M部署的网络侧,以及场域通常指代在M2M网关后面的区域网络。场域和基础设施域可以包括网络的多个不同节点(例如,服务器、网关、设备)。例如,场域可以包括M2M网关14和终端设备18。将认识到的是可按需在M2M/IoT/WoT通信系统10中包括任何数目的M2M网关设备14和M2M终端设备18。M2M网关设备14和M2M终端设备18中的每一个可被配置成经由通信网络12或直接无线电链路来发送和接收数据。M2M网关设备14允许无线M2M设备(例如,蜂窝式和非蜂窝式)以及固定网络M2M设备(例如PLC)通过诸如通信网络12的运营商网络或者通过直接无线电链路进行通信。例如,M2M设备18可经由通信网络12或直接无线电链路来收集数据并向M2M应用20或M2M设备18发送数据。M2M设备18还可从M2M应用20或M2M设备18接收数据。此外,如下所述,可经由M2M服务层22向M2M应用20发送数据和信号,以及从其接收数据和信号。M2M设备18和网关14可经由各种网络进行通信,该网络例如包括蜂窝式、WLANWPAN(例如,Zigbee、6LoWPAN、蓝牙)、直接无线电链路以及有线。示例性M2M设备包括但不限于平板、智能电话、医疗设备、温度和天气监视器、连接的汽车、智能仪表、游戏控制台、个人数字助理、健康和健身监视器、灯、恒温器、车库门和其他致动设备、安全设备和智能插座。
参考图22B,场域中的所示M2M服务层22为M2M应用20、M2M网关设备14以及M2M终端设备18和通信网络12提供服务。将理解的是M2M服务层可按需与任何数目的M2M应用、M2M网关设备14、M2M终端设备18以及通信网络12通信。M2M服务层22可由一个或多个服务器、计算机等来实现。M2M服务层22提供适用于M2M终端设备18、M2M网关设备14和M2M应用20的服务能力。可以以多种方式来实现M2M服务层22的功能,例如作为网络服务器、在蜂窝式核心网络中、在云中等。
类似于所示的M2M服务层22,在技术设施域中存在M2M服务层22'。M2M服务层22'为技术设施域中的M2M应用20'和底层通信网络12'提供服务。M2M服务层22'还为场域中的M2M网关设备14和M2M终端设备18提供服务。将理解的是M2M服务层22'可与任何数目的M2M应用、M2M网关设备和M2M终端设备通信。M2M服务层22'可以通过不同的服务提供商与服务层相交互。可通过一个或多个服务器、计算机、虚拟机(例如,云/计算/存储群等)等来实现M2M服务层22'。
仍参考图22B,M2M服务层22和22'提供了不同应用和领域可以利用的一组核心服务递送能力。这些服务能力使得M2M应用20和20'能够与设备相交互并执行功能,诸如数据收集、数据分析、设备管理、安全、计费、服务/设备发现等。本质上,这些服务能力免除了应用实现这些功能的负担,因此简化了应用开发并减少了成本和上市时间。服务层22和22'还使得M2M应用20和20'能够通过与服务层22和22'提供的服务相连接的各种网络12和12'进行通信。
M2M应用20和20'可包括各种行业中的应用,诸如但不限于,运输、健康和保健、联网家庭、能源管理、资产追踪以及安全和监控。如上所述,跨越本系统的设备、网关以及其它服务器的M2M服务层支持诸如数据收集、设备管理、安全、计费、位置追踪/地理围栏、设备/服务发现以及传统系统集成之类的功能,并将这些功能作为服务提供给M2M应用20和20'。
通常,服务层(SL),诸如图22A和22B中所示的服务层22和22'定义了通过一组应用编程接口(API)和底层网络接口来支持增值服务能力的软件中间件层。ETSI M2M和oneM2M架构二者都定义了服务层。ETSI M2M的服务层被称为服务能力层(SCL)。可以在ETSI M2M架构的各种不同的节点中实现SCL。例如,可以在M2M设备(其中其被称为设备SCL(DSCL))、网关(其中其被称为网关SCL(GSCL))和/或网络节点(其中其被称为网络SCL(NSCL))内实现服务层的实例。oneM2M服务层支持一组公共服务功能(CSF)(即服务能力)。一组CSF的一个或多个特定类型的实例化被称为公共服务实体(CSE),CSE能够托管在不同类型的网络节点上(例如基础设施节点、中间节点、特定应用节点)。第三代合作伙伴计划(3GPP)也已经定义了用于物联网通信(MTC)的架构。在该架构中,服务层和其提供的服务能力被作为服务能力服务器(SCS)的一部分被实现。无论体现在ETSI M2M架构的DSCL、GSCL、或NSCL中、体现在3GPPMTC架构的服务能力服务器(SCS)中、体现在oneM2M架构的CSF或CSE中还是体现在网络的某个其他节点中,服务层的实例可以以网络中的一个或多个包括服务器、计算机和其他计算设备或节点的独立节点上执行的逻辑实体(例如软件、计算机可执行指令等),或作为一个或多个现有节点的一部分被实现。作为一个示例,可以以在具有以下描述的在图22C或图22D中图示的通用架构的网络节点(例如服务器、计算机、网关、设备或类似的)上运行的软件的形式实现服务层或其组件(例如AS/SCS 100)的实例。
此外,本文所述的方法和功能性可以实现为使用面向服务架构(SOA)和/或面向资源架构(ROA)的M2M网络的一部分,以访问服务,诸如上述网络和应用管理服务。
图22C是网络的节点的示例性硬件/软件架构的框图,诸如图7-21中所示的客户端、终端、对等设备或资源目录,可以操作为诸如图22A和22B中所示的M2M网络中的M2M服务器、网关、设备或其他节点。如图22C中所示,节点30可以包括处理器32、收发器34、发送/接收元件36、扬声器/麦克风38、小键盘40、显示器/触摸板42、不可移动存储器44、可移动存储器46、电源48、全球定位系统(GPS)芯片组50及其它外围设备52。节点30还可以包括通信电路,诸如收发器34和发送/接收元件36。应理解,节点30可以包括前述元件的任何子组合而仍与实施例一致。该节点可以是实现本文所述的资源目录功能性的节点。
处理器32可以是通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、多个微处理器、与DSP核相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)电路、任何其它类型的集成电路(IC)、状态机等。处理器32可执行信号编码、数据处理、电源控制、输入/输出处理和/或使得节点30能够在无线环境中操作的任何其它功能。处理器32可被耦接到收发器34,收发器34可被耦接到发送/接收元件36。虽然图22C将处理器32和收发器34描绘为单独组件,但将认识到的是可将处理器32和收发器34一起集成在电子封装或芯片中。处理器32可执行应用层程序(例如,浏览器)和/或无线电接入层(RAN)程序和/或通信。处理器32可执行安全操作,诸如例如在接入层和/或应用层上的认证、安全密钥协议和/或密码操作。
如图22C所示,处理器32被耦接至其通信电路(例如收发器34和发送/接收元件36)。处理器32通过执行计算机可执行指令可以控制该通信电路,以便促使节点30经由其连接到的网络与其他节点通信。具体地,处理器32可以控制该通信电路,以便执行在本文(例如图7-21)和在权利要求中描述的发送和接收步骤。虽然图22C将处理器32和收发器34描绘为分离的组件,但是将认识到,处理器32和收发器34可以一起集成在电子封装或芯片中。
发送/接收元件36可被配置成向其他节点,包括M2M服务器、网关、设备等发送信号或从其接收信号。例如,在实施例中,发送/接收元件36可以是被配置成发送和/或接收RF信号的天线。发送/接收元件36可支持各种网络和空中接口,诸如WLAN、WPAN、蜂窝等。在实施例中,发送/接收元件36可以是被配置成发送和/或接收IR、UV或可见光信号的发射器/探测器。在又一实施例中,发送/接收元件36可被配置成发送和接收RF和光信号两者。将认识到的是发送/接收元件36可被配置成发送和/或接收无线或有线信号的任何组合。
另外,虽然在图22C中将发送/接收元件36描绘为单个元件,但节点30可包括任何数目的发送/接收元件36。更具体地,节点30可采用MIMO技术。因此,在实施例中,节点30可包括用于发送和接收无线信号的两个或更多发送/接收元件36(例如,多个天线)。
收发器34可被配置成对将通过发送/接收元件36发送的信号进行调制,并对由发送/接收元件36接收到的信号进行解调。如上所述,节点30可具有多模式能力。因此,例如收发器34可包括用于使得节点30能够经由诸如UTRA和IEEE802.11的多个RAT进行通信的多个收发器。
处理器32可从诸如不可移动存储器44和/或可移动存储器46的任何类型的适当存储器访问信息并在其中存储数据。不可移动存储器44可包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘或任何其它类型的存储器存储设备。可移动存储器46可包括订户标识模块(SIM)卡、记忆棒、安全数字(SD)存储卡等。在其它实施例中,处理器32可从诸如服务器或家用计算机的物理上不位于节点30上的存储器访问信息存储以及在其中存储数据。处理器32可被配置成控制显示器或指示器42上的灯光模式、图像或颜色以反映UE(例如参见GUI1400)的状态,特别是与UE通信的基础网络、应用或其他服务。处理器32可以从电源38接收电力,并且可被配置成向节点30中的其它组件分配和/或控制功率。电源48可以是用于对节点30供电的任何适当设备。例如,电源48可包括一个或多个干电池(例如,镍镉(NiCd)、镍锌(NiZn)、镍金属氢化物(NiMH)、锂离子(Li离子)等)、太阳能电池、燃料电池等。
处理器32还可被耦接到GPS芯片组50,其被配置成提供关于节点30的当前位置的位置信息(如经度和纬度)。应理解,节点30可通过任何适当的位置确定方法来获取位置信息仍与实施例一致。
处理器32可进一步被耦接到其它外设52,其可包括提供附加特征、功能和/或有线或无线连接性的一个或多个软件和/或硬件模块。例如,外设52可包括加速度计、电子指南针、卫星收发器、传感器、数字式照相机(用于照片或视频)、通用串行总线(USB)端口、振动设备、电视收发器、免提耳机、模块、调频(FM)无线电单元、数字音乐播放器、媒体播放器、视频游戏播放器模块、互联网浏览器等。
图22D是示例性计算系统90的框图,该计算系统90可以用来实现网络的一个或多个节点,诸如图7-21中所示的客户端、对等设备和资源目录,可以操作为诸如图22A和22B中所示的M2M网络中的M2M服务器、网关、设备或其他节点。计算系统90可以包括计算机或服务器,并且可主要由可以以软件为形式的计算机可读指令来控制,无论在哪里或通过何种手段来存储或访问此类软件。此类计算机可读指令可在中央处理单元(CPU)91内被执行以促使计算系统90进行工作。在许多已知的工作站、服务器以及个人计算机中,中央处理单元91由被称为微处理器的单片CPU来实现。在其它机器中,中央处理单元91可包括多个处理器。协处理器81是不同于主CPU91的可选处理器,其执行附加功能或协助CPU91。CPU91和/或协处理器81可接收、生成以及处理与用于E2EM2M服务层会话的公开系统和方法有关的数据,诸如接收会话证书并基于该会话证书进行认证。
在操作中,CPU91获取、解码并执行指令,并且经由计算机的主数据传输路径、系统总线80来向它源传输信息和从其它源传输信息。此类系统总线连接计算系统90中的组件,并定义用于数据交换的介质。系统总线80通常包括用于发送数据的数据线、用于发送地址的地址线以及用于发送中断且用于操作系统总线的控制线。此类系统总线80的示例是PCI(外围组件互连)总线。
被耦接到系统总线80的存储器设备包括随机存取存储器(RAM)82和只读存储器(ROM)93。此类存储器包括允许存储和检索信息的电路。ROM93一般包含不能轻易被修改的存储数据。存储在RAM82中的数据可被CPU91或其它硬件设备读取或改变。对RAM82和/或ROM93的访问可由存储器控制器92来控制。存储器控制器92可提供当执行指令时将虚拟地址转换成物理地址的地址转换功能。存储器控制器92还可提供将系统内的进程隔离并将系统进程与用户进程相隔离的存储器保护功能。因此,在第一模式下运行的程序仅可访问由其自身处理器的虚拟地址空间映射的存储器;其不能访问另一处理器的虚拟地址空间内的存储器,除非已经建立了处理器之间的存储器共享。
另外,计算系统90可包含外围设备控制器83,其负责将CPU91的指令通信给诸如打印机94、键盘84、鼠标95以及磁盘驱动器85的外围设备。
由显示器控制器96控制的显示器86被用来显示由计算系统90生成的视觉输出。此类视觉输出可包括文本、图形、动画图形以及视频。可以使用基于CRT的视频显示器、基于LCD的平板显示器、基于气体等离子体的平板显示器或触摸屏来实现显示器86。显示器控制器96包括生成被发送到显示器86的视频信号所需的电子组件。
此外,计算系统90可以包含通信电路,诸如网络适配器97,其可以被用于将计算系统90连接至诸如图22A和图22B的网络12的外部通信网络,以使得计算系统90能够与该网络的其他节点通信。通信电路,单独或结合CPU 91,可以用来执行本文(例如图7-21)和权利要求中所述的发送和接收步骤。
将理解到可以以存储在计算机可读存储介质上的计算机可执行指令(即,程序代码)的形式来体现本文所述的方法以及过程的任何一个,并且当由诸如计算机、服务器、M2M终端设备、M2M网关设备等机器执行指令时,该指令执行和/或实现本文所述的系统、方法和过程。具体地,可以此类计算机可执行指令的形式来实现上文所述的步骤、操作或功能中的任何。计算机可读存储介质包括以用于信息存储的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质两者,但是此类计算机可读存储介质不包括信号。计算机可读存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储器或其它磁存储设备、或者可以用来存储期望信息且可以由计算机访问的其它物理介质。
在描述本公开的主题的优选实施例时,如图中所示,为了明了起见而采用特定术语。然而,要求保护的主题并不意图限于这样选择的特定术语,并且应理解的是每个特定元件包括以类似方式操作以实现类似目的的所有技术等价物。
下面是与可能出现在上述描述中的服务水平技术有关的缩略词的列表。除非另有说明,本文使用的缩略词是指下列的相应术语:
CoAP 约束应用协议
CoRE 约束RESTful环境
DHT 分布式散列表
DRD 分布式资源目录
EP 端点
HTTP 超文本传输协议
IETF 互联网工程任务组
IoT 物联网
M2M 机器对机器
MAC 介质访问控制
RD 资源目录
RE 参照保障机制
SA 存储辅助机制
URI 统一资源标识符
本书面描述使用示例来公开本发明,包括最佳模式,并且还使得本领域的技术人员能够实践本发明,包括制造和使用任何设备或系统以及执行任何结合的方法。本发明的可以取得专利的范围由权利要求定义,并且可包括本领域的技术人员想到的其它示例。如果此类其他示例具有不同于权利要求的字面语言的结构元件,或者如果此类其他示例包括与权利要求的字面语言无实质性差别的等价结构元件,则此类其它示例意图落入权利要求的范围内。

Claims (9)

1.一种包括处理器、存储器和通信电路的节点,所述节点经由其通信电路连接至通信网络,所述节点进一步包括在所述节点的存储器中存储的计算机可执行指令,当由所述节点的处理器执行所述指令时,使所述节点:
确定与消息有效载荷相关联的一个或多个关键字,所述消息有效载荷是从端点接收的,所述消息有效载荷包括在没有指示资源的统一资源标识符(URI)的情况下与所述资源相关联的资源查找请求;
把所述一个或多个关键字应用于散列函数来生成映射信息,所述映射信息包括对等资源目录服务器的至少一个标识;
基于所述映射信息,把所述消息有效载荷传送到一个或多个对等资源目录服务器;
从所述一个或多个对等资源目录服务器接收至少一个应答,所述至少一个应答指示在所述一个或多个对等资源目录服务器上存储的资源的内容;以及
基于接收的至少一个应答,把最终应答传送到所述端点,以便在没有所述资源的URI的情况下检索所述资源的内容,
其中,与所述消息有效载荷相关联的多个关键字之一包括一个或多个参数。
2.如权利要求1所述的节点,其中,所述一个或多个参数指示域、端点、组名、端点类型、资源类型、资源寿命期或接口。
3.如权利要求1所述的节点,其中,所述资源查找请求包括查找类型和一个或多个参数。
4.如权利要求1所述的节点,其中,所述一个或多个参数是多个参数,以及其中,所述计算机可执行指令进一步使节点:
如果使用第一逻辑连接符使所述参数相互连接,将所述消息有效载荷传送到多个对等资源目录服务器,所述多个是基于有多少个参数在所述消息有效载荷中;以及
如果使用第二逻辑连接符使所述参数相互连接,将所述消息有效载荷传送到仅一个对等资源目录服务器。
5.如权利要求1所述的节点,其中,所述消息有效载荷被传送到的所述一个或多个对等资源目录服务器是选择的一个对等资源目录服务器,该选择的对等资源目录服务器将所述资源查找请求传播到由所述映射信息指示的另外对等资源目录服务器。
6.如权利要求1所述的节点,其中,所述端点被配置成作为Web服务器、机器对机器设备或网关来操作。
7.一种方法,包括:
由资源目录服务器确定与消息有效载荷相关联的一个或多个关键字,所述消息有效载荷是从端点接收的,所述消息有效载荷包括在没有指示资源的统一资源标识符(URI)的情况下与所述资源相关联的资源查找请求;
把所述一个或多个关键字应用于散列函数来生成映射信息,所述映射信息包括对等资源目录服务器的至少一个标识;
基于所述映射信息,将所述消息有效载荷传送到一个或多个对等资源目录服务器;
在所述资源目录服务器处,接收来自所述一个或多个对等资源目录服务器的至少一个应答,所述至少一个应答指示在所述一个或多个对等资源目录服务器上存储的资源的内容;以及
基于接收的至少一个应答,将最终应答传送到所述端点,以便在没有所述资源的URI的情况下检索所述资源的内容,
其中,与所述消息有效载荷相关联的多个关键字之一包括至少一个参数或者与所述至少一个参数相关联的至少一个值。
8.如权利要求7所述的方法,其中,所述至少一个参数指示域、端点、组名、端点类型、资源类型、资源寿命期或接口。
9.如权利要求7所述的方法,其中,所述资源查找请求包括查找类型和一个或多个参数。
CN201580013351.9A 2014-03-11 2015-03-11 增强分布式资源目录 Expired - Fee Related CN106134159B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461951141P 2014-03-11 2014-03-11
US61/951,141 2014-03-11
PCT/US2015/019942 WO2015138596A1 (en) 2014-03-11 2015-03-11 Enhanced distributed resource directory

Publications (2)

Publication Number Publication Date
CN106134159A CN106134159A (zh) 2016-11-16
CN106134159B true CN106134159B (zh) 2019-09-20

Family

ID=52991939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580013351.9A Expired - Fee Related CN106134159B (zh) 2014-03-11 2015-03-11 增强分布式资源目录

Country Status (6)

Country Link
US (1) US20150264134A1 (zh)
EP (1) EP3117587B1 (zh)
JP (1) JP6397044B2 (zh)
KR (1) KR101972932B1 (zh)
CN (1) CN106134159B (zh)
WO (1) WO2015138596A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3198893A1 (en) * 2014-09-25 2017-08-02 Telefonaktiebolaget LM Ericsson (publ) Device mobility with coap
US9661080B2 (en) 2014-10-21 2017-05-23 Helium Systems, Inc. Systems and methods for smart device networking with an endpoint and a bridge
JP6511535B2 (ja) * 2015-03-02 2019-05-15 コンヴィーダ ワイヤレス, エルエルシー サービス層能力を使用したネットワークおよびアプリケーション管理
US10069938B1 (en) * 2015-03-30 2018-09-04 EMC IP Holding Company LLC Returning identifiers in default query responses
WO2017066574A1 (en) * 2015-10-16 2017-04-20 Convida Wireless, Llc Coap enhancements to enable an autonomic control plane
US20170126542A1 (en) * 2015-10-28 2017-05-04 Futurewei Technologies, Inc. ICN Based Distributed Resource Directory for IoT Resource Discovery and Routing
KR101792399B1 (ko) 2016-03-21 2017-11-01 전자부품연구원 IoT/M2M 리소스 검색 방법 및 시스템
CN107872486B (zh) * 2016-09-28 2020-06-02 华为技术有限公司 通信方法和装置
US10664278B2 (en) 2017-08-17 2020-05-26 Huawei Technologies Co., Ltd. Method and apparatus for hardware acceleration in heterogeneous distributed computing
EP3698561B1 (en) * 2017-10-20 2024-01-17 Telefonaktiebolaget LM Ericsson (PUBL) Providing and obtaining access to iot resources
KR102035905B1 (ko) * 2017-11-29 2019-10-24 전자부품연구원 IoT 환경에서 디바이스 데이터 및 서버 리소스 매핑 방법 및 이를 적용한 게이트웨이
US10499189B2 (en) 2017-12-14 2019-12-03 Cisco Technology, Inc. Communication of data relating to endpoint devices
EP3777096A1 (en) * 2018-04-06 2021-02-17 Telefonaktiebolaget Lm Ericsson (Publ) Thing description to resource directory mapping
CN109446439B (zh) * 2018-09-30 2022-09-06 青岛海尔科技有限公司 一种资源目录的选择方法、装置、系统及存储介质
CN110741361B (zh) * 2018-11-08 2024-02-06 Oppo广东移动通信有限公司 资源查询处理方法、装置、计算机设备和存储介质
CN115334146A (zh) * 2018-12-11 2022-11-11 Oppo广东移动通信有限公司 物联网的资源发布方法、装置、设备及存储介质
US11363104B2 (en) 2018-12-18 2022-06-14 Hewlett Packard Enterprise Development Lp Subscription based directory services for IOT devices
GB2582737B (en) * 2019-02-01 2021-07-14 Arm Ip Ltd Device registration mechanism
EP4186217A1 (en) * 2020-07-22 2023-05-31 Telefonaktiebolaget LM Ericsson (publ) Provision of network access information for a computing device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102667776A (zh) * 2009-10-27 2012-09-12 莱克萨利德股份公司 用于处理信息流的信息的方法和系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898633B1 (en) * 2000-10-04 2005-05-24 Microsoft Corporation Selecting a server to service client requests
JP2005151244A (ja) * 2003-11-17 2005-06-09 Ntt Docomo Inc コンテンツ格納支援システム
US8880664B1 (en) * 2004-07-26 2014-11-04 Cisco Technology, Inc. Method and apparatus for generating a network profile and device profile
US7774380B2 (en) * 2007-12-21 2010-08-10 International Business Machines Corporation Technique for finding rest resources using an n-ary tree structure navigated using a collision free progressive hash
US20100235469A1 (en) * 2009-03-11 2010-09-16 Morris Robert P Method And System For Providing Access To Resources Related To A Locatable Resource
EP2564306A4 (en) * 2010-04-27 2017-04-26 Cornell University System and methods for mapping and searching objects in multidimensional space
JP5684671B2 (ja) * 2011-08-05 2015-03-18 日本電信電話株式会社 条件検索データ保存方法、条件検索データベースクラスタシステム、ディスパッチャ、およびプログラム
FI125252B (en) * 2011-12-07 2015-08-14 Arm Finland Oy Procedure, device and system for managing web services
WO2013123445A1 (en) * 2012-02-17 2013-08-22 Interdigital Patent Holdings, Inc. Smart internet of things services
US8635373B1 (en) * 2012-09-22 2014-01-21 Nest Labs, Inc. Subscription-Notification mechanisms for synchronization of distributed states

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102667776A (zh) * 2009-10-27 2012-09-12 莱克萨利德股份公司 用于处理信息流的信息的方法和系统

Also Published As

Publication number Publication date
EP3117587B1 (en) 2020-11-11
WO2015138596A1 (en) 2015-09-17
JP2017517046A (ja) 2017-06-22
EP3117587A1 (en) 2017-01-18
KR20160130483A (ko) 2016-11-11
CN106134159A (zh) 2016-11-16
KR101972932B1 (ko) 2019-04-29
JP6397044B2 (ja) 2018-09-26
US20150264134A1 (en) 2015-09-17

Similar Documents

Publication Publication Date Title
CN106134159B (zh) 增强分布式资源目录
US10404601B2 (en) Load balancing in the internet of things
CN106797409B (zh) 用于在物联网(iot)中的设备位置注册的服务器
KR102046700B1 (ko) 메시지 버스 서비스 디렉토리
CN106797392B (zh) M2m-iot服务的发布和发现
EP2994831B1 (en) Method and apparatus for the virtualization of resources using a virtualization broker and context information
US10798779B2 (en) Enhanced CoAP group communications with selective responses
US10979879B2 (en) Mechanisms for resource-directory to resource-directory communications
Ganz et al. Context-aware management for sensor networks
CN109889509A (zh) 用于机器对机器通信的网络辅助引导自举
KR20160096214A (ko) 정보 중심 네트워크들에 대한 프린서플-아이덴티티-도메인 기반의 명명 방식
KR20190031597A (ko) 리소스 디렉터리를 위한 검색 엔진 최적화
CN109478153A (zh) 机器到机器服务层通信中的消息重定向
Li et al. Supporting efficient machine-to-machine communications in the future mobile internet
WO2018132557A1 (en) Dynamic protocol switching
Rodrigues et al. Zigzag: A middleware for service discovery in future internet
Mihailovic Liberalising deployment of internet of things devices and services in large scale environments
Rodrigues Data Storage Solutions for the Federation of Sensor Networks
Zhu et al. Service Discovery Architecture and Protocol Design for Pervasive Computing
McMahon Discovery of Delay-Tolerant Networking Endpoint Elements
Kemerlis et al. A Review in Efficient Mobile Object Tracking Techniques
Chen et al. Naming and Discovery in Mobile Systems
Flathagen et al. Web services and service discovery
Imadali Large scale addressing and routing mechanisms for highly mobile networks of networks
Flathagen et al. Interoperable service discovery: experiments at Combined Endeavor 2009

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190920