CN100539602C - 瞬变网络中的动态寻址 - Google Patents
瞬变网络中的动态寻址 Download PDFInfo
- Publication number
- CN100539602C CN100539602C CNB038071738A CN03807173A CN100539602C CN 100539602 C CN100539602 C CN 100539602C CN B038071738 A CNB038071738 A CN B038071738A CN 03807173 A CN03807173 A CN 03807173A CN 100539602 C CN100539602 C CN 100539602C
- Authority
- CN
- China
- Prior art keywords
- node
- network
- content
- identifier
- reputation
- 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
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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5084—Providing for device mobility
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1048—Departure or maintenance mechanisms
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
- Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
在一方面,公开了用于在其中社区具有临时参与者的瞬变对等式联网环境下永久化标识符与关系的方法、系统以及计算机程序产品。为节点定义永久节点标识符,从而使节点能够跨越会话期与调用地标识,即使其以不同的网络地址重新进入网络。由内容资源在其遍历网络时采用的路径(例如哪些节点转发了该内容)与有关节点的声誉(例如指示其回应来自对等者的查询如何成功)一道被永久化。可以使用永久化信息导出信任关系。为了减少被交换的消息数,定义了分层式广播策略。还公开了其他方面。
Description
技术领域
本发明涉及计算机网络,更具体地讲,涉及用于瞬变联网环境(transientnetworking environment)下的方法、系统以及计算机程序产品。
背景技术
在对等(或者P2P)网络中,每个通信节点都具有这样的联网程序,该程序允许该节点启动与另一具有该程序的节点的通信。因为该网络是非集中式的,其中每个节点都具有相同的地位(对于P2P交换目的而言),所以这些节点被认为是“对等节点”。P2P网络向人们许诺会成为更加高效的网络,在其中不会浪费诸如中央处理单元(CPU)周期、存储器以及存储设备等资源。这些网络是临时的(ad hoc),因为节点可以任意加入和离开网络。由此,P2P网络可以被定义为“瞬变”网络。
现有的P2P程序提供动态查询与发现对等节点的设施。然而,现有技术有几处缺点。缺少永久的网络地址是缺点之一。由于用来向节点分配网络地址的动态寻址方案的缘故,每当特定节点进入P2P网络时,其一般都具有不同的因特网协议(IP)地址。(具有拨号帐户的用户每次登录都具有不同的IP地址。某些诸如某些数字用户线(或者“DSL”)帐户之类的“始终连接的”网络的用户对于不同的登录也可能具有不同的IP地址)。这样缺乏永久网络寻址将使节点不容易“记住”从哪里可以得到特定的服务或者内容资源。相反,当节点需要内容或者某种类型的服务时,其一般必须发出新的发现请求,然后确定是否从可能是大量的响应中进行选择。这种通信导致了猝发性很强的网络流量。
现有P2P网络的另一缺点在于其没有信任模型:因为节点不具有永久网络地址,所以不存在现有办法来永久地跟踪哪些节点被认为是可信赖的以及哪些节点被认为是不可信赖的。然后,当节点(或者该节点处的用户)选择从其获得服务或内容的对等节点时,不存在“跟踪记录”或者历史可用来确定如何从回应动态查询的节点集合中选择。这种信任模型的缺乏意味着现有P2P网络没有提供对瞬变通信成员之间安全交易的支持。(Sun Microsystem公司的JXTA项目为提供“对等组”或者“共享空间”概念的P2P体系结构,其中对等组中的节点可以发布服务。在这些服务中上有一组核心服务,其包含成员身份、访问权限以及解析器服务。所定义的方法在对等组中应用了对于身份验证、授权以及命名的客户端/服务器模型。即,保持了集中化的概念,不过只是在用户组级上。这些对等组被不正确地刻画为是瞬变社区的。类似地,Groove Networks公司的产品在对等社区(community)内提供“共享服务”集合,其中该集合包含安全、成员以及访问权限控制服务。安全机制为用于身份验证的公开密钥基础结构(“PKI”)以及与用于保密的共享保密密钥的密钥交换。因此,数字签名、数字证书以及共享安全服务所暗示的需要否定了瞬变社区的概念。)
一种应用广泛的P2P网络称为“GnutellaNet”。GnutellaNet使用以下协议,该协议允许用户直接在其计算机的存储资源之间交换文件,而不用先到“下载”网站。“Napster”是另一种公知的P2P网络实现,其中用户连接到中央网站以找到MP3音乐文件,然后从相互计算机上下载该MP3音乐文件。虽然Napster专门用于MP3文件,但是GnutellaNet允许下载任意类型的文件内容。还存在许多其他的P2P网络实现。
P2P网络具有比客户端/服务器网络更高效的潜力。该更高效率的潜力来源于以下事实:P2P网络没有中央服务器。在客户端/服务器模型中,大部分处理能力存在于中央服务器,因这里理负荷趋向于集中到该服务器上。在P2P网络中,具有在网络所有节点之间分布任务的可能,从而导致对于网络资源的更高效率的使用。P2P系统的动态性质以及其对于高效负荷分布的潜力,已经被鼓吹为使其成为信息技术(“IT”)体系结构的下一轮革命。然而,因为上述那样的限制,现有P2P网络归属与消费者以及“免费”市场,而不很适合于进行大容量商务(例如电子商务或者企业对企业交易)。(如上所述,现有P2P实现不很适合于瞬变社区内的安全交易,而这一般对电子商务至关重要)。
另外,现有P2P系统不能管理(unmanage)并且是同构的,从而使其不适于在大型健壮IT体系结构内实现P2P,在大型健壮IT体系结构内,许多不同类型的服务必须能够以可管理的方式相互操作。
需要提供以下技术:其可用来利用P2P网络的优点与潜力,同时避免现有方法的缺点与限制。
发明内容
本发明提供了用于改进对等式(peer-to-peer)计算网络的方法、系统以及计算机程序产品。在优选实施例的一个方面,该改进包含永久地标识具有瞬变网络社区的网络中的节点,在该网络社区中,构成网络的节点集合可以随时间变化。优选地,该技术包含:在每个节点初始进入该网络时向其分配初始网络地址;为这些节点的每一个创建永久节点标识符;存储初始网络地址以及永久节点标识符之间的映射;以及在每个节点以后进入该网络时使用永久节点标识符来解析每个节点的身份,即使在该以后进入时可能向该节点分配了不同的网络地址也是如此。
每当特定节点用不同的网络地址重新进入该网络时,更新对于该特定节点的所存储的映射,使得来自该特定节点的所存储的映射的网络地址由该不同的网络地址替换。
对于特定节点的永久节点标识符最好根据以下生成:该特定节点的初始网络地址、发生该初始进入网络的日期、可选地发生该初始进入网络的时间以及发生该初始进入的域的标识符。
然后,可以使用永久节点标识符来跟踪网络中每个节点的行为(例如,该特定节点如何满意地响应来自其他节点的请求)以及跟踪网络中内容资源所采用的网络遍历路径。
本发明的其他方面在从属权利要求中限定。
现在针对附图描述本发明的仅作为示例的(多个)实施方式,在附图中,相同的标号始终表示相同的元素。
附图说明
图1显示现有技术网络服务栈,其可以由本发明的实现利用;
图2提供显示本发明组件的图,包含对其在联网环境下的位置以及互连关系的抽象视图;
图3A提供样本简单对象访问协议(“SOAP”)首标,用来说明优选实施方式如何标识特定内容资源的遍历路径,并且图3B提供样本SOAP首标,用来说明优选实施方式如何标识特定节点的声誉(reputation);
图4A与4B提供示例样本可扩展标记语言(“XML”)文档,用来说明优选实施方式以及替代实施方式如何指定作为节点元数据的节点声誉;
图5提供样本XML文档,用来说明优选实施方式如何使用内容元数据描述内容资源;
图6提供样本XML文档,用来说明优选实施方式如何指定资源集合,根据优选实施方式,创建该资源集合以记录永久节点标识符与当前网络终点之间的映射以及永久内容标识符与该内容的当前存储位置之间的映射。
图7提供样本XML文档,用来说明优选实施方式如何指定内容遍历路径定义,该定义标识特定内容资源自从其进入P2P网络以来所采用的路径;
图8显示根据优选实施方式的、由P2P网络中的节点在初始化时执行的自举流程;
图9提供样本XML文档,用来说明优选实施方式如何传送在图8的自举流程过程中发出的“实况(alive)”通告消息中的声誉信息;
图10提供样本XML文档,用来说明“刺探”消息,该消息可以由优选实施方式用来在P2P网络内传播“实况”消息;
图11显示根据优选实施方式的、结点用来定位内容提供者或者服务提供者、请求内容/服务以及接收内容/服务的请求者流程;
图12提供用来说明在图11的请求者流程中优选实施方式如何广播查询的样本SOAP外壳(envelope),而图13提供用来显示节点可以如何向应该查询的样本SOAP外壳;
图14提供示例超文本传输协议(“HTTP”)请求消息,其包含SOAP外壳,用来说明在图11的请求者流程期间,优选实施方式如何从选定节点请求发送内容/服务,而图15提供示例HTTP响应消息用来显示如何向请求者发送所请求的内容或者所请求的服务的结果;
图16显示根据优选实施方式的、结点用来响应来自请求者的查询、并且如果由该请求者选定,则用所请求的内容或者所请求的服务的结果进行响应的提供者流程;
图17A-17C显示可以用于这里所公开的可选系统管理功能的样本首标;以及
图18显示可以由提供可选系统管理功能的系统节点实现的管理流程。
具体实施方式
以下描述的(多种)实施方式定义了改进P2P网络操作的技术。向每个网络参与者(即节点)分配永久标识符,使得在节点离开并重新进入网络之后能够被识别。由遍历网络的内容所采用的路径被跟踪并且是永久的。如这里所公开的,将内容路径以及前后关系节点信息永久化将能够在各次启动之间保持对等关系。因此,所公开的技术克服了现有技术的缺点,使对等设备之间的关系能够在单一会话之外持续,即使参与者进行通信的社区为严格定义的瞬变网络。
所公开的技术支持P2P网络固有的动态网络寻址特性,同时提供对异构网络节点的支持。永久化信息可以被用来支持商务企业操作,包括网络管理、交易以及安全策略的应用。
另外,所公开的技术有利于提供自修复网络。自修复网络是这样的网络,其中网络在运行时进行任务管理/监视,而独立于人的干预或者由独立的计算系统进行的管理。这里所公开的技术使节点能够培养与其对等者的关系,并且将该信息永久化,从而可以发现对于性能或者功能完整性的恶意的或者表现不好节点(然后一旦检测到,就可以防止它们对网络产生不利影响)。(参看http://www.research.ibm.com/automatic/,其一般性地讨论了自修复网络的概念,使用了术语“自动计算”。这里所描述的技术不解释没有集中式授权的瞬变网络社区中的自修复。)
这里所公开的技术还有利于提高P2P网络操作中的效率。与在现有P2P网络中需要向整个子网广播查询不同,本发明公开了一种分级广播技术,其利用网络中节点的永久化知识来减少所生成的网络流量。
在一般P2P网络中将共存各种对等节点。对等网络自身可以表示一组垂直对等者,这些垂直对等者以消费者/供应者关系相互交互(例如,进行包括可被定义为子服务之间的有向图的服务的一系列相关业务活动)。或者,该网络可以表示一组提供共有功能的水平对等者。本发明的技术可以用来改进P2P体系结构,以向这些节点提供自动化以及管理功能。
作为例子,一组对等节点可以在存储区网络(或者“SAN”)内提供存储资源。存储服务提供者(“SSP”)以顾客订阅或者每次使用付费(pay-per-use)为基础维护SAN,并且一般订立了服务级协议(“SLA”),该协议指定SSP对于这些顾客的服务承诺。如果SLA承诺不兑现,则客户收费可能受到不利影响。在P2P网络中,需要存储的节点可以发出动态网络查询,以找到提供该能力的其他节点。在现有P2P网络中具有这种类型的对等者动态查询与发现。然而,如上所述,现有P2P网络不具备信任模型,并且无法知道如何选择一个“良好的”提供存储的节点。通过使用本发明的技术,SSP可以管理自主存储分区作为P2P存储设备,其具有在实时确定的声誉,该声誉反映当前将存储请求处理得如何。通过使用这种动态求得的信息,可以确定最能够响应存储请求的存储设备,从而有利于对请求者的存储器动态分配。另外,使用本发明的技术能够更容易地找到可以回应特定内容请求的特定存储资源。(存储节点将存储请求处理得如何可以包含响应请求的成功率、节点响应请求的效率如何、节点的可用存储能力、从该节点可以得到哪些内容等等)。
通过将内容路径以及前后关系节点信息永久化,如以下将详述的那样,对等节点能够跨越会话地维持它们相互之间的关系以及其对于相互的了解——即使一或多个节点可能离开并随后重新进入该P2P网络(其中这些重新进入的节点一般具有变化的网络地址)。另外,根据这里公开的技术,当获得有关特定节点的前后关系信息时,该节点发展这里所称的“声誉”。然后,可以将该声誉用作信任模型的基础。以下将更详细地描述声誉。(参看图4A与4B的讨论,其描述了为节点声誉最好永久化的信息)。
通过对P2P联网使用网络服务模型以及网络服务方法,来部署本发明的优选实施方式,如下参考图1所述,然而所公开的技术也可以用于其他环境。这里所讨论的本发明的有利技术主要是应用到文件共享(即找到从哪个节点可以得到哪些内容;记住遍历网络时特定内容采用的路径;从对等者请求内容以及收到该内容等等)。然而,这只是为了说明的目的,而不是限定。除了简单的文件共享之外,所公开的技术可以用于更复杂的交互。例如,如本领域公知,网络服务模型有利于进行复杂交互。一般地,“网络服务”为描述网络可访问操作的集合的界面。网络服务实现特定任务或者一组任务,并且可以以可互操作的方式与一或多个其他网络服务一起工作以执行复杂工作流中它们的那部分,或者定义为网络服务的业务交易。作为例子,完成复杂购买定单交易可以要求订购业务处的定单布置服务(即定单布置软件)与其一或多个业务伙伴处的定单满足服务之间的自动交互。当该过程被描述为网络服务时,使用本发明技术的节点可以定位能够执行该服务的对等节点,并且选择特定节点(例如,根据节点的声誉)。得到请求时,被定位的对等节点进行该服务(其一般包含许多子服务),然后返回该服务的结果给请求节点。
网络服务技术是本领域的公知机制,用于诸如万维网等客户端/服务器网络中的分布式应用集成,并且该技术允许在这些网络中分布式网络访问用于程序到程序操作的软件。网络服务利用许多开放式基于网络的标准,例如HTTP、SOAP、和/或XML协议、网络服务描述语言(“WSDL”)以及通用描述、发现以及集成(“UDDI)。HTTP一般用来通过诸如因特网之类的TCP/IP(“传输控制协议/因特网协议”)网络交换消息。SOAP为基于XML的协议,用来在分布式环境下调用方法。XML协议为万维网联盟(“W3C”)的正在演进的规范,用于设计用来使能应用到应用消息的应用层传送协议。XML协议可能与SOAP结合。WSDL为一种XML格式,用来描述分布式网络协议。UDDI是一种基于XML的注册表技术,使用该技术,各个公司可以列出其服务,而各个服务请求者可以找到提供特定服务的公司。
客户端/服务器网络中的分布式应用集成通过以下方式实现:发出UDDI请求以通过UDDI注册表定位分布式服务,并且通过使用以使用SOAP/XML协议以及HTTP消息的、与平台无关的WSDL格式传递的服务信息来动态地将请求者绑定于所定位的服务。(这里对于SOAP的引用应该被理解为对等地引用XML协议的语义上类似的方面。)通过使用这些组件,网络服务向请求者提供对可能驻留在一或多个远程位置的程序组件的透明访问,即使这些组件可能运行在与请求者不同的操作系统上,并且以不同的编程语言编写。(对于SOAP的更多的信息,参见http:/www.w3.org/TR/2000/NOTES-SOAP-20000508,标题为“Simple Object Access Protocol(SOAP)1.1,W3C Note(2000年5月8日)”。对于有关XML的更多的信息,参见http://www.w3.org/2000/xp。对于有关XML的更多WSDL的信息,参见http://www.w3.org/TR/2001/NOTE-wsd1-20010315,标题为"Web Services Description Language(WSDL)1.1,W3C Note(2001年3月15日)"。对于有关UDDI的更多WSDL的信息,参见http://www.uddi.org/specification.html。在因特网工程任务组的请求注解(“RFC”)2616中描述了HTTP,标题为"Hypertext TransferProtocol-HTTP/1.1"(1999年6月))。
现在参考图1,这里所公开的技术的优选实施方式利用IBM网络服务互操作栈100,以提供对于P2P网络内节点之间通信的底层支持。然而这只是用于说明,而非限定:在不脱离这里所公开的本发明的概念的情况下,也可以使用其他支持机制。现在将描述网络服务互操作栈100的组件。
优选地,使用有向图来对在使用现有技术执行包含多个子服务的网络服务时所涉及的操作建模。例如,参看共同受让的美国专利申请(序列号09/956276,01年9月19日提交,标题为"Dynamic,Real-Time Integrationof Software Resources through Services of a Content Framework")。在这里公开的技术中,该图的节点表示当进行服务时所进行的操作(其中这些服务也可称为子服务),并且连接图节点的图的边表示从一种服务操作到另一服务操作的可能转移。这些图边,或者“服务链路”可以用一或多个转移条件限定,并且如果适用的话还可以用数据映射信息限定。这些条件指定应该在何种条件下调用下一个链接的服务。通常使用先前服务调用的结果来确定这些条件。数据映射指以下能力链接有向图的各个操作并将一种操作的数据转移到另一种操作。例如,数据映射信息可以指示一种子服务的输出参数可以被映射到另一子服务的输入参数。
优选地,网络服务流语言(“WSFL”)用于支持这些有向图。这在图1中由服务流支持110表示。WSFL引擎处理有向图以进行复杂网络服务的方式与理解本发明无关,因而不在这里详细描述。对于WSFL的详细描述可见WSFL规范,标题为“Web Services Flow Language(WSFL 1.0)”(F.Leymann教授、博士,2001年5月)。该文档可以从IMB得到,也可以通过因特网在http://www-4.ibm.com/software/solutions/webservices/pdf/WSFL.pdf得到。
优选地,使用访问UDDI注册表的UDDI消息来提供网络服务(例如可从P2P网络中的各个节点得到的网络服务)的自动发现120与发布130。WSDL层140支持服务描述文档。SOAP可以用来提供基于XML的消息150。诸如HTTP、文件传送协议(“FTP”)、电子邮件、消息队列(“MQ”)之类的协议可以用于网络支持160。在运行时,可以使用UDDI服务发现过程在注册表内发现服务,并且将该服务绑定使用来自其WSDL定义的信息。然后,运行时的WSFL使用这些定义以汇集服务。
根据本发明的优选实施方式,通过使用从UDDI注册表检索的信息来促进文件共享操作,并且可以以同样的方式支持更复杂的网络服务。(参看以下对图2的讨论,以获得对注册表使用的更多信息)。
本实施方式公开了以下技术:通过该技术,可以将P2P网络中的节点建模为类别,而非严格的对等者。例如,本实施方式描述“系统”节点。这里所使用的术语“系统节点”指P2P网络中的以下节点:该节点提供在现有客户端/服务器网络中由系统管理员管理的类型的功能。这些功能包含诸如网络管理、负载平衡、监视、安全之类的网络操作。具有实现本发明的节点的P2P网络可以跨越局域网以及企业,并且只受到万维网范围的限制。(例如,参见对“刺探”消息的讨论,该消息使节点能够了解可能位于不同子网上的节点)。而在另一方面,在现有P2P网络中,由于监视IP地址的过滤器的配置,广播业务流一般限于子网内的节点)。因此,各种类别的节点可以加入该网络,并且新类型的节点也可以加入该网络;通过使用这里所公开的技术,这以无干扰的方式发生。
节点(尤其系统节点)类别的概念是本发明的可选方面,并且可以用来创建P2P网络的混合形式,其中某些节点指挥其他节点或者影响由这些节点存储的信息。以下将更详细地描述系统节点可用的特殊功能。
根据优选实施方式,实现本发明一或多个方面的节点使用在Apache可扩展交互系统(“AXIS”)引擎环境内运行的网络服务模型,该引擎具有利用AXIS链接框架的处理器。(对于Apache AXIS的更多信息,参见ttp://xml.apache.org/axis/index.html,其为Apache Sof tware Foundation对于SOAP协议的实现)。
“AXIS”为SOAP服务的运行时间环境,其中网络服务使用容器模型运行。称为“路由器”的servlet接收入站(inbound)SOAP请求消息,确定需要哪些节点来执行该请求,并行化该代码所需的对象,并且调用该代码。当被调用的代码完成执行时,路由器将结果串行化为出站(outbound)SOAP响应消息。
术语“AXIS链”指消息处理器的可配置“链”或者序列,其指示对于入站与出站消息的执行顺序。“处理器”是实现特定功能的可执行代码,并且可以与其他处理器的功能(通过链接机制)链接。处理器进行SOAP请求的预处理或者后处理。部署描述符被用于指定如何部署特定服务,包括如何串行化/并行化该服务所使用的对象以及使用哪些AXIS处理器链。例如,SOAP消息交换可能使用加密数据。在收到包含加密数据的消息时,解密处理器将解密该数据(作为预处理步骤),并且将其传递给适当的消息处理代码。当结果返回时,在以另一SOAP消息发送结果之前加密处理器加密该结果(作为后处理步骤)。
AXIS引擎支持三种类型的处理器链。一种是传送链,指定消息传送机制(诸如HTTP)。另一种是服务特有链。例如,对于特定服务“XYZ”,服务特有链规定当收到对于服务XYZ的消息或者由服务XYZ生成消息时调用哪些处理器。第三种处理器为全局处理器,指定对所有消息都调用的处理器。
图2显示优选实施方式中所使用的组件,其抽象地显示了如何在网络环境下定位以及互连这些组件。现在描述这些组件。
在优选实施方式下,运行时引擎220包含AXIS执行引擎225;全局处理器链中的三个AXIS处理器230、235、240;链接库245;元数据库150;以及数字证书库255。优选地,该运行时引擎220在网络服务内实现,由网络服务200代表。可选地,网络服务可以选择实现tModel实例205。从现有技术可知,tModel指示由网络服务实现的行为或者规范。tModel存储在UDDI注册表中,以促进扫描注册表寻找特定服务的实现。tModel可以在本发明优选实施方式环境内使用,以指定网络服务所支持的查询类型。一或多个内容库(例如内容库210)存储节点的本地内容和/或对可由运行时引擎220所代表的节点访问的、位于远程的内容的引用。
在优选实施方式中使用了三个AXIS处理器(以下将详细描述),并且这里被称为“路径声明器”230、“流言传播器”235以及数字签名(“DSIG”)处理器240。现在描述这些处理器。
如上所述,本发明的一或多个方面定义了以下技术:该技术用来永久化前后关系节点信息以及在P2P网络节点间共享的内容所遍历的路径。路径声明器230管理被永久化的内容路径,这里定义其为使用有向图模型。在这些有向图中,图节点对应于内容通过其流动的对等节点,并且图弧线表示内容在由每个边连接的节点之间传递。(不要将这些有向图混同于先前描述的有向图,先前描述的有向图用来定义复杂网络服务交互,并且使用WSFL支持。)
根据优选实施方式,XML链接(“XLink”)语言被用作表示定义被永久化的内容路径的有向图的手段。XLink语言在"XML Linking Language(XLink)Version 1.0,W3C Recommendation(2001年6月27日)"中定义,其可以从因特网地址http://www.w3.org/TR/xlink/处找到。如本领域公知,XLink语法可以用来定义简单的、标记型的链接(包含指向位于远程的资源的出站链接以及标识链接到本地节点的资源的入站链接),或者更复杂的“扩展”链接。(然后现有技术不知道这里公开的XLink链接。)扩展链接用来表示节点以及其间的弧线的图。一种类型的扩展链接为“第三方”链接。第三方XLink关联远程资源,意味着该链接定义独立于其链接在一起的内容地存储。以下描述的图7图解了本发明的优选实施方式如何利用XLink来永久化内容遍历定义(或者更一般地,消息遍历路径定义)。
注意,虽然这里使用记住由内容资源所采用的路径的被永久化的路径定义来描述优选实施方式,但这只是作为说明而非限定。路径定义也可以为其他信息永久化,诸如执行服务的结果。因此,这里所使用的术语“内容”可以解释为表示节点之间传送的任意类型的信息,并且尤其是,“内容”用作指已经生成的内容或者可以通过请求节点执行服务而生成的内容的简称。另外,被永久化的路径可以解释为表示消息的路径而不管该消息所承载的信息类型。
当第三方XLink集合在XML文档中一起存储时,该集合被称为“链接库”或者“链接库文档”。因此,这里所使用的术语“链接库”指表示为第三方XLink的遍历路径的集合。使用这里所公开的格式来定义链接库标识符,以唯一地标识P2P网络中的节点。(对于有关链接库标识符的更多信息,参见以下图4A的讨论)。
因此,路径声明器230管理永久化的消息路径作为链接库。这些链接库包含链接集合,其中链接集合定义特定内容资源所遍历的路径,要下将详细讨论这些链接库。
路径声明器230负责将图3A所示格式的SOAP首标附加到出站SOAP消息上,以传递内容遍历信息。该首标300包含<traversalPathref>标记305(在图3A的例子中,该标记在前面附加有命名空间标识符“p”,表示“路径”),并且该<traversalPathref>标记提供对于存储所指定的内容在对等网络内的遍历路径的链接集合的引用310。在图3A的例子中,“href”属性310的值指示该遍历路径存储在链接库文档中,该链接库文档可以使用统一资源定位符(“URL”)“http://9.56.34.12/linkbase/1b.xml”访问。
在收到具有进入的<traversalPathref>元素的SOAP首标时,接收器的路径声明器230负责相应地更新接收器的链接库。该处理包含将弧线中的接收节点的LBuuid添加到由引用310标识的遍历路径的尾部。(因此,如果接收节点随后转发与该遍历路径相关的内容,则在参考图3A描述的SOAP首标中标识的修改后的遍历路径将正确地标识转发的节点)。对于有关遍历路径如何标识节点之间路径的更多信息,参见以下图7。
流言传播器235管理作为有关节点的元数据的声誉。另外,流言传播器235将处理内容元数据,并且当修改节点声誉时,评估该内容元数据。本发明的优选实施方式利用资源描述框架(“RDF”)概念(notion)来指定描述内容与节点两者的元数据。(RDF为设计用来指定基于网络的元数据的概念。对于有关RDF的更多的信息,参见"Resource Description Framework,(RDF)Model and Syntax Specification,W3C Recommendation(1999年2月22日)",由W3C在因特网http://www.w3.org/TR/REC-rdf-syntax/提供)。因为(如上所述)P2P网络是高度分布的,并且节点的IP地址可以随时间变化,所以这里所公开的流言传播器提供了一种演进式的信任模型,其中信任随时间演进。开始时,节点信任自己,并且随着时间节点收集有关其通过与其对等者交互而收到的内容以及该内容所采用的路径的元数据。所收集的元数据可以被当作提供了某种历史或者审计记录。从特定对等者收到具有正面结果的内容越多,与该对等者的信任关系越强。可选地,节点也可以从其对等者获取的关系信息中导出信任,其中该关系信息描述这些节点已经如何与其他对等节点进行了的交互(对于所述其他对等节点,该节点可能自己还没有交互过)。
现在参考图4A与4B,其中显示了指定声誉数据优选以及替换技术。在优选实施方式中,节点的声誉数据包含该节点所提供的服务和/或可以从该节点得到的内容的指示以及该节点所提供的服务质量。节点的声誉最好实现为从节点发送来(并且由接收器存储)的消息中的元数据。在优选实施方式中,服务质量被指定为表示该特定节点回应网络中其他节点的数字值(称为“地位”值),该数字值表示该特定节点回应其从网络中其他节点接收的查询如何成功。节点声誉的服务质量部分在某些情况下指示恶意节点(例如,已经展示成为恶意代理或者资源来源的趋势的节点)。将声誉与动态寻址节点关联的能力有利于在非集中式P2P世界中的信任,并且一旦可以得到声誉信息,可以将使用安全策略的信任模型应用到P2P交互。由此而去除P2P网络中电子商务的主要阻碍。(注意虽然这里描述的优选实施方式针对动态了解的声誉,但是在特定实施方式中可能希望初始化或者提前配置一或多个节点的声誉,例如为了允许系统管理员进行系统管理,并且这样的实现方式被认为是落入本发明的范围内。该方法可以用来给予选定节点相对较高的地位,从而在实际上将这些节点标定为系统节点)
根据优选实施方式,使用链接库标识符(“ID”)或者“LBuuid”来标识P2P网络中的瞬变节点,其中该LBuuid具有以下形式:
(IP地址-日期-时间-域)
并且建立在统一资源标识符或者“UUID”的概念模型之上。UUID是本领域唯一标识公共因特网上的对象或者实体的公知技术。(然而,LBuuid格式不是公知的。现有技术的UUID一般包含对生成该UUID的主机的IP地址、时间戳以及用来保证唯一性的随机生成部分的引用。)
作为这里公开的LBuuid的例子,由图4A的文档400中的样本声誉表示的节点具有LBuuid
9.37.43.2-05/04/01-12:02:05:37-Netzero.net
其被显示为<Description>标签405“about”属性410的值。在这个例子中,IP地址部分为“9.37.43.2”,日期部分为“05/04/01”,时间部分为“12:02:05:37”,域部分为“Netzero.net”。如这里所定义的,该信息指示节点在首次进入P2P网络时的原始IP地址为“9.37.43.2”,并且该初始进入该网络发生于日期“05/04/01”,时间“12:02:05:37”,在网络域“Netzero.net”。如这里所公开的,此后该LBuuid将被用来标识该特定节点,从而使该节点的声誉能够被永久化,并且还允许待解析的内容路径遍历定义中对于该节点的引用。
应该注意,在给定的时间点,由图4A中的LBuuid表示的节点的当前IP地址并不保证为在该LBuuid中指示的IP地址,并且很可能是在随后进入P2P网络时从动态地址分配方案获得的某个其他值。通过存储在资源集合中的映射,永久地代表节点的LBuuid与节点当前地址相关联(以下将参考图6描述资源集合)。
<Description>标签405托起该节点的声誉信息。在这个例子中,指定了标题为<QuerySet>的子标签415,并且该子标签具有“stature”(地位)属性。在优选实施方式中,地位属性具有表示该节点执行查询如何成功(或不成功)的数字值。地位属性值最好指定为-1至+1范围内的非整数值,其中负地位值表示恶意节点。优选地,还指定相应的“totalQueries”属性,其值为表示该节点处理过的查询总数的整数。因此,在图4A的例子中,节点收到了2145个查询,并且已经成功地执行了这些查询的34%。(在该例子中显示了可选的“ID”属性,其使用常规UUID格式来提供用来唯一标识该查询集合415的值。)
在替代实施方式中,地位(即成功率)信息可以与独立查询相关联,而不是与整个查询集合相关联。图4B中显示了替代方案,其中在<Query>标签而不是在<QuerySet>标签中指定“stature”与“totalQueries”属性。以下将会看到,在不脱离本发明原理的前提下也可以使用对地位信息的其他表示方法。例如,可以使用单个属性,其具有格式为“2145的34%”或者“34,2145”的值。作为另一替代方案,与使用-1至+1范围内的地位值不同,可以使用分离的属性来指示不成功(或者恶意)结果以及成功结果;或者,可以使用计数器而不是百分比。
返回图4A的讨论,在用于优选实施方式的语法中,<QuerySet>标签415具有一个或多个<Query>子元素,其中该<Query>元素集合列举了该节点可以满足的查询集合(最好表示为正则表达式)。在这个例子中,该节点可以满足三种不同的查询420、425、430。
第一个<Query>标签420的正则表达式语法指示该节点可以处理形式为“purchase-order999-9999-999”的查询,即文本字串“purchase_order(购买订单)”后跟着三个数字值、连字符、四个数字值、另一连字符以及三个数字值。(在这里使用的例子中,这些数字字段用来指定客户号码。)
在示范查询集合中的第二个<Query>标签425指示该节点可以处理表达为“partner profile list(伙伴简档列表)”的文本字串。第三个<Query>标签430表示为以“-NDA.GIFf”结束的文本字串的查询。
可选地,可以使用不同或者附加的信息来确定节点声誉,由此图4A与4B表示的信息是用于说明目的而非限制。例如,它可能有利于跟踪节点的效率,而声誉数据可以用于此目的。如果将效率度量为处理查询的响应时间(例如),则可以将响应时间属性添加到节点声誉(或者作为使用图4B的方法查询特有值或者更一般地使用图4A的方法的查询特有值)。如上所述,节点声誉由流言传播器处理器处理,因此,这里描述的声誉处理可以根据需要由处理器扩展,以支持附加的或者不同类型的声誉数据。
跟踪节点的效率有助于在内容/服务提供者中进行比在现有技术P2P网络中可得的选择更明智的选择。当用于先前讨论的SSP环境时,使用该节点效率信息的SSP可以对如何选择存储资源与提供存储资源进行运行时间判决,由此改进了对于SSP客户的服务,并且增加了满足SLA中承诺的可能性。
声誉向远程节点提供了有关节点能力的暗示,并且如这里所述,以节点响应查询的能力的形式提供该信息。当用于文件共享目的时,向节点发出查询表示问该节点“你有符合该描述的文件吗?”。响应节点提供其声誉以通知请求者其可以回应该查询(即其能够提供所请求的文件),并且还指示其在过去提供文件(使用图4A的方法)或者提供该特定文件(使用图4B的方法)如何成功。
现在参考图5,显示了说明用于指定内容元数据(即有关特定内容的信息)的优选技术的例子。通过使用这种形式的元数据信息,节点能够编程地确定其能够响应哪些查询。在优选实施方式中,使用RDF来以类似RDF用于声誉元数据(参考图4A与4B)的方式指定内容元数据。如图5中的例子所示,<Description>标签505的“about”属性510指定文档500所描述内容的标识符。根据优选实施方式,“about”属性值为指定存储响应特定查询的内容的文件名称或者其他存储位置的标识符。因此,在这个例子中,该内容存储在位置“purchase_order 123-4567-890.Xml”。该标识符用作可以用来将内容元数据与实际内容相关联的永久内容键值。
在该例子句法中,<Description>标签505具有子标签<Creator>515(创建者)以及<synopsis>520(概述)。<Creator>标签最好具有日期属性与时间属性,其值指定所描述内容的创建日期和时间。(可替代地,日期和时间可以组合为单一的“Date_Time”属性。)<Creator>标签515的值标识创建该内容的人(在这个例子中)。可替代地,进程标识符可以用作<Creator>标签(例如该内容来源的P2P节点的LBuuid)的值。<synopsis>标签520最好具有自由文本值,并且可以用来提供相应内容的人类可读描述。由此,在这个例子中,<synopsis>520表示在“purchase_order123-4567-890.xml”处存储的内容为AMEX顾客的第123-4567-890号购买定单。
可以向人类用户呈现在<Description>元素中的信息或者其选定部分,例如来帮助该人从多个候选者中选择内容/服务提供者。在自动化程度更高的环境中,来自<Description>元素的信息可以由编程选择进程分析。将会看到,在该例子中显示的内容元数据只是说明可以存储的信息类型以及可以表达该信息的格式。
流言传播器负责将图3B中所示的格式的SOAP首标附加于出站SOAP消息,以向接收节点通告声誉信息。该附加声誉首标350包含<reputationRef>标签355,其提供(使用“href”属性260)对于存储发送节点声誉的声誉库的引用。(所存储的声誉信息有关于发送节点自身,并且最好还包含有关发送节点所知的对等节点的声誉信息。)
接收器的流言传播器235在入站SOAP消息中找到作为首标字段的声誉元数据,并且如下所述地处理该声誉元数据。
数字签名处理器240数字地签名消息实体,以确保消息完整性以及发送者真实性。该处理器最好遵循W3C的SOAP数字签名规范,并且利用PKI来管理证书以及施加/验证签名。SOAP数字签名与PKI技术在本领域是公知的,这里不再详细描述。
如果系统节点被给予了适当的AXIS处理器或者流言传播器特权,则系统节点就可以实际地直接读取/写入远程对等者链接库与元数据库,例如,用来强行将自身添加到对等组中,插入内容遍历路径定义,或者管理对等者的声誉(例如修改节点X的所存储的声誉信息,使得其现在将节点X的对等组的成员Z标识为恶意的)。优选地,使用新的AXIS处理器来实现这种类型的系统管理功能,其中可以将该系统管理功能当作超级流言传播器,因为它能够超越其他流言传播器的作用。或者,当支持多种类别的节点时,可以修改现有的AXIS处理器以识别类别标识符,并且确定相应节点可以访问哪些操作。例如,正当“类别0”节点(即缺省对等节点)可以进行查询并且声明其声誉、遍历路径等等时,另一“类别N”的节点(诸如这里所描述的系统节点)可以被允许来读取并写入各个链接库与库,从而在实际上管理节点所维护的网络视图。(对于有关使用附加AXIS处理器来实现系统管理功能的更多的信息,参见以下图17A-17C以及18)
现在返回在链接库中存储的内容路径的讨论,根据本发明优选实施方式的链接库包含易失部分与永久部分。这里易失部分被称为“资源集合”,而永久部分是遍历路径定义集合。图6的XML文档600图解资源集合。资源集合被定义为XLink定位符链接的集合。一组此类链接用来定义当前节点所知的每个节点的动态分配的网络地址与被永久化的LBuuid值之间的映射。这些链接作为<node>元素指定。另一组用来定义将所下载的内容描述映射为该内容当前在本地内容库中所在位置的链接。这些链接作为<content>元素指定。
链接库资源集合最好作为内存驻留表存储,以允许对于映射的快速查找。因此,如果节点希望与对等节点交互,则其可以查询该表以找到该节点的当前地址。存储资源集合的文档的根元素为<ResourceSet>,其被定义为扩展XLink(参见605处的“type”属性。)
如图6所示,头三个元素610、630、645为定义新近解析的网络终点(即URL)与永久链接库ID之间映射的<node>元素。<node>元素的“href”属性标识该新终点,“role”属性标识被永久化的LBuuid。第四个元素660是指定内容资源并且标识已经从对等网络下载的本地内容的<content>元素。<content>元素的“href”属性标识该内容的当前存储位置,“role”属性标识被永久化的存储位置标识符。
每个<node>元素都是这样的定位符XLink(例如参看615处的“type”属性),它具有指示正在维护具有等于“role”属性值的ID的链接库的节点网络终点的“href”属性。例如,“href”属性620具有值“http://9.56.34.12/soap/rpcrouter”。根据元素615内的映射,该URL表示管理具有永久LBuuid“9.37.43.2-05/04/01-12:02:05:37-NetZero.net”的链接库的节点。第一个<node>元素610有关于本地节点(具有其值设置为“true”的“local”属性),而其他<node>元素630,645有关于远程节点(具有其值设置为“false”的“local”属性)。
<content>元素660也是定位符XLink。该映射的“href”属性665指示存储位置“file://usr/awesley/etc/downloads/purchase_order123-4567-890.xml”当前用来保存标识为“purchase_order123-4567-890.xml”的本地内容(参看“role”属性670)。
链接库的永久部分(即遍历路径定义)在资源集合内由表示特定内容资源从一个节点到另一节点的遍历路径的弧线集合表示,其中节点由其各自的链接库ID标识。
现在参考图7,提供了样本遍历路径700。该样本图解有向图如何用于跟踪在其进入P2P网络之后,由内容资源所采用的路径。使用<traversalPath>元素来指定遍历路径。在该例子中由元素710与735表示的一或多个<arc>元素为具有“arc”(弧线)的“type”属性的XLink元素。这些<arc>属性值指定内容从一个节点到另一节点的运动。弧线XLink元素利用了资源与定位符节点的角色。在资源集合中定义定位符节点,如图6所示,而在图7中使用<arc>元素的“resource”属性来标识资源节点。现在参见以<arc>链接710开始的路径对此进行描述,该<arc>链接710指定在725处标识为“purchase_order 123-4567-890.xml”的内容(根据图6的元素670,其当前存储在位置“file://usr/awesley/etc/downloads/purchase_order123-4567-890.xml”,并且其表示客户123-4567-890的购买定单)由管理“12.37.43.5-03/03/01-08:35:13:04-MindSpring.com”链接库的节点生成(参看“from”属性720的值)。“to”属性725的值指示该内容随后由管理“12.37.43.5-03/02/01-03:45:23:02-MindSpring.com”链接库的节点下载。
继续<arc>节点735,“resource”属性750的值与“resource”属性730相同,并且“from”属性740具有与先前<arc>元素710的“to”属性725相同的值,从而指示这是对相同内容的进一步遍历。因此,最终的“to”属性750指示该内容已经由当前节点下载。如果读取在750处标识的链接库的应用希望访问在750处指定的内容,则其可以通过利用在资源集合中定义的<content>XLink来作到这一点。参见标号660,其中定义了相应的<content>元素。通过匹配“resource”属性750的值与“role”属性670的值,从资源集合中选择该<content>元素,然后,使用其“href”属性665找到该内容的实际位置。因此,在一般情况下,在遍历路径定义中由<arc>元素表示的被永久化的弧线将链接库通过其“resource”属性值与资源集合中<content>元素“role”属性值连接起来,其中<content>元素提供被永久化的内容资源的位置。
本发明的优选实施方式使用自举流程,这里该自举流程被描述为具有7个阶段,用来在加载时初始化网络上的所有节点(在实现时包含系统节点)。现在参考图8描述该流程。在第一阶段(块800),当前节点解析其自身的IP地址。假设该节点没有静态IP地址,优选地是使用现有技术的动态地址分配技术(诸如动态主机配置协议,即“DHCP”,或者自动IP协议等等)来达到此目的。(如果节点具有静态IP地址,则可以跳过此阶段。)
作为第二阶段的开始,进行测试(块810)来查看该节点是否已经具有这里所公开的形式的LBuuid。如果该测试的结果是否定的,则在第二阶段生成该节点链接库的LBuuid(块820)。在对等节点首次启动时产生该否定结果,此时必须初始化链接库。在该阶段生成的LBuuid用作该节点链接库的UUID,其中LBuuid为以下形式:
LBuuid=f(当前IP地址,当前日期,当前时间,a)
优选地,“a”参数用作IP地址提供者的指示符(例如其域名),如上所述。可替换地,“a”可以是在现有技术UUID中使用的参数,其使用随机数。可以使用任何UUID生成算法,但是为了允许如上所述的计量(accountability)以及跟踪,所生成的值最好为提供将链接库上溯到其拥有者并由此将内容资源跟踪到其来源(以及已经下载该内容的对等节点)的能力的形式。
当初始化链接库时,创建一组弧线来表示节点的本地内容增经如何遍历网络。(参考图7,其中讨论了一些例子。)
一旦LBuuid对于该节点链接库可用,第三阶段就开始从该节点广播“实况”消息(块830)。该实况消息通告节点在该网络上的存在。在本发明的优选实施方式中,实况消息利用HTTMU上的SOAP。HTTMU是HTTP的基于UDP多点广播的版本,并且允许将实况消息发送给子网上的所有节点。在图9中途结样本实况消息,其中<notification>(通告)元素905具有设置为“alive”(实况)的“type”属性910。根据优选实施方式,实况消息还指定节点链接库的LBuuid值(参看925处的<linkBaseID>)以及对于节点的自身声誉版本的引用(参看930处的<reputationRef>)。在图9中显示声誉信息,像是通过“href”属性935标识的文档的简单链接提供的那样。该属性值提供永久化节点声誉信息所在的URL。因此,该实况消息通知对等节点如何找到发送节点的被永久化的标识符及其声誉的位置。该实况消息最好还包含指示响应消息的回调地址的回调信息(参看“callback”(回调)属性920),其中提供了节点的当前IP地址以及指定以下之一的另一属性915:
1)指向UDDI注册表的探询统一资源指示符(“URI”)以及可以从该节点得到的文件共享服务的绑定键值。因此,当使用具有UDDI注册表的网络服务模型时,在该选项中的实况消息不仅标识具有对于该服务的发布与探询应用程序接口(“AIP”)的注册表,而且包含对于文件服务的绑定键值。
2)某些发现节点文件共享服务的非UDDI方式,诸如网络服务检查语言(“WSIL”)引用。WSIL是设计用于以下目的的概念:辅助查看站点以寻找可用服务以及指定指示应当如何使与查看有关的信息可用的规则组。WSIL由IBM和Microsoft定义,并且综合了见于来自IBM的称为“ADS”的以及来自Microsoft称为“DISCO”的早期开发的概念。(对于有关WSIL的更多信息,参见Keith Ballinger等的“Web Services Inspection Language(WS-Inspection)1.0",(2001年11月),由IBM在因特网上发布于http://www-106.ibm.com/developerworks/library/ws-wsilspec.html)。
在图9的例子中,已经选择了第二选项,因此属性915为“wsil”属性,其指定其中存储WSIL信息的URL。
继续到第四阶段(由块840表示),节点监听待由收到在块830处发送的实况消息的对等者发送的HTTP响应上的SOAP。根据优选实施方式,来自这些远程节点中每一个的响应消息也是实况消息,并且指定了该远程对等者的LBuuid以及标识在哪里找到远程节点自我管理的声誉信息的URL。如上所述,节点的声誉包含地位值,其表示该节点处理查询如何成功。(如参考图4A与4B讨论,地位值可以表示所有节点的查询,或者可以提供查询特有值。)
如果本地(接收)节点具有其对于远程节点声誉的自己的版本,则最好将这两个声誉合并,以存储在本地节点创建来表示其所了解的远程节点(即在其资源集合中的远程节点)的本地库中(诸如内存驻留表)。根据优选实施方式,当远程节点的本地节点视图不同于远程节点对于自身声誉的视图时,所述合并操作包含将远程节点的输入拷贝在本地节点信息之上。(当本地节点在一段时间内不在网络上时,这可能是适当的,在此期间更新了远程节点;或者本地节点可能由于某种原因而错过了对远程节点活动的某些传播,从而使本地节点在其对于该远程节点的了解方面滞后。)然而,如果本地节点将远程节点标识为恶意的,则(在一般情况下)本地节点最好忽略进入的远程节点对于自身声誉的视图(view)。在不脱离本发明范围的前提下,可以使用其他技术来导出对于远程节点的本地声誉值,例如用远程节点视图平均本地视图,或者外推(例如,融合关于另一节点交互的本地节点所知及其所不知的)。
当系统级流言传播器被定义,并且具有向由对等节点所维护的库注入声誉信息的许可时,本地流言传播器可能将其对于远程节点声誉的试图由该系统级流言传播器覆盖。
在第五阶段(由块850表示),本地节点发出这里所称的“刺探”消息。优选地,直接向已经响应了(在块840)本地节点起始“实况”请求的所有对等者发送该刺探消息,并且该刺探消息实际上请求每个对等者将该实况请求向该对等者所知的网络上的每个节点传播。然后,多主对等者(即哪些支持多个网络连接的对等者)可以将该实况请求转发给当前子网之外的对等者。然后,这些对等节点将用其自己的实况响应消息响应,从而使本地节点能够动态地了解P2P网络的拓扑结构。从返回的实况消息收集的信息用来建立LBuuid至URL映射(在本地资源集合中),由此使该节点能够解析其对等节点的标识符。
注意,刺探消息被认为是可选的,并且刺探消息的传播深度最好由提出请求的应用确定。刺探消息可以具有可选的深度属性,该属性确定顺序转发的最大数。刺探消息最好提供该消息的UUID,以避免触发无限循环的对于刺探消息的递归处理。
图10显示如何在SOAP消息1000中实现样本刺探消息1005。在这个例子中,“UUID”属性1010被指定,以防止递归转发。(该例子中的“[LBuuid]”语法由本地节点的实际LBuuid替换。)
返回对图8的讨论,在第六阶段(由块860表示),本地节点使用其接收的、作为对其自身实况消息的响应(以及当实现刺探消息时,作为对其刺探消息的响应)的实况消息,以更新将网络终点映射到远程节点链接库ID的其内存驻留表项。这些项的集合包含本地链接库资源集合中的<node>元素,如图6中的例子所示。所述更新过程包含按照需要更新URL,使得内存驻留表标识与每个LBuuid相关的节点的当前位置。(注意,因为资源集合为XML文档,并且该文档最好使用文档对象模型或者“DOM”树存储,所以添加新项对应于创建新的DOM树节点。在本领域中,从XML语言元素建立DOM树节点的技术是公知的。)
节点也可以更新本地存储的、有关作为对刺探消息的响应而返回实况消息的远程结点的声誉信息。参见块840的讨论,其中针对响应结点自身实况消息的结点描述了这种声誉更新。
最后,在第七阶段(块870),本地结点监听来自其他对等结点的实况消息,并且发送实况消息作为响应(类似于参见块840描述的实况响应消息)。该监听过程最好是持续进行的,以使结点能够维护对于P2P网络上其对等者的了解,并且能够相应地更新其资源集合(该资源集合缓存LBuuid与URL之间的相互关系)以及本地存储的对等者声誉信息。
图11提供了显示结点可以在从其对等者请求内容时使用的流程的流程图。该过程开始于块1100,其中用户定义所感兴趣的查询。该查询最好表示为查询字串,可以由用户输入,由用户从菜单选择,从由用户指定的文件中读取等等。一般用户是人类使用者,然而可替换地,程序过程也可以确定查询并提供查询字串。例如,为了请求1234-567-890号顾客的购买定单,如前面的例子所示,查询字串的格式可以是“purchase_order 1234-4567-890”。
在块1110,最好进行优化过程,结点因此而评估其对等结点的声誉,以解析这里所称的“广播层”。这些广播层指定对于查询解析的分级方法,并且根据所看到的、满足查询的能力选择每个层上的对等结点。该分级方法试图减少遍历网络的查询请求以及响应消息的数目。优选地,通过利用每个结点声誉中的<QuerySet>,使用模式匹配方法来确定哪个结点可以回应特定查询。参考图4A与4B。例如,如果特定结点不能回应使用420处的语法表示的“purchase_order 1234-4567-890”查询模式,则向该特定结点发送该形式的查询是效率低下的。相反,将选择其声誉指示支持该查询、并且具有相对较高的地位值的结点作为第一广播层。
作为该模式匹配操作的可选改进,可以利用站点综述。“站点综述”指使用RDF提供的内容联合技术,并且在本领域中称为“RSS”。站点综述可以包含内容描述集合,其描述可以从特定站点得到的内容/服务(即站点的查询集合)。当该描述集合改变(例如为了添加新的站点内容)时,可以使用RSS事先向内容联合者推出该描述。结点起初通过实况消息了解相互的声誉,如上所述。随着结点参与合其他结点的交互,它们的声誉(包括其地位,也可能包括其查询集合)一般会变化。可能某些结点不经常与其他结点交互,从而使这些结点对于相互声誉的视图变得过时。因此,可以有利地使用站点综述来定期在网络的结点中传播声誉信息。
在块1120中,向所标识的“优先提供者”发送请求。优选地,使用有向“广播”方法(在HTTP上)发送查询,其中结果集合用来确定每个目标节点的当前IP地址。(如果不使用广播层,则可以以另一种方式来确定查询消息的目标,包含向在资源集合中表示的所有对等者发送消息。)在图12中图解用SOAP消息1200实现的样本查询。如该例所示,<query>标签1205由作为其值1210的该查询的文本字串表示,其中已经提供所感兴趣的帐号(“123-4567-890”)作为输入参数值。(注意该查询将被接收节点解释为某种探察,通过该探察向这些节点查询来确定其是否真正地支持该查询,以及它们所宣称的回应该查询的当前地位。在1120处发送的消息不是实际的内容请求。)
如果没有从第一层的任何节点收到令人满意的响应(即,没有一个被查询的对等者能够以可以接受的地位响应该查询),则控制返回块1110,其中找到由下一组最佳对等者构成的第二层。(优选地,可以使用可配置的时间间隔来限定等待被查询的对等者响应所花费的时间。)该第二层最好包含那些也支持该查询但具有比第一层低的地位的对等者。然后,再次在块1120处发送该请求。
这种向各个层的对等者发送查询请求的过程将持续到查询了所有非恶意对等节点,或者收到了对于该查询请求的令人满意的响应。然后,控制到达块1130。
注意,在某些情况下,最终向不指示支持该查询的节点发送查询请求可能效果较好:由于该网络的临时性质,本地节点一般不会总是了解有关其所有对等者的声誉(包含其查询集合)的最新信息。因此,可以找到能够很好地响应所请求的查询的对等节点,即使本地节点的信息没有显示该节点为较好的候选者。
再次返回图11,假设被查询的对等者的一或多个响应其确实支持该查询,则在块1130,本地流言传播器处理器处理来自响应节点的元数据。即,来自远程对等者的响应消息将包含描述在远程节点的内容库内最能满足该请求的内容的元数据,并且最好本地缓存来自该响应消息的信息,以备块1140处理。参看图13中的样本SOAP响应消息1300,其中在SOAP首标的<content-meta-data>标签1305提供指向内容元数据位置的简单XLink元素。在该例子中,“href”属性1310的值指示这里嵌入了标识为“purchase_order_123-4567-890.rdf”的信息作为<querResponse>元素的第一个孩子(参看1315处的xpointer语法)。在1320处显示<querResponse>元素,其包含来自响应节点的内容元数据(参看1325)的RDF规范。如该实例所示,响应者指示其将返回的文档的名称(参看1330处的“about”属性值);包含创建的日期和时间的内容创建者信息以及创建者的名称(参看<Creator>元素1135);以及有关该有名文档的概述(参看<synopsis>元素1340)。
然后,用户评估来自一组响应节点的内容元数据。如上所述,该用户评估可以由人来进行,或者由程序过程来进行。当用户为人时,最好在图形用户界面面板上显示<synopsis>元素1340的值,并且如果希望可以显示来自<Description>元素1325的其他值。在分析了内容元数据之后,用户标识他/她/它对于哪个对等者或者哪些对等者最能够满足该查询的偏好,然后发出作为SOAPPOST请求的内容请求(块1140)。
图14提供了用来根据优选实施方式传送内容请求的样本SOAPPOST请求1400。在该例子中,SOAP外壳包含<getContent>元素1405,其具有作为其“ID”属性1410值的用户内容请求文本(其在图12的查询请求消息中发送)。可替换地,在响应消息的“about”属性1330中收到的值可以用作“ID”属性1410的值。
优选地,对等节点返回编码为SOAP响应消息的所请求的内容,该响应消息具有多目的因特网邮件扩展(“MIME”)结构。在收到所请求的内容时,接收节点处理该内容(块1160)。由W3C发布的标题为“SOAP Messages withAttachments,W3C Note(2000年12月21日)”(参看http://www.w3.org/TR/2000/NOTE-SOAP-attachments-20001211)的规范描述了使用用于传输附件的多部分MIMI结构将SOAP消息与一或多个本地格式的附件相关联的标准方法。在图15的1500处显示该SOAP响应消息的例子,其中在MIME附件中指定对于内容请求的响应由标号1520表示。根据优选实施方式,该SOAP响应还具有指示该内容自从进入对等网络后遍历路径(参看1505)的首标,并且满足该请求的远程节点最好还提供标识其对自身声誉的自身表示的URL(参见1510)。
在块1150处进行的处理包含抽取遍历路径和远程声誉信息(如果需要在首先使用解密处理器解密该消息之后)。
然后,数字签名处理器验证该消息上的所有数字签名(块1160)。如果发送者的身份验证失败,或者消息完整性检查失败,则将不利地影响该对等者的声誉,并且由该对等节点所声称的声誉将最好被忽略。(可替换地,在特定实施方式中,在这种情况下可能希望降低对于该节点声誉的本地版本。)
更新对于被发给内容请求1400的所有对等节点的、在本地维护的声誉(块1170),以反映其在满足查询方面的成功率。优选地,这包含增加“totalQueries”属性的值以及适合于该特定响应者地递增或不递增成功计数值,随后重新计算地位。在优选实施方式中,通过将成功计数值除以totalQueries值来计算地位。然后在本地存储这些更新后的值。在可替换实施方式中,可以以其他方法计算地位。
在块1180,假定对等者已经成功地验证了身份,则从该节点响应消息中取得的遍历路径消息(参看图15中文档1500的标号1505)将被本地地存储,并且与新近接收的内容相关联。(例如参看图6资源集合600中的<content>元素660。)另外,遍历路径将被扩展以包含当前节点作为有向图中的最新目标节点(即,通过创建图7中735处所示格式的新<arc>元素)。
最后,向应用呈现收到的内容(块1190),接着该应用以应用特有的方式处理内容。然后这样结束图11对于该内容请求的请求者流程。
注意,作为图11所示处理的可选扩展,用户可以提供关于内容是否最终满足了他/她/它的请求的反馈,这一反馈可能影响提供者节点的地位。
现在转到图16,描述(远程)对等节点用来评估并且响应内容请求的提供者流程的优选实施方式。该过程开始于块1600,其中对等者节点收到查询并且从收到的查询中抽取查询字串。
在块1610,对等节点进行模式匹配,以匹配所抽取的查询字串与其自己的内容元数据,从而确定其是否能够回应该查询。(参考图4A与4B,其中样本<QuerySet>元素标识特定节点能够支持的查询。)注意,本发明的特定实施方式可以利用站点综述来加快该模式匹配过程,如上针对标识查询消息目标节点所述。
如果对等节点可以进行所请求的查询,则其创建以上针对块1130(其描述请求节点接收来自潜在内容提供者的响应)描述的形式的SOAP响应消息,并且返回该消息请求者(块1620)。如上所述,该响应消息包含具有包括描述该对等节点提供的、满足该查询请求的内容的元数据的RDF消息的SOAP外壳。
还应注意,在某些情况下,由块1620发送的响应消息可以包含多个RDF消息。当特定节点能够以多于一种方式支持查询时,可能发生这种情况。另外,使用SOAP首标1200指定的查询请求(如针对块1120描述地发送)可能包含多于一种查询模式(例如格式化为多于一个<query>标签1205)。在这种情况下,该响应也可能包含多个RDF消息。
在发出响应消息之后,提供者节点监听来自请求者节点的进入的内容请求(块1630)。与在块1610中收到的“你能支持该查询吗”的消息不同,所等待的内容请求是“请进行该查询”请求。根据优选实施方式,节点将以所配置的时间间隔监听进入的内容请求。如果通过了该时间间隔而没有收到所等待的请求,则认为对该内容请求的处理完成,并且因此将控制显示为返回块1600以等待下一个“你能支持该查询吗”请求消息。(以下将会看到,最好使用分离的线程,使得节点持续地监视进入的请求。)否则,如果收到所等待的“请进行该查询”请求消息,则处理从块1630转到块1640。
块1640启动对所请求的查询的处理,并且将结果格式为使用多部分MIME附件的SOAP响应消息(如上针对图15所述)。
在块1650中,提供者节点的路径声明器将对于内容遍历路径的引用附加在前面,作为该出站消息的SOAP首标。参考图15,其中SOAP首标1505提供遍历路径定义信息,如图3A所示。(如上所述,首标文档300中的<traversalPathRef>标签305提供对于存储所指定的内容在对等网络中遍历路径的链接集合的引用310。)本发明还更新本地存储的内容遍历路径定义(例如,其由该节点适当地以特定日期和时间值转发)。
然后,提供者节点的流言传播器更新节点的本地声誉(块1660),存储更新后的信息,并且将声誉信息包含在出站消息的SOAP首标中。(再次参考图15,其中SOAP首标1510包含响应节点对其声誉的版本,如图3B所示。)当更新其声誉时,如果过了所述时间间隔而没有收到“请进行该查询”请求,则提供者节点最好将该交互当作不能满足内容请求的失败进行计数。否则,提供者节点最好将该交互当作成功进行计数。考虑到成功或失败结果,重新计算“stature”属性,如上针对图11的块1170所述。(注意,作为块1630中的否定结果的结果,将进行失败处理)
然后,数字签名处理器对所生成的响应消息(包括SOAP首标与附件)进行数字签名(块1670),然后向请求者返回该响应消息。
图17A-17C显示可以用于这里已经描述的、可选的系统管理功能的样本首标。优选地,在待管理的节点中配备附加的AXIS处理器,并且具有管理“授权”的一或多个节点传送由接收节点的那个AXIS处理器处理的管理信息。因为在本发明的优选实施方式中没有集中式管理节点,所以可以作为管理节点(例如以某种方式指挥其他对等节点)的节点最好是哪些具有包含相对较高地位水平的声誉的节点。
由于这里所公开的演进信任模型的缘故,任一节点都可能获得管理地位并因此作为系统节点。因此,如果需要,可以在网络上的任何节点或者多个节点上部署系统管理功能。系统节点中管理代码最好由证书授权机构核准,从而使其他节点能够信任由该代码发出的消息:在这些消息上的数字签名允许接收节点中的管理处理器验证该消息的来源。
在优选实施方式中,管理处理器支持两种新的首标类型,这里称为“窥视”与“访问”。窥视首标可以用来通知节点其网络流将由系统节点监视。访问节点可以用来读取或者写入节点的链接库、声誉库、或者内容库。
图17A提供了窥视首标的例子。系统节点发送窥视消息以通知接收节点的管理处理器使用所指定的系统代码复制SOAP消息。因此,显示为元素1700的首标为简单XLink,其指定标识消息发送者(即系统节点)的地址1710。然后,接收节点使用该地址以复制其SOAP流(traffic)。可选地,可以在<peek>(窥视)元素中指定属性以通知接收器将要复制的SOAP消息种类。缺省地,最好复制所有SOAP消息。
图17B与17C显示访问命令。访问命令可以用来访问接收节点的系统资源,如上所述。通过“command(命令)”属性上的相应值,该命令格式可以指定为写入操作或者读取操作。在显示写入操作的图17B中的示例<access>(访问)首标1730中,系统节点指示接收节点处的管理处理器在所封装的声誉引用1750中提供有新的声誉信息。然后,管理处理器可以将该信息转发给同一位置上的流言传播器处理器。在该例子中,声誉引用1750标识可以找到所声称的声誉信息的声誉库的位置。接收节点可以选择检索声誉拷贝以备本地存储;或者接收节点可以选择存储链接,并且当需要该信息时,从该库中访问声誉。可替换地,可以使用以下语法形式(未显示):通过该语法形式,声誉自身被封装在首标内(具有标识对等节点的LBuuid、其声称的地位以及可选地其查询集合的属性)。“href”属性1740提供系统节点的地址,从而允许接收节点标识首标的发送者。
在显示读取操作的图17C的示例<access>首标1760中,该命令提供了“linkBaseURI”属性1780,以标识系统节点试图访问的链接库。在这个例子中,该属性的值使用xpointer概念,以表示<content>元素将位于<ResourceSet>文档之内,其中该示例文档存储在"http://9.56.34.12/linkbase/1b.xml"。可替换地,可以在访问命令上提供用于访问声誉库或内容库的属性。“href”属性1740提供系统节点的地址,从而允许接收节点标识首标的发送者以及对于读取命令返回所请求的信息。
优选地,接收节点在验证发送者的过程中确定系统节点的地位,从而确定发送的系统节点是否挣得执行管理功能的足够的信任。最好还验证由管理处理器添加的数字签名,以确保首标消息来自相应的系统节点。可选地,接收节点可以向发送者发出验明身份命令(challenge),以验证发送者的身份;通过使用标识发送系统节点的“href”属性可以促进这一点,如图17A-17C中的示例所示。
现在参考图18,显示了可以由系统节点实现的管理流程,用来进行系统管理功能(例如监视并管理对等者社区)。在块1800,系统节点启动窥视操作;优选地,当节点加入网络时(这可以通过其发送“实况”消息来检测,如上针对图8所述)向其发送窥视首标。
一旦对等节点开始复制其SOAP流,系统节点将监视该网络流(块1810)。具体地讲,系统节点最好监视声誉与内容的所有发送。因此,系统节点能够观察各种对等节点正在声称其声誉是什么,并且还可以观察来自特定节点的内容是否正在像构成成功交互那样地被接受。
在块1820,将系统节点显示为评估所监视的网络流以检测安全事件。优选地,当声明虚假声誉信息以及当传播被污染的内容时,系统节点触发安全事件。例如,如果节点声称其具有较高的正地位值,但是系统节点观察到许多对等者都拒绝来自该节点的内容,则系统节点可以断定该声称节点是恶意节点。类似地,系统节点可以检测拒绝特定内容的对等节点,并且可以断定该内容是受污染的;在这种情况下最好也触发安全事件。
当检测到的安全事件包含虚假声誉(参看块1830)时,在系统节点处的管理流程将转到块1840,其中系统节点发出访问命令,以访问该节点的声誉(最好使用写入操作以对接收节点强加系统节点对声誉的视图。)注意,系统节点可以通知节点其自身的声誉,或者通知另一对等节点的声誉。可以在声誉库中提供保留区域(其中该保留区域不能由恶意节点覆盖),然后写入操作可以使信息被写入到该保留区域。可以防止恶意节点为了虚假地建立较高的地位值而写入库中的该区域。当随后节点访问声誉库时,其最好将存储在该保留区域中的信息解释为优于有关相同声誉的其他数据。可替换地,如果不使用保留区域,则由系统节点在访问首标发送的信息将写入非保留存储区域。(注意,对等节点也可以相互发送声誉信息,如上所述,或者以声誉引用的形式,或者以包含声誉信息的消息的形式。)
在块1850处的测试确定安全事件是否有关于受污染的内容。如果如此,则处理到达块1860,其中系统节点发送访问命令,以声明节点所存储的内容被污染了(例如,访问并覆盖链接库数据,以修改遍历路径)。链接库也可以使用保留区域,系统节点可以向该保留区域中写入路径遍历信息。
在特定实施方式中,如果需要,还可以允许系统节点发出覆盖节点本地存储的内容的命令,如以上针对使用访问首标上的其他属性所述。可以以类似于以上描述的对于影响声誉与内容遍历路径的命令的方式,进行对于影响内容库的访问命令的处理。
一旦完成了安全事件处理,则将控制返回块1810以继续监视对等节点的网络流。(以后将会看到,安全处理最好由分离的线程进行,使得不致中断监视。)
虽然已经针对安全描述了监视功能,但是本发明的实现可以将从监视对等节点网络流收集到的信息用于其他目的。其他用途的例子包括故障切换(failover)与高可用性预案。在故障切换预案中,例如,可以使用访问命令来将对于故障节点的引用替换为对于备用节点的引用,或者也许删除对于出现故障的引用。可以通过以下方式来进行这些改变:在资源集合中标识故障节点,并且替换或者删除引用该节点LBuuid的项目。在高可用性预案中,当系统节点检测到特定节点超负荷或者其他节点的资源利用不足时,可以使用访问命令来修改对于内容(或者服务)的链接库引用,使得网络流重新定向至可以替换地获得该内容(或者服务)的不同节点。
如上所述,这里公开的技术提供了用于受管理对等式网络的框架,并且使以下操作成为可能:跨越调用地维护对等关系,并且重新使用形成临时社区的这些关系以及身份。如上所述,对等节点可以根据意愿进入并离开网络,并且这里公开的技术使之能够在这些瞬变社区面前提供安全、管理以及其他系统级功能。所公开的技术使P2P网络使得瞬变社区能够被管理,并且允许瞬变社区中安全交易的交换,在该安全交易中可以确保消息完整性。
MicroSoft公司的Hailstorm(也被称为“.Net My Services”)项目被刻画为P2P技术。但是其中的P2P支持看起来限于即时消息。其他现有的P2P联网技术,例如先前讨论的JXTA,不支持这里公开的、用于瞬变社区的功能。
本领域技术人员应该理解,本发明实施方式可以被提供为方法、系统、或者计算机程序产品。相应地,本发明可以采用全部硬件的实施方式,全部软件的实施方式,或者结合软件与硬件方面的实施方式。另外,本发明可以采用计算机程序产品的形式,该计算机程序产品在一或多种计算机可用存储介质(包含但不限于磁盘存储器、CD-ROM、光学存储器等等)中实现,并且其中包含计算机可用程序代码。
已经针对根据本发明实施方式的方法、设备(系统)以及计算机程序产品流程图和/或方框图描述了优选实施方式。应该理,解每个流程和/或流程图和/或方框图的每个方块以及流程图和/或方框图的流程和/或方块的组合,可以通过计算机程序指令实现。这些计算机程序指令可以被提供给通用计算机、专用计算机的处理器、嵌入式处理器或其他制造机器的可编程数据处理装置,使得通过所述计算机处理器或者其他可编程数据处理装置执行的所述指令创建实现在所述流程图或者流程和/或方框图或者方框中指定的手段。
这些计算机程序指令也可以存储在计算机可读存储内,其可以指挥计算机或者其他可编程数据处理装置以特定方式发挥作用,使得存储在该计算机可读存储器内的指令产生包含实现在所述流程图或者流程和/或方框图或者方框中指定的指令部件的产品。
还可以将该计算机程序产品载入计算机或其他可编程数据处理装置,以引起一系列操作步骤在计算机或其他可编程数据处理装置上执行,以产生由计算机实现的过程来使得在计算机或其他可编程数据处理装置上执行的指令提供用来实现在所述流程图或者流程和/或方框图或者方框中指定的功能的步骤。
虽然已经描述了本发明的优选实施方式,但是本领域技术人员在了解了本发明基本概念之后,可以想到这些实施方式的其他各种变化与修改。还请注意,虽然已经针对网络服务环境描述了优选实施方式,但是所公开的技术也可以用于其他P2P网络环境。另外,虽然这里已经针对SOAP消息以及消息首标、文档等等的特定语法描述了优选实施方式,但是这只是为了说明的目的,而非限定目的,在不脱离本发明范围的前提下可以使用替代消息格式与替代语法。另外,虽然这里参见了瞬变网络,但是也可能网络拓扑结构随时间变得稳定,因此,术语“瞬变网络”可以被理解为指具有支持瞬变拓扑结构的体系结构的网络。因此,应该将权利要求理解为包含优选实施方式以及所有落入本发明范围内的修改与改进两者。
Claims (116)
1.一种永久地标识具有瞬变网络社区的网络中的节点的方法,其中构成网络的节点集合随时间变化,该方法包含以下步骤:
在每个节点初始进入该网络时,向其分配初始网络地址;
在节点初始进入该网络时,为这些节点的每一个创建永久节点标识符;
存储初始网络地址以及永久节点标识符之间的映射;
在每个节点以后进入该网络时,使用永久节点标识符来解析每个节点的身份,即使在该以后进入时向该节点分配了不同的网络地址;以及
记录当每个节点与网络中其他节点交互时每个节点的行为的结果,其中所述映射允许将所述行为与节点相关联,即使其当前网络地址改变。
2.根据权利要求1的方法,还包含以下步骤:
对于所述节点中的特定节点,在该特定节点以后进入该网络时,向该特定节点分配不同的网络地址;以及
在分配了不同的网络地址之后,使用该特定节点的永久节点标识符来解析该特定节点的身份。
3.根据权利要求1的方法,还包含以下步骤:每当特定节点用不同的网络地址重新进入该网络时,更新对于该特定节点的所存储的映射,使得来自该特定节点的所存储的映射的网络地址由该不同的网络地址替换。
4.根据权利要求1的方法,其中所述每个节点的永久节点标识符唯一地标识由该节点用来存储链接的链接库。
5.根据权利要求1的方法,其中所述特定节点的永久节点标识符包含:该特定节点的初始网络地址、发生该初始进入网络的日期、发生该初始进入网络的时间以及发生该初始进入的域的标识符。
6.根据权利要求5的方法,其中所述永久节点标识符基于统一唯一标识符(“UUID”)格式。
7.根据权利要求1的方法,其中特定节点的映射存储在具有永久标识该特定节点所知的其他节点的映射的资源集合中。
8.根据权利要求1的方法,还包含以下步骤:使用永久节点标识符来跟踪网络中每个节点的行为。
9.根据权利要求8的方法,其中所述特定节点的行为包含该特定节点如何满意地响应来自其他节点的请求。
10.根据权利要求1的方法,还包含以下步骤:使用永久节点标识符来跟踪网络中的内容资源所采用的网络遍历路径。
11.根据权利要求10的方法,其中所述跟踪步骤包含:
对于特定内容资源,标识该特定内容资源在哪里进入网络,或者在网络中哪里生成;
对于该特定内容资源,标识该特定内容资源在所选择的网络遍历上经过的每个节点,其中所述标识步骤使用相应节点的永久网络标识符。
12.根据权利要求9的方法,其中所述特定节点的行为在从该特定节点发送的出站消息上指示。
13.根据权利要求11的方法,其中所述特定内容资源的网络遍历路径在承载该特定内容资源的出站消息上指示。
14.根据权利要求2的方法,还包含以下步骤:
由每个节点在重新进入网络时,广播使用该节点的永久网络标识符及其网络地址的当前版本来标识该节点的消息;
由网络中的其他节点接收该广播消息;
由接收节点更新其所存储的映射以反映重新进入的节点的网络地址的当前版本。
15.根据权利要求1的方法,其中所述映射使用Xlink概念指定。
16.根据权利要求14的方法,还包含以下步骤:查询所存储的映射以找到选定节点的先前行为。
17.根据权利要求14的方法,还包含以下步骤:查询所存储的映射以跟踪由选定节点创建或者转发的内容。
18.根据权利要求1的方法,其中所述网络为对等式网络。
19.一种永久地标识临时网络中的节点的系统,其中构成网络的节点集合随时间变化,包含:
用来在每个节点初始进入该网络时,向其分配初始网络地址的部件;
用来在节点初始进入该网络时,为这些节点的每一个创建永久节点标识符的部件;
用来存储初始网络地址以及永久节点标识符之间的映射的部件;
用来在特定节点以不同的网络地址重新进入该网络之后,使用其永久节点标识符来解析每个节点的身份的部件;以及
用来记录当每个节点与网络中其他节点交互时每个节点的行为的部件,其中所述映射允许将所述行为与节点相关联,即使其当前网络地址改变。
20.一种永久化具有瞬变网络社区的网络中的节点声誉的方法,其中构成网络的节点集合随时间变化,该方法包含以下步骤:
使用网络中的每个节点的永久节点标识符,即使在进入网络多次后向该节点分配了不同的网络地址;
创建每个节点的永久节点标识符与该节点所使用的当前网络地址之间的映射;以及
记录当其与网络中其他节点交互时每个节点的行为的结果,其中所述映射允许将所述行为与节点相关联,即使其当前网络地址改变。
21.根据权利要求20的方法,其中对于每个节点的记录结果指示该节点在响应来自其他节点的查询方面的如何成功。
22.根据权利要求20的方法,其中对于每个节点的记录结果指示该节点在响应来自其他节点的查询方面的效率。
23.根据权利要求22的方法,其中所述效率被测定为对于查询的响应所经过的时间。
24.根据权利要求21的方法,其中为该节点所能回应的每一个查询确定所述成功。
25.根据权利要求21的方法,其中为该节点所能回应的所有查询集中确定所述成功。
26.根据权利要求22的方法,其中为该节点所能回应的每一个查询确定所述效率。
27.根据权利要求20的方法,其中为该节点所能回应的所有查询集中确定所述效率。
28.根据权利要求20的方法,其中所述节点的声誉包含该节点所能回应的查询集合以及当其响应这些查询时该节点行为的记录结果。
29.根据权利要求20的方法,其中所述节点的声誉包含能够从该节点得到的服务集合以及当其进行这些服务时该节点行为的记录结果。
30.根据权利要求20的方法,还包含以下步骤:与由特定节点发送的消息一道,转发对该特定节点的记录结果的引用。
31.根据权利要求20的方法,还包含以下步骤:
由特定节点接收对于可从该特定节点得到的内容的请求;以及
与声明该特定节点的声誉的信息一道,由该特定节点转发所请求的内容,其中所述声誉包含该特定节点的记录结果。
32.根据权利要求31的方法,还包含以下步骤:响应接收所述请求并且转发所请求的内容,由特定节点更新其记录结果。
33.根据权利要求31的方法,还包含以下步骤:
在接收节点处接收所转发的内容;以及
由响应接收步骤的接收节点存储特定节点的声誉的本地版本,其中该本地版本反映所收到的内容对于接收节点来说是否满意。
34.根据权利要求20的方法,还包含以下步骤:由每个节点在其进入网络时广播消息,由此通告其声誉的该节点版本,其中所述声誉包含该节点对于其与网络中其他节点交互的如何成功的视图(view)。
35.根据权利要求34的方法,其中所述声誉还包含能够从广播节点得到的内容。
36.根据权利要求34的方法,其中所述声誉还包含能够从广播节点得到的服务。
37.根据权利要求34的方法,还包含以下步骤:
由网络中另一节点接收广播消息;
由接收节点从广播消息中检索其声誉的广播节点版本;以及
存储所检索的声誉的本地拷贝。
38.根据权利要求34的方法,其中通告声誉为对于其声誉的广播节点版本的引用,并且还包含以下步骤:
由网络中另一节点接收广播消息;
由接收节点从广播消息中检索所述引用;以及
存储该引用的本地拷贝。
39.根据权利要求37的方法,其中所述本地拷贝反映广播节点的声誉的接收节点视图。
40.根据权利要求39的方法,其中如果接收节点认为广播节点不值得信任,则所述本地拷贝忽略其声誉的广播节点视图。
41.根据权利要求20的方法,还包含以下步骤:
由特定节点确定其需要来自另一节点的内容或者服务;
确定网络中其他哪些节点能够提供所需要的内容或者服务;以及
评估能够提供所需内容或者服务的节点的记录结果,以从这些节点中选择。
42.根据权利要求20的方法,其中所述记录结果指示特定节点何时被认为是不值得信任的。
43.根据权利要求20的方法,其中所述记录结果随时间被重新计算,并由此反映节点是否挣得网络中其他节点的信任。
44.根据权利要求43的方法,其中希望与网络中另一节点交互的特定节点考虑该另一节点的记录结果,以确定是否信任该另一节点。
45.根据权利要求20的方法,其中所述记录结果随时间被重新计算,并由此反映节点是否被网络中其他节点认为在响应查询方面效率较高。
46.根据权利要求45的方法,其中希望与网络中另一节点交互的特定节点考虑多个其他节点的记录结果,以确定其他节点中的哪一个能够最高效率地执行所述交互。
47.根据权利要求20的方法,其中每个节点的永久节点标识符用来定位特定节点的记录结果,即使该特定节点的当前网络地址在创建记录结果以来已经改变。
48.根据权利要求34的方法,还包含以下步骤:
由广播节点接收来自收到广播消息的其他节点的响应,其中所述响应包含其声誉的其他节点版本;以及
由广播节点使用来自所述响应的所收到的版本,以确定所述其他节点声誉的本地视图。
49.根据权利要求48的方法,还包含以下步骤:由广播节点向收到其响应的每一个其他节点发送后继消息,其中所述后继消息请求所述其他节点传播对于节点身份的请求,由此使广播节点能够了解其他子网中的节点,并且能够与其他子网中的那些节点交换声誉信息。
50.一种永久化具有瞬变网络社区的网络中的节点声誉的系统,其中构成网络的节点集合随时间变化,该系统包含:
一部件,用于使用网络中每个节点的永久节点标识符,即使在进入网络多次后向该节点分配了不同的网络地址;
用于创建每个节点的永久节点标识符与该节点所使用的当前网络地址之间的映射的部件;以及
用于记录当其与网络中其他节点交互时每个节点的行为的结果的部件,其中所述映射允许将所述行为与节点相关联,即使其当前网络地址改变。
51.一种跟踪具有瞬变网络社区的网络中的内容的方法,其中构成网络的节点集合随时间变化,该方法包含以下步骤:
使用网络中每个节点的永久节点标识符,即使在进入网络多次后向该节点分配了不同的网络地址;
创建每个节点的永久节点标识符与该节点所使用的当前网络地址之间的映射;以及
将永久节点标识符与网络中的节点的内容资源相关联。
52.根据权利要求51的方法,还包含以下步骤:使用有向图来表示内容资源的网络遍历路径。
53.根据权利要求52的方法,其中每一个有向图的节点表示网络中内容资源之一已经经过的节点,并且有向图的弧线表示内容资源从网络中的一个节点传递到另一节点。
54.根据权利要求51的方法,还包含以下步骤:存储每个内容资源的元数据,其中所述元数据包含内容资源的永久标识符。
55.根据权利要求54的方法,其中所述元数据还包含有关于内容资源的创建的信息。
56.根据权利要求55的方法,其中所述信息进一步包含内容资源的创建者以及创建的日期和时间。
57.根据权利要求51的方法,其中所述元数据还包含有关于内容资源进入网络以及该进入网络的日期和时间的信息。
58.根据权利要求54的方法,其中所述元数据还包含内容资源的描述。
59.根据权利要求58的方法,其中所述描述被提供给评估是否希望得到该内容资源的用户。
60.根据权利要求53的方法,还包含以下步骤:在遍历库中存储所述内容资源的有向图。
61.根据权利要求53的方法,还包含以下步骤:每当所述内容资源之一被从网络中的一个节点转发到另一节点时,向所述有向图添加节点与弧线。
62.根据权利要求53的方法,其中使用结构化标记语言概念来指定每个内容资源的有向图。
63.根据权利要求60的方法,其中利用所述有向图的弧线的终点来指定所述有向图。
64.根据权利要求63的方法,其中使用Xlink概念来指定每个弧线的终点。
65.根据权利要求53的方法,还包含以下步骤:存储在特定内容资源的当前位置与该内容资源的永久标识符之间映射的内容映射。
66.根据权利要求65的方法,其中所述内容资源的永久标识符被作为与该内容资源相关联的元数据存储,并且还包含以下步骤:使用相关联的元数据中的永久标识符来确定该内容资源的当前位置。
67.根据权利要求63的方法,还包含以下步骤:在每个转发内容资源的消息中包含对于所转发的内容资源的有向图的引用。
68.根据权利要求67的方法,还包含以下步骤:
在请求节点处,接收选定的内容资源以及对于其有向图的引用;
使用所包含的引用来定位所述有向图;以及
扩展被定位的有向图,以包含表示转发选定内容资源的节点以及接收所选择的内容资源的节点的最终弧线。
69.根据权利要求68的方法,其中所述最终弧线还包含所选择的内容资源的永久标识符,并且还包含以下步骤:在本地内容库中存储所收到的内容资源。
70.根据权利要求68的方法,还包含以下步骤:在本地内容库中存储所收到的内容资源。
71.根据权利要求68的方法,其中所述最终弧线还包含选定内容资源的永久标识符,并且还包含以下步骤:
在本地内容库中存储所收到的内容资源;以及
存储对于所收到的内容资源的内容映射,其中所述内容映射在所收到的内容资源在本地内容库中存储的位置与内容资源的永久标识符之间映射。
72.根据权利要求51的方法,其中所述网络为对等式网络。
73.一种跟踪具有瞬变网络社区的网络中的内容的方法,其中构成网络的节点集合随时间变化,该方法包含以下步骤:
存储表示每个内容资源的网络遍历路径的有向图,其中所述有向图的每个弧线表示内容资源从网络中的一个节点遍历到另一节点;以及
扩展每个内容资源的有向图以反映该内容资源从持有该内容资源节点到收到该内容资源的节点的后续遍历,其中永久标识符与每个内容资源相关联,并且特定内容资源的有向图的每个弧线指定所关联的永久标识符,
其中网络中每个节点都具有永久标识符,并且对于所述有向图的每个弧线,持有特定内容资源的节点与转发该特定内容资源的节点使用其永久节点标识符来标识。
74.根据权利要求73的方法,还包含以下步骤:由每个节点存储该节点的每个本地存储的内容资源的永久标识符与该本地存储的内容资源的当前位置之间的映射。
75.根据权利要求74的方法,还包含以下步骤:
通过其永久标识符标识选定的内容资源;以及
使用对于该选定内容资源的所存储的映射来确定其在特定节点处的当前位置。
76.根据权利要求74的方法,还包含以下步骤:
通过其永久标识符标识选定的内容资源;以及
使用对于该选定内容资源的所存储的映射来确定其网络遍历路径。
77.根据权利要求73的方法,还包含以下步骤:由每个节点在进入网络时广播消息,由此通告该节点所持有的内容。
78.根据权利要求77的方法,还包含以下步骤:
由接收广播消息的节点从广播节点请求特定内容资源;
在请求节点处,与对于持有节点对于该内容资源的有向图的引用一道,接收所请求的内容资源;
在本地内容库中存储所收到的内容资源;
存储所收到的内容资源的有向图的本地拷贝,其中所述本地拷贝包含对于从持有节点遍历到接收节点的扩展。
79.根据权利要求73的方法,其中所述内容资源包含能够在网络节点之间共享的文件。
80.根据权利要求73的方法,其中所述内容资源包含能够从网络节点得到的服务的结果。
81.一种跟踪具有瞬变网络社区的网络中的内容的系统,其中构成网络的节点集合随时间变化,该系统包含:
一部件,用于使用网络中每个节点的永久节点标识符,即使在进入网络多次后向该节点分配了不同的网络地址;
用于创建每个节点的永久节点标识符与该节点所使用的当前网络地址之间的映射的部件;以及
用于将永久节点标识符与网络中的节点的内容资源相关联的部件。
82.一种在非集中式网络中管理存储资源的方法,包含以下步骤:
将永久节点标识符与网络中的每个节点相关联,即使在进入网络时分配给节点的当前网络地址每次进入时都变化;
动态评估多个存储节点的行为,其中所述存储节点是那些提供按需存储资源的节点;
通过利用将网络中每个节点的当前网络地址与其相关联的永久节点标识符相关的映射来解析每一个存储节点的身份,维护存储节点的动态评估行为的正在形成的(on-going)知识;以及
使用所维护的知识来管理存储节点的存储资源。
83.根据权利要求82的方法,其中每一个存储节点的动态评估行为包含该存储节点在处理存储请求方面如何有效率。
84.根据权利要求82的方法,其中每一个存储节点的动态评估行为包含该存储节点在响应存储请求方面如何满意。
85.根据权利要求84的方法,其中所述存储节点在响应存储请求方面如何满意表示其存储资源的当前可用的存储能力。
86.根据权利要求82的方法,其中每一个存储节点的动态评估行为包含指示该存储节点是否令人满意地响应先前存储请求的成功量度。
87.根据权利要求82的方法,其中每一个存储节点的动态评估行为包含当前可从该存储节点获得的内容规范。
88.根据权利要求82的方法,还包含以下步骤:
由网络中的节点之一确定其需要存储资源;以及
使用存储节点的行为的正在形成的知识,选择当前能够提供所需存储资源的存储节点之一。
89.根据权利要求85的方法,还包含以下步骤:
由需要存储的节点确定其需要在存储资源中存储内容;以及
使用存储节点的行为的正在形成的知识,选择其存储资源具有足够的当前可用存储能力的存储节点之一,以为需要存储的节点存储内容。
90.根据权利要求89的方法,还包含以下步骤:由需要存储的节点向所选择的存储节点发出对于存储内容的请求。
91.根据权利要求83的方法,还包含以下步骤:
由网络中的节点之一确定其需要存储资源;以及
使用存储节点的行为的正在形成的知识,选择能够高效提供所需存储资源的存储节点之一。
92.根据权利要求86的方法,还包含以下步骤:
由网络中的节点之一确定其需要存储资源;以及
使用存储节点的行为的正在形成的知识,选择具有对于令人满意地响应先前存储请求的相对较高的成功量度的存储节点之一。
93.根据权利要求87的方法,还包含以下步骤:
由需要内容的节点确定其需要从存储资源检索内容;以及
使用存储节点的行为的正在形成的知识,选择其当前可用内容的说明包含需要内容的节点需要检索的内容的存储节点之一。
94.一种在临时网络中管理存储资源的系统,包含:
一部件,用来将永久节点标识符与网络中的每个节点相关联,即使在进入网络时分配给节点的当前网络地址每次进入时都变化;
用来通过利用将网络中每个节点的当前网络地址与其相关联的永久节点标识符相关的映射解析每一个存储节点的身份,维护多个存储节点的动态评估行为的正在形成的知识的部件,其中所述存储节点是那些提供按需存储资源的节点;以及
用来使用所维护的知识来管理存储节点的存储资源的部件。
95.一种在非集中式网络中提供管理功能的方法,包含以下步骤:
将永久节点标识符与网络中的每个节点相关联,使得能够解析这些节点的身份,即使在进入网络时分配给节点的当前网络地址每次进入时都变化;
由特定节点声明其被允许执行管理功能;以及
使用该特定节点永久节点标识符来验证该特定节点是否被允许执行管理功能。
96.根据权利要求95的方法,还包含以下步骤:将声誉与每一个节点相关联,其中使用节点的永久节点标识符来定位每个节点的声誉,并且其中使用永久节点标识符的步骤还包含以下步骤:
使用永久节点标识符定位特定节点的声誉;以及
如果特定节点具有适当的声誉,则断定该特定节点被允许执行管理功能。
97.根据权利要求96的方法,其中声誉适合性基于特定节点随时间的行为。
98.根据权利要求96的方法,其中声誉适合性当基于其中存储的、与网络中的其他节点相比相对较高的值。
99.根据权利要求98的方法,其中所述值用外部确定的值初始化,然后根据该特定节点与网络中其他节点的交互动态地更新。
100.根据权利要求95的方法,其中所述管理功能请求收到所述声明的节点复制流(traffic)给所述特定节点。
根据权利要求100的方法,还包含以下步骤:如果接收节点断定该特定节点被允许执行管理功能,则由接收节点复制其流。
根据权利要求95的方法,其中所述管理功能请求收到所述声明的节点复制其一或多个种流给特定节点。
根据权利要求95的方法,其中所述管理功能请求收到所述声明的节点复制所有涉及节点声誉的或者在节点之间传送内容的流给特定节点。
根据权利要求95的方法,其中所述管理功能请求收到所述声明的节点用有关于所述接收节点的信息来响应特定节点。
根据权利要求104的方法,其中只有在接收节点断定特定节点允许执行管理功能时,所述接收节点才以所请求的信息响应。
根据权利要求104的方法,其中所请求的信息为由接收节点存储的声誉。
根据权利要求104的方法,其中所请求的信息为由接收节点存储的内容。
根据权利要求104的方法,其中所请求的信息为由接收节点存储的内容的遍历路径。
根据权利要求104的方法,其中只有在接收节点断定该特定节点允许执行管理功能并且特定节点成功响应了由该接收节点发出的盘问时,所述接收节点才以所请求的信息响应。
110.根据权利要求104的方法,其中只有在接收节点断定该特定节点允许执行管理功能并且该请求的数字签名验证该特定节点发送了该请求时,所述接收节点才以所请求的信息响应。
111.根据权利要求95的方法,其中所述管理功能请求收到所述声明的节点改变由该接收节点存储的信息。
112.根据权利要求111的方法,其中只有在接收节点断定该特定节点允许执行管理功能时,所述接收节点才进行所请求的改变。
113.根据权利要求111的方法,其中所请求的改变将覆盖在该接收节点存储的声誉信息。
114.根据权利要求111的方法,其中所请求的改变将覆盖在该接收节点处存储的内容。
115.根据权利要求111的方法,其中所请求的改变将覆盖在该接收节点存储的内容遍历路径。
116.一种在非集中式网络中提供管理功能的系统,包含:
用来将永久节点标识符与网络中的每个节点相关联的部件,使得即使在进入网络时分配给节点的当前网络地址每次进入时都变化,也能够解析这些节点的身份;
用来将声誉与每个节点相关联的部件,其中利用节点的永久节点标识符来定位每个节点的声誉;
用来由特定节点声明其被允许执行管理功能的部件;
用来利用其永久节点标识符定位特定节点的声誉的部件;以及
一部件,如果该特定节点具有适当的声誉,则用来断定该特定节点被允许执行管理功能。
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/107,842 US7039701B2 (en) | 2002-03-27 | 2002-03-27 | Providing management functions in decentralized networks |
US10/109,373 US7181536B2 (en) | 2002-03-27 | 2002-03-27 | Interminable peer relationships in transient communities |
US10/107,696 | 2002-03-27 | ||
US10/107,842 | 2002-03-27 | ||
US10/108,088 US7177929B2 (en) | 2002-03-27 | 2002-03-27 | Persisting node reputations in transient network communities |
US10/107,696 US7069318B2 (en) | 2002-03-27 | 2002-03-27 | Content tracking in transient network communities |
US10/107,960 US7251689B2 (en) | 2002-03-27 | 2002-03-27 | Managing storage resources in decentralized networks |
US10/109,373 | 2002-03-27 | ||
US10/108,088 | 2002-03-27 | ||
US10/107,960 | 2002-03-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1643880A CN1643880A (zh) | 2005-07-20 |
CN100539602C true CN100539602C (zh) | 2009-09-09 |
Family
ID=28679145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038071738A Expired - Fee Related CN100539602C (zh) | 2002-03-27 | 2003-02-14 | 瞬变网络中的动态寻址 |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP1491026B1 (zh) |
JP (1) | JP3899076B2 (zh) |
KR (1) | KR100656222B1 (zh) |
CN (1) | CN100539602C (zh) |
AT (1) | ATE524914T1 (zh) |
AU (1) | AU2003258902A1 (zh) |
TW (1) | TWI243569B (zh) |
WO (1) | WO2003084186A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7716290B2 (en) * | 2003-11-20 | 2010-05-11 | Microsoft Corporation | Send by reference in a customizable, tag-based protocol |
KR100601667B1 (ko) | 2004-03-02 | 2006-07-14 | 삼성전자주식회사 | 디지털 권한 관리의 상태 보고 장치 및 방법 |
KR100486984B1 (ko) * | 2004-12-20 | 2005-05-03 | (주)엔알시스템스 | 개인간의 전자상거래 중개방법 및 그 시스템 |
KR100620622B1 (ko) * | 2005-02-04 | 2006-09-13 | (주)엔알시스템스 | 개인 웹사이트를 이용한 개인간 전자상거래 중개방법 및시스템 |
US20080209483A1 (en) * | 2005-02-24 | 2008-08-28 | Koninklijke Philips Electronics, N.V. | System And Method For Providing Rss Content In A Broadcast System |
US7958120B2 (en) * | 2005-05-10 | 2011-06-07 | Netseer, Inc. | Method and apparatus for distributed community finding |
US20060274753A1 (en) * | 2005-06-07 | 2006-12-07 | Samsung Electronics Co., Ltd. | Method and system for maintaining persistent unique identifiers for devices in a network |
EP1802070B1 (en) * | 2005-12-21 | 2008-06-18 | NTT DoCoMo, Inc. | Method and apparatus for mobility churn handling for peer-to-peer lookup systems |
KR100692918B1 (ko) * | 2006-03-07 | 2007-03-12 | 한국표준과학연구원 | 유비쿼터스 센서 네트워크 시스템의 운용방법 |
KR101895062B1 (ko) * | 2006-10-06 | 2018-09-05 | 로비 가이드스, 인크. | 인터랙티브 미디어 안내 어플리케이션들에서 미디어를 획득, 카테고리화 및 전달하기 위한 시스템 및 방법 |
US8484663B2 (en) * | 2007-04-27 | 2013-07-09 | Microsoft Corporation | Method of deriving web service interfaces from form and table metadata |
US20080288654A1 (en) * | 2007-05-17 | 2008-11-20 | Nokia Corporation | Node and method to provide and keep real-time up-to-date data in a distributed hash table |
CN108377257B (zh) * | 2017-01-30 | 2020-12-25 | 慧与发展有限责任合伙企业 | 基于服务水平协议创建存储区域网络区的方法、系统和存储介质 |
US11947978B2 (en) | 2017-02-23 | 2024-04-02 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
US10831509B2 (en) | 2017-02-23 | 2020-11-10 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
CN110445619B (zh) * | 2017-03-30 | 2020-10-16 | 腾讯科技(深圳)有限公司 | 区块链系统、消息处理方法及存储介质 |
EP3655857A1 (en) * | 2017-07-20 | 2020-05-27 | Cisco Technology, Inc. | Managing a distributed network of function execution environments |
CN113259499B (zh) * | 2021-03-31 | 2022-10-28 | 航天东方红卫星有限公司 | 一种面向跨域网络的编址方法 |
US11729588B1 (en) | 2021-09-30 | 2023-08-15 | T-Mobile Usa, Inc. | Stateless charging and message handling |
CN118138570B (zh) * | 2024-05-07 | 2024-08-13 | 榆林金马巴巴网络科技有限公司 | 一种can总线下的皮带机系统结构重构自动化方法及系统 |
-
2003
- 2003-02-14 WO PCT/GB2003/000647 patent/WO2003084186A1/en active Application Filing
- 2003-02-14 EP EP03745200A patent/EP1491026B1/en not_active Expired - Lifetime
- 2003-02-14 AT AT03745200T patent/ATE524914T1/de not_active IP Right Cessation
- 2003-02-14 JP JP2003581458A patent/JP3899076B2/ja not_active Expired - Fee Related
- 2003-02-14 CN CNB038071738A patent/CN100539602C/zh not_active Expired - Fee Related
- 2003-02-14 KR KR1020047013433A patent/KR100656222B1/ko not_active IP Right Cessation
- 2003-02-14 AU AU2003258902A patent/AU2003258902A1/en not_active Abandoned
- 2003-03-18 TW TW092105890A patent/TWI243569B/zh not_active IP Right Cessation
Non-Patent Citations (5)
Title |
---|
Approaches for resolving dynamic IP addressing. Schubert Foo,SiuCheung Hui,See Wai Yip,Yulan He.Internet Research:Electronic Networking Applications and Policy,Vol.Volume 7 . 1997 |
Approaches for resolving dynamic IP addressing. Schubert Foo,SiuCheung Hui,See Wai Yip,Yulan He.Internet Research:Electronic Networking Applications and Policy,Vol.Volume 7 . 1997 * |
特開平5-61984A 1993.03.12 |
知识点及其网络的特点分析. 谢深泉.软件学报,第9卷第10期. 1998 |
知识点及其网络的特点分析. 谢深泉.软件学报,第9卷第10期. 1998 * |
Also Published As
Publication number | Publication date |
---|---|
KR20040091675A (ko) | 2004-10-28 |
JP3899076B2 (ja) | 2007-03-28 |
JP2005522103A (ja) | 2005-07-21 |
TW200307440A (en) | 2003-12-01 |
AU2003258902A1 (en) | 2003-10-13 |
TWI243569B (en) | 2005-11-11 |
WO2003084186A1 (en) | 2003-10-09 |
ATE524914T1 (de) | 2011-09-15 |
CN1643880A (zh) | 2005-07-20 |
EP1491026B1 (en) | 2011-09-14 |
KR100656222B1 (ko) | 2006-12-12 |
EP1491026A1 (en) | 2004-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100539602C (zh) | 瞬变网络中的动态寻址 | |
US7039701B2 (en) | Providing management functions in decentralized networks | |
US7143139B2 (en) | Broadcast tiers in decentralized networks | |
US7181536B2 (en) | Interminable peer relationships in transient communities | |
CN100578494C (zh) | 将资源组织成集合以促进更有效和可靠的资源访问 | |
US7069318B2 (en) | Content tracking in transient network communities | |
US7177929B2 (en) | Persisting node reputations in transient network communities | |
US7251689B2 (en) | Managing storage resources in decentralized networks | |
KR100261386B1 (ko) | 컴퓨터화된 자원 명칭 도출 메카니즘 | |
CN102047242B (zh) | 内容管理 | |
JP4413426B2 (ja) | 最適化されたネットワーク・リソース・ロケーション | |
CN101442436A (zh) | 用于管理ip网络的方法和系统 | |
CN101160776A (zh) | 具有身份和目录管理的通信方法和系统 | |
Muñoz-Gea et al. | Implementation of traceability using a distributed RFID-based mechanism | |
CN101444072A (zh) | 用于管理网络中的域名的服务器和方法 | |
Siram et al. | An architecture for the uniframe resource discovery service | |
CN102316154A (zh) | 优化对基于联盟基础结构的资源的访问 | |
Pallickara et al. | On the creation & discovery of topics in distributed publish/subscribe systems | |
Marti et al. | Carmen: A dynamic service discovery architecture | |
Li et al. | Combine concept of agent and service to build distributed object-oriented system | |
Pöhlsen et al. | Integrating a decentralized web service discovery system into the internet infrastructure | |
Kaveh et al. | NEXUS—resilient intelligent middleware | |
Siebes | Peer-to-Peer solutions in the Semantic Web context: an overview | |
Shaharum | Service Discovery | |
Constantinescu et al. | AGENTCITIES/OPENNET FORUM |
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 | ||
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: 20090909 Termination date: 20190214 |