CN107736002B - 基于接近性的服务信息分布式缓存的方法、设备及通信网络 - Google Patents
基于接近性的服务信息分布式缓存的方法、设备及通信网络 Download PDFInfo
- Publication number
- CN107736002B CN107736002B CN201680036064.4A CN201680036064A CN107736002B CN 107736002 B CN107736002 B CN 107736002B CN 201680036064 A CN201680036064 A CN 201680036064A CN 107736002 B CN107736002 B CN 107736002B
- Authority
- CN
- China
- Prior art keywords
- service information
- service
- network
- new
- information
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种在网络中基于接近性的服务信息分布式缓存的通信网络、设备和方法。所述网络包括互相通信的服务端点设备(1402)、客户端设备(1404)、资源目录设备(1406)和边界路由器设备(1408)。所述基于接近性的服务信息分布式缓存的方法包括:识别(1502)网络中的RD;识别(1504)网络中的服务端点或客户端,并将优选RD分配(1506)给每个服务端点或客户端;通过服务信息将服务端点注册(1508)到优选RD,然后RD在BR上备份信息;客户端一直通过其优选RD进行服务查找(来自客户端的服务查找)(1510),如果RD不能在本地完成查找,则其查询BR以获取信息,RD基于查找模式决定缓存服务信息,即,基于接近性的缓存(1512)。
Description
技术领域
本发明大体涉及通信网络,尤其涉及基于接近性的服务信息分布式缓存的通信网络、设备和方法。
背景技术
物联网(Internet of Things,简称IoT)是通信世界中的一个新范例,其中,通用日用电器及实用设备连接到互联网,以实现无缝连接、操作的简易化、功耗的改善、资源的更好利用以及远程监控等。如图1所示,IoT网络可以分为三个主要部分:无线传感器网络(wireless sensor network,简称WSN)、网关和云。WSN是最后一英里网络,其中,设备彼此互连以形成网状网络。所有设备最终连接到网关以便与基于云的服务器进行通信。
无线传感器网络(wireless sensor network,简称WSN)是指空间分布的自主传感器网络,用于监测物理或环境条件,例如,温度、声音和压力等,并将其数据通过网络协同地传递到主要位置。WSN在IoT的上下文中有时称作低功耗有损网络(low power and lossynetwork,简称LLN),因为节点和网络内的功率和网络资源有限。连接到网络的节点的规模通常很大。例如,用于家庭自动化的有350+个节点,用于建筑自动化的有 1000+个节点,用于工业自动化和其他用途的有数千个节点。
据估,物联网的出现导致网络设备的规模前所未有的增长。已经定义了新的网络标准来支持约束场景,尤其是旨在将网络模块的成本保持在较低水平的场景。网络旨在在没有任何人为干预的情况下工作,并且其需要参与节点进行识别、广播、发现并和与该网络相关的其他节点通信。这种自动配置需求对设计有有限内存和处理能力的无线低功率节点构成严峻的挑战。用于互连这些节点的基于IP的协议有助于寻址和连接问题的解决,但依靠的是服务配置的应用级协议。
网络中的节点提供了不同种类的服务。例如,如图2所示,一个节点具有向网络提供湿度信息的湿度传感器,另一个设备可以是喷水器节点。在完全自主的模式中,喷水器需要知道湿度水平以便开启其喷水操作。因此,传感器和喷水器需要互相作用而无需进行任何手动配置。节点通过服务发现来识别和命令网络中相关的其他节点。
基于先前的示例,在某些场景中,服务信息的关键性可能非常高。例如,热传感器和喷水器的情况。因此,在网络中不依赖于单个节点(避免单点故障)而使服务信息可用并确保信息时延更小是至关重要的。
■服务发现术语:
a)服务端点(Service Endpoint,简称SEP):托管该服务并在网络内广播该服务的节点
b)客户端:查询/查找服务的节点
c)资源目录:替其他节点托管服务信息的节点
图3示出了服务发现术语的示例性场景,其中,喷水器用作SEP,其服务信息存储在资源目录(resource directory,简称RD)中,无线温度和湿度传感器用作在RD中寻找服务的客户端。
任何服务发现协议的主要目标是使节点能够查询支持特定服务的其他节点。服务发现包括:a)可选目录服务(directory service,简称DS)发现(RD(资源目录)和DA (目录代理)是DS(目录服务)的一些同义词);b)服务广播;c)服务更新/删除; d)服务查找。
传统意义上,存在各种用于在网络中进行服务发现操作的技术,这些技术可包括但不限于集中式DS(Centralized DS,简称C-DS)模式,无目录(Directory-less,简称D-less)模式和分布式DS(Distributed DS,简称D-DS)模式。图4示出了与D-less模式、 D-DS模式相比较的传统可用C-DS模式。
然而,用于服务发现操作的可用技术具有以下提及的技术缺点/问题:
1.在集中式模式中,存在单点故障(Single point of failure,简称SPOF)。如果RD节点或链路变得不可用,则服务发现操作失败。
2.尽管分布式(无目录或基于目录)模式中没有SPOF,但是使用了多播,因此平均功耗很高。同时,查找时延也非常高。
3.在所有现有技术中托管RD的节点受到约束,即具有较少的RAM。因此,不是所有RD都能托管“所有”服务信息。
4.现有技术不是内存敏感的,即先收到的条目先被服务/存储。WSN中的RD具有相对较小的内存,不能容纳网络中的所有服务信息。
5.在集中式模式中,RD最有可能托管在边界路由器(border router,简称BR) 上。因此,所有查找/注册信息必须由BR处理,造成BR附近的流量瓶颈。
6.在基于分布式目录的RD中存储条目不考虑查找的距离。
有鉴于现有技术的上述缺陷和限制,如上所述,需要提供一种新型有效的技术,通过分发服务条目以能够在无需部署任何基于多播的通信的情况下,在网络中实现有效的服务发现操作。
发明内容
本发明要解决的现有通信网络中的主要技术问题涉及如何分配由网络中的节点托管的服务条目/信息,以在不部署任何基于多播的通信的情况下实现高效的服务发现操作。
提供本发明内容是为了介绍与在网络中基于接近性的服务信息分布式缓存的方法、设备及通信网络相关的概念,在下面的具体实施方式中进一步描述本发明内容。本发明内容不旨在确定所要求保护的本发明的必要特征,也不旨在确定或限定所要求保护的本发明的范围。
相应地,在一种实现方式中,本发明提供一种托管服务信息的设备用于将服务信息分发到网络中的至少一个其他设备。所述设备包括处理器和存储器,其耦合到所述处理器,所述处理器用于执行所述存储器中存在的多个模块。所述多个模块包括存储模块、接收模块、分发模块和传输模块。所述存储模块用于托管所述服务信息,并存储所述网络中可用的其他设备的列表。所述接收模块用于从其他设备接收至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述存储模块中的所述其他设备所需的服务信息,以及新服务信息和与加入网络的新设备相关联的IP地址,其中,所述新设备不在所述其他设备的列表中。所述分发模块用于将托管的所述服务信息分发到所述网络中的其他设备以响应所述服务请求,将所述新设备的IP地址分发给所述网络中的其他设备,从而在存储模块中,将接收的所述新服务信息和与所述新设备相关联的IP地址存储到所述列表中。所述传输模块用于基于所述其他设备的所述服务请求传输所述预先存储的服务信息或者接收的所述新服务信息。
在一种实现方式中,公开了一种托管服务信息的设备用于对从网络中的至少一个其他设备接收的服务信息进行缓存。所述设备包括处理器和存储器,其耦合到所述处理器,所述处理器用于执行所述存储器中存在的多个模块。所述多个模块包括存储模块、接收模块、缓存模块和传输模块。所述存储模块用于托管预先存储的服务信息。所述接收模块用于接收来自至少一个客户端设备的至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述存储模块中的所述客户端设备所需的服务信息;如果在存储模块中不存在所述客户端设备所需的服务信息,则接收来自其他设备的至少一个新服务信息。所述缓存模块用于通过缓存机制缓存从所述其他设备接收的新服务信息,其中,所述缓存机制确认接收的所述新服务信息是否未预先存储在所述存储模块中;如果所述存储模块中没有用于存储接收的所述新服务信息的空间,则基于至少一个计数器移出预先存储在所述存储模块中的至少一个服务信息;在所述存储模块中存储接收的所述新服务信息。所述传输模块用于基于所述客户端设备的所述服务请求传输所述预先存储的服务信息或所述新服务信息。
在一种实现方式中,本发明提供一种用于分发和缓存网络中服务信息的网络,所述网络包括从彼此互连的第一设备、第二设备、第三设备和第四设备中选择的多个设备。所述网络包括:至少一个第一设备,用于托管与所述第二设备、所述第三设备和所述第四设备相关联的服务信息,其中,所述第二设备用于在所述网络中提供服务,并将提供的这些服务注册到所述第三设备,所述第四设备用于向所述第三设备请求至少一个服务。所述第一设备用于接收来自所述第三设备的至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述第一设备中的所述第四设备所需的服务信息;存储所述网络中可用的所述第二设备、第三设备和第四设备的列表;接收新服务信息和与加入网络的新设备相关联的IP地址,其中,所述新设备不在所述列表中;将所述新设备的所述IP地址分发给所述第三设备;将所述新设备的所述IP地址分发给所述第三设备;将接收的所述新服务信息和与所述新设备相关联的IP地址存储到所述列表中;基于来自所述第三设备的所述服务请求传输所述预先存储的服务信息或接收的所述新服务信息。所述第三设备用于基于来自所述第三设备的所述服务请求接收来自所述第一设备的所述预先存储的服务信息或所述新服务信息;通过缓存机制缓存从所述第一设备接收的新服务信息,其中,所述缓存机制确认从所述第一设备接收的所述新服务信息是否未预先存储在所述第三设备中;如果所述第三设备中没有用于存储接收的所述新服务信息的空间,则基于至少一个计数器移出预先存储在所述第三设备中的至少一个服务信息;在所述第三设备中存储接收的所述新服务信息;从而基于来自所述第四设备的所述服务请求传输所述第三设备中存储的所述新服务信息或所述预先存储的服务信息。
在一种实现方式中,本发明提供一种在网络中分发和缓存服务信息的方法,所述网络包括从彼此互连的第一设备、第二设备、第三设备和第四设备中选择的多个设备,其中,至少一个第一设备,用于托管与所述第二设备、所述第三设备和所述第四设备相关联的服务信息,其中,所述第二设备用于在所述网络中提供服务,并将提供的这些服务注册到所述第三设备,所述第四设备用于向所述第三设备请求至少一个服务。该方法包括:
所述第一设备接收来自所述第三设备的至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述第一设备中的所述第四设备所需的服务信息;
所述第一设备存储所述网络中可用的所述第二设备、第三设备和第四设备的列表;
所述第一设备接收新服务信息和与加入网络的新设备相关联的IP地址,其中,所述新设备不在所述列表中;
所述第一设备将所述新设备的所述IP地址分发给所述第三设备;
所述第一设备将接收的所述新服务信息和与所述新设备相关联的IP地址存储到所述列表中;
所述第一设备基于来自所述第三设备的所述服务请求传输所述预先存储的服务信息或接收的所述新服务信息;
所述第三设备基于来自所述第三设备的所述服务请求接收来自所述第一设备的所述预先存储的服务信息或所述新服务信息;
所述第三设备通过缓存机制缓存从所述第一设备接收的新服务信息,其中,所述缓存机制:
确认从所述第一设备接收的所述新服务信息是否未预先存储在所述第三设备中;
如果所述第三设备中没有用于存储接收的所述新服务信息的空间,则基于至少一个计数器移出预先存储在所述第三设备中的至少一个服务信息;
在所述第三设备中存储接收的所述新服务信息;
所述第三设备基于来自所述第四设备的所述服务请求传输所述第三设备中存储的所述新服务信息或所述预先存储的服务信息。
在一种实现方式中,本发明提供一种托管服务信息的设备执行的用于将服务信息分发到网络中的至少一个其他设备的方法。所述方法包括:
托管所述服务信息;
存储所述网络中可用的所述其他设备的列表;
接收来自所述其他设备的至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述存储模块中的所述其他设备所需的服务信息;
接收新服务信息和与加入网络的新设备相关联的IP地址,其中,所述新设备不在所述其他设备的列表中;
将托管的所述服务信息分发到所述网络中的其他设备以响应所述服务请求;将接收的所述新服务信息和所述新设备的IP地址分发给所述网络中的其他设备;从而
将接收的所述新服务信息和与所述新设备相关联的IP地址存储到所述列表中;
基于来自所述其他设备的所述服务请求传输所述预先存储的服务信息或接收的所述新服务信息。
在一种实现方式中,本发明提供一种托管服务信息的设备执行的用于对从网络中的至少一个其他设备接收的服务信息进行缓存的方法。该方法包括:
托管所述服务信息;
接收来自至少一个客户端设备的至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述存储模块中的所述客户端设备所需的服务信息;如果在存储模块中不存在所述客户端设备所需的服务信息,则接收来自其他设备的至少一个新服务信息;
通过缓存机制缓存从所述其他设备接收的新服务信息,其中,所述缓存机制包括:
确认接收的所述新服务信息是否未预先存储;
如果所述存储模块中没有用于存储接收的所述新服务信息的空间,则基于至少一个计数器移出预先存储的至少一个服务信息;
存储接收的所述新服务信息;
基于来自所述客户端设备的所述服务请求传输所述预先存储的服务信息或所述新服务信息。
在一种实现方式中,本发明提供了一种在受约束的多跳网络中基于接近性的服务信息的分布式缓存方法。所述方法包括:
识别通信网络中的RD;
识别通信网络中的服务端点或客户端,并将优选RD分配给每个服务端点或客户端;
通过服务信息将服务端点注册(服务广播或服务注册)到优选RD,然后RD在BR 上备份信息;(为了简化和理解,在本文中,假定BR是可以存储所有服务信息的集中式RD,但它也可以是网络中的不同节点);
客户端一直通过其优选RD进行服务查找(来自客户端的服务查找),如果RD不能在本地完成查找,则其查询BR以获取信息。
RD基于查找模式决定缓存服务信息,即,基于接近性的缓存。
如果任何一个RD发生故障,其他RD可以作为替换,或者信息可以从BR获取;在 BR故障的情况下,RD可以替换BR以提供服务信息。
在一种实现方式中,本发明提供了一种在网络中基于接近性的服务信息分布式缓存方法,其中,多个设备彼此互连形成所述网络。所述方法包括:
●识别从所述多个设备中选择的至少一个资源目录设备,并用于托管至少一个其他设备的服务信息;
●识别从所述多个设备中选择的至少一个服务端点设备和至少一个客户端设备;
●向所述服务端点设备和客户端设备分配至少一个优选资源目录设备,其中,从所述识别的资源目录设备中选择所述优选资源目录设备;
●在所述优选资源目录设备上注册所述服务端点设备提供的与其关联的至少一个服务信息;
●所述优选资源目录设备在所述网络中分发所述服务信息,其中,所述服务信息被分发到至少一个边界路由器设备和/或所述资源目录设备中;
●基于所述客户端设备的至少一个查找模式,并通过基于接近性的机制,在所述优选资源目录设备上缓存接收的所述服务信息和至少一个新服务信息。
在一种实现方式中,本发明提供了一种在网络中分布式缓存服务信息的方法,其中,多个设备彼此互连形成所述网络。所述方法包括:
●识别托管至少一个其他设备的服务信息的所述网络中的至少一个资源目录设备;
●识别从所述网络中所述多个设备中选择的至少一个服务端点设备和至少一个客户端设备;
●向所述服务端点设备和客户端设备分配至少一个优选资源目录设备,其中,从所述识别的资源目录设备中选择所述优选资源目录设备;
●在所述优选资源目录设备上注册所述服务端点设备提供的至少一个服务信息;
●所述优选资源目录设备备份注册在所述网络中的至少一个边界路由器设备上的所述服务信息;
●使用所述客户端设备查询至少一个查找请求,所述优选资源目录设备寻找至少一个响应,其中,
●如果对所述查找请求的所述响应没有被所述优选资源目录设备响应,则所述响应由所述优选资源目录设备从所述边界路由器设备获取并用于响应所述客户端设备;
●所述优选资源目录设备缓存注册的所述服务信息和从所述边界路由器设备获取的所述响应,其中,所述响应是在所述边界路由器设备上预先注册的至少一个新服务信息。
在一种实现方式中,本发明提供了一种在网络中的多个节点/设备中提供基于接近性的服务信息分布式缓存的网络。所述网络包括从所述多个设备中选择的至少一个服务端点设备,用于向所述多个设备提供服务;从所述多个设备中选择的至少一个资源目录设备,用于存储向所述多个设备提供服务的所述服务端点设备的信息;以及从所述多个设备中选择的至少一个客户端设备,用于寻找(查找)所述网络中的服务。
所述网络是为了实现基于接近性的服务信息分布式缓存,所述服务端点设备基于低功耗有损网络IPv6路由协议(routing protocol for low-power and lossy network,简称 RPL)信令,向从所述资源目录设备中选择的至少一个优选资源目录设备注册由所述服务端点设备提供的服务信息;所述优选资源目录设备用于传输注册到存储所接收的所述信息的至少一个边界路由器设备的所述信息;当查找所提供的服务时,客户端设备基于低功耗有损网络IPv6路由协议(routing protocol for low-power and lossy network,简称 RPL)信令向至少一个从所述资源目录设备中选择的优选资源目录设备传输查找请求;在接收到所述查找请求时,优选资源目录设备用于检查所述优选资源目录设备中是否存在查询的信息;如果存在所需信息,则所述优选资源目录设备用查询的信息进行响应;如果不存在所需的信息,则所述优选资源目录设备用于将所述查找请求传输到所述边界路由器设备,所述边界路由器设备向所述优选资源目录设备回复查询的信息以响应所述查找请求,所述信息最终传输到所述客户端设备;使用基于接近性的缓存机制将所查询的信息缓存在所述优选资源目录设备中。
在一种实现方式中,本领域技术人员可以理解,端点可以基于任何节点在网络内共享/发布其服务的意愿执行/发现资源目录设备的识别。此外,可以理解的是,客户端也可以是端点设备,然而,当客户端从网络中的其他端点寻找服务时,其可以作为客户端设备工作。此外,也可以理解,优选资源目录设备可以由任何资源目录或边界网关或路由器或网络中的任何节点分配。
与现有技术相比,本发明提供了一种将服务信息分发到超过一个节点并由此在这些节点中缓存所述服务信息的技术,其避免了特定节点(边界)附近的SPOF技术问题和服务请求流量瓶颈。此外,本发明能够使用单播通信来分发服务信息,而不会改变客户端或SEP的内存需求。此外,本发明能够在优选RD故障或BR故障的情况下获得/设置服务信息。此外,本发明为每个客户端和SEP分配优选RD。此外,本发明利用路由协议信令(例如RPL)或任何基于传播的通信来避免多播通信。
附图说明
该具体实施方式是参考附图描述的。在附图中,参考编号最左边的数字表示所述参考编号在该附图中首次出现。所有附图使用相同数字指代相同特征的组件。
图1示出了现有技术典型的IoT网络;
图2示出了根据现有技术的服务发现的示例;
图3示出了根据现有技术的服务发现节点术语;
图4示出了根据现有技术的与D-less模式、D-DS模式相比较的C-DS模式;
图5示出了根据现有技术的用于网络中的低功耗有损网络IPv6路由协议(routingprotocol for low-power and lossy network,简称RPL)信令原语;
图6示出了根据本发明实施例的在网络中识别RD的过程;
图7示出了根据本发明实施例的新RD加入网络时RD列表分发的流程图;
图8示出了根据本发明实施例的在网络中识别优选RD的过程;
图9示出了根据本发明实施例的服务注册过程;
图10示出了根据本发明实施例的服务注册调用流程;
图11示出了根据本发明实施例的处理服务查找的过程;
图12示出了根据本发明实施例的基于接近性的缓存处理的流程图;
图13示出了根据本发明实施例的基于接近性的缓存-调用流程;
图14示出了根据本发明实施例的在网络中的多个节点/设备中提供基于接近性的服务信息分布式缓存的网络;
图15示出了根据本发明实施例的在网络中进行服务信息分布式缓存的方法,其中,多个设备彼此互连以形成所述网络;
图16示出了根据本发明实施例的托管服务信息的设备,用于将服务信息分发到网络中的至少一个其他设备;
图17示出了根据本发明实施例的托管服务信息的设备,用于对从网络中的至少一个其他设备接收的服务信息进行缓存;
图18示出了根据本发明实施例的在网络中分发和缓存服务信息的方法,其中,所述网络包括从彼此互连的第一设备、第二设备、第三设备和第四设备中选择的多个设备;
图19示出了根据本发明实施例的托管服务信息的设备执行的用于将服务信息分发到网络中的至少一个其他设备的方法;
图20示出了根据本发明实施例的托管服务信息的设备执行的用于对从网络中的至少一个其他设备接收的服务信息进行缓存的方法。
可以理解的是,所述附图旨在阐释本发明的一些概念,可能不是按比例的。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明可以以多种方式实现,包括作为过程、装置、系统、物质构成、计算机可读存储介质等计算机可读介质或计算机网络,其中,程序指令通过光或电子通信链路发送。在本说明书中,本发明可以采取的这些实现方式或任何其他形式可称为技术。通常,所公开的过程的步骤的顺序在本发明的范围内可以改变。
下面提供了本发明的一个或多个实施例的具体实施方式以及说明本发明原理的附图。结合这些实施例描述本发明,但本发明不限于任何实施例。本发明的范围仅限于权利要求,且本发明包括许多替代方案、修改和等同物。在下面的描述中阐述了许多具体细节,以便完全理解本发明。为了示例的目的,提供这些细节,并在没有这些具体细节中的部分或全部细节的情况下根据权利要求可以实现本发明。为了清楚说明起见,没有详细描述与本发明相关的技术领域中已知的技术材料,使得本发明不会不必要地模糊。
本发明公开了一种用于提供基于接近性的服务信息分布式缓存的通信网络、设备和方法。
虽然描述了用于提供基于接近性的服务信息分布式缓存的通信网络和方法的各方面,但是本发明可以在任何数量的不同计算系统、环境和/或配置中实现,在以下示例性系统、装置和方法的上下文中描述各实施例。
因此,在一种实现方式中,本发明提供了一种在受约束的多跳网络中基于接近性的服务信息的分布式缓存方法。所述方法包括:
●识别通信网络中的RD;
●识别通信网络中的服务端点或客户端,并将优选RD分配给每个服务端点或客户端;
●通过服务信息将服务端点注册(服务广播或服务注册)到优选RD,然后RD在 BR上备份信息;(为了简化和理解,在本文中,假定BR是可以存储所有服务信息的集中式RD,但它也可以是网络中的不同节点);
●客户端一直通过其优选RD进行服务查找(来自客户端的服务查找),如果RD 不能在本地完成查找,则其查询BR以获取信息。
●RD基于查找模式决定缓存服务信息,即,基于接近性的缓存。
●如果任何一个RD发生故障,其他RD可以作为替换,或者信息可以从BR获取;在BR故障的情况下,RD可以替换BR以提供服务信息。
识别网络中的RD:通过网络中的多个RD来说明本发明,然而,本领域技术人员可以理解,本发明也可以在具有单个RS的网络中实现。如图5所示,存在集中式RD (BR+RD),其能够托管所有服务信息,除此之外,网络可能分布多个低内存的RD,并且可能不能容纳完整的服务信息。为了本文的目的并为了避免理解的复杂性,集中式 RD可以视为BR,并将在剩余文档中称为BR或集中式RD。
BR管理网络中的RD列表,因此需要识别网络中的所有RD。为此,本发明采用路由协议信令。作为路由协议信令的一部分,在网络内发送消息以识别最佳路径并形成网状网络。例如,低功耗有损网络IPv6路由协议(routing protocol for low-power and lossynetwork,简称RPL)信令涉及从每个节点向BR发送数据存取对象(data access object,简称DAO)消息以在途中建立路由表。
在一种实现方式中,下面说明了用于理解如何建立路由路径的RPL信令,图5示出了在网络中使用的RPL信令原语。DIO是由边界路由器发起的广播消息。
使用DIO,每个节点确定父节点,用于在向上的方向上发送流量。然后,每个节点通过所识别的父节点(通过无回路有向图(directed acyclic graph,简称DAG)信息选项(DAG information option,简称DIO)识别)向上发送DAO消息。DAO消息经过每个中间节点并一直建立路由表直至BR。
例如,如图5所示,BR首先广播DIO。DIO可能一直由BR发起,并且包含BR的 IP地址。由于它是广播的消息,所以DIO由RD2和RD1接收,因为它们在BR的范围内。RD2和RD1继而向下广播DIO。因此,从RD2转发的DIO由CLI1和SEP1接收。注意,SEP1将从RD1以及RD2接收DIO。作为DIO消息的一部分的路由度量/约束将用于SEP1决定要使用的最佳路径。因此,使用DIO,每个节点都知道如何通过选择最佳父节点到达BR。
在图5中,SEP1选择RD1作为其最佳父节点,因此将该路径示为主路径,而另一个到RD2的虚线被指示为辅父节点/路径。本领域技术人员可以理解,对最佳父节点的识别是任何专门网状路由协议(例如RPL)的固有属性。通过使用RSSI(接收信号强度指示)、LQI(链路质量指示)、ETX(估计传输次数)、时延和跳数等一个或多个度量来完成最佳父节点选择。作为本发明中说明的DIO消息的一部分,通过信号交换这些度量。节点可以从不同对端接收多个DIO,并且它使用存在于DIO内的度量指示来识别要选择的最佳父节点。
因此,DIO信令确保向上的路径选择,即每个节点通过将流量发送到其最佳父节点而知道如何到达BR。
建立向下路径的问题,即BR接收要发送到SEP1的IP报文,其如何知道是否将报文发送到RD1或RD2的问题,由每个节点向上发送DAO来解决,其中建立了路由表。当节点选择最佳父节点时,它向上发送包含其自己的IP地址的DAO消息。由于DIO建立了指向BR的路径,DAO消息将沿着经过每个中间父节点的向上的该路径。因此,每个中间父节点将接收DAO并且知道如何到达特定节点并因此建立路由表。
识别RD:本发明利用RPL信令来识别网络中的RD。如图6所示,当RD节点在向上发起DAO时,它可以额外在DAO消息中设置RD_FLAG,指定源节点是RD。因此,当DAO到达BR时,BR知道DAO消息的发起者是RD节点。
RD表分发:如图7所示,识别新RD的BR已经加入了网络,它向网络中的所有其他RD通知这个新RD的存在。因此,所有RD都知道网络中其他RD的地址。因此,当新RD第一次加入网络时,它向BR查询网络中的RD列表,从而接收该列表。
在一种实现方式中,如图7所示,当新RD加入网络时,BR从加入的新RD接收服务信息。然后,RD在存储的RD列表中检查该新RD是否存在。如果在列表中找到新 RD,则在列表中存储/更新该新RD提供的服务信息。如果在列表中没有找到新RD,则将新RD信息即地址发送到网络中的所有其他RD。此外,BR将新RD添加到网络中存在的RD的列表中。然后,服务条目存储在SET中。
通过或为服务端点和/或客户端识别优选RD:本发明使得每个服务端点设备或客户端设备需要识别优选RD。该识别可作为路由协议信令的一部分实现。如图8所示,端点或客户端在DAO中设置EP_FLAG或CLI_FLAG以用信号通知中间父节点其想要识别最近的RD。向上行进的DAO由网络中的每个中间路由器节点接收。如果路由器节点是 RD,则它消耗EP_FLAG或CLI_FLAG,并且向端点或客户端发信号通知其可以作为该节点的优选RD。
在指向BR的路径中没有RD的情况下,BR可以替客户端或服务端点来决定用作优选RD的RD。然后,BR向客户端或端点发送PREF_RD消息,指定要使用的优选RD地址。BR可以基于最少使用的RD或最接近的RD(基于路由度量)等参数的数量来决定要使用的优选RD。
服务广播或服务注册:如图9所示,SEP设备总是将服务注册到缓存信息的优选RD。优选RD将该信息发送到BR作为备份。因此,BR继续将所有信息保留在一个地方。
如图9所示,服务端点(SEP)将服务注册发送到其优选RD,优选RD然后将注册信息发送到BR。
在一种实现方式中,服务条目信息以下列格式存储在中间RD(例如RD1和RD2) 上:
表1:RD的SET(服务条目表)
在一种实现方式中,BR+RD可以存储附加信息以及服务信息,例如从其接收服务信息的对应的RD以及从RD发送到SEP的服务响应信息。
表2:BR的SET(服务条目表)
在一种实现方式中,BR需要额外存储包含网络中存在的所有RD的列表的RD表:
表3:BR的RD表
图10示出了作为本发明示例性实施例的服务注册调用流程。在一种实现方式中,端点向RD发送服务注册消息。在接收到服务注册消息时,RD缓存服务注册消息,该消息具有与端点本地相关联的服务信息,然后将信息更新至边界路由器(BR+RD)。在接收该消息时,BR可以执行两件事情:1、如上面图7的详细描述,遵循新RD加入网络时的过程;和/或2、本地也缓存服务信息。
服务查找:客户端可以总是执行对优选RD的查找。如图11所示,当RD从客户端设备接收到查找请求时,优选RD检查查询的信息在本地是否存在。若存在,则RD直接响应该查找请求。否则,RD将查找请求发送给BR,BR转而以该信息响应RD。然后, RD将该响应发回给客户端。RD根据基于接近性的算法决定是否将该信息在本地缓存。
如图13所示,在基于接近性的缓存中,RD可以一直是每次查找的第一个接触点。RD替客户端处理查找请求。RD本身本地可以具有该信息或者也可不具有。在本地不存在该信息的情况下,RD从BR获取该信息,然后将其交给客户端。因此,RD可从BR 接收新服务信息,可能必须将其缓存于本地。基于接近性的缓存算法决定是否缓存信息,在RD中没有剩余空闲空间的情况下需要逐出其他信息时是否必须缓存该信息。
为了实现这一点,RD在其所具有的每个服务信息的上下文中放有查找计数器。每次完成查找时,针对信息的相应计数器增加,而所有其他计数器减少。因此,当RD接收到任何信息时,它检查最少的计数器,并在该位置替换新信息。应注意的是,对于该逐出过程,仅考虑小于或等于零的计数器。然而,可以基于系统的要求修改/改变移出标准。
在一种实现方式中,图13示出了基于接近性的缓存——作为本发明示例性实施例的示例调用流程。该示例示出了将初始表设置为A和B信息的RD。该调用流程示出了后续查找请求如何影响该表并描绘了基于接近性的缓存算法。
图13中的调用流程分步说明如下:
步骤1:假设RD当前SET包含A和B的两个服务条目值,两者的查找计数均设置为0。
步骤2:节点N2发送服务信息A查询。RD包含A的服务信息,并用该信息响应 N2。
步骤3:更新RD的查找计数(CC)。由于接收到对A的查询,因此对A的查找计数将增加,其他条目的查找计数都减少。因此对B的查找计数变为–1。
步骤4:接着,RD接收对B的查询。由于RD持有对B的信息,所以其用该信息进行响应。
步骤5:更新RD的查找计数。由于接收到对B的查询,因此对B的查找计数将增加,其他条目的查找计数都减少。
步骤6:再次向RD发送对B的查询。RD直接响应,因为其包含B信息。
步骤7:由于接收到对B的查询,对B的查找计数增加,而其他条目的查找计数将减少。因此,对A和B的查找计数分别设为–1和1。
步骤8:现在,在RD上接收对C的查询。且RD不包含C的信息。
步骤9:由于在RD上不能满足对C的查询,RD将该请求转发给BR。BR持有所有服务的信息。
步骤10:RD从BR接收C信息,并检查SET中是否有空余空间。由于SET中没有空余空间,RD会检查是否有具有负查找计数值的条目。其发现服务条目A具有负查找计数值,因此A信息被逐出并且由C信息替换A。
步骤11:由于接收到的查询来自C,B的查找计数减少了1,因此C和B的新查找计数分别变为0和0。C的查找计数初次推入SET中时,初始化为0。
应当注意的是,所说明的本发明的逐出机制仅在在查找时动态添加的条目上运行。在初始注册过程中广播的条目不进行逐出。
故障处理:与现有技术中可用的现有技术相比,本发明解决单点故障的方式不同。基于上述说明的过程,始终确保优选RD始终持有除集中式BR/RD之外的端点的服务信息。
考虑故障处理的以下情景:
●优选RD故障:如果优选RD故障,客户端尝试通过BR查找信息。类似地,如果EP检测到其优选RD不可用,则其查询BR以分配替代的优选RD。BR使用上述部分(如上所述的识别优选RD)中提到的过程分配替代RD。
●边界路由器或集中式RD故障:这将影响无法在本地处理查询的RD。如上所述(识别RD),RD始终具有网络中所有其他RD的列表,因此必须将查询转发到所有其他RD,以防本地无法处理。
在一种实现方式中,如图14所示,本发明公开了根据本发明实施例的一种在网络中的多个节点/设备中提供基于接近性的服务信息分布式缓存的网络。所述网络包括互相通信的至少一个服务端点设备(1402)、至少一个客户端设备(1404)、至少一个资源目录设备(1406)和至少一个边界路由器设备(1408)。
服务端点设备(1402)从所述多个设备中选择,用于向所述多个设备提供服务。资源目录设备(1406)从所述多个设备中选择,用于存储向所述多个设备提供服务的所述服务端点设备的信息。客户端设备(1404)从所述多个设备中选择,用于在所述网络中寻找(查找)服务。
服务端点设备(1402)基于低功耗有损网络IPv6路由协议(routing protocol forlow- power and lossy network,简称RPL)信令,向从所述资源目录设备(1406)中选择的至少一个优选资源目录设备注册由所述服务端点设备(1402)提供的服务信息。优选资源目录设备(1406)用于传输注册到存储所接收的所述信息的至少一个边界路由器设备 (1408)的所述信息。
当查找所提供的服务时,客户端设备(1404)基于低功耗有损网络IPv6路由协议(routing protocol for low-power and lossy network,简称RPL)信令向至少一个从所述资源目录设备中选择的优选资源目录设备传输查找请求。在接收到所述查找请求时,优选资源目录设备(1406)用于检查所述优选资源目录设备中是否存在查询的信息。如果所需信息存在,则所述优选资源目录设备用查询的信息进行响应。如果所需的信息不存在,则所述优选资源目录设备用于将所述查找请求传输到所述边界路由器设备 (1408),所述边界路由器设备向所述优选资源目录设备回复查询的信息以响应所述查找请求,所述信息最终传输到所述客户端设备。通过基于接近性的缓存机制将所述查询的信息缓存在所述优选资源目录设备中。
虽然通过将服务端点设备(1402)、客户端设备(1404)、资源目录设备(1406) 和边界路由器设备(1408)实现为通信网络上的节点来说明本发明,可以理解的是,服务端点设备(1402)、客户端设备(1404)、资源目录设备(1406)和边界路由器设备 (1408)也可以在各种计算系统中实现,例如笔记本电脑、台式电脑、笔记本、工作站、大型计算机、服务器和网络服务器等。服务端点设备(1402)、客户端设备 (1404)、资源目录设备(1406)和边界路由器设备(1408)的示例可包括但不限于任何传感器节点/设备,其可以包括便携式计算机、个人数字助理、手持设备、传感器节点和工作站。服务端点设备(1402)、客户端设备(1404)、资源目录设备(1406)和边界路由器设备(1408)通过网络(未示出)互相通信耦合。
在一种实现方式中,网络可以是无线网络、有线网络或其组合。网络可以实现为内联网、局域网(local area network,简称LAN)、广域网(wide area network,简称 WAN)和互联网等不同类型的网络之一。网络可以是专用网络或共享网络。共享网络表示使用超文本传输协议(Hypertext Transfer Protocol,简称HTTP)、传输控制协议/互联网协议(Transmission Control Protocol/Internet Protocol,简称TCP/IP)和无线应用协议(Wireless Application Protocol,简称WAP)等各种协议的不同类型的网络的关联关系,以便彼此通信。此外,网络可以包括各种网络设备,包括路由器、网桥、服务器、计算设备和存储设备等。
在一种实现方式中,在所述优选资源目录设备中当前不可获得/不存在从所述边界路由器设备接收的查询的信息。
在一种实现方式中,所述资源目录设备通过以下步骤选择:
●从所述多个设备中选择的至少一个设备向所述边界路由器设备传输至少一个数据存取对象(data access object,简称DAO)消息,其中:
●所述DAO消息包括至少一个指定所述设备是所述资源目录设备的标志;或
●所述DAO消息不包括至少一个指定所述设备不是所述资源目录设备的标志;
●由所述边界路由器设备接收传输的所述DAO消息,从而
●如果所述标志存在/启用,则由所述边界路由器设备识别所述设备是所述资源目录设备;
●(可选地)由所述边界路由器设备向所述识别的资源目录设备发送至少一个无回路有向图(directed acyclic graph,简称DAG)信息选项(DAG information option,简称DIO)消息。
在一种实现方式中,边界路由器设备用于维护所述资源目录设备的列表,其中,所述列表分发给所述网络中存在的所有所述资源目录设备。
在一种实现方式中,当新设备加入所述网络,如果所述新设备用于作为所述资源目录设备,则所述新设备查询存储在所述边界路由器设备中的所述列表;从而所述边界路由器设备用于将所述列表分发到所述网络中的所述新设备。
在一种实现方式中,通过使用服务发现机制来选择所述服务端点设备和所述客户端设备,所述服务发现机制:从所述多个设备检测所述服务端点设备,其中,所述服务端点设备用于向所述网络中的所述多个设备提供服务;从所述多个设备中检测所述客户端设备,其中,所述客户端设备用于从所述网络中检测到的所述服务端点设备寻找服务并利用所述服务。
在一种实现方式中,通过至少一个路由协议或任意网络传播通信,优选地通过低功耗有损网络IPv6路由协议(routing protocol for low-power and lossy network,简称 RPL),所述优选资源目录设备通过以下方式来选择:
●由所述服务端点设备或所述客户端设备向所述边界路由器设备传输至少一个数据存取对象(data access object,简称DAO)消息,其中:
●所述DAO消息如果由所述服务端点设备传输,则包括指定所述服务端点设备正在寻找最接近所述服务端点设备的所述优选资源目录设备的至少一个标志;和/ 或
●所述DAO消息如果由所述客户端设备传输,则包括指定所述客户端设备正在寻找最接近所述客户端设备的所述优选资源目录设备的至少一个标志;
●所述多个设备接收由所述服务端点设备或所述客户端设备传输的所述DAO消息;
●如果所述设备是所述注册的资源目录设备,则至少一个来自所述多个设备的设备通过向寻找优选资源目录设备的所述服务端点设备或所述客户端设备发送指示所述设备作为所述优选资源目录设备的至少一个消息进行响应。
在一种实现方式中,如果没有设备对由所述服务端点设备或所述客户端设备传输的所述DAO消息做出响应,则由所述边界路由器设备接收所述DAO消息,随后,所述边界路由器设备用于向寻找优选资源目录设备的所述服务端点设备或所述客户端设备分配所述优选资源目录设备,同时向所述服务端点设备或所述客户端设备发送指示所述设备作为所述优选资源目录设备的至少一个消息,其中,基于所述网络中最少使用的资源目录设备,或者基于通过所述网络中的路由度量识别的最近的资源目录设备来选择作为所述优选资源目录设备的所述设备。
在一种实现方式中,所述服务端点设备用于将与所述服务端点设备提供的服务相关联的服务信息传输到为所述服务端点设备识别的所述优选资源目录设备;所述优选资源目录设备用于缓存所接收的所述服务信息;随后,将所述服务信息传输到所述边界路由器设备,所述边界路由器设备用于注册所述服务信息。
在一种实现方式中,所述服务信息以服务条目信息的格式注册到所述优选资源目录设备中,其中,所述服务条目信息包括至少一个主机IP地址信息、至少一个主机端口号、从一个端点(名称或ID)(Ep)中选择的至少一个服务信息、资源类型(Rt)、接口(If)和端点类型(Et)、域(D)、寿命(Lt)、上下文/消息(Con)和查找计数等。
在一种实现方式中,所述资源目录设备/优选资源目录用于存储在所述网络中存在/可用的所有资源目录设备的列表,所述列表至少包括从主机IP地址、端口号和SE数中选择的资源目录设备信息。
在一种实现方式中,所述边界路由器设备用于以服务条目信息的格式注册所述服务信息,其中,所述服务条目信息包括至少一个主机IP地址信息、至少一个主机端口号、从一个端点(名称或ID)(Ep)中选择的至少一个服务信息、资源类型(Rt)、接口 (If)和端点类型(Et)、域(D)、寿命(Lt)、上下文/消息(Con)、查找计数、至少一个资源目录设备/优选资源目录设备信息或至少一个服务RSP信息。
在一种实现方式中,所述客户端设备用于查询或查找所述优选资源目录设备以寻找服务信息;所述优选资源目录设备用于:
●如果找到要查询的服务信息,则用找到的服务信息响应所述查询;或
●如果未找到要查询的服务信息,则向所述网络中的所述边界路由器设备传输所述查询或所述查找;
●接收新服务信息以响应来自所述边界路由器设备的所述查询或所述查找;从而
●如果从所述边界路由器设备接收到新服务信息,则用所述新服务信息响应所述查询。
在一种实现方式中,所述优选资源目录设备用于:
●维护与预先存储的服务信息相关联的多个查找计数器;
●当对预先存储的且与至少一个查找计数器相关联的服务信息进行查找时,增加从所述查找计数器中选择的所述至少一个查找计数器,并同时减少与预先存储的且未查找的服务信息相关联的其他计数器;
●基于所述基于接近性的机制缓存接收的所述新服务信息,如果没有可用的空间则通过清空所述优选资源目录设备中的预先分配的服务信息同时为所述新服务信息的存储创建空间,其中,基于所述计数器将所述预先分配的服务信息清空,即清空具有最少计数器的服务信息并替换为所述新服务信息。
在一种实现方式中,所述服务信息保留在所述优选资源目录设备和所述边界路由器设备中。
在一种实现方式中,所述多个设备选自传感器节点、路由器、网关、边界路由器/网关、服务器和执行器等。
在一种实现方式中,所述客户端设备是所述网络中的至少一个设备或节点,寻找由所述服务端点设备或节点在所述网络上提供的服务。
在一种实现方式中,所述服务端点设备和所述客户端设备包括所述网络中的类似优选资源目录设备或不同的优选资源目录设备。
图15示出了根据本发明实施例的一种在网络中基于接近性的服务信息分布式缓存的方法,其中,多个设备彼此互连以形成所述网络。可以在计算机可执行指令的一般上下文中描述该方法。一般来讲,所述计算机可执行指令可包括例程、程序、对象、组件、数据结构、过程、模块和功能等,可执行特定功能或者实现特定抽象数据类型。所述方法也可在分布式计算环境中实现,其中的功能由通过通信网络连接的远程处理设备执行。在分布式计算环境中,所述计算机可执行指令可以位于包括存储器存储设备的本地和远程计算机存储介质中。
描述所述方法的顺序并不旨在理解为限制,并且任意数目的所描述的方法框都可以按任何顺序组合来实现所述方法或另一种方法。另外,独立框可不脱离本发明的保护范围从所述方法中删除。此外,本方法可以由任何合适的硬件、软件、固件或其组合实现。但为方便说明,下述实施例中,所述方法可视作是在以上描述的通信网络中实现的。
在框1502中,通过从所述多个设备中选择至少一个资源目录设备(1406)来识别同一设备。资源目录设备(1406)用于托管至少一个其他设备的服务信息。
在框1504中,通过从所述多个设备中选择来识别至少一个服务端点设备(1402)和至少一个客户端设备(1404)。
在框1506中,向所述服务端点设备和/或客户端设备分配至少一个优选资源目录设备,其中,从所述识别的资源目录设备(1406)中选择所述优选资源目录设备。
在框1508中,在所述优选资源目录设备上注册所述服务端点设备(1402)提供的与其关联的至少一个服务信息。
在框1510中,所述服务信息由所述优选资源目录设备在所述网络中分发,其中,所述服务信息被分发到至少一个边界路由器设备(1408)和/或所述资源目录设备(1406) 中。
在框1512中,基于所述客户端设备的至少一个查找模式1510并通过基于接近性的机制在所述优选资源目录设备上分发所接收的所述服务信息和至少一个新服务信息。本领域技术人员可以理解,查找模式是来自客户端的查找请求或服务查找,其中,所述客户端从资源目录或网络中托管服务的任何其他设备中寻找/请求服务信息。
在一种实现方式中,所述服务信息是与由所述网络上的所述服务端点设备提供的服务相关联的信息。
在一种实现方式中,所述识别来自所述多个设备的资源目录设备包括:通过任意一种路由协议或任意网络传播通信,优选地通过低功耗有损网络IPv6路由协议(routingprotocol for low-power and lossy network,简称RPL),通过以下方式来识别:
●从所述多个设备中选择的至少一个设备向所述边界路由器设备传输至少一个数据存取对象(data access object,简称DAO)消息,其中:
●所述DAO消息包括至少一个指定所述设备是所述资源目录设备的标志;或
●所述DAO消息不包括至少一个指定所述设备不是所述资源目录设备的标志;
●由所述边界路由器设备接收传输的所述DAO消息,从而
●如果所述标志存在/启用,则由所述边界路由器设备识别所述设备是所述资源目录设备;
●(可选地)由所述边界路由器设备向所述识别的资源目录设备发送至少一个无回路有向图(directed acyclic graph,简称DAG)信息选项(DAG information option,简称DIO)消息。
在一种实现方式中,所述方法包括在所述边界路由器设备中维护存在于所述网络中的所述资源目录设备的列表;所述边界路由器设备向所述网络中存在的所有资源目录设备分发注册的所述资源目录设备的列表。
在一种实现方式中,当新设备加入所述网络,如果所述新设备用于作为所述资源目录设备,则所述方法包括:查询在所述边界路由器设备中注册的所述资源目录设备的所述列表;从而将所述边界路由器设备中存储的所述列表分发到所述网络中的所述新设备。
在一种实现方式中,识别所述服务端点设备和所述客户端设备包括:
●通过使用服务发现机制从所述多个设备检测所述服务端点设备,其中,所述服务端点设备用于向所述网络中的所述多个设备提供服务;
●通过使用服务发现机制从所述多个设备检测所述客户端设备,其中,所述客户端设备用于从所述网络中检测到的所述服务端点设备中寻找服务并利用所述服务;
●所述服务端点设备和所述客户端设备包括所述网络中的类似优选资源目录设备或不同的优选资源目录设备。
在一种实现方式中,所述分配所述优选资源目录设备包括:通过任意一种路由协议或任意网络传播通信,优选地通过低功耗有损网络IPv6路由协议(routing protocolfor low-power and lossy network,简称RPL),通过以下方式来分配:
●由所述服务端点设备或所述客户端设备向所述边界路由器设备传输至少一个数据存取对象(data access object,简称DAO)消息,其中:
●所述DAO消息如果由所述服务端点设备传输,则包括指定所述服务端点设备正在寻找最接近所述服务端点设备的所述优选资源目录设备的至少一个标志;和/ 或
●所述DAO消息如果由所述客户端设备传输,则包括指定所述客户端设备正在寻找最接近所述客户端设备的所述优选资源目录设备的至少一个标志;
●所述多个设备接收由所述服务端点设备或所述客户端设备传输的所述DAO消息;
●如果所述设备是所述注册的资源目录设备,则至少一个来自所述多个设备的设备通过向寻找优选资源目录设备的所述服务端点设备或所述客户端设备发送指示所述设备作为所述优选资源目录设备的至少一个消息进行响应。
在一种实现方式中,如果没有设备响应所述服务端点设备或所述客户端设备传输的所述DAO消息,则由所述边界路由器设备接收所述DAO消息,随后,所述边界路由器设备用于:将所述优选资源目录设备分配给寻找优选资源目录设备的所述服务端点设备或所述客户端设备,同时将指示所述设备作为所述优选资源目录设备的至少一个消息发送到所述服务端点设备或所述客户端设备,其中,基于所述网络中最少使用的资源目录设备,或者基于通过所述网络中的路由度量识别的最近的资源目录设备来选择作为所述优选资源目录设备的所述设备。
在一种实现方式中,所述注册由所述服务端点设备提供的服务信息包括:
●所述服务端点设备将与所述服务端点设备提供的服务相关联的服务信息传输到为所述服务端点设备识别的所述优选资源目录设备;
●在所述优选资源目录设备中缓存所接收的所述服务信息;随后,将所述服务信息传输到所述边界路由器设备;从而
●在所述边界路由器设备中存储所述服务信息。
在一种实现方式中,该方法包括:
●所述客户端设备查询或查找所述优选资源目录设备来寻找服务信息;
●如果找到查询的服务信息,则所述优选资源目录设备用找到的服务信息响应所述查询;
●如果未找到要查询的服务信息,则所述优选资源目录设备向所述网络中的所述边界路由器设备传输所述查询或所述查找;
●所述优选资源目录设备接收新服务信息以响应来自所述边界路由器设备的所述查询或所述查找;从而
●如果从所述边界路由器设备接收到新服务信息,所述优选资源目录设备用所述新服务信息对所述查询进行响应。
在一种实现方式中,基于所述客户端设备的至少一个查找模式/查询,并通过基于接近性的机制,在所述优选资源目录设备上缓存接收的所述服务信息和所述新服务信息包括:
●所述优选资源目录设备从所述边界路由器设备接收所述新服务信息以响应所述查询或所述查找,其中,从所述边界路由器设备接收的所述新服务信息是首次为所述优选资源目录设备接收的;
●基于所述基于接近性的机制缓存接收的所述新服务信息,如果没有可用的空间则通过清空所述优选资源目录设备中的预先分配的服务信息同时为所述新服务信息的存储创建空间。
在一种实现方式中,在所述优选资源目录设备中清空所述预先分配的服务信息包括:
●在所述优选资源目录设备中维护与预先存储的服务信息相关联的多个查找计数器;
●当对预先存储的且与至少一个查找计数器相关联的服务信息进行查找时,增加从所述查找计数器中选择的所述至少一个查找计数器,并同时减少与预先存储的且未查找的服务信息相关联的其他计数器;
●基于所述基于接近性的机制缓存接收的所述新服务信息,如果没有可用的空间则通过清空所述优选资源目录设备中的预先分配的服务信息同时为所述新服务信息的存储创建空间,其中,基于所述计数器将所述预先分配的服务信息清空,即清空具有最少计数器的服务信息并替换为所述新服务信息。
在一种实现方式中,在新RD要添加到网络中或从网络中移除的情况下,本发明自动地处理对网络的任何新RD的添加或现有RD的删除。在以上说明的RD添加/删除机制中没有变化。
在一种实现方式中,本发明提供了一种在网络中分布式缓存服务信息的方法,其中,多个设备彼此互连形成所述网络。所述方法包括:
●识别(1502)托管至少一个其他设备的服务信息的所述网络中的至少一个资源目录设备(1406);
●识别(1504)从所述网络中所述多个设备中选择的至少一个服务端点设备(1402)和至少一个客户端设备(1404);
●向所述服务端点设备(1402)和/或客户端设备(1404)分配(1506)至少一个优选资源目录设备,其中,从所述识别的资源目录设备(1406)中选择所述优选资源目录设备;
●在所述优选资源目录设备上注册(1508)所述服务端点设备(1402)提供的至少一个服务信息;
●所述优选资源目录设备备份注册在所述网络中的至少一个边界路由器设备(1408)上的所述服务信息;
●使用所述客户端设备查询至少一个查找请求(1510),所述优选资源目录设备寻找至少一个响应,其中,
●如果对所述查找请求的所述响应没有被所述优选资源目录设备响应,则所述响应由所述优选资源目录设备从所述边界路由器设备(1408)获取并用于响应所述客户端设备(1404);
●所述优选资源目录设备缓存(1512)注册的所述服务信息和从所述边界路由器设备(1408)获取的所述响应,其中,所述响应是在所述边界路由器设备 (1408)上预先注册的至少一个新服务信息。
图16示出了根据本发明实施例的托管服务信息的设备(1408),用于将服务信息分发到网络中的至少一个其他设备。在一种实现方式中,本发明提供一种托管服务信息的设备(1408),用于将服务信息分发到网络中的至少一个其他设备(1406)。所述设备 (1408)包括处理器(1602)和存储器(1606),其耦合到所述处理器(1602),所述处理器用于执行所述存储器(1606)中存在的多个模块。所述多个模块包括存储模块 (1608)、接收模块(1610)、分发模块(1612)和传输模块(1614)。
所述存储模块可用于托管所述服务信息,并存储所述网络中可用的其他设备的列表。所述接收模块可用于从其他设备接收至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述存储模块中的所述其他设备所需的服务信息,以及新服务信息和与加入网络的新设备相关联的IP地址,其中,所述新设备不在所述其他设备的列表中。所述分发模块可用于响应所述服务请求,将托管的所述服务信息分发到所述网络中的其他设备,将所述新设备的IP地址分发给所述网络中的其他设备,从而在存储模块中,将接收的所述新服务信息和与所述新设备相关联的IP地址存储到所述列表中。所述传输模块可用于基于所述其他设备的所述服务请求传输所述预先存储的服务信息或者接收的所述新服务信息。
图17示出了根据本发明实施例的托管服务信息的设备(1406),用于对从网络中的至少一个其他设备(1408)接收的服务信息进行缓存。在一种实现方式中,公开了一种托管服务信息的设备(1406),用于对从网络中的至少一个其他设备(1408)接收的服务信息进行缓存。所述设备(1406)包括处理器(1702)和存储器(1706),其耦合到所述处理器(1702),所述处理器用于执行所述存储器(1706)中存在的多个模块。所述多个模块包括存储模块(1708)、接收模块(1710)、缓存模块(1712)和传输模块 (1714)。
所述存储模块可用于托管预先存储的服务信息。所述接收模块可用于接收来自至少一个客户端设备的至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述存储模块中的所述客户端设备所需的服务信息;如果在存储模块中不存在所述客户端设备所需的服务信息,则接收来自其他设备的至少一个新服务信息。所述缓存模块可用于通过缓存机制缓存从所述其他设备接收的新服务信息,其中,所述缓存机制确认接收的所述新服务信息是否未预先存储在所述存储模块中;如果所述存储模块中没有用于存储接收的所述新服务信息的空间,则基于至少一个计数器移出预先存储在所述存储模块中的至少一个服务信息;在所述存储模块中存储接收的所述新服务信息。所述传输模块可用于基于所述客户端设备的所述服务请求传输所述预先存储的服务信息或所述新服务信息。
虽然通过将本发明实现为设备(1408、1406、1402和1404)来说明本发明,但可以理解的是,设备(1408、1406、1402和1404)也可以在各种计算系统中实现,例如笔记本电脑、台式电脑、笔记本、工作站、大型计算机、服务器和网络服务器等。应当理解,设备(1408、1406、1402和1404)可以由多个用户通过一个或多个用户设备(未示出)或驻留在那些设备(未示出)中的应用访问。设备(1408、1406、1402和1404)的示例可包括但不限于便携式计算机和个人数字助理,可以通过网络(未示出)通信耦合到其他设备。
在一种实现方式中,设备(1408、1406、1402和1404)可以包括至少一个处理器、接口(1604和1704)和存储器。所述至少一个处理器可以实现为一个或多个微处理器、微型机、微控制器、数字信号处理器、中央处理器、状态机、逻辑电路和/或任意基于操作指令处理信号的设备。在其他能力中,所述至少一个处理器用于获取和执行所述存储器中存储的计算机可读指令。
所述接口可包括多种软件和硬件接口,例如,web接口和图形用户接口等。接口可允许设备(1408、1406、1402和1404)直接或通过客户端设备与用户交互。此外,接口可使得设备(1408、1406、1402和1404)能够与web服务器和外部数据服务器(未示出)等其他计算设备通信。所述接口能够在各种网络和协议类型中促进多种通信,如LAN或线缆等有线网络和WLAN、蜂窝或卫星等无线网络。所述接口可包括一个或多个端口,用于使多个设备相互连接或连接至其他服务器。
所述存储器可包括本领域已知的任意计算机可读介质,例如,包括易失性存储器,如静态随机存取存储器(static random access memory,简称SRAM)和动态随机存取存储器(dynamic random access memory,简称DRAM),和/或非易失性存储器,如只读存储器(read-only memory,简称ROM)、可擦除可编程ROM、闪存、硬盘、光盘和磁带。所述存储器可包括多个模块。所述模块包括例程、程序、对象、组件和数据结构等,可执行特定任务或者实现特定抽象数据类型。在一种实现方式中,模块可以包括接收模块、用户交互分析器模块、用户模板匹配器模块和推荐模块。其他模块可以包括用于增补设备(1408、1406、1402和1404)的应用和功能的程序或编码指令。
在一种实现方式中,本发明提供一种用于分发和缓存网络中服务信息的网络,所述网络包括从彼此互连的第一设备(1408)、第二设备(1402)、第三设备(1406)和第四设备(1404)中选择的多个设备。所述网络包括:至少一个第一设备,用于托管与所述第二设备、所述第三设备和所述第四设备相关联的服务信息,其中,所述第二设备用于在所述网络中提供服务,并将提供的这些服务注册到所述第三设备,所述第四设备用于向所述第三设备请求至少一个服务。所述第一设备用于接收来自所述第三设备的至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述第一设备中的所述第四设备所需的服务信息;存储所述网络中可用的所述第二设备、第三设备和第四设备的列表;接收新服务信息和与加入网络的新设备相关联的IP地址,其中,所述新设备不在所述列表中;将所述新设备的所述IP地址分发给所述第三设备;将所述新设备的所述IP地址分发给所述第三设备;将接收的所述新服务信息和与所述新设备相关联的IP地址存储到所述列表中;基于来自所述第三设备的所述服务请求传输所述预先存储的服务信息或接收的所述新服务信息。所述第三设备用于基于来自所述第三设备的所述服务请求接收来自所述第一设备的所述预先存储的服务信息或所述新服务信息;通过缓存机制缓存从所述第一设备接收的新服务信息,其中,所述缓存机制确认从所述第一设备接收的所述新服务信息是否未预先存储在所述第三设备中;如果所述第三设备中没有用于存储接收的所述新服务信息的空间,则基于至少一个计数器移出预先存储在所述第三设备中的至少一个服务信息;在所述第三设备中存储接收的所述新服务信息;从而基于来自所述第四设备的所述服务请求传输所述第三设备中存储的所述新服务信息或所述预先存储的服务信息。
图18示出了根据本发明实施例的在网络中分发和缓存服务信息的方法,其中,所述网络包括从彼此互连的第一设备、第二设备、第三设备和第四设备中选择的多个设备。在一种实现方式中,本发明提供一种在网络中分发和缓存服务信息的方法,所述网络包括从彼此互连的第一设备、第二设备、第三设备和第四设备中选择的多个设备,其中,至少一个第一设备,用于托管与所述第二设备、所述第三设备和所述第四设备相关联的服务信息,其中,所述第二设备用于在所述网络中提供服务,并将提供的这些服务注册到所述第三设备,所述第四设备用于向所述第三设备请求至少一个服务。
在步骤1802中,所述第一设备接收来自所述第三设备的至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述第一设备中的所述第四设备所需的服务信息。
在步骤1804中,所述第一设备存储所述网络中可用的所述第二设备、第三设备和第四设备的列表。
在步骤1806中,第一设备接收新服务信息和与加入网络的新设备相关联的IP地址,其中,所述新设备不在所述列表中。
在步骤1808中,所述第一设备将所述新设备的所述IP地址分发给所述第三设备。
在步骤1810中,所述第一设备将接收的所述新服务信息和与所述新设备相关联的IP 地址存储到所述列表中。
在步骤1812中,所述第一设备基于来自所述第三设备的所述服务请求传输所述预先存储的服务信息或接收的所述新服务信息。
在步骤1814中,所述第三设备基于来自所述第三设备的所述服务请求接收来自所述第一设备的所述预先存储的服务信息或所述新服务信息。
在步骤1816中,所述第三设备通过缓存机制缓存从所述第一设备接收的新服务信息,其中,在步骤1818中,所述缓存机制确认从所述第一设备接收的所述新服务信息是否未预先存储在所述第三设备中;在步骤1820中,如果所述第三设备中没有用于存储接收的所述新服务信息的空间,则基于至少一个计数器移出预先存储在所述第三设备中的至少一个服务信息。
在步骤1822中,所述第三设备基于来自所述第四设备的所述服务请求存储所述第三设备中存储的所述新服务信息或所述预先存储的服务信息。
在步骤1824中,所述第三设备基于来自所述第四设备(1404)的所述服务请求传输所述第三设备(1406)中存储的所述新服务信息或所述预先存储的服务信息。
图19示出了根据本发明实施例的托管服务信息的设备执行的用于将服务信息分发到网络中的至少一个其他设备的方法。在一种实现方式中,本发明提供一种托管服务信息的设备执行的用于将服务信息分发到网络中的至少一个其他设备的方法。
在步骤1902中,设备1408托管服务信息。
在步骤1904中,存储所述网络中可用的所述其他设备(1406)的列表。
在步骤1906中,接收来自所述其他设备(1406)的至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述存储模块中的所述其他设备(1406)所需的服务信息。
在步骤1908中,接收新服务信息和与加入网络的新设备相关联的IP地址,其中,所述新设备不在所述其他设备的列表中。
在步骤1910中,将托管的所述服务信息分发到所述网络中的其他设备(1406)以响应所述服务请求。
在步骤1912中,将接收的所述新服务信息和所述新设备的IP地址分发给所述网络中的其他设备(1406)。
在步骤1914中,将接收的所述新服务信息和与所述新设备相关联的IP地址存储到所述列表中。
在步骤1916中,基于来自所述其他设备(1406)的所述服务请求传输所述预先存储的服务信息或接收的所述新服务信息。
图20示出了根据本发明实施例的托管服务信息的设备执行的用于对从网络中的至少一个其他设备接收的服务信息进行缓存的方法。在一种实现方式中,本发明提供一种托管服务信息的设备执行的用于对从网络中的至少一个其他设备接收的服务信息进行缓存的方法。
在步骤2002中,托管服务信息。
在步骤2004中,接收来自至少一个客户端设备的至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述存储模块中的所述客户端设备所需的服务信息;如果在存储模块中不存在所述客户端设备所需的服务信息,则接收来自其他设备的至少一个新服务信息。
在步骤2006中,通过缓存机制缓存从所述其他设备接收的新服务信息,其中,在步骤2008中,在所述缓存机制中,所述设备确认接收的所述新服务信息未预先存储;在步骤2012中,如果所述存储模块中没有用于存储接收的所述新服务信息的空间,则所述设备基于至少一个计数器移出预先存储的至少一个服务信息。
在步骤2014中,将接收的所述新服务信息存储在所述设备中。
在步骤2016中,基于来自所述客户端设备的所述服务请求传输所述预先存储的服务信息或所述新服务信息。
在一种实现方式中,本领域技术人员可以理解,由SEP共享信息的优选资源目录或由客户端做出查找请求的优选资源目录可以是相同的,即由SEP和客户端共享或者可以是不同的,即分布在网络中。
在一种实现方式中,可以理解的是,集中式RD可以位于BR中或WSN的其它任何位置或其外部。
在一种实现方式中,本领域技术人员可以理解,尽管可以使用基于核心RD的服务发现来说明本发明,但是本发明同样可适用于任何其他服务发现协议,例如DNS-SD或 m-DNS/DNS-SD。
在一种实现方式中,本领域技术人员可以理解,尽管可以使用RPL作为路由协议来说明本发明,但是现有技术中可用的任何其他路由协议,例如但不限于任意网络传播通信也可以在本发明中使用。
在一种实现方式中,本领域技术人员可以理解,为了识别优选RD,端点或客户端可以使用一些其他启发式方法,例如跳数或任何其他度量来识别要使用的最近或最佳RD,或任何现有的技术。
在一种实现方式中,本领域技术人员可以理解,可以使用任何传播寻址方案来代替基于路由协议的信令,以将服务发现信令与路由信令隔离开。或者,可以使用任何传播寻址来识别网络中的RD、端点和客户端。
在一种实现方式中,本领域技术人员可以理解,如果多播或其他通信的成本不高,端点或客户端识别优选RD等通信的一部分可以基于多播通信或基于本领域中可用的任何其他通信。
在一种实现方式中,本领域技术人员可以理解,本发明可以实现为具有能在 WSN/LLN中进行服务信息分发的集成集中式RD的边界路由器或网关。
在一种实现方式中,本领域技术人员可以理解,本发明可以实现为具有内置RD功能的IoT节点。
在一种实现方式中,由于本发明可以在无线传感器网络中实现,本发明也可以用于提供以下服务:
1.家庭自动化
2.建筑自动化
3.工业自动化
4.智能城市
5.街道照明
6.智能农业
在一种实现方式中,本发明可以在自动化场景中实现。在自动化场景下,与边界路由器或网关的连接是瞬时的或不会一直保证该连接,该思想允许以优化的方式实现服务发现操作的方式。
示例产品场景是“Google Nest”:Google提供了一种名为Google Nest的家庭自动化解决方案,该解决方案与边界路由器或网关协同工作。它还假定边界路由器或网关可能并非一直正常运行,在这种情况下,服务应该仍然无缝地运行。在这种场景中,本发明将是有价值的,其中,连接是瞬时的,且不能完全依赖任何单个节点。
与现有技术相比,本发明的有益效果和优点如下:
表4:本发明与现有技术的比较
特征 | C-DS | D-LESS | D-DS | 本发明 |
通信模式 | 单播 | 多播 | 多播 | 单播 |
SPOF | 是 | 否 | 否 | 否 |
查找时延 | ~600毫秒 | ~6500毫秒 | ~4500毫秒 | ~300毫秒 |
休眠节点处理 | 是 | 否 | 否 | 是 |
功耗 | 低 | 极高 | 高 | 极低 |
除了上述内容之外,本发明还包括以下提及的优点:
1.本发明避免了单点故障。
2.与任何其他现有方案相比,本发明能够实现时延的减少。
3.由于服务发现流量分布在网络中,本发明降低了整个网络的功耗。
4.本发明减少了上行网络的流量拥塞。服务发现流量分布在网络中。
5.本发明避免了多播通信,从而提高注册/查找性能。
6.本发明能够有效地利用内存等可用资源。
7.本发明处理RD上不均匀的内存可用性。优选RD是基于包括内存在内的因素决定的。
本领域普通技术人员能够认识到,结合本说明书所公开的实施例中所描述的示例,可通过电子硬件或计算机软件与电子硬件的组合来实施单元和算法步骤。功能是由硬件还是由软件执行取决于技术方案的特定应用和设计约束条件。本领域技术人员可使用不同方法实现每个特定应用的所描述功能,但是不应认为该实现超出本发明的范围。
本领域技术人员可清楚地理解,出于方便和简单描述的目的,对于前述系统、装置和单元的详细工作过程,可参考前述方法实施例中的对应过程,本文中不再描述细节。
在本应用中提供若干实施例中,应理解,所公开的系统、装置和方法可通过其它方式实现。例如,所描述的装置实施例仅仅是示例性的。例如,单元划分仅仅是逻辑功能划分且在实际实现中可以是其它划分。例如,可将多个单元或部件合并或集成到另一系统中,或可忽略或不执行部分特征。另外,可通过一些接口实现所显示或论述的互相耦合或直接耦合或通信连接。装置或单元之间的直接耦合或通信连接可通过电子、机械或其它形式实现。
当这些功能以软件功能单元的形式实现以及作为单独产品销售或使用时它们可存储在计算机可读存储介质中。基于这种理解本发明的技术方案基本上或构成现有技术的部分或技术方案的部分可通过软件产品的形式实现。计算机软件产品存储在存储介质中并包括若干指令,用于指示计算机设备(其可为个人计算机、服务器或网络设备)执行本发明实施例中所描述的方法的所有或部分步骤。上述存储介质包括:可以存储程序代码的任何媒体,例如USB盘、可移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁盘或光学光盘。
尽管已经以针对结构特征和/或方法的语言描述了在网络中基于接近性的服务信息分布式缓存的通信网络、设备和方法的实现方式,但应当理解,所附权利要求不必限于所描述的特定的特征或方法。相反,所公开特定特征和方法是在网络中基于接近性的服务信息分布式缓存的通信网络和方法的示例性实现方式。
Claims (19)
1.一种托管服务信息的设备(1408),用于将服务信息分发到网络中的至少一个其他设备(1406),其特征在于,所述设备(1408)包括:
处理器(1602);
存储器(1606),其耦合到所述处理器(1602),用于执行所述存储器(1606)中的多个模块,其中,所述多个模块包括:
存储模块(1608),用于托管所述服务信息,并存储所述网络中可用的所述其他设备(1406)的列表;
接收模块(1610),用于接收:
来自所述其他设备(1406)的至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述存储模块中的所述其他设备(1406)所需的服务信息;
新服务信息和与加入所述网络的新设备相关联的IP地址,其中,所述新设备不在所述其他设备的列表中;
分发模块(1612),用于:响应所述服务请求,将托管的所述服务信息分发到所述网络中的其他设备(1406);将所述新设备的IP地址分发给所述网络中的其他设备(1406);从而将接收的所述新服务信息和与所述新设备相关联的IP地址存储到所述列表中;
传输模块(1614),用于基于所述其他设备(1406)的所述服务请求传输所述预先存储的服务信息或者接收的所述新服务信息。
2.根据权利要求1所述的设备(1408),其特征在于,所述接收模块接收所述服务请求、所述新服务信息和所述IP地址,所述传输模块通过至少一个路由协议或任意网络传播通信信令传输所述服务信息。
3.根据权利要求1所述的设备(1408),其特征在于,所述服务信息以服务条目信息的形式存储在所述存储模块中,其中,所述服务条目信息包括至少一个主机IP地址信息、至少一个主机端口号、从一个端点中选择的至少一个服务信息、资源类型、接口、端点类型、域、寿命、上下文、查找计数或者至少一个资源目录设备信息。
4.根据权利要求1所述的设备(1408),其特征在于,所述设备(1408)为传感器节点、路由器、网关、或服务器。
5.根据权利要求1所述的设备(1408),其特征在于,所述网络中可用的其他设备(1406)的所述列表通过至少一个路由协议或任意网络传播通信信令获得,其中:
所述其他设备(1406)用于向所述网络中可用的其他设备(1406)传输至少一个数据存取对象DAO消息,其中,所述DAO消息包括至少一个标志,且若该标志存在,则将所述其他设备(1406)包含在所述列表中,从而将至少一个无回路有向图信息选项DIO消息传输到所述其他设备(1406)。
6.根据权利要求1所述的设备(1408),其特征在于,所述列表以表格的形式存储,包括从主机IP地址和端口号。
7.一种托管服务信息的设备(1406),用于对从网络中的至少一个其他设备(1408)接收的服务信息进行缓存,其特征在于,所述设备包括:
处理器(1702);
存储器(1706),其耦合到所述处理器,处理器用于执行所述存储器(1706)中存在的多个模块,其中,所述多个模块包括:
存储模块(1708),用于托管预先存储的服务信息;
接收模块(1710),用于:
接收来自至少一个客户端设备(1404)的至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述存储模块中的所述客户端设备(1404)所需的服务信息;
如果在存储模块中不存在所述客户端设备(1404)所需的服务信息,则接收来自其他设备(1408)的至少一个新服务信息;
缓存模块(1712),用于通过缓存机制缓存从所述其他设备(1408)接收的新服务信息,其中,所述缓存机制包括:
确认接收的所述新服务信息未预先存储在所述存储模块中;
如果所述存储模块中没有用于存储接收的所述新服务信息的空间,则基于至少一个计数器移出预先存储在所述存储模块中的至少一个服务信息;
在所述存储模块中存储接收的所述新服务信息;
传输模块(1714),用于基于所述客户端设备(1404)的所述服务请求传输所述预先存储的服务信息或所述新服务信息。
8.根据权利要求7所述的设备(1406),其特征在于,所述接收模块接收所述服务请求、所述新服务信息和IP地址,所述传输模块通过至少一个路由协议或任意网络传播通信信令传输所述服务信息。
9.根据权利要求7所述的设备(1406),其特征在于,所述设备(1406)为传感器节点、路由器、网关或服务器。
10.根据权利要求7所述的设备(1406),其特征在于,所述服务信息以服务条目信息的形式存储在所述存储模块中,其中,所述服务条目信息包括至少一个主机IP地址信息、至少一个主机端口号、从一个端点中选择的至少一个服务信息、资源类型、接口、端点类型、域、寿命、上下文和查找计数。
11.一种用于分发和缓存网络中服务信息的网络,其特征在于,所述网络包括从彼此互连的第一设备(1408)、第二设备(1402)、第三设备(1406)和第四设备(1404)中选择的多个设备,其中,所述网络包括:
至少一个第一设备(1408),用于托管与所述第二设备(1402)、所述第三设备(1406)和所述第四设备(1404)相关联的服务信息,其中,所述第二设备(1402)用于在所述网络中提供服务,并将提供的这些服务注册到所述第三设备(1406),所述第四设备(1404)用于向所述第三设备(1406)请求至少一个服务;
所述第一设备(1408)用于:
接收来自所述第三设备(1406)的至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述第一设备中的所述第四设备所需的服务信息;
存储所述网络中可用的所述第二设备(1402)、第三设备(1406)和第四设备(1404)的列表;
接收新服务信息和与加入网络的新设备相关联的IP地址,其中,所述新设备不在所述列表中;
将所述新设备的所述IP地址分发给所述第三设备(1406);
将接收的所述新服务信息和与所述新设备相关联的IP地址存储到所述列表中;
基于来自所述第三设备(1406)的所述服务请求传输所述预先存储的服务信息或接收的所述新服务信息;
所述第三设备(1406)用于:
基于来自所述第三设备(1406)的所述服务请求接收来自所述第一设备(1408)的所述预先存储的服务信息或所述新服务信息;
通过缓存机制缓存从所述第一设备(1408)接收的新服务信息,其中,所述缓存机制:
确认从所述第一设备(1408)接收的所述新服务信息是否未预先存储在所述第三设备(1406)中;
如果所述第三设备中没有用于存储接收的所述新服务信息的空间,则基于至少一个计数器移出预先存储在所述第三设备(1406)中的至少一个服务信息;
在所述第三设备(1406)中存储接收的所述新服务信息;
基于来自所述第四设备(1404)的所述服务请求传输所述第三设备(1406)中存储的所述新服务信息或所述预先存储的服务信息。
12.一种在网络中分发和缓存服务信息的方法,其特征在于,所述网络包括从彼此互连的第一设备(1408)、第二设备(1402)、第三设备(1406)和第四设备(1404)中选择的多个设备,其中,至少一个第一设备(1408),用于托管与所述第二设备(1402)、所述第三设备(1406)和所述第四设备(1404)相关联的服务信息,其中,所述第二设备(1402)用于在所述网络中提供服务,并将提供的这些服务注册到所述第三设备(1406),所述第四设备(1404)用于向所述第三设备(1406)请求至少一个服务,其中,所述方法包括:
所述第一设备(1408)接收(1802)来自所述第三设备(1406)的至少一个服务请求,其中,所述服务请求用于寻找预先存储在所述第一设备中的所述第四设备所需的服务信息;
所述第一设备(1408)存储(1804)所述网络中可用的所述第二设备(1402)、第三设备(1406)和第四设备(1404)的列表;
所述第一设备(1408)接收(1806)新服务信息和与加入网络的新设备相关联的IP地址,其中,所述新设备不在所述列表中;
所述第一设备(1408)将所述新设备的所述IP地址分发(1808)给所述第三设备(1406);
所述第一设备(1408)将接收的所述新服务信息和与所述新设备相关联的IP地址存储(1810)到所述列表中;
所述第一设备(1408)基于来自所述第三设备(1406)的所述服务请求传输(1812)所述预先存储的服务信息或接收的所述新服务信息;
所述第三设备(1406)基于来自所述第三设备(1406)的所述服务请求接收(1814)来自所述第一设备(1408)的所述预先存储的服务信息或所述新服务信息;
所述第三设备(1406)通过缓存机制缓存(1816)从所述第一设备(1408)接收的新服务信息,其中,所述缓存机制:
确认(1818)从所述第一设备(1408)接收的所述新服务信息是否未预先存储在所述第三设备(1406)中;
如果所述第三设备中没有用于存储接收的所述新服务信息的空间,则基于至少一个计数器移出(1820)预先存储在所述第三设备(1406)中的至少一个服务信息;
在所述第三设备(1406)中存储(1822)接收的所述新服务信息;
所述第三设备(1406)基于来自所述第四设备(1404)的所述服务请求传输(1824)所述第三设备(1406)中存储的所述新服务信息或所述预先存储的服务信息。
13.一种托管服务信息的设备(1408)执行的用于将服务信息分发到网络中的至少一个其他设备(1406)的方法,其特征在于,所述方法包括:
托管(1902)所述服务信息;
存储(1904)所述网络中可用的所述其他设备(1406)的列表;
接收(1906)来自所述其他设备(1406)的至少一个服务请求,其中,所述服务请求用于寻找预先存储的所述其他设备(1406)所需的服务信息;
接收(1908)新服务信息和与加入网络的新设备相关联的IP地址,其中,所述新设备不在所述其他设备的列表中;
响应所述服务请求,将托管的所述服务信息分发(1910)到所述网络中的其他设备(1406);
将接收的所述新服务信息和所述新设备的IP地址分发(1912)给所述网络中的其他设备(1406);从而
将接收的所述新服务信息和与所述新设备相关联的IP地址存储(1914)到所述列表中;
基于来自所述其他设备(1406)的所述服务请求传输(1916)所述预先存储的服务信息或接收的所述新服务信息。
14.根据权利要求13所述的方法,其特征在于,包括:接收所述服务请求、所述新服务信息和所述IP地址,以及通过至少一个路由协议或任意网络传播通信信令传输所述服务信息。
15.根据权利要求13所述的方法,其特征在于,所述服务信息以服务条目信息的形式存储,其中,所述服务条目信息包括至少一个主机IP地址信息、至少一个主机端口号、从一个端点中选择的至少一个服务信息、资源类型、接口、端点类型、域、寿命、上下文、查找计数或至少一个资源目录设备。
16.根据权利要求13所述的方法,其特征在于,所述网络中可用的其他设备(1406)的所述列表通过至少一个路由协议或任意网络传播通信信令采用以下步骤获得:
所述其他设备(1406)向所述网络中可用的其他设备(1406)传输至少一个数据存取对象DAO消息,其中,所述DAO消息包括至少一个标志;
若该标志存在,则将所述其他设备(1406)包含在所述列表中;
设备(1408)将至少一个无回路有向图信息选项DIO消息传输到所述其他设备(1406)。
17.一种托管服务信息的设备(1406)执行的用于对从网络中的至少一个其他设备(1408)接收的服务信息进行缓存的方法,其特征在于,所述方法包括:
托管(2002)所述服务信息;
接收(2004)来自至少一个客户端设备(1404)的至少一个服务请求,其中,所述服务请求用于寻找预先存储的所述客户端设备(1404)所需的服务信息;
如果所述客户端设备(1404)所需的服务信息不存在,则接收(2006)来自其他设备(1408)的至少一个新服务信息;
通过缓存机制缓存(2008)从所述其他设备(1408)接收的新服务信息,其中,所述缓存机制包括:
确认(2010)接收的所述新服务信息是否未预先存储;
如果没有用于存储接收的所述新服务信息的空间,则基于至少一个计数器移出(2012)预先存储的至少一个服务信息;
存储(2014)接收的所述新服务信息;
基于来自所述客户端设备(1404)的所述服务请求传输(2016)所述预先存储的服务信息或所述新服务信息。
18.根据权利要求17所述的方法,其特征在于,包括:接收所述服务请求、所述新服务信息和IP地址,以及通过至少一个路由协议或任意网络传播通信信令传输所述服务信息。
19.根据权利要求17所述的方法,其特征在于,包括:将所述服务信息以服务条目信息的形式存储,其中,所述服务条目信息包括至少一个主机IP地址信息、至少一个主机端口号、从一个端点中选择的至少一个服务信息、资源类型、接口、端点类型、域、寿命、上下文和查找计数。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN4808CH2015 | 2015-09-10 | ||
ININ4808/CHE/2015 | 2015-09-10 | ||
PCT/CN2016/096704 WO2017041631A1 (en) | 2015-09-10 | 2016-08-25 | Communication network, devices and methods for proximity based distributed caching of service information within said network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107736002A CN107736002A (zh) | 2018-02-23 |
CN107736002B true CN107736002B (zh) | 2020-07-21 |
Family
ID=58239141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680036064.4A Active CN107736002B (zh) | 2015-09-10 | 2016-08-25 | 基于接近性的服务信息分布式缓存的方法、设备及通信网络 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107736002B (zh) |
WO (1) | WO2017041631A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108834080B (zh) * | 2018-04-17 | 2021-03-19 | 东南大学 | 异构网络中基于多播技术的分布式缓存和用户关联方法 |
CN109669991A (zh) * | 2018-11-26 | 2019-04-23 | 广州海格通信集团股份有限公司 | 一种基于分布式目录服务的信息调度系统和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101360055A (zh) * | 2008-09-27 | 2009-02-04 | 上海理工大学 | 具有常数跳路由特性的p2p网络信息资源定位方法 |
CN102271156A (zh) * | 2011-07-20 | 2011-12-07 | 武汉爱迪智能工程有限公司 | 基于物联网的数据共享服务系统 |
CN103095691A (zh) * | 2012-12-31 | 2013-05-08 | 清华大学 | 物联网节点访问控制方法 |
WO2015119319A1 (ko) * | 2014-02-07 | 2015-08-13 | 모다정보통신 주식회사 | 시맨틱 디스커버리 기반의 동적 복합 서비스 제공 방법 및 시스템 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8553575B2 (en) * | 2009-03-19 | 2013-10-08 | Qualcomm Incorporated | Resource partitioning for uplink in a wireless communication network |
CN105409248B (zh) * | 2013-05-16 | 2019-03-08 | 康维达无线有限责任公司 | 用于增强发现的系统和方法 |
-
2016
- 2016-08-25 WO PCT/CN2016/096704 patent/WO2017041631A1/en active Application Filing
- 2016-08-25 CN CN201680036064.4A patent/CN107736002B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101360055A (zh) * | 2008-09-27 | 2009-02-04 | 上海理工大学 | 具有常数跳路由特性的p2p网络信息资源定位方法 |
CN102271156A (zh) * | 2011-07-20 | 2011-12-07 | 武汉爱迪智能工程有限公司 | 基于物联网的数据共享服务系统 |
CN103095691A (zh) * | 2012-12-31 | 2013-05-08 | 清华大学 | 物联网节点访问控制方法 |
WO2015119319A1 (ko) * | 2014-02-07 | 2015-08-13 | 모다정보통신 주식회사 | 시맨틱 디스커버리 기반의 동적 복합 서비스 제공 방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
WO2017041631A1 (en) | 2017-03-16 |
CN107736002A (zh) | 2018-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10708856B2 (en) | Gateway advertisement in a wireless mesh | |
US10715634B2 (en) | System and method for creating virtual interfaces based on network characteristics | |
US8385230B2 (en) | Automatic network address assignment in a wireless mesh | |
CN107250999B (zh) | 具有网络内缓存的分布式内容发现 | |
WO2017118383A1 (en) | Device and method for balanced ad-hoc network formation | |
CN109257319B (zh) | 物联网、及其路由、分配标识的方法、装置及设备、介质 | |
US10255621B2 (en) | Services advertisement in a wireless mesh | |
US11388058B2 (en) | System and method for a distributed computing cluster architecture | |
JP2016110628A (ja) | 階層的キャッシュネットワークにおけるコンテンツ配置 | |
US10536368B2 (en) | Network-aware routing in information centric networking | |
CN107736002B (zh) | 基于接近性的服务信息分布式缓存的方法、设备及通信网络 | |
US9860171B2 (en) | Large scale message routing in a distributed network | |
CN102647364B (zh) | Mesh网络路由方法、设备及系统 | |
US20170093714A1 (en) | Packet routing and forwarding in information centric networking | |
US11973682B2 (en) | Dynamic mesh mapping service | |
Fayyaz et al. | SHM-NDN: A seamless hybrid mobility management scheme for named data mobile ad hoc networks | |
Karthikeyan et al. | EFFICIENT MULTICAST DATA REPLICATION APPROACH FOR POWER CONSUMPTION IN MANET. | |
JP2006171917A (ja) | 無線マルチホップアドホックネットワークのためのプロトコル | |
Chen et al. | Energy-efficient load-balanced heterogeneous mobile cloud | |
EP2913979B1 (en) | A method and system to process traffic optimization requests | |
WO2020063251A1 (zh) | 一种通信方法及相关设备 | |
Benchi et al. | JOMS: A Java message service provider for disconnected MANETs | |
JP2019207644A (ja) | データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム | |
JP2017108264A (ja) | Macアドレステーブル更新システムおよびmacアドレステーブル更新方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |