会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 对等网络 / 加入对等网络的设备和方法

加入对等网络的设备和方法

申请号 CN200880000029.2 申请日 2008-05-21 公开(公告)号 CN101543017B 公开(公告)日 2013-04-24
申请人 香港应用科技研究院有限公司; 发明人 罗家泳;
摘要 一种加入分布式对等通信网络的设备,有一个分布式网络应用程序,包括一个能力路由实体,能力路由实体具有一组加入网络的相关对等点的能力信息。一种在网络内建立对等通信的方法包括,确定哪一组相关对等点可以基于能力信息实现所需连接、以及将请求递交到可以实现连接的对等点。
权利要求

1.一种在分布式对等通信网络内建立对等通信的方法,对等通信网包括一组加入网络的相关对等点,本方法包括:虚拟能力路由实体接收一个对等组中的一个成员的连接请求,所述每个虚拟能力路由实体是在对等网络内的一个虚拟节点,所述虚拟能力路由实体基于在分布式散列路由表格内的能力信息,确定哪一组相关对等点可以实现所需连接,其中分布式散列路由表格内有用来提供组成员的基于能力的路由信息的一个输入项,以及所述虚拟能力路由实体将请求递交到可以实现连接的对等点。

2.依照权利要求1所述的方法,其中能力信息包括对等组的每个成员的对等网络应用能力。

3.依照权利要求2所述的方法,其中对等网络应用能力包括一种对等服务和设备可用性。

4.依照权利要求1所述的方法,其中能力信息选自:VoIP客户、即时通讯客户、流接收者、流源(streaming source)、文件下载接收者、文件下载源、网络日志(web-log)和网络论坛阅读器(web-forum viewer)。

5.依照权利要求1所述的方法,其中确定哪一组相关对等点可以实现所需连接是基于一个或多个以下因素:电源、CPU能力、存储能力和网络连接特征。

说明书全文

加入对等网络的设备和方法

技术领域

[0001] 本发明涉及对等网络(peer-to-peer network),特别涉及加入对等网络的设备和方法。
[0002] 发明背景
[0003] 涉及信息共享和协作的所谓web 2.0已经激发了对对等网络日益增长的需求。对等网络涉及网络成员之间的各种互连,其中所有成员对其它网络成员而言既是客户机同时也是服务器。早期的对等网络是一种在互联网上的覆盖,并包括一个集中注册和发现服务器。随着在局域网和个域网上涉及多个设备的无线和移动联网的日益普及,没有集中注册和发现服务器的纯分散式的对等网络,变得越来越受欢迎。
[0004] 对等网络开发者所面临的一个问题是设备连接到网络上的多样性,以及由移动网络设备(如便携式电脑、手持个人电脑、个人数字助理(PDAs)和移动电话)日益普及所引起的网络成员的动态特性,例如一些网络成员是永久的或较稳定的成员,如台式计算机和电视机顶盒,而另一些成员是暂时的,如便携式电脑、PDAs和移动电话。在网络内不是每种设备都适合每种对等连接,例如双向通信,网络日志(web log)和网络论坛(webforum)浏览是适合大多数设备的资源少量应用,但是视频流和大文件下载仅适合应用于高功率设备且较稳定的成员,如台式计算机和电视机顶盒。这些因素决定了服务质量以及网络设计者面临的网络发现,查找和路由问题。
[0005] 另外,在可联网设备数量和类型上的增加是指一个对等网络的用户成员通常可以使用多个不同类型设备(如台式或家用计算机、电视机顶盒、便携式电脑和手持设备如移动电话或PDA)连接到网络。在当前的对等网络结构内,每个属于同一用户的设备是分布式网络的独立个别成员,并且用户没办法协调和最大利用网络结构内各种设备的优点和缺点。
[0006] 所以,本发明的一个目的是提供一种设备加入分布式对等网络,以及提供一种在分布式对等网络内建立对等通信的方法,其寻求通过提供最大利用对等网络成员的能力来改善以上缺点。本发明的另一个目的是提供所述设备和所述方法,以至少提供一个有用选择方案给公众。
[0007] 发明概述
[0008] 鉴于前述,在此披露了一种加入分布式对等通信网络的设备,该设备有一个分布式网络应用程序,其包括一个能力路由实体,能力路由实体有一组加入网络的相关对等点的能力信息。在此也披露了一种在网络内建立对等通信的方法,其包括确定哪一组相关对等点可以基于能力信息实现所需连接、并将请求递交到可以实现连接的同级设备。
[0009] 优选地,设备还包括一个路由查找表格,能力路由实体是路由查找表格内的一个输入项。
[0010] 优选地,能力信息包括对等组的每个成员的对等网络应用能力。
[0011] 优选地,相关对等组包括多个相关设备,每个相关设备有不同的对等网络应用能力。
[0012] 优选地,多个相关设备有一个共同用户。
[0013] 优选地,对等网络应用能力包括一种对等服务和设备可用性。
[0014] 优选地,能力信息选自:VoIP客户、即时通訊客户、流接收者、流源、文件下载接收者、文件下载源、网络日志(web-log)和网络论坛阅读器(web-forum viewer)。
[0015] 从以下通过范例提供的描述,本发明的其它方面将变得越发明显。

附图说明

[0016] 现通过范例并结合附图,描述本发明的典型实施例,其中:
[0017] 图1依照本发明简略概述一个网络对等组;
[0018] 图2简略概述对等网络参与者;
[0019] 图3是依照本发明对等点发现/路由的一个典型流程示意图,和
[0020] 图4是依照本发明对等点发现/路由的第二典型流程示意图。
[0021] 典型实施例详述
[0022] 现通过实施在分布式对等网络内的例子来描述本发明。这种网络是基于一个分散分布式查找服务,其使用一个但不限于分布式散列表格(DHT),其中维持散列关键字(hash key)和相关数据值的映射的责任被分布在网络成员中间。著名的DHT协议包括CAN(内容寻址网络)、CHORD、Pastry和Tapestry。但是,这不是意在限制本发明的使用范围或功能,其也可以被实施在一个集中注册或混合对等网络内。
[0023] 在本发明的优选实施例里,一组相关设备,通常属于同一用户或具有一个共同用户,并且其可能全部是对等网络内的参与者,或者是长时间的参与或者是暂时的参与,这些设备在设备发现或查找过程内表现为一个路由能力实体(capability-routing entity),其包括涉及组内每个成员的能力信息。在典型实施例里,路由能力实体包括在路由表格内的一个输入项,用来提供相关设备组的基于能力的路由信息,网络内没有实质的能力路由实体。组内每个成员独自地是网络内的一个对等点,但是成员们共享能力,从而能力路由实体接收所有组成员的连接请求,并将请求递交到具有最合适能力回应或服务连接请求的一个网络成员。
[0024] 在本发明的一个典型实施例里,对等网络的第一用户有多个能够联网的设备,包括一个家用PC、一个IP电视机顶盒、一个能够启用互联网的个人视频录像器、一个便携式计算机和一个能够联网的移动电话,它们全部能够加入对等网络。每个设备有不同的特性,如交流电源供电或电池供电运作、存储能力、CPU能力、以及网络连接速度和状态(如在线或离线),这些决定了它们的网络应用能力。家用PC具有高CPU能力、大存储空间,由交流电供电,能够连续或长时间地连接到对等网络。所以,有能力提供或回应所有类型的网络应用,包括接收和发送流音乐或视频、接收和发送小型和大型文件传输、参与双向通信如VoIP或即时消息、以及网络日志(web-log)和网络论坛浏览(web-forum browsing)。电视机顶盒也可以连续或长时间地连接到对等网络,但仅仅适合接收视频流或文件下载。便携式计算机比家用PC具有更低的CPU能力和更小的存储空间,其是电池供电,只能短时间地连接到对等网络。它适合VoIP或即时通訊、浏览网络日志和网络论坛、接收流视频或音乐和小型文件下载。同样,移动电话具有相对较低的CPU能力和存储空间,其是由电池供电操作,仅能短时间被连接到对等网络。它仅适合VoIP和即时通訊、小型文件下载和浏览网络日志(web logs)和网络论坛(web forums)。
[0025] 对等网络路由表格包括一个输入项用于第一用户的设备组的能力路由实体。该输入项包括每个组成员的网络应用能力信息。如果对等网络的第二用户想检查第一用户是否加入了一个特别的网络应用(例如文件共享、视频流等),第二用户能够在网络路由表格内查找第一用户的能力路由实体,并获得第一用户的设备能力信息。接着,网络的第二用户发送一个消息到第一用户的具有期望应用能力的设备,请求连接。如果第一个能够应用的成员是在线的,并且能够服务该请求,它将应答该请求,并且建立期望的连接。但是,如果第一个能够应用的成员是离线的,或者不能同时服务该请求,那么该请求被发送到具有期望能力的该组下一个成员。
[0026] 为进一步描述本发明,参照图1,其显示一个对等网络,有多个连接到网络的设备用户成员。每个用户的设备在以下表格内提供。
[0027]用户 设备
Jack 手机
William 互联网输入板,基于互联网的存储器和IP电视机顶盒
Tina 台式PC
Kathy 便携式电脑(可移动的或停放的),手机,能够启用互联网的个
人视频刻录机(PVR)
Ashley 台式PC
[0028] 依照本发明,具有一组相关设备的每个用户有一个能力路由实体,其具有设备组的能力信息。设备的网络ID和描述,包括能力路由实体,将在以下表格内提供。
[0029]对等点ID 设备
21 Jack的手机
23 William的基于互联网的存储器
29 Kathy的能够启用互联网的PVR
58 William的能力路由实体
105 Kathy的便携式电脑(移动的)
230 Tina的能力路由实体
322 Tina的台式PC
933 William的IP电视机顶盒
1100 Kathy的便携式电脑(停放的)
2026 Kathy的手机
2771 Kathy的能力路由实体
3901 Ashley的台式PC
9448 William的互联网输入板
[0030] 在网络内,参与设备21和3901是已知类型的对等点。但是其余参与设备是对等组的所有成员,每个组与一个能力路由实体相连。在所述实施例里,有三个能力路由实体,每个能力路由实体在对等网络内有一个虚拟节点。第一能力路由实体是虚拟节点2771,其是一个包括网络参与设备1100、29、2026、105的对等组的能力路由实体。第二能力路由实体230是一个代表参与设备322的虚拟节点。第三能力路由实体是虚拟节点58,代表包括参与设备933、23、9448的对等组。
[0031] 在对等网络覆盖内的路由是基于CHORD分布式散列表协议,但这不是意在限制本发明的使用范围和功能,也可以使用其他分布式对等网络协议。对等网络在互联网上运行,互联网控制数据如何在对等网络成员之间路由。在CHORD协议内,对等网络的每个参与成员被安排在一个具有后继和前导的逻辑环内。每个网络成员被分配一个网络ID或节点关键字(node key),以及一个代表成员实体IP地址和端口号的网络地址。将节点关键字分割以在网络内的参与成员中间分配不同关键字值的所有权。每个成员维护一个散列表(分布式散列表的一部分),该散列表里有落在参与成员负责的关键字空间(key space)之下的参与成员的ID和地址。如果一个网络成员如源成员期望与另一个成员如目标成员进行通信,其传递一个消息给它在网络环内的后继者,以请求目标成员的地址详情。如果后继者不负责包括目标成员网络ID的关键字空间,那么它传递消息到环内的下一个成员,并依次进行,直到消息到达负责包括目标成员网络ID的关键字空间的成员。该成员使用一致性散列算法(consistent hash algorithm)来搜索一个查找表格,并找到目标成员的IP地址和端口号,其被返回到源成员,然后源成员可以请求与目标成员的直接连接。CHORD协议的完整解释和源代码可以从麻省理工学院(MIT)下载并在一个免费软件许可下使用。
[0032] 依照本发明,为了提供基于能力的路由,用于设备查找的常规分布式散列表格(DHT)可以由基于能力的分布式散列表格(CDHT)替代,其包括基于能力的实体的一个输入项,具有每个用户的能力信息,每个用户有相关的设备组。一个基于能力的分布式散列表格(CDHT)的例子如下所述。
[0033]对等点ID 对等点类型 应用能力信息 设备状态
21 终止 视频_流_源:本身 开着
23 终止 视频_流_源:无 开着
29 终止 视频_流_源:本身 开着
58 路由 视频_流_源:{933} 开着
105 终止 视频_流_源:本身 开着
230 路由 视频_流_源:{322} 开着
322 终止 视频_流_源:本身 开着
933 终止 视频_流_源:本身 开着
1100 终止 视频_流_源:本身 开着
2026 终止 视频_流_源:无 开着
2771 路由 视 频_流_源:{29,105 or 开着
1100}
3901 终止 视频_流_源:无 开着
9448 终止 视频_流_源:无 开着
[0034] 如在传统DHT内一样,CDHT包括对等点或成员ID以及实体地址(IP地址和端口号),并且包括每个网络成员的应用能力信息。能力信息包括,但不限于,类型信息,其显示节点是否是一个已知类型的终止节点或是否是一个在本发明里已知的能力路由实体,以及一个应用简介,其提供不同类型连接请求的设备能力和设备状态。为了简化表格和当前说明,应用简介仅被显示给视频流类型的连接请求。在本发明的实际实施例里,应用简介将包括一个或多个连接应用类型的信息,其包括但不限于视频流的源和目的地、大型文件下载、双向通信、网络日志(web log)和网络论坛(webforum)浏览。
[0035] 每个设备的应用简介,可能有以下三个状态中的一个状态:即另一个对等点的标识符、本身(self)或没有(none)。已知类型的节点21和3901、以及支持视频流源的其它节点具有简介“self”,显示它们可以充当一个视频流源。在虚拟节点2771内,被标识为在对等组内的视频流源,包括节点29、105和1100。因此,节点2026不能提供或充当一个视频流源,所以适合被标识为none。在虚拟节点58内,只有节点933,电视机顶盒被标识为提供一个视频流源,而节点9448和23不能提供一个视频流源,因此被标识为none。在本发明里,来自源节点的对目标节点(其是虚拟能力路由实体表示的一个对等组的成员)的地址请求最终将被传递到能力路由实体。然后,能力路由实体能够识别地址被请求的成员是否能够充当一个视频流源。在图1所述的实施例里,如果从成员2026请求一个视频流源,能力路由实体2771知道设备2026不能提供一个视频流源,从而请求根据所述成员的在线可用性被递交到设备29、105或1100中的一个设备。
[0036] 图3和4是采用本发明的流程示意图。在图3内,通过CDHT请求正常发现一个对等点(X)。从对等点X的应用简介里,找到能够从其组内接受视频流的一个列表的对等点。如果能够充当视频流源的对等点没有在线的,发出一个消息X不能充当流源。如果一个可以替换X的视频流设备是在线的,那么请求被递交到替换设备用来充当视频流源。
[0037] 依照本发明,设备回应连接请求也是可能的,而且使用其对等组的成员以便于发挥额外功能。这将在图4内描述。对等点X的一个视频流源在图3内被找到。接着,流的请求者,对等点W,将接收到一个流视频的副本,也想记录一个视频副本,但没有视频流记录应用程序或足够的磁盘空间。在对等点W的简介内,可能有一个视频流记录对等点的标识符,如一个电视机顶盒。节点W启动一个视频流对话,并同时检查以确定是否有一个W指定用于视频流记录的对等点。如果没有的话,在W上可以观看到视频流,没有记录下任何东西。如果有一个对等点是指定用于视频流记录,那么检查W是否有权力存储视频流。如果W有权力存储的话,那么再检查W是否既是观看对等点又是记录对等点。如果是的话,那么在W上既观看流又存储流,如果不是的话,那么在W和记录对等点之间建立第二连接,一个视频流副本从W被流到用于记录的记录对等点。
[0038] 应该理解,对本领域技术人员而言,显而易见的修正和改变不应该被看作超出本发明范围。例如,在典型实施例里,基于能力的实体仅是在基于能力的分布式散列表格内的一个输入项。但是,在其它实施例里,能力路由实体可能是一个相关设备组中的一个,或者另一个实质的网络成员,其保留相关设备组的能力路由信息。