用于对等访问的方法和装置的制作方法

文档序号:7922293阅读:228来源:国知局
专利名称:用于对等访问的方法和装置的制作方法
技术领域
本发明涉及网络系统,尤其涉及利用一个对等网络的文件共享。
背景技术
对等(P2P)是一个其中每个当事方都具有相同的性能、而且任何当事方都能够启动一个和在该P2P网络上的另一个当事方的通信会话的通信模型。在某些实现中,P2P通信通过赋予每个通信节点服务器和客户功能来实现。在一个特定的应用中,P2P已经用来描述其中用户能够使用Internet来直接或者通过一个中间服务器互相交换文件的应用。
在Internet上,P2P能够被看作一种类型的瞬态网络,其允许一组用户相互连接并且从彼此的系统中访问文件。Napster和Gnutella是这类P2P软件的流行示例。为了参与一个P2P网络,用户必须下载和安装一个P2P联网程序(P2P浏览器)。该浏览器P2P允许用户经由一种适当的P2P协议与在该P2P网络中的其它P2P浏览器进行通信。该用户因此变成了该网络上的一个P2P节点。
在一个“纯”P2P网络中,组成部件仅仅包括这些用户。文件共享通过确定目前在该P2P网络上的节点,以及和每个这样的节点进行通信以标识可用文件清单来实现。最初,一个对等用户必须明确地访问在线的另一个对等用户。例如,一个网站能够拥有其它对等机器的IP地址。当该用户“连接”到另一个活的机器(即,一个正在执行P2P程序的机器)时,那个另一个活的机器则告诉其它的对等用户它已经和该新的对等用户建立了联系。那些对等用户中的每一个然后告诉它们所知道的对等用户,这些对等用户又告诉其他的对等用户,诸如此类。做为选择,而不是把信息“推”出,用户的P2P程序能够“拉”进来有关连接的对等用户的信息。因此,该用户的机器能够从另一个机器获得它知道的一列对等用户。该用户的机器然后能够查询其它机器以标识在该P2P网络上的另外其他的机器,等等。以这种方式,一个对等用户能够知道在该P2P网络中的其它对等用户。
为了便于文件共享,能够配置一个“混合”的P2P网络。在一个“混合”P2P网络中的文件共享涉及用户指定她的计算机(本地计算机)中的哪些文件要在P2P网络上共享,以及上载有关那些文件的信息到一个管理(索引)服务器。这些信息一般包含文件位置(例如,本地计算机的IP地址、每个文件所处的目录、等等)以及包含文件名称、文件类型之类的索引信息。这样的混合P2P网络最流行的是Napster,其使用一个中心索引服务器。
另一个P2P用户然后能够(经由他的P2P浏览器)在该管理服务器执行对维持在该管理服务器中的文件信息的一次搜索。这用户然后能够基于从该管理服务器中获得的文件位置信息,访问来自该文件所有者计算机的文件。
除了某些法律干系以外,P2P网络范例广泛应用的一些障碍是明显的。例如访问一个P2P网络要求每个系统下载并且安装P2P访问软件,这是一个人们可能不愿去满足的要求。不情愿的一个原因可能是施加于一台起一个P2P节点的作用的机器上的附加处理负载。一个更严重的问题是每个能够访问Internet的硬件平台是作为一个P2P节点的主要候选者,这需要为那个平台开发软件。除了传统的PC(个人计算机)之外,其他可访问因特网的设备包含蜂窝电话、汽车导航系统、个人数据辅助设备、等等。P2P可能不适于那些计算能力不足的移动终端;例如,没有足够的带宽来处理作为在一个网络中的一个对等用户所需要的信息流,没有足够的内存或者存储能力提供给文件,以及通常没有足够的能力来提供复杂的P2P处理过程以支持其他的对等成员。
因此应当理解有必要促进对一个P2P网络的访问和参与。

发明内容
本发明的实施例包含一种用于从一个基于一种不同于第一网络通信协议的网络通信协议的网络节点访问基于第一网络通信协议的一个网络的方法和系统。在本发明的一个特定实施例中,一个网关服务器提供了从一个Web浏览器对一个对等(P2P)网络的访问。一般来说,本发明的实施例能够使用符合不同于在一个P2P网络中使用的P2P协议的协议的消息,从一个节点访问该P2P网络。


