CN102714664B - 数据共享方法和系统 - Google Patents
数据共享方法和系统 Download PDFInfo
- Publication number
- CN102714664B CN102714664B CN201080054259.4A CN201080054259A CN102714664B CN 102714664 B CN102714664 B CN 102714664B CN 201080054259 A CN201080054259 A CN 201080054259A CN 102714664 B CN102714664 B CN 102714664B
- Authority
- CN
- China
- Prior art keywords
- data
- router
- share
- share router
- shared
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种在通信网络(140)中的多个节点之间共享数据的方法,所述通信网络包括第一共享路由器(50)和第二共享路由器(60),所述第一共享路由器和第二共享路由器均包括存储器,所述存储器包括用于存储至少一个记录(54、64)的记录表(52、62),其中每个记录包括描述待共享数据的至少一个参考(56、66)、以及待共享数据中的至少一个或者与待共享数据关联的至少一个数据节点(20)的地址(58、68),以使得收集节点(10)可以进一步收集数据。
Description
技术领域
本发明总的来说涉及电信服务,更具体地涉及呼叫服务。
背景技术
已经采用两种解决方案进行数据共享,例如通信网络中的用户设备之间的文件共享。一种是发布/订阅(Publish/Subscribe)系统,而另一种是点对点网络。
发布/订阅(pub/sub)系统是涉及通信网络络中的用户设备之间的数据分发的应用层关键技术之一。其包含被称作发布者的服务器以及被称作订阅者的客户端。发布者产生事件形式的数据,其被发布代表对特定事件感兴趣的订阅的订阅者使用。
点对点(P2P)计算机网络利用通信网络的用户之间的各种连通性以及网络参与者的累积带宽,而不是利用相对较少的服务器向服务或应用提供核心值的传统集中资源。P2P网络通常用于主要通过临时性连接(adhocconnections)来连接节点。近来,为了管理P2P应用,被称为P4P(PortalforProactiveProviderParticipationinP2P,电信运营商主动参与P2P入口)的新框架已在一些商业网络中进行了测试。
当前发展的P2P和pub/sub系统以相对于网络层信息独立的模式,在因特网基础设施的顶部建立和运行其覆盖拓扑。实际上,当前P2P系统和pub/sub系统因应用层中的信息的路由不知晓底层中的通信网络而导致在大型因特网中低效地构建和运行,这被认为是当前方法的严重缺陷。当在大型网络中分发数据时,pub/sub系统非常依赖于系统的根节点或中央服务器,这带来了单点故障的问题。对于P2P系统来说,尽管其中的一些能够通过用分布式哈希表(DistributedHashTable,DHT)技术组织网络来避免单点故障问题,但是当对数据搜索的查询不清楚以及当用户的数据分布在用户之间时,难以将预期的数据定位。实际上,当前使用的P2P系统中的大多数仍依赖于中央服务器以便于数据查询。因此,P2P系统也遇到单点故障的问题。
P2P系统的另一缺陷是用作对等节点的每个用户设备需要处理的频率和数据量使得用户设备的电池快速消耗。因此,难以在诸如移动通信网络的通信网络中采用P2P系统。
现在对允许降低用户设备的电池消耗,从而提高这种电信系统的效率以有效地共享数据没有解决方案。
现在对能够在现有的通信基础设施上容易实现的数据共享方案存在需求。
发明内容
本系统的目的是克服现有技术中的不足和/或对其做出改进。
根据本发明的第一方面提供了根据权利要求1所述的共享数据的方法。
在根据本发明的实施方式中,第一共享路由器可以在初始动作中,从数据节点接收包括描述待共享数据的至少一个参考,以及待共享数据中的至少一个或者与待共享数据关联的至少一个数据节点的地址的记录,以及将所述记录存储在第一共享路由器的记录表中。
在根据本发明的实施方式中,从收集节点接收包括待共享数据的参考的参考查询消息,以及向收集节点发送包括至少一个数据节点的地址的参考回复消息。
在根据本发明的实施方式中,收集节点在直接通信链路上与第一共享路由器进行通信,以及通过第一共享路由器与第二共享路由器进行通信。
在根据本发明的实施方式中,第一和/或第二共享路由器可以在各自的记录表中收集和存储针对其的参考查询消息的数量大于给定值的数据。
在根据本发明的实施方式中,第一共享路由器与第二共享路由器可以交换各自的记录表中的记录。
在根据本发明的实施方式中,参考包括待共享数据的类型和/或值。
在根据本发明的实施方式中,第一共享路由器知晓存储在第二共享路由器中的参考的类型。
根据本发明的第二方面提供了根据权利要求9所述的系统。
根据本发明的第三方面提供了根据权利要求10所述的可读计算机程序。
根据本发明的方法可以由计算机实现。该方法可以在可编程装置上以软件实现。其还可以仅以硬件或者软件或者以二者的组合来实现。
本发明的优势是利用网络而不是其他用户设备进行数据搜索。这首先能够减少与其他用户设备的消息交换(尤其是不在用户设备之间交换数据或参考查询消息),因而将用户设备的电池明显保持更长时间。这还允许在其他用户设备没有连接到网络时能进行数据搜索,允许实时数据搜索,并且(在搜索时)未连接的用户设备当其再次连接时可以进一步取回数据。
本发明的另一优势是:如果共享路由器被包含在通信网络的接入点(AP)中,则共享路由器是用户设备可直接接入的。
本发明的另一优势是消息交换可以利用例如IPv6的因特网协议来进行,这使得根据本发明的系统和方法容易集成到现有的基础设施中。
本发明的另一优势是在共享路由器中进行存储包括两种选择:将数据的参考存储在存储器中或者将数据本身存储在存储器中,因此留下以下选择:用户设备发布数据的参考或数据本身,或者共享路由器对于给定的数据接受参考或数据(尤其当遇到知识产权时)。
本发明的另一优势是数据搜索无需与用户设备成比例的大量消息。
本发明的另一优势是共享路由器的数量可以增加以支持更多的用户。特别地,少量共享路由器将允许数据搜索并且针对更多的用户设备进行共享。
本发明的另一优势是共享路由器容易集成到通信网络中,并且可以与传统路由器共存。
本发明的另一优势是被包含在AP中的共享路由器可以有助于具有相同喜好(例如,在音乐会、或节日或会议等)的用户进行数据搜索。
本发明的另一优势是当地址列表被链接到一个参考时以及当最小度量的地址可用于共享数据时,合并参考可以增加数据搜索的效率,从而增加在邻近的用户设备之间的数据的共享。
附图说明
现在将仅通过示例的方式并且仅参照附图来描述本发明的实施方式,其中,相似的部分被提供有相应的参考标号,在附图中:
图1示意性示出了根据本发明的实施方式的系统;
图2示意性示出了根据本发明的实施方式的方法;
图3示意性示出了根据本发明的实施方式的一般消息;
图4示意性示出了根据本发明的实施方式的参考查询消息;
图5示意性示出了根据本发明的实施方式的参考回复消息;
图6示意性示出了根据本发明的实施方式的传输请求消息;
图7示意性示出了根据本发明的实施方式的传输响应消息;
图8示意性示出了根据本发明的实施方式的数据发布消息;
图9示意性示出了根据本发明的实施方式的记录表。
具体实施方式
下面是示例性实施方式的描述,当结合附图进行描述时,示例性实施方式将说明上面提及的特征和优势,并且介绍进一步的特征和优势。
在下面的描述中,出于说明而非限制的目的,阐述了特定细节(例如架构、接口、技术、设备等)以进行说明。然而,将对本领域技术人员显而易见的是,背离这些细节的其它实施方式仍将被理解为在所附的权利要求的范围内。
而且,为了清晰起见,省略了公知设备、系统和方法的详细描述,以便不使对本系统的描述模糊。此外,没有详细介绍路由器、服务器、节点、网关或电信网络中的其它实体,因为它们的实现在本系统和方法的范围以外。
计算机可读介质和/或存储器可以是任何可读介质(例如,RAM、ROM、移动式存储器、CD-ROM、硬盘驱动器、DVD、软盘、或者存储卡),或者可以是采用射频(RF)耦合、蓝牙耦合、红外耦合等中的一种或者多种的传输介质。适用于与计算机系统一起使用的、能够存储和/或传送数据的已知或者已开发的任何介质均可用作计算机可读介质和/或存储器。
此外,用语“存储器”应该得到足够广泛地解释,以包含能够从处理器访问的可寻址空间中的地址读取或者写入其中的任何数据。通过该定义,网络上的数据仍在例如第一共享路由器50的存储器内,因为第一共享路由器50可以从该网络取回数据以用于依照本系统进行操作。例如,如本文所理解的存储器的一部分可作为数据服务器或者数据库的一部分存在。
第一共享路由器50能够响应于针对第一网页的进入请求以及数据服务器对被请求的第一网页的响应进行操作,并且执行存储在其存储器中的指令。第一共享路由器50可以是应用特定的或者通用的集成电路。此外,第一共享路由器50可以是用于依照本系统进行操作的专用路由器,或者可以是通用路由器,其中许多功能中仅一种功能起作用以依照本系统进行操作。第一共享路由器50可以采用程序部分、多个程序段工作,或者可以是采用专用或者多用集成电路的硬件设备。
显然,鉴于以上教导,能够对本共享路由器进行容易辨别的修改和改变。因此,应该理解,在所附的权利要求书的范围内,本发明可以不同于在本文中特别描述地来实践。例如,虽然描述了硬件/软件部件交互地合作,但是应该预想,本文所描述的本发明可以全部在软件中实践。软件可以包含在例如磁盘或者光盘的载体中,或者包含在射频或音频载波中。
除非另外指定,在下文中将把示例性实施方式描述在其对通信网络的路由器的应用中。
此外,应当明确理解的是,为了说明目的而将附图包含在内,但附图不代表本系统的范围。
图1描述了根据本发明的系统。根据本发明的系统包括收集节点10,收集节点10期望找到给定的数据块22以用于进一步访问、共享或者下载。该数据块例如可以是媒体内容,诸如音频文件(如,动态影像专家组层3(MP3)、视窗媒体音频(WMA)等…),或者视频文件(如,动态影像专家组4(MPEG-4)、音频视频交换(AVI)、视窗媒体视频(WMV)等…),或者任何数据块(文本文件、图像文件(如,联合图像专家组(JPEG)或者其他等…)。数据22因此可以由所谓的元数据来描述或者限定。例如如果数据22是视频文件、音频文件、文本文件等…,元数据是关于数据22的一组数据,或者是数据22的标题、或者是何类别或类型的数据等等…。
数据块22被存储在数据节点20的存储器25中。为了定位数据块22,收集节点10需知晓数据节点20的地址。地址可以是互联网协议(IP)地址、URL或者任何类型的地址。根据本发明的系统包括共享路由器50,共享路由器50包括记录表55。记录表55允许存储记录57。记录57是被分成不同类别的一组数据。记录57包括数据块的参考60,以及存储有所述数据块的数据节点的至少一个地址62。例如,给定的记录57可包括数据块22的参考60,数据块22被存储在数据节点20的存储器25中,数据节点20的地址为地址62。给定的参考60可对应于多个地址(62a,…,62j等)。
收集节点10、共享路由器50以及第二用户设备20均能够在通信网络40中进行通信。更具体地,收集节点10能够发送、接收和/或与第一通信链路80上的共享路由器50交换数据或消息。数据节点20能够发送、接收和/或与第二通信链路85上的共享路由器50交换数据或消息。收集节点10能够发送、接收或者与第三通信链路90上的数据节点20交换数据或消息。
在根据本发明的系统中,第二共享路由器70能够与第四通信链路95上的第一共享路由器50进行通信。
图2描述了根据本发明的方法。根据本发明的方法允许在通信网络40中的多个节点之间共享数据。通信网络40包括第一共享路由器50和第二共享路由器60。第一共享路由器50和第二共享路由器60均包括存储器。第一共享路由器50和第二共享路由器60的每个存储器均包括用于存储至少一个记录(分别为54、64)的记录表(分别为52、62),其中每个记录包括描述待共享数据22的至少一个参考(分别为56、66),以及待共享数据22中的至少一个,或者与待共享数据22关联的至少一个数据节点20的地址(分别为58、68),以使得收集节点10可以进一步收集数据22。所述参考可以是数据22的元数据的一部分。因此,记录可包括数据的一个或多个元数据的部分或全部,以及IP地址和/或数据本身。
在动作100中,第一共享路由器50接收参考查询消息,参考查询消息包括描述待共享数据22的第一参考,以及与待共享数据的接收绑定的收集节点10的地址。
在动作100中,第一共享路由器50检查第一参考是否与存储在第一共享路由器50(即,在其存储器中)的记录表52中的第一记录54的参考56匹配。
当发现第一参考与存储在第一共享路由器50的记录表52中的第一记录54的参考56匹配时,在动作120中,第一共享路由器50检查与所述第一参考56关联的第一数据22是否存储在第一共享路由器50的存储器中。
如果第一数据22存储在存储器中,则在动作125中,第一共享路由器50将所述第一数据22发送到收集节点10。数据22可以:
-由第一共享路由器50直接发送到第一用户设备10的IP地址,或者,
-被相继发送至协商协议,其中所述协商协议包括第一共享路由器50发送传输请求消息(如以下参考图6所描述的),以及第一共享路由器50从第一用户设备10接收传输响应消息(如下文中参考图7所描述的),
-或者经第一共享路由器50的请求由第一用户设备10收集(即,下载)。
如果第一数据22没有存储在存储器中,则在动作130中,第一共享路由器50发送参考回复消息。参考回复消息包括与第一数据22关联的至少一个数据节点20的记录表52中的地址58,以使得所述至少一个数据节点20可以与收集节点10进一步共享第一数据22。
当发现第一参考与第一记录(54)的参考(56)不匹配时,在动作140中,第一共享路由器50将参考查询消息转发到第二共享路由器(60)。接下来,第二共享路由器60可以检查参考查询消息中的参考是否与存储在记录表62中的记录64的参考66匹配。如果是,则第二共享路由器60可以向第一共享路由器50回复与接收到的参考关联的数据节点20的数据或者地址(例如,IP地址)。如果否,则第二共享路由器60可转发至另一路由器,例如另一共享路由器(50、60),以便获得被请求的地址或数据22。
参考查询消息从收集节点10接收。收集节点10可以是用户设备、服务器或者其它路由器,在不限制本发明的范围的情况下,例如可以为另一共享路由器(50、60)或者另一设备。
在以下的描述中并且出于说明的目的,根据本发明的方法将通过把第一用户设备10用作收集节点10,将第二(或更多)用户设备20用作数据节点20来进行描述。这不限制本发明的范围。
第一和第二用户设备(分别为10和20)可以进一步进行通信以交换数据22。更具体地,第一用户设备10可以利用在参考回复消息中接收到的地址58通过传输请求消息(如参照图6所描述的)与第二用户设备20进行联系。而且,用户设备20可以向第一用户设备10回复传输响应消息(如参照图7所描述的),以表示其是否接受连接,以及第一用户设备在用户设备20的哪个传输控制协议(TCP)端口上可以进一步连接,以得到数据22。
根据本发明的实施方式,通信网络40可以基于因特网协议v6(IPv6),其中第一共享路由器50可以是接入路由器,例如接入点(AP)路由器,并且其中第二共享路由器60可以是核心网路由器。AP路由器例如可以是无线接入点。AP路由器是用户设备可直接接入的,而核心网路由器并不是用户设备可直接接入的,因为其位于核心网中。AP路由器和核心网路由器例如可以通过因特网连接。因此,AP路由器位于因特网的边界上,而核心网路由器位于因特网的核心网中。换句话说,AP路由器和核心网路由器处于两个不同的层中,其中AP路由器可通过用户设备直接接入,而核心网路由器不可通过用户设备直接接入,而是要通过AP路由器接入。
为了与第一共享路由器50进行通信,用户设备(10、20)可以将其在通信协议(诸如因特网协议v4(IPv4)、因特网协议v6(IPv6)、因特网协议v9(IPv9)等因特网协议)中交换的消息嵌入。
用户设备10允许发送参考查询消息和接收参考回复消息。参考查询消息可以直接或者通过另一网关(例如,另一传统路由器等)发送到第一共享路由器50。参考回复消息可以直接或者通过另一网关(例如,另一传统路由器等)从第一共享路由器50接收。
用户设备20允许发送包括将要存储在记录表(52、62)中的记录的消息。
一旦第一用户设备10接收到第二用户设备20的地址,用户设备10和用户设备20可以进一步通信,以交换或者共享数据22。
在可选的实施方式中,第一用户设备10的地址可以由第一共享路由器50收集、然后发送到至少第二用户设备20,以使得第二用户设备20可以进一步向第一用户设备10发送数据22。
根据本发明的实施方式,在用户设备(10、20)与第一共享路由器50之间,以及在第一共享路由器50与第二共享路由器60之间进行通信可以使用因特网协议v6(IPv6)。实际上,由于现有的通信基础设施主要依赖于因特网协议,所以例如使用IPv6允许在现有的因特网协议基础设施上实现本发明。
因此,在根据本发明的方法中,利用IPv6限定的格式并且如在图3中所描述的那样,可以在IPv6数据包的扩展报头310中限定不同的新报头选项,以便嵌入待交换的消息。字段300和320分别是传统IPv6报头和IPv6净负荷。
在本发明的实施方式中,可以嵌入IPv6报头选项中的消息组包括:
-参考查询消息,
-参考回复消息,
-传输请求消息,
-传输回复消息以及
-数据发布消息。
参考查询消息由第一用户设备10生成,以请求数据22。在IPv6数据包的扩展报头字段中限定新报头选项,以表示针对数据22的请求的属性。这些属性例如可以是名称、类型、创建时间等。如关于图4所描述的,新报头可以格式化成逐跳(hop-by-hop)扩展报头或者目的地扩展报头。逐跳扩展报头是限定在IPv6中的扩展报头,其可以由网络中的所有路由器进行处理。因此,当第一用户设备10不知晓第一共享路由器50的IP地址时,可以使用逐跳扩展报头。目的地扩展报头被限定在IPv6中。目的地扩展报头由目的地路由器进行处理,因为其IP地址是已知的。因此,当第一用户设备10知晓第一共享路由器50的IP地址时,可以使用目的地扩展报头。报头可以被分成子字段。逐跳报头和目的地报头二者具有相同的子字段定义。
当第一用户设备10或者用户设备20不知晓第一共享路由器50的目的地地址时,可以使用任播(anycast)地址。任播地址可以设置为去往最近的第一共享路由器50的地址。在具有任播地址的参考查询消息中可以设置跳跃(hop)限制,以避免通信泛滥。由于参考查询消息具有任播地址,所以其通过通信网络40中的传统路由器转发,直至到达第一共享路由器50,或者直至其跳跃限制减小为零。当第一用户设备10和用户设备20知晓第一共享路由器50的目的地地址时,参考查询消息将其目的地地址设置为第一共享路由器的地址。
为了嵌入参考查询消息,在新报头选项中限定有两个主要子字段,即,查询序列号字段440和查询条件字段450。查询序列号字段440表示唯一地标识由第一用户设备10产生的查询的、大于零的序列号。查询条件字段450包括第一用户设备10正在寻找的数据22的参考。例如,如果第一用户设备10想得到名称为“电影”并且大于“100千字节”的数据22,则查询条件字段可以填写为“name=movieandsize>100Kbytes(名称=电影且大小>100千字节)”。
第一共享路由器50通过检查报头选项的类型来标识参考查询消息。在接收到参考查询消息后,第一共享路由器50从报头选项中读取查询条件,并且在记录表52中搜索记录54,以检查至少一个参考是否与记录表52中的参考查询消息的查询条件匹配或者对应。当第一共享路由器50在其记录表52中找到匹配的参考时,其首先检查与该参考关联的数据22是否存储在第一共享路由器50中(在记录表50中或者在链接的数据库中)。如果与该参考关联的数据22存储在第一共享路由器50中,那么第一用户设备将接收(由第一共享路由器50发送的或者由第一用户设备10收集的)数据22。如果与该参考关联的数据22没有存储在第一共享路由器50中,那么第一共享路由器50向第一用户设备10发送参考回复消息,参考回复消息包括具有或者存储有数据22的用户设备20的至少一个IP地址的列表。
当第一共享路由器50在其记录表52中没有找到匹配的参考时,其可以将参考查询消息转发到第二共享路由器60,如下所述。
字段400表示下一报头。字段410表示报头的长度。字段420表示选项类型。选项类型字段420表示IPv6报头中的特定类型的扩展报头。字段430表示选项中的数据的长度。字段430允许方便对扩展报头的处理。当选项中的数据的长度给定时,路由器能够确定扩展报头的结束,从而有助于使路由器从扩展报头正确地提取数据。
参考回复消息被用于对参考查询消息进行回复。其被格式化为包括第一用户设备10的地址的目的地扩展报头。
图5描述了限定为嵌入参考回复消息的扩展报头。其包括两个主要子字段:查询序列号字段540、数据获取点字段550。查询序列号字段540表示唯一地标识由第一用户设备10产生的查询的、大于零的序列号。因此,该序列号字段的值与第一用户设备10所发送的参考查询消息的查询序列号440的值相同。数据获取点字段550表示具有被请求的(即,被查询的)数据22的至少一个用户设备20的至少一个地址,以及在相应的用户设备20中的数据22的标识符。实际上,由于不只一个用户设备20可具有数据22,所以数据22的标识符允许进一步取回存储在给定的用户设备中的数据22,在具有所述标识符的所述给定的用户设备20中对该数据22编索引。
字段500表示下一报头。字段510表示报头的长度。字段520表示选项类型。选项类型字段520表示IPv6报头中的特定类型的扩展报头。字段530表示选项中的数据的长度。字段530允许方便对扩展报头的处理。当选项中的数据长度给定时,路由器能够确定扩展报头的结束,从而有助于使路由器从扩展报头正确地提取数据。
当参考查询消息的参考与存储在记录表(52)中的记录(54)的参考(56)不匹配时,参考查询消息被转发到第二共享路由器(60)。此外,参考查询消息的目的地地址被改变为参考查询消息将被转发到的第二共享路由器60的IP地址。参考查询消息的报头选项也被改变为目的地选项的类型。由于具有逐跳选项格式的报头选项中的子字段与限定在格式化为目的地选项的报头中的子字段相同,所以仅需修改报头的选项字段中的选项类型。当路由器无法找到下一跳跃(下一路由器)以转发参考查询消息时,其回复包括在数据获取点字段中的0000:0000:0000:0000:0000:0000:0000:0000的IP地址的参考回复消息数据包。
例如,在接收到参考回复消息之后,第一用户设备10发出传输请求消息,以便建立与至少一个用户设备20的连接,以获得数据22。该数据包被格式化为具有用户设备20的地址的目的地扩展报头。
图6描述了限定为嵌入传输请求消息的扩展报头。在用于嵌入传输请求消息的扩展报头中限定有三个主要子字段:
-远程数据标识符640,
-连接标识符650,以及,
-用于传输的元数据660。
传输请求消息可以由第一用户设备10发送到已标识的用户设备20以请求数据22。在这种情况下:
-远程数据标识符640的值大于零,并且对应于存储在用户设备20中的数据22的标识符,
-连接标识符650允许唯一地标识由第一用户设备10发送的传输请求消息,
-用于传输的元数据的子字段660的长度为零(即,不存在用于传输的元数据的子字段,或者用于传输的元数据的子字段为空或无意义)。
传输请求消息也可以由用户设备20发送到第一共享路由器50,以使用户设备20请求第一共享路由器50对数据22的传输进行确认。在这种情况下:
-远程数据标识符640的值被设置为零,并且表示用户设备20请求第一共享路由器50对数据22的传输进行确认,
-连接标识符650允许唯一地标识由用户设备20发送的传输请求消息,
-用于传输的元数据的子字段660包括与被请求进一步发送到第一共享路由器50的数据22关联的元数据。如以上阐述的,这种元数据可以是数据的类型或类别、标题等。
字段600表示下一报头。字段610表示报头的长度。字段620表示选项类型。选项类型字段620表示IPv6报头中的特定类型的扩展报头。字段630表示选项中的数据的长度。字段630允许方便对扩展报头的处理。当选项中的数据长度给定时,路由器能够确定扩展报头的结束,从而有助于使路由器从扩展报头正确地提取数据。
如上所述,传输请求数据包可以由第一用户设备10或用户设备20或第一共享路由器50或第二路由器60使用,以请求建立用于收集或发送数据的连接。因此,例如,用户设备10可以将传输请求数据包发送到用户设备20,以便进一步从所述用户设备20收集数据,或者第一共享路由器50可以将传输请求数据包发送到第二共享路由器60,或者反之亦然,以便进一步从所述第二共享路由器50收集数据(反之亦然),或者用户设备20可以将传输请求数据包发送到第一共享路由器50,以进一步向所述第一共享路由器50发送数据。
例如,当用户设备20发送到第一共享路由器50的传输请求消息中的远程数据标识符的字段的值被设置为零时,第一共享路由器可以创建缓冲区,以进一步存储从用户设备20接收的数据,并且向描述或表征包含在传输请求数据包的报头选项中的元数据的所述缓冲区分配本地标识符。
响应于传输请求数据包发送传输响应数据包。当传输请求数据包的发送者的IP地址已知时,传输响应数据包的报头选项被格式化为目的地扩展报头。图7描述了被限定为嵌入传输响应消息的扩展报头。如在图7中所描述的,报头选项具有三个主要子字段:
-连接标识符740,其用于标识由传输请求数据包的发送者发起的连接。其通常是传输请求数据包中的连接标识符字段640(参照图6)的副本,
-请求状态750,其允许指示是否接受传输请求数据包的发送者的连接建立请求。如果字段的值为零,则接受连接请求,否则拒绝连接请求。
-用于传输的端口号760。其是在连接请求被接受的情况下,传输请求数据包的接收者将用来传输数据22的传输控制协议(TCP)端口。当连接请求被拒绝时,字段的值应当被忽略。
在第一用户设备10向用户设备20发送传输请求数据包的情况下,用户设备20可以在用于传输的端口号字段中指示第一用户设备10可以连接的TCP端口以用于收集数据22。
在用户设备20向第一共享路由器50发送传输请求数据包的情况下,第一共享路由器50可以在用于传输的端口号字段中指示用户设备20可以连接的TCP端口以用于发送数据22。
字段700表示下一报头。字段710表示报头的长度。字段720表示选项类型。选项类型字段720表示IPv6报头中的特定类型的扩展报头。字段730表示选项中的数据的长度。字段730允许方便对扩展报头的处理。当选项中的数据长度给定时,路由器能够确定扩展报头的结束,从而有助于使路由器从扩展报头正确地提取数据。
期望发送或发布存储在所述用户设备20中的数据的参考的用户设备20可以向第一共享路由器50发送数据发布消息。这允许第一共享路由器50将这些参考连同用户设备20的IP地址一起补充或添加为记录表52中的记录,以使得当与包含在第一用户设备10发送的参考查询消息中的值匹配时能够找到这些参考。图8描述了限定成嵌入数据发布消息的扩展报头。这种扩展报头包括三个主要子字段:
-发布者的IP地址840,
-数据标识符850,
-用于发布的元数据860。
数据标识符850表示由IP地址已在发布者的IP地址子字段840中表示的用户设备20分配给数据的标识符。用于发布的元数据子字段860包括待发布或记录在记录表52中的数据的元数据。
字段800表示下一报头。字段810表示报头的长度。字段820表示选项类型。选项类型字段820表示IPv6报头中的特定类型的扩展报头。字段830表示选项中的数据的长度。字段830允许方便对扩展报头的处理。当选项中的数据长度给定时,路由器能够确定扩展报头的结束,从而有助于使路由器从扩展报头正确地提取数据。
在根据本发明的示例性实施方式中,第一共享路由器50可以将数据记录54或数据的参考发送到第二共享路由器60,和/或从第二共享路由器60接收数据记录64或数据的参考,以便补充分别为52和62的记录表。
在根据本发明的示例性实施方式中,如第一共享路由器50那样,第二共享路由器60可以是用户设备(10、20)能够直接接入的共享路由器。例如,第一共享路由器50可以是接入点(AP)路由器,如WifiAP路由器,而第二共享路由器可以是另一AP路由器,例如另一WifiAP路由器。在这种情况下,两组用户均可接入第一共享路由器50和第二共享路由器60。换句话说,它们是共同通信的两个第一共享路由器50。
在可选的实施方式中,可以在一个参考查询消息中请求若干数据22,并且可以利用用户设备20的相应地址进一步获得所述若干数据22中的一些或全部,用户设备20将所述相应地址存储在一个或多个参考回复消息中。
在本发明的实施方式中,第二共享路由器60可以具有比第一共享路由器50更大的缓冲区和更强的计算能力。在这种情况下,第二共享路由器可以位于核心网层,而具有较低能力的第一共享路由器50可位于接入路由器层。第一共享路由器50和第二共享路由器60可以与仅支持网络设备进行路由的传统路由器共存。
在本发明的实施方式中,第一共享路由器50可以存储具有较大数量查询的参考和/或数据。
在本发明的示例性实施方式中,第一共享路由器50可以计算与存储在记录表52中的参考关联的查询率。一旦查询率达到或超过针对给定参考的预定第一阈值以及如果关联数据没有存储在第一共享路由器50中,第一共享路由器50就可利用例如传输请求消息从存储关联数据的用户设备20得到该关联数据。查询率例如可以如下计算:
此处,R查询(n)是第n个示例中计算的查询率,C(n)是以第n个间隔,即第n个示例与第(n+l)个示例之间的时间段,接收的查询的数量。所述间隔可以被设置为一分钟或者其它值。α为1到0之间的常数。
除了存储数据之外,第一共享路由器50还可以删除其参考具有较少查询的一些数据。删除的决定也可基于在等式(1)中限定的查询率。当查询率为预定第二阈值以及低于预定第二阈值时,在第一共享路由器50中移除或者删除相应数据。
图9描述了根据本发明的记录表的示例性实施方式。在该记录表中可以限定有四个选项:
-目的地IP地址900,
-目的地数据标识符910,
-元数据920,
-数据930,
-对目的地的度量940。
目的地IP地址900是与数据930的元数据920的至少一个参考关联的用户设备20的IP地址。目的地数据标识符910允许标识记录在记录表中的数据。元数据920包括描述关联数据的参考或属性的元数据。对目的地的度量940指的是正在记录或者已记录数据的用户设备20与存储关联的记录的共享路由器(第一共享路由器50或第二共享路由器60)之间的距离。
在根据本发明的示例性实施方式中,当许多参考和数据均被记录以用于共享时,一些共享路由器可以将其记录表中的一些记录合并。例如,当发现记录表的元数据中存在不只一个具有相同参考的条目时,这些参考可以被共享路由器合并为具有多个目的地IP地址的一个条目。例如,如果在记录路由表中存在元数据A和B,其中元数据A为“type=movie(类型=电影)”和“name=a(名称=a)”,而元数据B为“type=movie(类型=电影)”和“name=b(名称=b)”。那么,这两个条目可以合并为新条目C,其元数据的选项(即,参考的类型)为“type=movie(类型=电影)”。
使用实例1:来自用户设备20的内容发布
用户设备20创建媒体内容(即,数据)并且打算将其发布,以使得媒体内容可以被其它用户设备共享。用户设备20首先将传输请求数据包发送到第一共享路由器50(例如,最近的或者已知的第一共享路由器50),该传输请求数据包的数据远程标识符的子字段被设置为零。如果第一共享路由器50允许发布该内容,则第一共享路由器50向用户设备20发回传输响应数据包。在第一共享路由器50从用户设备20接收到媒体内容后,第一共享路由器50将相应的记录存储在其记录表中。
使用实例2:利用根据本发明的方法进行数据搜索
第一用户设备10将具有参考“type=movieandname=a(类型=电影且名称=a)”的参考查询消息发送到共享路由器50(例如,最近的或者已知的第一共享路由器50)。第一共享路由器50检查包含在该参考查询消息中的参考,并且发现在其记录表中没有对应的参考。第一共享路由器50将参考查询消息转发到第二共享路由器60。例如,第一共享路由器50可以知晓或者找到在记录表中存储有包括“类型=电影”的记录的第二共享路由器60。当第二共享路由器接收查询时,其发现两个用户设备20在其路由表中均具有与接收到的参考查询消息对应的数据。那么,第二共享路由器可以选择具有最小度量的用户设备20,并且利用参考回复消息将用户设备20的地址发送到第一用户设备10。
使用实例3:在记录表中进行数据存储
第一共享路由器50发现记录在其路由表中的一些数据经常被用户设备查询。因此,第一共享路由器50向存储该数据的第二共享路由器60发送传输请求消息,该传输请求消息的远程数据标识符的子字段具有记录在第一共享路由器50的记录表的对应记录中的参考的值。在接收到被请求的数据后,第一共享路由器50在其记录表中创建与接收到的数据对应的新记录。
Claims (9)
1.在通信网络(40)中的多个节点之间共享数据的方法,所述通信网络(40)包括第一共享路由器(50)和第二共享路由器(60),所述第一共享路由器(50)和第二共享路由器(60)均包括存储器,所述存储器包括用于存储至少一个记录(54、64)的记录表(52、62),其中每个记录包括描述待共享数据(22)的至少一个参考,以及所述待共享数据(22)中的至少一个或者与所述待共享数据(22)关联的至少一个数据节点(20)的地址(58、68),以便收集节点(10)进一步收集数据(22),所述方法包括,所述第一共享路由器(50)进行以下动作:
-接收参考查询消息,所述参考查询消息包括描述所述待共享数据(22)的第一参考,以及与所述待共享数据的接收绑定的收集节点(10)的地址,
-当发现所述第一参考与所述第一共享路由器(50)的所述记录表(52)中存储的第一记录(54)的参考匹配时,检查与所述第一参考关联的第一数据(22)是否存储在所述第一共享路由器(50)的存储器中,以及:
-如果所述第一数据(22)存储在所述存储器中,则将所述第一数据(22)发送到所述收集节点(10),
-如果所述第一数据(22)没有存储在所述存储器中,并且与所述第一数据(22)相关联的至少一个数据节点(20)的地址(58)包括在所述记录表(52)中,则发送参考回复消息,所述参考回复消息包括与所述第一数据(22)关联的所述至少一个数据节点(20)的记录表(52)中的地址(58),以使得所述至少一个数据节点(20)与所述收集节点(10)进一步共享所述第一数据(22),
-当发现所述第一参考与第一记录(54)的参考不匹配时,将所述参考查询消息转发到所述第二共享路由器(60)。
2.根据权利要求1所述的方法,所述方法还包括初始动作,即,从数据节点接收包括描述待共享数据的至少一个参考、以及所述待共享数据中的至少一个或者与所述待共享数据关联的至少一个数据节点的地址的记录,以及将所述记录存储在所述第一共享路由器的所述记录表中。
3.根据权利要求1所述的方法,其中,从所述收集节点接收包括所述待共享数据的参考的参考查询消息,以及向所述收集节点发送包括至少一个数据节点的地址的参考回复消息。
4.根据权利要求1所述的方法,其中,所述收集节点在直接通信链路上与所述第一共享路由器进行通信,以及通过所述第一共享路由器与所述第二共享路由器进行通信。
5.根据权利要求1所述的方法,其中,所述第一共享路由器和/或第二共享路由器在其各自的记录表中收集和存储针对其的参考查询消息的数量大于给定值的数据。
6.根据权利要求1所述的方法,其中,所述第一共享路由器与第二共享路由器交换各自的记录表中的记录。
7.根据权利要求1所述的方法,其中,所述参考包括所述待共享数据的类型和/或值。
8.根据权利要求1所述的方法,其中,所述第一共享路由器知晓存储在所述第二共享路由器中的参考的类型。
9.用于在通信网络(40)中的多个设备之间共享数据的系统,所述系统包括:
-收集节点(10);
-数据节点(20);
-第二共享路由器(60),所述第二共享路由器(60)包括存储器,所述存储器包括用于存储至少一个记录(64)的记录表(62),其中每个记录包括描述待共享数据(22)的至少一个参考,以及所述待共享数据(22)中的至少一个或者与所述待共享数据(22)关联的至少一个数据节点(20)的地址(68),以便收集节点(10)进一步收集数据(22);
-第一共享路由器(50),所述第一共享路由器(50)包括存储器,所述存储器包括用于存储至少一个记录(54)的记录表(52),其中每个记录包括描述待共享数据(22)的至少一个参考,以及所述待共享数据(22)中的至少一个或者与所述待共享数据(22)关联的至少一个数据节点(20)的地址(58),以便收集节点(10)进一步收集数据(22),所述第一共享路由器(50)能够操作为:
-接收参考查询消息,所述参考查询消息包括描述所述待共享数据(22)的第一参考,以及与所述待共享数据的接收绑定的收集节点(10)的地址,
-当发现所述第一参考与在所述第一共享路由器(50)的所述记录表(52)中存储的第一记录(54)的参考匹配时,检查与所述第一参考关联的第一数据(22)是否存储在所述第一共享路由器(50)的存储器中,以及:
-如果所述第一数据(22)存储在所述存储器中,则将所述第一数据(22)发送到所述收集节点(10),
-如果所述第一数据(22)没有存储在所述存储器中,并且与所述第一数据(22)相关联的所述至少一个数据节点(20)的地址(58)包括在所述记录表(52)中,则发送参考回复消息,所述参考回复消息包括与所述第一数据(22)关联的至少一个数据节点(20)的所述记录表(52)中的所述地址(58),以使得所述至少一个数据节点(20)与所述收集节点(10)进一步共享所述第一数据(22),
-当发现所述第一参考与第一记录(54)的参考不匹配时,将所述参考查询消息转发到所述第二共享路由器(60)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201080054259.4A CN102714664B (zh) | 2009-09-30 | 2010-09-23 | 数据共享方法和系统 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009074340 | 2009-09-30 | ||
CNPCT/CN2009/074340 | 2009-09-30 | ||
CN201080054259.4A CN102714664B (zh) | 2009-09-30 | 2010-09-23 | 数据共享方法和系统 |
PCT/IB2010/002628 WO2011039640A2 (en) | 2009-09-30 | 2010-09-23 | Data sharing method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102714664A CN102714664A (zh) | 2012-10-03 |
CN102714664B true CN102714664B (zh) | 2016-08-03 |
Family
ID=46903948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080054259.4A Active CN102714664B (zh) | 2009-09-30 | 2010-09-23 | 数据共享方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102714664B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109891403A (zh) * | 2016-08-09 | 2019-06-14 | 哈曼国际工业有限公司 | 用于共享数据的方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859106A (zh) * | 2005-10-28 | 2006-11-08 | 华为技术有限公司 | 多点下载中保证数据块在整个系统均匀分布的方法和装置 |
CN101459619A (zh) * | 2009-01-05 | 2009-06-17 | 杭州华三通信技术有限公司 | 一种在网络中对报文传输的处理方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009070179A1 (en) * | 2007-12-01 | 2009-06-04 | Lucent Technologies, Inc. | Ims diameter router with load balancing |
-
2010
- 2010-09-23 CN CN201080054259.4A patent/CN102714664B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859106A (zh) * | 2005-10-28 | 2006-11-08 | 华为技术有限公司 | 多点下载中保证数据块在整个系统均匀分布的方法和装置 |
CN101459619A (zh) * | 2009-01-05 | 2009-06-17 | 杭州华三通信技术有限公司 | 一种在网络中对报文传输的处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102714664A (zh) | 2012-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106230896B (zh) | 一种消息推送方法、装置及系统 | |
CN110048927B (zh) | 通信方法和通信装置 | |
US8392448B2 (en) | Method and apparatus for transmitting packets in the network | |
EP2705645B1 (en) | Name-based neighbor discovery and multi-hop service discovery in information-centric networks | |
EP1430694B1 (en) | Path optimizer for peer to peer networks | |
US7978631B1 (en) | Method and apparatus for encoding and mapping of virtual addresses for clusters | |
JP5214804B2 (ja) | ネットワークにおけるパケット転送 | |
EP2719133B1 (en) | A generalized dual-mode data forwarding plane for information-centric network | |
KR100758253B1 (ko) | 사용자 통지 시스템 및 방법 | |
CN104350725A (zh) | 通过软件定义网络进行信息中心网络的无缝集成和独立演进方法 | |
JP5847185B2 (ja) | コンテンツ中心のネットワーク環境でグループ変更に関する情報を用いるコンテンツ共有方法及び装置 | |
CN107580079A (zh) | 一种报文传输方法和装置 | |
CN101938505A (zh) | 一种P2P流媒体数据分发的方法、系统和proxy节点 | |
WO2017031947A1 (zh) | 向网络中发送和从网络中获取目标数据的方法和装置 | |
JP3666654B2 (ja) | インターネット通信方法{AmethodforanInternetCommunication} | |
CN110072196B (zh) | 为命名数据网络提供面向区块链应用的通信方法及系统 | |
US8681760B2 (en) | Network positioning system and terminal positioning device | |
CN115914074A (zh) | 点对点网络报文的传递方法、路由设备及计算机存储介质 | |
KR20110044273A (ko) | 메시지 라우팅 플랫폼 | |
CN102714664B (zh) | 数据共享方法和系统 | |
WO2012029248A1 (ja) | データ転送システム | |
US9392055B2 (en) | Data sharing method and system | |
CN106130912A (zh) | 一种路由节点及路由方法 | |
Banerjee et al. | The survey, research challenges, and opportunities in ICN | |
CN102088399A (zh) | 对等网络的流量控制方法、路由设备和通信系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |