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

在虚拟专用网上的对等网络

申请号 CN200810107958.5 申请日 2008-05-21 公开(公告)号 CN101330429B 公开(公告)日 2013-04-17
申请人 阿瓦雅技术有限公司; 发明人 J·柯西奥; M·马尼;
摘要 本发明提供了新的网络拓扑。更具体而言,在虚拟专用网上定义对等网络。对等网络包括在虚拟专用网内的一组指定用户,并允许他们根据对等网络本身实施的预定规则进行通信。这在对等网络的指定用户之间提供了安全通信,而与虚拟专用网无关。
权利要求

1.一种在虚拟专用网覆盖网上建立对等网络的方法,包括:

为第一组通信设备、为第一组用户、或者为第一组通信设备与第一组用户两者提供虚拟专用网(VPN)覆盖网;以及在所述VPN上定义第一对等网络和第二对等网络,所述第一对等网络是在所述VPN覆盖网上为第二组通信设备、为第二组用户、或者为第二组通信设备与第二组用户两者建立的,并且所述第二对等网络是在所述VPN覆盖网上为第三组通信设备、为第三组用户、或者为第三组通信设备与第三组用户两者建立的,其中,第二组通信设备在第一组通信设备中,并且第二组用户在第一组用户中,其中,第三组通信设备在第一组通信设备中,并且第三组用户在第一组用户中。

2.根据权利要求1的方法,其中,以下内容的其中至少一个为真:

(a)第一组通信设备包括在第二组通信设备中的所有通信设备,并且第二组通信设备不包括在第一组通信设备中的所有通信设备;以及(b)在第二组用户中的所有用户都在第一组用户中,而在第一组用户中的所有用户不都在第二组用户中。

3.根据权利要求1的方法,其中,为第二组通信设备、为第二组用户、或者为第二组通信设备与第二组用户两者定义通信策略,且其中,对在第一对等网络中以及从第一对等网络到第一组通信设备中的其余通信设备的通信,实施所述通信策略。

4.根据权利要求3的方法,其中,通信策略包括安全策略、允许、路由策略、可允许应用和加密策略的其中至少一个,且其中,策略包括与TCP/IP应用层协议、传输层协议和网络层协议的其中至少一个有关的限制和允许的其中之一,其中,为对等网络中的每个通信设备确定名称和种类的其中至少一个;为对等网络中的每个通信设备分配密钥,属于对等网络的接收通信设备接收来自发送通信设备的密钥,确定接收密钥与对等网络中通信设备的名称和种类的其中至少一个相对应,以及根据所述通信策略,允许在接收通信设备与发送通信设备之间进行通信会话。

5.根据权利要求3的方法,其中第一对等网络是在所述VPN覆盖网上为第二组用户建立的,其中,确定标识符和密钥的其中至少一个,为对等网络中的每个通信设备分配标识符和密钥的其中至少一个,其中,在通信中使用分配密钥表示提供分配密钥的用户属于第二组用户,属于对等网络的接收通信设备接收来自发送通信设备的标识符和密钥的其中至少一个,确定接收的标识符和密钥的其中至少一个与分配的标识符和密钥的其中至少一个相对应,以及根据所述通信策略,允许在接收通信设备与发送通信设备之间进行通信会话,且其中,以下内容的其中至少一个为真:分配给第二组用户中每个用户的密钥包括公共密钥;以及

为第二组用户中的每个用户分配的密钥是惟一密钥。

6.根据权利要求1的方法,其中,第一对等网络是在所述VPN覆盖网上为第二组用户建立的,且其中,第二组用户通过使用包括外部IP隧道报头、IPsec报头,和内部IP报头,TCP/UDP报头、应用专用报头和数据净荷的分组,彼此进行通信。

7.一种在公共通信网的上层建立的覆盖网中的装置,覆盖网具有彼此能够通信的第一组用户,该装置包括:管理装置,用于定义覆盖网上的多个对等网络,其中,建立的覆盖网上的所述多个对等网络中的各个对等网络包括与其关联的不同的用户组和不同的通信策略,并且其中,建立的覆盖网上的各个对等网络中的用户也在第一组用户中。

8.根据权利要求7的装置,其中以下内容的其中至少一个为真:

(a)管理装置驻留在适用于至少部分实现对等网络的服务器上;以及

(b)管理装置驻留在与属于对等网络的用户相关联的通信设备上。

9.根据权利要求7的装置,其中,在所述多个对等网络中的第一个中的通信设备想要与不在任何对等网络中的通信设备建立通信,所述多个对等网络中的第一个中的通信设备生成用于传输到不在任何对等网络中的通信设备的消息;以及通过属于所述多个对等网络中的第一个的预定通信设备对消息进行路由,将消息传送到不在任何对等网络中的通信设备。

10.根据权利要求7的装置,其中,各个对等网络包括网状拓扑和中心辐射型拓扑的其中至少一个,其中,各个对等网络中的每个通信设备适用于使用预定TCP/IP应用层协议建立彼此间的通信,其中,覆盖网包括按照网状和中心辐射型拓扑的其中至少一个配置的IPsec、L2和L3VPN覆盖网的其中至少一个。

说明书全文

在虚拟专用网上的对等网络

技术领域

[0001] 本发明通常涉及通信系统和网络。更具体而言,本发明涉及对等网络和虚拟专用网。

背景技术

[0002] 在如今的全球化经济中,跨国公司随处可见。为了使业务高效运作,安全的公司内通信信道格外重要。时至今日,已采用了从综合业务数字网(ISDN)到OC3(光载波-3)光纤范围内的租用线路。因特网提供了新的更低廉的公司内通信形态框架,称为虚拟专用网(VPN)。
[0003] VPN就其本质而言是利用公用网络(例如,因特网)将远程站点与用户连接在一起的专用网络。与使用专用连接的租用线路不同,VPN使用“虚拟”连接,通过因特网将该连接从公司专用网或中心站点路由或隧道连接至远程员工站点。“隧道”是中间程序,它承担两个连接之间盲中继的作用。可形成如通过任意数量的协议(包括因特网安全协议(IPsec)、点对点隧道协议或PPTP,和第2层隧道协议(L2TP))定义的隧道。
[0004] 扩展到远程工作者的加密VPN存在两种主要类型,即,IPsecVPN和安全套接字层/传输层安全(SSL/TLS)VPN。IPsec VPN连接在公司服务器与专用硬件或软件客户机之间。这样的VPN支持TCP或UDP业务,并可通过使用GRE(通用路由封装)将其扩展到支持其他业务类型。SSL VPN允许客户机使用通用Web浏览器连接到公司的VPN服务器。它们与IPsec VPN相比在功能方面存在更多限制,这是由于它们仅支持TCP业务。
[0005] 下面,将参照图1讨论用于实现典型VPN会话的过程。中心站点100包括防火墙104、主局端LAN 108和VPN服务器112(如IPsec或SSL VPN服务器)。远程站点116包括防火墙120、VPN客户机124和远程局端LAN 128。两个LAN 108和128通过不可信任的网络132(诸如因特网)互连。
[0006] 尽管将VPN服务器112表示成与主局端LAN 108单独连接,但VPN服务器112也可处在主局端LAN 108与防火墙104之间。或者,可将VPN服务器112集成到防火墙104。
[0007] VPN客户机124和服务器112使用隧道实现在远程通信设备和中心站点之间的安全通信。隧道将整个分组放置在另一分组内,并在不可信任的网络132上发送封装分组。隧道需要三个不同的协议,即,不可信任网络专用的载体协议(例如,IP)、封装协议(如通用路由封装或GRE、IP安全协议或IPsec、第2层转发或L2F协议、点对点隧道协议或PPTP、第2层隧道协议或L2TP、安全套接字层(SSL)、传输层安全TLS、第3层等),和所承载的原始数据(IPX、NetBeui、IP、基于IP的语言或VoIP协议)专用的乘客协议。例如,在IPsec中,将IP分组加密和封装在另一IP报头内。
[0008] VPN的创建有助于在安全主局端LAN 108和远程局端LAN 116之间建立安全通信信道。当前VPN的一个基本问题(downside)在于它们依赖于VPN服务器112实现安全通信。因此,诸如带宽之类的通信处理功能由VPN服务器112的能力进行确定和限制。另一方面,对等(P2P)网络主要依赖于网络中参与方的计算机性能和带宽,而不关心较少数量的服务器。P2P网络在用户想要共享文件和其他实时与非实时数据或通信的情形中是有用的。
[0009] 基于当前因特网的P2P网络的示例包括Skype,Nimcat,YahooInstant Messenger等。这样的P2P网络是相对简单直接连接网络,忽视了一些人需要像STUN,ICE,TURN等的仲裁服务器来解决当呼叫者和/或被叫者在网络地址转换(NAT)设备之后进行操作时的连通性,或依赖于基于因特网的非NAT中间件。这样的P2P网络不依赖于覆盖拓扑进行操作。而是,大多数P2P网络很像在通信网络中彼此进行通信的任何两个实体。此外,P2P参与方的任何分组目前不受客户机规则的驱动。而是,P2P参与方的分组传统上基于如中心服务器便于实现的规则性分组或社区以及其他策略。这使得对P2P网络的控制远离客户机。换而言之,尽管这样的网络能够分布处理任何,但当前P2P网络前并不独立于网络其余部分而完全自治。
[0010] 已建议将VPN和P2P网络进行组合。例如,在Aoyagi等人发表的题名为“ELA:A Fully Distributed VPN System over Peer-to-PeerNetwork”的IEEE论文(由此,其全文在此引作参考)中,提出了在P2P网络上的完全分布式VPN系统。在P2P网络上的完全分布式VPN系统在此称为处处局域(ELA)网络。ELA网络允许在分组的节点之间建立用于VPN的专用覆盖网,而无需任何服务器。这允许VPN系统在不通过VPN服务器用户的条件下得以构建,从而缓解处理瓶颈和VPN服务器所固有的单点失效。尽管该具体文章有助于分散传统VPN所固有的处理问题,但它并不解决与P2P网络相关的问题,P2P网络通常不是独立或自治的。

发明内容

[0011] 本发明的各个实施例和配置解决了这些以及其他需求。本发明通常针对于在VPN上实现P2P网络覆盖的系统、设备和方法。
[0012] 根据本发明的一个实施例,提供了一种方法,所述方法通常包括:
[0013] 提供用于第一组通信设备的覆盖网;以及
[0014] 在所述覆盖网上为第二组通信设备定义对等网络。
[0015] 覆盖网可建立在现有公共或专用通信网络上。在一个实施例中,覆盖网包括在诸如因特网之类的公共通信网络上建立的VPN覆盖网。
[0016] 在覆盖网上建立P2P网络允许P2P网络的成员在客户机规则驱动配置下享有彼此之间的完全自治P2P通信。根据本发明的一个实施例,可为P2P网络定义通信策略,用于控制和协调在开放式系统互连(OSI)模型或传输控制协议/网际协议(TCP/IP)模型的应用、传输和网络各层的通信,而传统P2P网络仅协调应用层的通信策略。在创建能够在P2P网络内建立安全通信的定制P2P网络时,P2P网络的自治是有用的。此外,由于P2P网络建立在覆盖网上,P2P网络必然继承与覆盖网相关的边界和某些安全策略。在一个实施例中,存在一定程度的基础结构依赖性(例如,至少依赖于覆盖网的DNS和DHCP),不过在应用层可实现P2P通信的完全自治。
[0017] 本发明的另一方面提供了用于在覆盖网上创建P2P网络的设备。根据本发明的一个实施例,设备包括用于在覆盖网上定义P2P网络的管理控制台,其中,P2P网络包括在属于覆盖网的第一组用户内的第二组用户。
[0018] 通过在覆盖网上创建P2P网络,可实现此前不能实现的P2P网络自治。因此,对于P2P网络而言有可能使用安全性、有选择控制和授权(例如,对于覆盖网的可变长度和可变控制约束),这表示P2P自治到这样的程度,即,可不根据它依赖的基础结构定义其策略。
[0019] 如此处所使用的,“用户”用于指能够使用和/或与通信设备进行交互的任何人或事。
[0020] 通过此处包含的关于本发明的披露内容,这些以及其他优点是显而易见的。上述实施例和配置并非完全或穷尽的。应该理解,本发明的其他实施例有可能以单独或组合形式使用上述或以下详细描述的一个或多个特征集。
[0021] 如此处所使用的,“至少一个”、“一个或多个”,和“和/或”实际上是连接和选择性的开放式表述。例如,表述“A,B和C的其中至少一个”、“A,B或C的其中至少一个”、“A,B和C的其中一个或多个”、“A,B或C的其中一个或多个”和“A,B和/或C”均表示单独A、单独B、单独C、A和B一起、A和C一起、B和C一起,或A,B和C一起。