通过结合以下附图的描述,本发明能够得到理解,其中附图包括图1是一个示意图,说明了依据本发明一个实施例的一个联网通信系统;图2是一个高级框图,显示了依据本发明的一个对等网关服务器说明性实施例的功能块;图2A-2C说明了本发明的一个方面,其中能够被传达和/或显示的信息量根据客户的配置而变化;图3是依据本发明的一次联网通信系统的图解表示;图4显示了在一个依据本发明一个方面的一个登录序列实施例中的通信交换;图5显示了在一个依据本发明的信息获取序列实施例中的通信交换;
图6和6A显示了在一个依据本发明方面的一个Web端文件检索序列实施例中的通信交换;图6B显示了在一个依据本发明的一个方面、涉及至少一个第二P2P网关服务器的检索实施例中的通信交换;图7显示了在一个依据本发明一个方面的一个文件登记序列实施例中的通信交换;以及图8显示了在一个依据本发明方面的一个P2P端文件检索序列
具体实施例方式
图1是一个高级的概括框图,显示了一个包括本发明的联网通信系统。为了讨论目的,本图显示了一个使用HTTP(超文本传输协议)联网通信协议的、基于Web的网络112。该图还显示了一个例如包含多个对等用户124a-124c的对等(P2P)网络122。一个P2P网关服务器102表示本发明的一个说明性实施例。
虽然随后的描述是用于一个基于HTTP的实施例,但应当理解本发明不局限于使用HTTP。本发明的目的是从这样一个节点访问一个P2P网络,其中该节点传输符合不同于在该P2P网络中使用的P2P协议的协议的消息。因此应当理解本发明的许多替换实施例能够使用任何传统的网际协议访问一个P2P网络,这些协议诸如HTTP、FTP(文件传输协议)、SOAP(简单对象访问协议,一个用于WEB服务的协议)、SIP(会话启动协议,一个用于多媒体通信的信令协议)、POP3/IMAP(邮局协议,一个用于接收电子邮件的协议&Internet消息访问协议)、SMTP(简易邮件传输协议,用于发送电子邮件),等等。应当理解对第一P2P网络的访问甚至能够从使用不同于第一P2P网络协议的P2P协议的第P2P网络中的一个节点进行。客户应用的实施例能够是不同于一个WEB浏览器的客户应用;例如,SOAP客户应用、SIP客户应用、电子邮件客户应用、等等。
该基于Web的网络112包含能够执行一个适当的联网程序(通常称为一个Web浏览器)的节点,该联网程序能够使用HTTP网络通信协议访问一个通信网络以及和另一个节点进行通信。该万维网(WWW,“网络”)是一个客户机/服务器联网范例,一个最通用的分布式计算模型。在该客户机/服务器体系结构中,客户机请求服务而服务器提供那些服务。已知有各种服务器,包含Web服务器,邮件服务器,FTP服务器,等等。
在一个Web上的客户机节点执行一个浏览器应用程序,其经由HTTP和一个Web服务器进行通信。一般地,该通信包含对图像和文本文件的请求,这些文件然后能够由浏览器应用程序可视地显示或者呈现。该通信网络通常是Internet,但是当然也可以是一个局域网,或者某些其它适当的网络体系结构。
该网络节点通常是运行一个适当的浏览器应用程序的PC(个人计算机)。然而,其他的设备也是可能的。图1显示了各种示例,包含一个个人数据助理(PDA)、蜂窝电话、和导航系统(例如,汽车导航系统)。
图1还显示了各种能够在该Web中传递的文件类型。虽然能够从一个服务器中提供传统的、纯文本的文件,但Web的能力体现在它对超链接文本文件、总的来说是任何类型的超链接文件,的使用。网页文件包含用于提供与其他文件的逻辑链接的特定信息,这些其他文件能够由一个适当的浏览器显示。该图显示了用于创建这样的文件的基本HTML(超文本标记语言)语言的变体,其中包含但不局限于XML,和WAP。
P2P网络122包含在一个执行一个P2P联网程序(不同地称为一个P2P浏览器、P2P对等程序、服务方程序)的通信网络中的节点,该联网程序允许该P2P网络中的节点(对等用户、对等终端)相互连接。不同于客户机/服务器模型,在P2P网络中的每个对等用户能够起一个客户机的作用,以向其他对等用户请求和发布文件,以及起一个服务器的作用,以提供对由其他对等用户请求的文件的访问以及执行由其他对等用户请求的操作。P2P联网程序使用一个适当的P2P网络通信协议与该P2P网络上的对等用户节点进行通信,这些协议例如Gnutella、Napster、以及最近由Sun Microsystems,Inc公布的一个P2P协议Jxta。
作为Web和P2P网络的基础的通信网络可以是Internet。然而应当理解对于Web和P2P网络,作为基础的通信网络可以是不同的。显然在发明能够适用于异类网络集合以及同类网络。
图1显示了P2P网关服务器102使用HTTP网络通信协议和Web交换信息(例如,请求)以及使用一个适当的P2P网络通信协议和P2P网络交换信息。依据本发明,该P2P网关服务器执行一个实际上把来自一个网络(例如,Web)的某些请求转换成为在另一个网络(例如,P2P)上的等效请求、以及相反的操作。该P2P网关服务器实际上允许一个Web用户提供对P2P网络的访问。
在一个替换实施例中,网络部件112能够是一个使用不同于网络122中使用的P2P网络协议的P2P网络协议的P2P网络。从第二P2P网络中的一个节点对第一P2P网络122的访问能够以在上面概括的方式以及在下面将更详细解释的方式经由网关服务器102进行,其中网关服务器被恰当地配置以处理第二P2P网络协议。
图2显示了如图1所示的P2P网关服务器102的一个实现范例。在一个特定配置中,P2P网关服务器能够是一台具有IntelPentiumCPU、配置有SDRAM、以及具有一个硬盘驱动器用于存储的PC服务器。然而应当理解可以使用任何适当的硬件平台。
P2P网关服务器102能够在一个Linux操作系统上运行并且包含一个包括网关逻辑202、一个对等用户功能部件204、以及一个HTTP服务器部件206在内的软件部件。如应当理解的那样,HTTP服务器包括用于提供一个Web浏览器能够与之连接的传统HTTP服务器接口的代码。一个URL(通用资源定位器)可被分配给P2P网关服务器。例如、图2显示了经由HTTP服务器部件206访问P2P网关服务器的Web浏览器212a和212b。从Web浏览器的观点来看,该P2P网关服务器只不过是另一个网站。该图还显示了在一个网站214处的Web服务器能够经由HTTP服务器部件,例如通过Web服务器中的一个客户机部件214a访问P2P网关服务器。这个情况考虑了一个Web浏览器能够访问一个网站的可能性,反过来这可能导致该网站经由P2P网关服务器访问P2P网络122(图1)。
对等用户功能部件204包含一个包含P2P网络访问功能的前端。这允许该对等用户功能部件作为另一个对等用户出现在P2P网络122,从而提供对在该P2P网络中的对等用户224a、224b的访问。在一个纯P2P网络中,每个对等用户递增地获悉在该网络中的其他对等用户。一个对等用户必须首先联系该网络中的另一个对等用户,该另一个对等用户然后通知第一对等用户它所知道的其他对等用户。第一个对等用户然后联系这些其他对等用户并且继续该处理过程。
在一个“混合”P2P网络配置中,提供了一个索引服务器242。一个混合P2P网络中的一个对等用户的P2P联网程序将该对等用户登记到索引服务器中。此外,表示文件以及它们在该对等用户机器中的组织信息被上载到该索引服务器。在一个其中P2P网络为混合种类的P2P网关服务器102的实现过程中,应当理解该对等用户功能部件204能够被配置为和索引服务器214进行交互。在索引服务器242和P2P网关服务器之间的接口可以是一个基于P2P的接口,这样对等用户功能部件就好象它是另一个对等用户一样被用来访问索引服务器。做为选择,可以提供一个定制的接口,其允许网关逻辑202以一种不需要交换P2P消息的“后门”方式访问数据存储器。可以理解还有其他的方案是可能的。
网关逻辑202是这样一个部件,其提供了响应于来自一个Web浏览器的消息与该P2P网络中的对等用户交互,以及响应于从P2P网络接收的消息与一个Web浏览器交互的功能。在一个混合P2P网络的情况下,还可能出现与索引服务器的交互。网关逻辑可以以多种方式实现。
当HTTP服务器部件206从一个Web客户机接收一条消息时,该消息的某些表示被提供给网关逻辑202。然后由该网关逻辑产生一个或多个后续消息并且将其提供给对等用户功能部件204。该对等用户功能部件然后把该一个或多个后续消息传递给P2P网络。这可能涉及与一个或多个对等用户进行通信,或者在一个混合P2P网络的情况下,该对等用户功能部件204还可能与一个索引服务器214进行通信。
相反地,当对等用户功能部件204从P2P网络(对等用户或者索引服务器)接收消息时,那些消息的某些表示被提供给网关逻辑202。该网关逻辑然后产生一个或多个适合于该浏览器的消息。这可能包含根据从该P2P网络接收的信息产生一个合适的网页。它可能包含根据从P2P网络接收的信息,填充一个模板网页中的字段。该HTTP服务器部件206然后把该网页或者某些其它合适的消息传回到该Web服务器。
依据本发明的一个方面,该P2P网关能够基于诸如,但不局限于,用户优先权(user preference)、系统配置、以及终端配置/性能(例如,CPU能力、存储器、显示性能等)、网络性能(例如,带宽)之类的因素,定制被包含在该消息中的信息类型。例如,该P2P网关能够发送有关该P2P网络的完整信息给一个具有高带宽和存储容量来接收并且存储这样的信息的PC。在另一方面,P2P网关可能只发送该信息的一个摘要给一个移动电话。该P2P网关还可能对某些信息执行介质转换。例如,诸如数字图象和电影之类的数字内容可以以一种适合于接收机器的方式被“精处理(massaged)”。因此,P2P网关能够增加、减少、或者修改一个图像数字文件的数据量、图像尺寸、分辨率等以试图适应接收端或者网络(例如,带宽、CPU能力、存储器、显示器大小、等等)的配置(例如,约束、局限性)。
图2A-2C是本发明这方面的说明。图2A显示了一个能够在一个大显示器,诸如可以与一个桌面PC相关联的显示器上呈现的信息示例。该示例显示了一个用于传达虚拟目录信息的定制消息。该消息能够包含完整的目录信息,其显示了文件和子文件夹的分层结构。能够显示一个被选择或者指定的文件夹(文件夹6)以及它的子文件夹和文件。还能够显示附加的信息。例如,该信息可包含每个文件夹中的当前在线文件和在线高速缓存的数量,以及用于每个文件的在线高速缓存的数量。该文件和文件夹的显示能够根据在线文件或者高速缓存的数量进行排序。例如,它能够按照在线文件(或者高速缓存)数量递减(或者递增)的次序进行排序。不具有任何在线文件和不具有任何子文件夹的文件夹能够被不同地显示,例如它们可以是灰色的。
图2B说明了该呈现如何为一个较小的显示,诸如一个PDA,进行修改。来自P2P网关的消息能够传送一个存在于一个以大屏幕显示为目标的消息中的信息子集(摘要信息)。因此,例如,该消息可包含仅用于指定文件夹(文件夹6)及其直系亲属文件夹(父文件夹3和兄弟文件夹5)的信息。该消息还可以传送诸如每个文件夹中的当前在线文件数(没有用于在线高速缓存的信息),以及用于每个文件的在线高速缓存数之类的附加信息。如果文件不具有在线高速缓存,或者如果该文件夹不具有任何在线文件的话,则可从该消息中省略用于那些文件或者文件夹的信息。该较小的信息量能够被更实际地传输到一个诸如PDA的设备,其趋向于具有一个较低的带宽通信性能。此外,信息的缩减可以更容易地适应较小的显示。然而,应当理解如同结合图2A中的显示阐明的那样,还能够提供不耗费显示区域的性能,诸如排序。
图2C说明了什么是诸如可以在一个移动电话中找到的最小性能配置。在此,该信息被简化为选定文件夹(文件夹6)的内容。极少的,或者与该在线高速缓存无关的信息从P2P网关中传送过来,或者如果有这样的信息传过来,取决于该设备上的可用显示区域,可能并不显示这样的信息。通过该显示的滚动可以允许用户访问文件,这是因为一次能够查看一个文件夹中的所有文件是不可能的。当然在大显示配置中同样也可以这样。
通常,功能边界便于定义是软件的一个特性。因此,如图2所示的对等用户功能部件204、网关逻辑202、以及HTTP服务器部件206配置不是必要的。网关逻辑202的功能能够不同程度地并入对等用户功能部件和HTTP服务器部件中的一个或者两个中。该图用来标识功能而不是一个特定的实现。尽管如此,在一个具体的实现中,仍为每个部件202-206提供了独立的软件模块。
为了完成图2中的讨论,显示了一个节点232,其说明了该节点能够执行一个P2P联网程序和一个Web浏览器的情况。因此,一方面,该节点可以使用一个P2P网络通信协议充当一个在该P2P网络中的对等用户;同时在另一方面,该节点还是一个使用不同网络通信协议的Web客户机。虽然这样的一个配置不是通用的,但重点在于当拥有合适的软件时,同一个节点能够属于多个网络。
图3说明了本发明的一个概括实施例。通信网络300表示任何类型的基本网络或者网络组合。通信网络能够把多个通信节点连接在一起,以及支持在使用多种已知通信协议的节点之间的通信。该图显示了某些节点312a、312b操作Web浏览软件,同时其他节点324a-324c操作P2P联网程序。对等用户节点324a-324c构成了一个P2P网络。如果P2P网络是一个混合P2P网络的话,则能够提供一个索引服务器342。
如图3所示,一个P2P网关服务器302能够作为一台机器提供。然而,应当理解该P2P网关服务器能够是分布式体系结构,被实现为单独的机器部件,以象该网络中的单独节点一样提供一个对等用户功能204、网关逻辑202、以及一个HTTP服务器206。因此,例如,一个对等用户功能机器334能够向该P2P网络提供一个存取点。标记“+”表示该机器除了执行一个适当的P2P联网程序之外,还包含用于网络访问该P2P网关服务器的网关逻辑部件332的程序代码。一个HTTP服务器机器336提供一个用于Web浏览器的适当存取点。符号“+”还表示该机器包含附加的程序代码以允许和该网关逻辑部件的网络通信,其可能提供在机器332中。当然,也可以组合两个或更多这样的机器。此外,对于地理布局或者任何物理或者连接约束是没有关系的。因此,一个分布式P2P网关能够包含位于世界的不同部分中的机器或者能够共同位于同一个计算机外壳中。
图4显示了一个顺序图,其说明了一个用于依据本发明的一个实施例的登录请求的通信序列。向一个P2P网络登录的概念在一个混合P2P网络的情况下,就是向一个索引服务器登记一个对等用户的存在。在一个纯P2P网络的情况下,一个对等用户简单地向另一个对等用户登记它的存在。
希望访问一个P2P网络的Web浏览器通过访问与P2P网关服务器102相关联的网站开始。这等于用户输入一个合适的URL(例如,http//P2P-access.com)。该URL把Web浏览器连接到P2P网关服务器的HTTP服务器部件206。作为响应,可由该HTTP服务器部件提供一个网页,而且该网页可以包含一个显示以提示Web用户输入名称和/或其它的识别信息。该用户然后输入适当的登录信息,以及如果合适的话或许还有其他的信息,这些信息然后被发送给HTTP服务器部件。然后该HTTP服务器部件和网关逻辑202合作产生适合于“登录”到P2P网络上的、相应的登录类型信息。在一种实现中,这可能涉及简单地从由Web浏览器发送的HTTP消息中提取相关信息。在一个替换实现中,包含在HTTP消息中的信息可以用来在一个可由该P2P网关服务器访问的数据存储器中执行表格查找操作,以获得适合于该P2P网络的登录信息。应当理解还有其他技术可能适合于实现上述处理。
继续,在一个混合P2P网络的情况下,对等用户功能部件204,与网关逻辑202协作,使用一个适当的P2P网络通信协议,能够向索引服务器242传递合适的信息来执行该登录操作。做为选择,网关逻辑和索引服务器能够在该P2P网络通信协议的领域之外直接接口以实现相同的结果。无论以何种方式执行这个操作,在上述所有内容被执行了之后,该P2P网络将“察觉”到一个对等用户(我们的Web用户)已经连接到该P2P网络。
在与索引服务器242的相互作用完成时,可以从索引服务器向P2P网关服务器102送回一条表示某种确认形式的消息;例如,该索引服务器可以提供一个访问控制表(ACL)。当网关逻辑202,与对等用户功能部件204协作,确定这个时,它能够与HTTP服务器部件206合作以产生一个适当的网页或者其他适当的HTTP消息,其然后被传输到Web浏览器。
在一个纯P2P网络中,P2P网关服务器102将直接执行一个与对等用户等效的动作。这个交互作用在图4中由在P2P网关服务器和在P2P网络中的一个对等用户之间的虚线指示。回想起对于一个纯P2P网络,对等用户必须知道能够进行一个连接尝试的另一个对等用户。这可能需要多次尝试,这是因为没有任何一个对等用户登录到该网络中的保证。P2P网关服务器102能够积累和保持它随着时间的过去而获悉的对等用户列表。做为选择,P2P网关服务器能够访问一个提供了对等用户列表的网站。也可以采用其他方法。
图5和6是顺序图,说明了依据本发明的一个特定实施例、用于从P2P网络检索一个文件的通信交换。在图5中,首先需要获得一个可以从P2P网络中获得的文件的列表。这样,在Web用户成功地登录到该P2P网络(以变为一个Web/对等用户)之后,可以由HTTP服务器部件204呈现一个适当的网页。该网页可以包含文件可用信息,因此排除了特意去获得这样的信息的必要。做为选择,呈现某种形式的、代表至少一些可在该P2P网络上得到的文件的摘要信息可能是更实际的。例如,美国申请10/159,144描述了一个能够适合于在本发明中使用的系统。该Web/对等用户然后能够请求附加的信息。
因此,根据图5,Web/对等用户浏览器可以向P2P网关服务器102发送一条消息,指示对某些信息的请求;例如,音乐文件列表、以字母“d”开头的文件列表,前100个文件列表,等等。请求的信息能够是任意的;例如,连接的对等用户是谁。HTTP服务器部件206从Web/对等用户浏览器接收消息并且,和网关逻辑202协作,产生适合于该P2P网络的等效信息。
在一个混合P2P网络中,网关逻辑和对等用户功能部件202然后能够协作来向索引服务器242和/或一个或多个对等用户发送适当的P2P消息。做为选择,网关逻辑和索引服务器能够直接交互。
然后可以从该P2P网络(或者从索引服务器,或者两者)发送一条或多条消息到该P2P网关服务器102。网关逻辑202和对等用户功能部件204能够协作以从接收到的一条或多条消息中获得信息以便产生由Web/对等用户请求的信息。接下来,网关逻辑和HTTP服务器部件206协作以产生一个适当配置的、包含请求的信息的网页。该网页然后被发送给Web/对等用户浏览器并且向该用户显示。
在一个纯P2P网络中,响应于从Web/对等用户浏览器接收一个信息请求,P2P网关服务器102将和一个或多个对等用户而不是和一个索引服务器进行通信。这在图5中一般由虚线显示。这个通信特定序列将取决于用于一个给定P2P网络的P2P网络通信协议的具体细节。例如,取决于请求的信息,P2P网关服务器可能必须与许多对等用户交互,交换许多消息以满足该请求。在Web/对等用户对获得一个文件感兴趣的情况下,该网页将包含表示能够被下载的可用文件的适当信息。
然后参考图6,显示了在Web/对等用户浏览器和P2P网关服务器102之间的通信的一个说明性序列以实施将一个文件下载到该Web/对等用户浏览器。该Web/对等用户浏览器传递一个HTTP消息到P2P网关服务器102,以指示一个文件要被下载。HTTP服务器部件206接收该消息并且在网关逻辑202的合作下能够产生表示要被获得的文件的信息。
这个信息由网关逻辑202在对等用户功能部件204的协作下使用以传递适当的P2P网络通信协议消息,从而获得该文件。在一个混合P2P网络的情况下,一个索引服务器242能够由对等用户功能部件204作为一个对等用户(使用一个适当的P2P网络通信协议)进行协商。做为选择,网关逻辑能够直接经由某些其它的接口与索引服务器交互。通常,索引服务器将提供表示包含该文件的一个或多个对等用户的信息。要注意到取决于具体的P2P网络,有可能该文件可以位于一个以上的对等用户中。在一个纯P2P网络的情况下,假定来自Web/对等用户浏览器的请求包含用于标识从其获得该文件的对等用户的信息。
接下来,该对等用户功能部件204经由适当的P2P网络消息与被标识为具有该请求文件的一个拷贝的对等用户进行通信。以这种方式,对该对等用户而言,该对等用户功能部件就是另一个只是希望访问其文件的对等用户。通过适合于该具体P2P网络的交互,一份文件被下载到该P2P网关服务器。该网关逻辑202和HTTP服务器部件206然后协作以产生要被传输到Web/对等用户浏览器的适当HTTP消息。
此时参考图3,在本发明的一个替换实施例中,能够提供一个数据存储器338。该数据存储器能够经由网络进行访问,或者与该P2P网关服务器配置在一起。该数据存储器能够起一个存储被访问的文件的高速缓存的作用。在图6中显示的高速缓存说明了本发明的这个方面。因此,从P2P网络中的一个对等用户检索出的文件能够被保存在该高速缓存中。这样做,便于由其他Web/对等用户对请求文件的后续访问,而且有时候提供改进的文件访问性能。图6A说明了一个用于访问一个被高速缓存的文件的简单通信交换。通过到达一个可由该网关服务器访问的高速缓存并且下载被高速缓存的文件到请求客户机来满足对一个文件下载的请求。当然,要理解必须解决各种通用的高速缓存相关性问题,而且要应当理解用于保持高速缓存相关性、或者对高速缓存不相干性作出反应的技术是已知的。
图7和8说明了该发明的一个方面的实施例,用于向在一个P2P网络上的对等用户给与从该网络外面访问文件的能力。这些图显示了用于登记存储在Web/对等用户浏览器上的文件、以便P2P网络上的对等用户能够访问它的通信序列示例。由P2P网关服务器102呈现的网页查询该用户以标识要向该P2P网络登记的文件的位置。因为Web/对等用户浏览器不是该P2P网络上的一个真正的对等用户,故一个希望“登记”她的文件的Web/对等用户用户必须把这些文件上载到该P2P网关服务器。如将要描述的那样,这些文件然后能够由P2P网络从该P2P网关服务器访问。因此,呈现给用户的网页包含用于上载文件到P2P网关服务器的适当的HTML命令。
图7显示了一个发送一条或多条消息(多条)给P2P网关服务器102的Web/对等用户浏览器,该消息包含要向该P2P网络“登记”或者“公布”的文件。在一个P2P网络中的对等用户通过一个能够被不同地称为“登记”或者“公布”它们的文件的操作,让它们的文件可让其他对等用户得到。一个Web/对等用户能够利用它的文件完成该过程。因此,HTTP服务器部件206接收该“登记”消息,并且与该网关逻辑202协作产生表示该文件的信息和在该P2P网络上的任何对等用户可与其文件相关联的存取控制信息。该网关逻辑可在一个可由该网关逻辑访问的适当数据存储器(例如,图3中的数据存储器338)中存储这些文件。
图7还显示了在一个混合P2P网络中,能够访问一个索引服务器242以在该服务器中登记文件。如先前讨论的那样,索引服务器能够由对等用户功能部件204作为在该P2P网络中的一个对等用户进行访问,或者由网关逻辑直接访问该索引服务器。类似地,在一个纯P2P网络中,一个或多个对等用户被通知该Web/对等用户文件。选择哪个对等用户(哪些对等用户)以及该信息如何让其它对等用户知道的细节取决于具体的P2P网络。
图8显示了一个该P2P网络中的对等用户能够访问Web/对等用户文件的通信序列。在一个混合P2P网络的情况下,一个请求对等用户将和索引服务器进行协商并且得知该文件驻留在P2P网关服务器102中。该请求对等用户然后将和P2P网关服务器,具体地说与对等用户功能部件204,进行通信。对等用户功能部件能够然后访问(可能借助于网关逻辑202)包含该文件的数据存储器(例如,338)。该文件然后被传递该请求对等用户。
在一个纯P2P网络的情况下,图8说明了对等用户能够以一种由具体P2P网络的操作所规定的方式获悉该文件。一个期望该文件对等用户,由于已知该文件在哪儿,故能够访问该P2P网关服务器102并且以上述方式获得该文件。在混合和纯P2P网络配置中,由P2P网络提供的任何可用的存取控制机构能够在该P2P网关服务器中实现,就好象该P2P网关服务器仅仅是在该网络上的另一个对等用户一样。
从上述中应当理解该P2P网关服务器充当该Web/对等用户的代理。P2P网关服务器用来从P2P网络中隔离Web浏览器,这可能是一个合乎用户需要的特征,而且同时提供对在该P2P网络中的对等用户的访问以及允许Web用户向该P2P网络公布文件。
参考图3,示出了在一个依据本发明一个方面的实施例中的一个第二P2P网关服务器302a。访问第一P2P网关服务器302的Web浏览器能够被“反射”到第二P2P网关服务器302a。存在几种情况。例如,由于负载均衡原因,故需要消息的重新定向。一个P2P网关服务器可能由于某种原因,诸如维护,或者意外的损坏而离线。但不论是哪种情况,都希望能够重新引导消息到一个备份P2P网关服务器。其他原因可能是基于安全性、希望使用一个地理上更近的P2P网关服务器等考虑。还希望进行多次重新指向。相关领域的那些普通技术人员知道Web浏览器如何能够被透明地重新指向而不用让用户知道该动作。用于第二P2P网关服务器302a的还有另一个原因是存在一个和由第一P2P网关服务器302服务的P2P网络分离的P2P网络。
图6A显示了在Web/对等用户浏览器和P2P网关服务器302(图3)之间的通信以访问一个第二P2P网络的说明性序列。如图6A所示,Web/对等用户浏览器112(图1)能够向该P2P网关服务器302传递一个指示要被下载的文件的HTTP消息。作为响应,P2P网关能够访问一个索引服务器242以获得那些具有被请求的文件的对等用户的信息。做为选择,通过例如简单地在该网关服务器中配置该信息或者使该信息为网关服务器所知,即可使该信息为缺乏索引服务器的该P2P网关服务器302所知。
假定该文件位于另一个对等网络上而且可经由p2P网关服务器302a访问。知道此信息的P2P网关服务器302以一个指示该P2P网关302a的地址的信息,向Web/对等用户浏览器返回一个重定向消息。该Web/对等用户浏览器然后改换路由发送它的HTTP请求到P2P网关302a。然后,对第二网关的访问,例如一个文件的下载,能够以如上讨论的方式发生在Web/对等用户浏览器112和P2P网关302a之间。要注意到P2P网关302a不必具备P2P网关302所具有的协议转换功能。代之以,网关302a仅仅需要一个能够与Web对等用户交互以执行文件传输的Web接口。从这种意义上讲,网关302a更象是一个具有Web接口的常规对等用户。
在依据本发明另一个方面的另一个实施例中,Web/对等用户浏览器能够访问在一个混合P2P网络中构造的虚拟目录。Web/对等用户能够使用一个传统的URL来访问那个目录。例如,为了访问主机名为www.mountainpics.com的索引服务器中的一个目录/root/image/mountains/,用户能够输入以下的URLhttp//www.mountainpics.com/root/image/mountains/.
Web浏览器访问该索引服务器,然后把Web浏览器重定向到在另一个地址处,例如,在http//133.144.79.2/root/image/mountains/的P2P网关服务器。在那个点处,P2P网关服务器能够访问所请求的文件并且在适当的网页中将其返回到Web浏览器。
在一个依据发明另一个方面的实施例中,一个P2P网关服务器能够充当一个对每个访问该P2P网关服务器的Web浏览器的对等用户。以这种方式,该P2P网关服务器作为多个单独的对等用户出现在P2P网络中,一个这样的单独对等用户对应于一个连接到该P2P网络的Web/对等用户。
在一个混合的P2P网络中,P2P网关服务器能够保持索引服务器和其它对等用户之间的多个会话。这种方法具有在现有的P2P计算机体系结构中操作而不用对P2P联网程序和P2P网络通信协议进行修改的优点。该P2P网关服务器对于该P2P网络而言是完全透明的。
在本发明这个方面的一个替换实施例中,该P2P网关服务器能够充当一个对应于多个Web/对等用户连接的单个对等用户。在一个混合P2P网络中,这只需要一个与索引服务器以及与其它对等用户的会话。然而,取决于一个具体P2P体系结构的实现,这种方法可能需要对P2P联网程序和/或P2P网络通信协议进行改变。另一方面,这种方法是可升级的,因为只需管理很少的会话。
权利要求
1.在一个包含多个节点的联网通信系统中,一种用于访问对等(P2P)网络的方法,其中该P2P网络包含一些节点,每个节点执行至少一个P2P联网程序,用于使用一个与该P2P网络相关联的第一P2P协议进行互相通信,该方法包含接收从第一联网程序传来的第一消息,该第一联网程序不是所述P2P联网程序中的一个且在第一节点上被执行;向在该P2P网络中的一个节点传递一条消息,该消息包含基于包含在该第一消息中的信息的信息,该消息符合第一P2P协议;从该P2P网络中的该节点接收一个响应;以及传递第一响应到第一节点,该第一响应包含基于包含在来自该P2P网络中的该节点的响应中的信息的信息。
2.如权利要求1所述的方法,其中使用不与该P2P网络兼容的网络协议来传递该第一消息和第一响应。
3.如权利要求1所述的方法,其中第一消息包含表示该P2P网络中的一个节点的标识信息,其中向一个节点传递一条消息的步骤包含使用该标识信息来标识该P2P网络中的该节点。
4.如权利要求1所述的方法,进一步包含把包含在第一消息中的信息传递给一台服务器以获得表示该P2P网络中的一个节点的标识信息,其中向一个节点传递一条消息的步骤包含使用该标识信息来标识该P2P网络中的该节点。
5.如权利要求1所述的方法,其中该响应包含表示该P2P网络中的一个或多个文件的目录信息。
6.如权利要求5所述的方法,其中目录信息的内容基于第一节点的配置。
7.如权利要求1所述的方法,其中第一消息是一个登录请求。
8.如权利要求1所述的方法,其中第一消息是一个对位于该P2P网络中的一个或多个节点上的一个或多个文件的文件检索请求。
9.如权利要求1所述的方法,其中第一消息是一个文件上载请求。
10.如权利要求1所述的方法,其中第一消息是一个对位于该P2P网络中的一个或多个节点上的至少一个文件的文件检索请求,该方法进一步包含和一台服务器进行通信以获得表示该P2P网络中的一个具有该文件拷贝的节点的标识信息;和该P2P网络中的一个节点进行通信以访问该文件,该P2P网络中的该节点由该标识信息标识;以及将与该文件有关的信息传递给第一节点。
11.如权利要求10所述的方法,其中与该文件有关的信息包含该文件的内容。
12.如权利要求10所述的方法,进一步包含存储该文件的拷贝以便能够满足对该文件的后续检索请求而不用访问该P2P网络中的该节点。
13.如权利要求1所述的方法,其中第一消息是一个文件上载请求,其中该文件未被存储在P2P网络中的一个节点上。
14.如权利要求1所述的方法,其中第一节点和该P2P网络中的该节点是同一个节点。
15.如权利要求1所述的方法,其中第一联网程序是一个用于利用与第P2P网络相关联的第P2P协议进行通信的P2P联网程序。
16.如权利要求1所述的方法,其中第一消息符合HTTP(超文本传输协议)、FTP(文件传输协议)、SOAP(简单对象访问协议)、SIP(会话启动协议)、POP3(邮局协议3)、IMAP(Internet消息访问协议)和SMTP(简单邮件传输协议)中的一种协议。
17.如权利要求1所述的方法,其中第一消息符合不同于第一P2P协议的第二P2P协议。
18.一种用于访问来自一个对等(P2P)网络的信息的方法,包含从一个客户机接收一个internet消息,该internet消息符合HTTP(超文本传输协议)、FTP(文件传输协议)、SOAP(简单对象访问协议)、SIP(会话启动协议)、POP3(邮局协议3)、IMAP(Internet消息访问协议)、和SMTP(简单邮件传输协议)中的一种协议;基于包含在该internet消息中的信息,从一个数据存储器中获得第一信息,该数据存储器包含从第一P2P网络中的对等用户收集来的信息;产生第二信息,该第二信息包含第一信息的一部分;以及把该第二信息传递给客户机。
19.如权利要求18所述的方法,其中第二信息包含目录信息。
20.如权利要求19所述的方法,其中目录信息的内容基于客户机的配置。
21.如权利要求18所述的方法,进一步包含与该P2P网络中的一个或多个对等用户进行通信以从其中获得信息并将该信息存储到该数据存储器中。
22.如权利要求18所述的方法,其中该数据存储器是一个索引服务器。
23.如权利要求18所述的方法,其中在第一网关服务器上执行这些步骤,其中该数据存储器与第二网关服务器相关联,该第二网关服务器可用于提供对第一P2P网络的访问,第二信息指示第二网关服务器的一个地址,该客户机能够基于该第二信息与第二网关服务器进行通信。
24.如权利要求18所述的方法,其中该消息是一个文件检索请求,该方法进一步包含访问该数据存储器以获得表示具有该文件拷贝的一个或多个对等用户的信息,以及使用一种P2P网络通信协议访问该一个或多个对等用户中的一个以获得该文件,其中产生一个网页的步骤包含该文件的至少一部分。
25.如权利要求24所述的方法,进一步包含在一个文件数据存储器中存储该文件以便能够根据存储在该文件数据存储器中的文件满足一个对该文件的后续internet消息。
26.如权利要求18所述的方法,其中该消息是一个向该P2P网络发布一个文件的请求,该方法进一步包含访问该数据存储器以存储有关该文件的信息、接收该文件的拷贝、以及在一个文件数据存储器中存储该文件的拷贝,其中该P2P网络中的对等用户能够从该文件数据存储器中接收该文件的拷贝。
27.如权利要求18所述的方法,其中该P2P网络使用第一P2P协议进行通信,而且使用不同于第一P2P协议的第二P2P协议传递第一消息。
28.如权利要求18所述的方法,其中该客户机是一个WEB浏览器以及第二信息是一个网页。
29.如权利要求18所述的方法,其中该internet消息符合HTTP(超文本传输协议)、FTP(文件传输协议)、SOAP(简单对象访问协议)、SIP(会话启动协议)、POP3(邮局协议3)、IMAP(Internet消息访问协议)、SMTP(简易邮件传输协议)以及P2P网络协议中的一种协议,其中该P2P网络协议不同于第一P2P网络中使用的P2P网络协议。
30.一种用于访问一个对等(P2P)网络的系统,包含一个用于使用第一网络通信协议接收和发送信息的第一通信模块;一个用于使用第二网络通信协议接收和发送信息的第二通信模块,该第二网络通信协议是由该P2P网络使用的一个协议;以及一个用于根据第一通信模块接收的信息产生第一信息、以及根据第二通信模块接收的信息产生第二信息的信息交换模块,该第二通信模块被进一步配置为向该P2P网络中的一个对等用户发送第一信息,以及响应性地从该P2P网络中的一个对等用户接收信息,第一通信模块被进一步配置为向一个目的地节点发送第二信息,其中第一网络通信协议不同于第二网络通信协议。
31.如权利要求30所述的系统,其中第二信息包含目录信息。
32.如权利要求31所述的系统,其中目录信息的内容基于目的地节点的配置。
33.如权利要求30所述的系统,进一步包含一个用于响应由第一通信模块接收的信息,与该P2P网络中的一个或多个对等用户进行交互的对等用户访问模块。
34.如权利要求33所述的系统,其中该对等用户访问模块被进一步配置为从该P2P网络中的一个对等用户中访问一个或多个文件。
35.如权利要求34所述的系统,进一步包含一个配置为访问一个数据存储器以存储从在该P2P网络中的对等用户中访问的文件的数据通信模块。
36.如权利要求34所述的系统,其中该数据存储器要经由一个通信网络被访问。
37.如权利要求33所述的系统,其中该对等用户访问模块被进一步配置为响应于由第一通信模块接收的信息,分配文件存储器,其中该信息代表一个文件。
38.如权利要求30所述的系统,进一步包含一个用于与一台服务器进行通信以获得代表该P2P网络中的一个对等用户的标识信息的第三通信模块。
39.如权利要求30所述的系统,其中第一网络通信协议是HTTP(超文本传输协议)、FTP(文件传输协议)、SOAP(简单对象访问协议)、SIP(会话启动协议)、POP3(邮局协议3)、IMAP(Internet消息访问协议)、和SMTP(简易邮件传输协议)中的一种。
40.如权利要求30所述的系统,其中第一网络通信协议是一个P2P协议。
41.一个用于访问一个对等(P2P)网络的计算机程序产品,包含计算机可读存储介质以及存储在该计算机可读存储介质上的程序代码,该计算机程序代码有效地控制一个或多个数据处理设备,以便接收使用第一网络通信协议传递的第一请求;向该P2P网络中的一个对等用户传递一个请求,该请求包含基于包含在第一请求中的信息的信息,使用第二网络通信协议传递该请求;从该P2P网络中的该对等用户接收一个响应;以及向一个目的地节点传递一个第一响应,其包含基于包含在来自该P2P网络中的该对等用户的响应中的信息的信息,使用第一协议传递该第一响应,第一网络通信协议不同于第二网络通信协议。
42.如权利要求41所述的计算机程序产品,进一步有效地控制一个或多个数据处理设备,以便与一台服务器进行通信,以使用包含第一请求的信息获得代表该P2P网络中的一个对等用户的标识信息,其中向一个对等用户进行传递包含使用该标识信息来标识该P2P网络中的该对等用户。
43.如权利要求41所述的计算机程序产品,其中第一请求是一个对位于该P2P网络中的一个或多个对等用户上的一个文件的文件检索请求,该计算机程序产品进一步有效地控制一个或多个数据处理设备,以便与一台服务器进行通信,以获得代表该P2P网络中的该对等用户的标识信息,该对等用户具有该文件的拷贝,该第一响应代表该文件。
44.如权利要求43所述的计算机程序产品,其中与该文件有关的信息包含该文件的内容。
45.如权利要求43所述的计算机程序产品,其中存储该文件的拷贝以便能够满足对该文件的后续检索请求而不用访问该P2P网络中的该对等用户。
46.如权利要求41所述的计算机程序产品,其中第一网络通信协议是HTTP(超文本传输协议)、FTP(文件传输协议)、SOAP(简单对象访问协议)、SIP(会话启动协议)、POP3(邮局协议3)、IMAP(Internet消息访问协议)、和SMTP(简易邮件传输协议)中的一种。
47.如权利要求41所述的计算机程序产品,其中第一网络通信网络协议是一个P2P网络协议。
48.一种用于访问一个对等(P2P)网络的系统,该P2P网络包含多个第一节点,该第一节点使用第一P2P网络协议进行通信,该系统包含用于从第二节点接收第一消息的装置,该第一消息符合不同于第一P2P网络协议的第二网络协议;用于和第一节点中的一个通信第二消息的装置,该通信响应于第一消息而被执行,该第二消息的内容基于第一消息的内容而定;用于从第一节点中的一个接收第三消息的装置;以及用于向第二节点传输该第三消息的一个表示的装置。
49.一种用于访问一个对等(P2P)网络的系统,该P2P网络包含多个第一节点,该第一节点使用第一P2P网络协议进行通信,该系统包含用于从第二节点接收第一消息的装置,该第一消息符合不同于第一P2P网络协议的第二网络协议;用于产生第一信息的装置,该第一信息基于包含在第一消息中的信息;用于基于第一信息获得第二信息的装置,该第二信息来源于第一节点中的一个;以及用于向第二节点传输第二消息的一个表示的装置。
50.如权利要求49所述的系统,其中用于获得的装置包含用于与一个索引服务器进行通信以获得第三信息的装置,该第三信息指示出第二信息。
51.如权利要求50所述的系统,其中第三信息指示第一节点中包含第二信息的一个第一节点。
52.如权利要求50所述的系统,其中第三信息组成第二信息。
53.一种用于访问一个对等(P2P)网络的系统,包含用于访问第一P2P网络的第一网关装置,该第一网关装置包含用于从一个不属于该P2P网络的第一节点接收第一消息的装置;用于产生第一信息的装置,该第一信息基于包含在第一消息中的信息;用于获得指示第二网关装置的第二信息的装置,该第二网关装置用于访问第二P2P网络;以及用于向第二节点传输第二消息的一个表示的装置,第二信息指示该第二P2P网络中的一个第二节点,其中第一节点可以与第二网关装置进行通信以访问第二P2P网络。
54.在一个包含多个节点的对等(P2P)网络中,每个节点执行至少一个P2P联网程序,用于使用第一P2P协议互相通信,一种用于该P2P网络中的一个节点、以和一个移动终端进行通信而不用执行该至少一个P2P联网程序的方法,该方法包含从该移动终端接收一条消息,响应于该消息,获得代表该P2P网络中的一个或多个文件的第一目录信息,该第一目录信息包含在线文件数目或者用于每个文件的在线高速缓存的数目;以及转换该第一目录信息,以根据包含在每个目录中的在线文件的数目或者用于每个文件的在线高速缓存的数目产生第二目录信息,该第二目录信息包含第一目录信息中的一部分。
55.如权利要求54所述的方法,进一步包含传递一个响应到移动终端,该响应包含第二目录信息,该第二信息包含在线文件的数目或用于每个文件的在线高速缓存的数目。
56.如权利要求54所述的方法,其中构造第二目录信息以便根据包含在每个目录中的在线文件数目或用于每个文件的在线高速缓存的数目来设计第二目录信息中的目录或者文件在该移动终端上的显示。
57.如权利要求56所述的方法,进一步包含传递一个响应到移动终端,该响应包含第二目录信息,该第二信息包含在线文件的数目或用于每个文件的在线高速缓存的数目。
全文摘要
在本发明的一个具体实施例中,描述了一个对等接口设备。本发明的具体实施例便于一个Web浏览器进行访问,同时允许一个Web用户得益于对一个对等网络的访问性能,诸如文件共享。该接口设备能够使用一个标准协议(例如,HTML)进行通信,因此允许Web用户用一个传统的Web浏览器来访问对等网络。该接口设备能够在对等网络端交互,从而就象一个对等用户机器一样出现在对等网络中。
文档编号H04L29/08GK1517900SQ03155589
公开日2004年8月4日 申请日期2003年8月29日 优先权日2003年1月24日
发明者松原大典, 三木和穗, 穗 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1