附图说明

[0022] 图1表示根据现有技术的实施例的VPN系统的框图;
[0023] 图2表示根据本发明实施例的具有在覆盖网上的P2P网络的通信系统的框图;
[0024] 图3A表示根据本发明实施例的P2P网络的可能配置的框图;
[0025] 图3B表示根据本发明实施例的中心辐射型(hub-and-spoke)P2P网络细节的框图;
[0026] 图3C表示根据本发明实施例的全网状(full-meshed)P2P网络细节的框图;
[0027] 图4A表示根据本发明实施例的所采用的第一可能数据结构;
[0028] 图4B表示根据本发明实施例的所采用的第二可能数据结构;
[0029] 图5表示根据本发明实施例的创建P2P网络的方法的流程图;
[0030] 图6表示根据本发明实施例的用于在P2P网络中实现设备通信的方法的流程图;以及
[0031] 图7表示根据本发明实施例的所采用的分组结构的框图。

具体实施方式

[0032] 下面,将结合示例性通信系统描述本发明。尽管很适合用于例如使用服务器和/或数据库的系统,但本发明并非局限于用于任何具体类型的通信系统或系统元件配置。本领域技术人员应该理解,所披露的技术可用于其中需要创建P2P网络的任何通信应用中。
[0033] 此外,结合IP通信软件、模块和相关通信硬件还描述本发明的示例性系统和方法。然而,为避免对本发明造成不必要的模糊理解,以下忽略了公知结构、网络组件和设备,其可能以框图形式而被显示出,是公知的,否则会对其进行简要描述。
[0034] 出于解释的目的,给出众多细节以便提供对本发明全面的理解。然而,应该理解,除此处给出的具体细节外,本发明可采用多种方式实现。
[0035] 此外,尽管此处所示示例性实施例显示出系统配置有各种组件,应该理解,可将系统的各种组件放置在分布式网络(如通信网络和/或因特网)的远端部分,或在专用安全、不安全和/或加密系统中。从而,应该理解,可以将系统的组件组合到一个或多个设备(如企业服务器、PBX)中,或配置在分布式网络(如,模拟和/或数字通信网络)的具体节点上。从以下描述中应该理解,以及出于计算效率原因的考虑,在不影响系统操作的条件下,可将系统的组件设置在分布式网络内的任何位置处。例如,按照一个或多个用户的意愿,或其某些组合,可使得各种组件设置在广播前端服务器中。同样,可使得系统的一个或多个功能部分分布在服务器、网关、PBX和/或相关通信设备之间。
[0036] 最初,先参看图2,将根据本发明的至少某些实施例描述通信系统200。通信系统200通常包括公共或不可信任通信网络204,如因特网,覆盖网208和电路交换网212。覆盖网208可包括操作在公共通信网络204上的专用网络。根据本发明的一个实施例,覆盖网208包括VPN网络。当然,覆盖网208可包括操作在公共通信网络204上的其他类型通信网络,如Mbone,Abone,或6bone覆盖网。覆盖网208还可包括现有技术已知的任何其他类型的企业网。
[0037] 覆盖网208使用隧道形成在公共通信网络204上层的虚拟网络。VPN覆盖网208的用户能够利用专用网络的优势,如访问企业服务器,访问公司内网等,同时,保持有VPN覆盖网208的企业通过对公共通信网络204上层的覆盖网进行管理,将从由此提供的低运营成本中受益。可将VPN覆盖网208的不同节点连接到公共服务器(即,在中心辐射型配置中)或以非集中方式连接到数个不同的服务器(即,在网状配置中)。合适VPN覆盖网208的示例包括但不限于IPsec VPN、SSL/TLS VPN、开放式VPN、点对点隧道协议(PPTP)VPN、第2层隧道协议(L2TP)VPN、P2TP第3版本VPN、多协议标记交换(MPLS)VPN、第2层转发(L2F)VPN、第3层VPN、或任何其他类型的已知基于IP的VPN。
[0038] 根据本发明的至少一个实施例,覆盖网208包括此处定义的至少一个P2P网络232。更具体而言,P2P网络232建立在覆盖网208的上层。这允许不仅在其应用层,而且在传输和网络层实现完全自治的P2P网络232。这允许P2P网络232在允许IP通信设备孤立体进行P2P通信的同时,对于每层(即,网络、传输,和应用层用户访问控制或企业约束)还具有用户定义的参数。P2P网络232还继承有覆盖网208的安全特性。在覆盖网208内创建P2P网络232,能够为想要具有不同安全策略或想确保在P2P网络232成员之间的高质量通信的用户和/或通信设备(即,实体)创建自治社区。
[0039] 例如,通过在VPN中使用应用专用传输选择器,可在IPsec VPN覆盖网208的上层定义P2P网络232。应用专用传输选择器可为P2P网络232建立应用到P2P网络232的所有成员的通信策略。根据一个实施例,P2P网络232的策略与属于VPN覆盖网208但不属于P2P网络232的其他通信设备的通信策略不同。
[0040] 覆盖网208可通过防火墙216或相似类型安全设备与公共通信网络204相连。防火墙216有助于在公共通信网络204上层建立覆盖网208,同时保持覆盖网208内的安全性。防火墙216可适用于支持多个不同NAT类型以便连接多个不同的通信设备,检测来自网络外部通信设备对覆盖网208的入侵,检查病毒威胁,和执行与实现覆盖网208相关的其他功能。
[0041] 公共通信网络204和覆盖网络208的特征在于,能够支持基于分组的通信和通信协议,如网际协议(IP)通信,其运行在OSI模型或TCP/IP模型的网络层。公共通信网络204和覆盖网208可适用于通过网关220与不基于分组的网络(如电路交换网212)进行通信。电路交换网212可支持模拟和/或数字通信信号从一个端点到另一个端点的传输。从模拟和/或数字信号到基于分组的信号的转换通过网关220实现。网关220还可支持基于分组的信号到模拟和/或数字信号的转换。因此,基于分组的通信设备224经由网关220通过其各自的通信网络就能够与模拟通信设备228进行通信。此外,属于覆盖网208和/或覆盖网208内P2P网络的基于分组的通信设备还可实现与模拟通信设备228的通信。
[0042] 图3A表示根据本发明的至少某些实施例的示例性VPN覆盖网208。所示VPN覆盖网208包括三个不同的P2P网络232a-c。尽管示出在VPN覆盖网208上有三个P2P网络232,本领域技术人员应该理解,在VPN覆盖网208或任何其他类型的覆盖网208上可建立更多或更少数量的P2P网络232。根据本发明的一个实施例,VPN覆盖网208包括VPN服务器304或相似类型的前端。VPN服务器304可提供在各种P2P网络232与未分配给P2P网络的其他通信设备320之间的连接。在一个实施例中,可按照中心辐射型配置或拓扑配置VPN覆盖网208,在该拓扑中,VPN服务器304起到对SIP应用敏感的透明传输和路由器的作用。在中心辐射型拓扑中,在属于VPN覆盖网208的通信设备之间和/或P2P网络232之间的通信通过VPN服务器304进行路由。每个P2P网络232都可对VPN服务器304具有不同的依赖性,这取决于为P2P网络232建立起的策略。
[0043] 在可选实施例中,可按照网状拓扑配置VPN覆盖网208,其中,在VPN覆盖网208中的每个通信设备直接与其他通信设备进行通信,无需利用VPN服务器304。因此,当VPN覆盖网208采用网状配置时,不同P2P网络232彼此能够直接进行通信。在中心辐射型和网状类型配置中,管理VPN覆盖网208的企业可以选择在VPN服务器对IP流进行精细粒度业务访问控制。换而言之,IP业务的路由可以或不必流过VPN服务器304,这取决于正在传送的消息。
[0044] 根据本发明的实施例,可为VPN服务器304设置管理控制台308。管理控制台308可适用于基于定义的VPN覆盖网208或任何其它类型的覆盖网208,定义受约束P2P网络232。换而言之,管理控制台308可以定义什么实体能够在P2P社区内进行通信的边界。管理控制台308还可为给定P2P网络232内的实体定义策略。这有助于创建定制的安全特性和/或确保在P2P网络232的成员之间进行更可靠的通信。管理控制台308还可保持和强制实施各种P2P网络232的成员。如图3所示,P2P网络232通常包括比VPN覆盖网208中所有通信设备少的成员,但并非要求这样受限的成员。管理控制台308可保持有在VPN覆盖网208中通信设备的身份以及其各自成员的身份。
[0045] 根据一个实施例,管理控制台308可识别和区分出属于P2P网络232的通信设备312和不属于P2P网络232的通信设备320。此外,管理控制台308可保持有将具体通信设备312或用户分配到哪个P2P网络232的记录。例如,第一组通信设备312,320可属于整个VPN覆盖网208。这些通信设备的第一子集可属于第一P2P网络232a,而这些通信设备的其他子集可属于第二232b和第三232c P2P网络。根据本发明的至少某些实施例,通信设备312和/或用户可属于多个不同的P2P网络232,不过在图3中并没有明确显示出这样的实施例。
[0046] 管理控制台308可保持有关于P2P网络232成员的记录,以便实现在P2P网络232内的自治P2P通信。每个P2P网络232可自治到这样的程度,即,并不根据其赖以通信的基础结构(即,VPN覆盖网208)定义其能力和策略。管理控制台308可与P2P网络232中各种通信设备312进行通信,以便采用彼此进行通信的方式确保它们的一致性。
[0047] P2P网络232的配置和相对自治性还可根据在P2P网络232中所用通信设备的类型进行变化。第一P2P网络232a提供了第一种可能P2P网络拓扑的示例。更具体而言,第一P2P网络232a包括与在第一P2P网络232a中连接通信设备312的服务器316或类似专用处理和/或路由设备。可为服务器316设置管理控制台308以便定义和强制实施P2P网络232的策略。管理控制台308可适用于实现对成员通信设备312之间消息和数据的路由,从而,创建中心辐射型类型拓扑。然而,在具有服务器316的第一P2P网络232a中还可考虑网状拓扑。服务器316还可在第一P2P网络232a中起到一种超级节点的作用,这允许进行特定级别的监督,以便在第一P2P网络232a中的所有通信设备312都从一开始就是平等的。
[0048] 此外,在第一P2P网络232a中的通信设备312可在与不在第一P2P网络232a中的通信设备312,320的通信会话期间通过服务器316路由其输入和输出消息。因此,服务器316基本起到用于整个第一P2P网络232a,以及VPN覆盖网208其余部分和范围更广的通信系统200的路由器的作用。
[0049] 应该将此处所用术语“服务器”理解为包括PBX,企业交换机、企业服务器,或其他类型的电信系统交换机或服务器,以及其他类型的基于处理器的通信控制设备,如媒体服务器(即,电子邮件服务器、语音邮件服务器、Web服务器等),计算机,附属部件等。
[0050] 管理控制台308还可集中管理在第一P2P网络232a中通信设备之间的认证。在确保允许进行通信会话之前,可能需要在通信设备312之间进行认证。在集中管理认证的P2P网络232中,在建立连接之前,可将密钥从一个通信设备312传递到另一通信设备,或直接传递到管理控制台308。然后,如果还未这样提供接收密钥,其中作出了认证决定,可向管理控制台308提供接收密钥,认证决定可使用任何已知类型的对称或非对称认证协议做出。如果证实进行了认证(即,确定两个通信设备都属于同一P2P网络232),则管理控制台308通知接收通信设备312允许进行通信会话。然而,P2P网络232的策略仍可在通信会话期间强制执行。认证的步骤有利于帮助每个通信设备312确保其与同一P2P网络232中其他通信设备312进行安全通信会话。
[0051] 在可选实施例中,可允许在通信设备312之间进行分散认证。管理控制台308可保持有密钥及相关通信设备312的列表,并将该列表提供给第一P2P网络232中的各种通信设备312。这允许在P2P网络232中所有通信设备312都能够与另一通信设备312在启动通信会话之前进行内部认证。管理控制台308可定期向合适的通信设备312提供列表或根据请求提供列表。或者,管理控制台308可在更新列表的任何时间分发该列表。
[0052] 第二P2P网络232b提供用于P2P网络232的另一示例拓扑。第二P2P网络232b不具有起到到更大VPN覆盖网208的路由器作用,协调和管理P2P网络232的策略,和执行其他处理任务的服务器316。而是,第二P2P网络232b包括多个通信设备312,其中至少一个配备有以网状拓扑互连的管理控制台308,但在第二P2P网络232b中也可支持中心辐射型拓扑。
[0053] 在如图3所示的第二P2P网络232b中,每个通信设备312与至少两个其他通信设备312相连,从而生成网状拓扑。网状网络可通过任何通信设备312实现通信设备312之间的通信。可将包括管理控制台308的通信设备312视为老板类型通信设备312,通过它可流过某些预定义的业务,否则通过更大网状的第二P2P网络232b对其余业务进行路由。该特定拓扑有助于缓解对单个服务器316的处理要求以及整个P2P网络232单点故障的可能性。第二P2P网络232b很像第一P2P网络232a那样自治,其中,管理控制台308能够定义第二P2P网络232b专用的各种策略,而与VPN覆盖网208的通信结构无关。
[0054] 在属于第二P2P网络312的通信设备312与不属于网络的通信设备312,320之间的通信可通过指定通信设备312(即,包括管理控制台308的通信设备312)进行路由。因此,指定通信设备312起到第二P2P网络232b到通信系统200中其他P2P网络232、通信设备320和任何其他通信设备的路由器的作用。
[0055] 包含在第一P2P网络232a的服务器316中以及在第二P2P网络232b的指定通信设备312中的管理控制台308可适用于自治地运行,也就是,无需来自VPN服务器304中管理控制台308的帮助。因此,可通过其相应管理控制台308对每个P2P网络232进行本地管理。在可选实施例中,P2P网络232的管理责任可在VPN服务器304上的管理控制台308和与P2P网络232相应的管理控制台308之间共享。尽管仅示出一个通信设备312具有在其上设置的管理控制台308,本领域的技术人员应该理解,可对在VPN覆盖网208中的每个通信设备312都设置有管理控制台308,从而,为每个通信设备312提供不依赖于VPN服务器304的自治。
[0056] 第三P2P网络232c为可根据本发明实施例使用的P2P网络拓扑提供第三个示例。第三P2P网络232c不具有用于起到路由器作用的服务器316,也不具有任何本地管理控制台308。而是,第三P2P网络232c包括以网状拓扑互连的多个通信设备312,不过还可支持中心辐射型拓扑。在第三P2P网络232c中的通信设备312基本包括同样的功能,并能够以同样方式运行。在第三P2P网络232c中的每个通信设备312都可与外部通信设备进行通信,而不必通过指定通信设备312路由消息和数据。
[0057] 每个P2P网络232都可具有用于对在P2P网络232内的通信进行实施的第一组策略和对在P2P网络232外的通信进行实施的不同的第二组策略。在P2P网络232内的通信可具有更高的安全和连续性保证,这是因为在P2P网络232中进行通信时需要P2P网络232中每个通信设备312实施同样的策略。这使得在P2P网络232内的通信更加有效和可靠。
[0058] 下面参照图3B,将进一步描述根据本发明的至少某些实施例的中心辐射型P2P网络232的细节。中心辐射型P2P网络232可包括通过第一通信网络324,如因特网或某些其他分布式通信网络,与VPN服务器304进行通信的多个通信设备312的成员。VPN服务器304可与第二通信网络304,如企业网或其他类型内网,进行通信。VPN服务器328可通过第二通信网络328与管理服务器332、IPPBX 336和配置数据库340进行通信。
[0059] VPN服务器304可在P2P网络232中实现策略预置(provisioning)和实施。在中心辐射型拓扑上,预置可源自具有对VPN服务器304进行控制的连接和授权的企业中的某些实体(例如,管理服务器332)。在P2P网络232的这种拓扑中,VPN服务器304通常起到实施点的作用。策略预置可保持在配置数据库340中,以便为VPN服务器304所参考。
[0060] 通过对IP业务的分析以及在数据报和会话状态中通过应用不同深度的规则,预置的实施可发生在网络层(例如,IP层)、传输层(例如,TCP/UDP层),和/或应用层(例如,SIP,Web,SOAP等)。关于访问控制、QoS和路由实施的策略可通过在VPN上建立的P2P中心辐射型网络232中的VPN服务器304实施。
[0061] 下面参照图3C,将根据本发明的至少某些实施例,描述全网状P2P网络232模型的细节。网状P2P网络232中的策略也可通过VPN服务器304进行管理。然而,一旦制定,访问控制、QoS和路由策略则可以是分布式和自治的。在通信设备312之间的P2P通信直接在节点之间进行,并可根据在预置时间来自管理服务器332的企业配置,有选择性地通过策略条件进行控制。
[0062] 全网状P2P网络232允许所有P2P节点直接将业务传至其对等方。VPN服务器304对策略的控制在这样的拓扑中是可选。然而,VPN服务器304可形成可选控制网关将P2P网络232桥接到企业IPPBX 336(呼叫服务器)或与第二通信网络328相连接的任何其他应用服务器。VPN服务器304可基于对P2P网络232进行控制的参与策略对P2P网络232进行控制。管理服务器332可配置P2P网络232,并把控制管理委托给VPN服务器304。
[0063] 全网状P2P网络232可将控制委托给自治P2P网络232,只是以下情形除外,即,当它要在其社区外部进行通信时,如与另一P2P网络232进行通信,或动态加入和离开主企业(例如,IP PBX 336和/或内网)用户社区。
[0064] 下面,参照图4A和4B,将描述根据本发明的至少某些实施例的由管理控制台308采用的两个示例性数据结构。首先参看图4A,将根据本发明的至少某些实施例,描述以用户为中心的数据结构404。数据结构404包括用于保持在覆盖网208中P2P网络232的多个数据字段。在数据结构404中可提供的数据字段的类型包括但不限于用户字段408、通信设备字段412、ID字段416、密钥字段420、P2P网络字段424和策略字段428。
[0065] 用户字段408包含有描述或识别具体用户或用户组的数据。用户通常是成员,并可访问覆盖网208。用户还可与一个或多个通信设备相关联,这些通信设备可在通信设备字段412中加以描述。通信设备字段412可描述哪个通信设备与具体用户相关联。可与用户相关联的这样设备的示例包括,例如,计算机或膝上型计算机、传统模拟电话、基于分组的电话、VoIP电话、蜂窝电话、个人数字助理(PDA)、视频电话,和/或便携式电子邮件检索设备。关于通信设备的描述可包括关于通信设备类型的描述以及给定设备的标识符。用于具体通信设备的标识符可包括IP地址、扩展地址、端口地址、序列号,或任何其他类型的惟一或准惟一标识符。
[0066] ID字段416存储已分配给用户和/或用户相关通信设备的标识符或其他类型的惟一ID。ID用作为管理控制台308的标识符,其允许管理控制台308按照单个ID查询实体。如图4A所示,可将ID分配给用户或将其分配给与用户相关联的每个通信设备。管理控制台308还可在通信设备的认证期间和在对去往/来自通信设备的消息进行路由期间使用ID。
[0067] 可在认证期间使用的附加数据是密钥。密钥信息可保持在密钥字段420中。在密钥字段420中可为单个用户和/或通信设备保持多个密钥。在密钥字段420中可保持的一个密钥是认证密钥。在密钥字段420中可保持的第二个密钥是加密密钥。认证密钥用于对给定通信设备和/或用户进行认证,并确定通信设备和/或用户是什么P2P网络232的成员。加密密钥用于对消息进行加密,以便在P2P网络232上和/或P2P网络232外部进行传输。如果没有为给定P2P网络232定义出任何加密策略,则对用户和/或通信设备分配加密密钥是不必要的。
[0068] 根据本发明的一个实施例,对每个用户和/或通信设备分配惟一的认证密钥。使用惟一的认证密钥提供了较安全的P2P网络,这是由于在多个通信设备之间通常不会共享认证密钥。或者,管理控制台308可确定每个单个用户和/或通信设备的名称或种类,这并可让P2P网络232的其余部分知道所确定的名称或种类是什么,是他们应查找的。管理控制台308还可向P2P网络232中的其他通信设备和/或用户通知与每个种类相对应的密钥,通信设备可通过检查密钥以确定密钥是否对应信任的名称或种类,而与其他通信设备进行认证。
[0069] 如果有的话,P2P网络字段424可包含关于分配有给定用户和/或通信设备的P2P网络232的数据。可将P2P网络标记为任意数字或企业中的部门。可使用覆盖网208上的P2P网络232的实体的示例包括金融部门、工程部门、司法部门,或对工作在企业中并可访问覆盖网208的人的任何其他逻辑细分。
[0070] 除保持P2P网络标识数据外,数据结构404还可包含有给定P2P网络232的策略数据。如以上所述策略数据在每个P2P网络之间是不同的,它被存储在策略数据字段428中。为具体P2P网络232定义的策略可对在OSI模型或TCP/IP模型中应用层、传输层,或网络层的至少其中之一的操作参数进行控制。这允许从覆盖网208中的其他P2P网络独立保持和控制每个P2P网络232的安全。此外,某些P2P网络232可能需要更严格的策略用于通信的某些方面,而其他P2P网络232可能不需要这样严格的策略。在策略字段428中,概述了用于给定P2P网络232的策略,以及由此将应用到所分配用户和/或通信设备的策略。根据本发明的一个实施例,将用于给定P2P网络232的策略同样应用在分配给P2P网络232的所有实体上。在策略数据字段428中可定义的策略类型包括但不限于加密策略、安全策略、外部通信策略、应用策略、路由策略、通信业务策略,以及用于控制和协调在应用层、传输层,和/或网络层的通信的其他策略。
[0071] 尽管将单个用户表示为与多个通信设备相关联,本发明的实施例还可考虑多个用户与单个通信设备相关联。此外,即使将每个用户显示为被分配给具体的P2P网络232,本发明的至少某些实施例提供了将通信设备,而非用户,分配给P2P网络232的能力。
[0072] 下面,参照图4B,将根据本发明的至少某些实施例,描述P2P以网络为中心的数据结构432。数据结构432包括包含有与给定P2P网络相关的数据的多个数据字段。这样字段的示例包括但不限于P2P网络标识符字段436、用户字段440、ID字段444、密钥字段448和策略字段452。
[0073] P2P网络标识符字段436包含描述具体P2P网络232的信息。每个P2P网络232可设置有描述性标记或随机分配的字母数字标记。分配给具体P2P网络232的实体在用户字段440中进行识别。根据一个实施例,每个P2P网络232包括至少两个实体的成员。可将用户和/或通信设备分配给一个或多个P2P网络232。
[0074] 可给每个P2P网络232分配对于给定P2P网络232而言惟一的ID和密钥。P2P网络的ID可保持在ID字段444中,而密钥可保持在密钥字段448中。密钥可对于P2P网络232而言是惟一的,因此在P2P网络中所有用户之间所共享。密钥可包括认证密钥和/或加密密钥。当将用户和/或通信设备分配给给定P2P网络232时,可将相关密钥和/或ID发送到分配用户和/或通信设备。然后,当用户试图联系另一用户时,将密钥和/或ID发送到接收用户,以便接收用户能够验证发送用户属于同一P2P网络232,并可建立用于通信会话的策略。
[0075] 用于P2P网络232的通信策略可保持在策略字段452中。在策略字段452中描述的策略可以与以用户为中心的数据结构404的策略字段428中的策略相似。管理控制台308可利用一个或这两个数据结构404,432,以有助于在覆盖网208中保持P2P网络232,以及进一步对分配给这样P2P网络232的实体进行管理。数据结构404,432还可在给定P2P网络232中的通信设备或其他网络节点之间所共享。
[0076] 图5表示根据本发明的至少某些实施例的,创建P2P网络232的方法的流程图。方法开始于,当在公共通信网络204上建立覆盖网208(如VPN覆盖网208,以及更具体而言为IPsec VPN覆盖网)时。然后,识别出在覆盖网208中的实体,并将其保存在内存中(步骤504)。
[0077] 一旦识别出在VPN覆盖网208中的实体,方法继续进行到,识别出这些实体的子集(步骤508)。所识别的实体的子集通常比属于VPN覆盖网208的实体集合更小,并因此不包括分配给VPN覆盖网208的所有实体。
[0078] 识别出实体子集后,方法继续进行到,为实体子集定义P2P网络232(步骤512)。P2P网络232建立在VPN覆盖网208的上层,以便收到与VPN覆盖网208相关的安全利益(security benefit)。然后,允许实体子集在P2P网络232上以对等方式彼此进行通信。
[0079] 当在VPN覆盖网208上建立起P2P网络232之后,管理控制台308确定用于P2P网络232的策略(步骤516)。策略可以通过用户定义(即,由属于P2P网络232的一个或多个实体进行定义),通过系统管理员定义,和/或通过由VPN覆盖网208建立的某些基本策略进行定义。可确定出的一种类型的策略包括对于可用于在P2P网络232上进行通信的某些应用的定义。应用策略可允许或限制的合适通信应用的示例包括电子邮件、VoIP、SMS文本、聊天、即时消息传送(IM),和视频,以及在TCP/IP模型的应用层定义的协议(例如,DHCP,FTP,HTTP,POP3,SIP,SMTP,SSH,RCP,RTP,RTCP,和DNS)。在该步骤中定义的策略还可为传输层协议(例如,TCP,UDP,DCCP,SCTP,GTP等)和网络层协议(例如,IPv4,IPv6,ARP,RARP,ICMP,IGMP,RSVP,IPsec等)建立限制或许可。可确定用于P2P网络232的其他策略包括对与不属于P2P网络232的实体的通信进行管理的策略。此外,还可确定用于在P2P网络232内的消息以及传到P2P网络外部的消息的路由策略。
[0080] 确定了用于P2P网络232的策略,管理控制台308对P2P网络232的成员实体实施策略(步骤520)。在该步骤中,管理控制台308确定在同一P2P网络232内的两个实体彼此何时建立起通信会话,以及定义实体能够根据其进行通信的参数。或者,可对属于P2P网络232的每个实体提供策略信息,并且当它们确定它们正在与属于同一P2P网络232的另一实体进行通信时,实体将自动实施策略,以便有助于在P2P网络232内建立可靠且一致的通信。
[0081] 下面,参看图6,将根据本发明的至少某些实施例,描述用于在P2P网络232中实现实体通信的方法的流程图。方法开始于,管理控制台308确定用于P2P网络232中的密钥。用于P2P网络232中的密钥对于网络中的每个实体而言可以是惟一的,或者,可对于网络本身而言是惟一的。与密钥在同一P2P网络232的所有实体之间共享的情形相比,对每个实体使用惟一密钥(例如,加密和认证)的实施例可提供更高级别的安全。密钥的尺寸可为已知加密和认证协议中使用的任何尺寸。如果对于P2P网络232而言需要更高级的安全,则可采用强度较高的密钥(例如,128比特密钥)。如果对于P2P网络232而言需要更低级的安全,则可分配强度较低的密钥甚或普通ID给实体。
[0082] 在为P2P网络232(更具体而言,为属于P2P网络232的实体)确定出密钥后,将密钥分配给网络内的实体。密钥到实体的分配可仅包括在上述数据结构404,432的其中之一中将实体标识符与具体密钥相关联。或者,可将分配密钥传送到能够将其保持以用于立刻访问的实体。
[0083] 在将密钥发送到P2P网络232中的实体的情形中,当实体接收到其分配密钥(步骤612)时,方法继续进行。所采用传输协议的类型可取决于期望的安全级别。如果对于P2P网络232而言期望较高级别的安全,则可在密钥传送到分配实体之前对其进行加密。
[0084] 一旦实体接收到其各自密钥,或至少对其分配有密钥,则当一个实体启动与另一实体的通信(步骤616)时,方法继续。当将呼叫设置到另一通信设备时,或通过从通信设备或用户的列表中选择通信设备或用户,可启动通信。当启动通信时,将密钥发送到接收实体(即,不启动通信会话的通信设备)或管理控制台308,将由任一设备负责进行认证判决(步骤620)。
[0085] 之后,在合适设备处接收密钥(步骤624)。在一个实施例中,将密钥直接发送到负责进行认证的设备,并由它进行接收。在可选实施例中,可将密钥首先发送到接收通信设备,由接收通信设备进而将密钥转发到管理控制台308。当合适设备接收到密钥时,由接收设备对密钥进行分析(步骤628)。在该步骤中,分析可包括确定发送通信设备的身份是什么,什么用户与发送通信设备相关联,和/或发送通信设备与什么P2P网络232相关联。对密钥的分析还可包括某些解密步骤(如果密钥在发送时进行了加密)以及比较步骤,其中,将密钥或密钥格式与数据结构404,432中已知密钥或密钥格式进行比较。
[0086] 在对密钥进行正确分析后,确定密钥是否,以及由此发送实体是否与接收实体属于同一P2P网络232(步骤632)。在发送和接收实体属于同一P2P网络232的情形中,则管理控制台308确定将对设备间通信进行管理的通信策略(步骤636)。更具体而言,管理控制台308确定用于P2P网络232的策略。当然,如果管理控制台308驻留在每个通信设备上,则每个设备可能在建立任何通信链接之前已经知道对P2P通信进行管理的策略。
[0087] 在确定出通信策略之后,方法继续进行到,允许在各个实体之间进行通信会话(步骤640)。作为允许通信会话的一部分,由管理控制台308和/或通过通信设备自身实施为会话确定的策略(步骤644)。
[0088] 回头参照步骤632,如果对接收密钥的分析表示发送实体不属于同一P2P网络232,则方法继续进行到,判定在P2P网络232外部通信是否被允许(步骤648)。在某一P2P网络232的实体不能与不属于P2P网络232的其他实体进行通信的情形中,则实体之间的通信受到限制,且通信链路受损(步骤652)。
[0089] 另一方面,如果允许与在P2P网络232外部的实体进行通信,则方法继续进行到,确定用于涉及在P2P网络232外部通信的会话的通信策略(步骤656)。对在P2P网络232外部的通信进行管理的策略可以不同于对在P2P网络232内部的通信进行管理的策略。例如,与在P2P网络232外部的情形相比,在P2P网络232内部可实现更高级别的安全。此外,对于离开P2P网络232的通信,路由策略可以不同。例如,可将通信设备312或服务器316指定为这样的点,即,通过它对不会留在P2P网络232中或尚未从P2P网络232发出的所有消息进行路由。这基本表示属于同一覆盖网208的实体可以不必采用同样的方式彼此进行通信。当然,这样通信的特性将取决于各个实体属于哪个P2P网络232(如果有的话)。当然,通信会话将仍保持覆盖网208所布置的框架和策略作为一整体。
[0090] 一旦建立起对于在P2P网络232外部的通信会话的允许,方法继续进行到,允许在实体之间进行通信会话(步骤660)。作为允许在P2P网络232外部进行通信会话的一部分,由管理控制台308和/或通过通信设备自身实施为会话确定的策略(步骤664)。此外,如果策略表示通信将通过指定的路由设备进行路由,则通信会话继续进行通过所选路由设备对消息进行路由(步骤668)。指定的路由设备通常是至少其中一个实体的P2P网络232的一部分。此外,如果两个实体属于不同的P2P网络232,则每个均被要求通过指定的路由设备对消息进行路由,在此情形中,将通过两个预定路由设备对所有消息进行路由。
[0091] 图7表示根据本发明的至少某些实施例所采用的示例性分组结构700。对于P2P VPN的三级策略方法(也称为嵌套三重覆盖),可将分组700分成三级。分组700可包括与第一级的第一部分相对应的外部IP隧道报头704、与第一级的第二部分相对应的IPsec报头708、与第一级的第三部分相对应的内部IP报头712、与第二级相对应的TCP/UDP报头716,和与第三级相对应的应用专用报头720。分组700还可包括用于承载分组净荷的净荷段724和IPsec尾部728。可对分组700独立地以及在许多情形中并行地应用三级。内部IP报头712、TCP/UDP报头716、应用专用报头720和/或净荷段724可包括进行加密以便在不可信任网络上进行传输的分组的各段。分组700的加密部分对于VPN服务器304而言是可见或不可见的,这取决于安全策略。当VPN服务器304在创建自治性较差的P2P网络
232中实现更多控制时,加密部分对于中心辐射型P2P网络232而言是可见的。在对P2P网络232给予更少控制和更多自治的网状P2P网络232中,该部分可以是不可见的。
[0092] 第一级对应于在覆盖网208上P2P网络232的第3层策略。可将第一级分成三个不同部分。第一级的第一部分可使用外部IP隧道报头704,以在全网状配置中,将业务导向目的网状节点,或在中心辐射型配置中经由VPN服务器304导向目的P2P节点。从而,在中心辐射型配置中,分组700可包括在分组头部用于描述目的地的附加外部IP报头(未示出)。在任一配置中,外部IP隧道报头704可承载QoS信息。在外部IP隧道报头704中的信息还可用于基于目的地的访问控制和路由决策。第一级的第二部分通过IPsec报头708表示,可主要用于承载安全策略实施信息。第一级的第三部分由内部IP报头712表示,可用于承载附加实施信息以及用于中心辐射型配置的与VPN服务器304的控制相关的数据。在内部IP报头712中的信息还可改变在最终目的地处的QoS策略。
[0093] 第二级对应于在覆盖网208上P2P网络232的第4层策略。第二级利用TCP/UDP报头716存储用于在传输层处应用协议之间进行区分的信息。另外,通过使用TCP/UDP报头716可应用强访问控制。这些访问控制策略可受到VPN策略的灵活性的约束。例如,基于VPN配置为端对端的还是基于hub的,以及是否实施加密,访问控制策略可以变化。
[0094] 第三级对应于应用策略,并利用应用专用报头720存储应用专用信息。例如,应用专用报头720可用于判定SIP P2P节点用户在阻塞SIP即时消息和其他基于SIP的特性的同时是否能够进行SIP呼叫。这是专用于应用以及由此采用的SIP协议的特征策略。信息还可用于判定可允许哪些编解码器作为QoS策略的一部分以及可消耗什么带宽。它还可控制TLS加密信号和SRTP加密媒体是否可在净荷段724中传输。作为路由策略的示例,应用专用报头720还可包含用于确定某些呼叫是否应被重定向到企业中的语音邮件的信息。
[0095] 如以上所述,在三级嵌套覆盖中,如IPsec VPN配置(例如,网状或中心辐射型配置)定义的,可在基本IP层(即,第一级)实现P2P网络覆盖。第一级还可由TCP/UDP传输层或第二级进行覆盖。第二级通过使用端口号和协议(例如,TCP,UDP,或ICMP),对P2P网络要使用的不同协议(例如,SIP,SMTP,HTTP,FTP,Telnet等)进行区分。这二级都可由第三级进行覆盖,第三级定义应用级别认知。通过在中心辐射型配置中的应用层网关或模块,或对于全网状配置通过在P2P节点处的分布式应用策略配置,第三级可定义VPN服务器304逻辑。除配置时间涉及之外,管理服务器332和企业基础结构其余部分(例如,与第二通信网络328相连的设备)基于拓扑使P2P VPN处理其自治考虑和控制。
[0096] 尽管结合事件的具体顺序描述了上述流程图,应该理解,在实际不影响本发明操作的条件下,可对该顺序进行变化。另外,事件的确切顺序无需按示例性实施例给出的那样发生。此处所示示例性技术并非局限于具体给出的实施例,而是还可用于其他示例性实施例,并可单独和独立要求所描述的每个特征。
[0097] 除了或替代所述通信设备、编程微处理器或微控制器和外围集成电路元件、ASIC或其他集成电路、数字信号处理器、硬连接电子或逻辑电路(如,离散元件电路),可编程逻辑器件(如PLD,PLA,FPGA,PAL)、通信设备(如电话)、任何同样效果的装置等外,本发明的系统、方法和协议还可实现在专用计算机上。一般而言,可使用可实现状态机(其进而能够实现此处所述方法)的任何设备,来实现根据本发明的各种通信方法、协议和技术。
[0098] 此外,可通过使用用于提供可用于在各种计算机或工作站平台上的便携式源代码的对象或面向对象软件开发环境,易于用软件实现所披露方法。或者,可使用标准逻辑电路或VLSI设计用硬件部分或完全实现所披露系统。是使用软件还是硬件实现根据本发明的系统取决于系统的速度和/或效率要求、具体功能,和具体软件或硬件系统或使用的微处理器或微计算机系统。从此处所提供的功能描述中,具有计算机和通信领域一般基础知识的普通技术人员,通过使用任何已知或以后开发的系统或结构、设备和/或软件,易于用硬件和/或软件实现此处所示出的通信系统、方法和协议。
[0099] 此外,易于用这样的软件实现所披露的方法,即,能够将该软件存储在存储介质上,在控制器和存储器、专用计算机、微处理器等的协同操作下,在编程通用计算机上得以执行。在这些实例中,可将本发明的系统和方法实现为嵌在个人计算机上的程序,如applet,JAVA 或CGI脚本,作为驻留在服务器或计算机工作站上的资源,作为嵌入在专用通信系统或系统组件中的例程等。系统还可通过将系统和/或方法物理包括在软件和/或硬件系统(如,通信设备或系统的硬件和软件系统)中来实现。
[0100] 因此,根据本发明,显然给出了提供P2P网络的系统、装置和方法。尽管结合多个实施例描述了本发明,本领域普通技术人员会易于想到多个可选例、修改例和变型例。因此,本发明意在涵盖处在本发明的精神和范围内的所有这样的可选例、修改例、等效例和变型例。