用于对等服务的方法和装备的制作方法

文档序号:7736082阅读:154来源:国知局
专利名称:用于对等服务的方法和装备的制作方法
技术领域
本发明有关网络。具体地说,本发明涉及用于对等服务的方法和装备。
背景技术
许多公司正在采用网络来共享信息。因特网和企业内部网就是这种网络的例子。可以在公司、大学、本地组或者全世界的用户等当中共享这种信息。
随着共享的信息在内容上愈加丰富,例如流视频等,就对服务器提出了更高的要求,这些服务器可能会降低可用的带宽,而且减慢对例如在广域网(WAN)上的信息的访问。一种改善性能的方法就是“拓宽”WAN可能使用的“管道”或带宽。这可能是一种非常昂贵的方法,特别是当流量的高峰(peak)或尖峰(strike)可能成为限制因素的时候。这就出现了问题。


在附图中以示例而非限制性的方式图示了本发明,其中相似的标号表示相似的元件,其中图1图示了一种网络环境,其中可以实施本发明的方法和装备;图2是一种计算机系统的方框图;
图3图示了本发明用于文件共享的一个实施例;图4图示了本发明用作万维网代理服务(web proxy service)的一个实施例;图5图示了本发明的一个实施例,其中第三方控制着客户端之间在WAN/LAN上的内容传送;图6图示了本发明用于分布式备份和存储的一个实施例;图7图示了本发明对网络使用路由器表分析的一个实施例;图8A和图8B图示了SLS启动流(launch flow)的一个实施例;图9A和图9B图示了SLS文件流的一个实施例;图10A到图10H图示了本发明可能的用户界面;图11图示了本发明用于对等代理的一个实施例;图12图示了本发明一个实施例中对等代理的流程图;图13图示了本发明的一个实施例,其中第三方在控制文件传送;图14图示了本发明用于备份存储的一个实施例;图15图示了本发明用于路由器表分析的一个实施例。
具体实施例方式
下面将说明用于对等服务的方法和装备。
通过提供可以将网络流量转移到另一个网络的能力,本发明可以实现对信息、数据等更有效率的传送。这么转移网络流量的一个例子可以是把WAN流量转移为LAN对等流量。
诸如因特网的WAN和诸如公司内部网的WAN都会发现从这种流量转移能力是有用的。为了更好地解释本发明,将参考企业内部网(intranet)来说明,但是,本领域的普通技术人员将认识到,可以在其它网络中实现本发明,例如在因特网当中。
相比过去,企业内部网、尤其是大公司内部网都容纳、并在共享和传送着更多的信息。有些内容可能比网络当初所设计的需要更多的瞬时带宽,流视频的出现就是这种内容的一个例子。将WAN流量转移到LAN通信可以释放WAN带宽。如果基于服务器的内容能够被放置到LAN上的客户端中,那么这个LAN上的另一个客户端就能够通过对等客户端的交互作用来访问信息。将基于WAN服务器的内容转移到LAN客户端用于对等传送,这种方法允许文件共享。
图1图示了网络环境100,其中应用了所描述的技术。网络环境100具有网络102,其连接S服务器104-1到104-S以及C客户端108-1到108-C。下面描述更多的细节。
图2以框图的形式图示了计算机系统200,其可以表示图1中所示的任何客户端和/或服务器。下面描述更多的细节。
图3图示了本发明用于文件共享的一个实施例300。目录服务器302保留文件所在的目录。客户端304-A向目录服务器302发出文件请求310。目录服务器302通过参考具有文件最新修改版的最接近客户端的优先权化列表,来发现文件所在的位置。目录服务器302将文件的位置告知312给客户端A。在本图示中,通信312向客户端A 304-A传达了客户端D 304-D有文件的副本。于是,客户端A 304-A和客户端D 304-D进行通信314并获取位于客户端D 304-D上的文件。在客户端A 304-A和客户端D 304-D之间的通信314是对等通信。
这样,客户端A 304-A不必从可能位于WAN上的服务器中取回文件,目录服务器302已经告知客户端A 304-A可以从另一个客户端D 304-D取回文件。因此,原本可能发生在WAN上的流量就被转移为可能在LAN上的对等传送。
注意,因为目录服务器302会保留文件和位置列表,所以在客户端A304-A具有了文件的副本后,目录服务器302也将得知这个信息。例如,如果客户端B 304-B从目录服务器302请求所述文件的副本,则目录服务器302会知道客户端A 304-A和客户端D 304-D都有副本。那么目录服务器302可以通知客户端B 304-B客户端A 304-A就是具有副本的最近客户端。于是,客户端B 304-B可以发起与客户端A 304-A之间的对等传送。在本次传送之后,目录服务器302将会知道客户端A 304-A、客户端B304-B和客户端D 304-D都具有文件的副本。
本领域的普通技术人员将理解,文件共享的方法可以在网络上“传播”文件。这种传播将允许目录服务器302将具有所要传送的文件的最近客户端告知给任何请求中的客户端。当客户端位于同一本地网时,LAN对等传送就是可能的。LAN传送通常都比WAN到LAN的传送要快,这是因为LAN传送当中涉及更少的路由器、交换机、代理、防火墙等等。
如果没有任何本地客户端具有所请求的文件,则目录服务器302可以指示所述客户端从WAN上的客户端和/或文件服务器中获得文件。例如,客户端D 304-D可能已向目录服务器302发出了一个文件请求,并被通知在本地客户端上没有所述文件的副本。客户端D 304-D就可能不得不例如通过因特网从某个远程服务器中得到所请求文件的副本。一旦客户端D304-D拥有了所述文件的副本,如上所解释的,目录服务器302将会知道这个信息,如果客户端A 304-A接着请求该文件,则目录服务器302可以通知客户端A 304-A客户端D 304-D具有副本。
如上所述,将基于WAN服务器的内容转变为LAN内容以用于对等传送的能力允许文件共享。本领域的普通技术人员将理解,通过在这样一种环境中实现本发明,就可以实现基于客户端的代理服务,其用于在对等环境中对来自网络的数据传送进行重新导向。即,通过将例如因特网请求重新导向到文件更加本地网的副本上,就可以用本发明实现万维网代理服务。
图4图示了本发明用作万维网代理服务的一个实施例400。目录服务器402保留一个目录,其中包含有万维网文件(web file)位于本地网415的何处的信息。客户端A 404-A(例如通过冲浪万维网)向目录服务器402发出一个文件请求410。目录服务器402通过参考具有文件最新修改版的最近客户端的优先权化列表,来发现文件在本地网415上的位置。目录服务器402将文件的位置告知412给客户端A 404-A。在本图示中,通信412向客户端A 404-A传达了客户端D 404-D有文件的副本,并重新指引客户端A 404-A获得位于客户端D 404-D上的文件。在客户端A 404-A和客户端D 404-D之间的通信414是对等通信。
这样,客户端A 404-A就不必从经由420与因特网418相连、并经由连接416与目录服务器402相连的万维网服务器422中取回文件,而是从客户端D 404-D取回了文件。因此,可能出现的因特网流量就被重新导向,成为有可能在LAN上的对等传送。因此,文件的“本地”存储,加上允许对文件的本地副本进行访问的重新导向,这样就实现了代理的功能。
注意,因为目录服务器402会保留文件和位置列表,所以在客户端A404-A具有了文件的副本后,目录服务器402也将得知这个信息。例如,如果在例如万维网浏览时,客户端B 404-B请求相同的文件,而且目录服务器402知道客户端A 404-A和客户端D 404-D都有副本。那么目录服务器402可以通知客户端B 404-B客户端A 404-A就是具有副本的最近客户端。于是,客户端B 404-B可以发起与客户端A 404-A之间的对等传送。在本次传送之后,目录服务器402将会知道客户端A 404-A、客户端B404-B和客户端D 404-D都具有文件的副本。
本领域的普通技术人员将理解,这种文件共享的方法可以在网络上“传播”万维网文件。万维网站点具有定期更改的信息。如上所述,目录服务器402保留最新文件位于何处的信息。因此,例如,在图4中假设客户端A 404-A在时刻X从客户端D 404-D取回文件的副本。接下来假设在第X+10分钟的时刻,客户端B 404-B请求相同的文件。如果目录服务器402知道该文件更近期的副本,它将指示客户端B 404-B从那个位置中取回文件。也有可能是以下的情况,例如,客户端A 404-A在时刻X具有文件的本地副本,但是在X+10分钟的时刻再次请求该文件。如果最近期的副本在客户端A 404-A上,则目录服务器402将把客户端A 404-A导向客户端A 404-A。如果最近期的副本在另一个客户端上,例如在客户端C404-C上,则目录服务器402将把客户端A 404-A导向客户端C 404-C以得到副本。如果在本地网415上没有可用的副本,则目录服务器402将把客户端A 404-A导向万维网以得到副本。如果最近期的副本在万维网上,则目录服务器402可以把客户端A 404-A导向万维网以得到副本。
目录服务器402也可以具有期满超时特征。也就是说,在例如10分钟后,目录服务器402可以指引客户端从万维网服务器422中取回文件的副本。按照这种方式,本地网上的万维网内容在本地网上呆了10分钟后就要被更新。这种超时特征可以根据万维网的内容来修改。例如,处理单词定义的网站可能不必像具有即时新闻事件的网站一样那么快地更新。
如上所述,将基于WAN服务器的内容转变为LAN内容以用于对等传送的能力允许文件共享。为了讨论方便,以上所讨论的客户端都被假设为在大多数时间内与网络相连。这可能与实际不符。例如,便携计算机、PDA等可以根据需要而连接或断开。一个例子可以是销售办公室,其中,在外销售人员只有在办公室的时候才与网络相连。便携计算机不可能与网络长期相连来下载诸如视频演示的大文件。这可能是由时间限制或带宽限制等造成的。然而,如果便携计算机的用户能够进行信息的对等传送,那么带宽就可能比从例如WAN上的服务器进行传送要高一些。通过允许便携设备的用户选择哪些信息需要下载,并且使得这些信息被导向LAN上附近的客户端,那么在下次用户连接网络时,就可能进行LAN对等传送。因此,便携计算机用户实际上就成了控制WAN到LAN的传送的第三方。
图5图示了本发明的一个实施例500,其中,第三方在控制WAN到LAN的传送。这里,客户端P 504-P表示一个便携客户端,例如便携计算机或PDA。客户端P 504-P可能需要来自文件服务器522的文件。到目录服务器502的请求510可能指示出在客户端A、B、C、D或P(分别为504-A到P)上没有任何本地副本。这时,客户端P 504-P可以决定,或者保持在线并下载文件,或者指示将文件下载到最近的客户端。如果选择了后者,则目录服务器502可以确定客户端D 504-D就是最近的客户端,并且应当将从文件服务器522的文件下载导向客户端D 504-D。无论客户端P 504-P当前与网络相连还是断开,都可以进行这种传送(经由522、520、518、502、512)。当文件已经被下载到客户端D 504-D时,目录服务器502将这个信息存储,所以当客户端P 504-P再次与网络相连并请求该文件时,就能够进行从客户端D 504-D到客户端P 504-P的本地对等传送514。在另一个实施例中,当客户端P 504-P连接到网络并且客户端D504-D在本地具有所述文件时,可以自动启动从客户端D 504-D到客户端P 504-P的本地对等传送514。再者,一旦客户端P 504-P已经传送了文件,目录服务器502就会知道客户端D 504-D以及现在的客户端P 504-P都具有了文件副本。在这个部分中被称为文件服务器522的设备也可以是其它设备,例如远程网络上的客户端等等。
在另一个实施例中,当客户端P 504-P连接到网络上时,目录服务器502可以查询客户端P 504-P以发现客户端P 504-P是否已选择了在离线时所要下载的文件。这个下载列表可能已经先前从目录文件服务器(502和/或其它目录文件服务器)中取出。
在另一个实施例中,当客户端P 504-P连接到网络上时,驻留在客户端P 504-P上的文件可以被传输到目录服务器,例如目录服务器502上。如果新的文件、或者具有更近日期的已修改文件被传送给目录服务器502,那么其它客户端现在将可以访问这些文件。因此,例如,销售员所用的便携计算机可以用来在销售员拜访顾客时详细说明顾客访问信息。一旦回到办公室并接入网络,客户端P 504-P就可以将有关客户端P 504-P上文件的信息发送给目录服务器502。于是,通过知道它们位于客户端P504-P的目录服务器502,这些更新文件将变得可用。
在另一个实施例中,当客户端P 504-P带着更新的文件返回时,目录服务器502和/或客户端P 504-P可以指示在一台非便携计算机上产生更新文件的本地副本。于是在本实施例中,第三方控制可以实现文件的传送,使得当便携客户端与网络断开时,本地副本对于网络的剩余部分可用。目录服务器502和/或客户端P 504-P也可以指示将更新文件的副本发送到中央和/或万维网服务器。因此,对传送的第三方控制是到并来自任何源和/或目的地的。诸如客户端P 504-P的便携客户端向另一个客户端发送文件的能力将用作对那些文件的备份。
新的和更新的文件并不限于诸如客户端P 504-P的便携客户端。具有新文件或更新文件的其它客户端,例如桌面客户端也可以使用以上所讨论的技术。因此,在本发明的一个实施例中,客户端可以使用网络服务用于分布式备份和存储。客户端不是唯一的内容源,在另一个实施例中,来自所有源、客户端、服务器等的文件都可以利用本发明来实现内容的转移以进行分布式备份和存储。
图6图示了本发明用于分布式备份和存储的一个实施例600。客户端A 604-A通过链路610向目录服务器602传送一个请求,该请求的内容是将位于客户端A 604-A的本地文件存储在另一个或另一些客户端中。目录服务器602通知客户端A 604-A,客户端B 604-B和客户端D 604-D都是最近的并且有可用的存储。于是,客户端A 604-A通过链路612向客户端B 604-B传送文件或文件的多个部分。如果需要更多的存储和/或请求了分布式备份,则客户端A 604-A可以通过614将文件传送到客户端D 604-D。这些传送都是对等的并可以在LAN上进行。在本例子中,客户端已经启动了备份请求。在本发明的另一个实施例中,备份请求可能来自目录服务器602和/或可能来自网络上的文件服务器。
如上所述,将内容从一个网络转移到另一个网络的能力实现了很多能力。已经参考了客户端、服务器、WAN、LAN、对等……。在许多情况下,当客户端彼此“最近”时就能得到对等传送的好处。从网络的观点看,用于文件共享、传送等的“最近”客户端可能在物理上不是最接近的。从网络性能的角度看,“最近”客户端可以是那个和/或那些可以最快传送信息的客户端。因此,用于转移流量的以上所有方法都可以从这种网络分析中受益。产生“最近”客户端信息的这样一种方法可以使用路由器表分析。
图7图示了本发明对网络使用路由器表分析的一个实施例700。服务器702与路由器706-A到706-N相连。每个路由器(706-A到706-N)与各自的组706-ANX到706-NNX相连。每个组(706-ANX到706-NNX)分别包括网络706-AN到706-NN,以及各自的客户端A到N。数据库704与服务器702相连。在操作中,监控服务器和路由器的流量以确定文件的传送时间。分析这个信息并把它存储在数据库704中。在本发明的一个实施例中,数据库704将保留一个特定文件的最接近客户端的优先权化列表。这个数据库704信息随后可以由目录服务器进行访问,以确定如何重新路由和/或重新导向流量,从而在客户端之间实现最快的对等传送。
这样,已经描述了本发明用于以下领域的实施例,即文件共享、重新导向后的数据传送、传送的第三方控制、分布式备份和存储、以及路由器表分析。
以上的描述一直力求简明,从而在图示本发明的同时却不使其模糊。接下来是本发明更详细的可能实施例。使用屏幕快照来图示本发明可能的特点和能力。然而,应该理解,这些是本发明的另一些实施例,而许多其它实施例也是可能的。
今天的企业内部网是能够传送信息、文本、文件等的相当一元的网络。Intel的Share and Learn Software(SLS)通过将视频内部网的瓶颈从网络转移到计算机,从而能够对视频和多媒体文件进行有效率得多的传输,于是能够大大提高企业内部网的能力和有效性。注意,出于图示本发明这个实施例的目的,可以将企业内部网定义为使用标准因特网协议,例如TCP/IP和HTTP将客户端关联组连接起来的计算机网络;和/或在一道防火墙或几道防火墙之后、由安全并可能虚拟的网络连接起来的节点所组成的基于IP的网络。
在传统的企业内部网配置中,多媒体通信通过网络被流传输到桌面。因为文件一般要通过网络进行流传输,所以网络几乎一直是瓶颈所在;而且由于广域网(WAN)比较贵,所以一般都没有足够的带宽来支持几个以上同时流传输的文件。SLS允许将压缩视频、多媒体文件和大文件快速地移动到多个桌面或移动的机器上。SLS实际上创建了一个新的协议,该协议用于在网络或企业内部网上共享大文件(例如,视频、多媒体等等)。SLS将在企业内部网上进行视频传送的瓶颈从网络转移到了个人计算机(PC)的处理器上。
一个例子就是在膝上型计算机中使用SLS来下载视频。膝上型计算机在与LAN相连后,可以从连接于LAN的本地设备中快速下载文件,因而避免了WAN传送。由于通常上更高的、稳定的传送速率,这种对等传送要优于WAN到LAN的传送。SLS可以提高许多不同应用的性能,包括知识管理、公司视频通信、电子学习(eLearning)等等。
SLS对知识管理具有以下含义——一个机会就是大量编撰好的知识以演示、文本文件等形式存在于个人PC的硬盘上。在传统的网络环境下,这种信息和知识不可能供其他人来共享及再次利用。SLS带来了这样一种能力,即通过访问和共享机制,这种编撰好的信息可以为公司内的许多人共享。在一个实施例中,通过右点击文件并加入一些元数据(手动和/或自动地),文件可以变为对网络上的所有其他人可用。这个文件及相关的元数据被注册在起中介作用的目录服务器中,其他用户可以基于几种标准,包括关键字、作者等等来搜索这个目录服务器。如果某个用户希望取出这个文件,则可以从原来公布它的客户端中拿走该文件,或者如果前面已经复制了这个文件的话,则可以从最近的可用客户端那里得到该文件。这样,通过注册文件,一个组织中以前不能使用的许多已编撰的信息和/或知识现在都变得可用了。这就使得以上内容对整个企业中的用户都可用,从而创建了一个企业知识管理系统,该系统通过知识的共享和再次利用,可以节省金钱并创造新的机会。在另一个实施例中,通过SLS能够给内容编写索引,和/或产生相关知识/信息的公司索引。
在例如Intel这样的大公司中,同时向所有雇员传达信息通常是一件困难的事。电子邮件可以被同时传递给所有雇员,但是它是相对平面化(不是很丰富)的媒体。然而,有可能让全世界80000名雇员在非常短的时间内对视频通信进行访问,就可能实现更好的通信。在引入SLS之前,这是非常困难的,因为那将异乎寻常地贵,以致于无法提供带宽和/或边缘服务器来实现到80000台PC的视频流传输。现在通过SLS,几乎不需要在基础设施上有额外的投资就实现了这个目标——在现有网络上使用SLS的对等文件共享协议,并使用现有客户端上的硬盘进行存储,从而可以将视频、多媒体或大文件从客户端分发到客户端。这种通过SLS而赋予的能力是本发明的另一实施例。
电子学习可以被视为与公司通信类似,SLS允许大的多媒体文件在整个公司内的近似无缝传输,而无需额外的投资。因为电子学习是一种新出现的重要应用技术,所以SLS可以改变电子学习的性能和经济性。
此外,其它的信息可以利用SLS。SLS允许用一种形式的计算资源来取代另一种,例如,在观看视频文件时,完成这项工作的一种传统机制是通过网络将文件流传输到客户端PC上,SLS机制的一个实施例是在本地网上复制一个压缩视频文件,从而在需要更小网络的情况下给出了接近等同的性能。
在本发明的一个实施例中,Intel的Share and Learn Software(SLS,共享和学习软件)是用于对等文件共享的基于窗口的应用程序。它由用可视化编程语言编写的客户端应用程序组成,并使用数据库服务器组件,该组件的宿主是SQL(结构化查询语言)服务器。该应用程序用于在企业环境中通过网络传送文件。SLS应用程序使用以目录为中介的方法来确定包含所请求材料的最新版本的最接近(或最近)的客户端;然后,该材料被复制到发出请求的机器。
最通常意义上的对等就是在客户端之间的资源共享,其中的客户端可以是从大型服务器到手持设备。在本文件的上下文中,它被定义为直接在客户端之间共享内容的能力,其中的客户端可以是服务器、桌面计算机、膝上型计算机、PDA(个人数字助手)、手持设备或者能够与其它设备进行通信的任何其它设备。
在一个实施例中,SLS使用以目录为中介的对等文件共享方法。所述目录由对所有文件传送进行跟踪的数据库组成,其被用来确定最近的可用客户端。接下来的流程图描述了在一个实施例中,当用户启动SLS(图8A和图8B)以及当用户选择一个文件(图9A和图9B)时所发生的一切。
SLS启动流如下进行。如图8A的第1部分所示,用户从开始菜单中的一个快捷方式启动SLS。接下来,检查用户是否与网络相连。如果用户未与网络相连,则读本地数据库,并且应用程序以离线模式打开。如果用户与网络相连,则与IntelShare and Learn Software网站建立连接。
在图8A的第2部分中,一旦与IntelShare and Learn Software网站建立起连接,就检查用户是否具有最新的SLS软件组件。如果没有最新的组件和/或需要更新,则自动从该站点(site)下载它们。接着检查用户是否存在于所述数据库中。如果没有该用户的条目,则使用这个用户的ID创建一个条目。
在图8A的第3部分中,应用程序检查用户是否正在他们的系统上运行最新的杀毒软件。这可以通过搜索注册表中的特定密钥来完成。如果用户没有最新的杀毒软件,则给他们一个警告,包括如何升级杀毒文件的细节,而且应用程序被迫进入离线模式。这种强迫进入离线模式的做法就是要防止传送那些可能已经在用户的系统上受到病毒感染的文件。如果杀毒文件是最新的,则应用程序继续处于在线模式。接着,运行查询操作以确定用户所在的子网。然后,将这个网络地址与数据库上的主列表做比较,以确定用户位于哪一个站点上。如果用户所在的子网没有被系统识别出来,则将其标记为新子网,并加入到数据库的IP子网表中,用于后面指定给一个站点。如果该用户存在于数据库中,但是他们的站点信息与数据库中所列举的不一样,则对记录进行更新,并将与这个用户相关联的所有内容都更新到这个新站点上。这么做是因为用户可能是移动的,而且可能在各站点之间移动。这种检查确保了对用户在其系统上所拥有的内容进行映射,如同这些内容就存在于它们当前的站点上,而不只是在它们的主站点(home site)上。
在图8A的第4部分,检查在用户的PC上是否已创建了本地目录和共享。如果目录不存在,则在根目录c\drive下创建被称为SLSShare的目录。SLSShare目录在网络内被共享为slsshr$——这将有助于已下载文件的本地共享。如果目录存在,则应用程序继续。
在图8B的第5部分,应用程序检查用户的PC名称(从而共享名称)是否与存储在数据库中的相同。如果它需要更新,该信息被输入Users(用户)表。为了保护用户PC免受恶意的攻击和病毒发作之害,在共享中必须允许适当的许可(permission)。这使得每个人都能看到共享的内容,但只有在PC上登录的用户才能添加文件。应用程序进行检查以确保这些许可得到了正确地设置,如果没有,进行适当的改变。
在图8B的第6部分,因为能够在离线模式下使用Intel的Share andLearn,所以在每个用户的PC上都保留了XML文件的本地数据库。这些文件包含了有关本地文件、测试问题的信息以及其它信息,而且必须与结果(production)数据库中的数据保持同步。通过将所述数据库中的TableSync值与用户PC上的值进行比较,就可以实现这个要求。如果两个值不同,则更新适当的文件。然后,允许离线查看内容的电子学习播放器被验证为最新的,否则将下载更新的版本。
在图8B的第7部分,因为可以从桌面计算机启动SLS,所以如果快捷方式还不存在的话,就在用户开始菜单中创建快捷方式。接下来,在浏览器中打开Intel的Share and Learn主页。
SLS Select File Flow(SLS选择文件流)如下继续。如图9A的第1部分所示,用户从Business Area(业务区域)中选择一个文件。检查该用户是否已经下载了这个文件,并且该文件是否被本地存储于所述PC上。如果它是本地存储的,进行检查以确保该版本是最新版。如果所述文件是最新版,则将它解压缩到一个临时区域中,并使用播放器或者在SLS内进行显示。
在图9A的第2部分,如果所述文件不是本地的,则发出查询以确定在和用户相同的站点上是否有该文件的可用副本。通过从Users表中查找站点信息以及查询FileIndex表来获得这个信息。如果文件在本地站点上,则建立一个具有该文件的PC列表,并按照PC被访问的次数由少到多的顺序对该列表进行排序。这样做可以在各客户端之间平衡影响(impact)。依次查询这个列表中的每台PC,以了解系统上是否仍有可用的副本,直到找到一个文件为止。如果用户站点上的任何PC都不包含所述文件,则查询SearchSiteList表中的下一个站点。这个过程将持续到发现所述文件为止。对每个Intel站点都建立SearchSiteList。它是基于网络配置而设计的,并且基于在发出查询的站点和在本具体实施例中全球多达10个的其它站点之间的可用带宽列举了查询文件的站点。
在图9A的第3部分,一旦发现了所述文件的副本,就对它进行查询以确保它是最新版本,而且有正确的日期/时间戳和文件大小。如果它不正确,则搜索继续。如果该文件是正确的版本,则将所估计的下载时间返回给用户。这个值是通过对以前从包含文件的站点到用户自己站点的下载时间求平均而得到的。
在图9B的第4部分,用户接着给出了三个选项以从中进行选择1)下载并现在运行;2)下载并以后运行;和3)安排(schedule)以后的下载。如果用户选择安排以后的下载,则将一个条目放入TransferSchedule表中,该表列举了传送将要发生的时间。当这个时间到达时,假设用户仍然让SLS运行在他们的系统上,那么将文件从最近的客户端复制到用户PC上的SLSShare目录中,并且数据库被更新以保留文件新副本存在的信息。如果用户选择下载文件但以后运行它,则该文件被复制到SLSShare目录,并且告知用户下载已经完成。数据库被更新以保留文件新副本存在的信息。
在图9B的第5部分,如果用户选择下载文件并立即运行它,则文件被复制到SLSShare目录,并且数据库被更新以保留文件新副本存在的信息。然后,将该文件解压缩到SLSTemp目录,并根据内容在SLS中或在独立的播放器中打开。如果复制文件时在任何阶段发生了中断,则找到下一个最近的源并从那里重新开始复制,从而继续复制过程。例如,可能发生下面的情况,文件的源是膝上型计算机,而该膝上型计算机在复制进行当中被从网络中移走。
本领域的普通技术人员将理解,使用多种技术都能够实现本发明可替换的实施例。这样一些技术是客户端定位器、公布、逻辑驱动器、清除内容(purging content)、控制流、并行复制、第三方控制、路由器分析、网络数据库,但绝不仅限于这些技术。下面将简要地描述这些技术,其中的一些在上面已经描述过了。
上面讨论了使用Ping的客户端定位器。这种方法使用窗口Ping功能来获得在请求客户端和远程机器之间的估计传送时间。一种实施方案可以在请求客户端和具有文件副本的每个其它机器之间使用ping程序。通过向每个其它机器依次发出ping命令,然后选出用于传送的最小值,就可以完成以上方案。另一种方法可以使用在子网间的ping传送时间。一旦在两个子网间建立了一个值,就可以把它输入到SubnetTransferInfo表中以作为将来参考之用。还有另一种方法是ping以进行站点级传送。例如,在图9A第2部分的选择文件流中可以使用这种方法。
一般的公布将允许任何用户将内容公布到对等系统中。要做到这点,只要让用户右点击任意文件并选择将其添加到SLS中就可以了。原则上,每台PC都能被用作对等服务器,其具有从PC提供分配平台的共享目录。
逻辑驱动器将从大量PC中取出共享的文件夹,并使用它们形成由磁盘阵列组成的逻辑驱动器。这可以和诸如RAID(廉价磁盘的冗余阵列)的方法联合起来,以允许当一定量的磁盘(不必是全部)在线时恢复整个驱动器中所存储的内容。这可以用来将数据备份到客户端PC,并根据需要而恢复。
对等系统中的内容清除涉及从文件所分配的系统中除去所分配的文件副本的能力。这可能与可由作者设置的文件的期满日期、或者取消已分配文件的必要性紧密相关。做到这点的一种方法可以是使用域管理员的账号与每台PC自动相连并清除相关的内容。做到这点的另一种方式可以是让代理(agent)程序运行在每台PC上,该代理程序将侦听来自系统的请求。一旦收到删除文件的请求,它就从用户PC的本地目录中除去那个文件。
内容的受控流指的是将内容流限制在特定站点,从而不影响整个网络容量的能力。通过分析网络的拓扑,可以知道进入特定站点的总带宽是多少。然后,可以对数据传送加以限制,只允许SLS占用一定比例的可用带宽。例如,这可以用在图9B第4部分的选择文件流中。
并行复制就是文件可以被应用程序分割成多个大块的数据,并且可以从使文件可用的不同机器中复制每个大块。这种并行复制可以提高到请求客户端的下载总速度,也可以降低对正在共享文件的客户端的影响,这是因为正从它那里取走的数据量变小了。例如,这可以用在图9B第4部分的选择文件流中。
文件传送的第三方控制使用中间客户端来控制到另一个设备的数据传送。例如,客户端A从客户端B请求内容。但是,客户端A是手持设备,并不经常在网络上。客户端B与客户端A通过WAN相隔。这时,客户端C按客户端A的请求而下载并存储所述内容,直到客户端A回到网络上为止。
路由器表分析可以允许SLS直接查询网络路由器,从而确定文件的最近副本。因为路由器表是动态的,所以从它们那里得到的任何信息在某一时间点上都将比静态网络拓扑结构更精确。因为它会考虑在那时所发生的任何重要的网络活动,所以这可以提高传送文件的总速度。例如,这可以用在图9A第2部分的选择文件流中。
动态网络数据库可以包括单机数据库的创建,该单机数据库关于在任一时间点上网络中的等待时间给出了动态的状态。这个数据库将经常由网络监视器进行更新,并会查找网络流量中的模式(pattern)。然后,该数据库将被用来确定用于文件传送的最佳路径和最接近客户端。例如,这可以用在图9A第2部分的选择文件流中。
本发明用户界面的可能实施例的例子如图10A到图10H所示。图10A图示了在启动时SLS的初始视图。图10B图示了在浏览一个分类(category)后SLS的视图。图10C图示了在选择一个文件用于下载后SLS的视图。图10D图示了在文件下载过程中SLS的视图。图10E图示了在SLS阅读器中所打开的文件。图10F图示了在文件搜索过程中SLS的视图。图10G图示了SLS公布器的视图,其示出了用于添加、更新或删除文件的菜单。图10H图示了当添加新内容时SLS的视图。
本发明的另一个实施例可以用来在对等网络环境中重新导向数据的传送。在对等网络中,在客户端之间传送数据,而不是从服务器向客户端传送。为了得到最有效率的数据传送,应当从具有正被请求的信息的最近可用客户端中复制文件。总的来说,对等应用程序使用它们自己的界面来管理和控制内容分配。通过实施基于客户端的万维网代理,就能够将对等传送的速度带给任何已由对等服务编入目录的网站,而不必使用户改变它们的用户界面。
在一个实施例中,可以建立对等文件数据库来跟踪特定网站的文件传送。如果网站提供者想要利用这种服务的话,那么他们要运行一个应用程序,该应用程序将从他们站点可用的所有文件都编入目录并编写索引,唯一地识别他们,并在对等数据库中记录他们的参数。这些文件的任何后续传送都将由该代理服务来跟踪。基于客户端的万维网代理将驻留于客户端PC中并作为一种服务来运行。该代理服务将截听(intercept)所有来自客户端的HTTP请求,并实现客户端和对等文件数据库之间的通信。当用户请求一个基于HTTP的文件时,代理服务将查询对等数据库以了解它是否在跟踪这个文件的位置。如果这个文件没有被跟踪,则所述请求将正常地前进到万维网服务器,而且不会发生任何异常的事情。但是,如果所述文件是系统正在跟踪的文件之一,则代理服务将查询对等数据库以得到这个文件的最近位置(通常在另一个用户的PC上),并直接从那里取回文件,优选地是在其自己的本地网中。这具有以下好处对用户而言减少了下载时间(如果文件大于一定尺寸的话),而对于IT部门而言,降低了广域网的使用率。
在图11所图示的实施例中,PC1可以从位于因特网或企业内部网的万维网服务器请求文件。运行在客户端上的代理服务将截听该请求。这个代理将查询数据库,以了解正被访问的网站是不是对等数据库正在跟踪的那个网站。如果该站点正是对等数据库所跟踪的,则系统将进行检查以了解所述文件是不是本地可用的。如果所述文件是本地可用的,则关于该文件的本地源的信息将被返回请求客户端(例如,PC2),并且可以从那里开始在对等方之间的直接文件复制。在这次传送之后,将更新对等数据库以反映所述文件的新位置是可用的。如果文件的副本不是本地可用的,则将标准请求发送到拥有该文件的万维网服务器,其副本将被下载到请求客户端。和前面的情况一样,代理服务将向数据库发送更新,指示所述文件现在是本地可用的,而且使得它对于将来的请求可用。如果所述网站没有被系统跟踪,那么代理服务将以正常方式把请求传送给万维网服务器,而不对用户产生影响。
图12图示了本发明一个实施例的流程图。代理服务将被配置在客户端PC上,其会截听因特网浏览器和任意网站之间的所有HTTP请求。该代理将查询对等数据库,以了解正被请求的网站是不是正在被对等系统跟踪。如果该站点正在被跟踪,则所述文件的本地可用副本的列表将通过代理服务被返回到客户端,并且将从最近的可用对等方开始对文件的直接拷贝。这有以下好处对于大文件,减少用户通过WAN和因特网的下载时间。一旦文件已经被复制,将用该文件的新位置来更新数据库。如果文件不是本地可用的,那么可以以正常方式从目标网站下载,又一次完成后,将更新数据库服务器以反映所述文件在本地网上的新位置。如果所述网站未被跟踪,则所述请求直接穿过代理,并且数据传送不受到干扰。
对于用户基于HTTP所请求的所有流量而言,代理服务起到中介方的作用。它查询对等跟踪数据库以得到特定的文件名和URL。如果在数据库中发现了文件名,则对该文件的请求基本上被重新导向到本地副本。这减少了用户的下载时间,并最小化了对可用带宽的影响。
从实际实现的角度来看,系统要想有效,许多条件可能要被应用在代理级上。对于要下载的文件,可能不得不指定最小尺寸。如果文件低于一定的尺寸,可能要比直接得到文件花更长的时间来查询数据库并本地取回文件。另一种条件可能是这种方式下可用文件的类型。另外,可以应用内容上的期满时间以确保如果所请求文件的新版本是可用的,则用户取回这个新版本。
在本发明的另一个实施例中,一个间断地与网络相连的客户端(例如,手持PC)可以使用对等应用程序从远程位置(慢速WAN连接)选择用于下载的文件。然后,用户可以请求将文件下载到在手持PC附近的位置上、与网络永久相连的另一个客户端,例如下载到桌面PC(快速WAN连接)。下次它们连接时,它们可以在一段时间内通过快速连接从附近的客户端下载文件。可以由目录服务器和可被安装在PC和手持设备上的对等应用程序或代理来控制这种服务。
图13图示了本发明这样一个实施例。手持PC使用对等应用程序选择一个文件,并向目录服务器查询它的位置(通信1)。目录服务器应答这个请求,告知所述文件位于PC2上(通信2)。因为PC2隔着广域网,可能要花很长时间来下载这个文件,所以手持PC可以请求将文件复制到PC1上(通信3),从而允许手持PC与网络断开。然后,PC2通过广域网将所述文件复制到PC1上。当手持PC重新连入网络时,可以从PC1快速地复制所述文件(通信5)。
在本发明的另一个实施例中,可以使用对等技术进行分布式备份和存储。这会用到网络内许多计算机的部分磁盘空间,用它们来形成由磁盘阵列组成的逻辑或虚拟驱动器。这可以和诸如RAID(廉价磁盘的冗余阵列)的方法联合起来,以允许当一定量的磁盘(不必是全部)在线时恢复整个驱动器中所存储的内容。这可以用来将数据备份到客户端PC,并根据需要而恢复。另一种方法是将完整的数据表备份到统计上足够多的PC中,以确保在一定高百分比的时间上可以将文件恢复出来。
一部分用户硬盘空间将由管理员为此目的而保留下来,在那个PC上它可以对用户可见或不可见。此外,所有存储的数据都可以被加密以维护所有者数据的安全性和私密性。文件的备份可以由服务器作为中介。这个服务器将跟踪可用的客户端以及已经备份的文件的位置,另外还要控制系统的安全性。
图14图示了本发明这样一个实施例。客户端A可以决定备份多个文件。客户端A的PC上的代理(agent)应用程序将查询对等网络中的服务器,而不是去文件服务器。这个服务器将标识出多个其它计算机,以将数据备份到——在本例子中客户端B、C&D。接着将发生以下两件事之一——使用例如RAID算法可以把部分文件复制到B、C&D,或者将全部文件依次复制到客户端B、C&D。
在本发明的另一个实施例中,代理(agent)程序可以被配置在客户端PC上,其将监控已改变的用户文件。该代理将以预定间隔与中央控制服务器相连,以确定应当将文件备份到哪些对等PC上。一旦确定后,该代理可以向每一个所标识的对等方开始文件拷贝,或者向每个对等方执行文件的完整拷贝,或者执行RAID算法所确定的拷贝等等。此外,只有文件已改变的部分或添加到系统中的新文件才可以得到备份。为了恢复文件,代理可以再次与中央控制服务器相连,以确定所要恢复的文件的位置并开始往回传送。
在本发明的另一个实施例中,本发明可以用来加速对等传送。在对等网络中,数据在多个客户端之间进行传送,而不是从服务器向客户端传送。现在,许多对等应用程序使用穿越网络的预定路由来将数据从一个地方传送到另一个地方。理论上,这种方法将为用户产生最快的下载时间;然而,它没有考虑可能由网络拥塞或中断(outage)所引起的延时。通过实现从路由器收集信息的系统,穿过网络的路径将是更加动态并最新的。如果这个信息是以容易进行访问的方式而存储的,例如数据库,那么对等软件应用程序将能对该信息产生作用(leverage)。当用户选择要下载的文件时,对等应用程序将以正常方式向数据库查询文件的可用副本。此外,它将随即向数据库查询到达这些文件的最佳路径,排除例如因中断或拥塞造成不可访问的那些文件,并按最短下载时间的顺序排出可用副本的列表。这样减少了用户访问内容的时间,同时最小化了对网络各段的影响。
为了获得对数据最有效率的传送,应当从具有正被请求的信息的最近可用客户端那里复制文件。虽然对等系统可能知道最近可用客户端的位置,但是这个机器不一定总是可以进行最快数据传送的地点。这可能是由网络拥塞或网络上的其它问题造成的。一般而言,网络路由器会知道类似这样的对网络的影响,并使用更适当的路径来路由通常的数据传送。这种信息被存储在路由器表中,并通过在整个网络上发送的广播而经常进行更新。
本发明的实施例可以以软件应用程序的形式运行在服务器上,并主动地(proactively)在网络上进行侦听,以发现网络路由器之间的更新广播。该应用程序将解释这些广播,并把该信息存储在位于网络可访问数据库的表中。然后,通过向数据库发出查询命令以确定从其开始复制信息的最适当路径,对等应用程序可以得到并使用所述信息。
图15图示了本发明这样一个实施例。服务器将在网络上进行侦听,以发现在本例子中的两个路由器之间的更新广播,从而得到通过系统的最适当路径的信息。这个信息由所述应用程序进行分析和解释,并被上载到数据库,在该数据库中所述信息可由对等应用程序询问(interrogation)。所述对等应用程序可能正运行在图15所示的任何计算机上。在操作当中,应用程序将向其数据库查询文件的最近副本,然后查询存储在该数据库中的路由器信息以获得到数据源的最佳路径。使用这两个参考点,将会最快取回的内容的有序列表将被返回所述应用程序,因而最小化对网络的影响,并尽快把文件传递给用户。因为路由器被不断更新,所以通过侦听广播将会知道穿过网络所要采用的最适当路径。
在另一个实施例中,软件应用程序将被配置在服务器上,该服务器将侦听网络中在其上所配置的路由器之间的广播以及网络流量。如果某人正在网络的不同部分上从一个客户端向另一个客户端复制信息,则所搜集的信息将给出所要采用的最佳路径的细节。所述应用程序将解释广播和流量,而且该信息将被存储在可由软件应用程序进行询问的数据库表中。数据库中的信息将由软件更新,该软件侦听进一步的广播和流量并在适当的时候插入数据,从而确保所述信息是当前的并且最新的。
这样,已经描述了本发明的各种其它实施例。
回去参考图1,图1图示了可以应用所述技术的网络环境100。网络环境100具有网络102,其连接S服务器104-1到104-S以及C客户端108-1到108-C。如图所示,以S服务器104-1到104-S以及C客户端108-1到108-C形式出现的几个计算机系统通过网络102彼此相连,网络102例如可以是基于公司的网络。注意,可替换地,网络102可以是或者包括以下网络中的一个或多个因特网、局域网(LAN)、广域网(WAN)、无线网络、卫星链路、光纤网络、有线网络、或者这些和/或其它网络的组合。服务器可以代表例如单独的磁盘存储系统或者存储和计算资源。类似地,客户端可以具有计算、存储和观看能力。这里所描述的方法和装备基本上可以应用到任何类型的通信装置或设备中,无论是本地的还是远程的,例如LAN、WAN、系统总线等等。
回去参考图2,图2以框图的形式图示了计算机系统200,它可以代表图1中的任何客户端和/或服务器。方框图是一种高级抽象表示法,可以用多种方式和多种体系结构来实现。总线系统202连接着中央处理单元(CPU)204、只读存储器(ROM)206、随机访问存储器(RAM)208、存储部分210、显示部分220、音频部分222、键盘224、点选器(pointer)226、混合输入/输出(I/O)设备228和通信部分230。总线系统202可以是例如以下总线中的一个或多个系统总线、外围元件互连(PCI)、高级图形端口(AGP)、小型计算机系统接口(SCSI)、电子电气工程师协会(IEEE)标准号1394(FireWire)、通用串行总线(USB)等。CPU 204可以是单个、多个、甚至分布式计算资源。存储部分210可以是小型盘(CD)、数字多功能光盘(DVD)、硬盘(HD)、光盘、磁带、闪存、存储棒、视频录像机等。显示部分220可以是例如阴极射线管(CRT)、液晶显示器(LCD)、投影系统、电视机(TV)等。注意,根据计算机系统的实际实现方案,计算机系统可以包括框图中组件的部分、全部、更多或者重新布置。例如,薄的客户端可能由无线手持设备组成,其缺少例如传统的键盘。因此,图2中系统的多种变化都是可能的。
为了讨论和理解本发明,应当明白,通晓本领域的人员将使用各种术语来描述技术和方法。此外,在本说明书中,为解释起见,阐述了许多具体的细节以彻底理解本发明。但是,对本领域的普通技术人员很显然的是,无需这些具体的细节也可以实现本发明。在一些例子中,以方框图的形式示出了多个结构和设备,而没有详细说明,这是为了避免模糊本发明。对这些实施例进行了充分描述以使本领域的普通技术人员能实现本发明,而且应当理解,可以使用其它的实施例,并且在不偏离本发明范围的情况下可以进行逻辑、机械、电或其它的改变。
说明中的一些部分可以表示为算法以及对例如计算机内存中数据位的运算的符号表示。这些算法描述和表示法都是数据处理领域的普通技术人员向本领域内的其它普通技术人员表达他们工作的实质内容的手段。算法在这里,以及通常情况下都被认为是产生预想结果的内在一致的动作(act)序列。这些动作都是需要对物理量进行物理操纵的动作。通常,虽然并非必要,这些量都采用能够被存储、传送、组合、比较以及其它操纵的电或磁信号。反复证明,主要是普遍使用的原因,将这些信号引用为位、值、元素、符号、字母、项、数字等是很方便的。
但是,应该记得,所有这些及类似术语要和适当的物理量联系起来,它们都只不过是应用于这些量的方便标签。对于本讨论中很清楚的内容,除非另外专门指出,应当理解,在整个说明书中,使用诸如“处理”或“计算”或“运算”或“确定”或“显示”或其它术语的讨论内容都可以指计算机系统或类似的电子计算设备的动作和处理,所述计算机系统或类似的电子计算设备将在计算机系统的寄存器和内存中表示为物理(电)量的数据操纵并转换为在计算机系统的内存或寄存器或其它这样的信息存储、传输或显示设备中类似地表示为物理量的其它数据。
本发明可以由用于执行这里操作的装备来实现。这种装备可以是为所需目的而专门构建的,或者它可以包括通用计算机,由存储在计算机中的计算机程序有选择地激活或重新配置。这样一种计算机程序可以被存储在计算机可读存储介质中,该存储介质例如但不限于以下任何一种磁盘,包括软盘、硬盘、光盘、小型盘-只读存储器(CD-ROM)和磁-光盘、只读存储器(ROM)、随机访问存储器(RAM)、电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、FLASH存储器、磁或光卡等,或者适于存储在计算机本地或远程的电指令的任何介质。
这里所提供的算法和显示并不固有地涉及特定的计算机或其它装备。可以用与这里的教导相一致的程序来使用各种通用系统,或者构建用于执行所需方法的更专用的装备可能也很方便。例如,通过编程通用处理器,或者通过软硬件的任意组合,就可以在硬连线电路中实现根据本发明的任何方法。本领域的普通技术人员会立即明白,可以用不同于所描述内容的计算机系统配置来实现本发明,包括手持设备、多处理器系统、基于微处理器的或可编程的消费电子产品、数字信号处理器(DSP)设备、机顶盒、网络PC、迷你计算机、大型计算机等等。也可以在分布式计算环境下实现本发明,其中由通过通信网络而链接的远程处理设备来执行任务。
可以使用计算机软件来实现本发明的方法。如果按遵守所公认标准的编程语言来编写,用于实现所述方法的指令序列就可以被编译,从而在各种硬件平台上执行,以及与各种操作系统相接口。应当理解,可以使用各种编程语言来实现这里所描述的本发明的教导。而且,在本领域中经常将这样那样形式(例如,程序、过程、应用程序、驱动程序、......)的软件描述为采取动作或带来结果。这种表达仅仅是一种简化方式,其本意是想说,由计算机执行软件将使计算机的处理器执行动作或产生结果。
应当理解,通晓本领域的人员可以使用各种术语和技术来描述通信、协议、应用、实现、机制等。一种这样的技术就是用算法或数学表达式来描述对一种技术的实现。也就是说,虽然技术可能是按照例如计算机上的执行代码而实施,但是可以将该技术更灵活、更简洁地表达为公式、算法或数学表达式。因此,本领域的一名普通技术人员将把一个表示A+B=C的模块理解为相加功能,其用硬件和/或软件的实现方案将采用两个输入(A和B)并产生一个求和输出(C)。因此,按照说明内容对公式、算法或数学表达式的使用将被理解为用至少硬件和/或软件(例如计算机系统,其中本发明的各个技术可以实现以及实施为一个实施例)得到一个物理实施例。
机器可读介质将被理解为包括任何用于以机器(例如,计算机)可读的形式来存储或发送信息的机制。例如,机器可读介质包括只读存储器(ROM);随机访问存储器(RAM);磁盘存储介质;光存储介质;闪烁存储设备;电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)。
已经参考了LAN(局域网)和WAN(广域网)。如同本领域的普通技术人员所理解的那样,应当明白LAN和WAN都是相对概念。例如,相对于大的公司网,因特网可被视为WAN,而大的公司网相对于其内部的部门网络而言可被视作WAN。类似地,小的部门网络相对于大的公司网而言可被视作LAN,而大的公司网在和因特网相比时又可被视作LAN。同样地,应当理解,凡是讨论涉及到LAN到WAN的,它们都是关于较小的网络相对于较大的网络,而且这种比较随其发生情形的不同而不同。因此,一个网络相对于较小的网络而言可能象WAN,但相对于另一个网络而言可能象LAN。应当理解的是,在本领域中,很多词语有时具有与其周围环境相称的含义,而这些词语经常被可互换地使用,而与特定的结构或环境无关,即,本领域的普通技术人员理解这种使用和含义。
这样,就已经描述了用于对等服务的方法和装备。
权利要求
1.一种方法,包括从第一设备接收数据传送请求;从所述第一设备接收第二设备数据传送目的地;确定离所述第二设备最近的所述数据的源;开始向所述第二设备传送所述数据。
2.如权利要求1所述的方法,还包括向所述第一设备告知所述第二设备已经收到了所请求的数据。
3.如权利要求1所述的方法,其中,由目录服务器来执行所述的确定。
4.如权利要求3所述的方法,其中,在完成向所述第二设备的数据传送后,所述目录服务器与所述第一设备通信。
5.如权利要求4所述的方法,其中,所述目录服务器更新目录服务器列表,以指示所述第二设备具有所述数据。
6.一种方法,包括从第一设备接收数据传送请求;确定离所述第一设备最近的第二设备;确定离所述第二设备最近的所述数据的源;开始向所述第二设备传送所述数据;以及向所述第一设备告知所述第二设备具有所请求的数据。
7.如权利要求6所述的方法,其中,所述数据传送请求还包括对位于所述第一设备不与之直接相连的第二网络上的数据的请求。
8.如权利要求7所述的方法,其中,所述第二网络是因特网。
9.如权利要求6所述的方法,其中,所述最近的源是从因特网不可访问的另一个设备。
10.如权利要求6所述的方法,其中,所述传送是对等传送。
11.如权利要求6所述的方法,其中,确定最近的所述数据的源包括从多个源中选择一个源,所述这个源对于从该源到所述设备的数据具有最短传送时间。
12.一种目录服务器系统,包括处理器,其在执行一个指令集时实现如权利要求6所述的方法。
13.一种机器可读介质,具有存储其上的指令,所述指令被执行时实现如权利要求6所述的方法。
14.一种装备,包括用于从第一设备接收对数据的请求的装置;用于从所述第一设备接收对第二设备的选择作为所请求数据的目的地的装置;用于将所述数据传送到所述第二设备的装置;用于确定所述第二设备已何时接收到所述数据的装置;和用于从所述第二设备向所述第一设备传送所述数据的装置。
15.如权利要求14所述的装备,其中,用于从所述第二设备向所述第一设备传送所述数据的装置是局域网上的对等传送。
16.如权利要求15所述的装备,还包括用于当所述第一设备被重新连接到局域网时传送所述数据的装置。
17.如权利要求14所述的装备,还包括用于在从所述第二设备向所述第一设备传送所述数据后更新所述数据的位置列表的装置。
18.如权利要求14所述的装备,还包括用于保留所述数据的最近源的优先权化列表的装置。
19.一种机器可读介质,具有存储其上的信息,该信息代表如权利要求14所述的装备。
20.一种系统,包括处理器,其在执行指令集时进行以下操作从第一设备输入数据请求;从所述第一设备输入所述数据的目的地;确定对于所述数据的最近源;从所述最近源向所述目的地传送所述数据;以及将所述数据的传送通知给所述第一设备。
21.如权利要求20所述的系统,还包括确定一个源,其具有从所述数据的源到所述目的地的最快数据传送时间。
22.如权利要求20所述的系统,还包括传送支付款和/或信用证。
23.如权利要求20所述的系统,还包括从所述目的地向所述第一设备进行所述数据的第二传送。
24.如权利要求23所述的系统,其中,从所述目的地向所述第一设备的所述数据的所述第二传送是通过局域网上的对等通信而进行的。
25.一种第三方客户端在对等网络中控制文件传送的方法,该方法包括在第一方服务器上从所述第三方客户端接收对所述文件传送的请求;在所述第一方服务器上从所述第三方客户端接收对用于接收所述文件的第二方客户端的选择;从在所述第一方服务器上所保留的列表中确定所请求文件的源位置;以及从所述源位置向所述第二方客户端传送所述文件。
26.如权利要求25所述的方法,其中,所述第三方客户端和所述第二方客户端与同一局域网相连。
27.如权利要求25所述的方法,其中,所保留的所述列表考虑从以下各项中选出的因素,即组成所述第三方客户端的实体性的组、第三方客户端所附属的网络、第二方客户端所附属的网络、网络的带宽、网络的可用带宽、所述文件的时间期限、文件大小和传送所述文件的时间。
28.一种装备,包括目录服务器,具有双向通信端口,所述双向通信端口被耦合以从第一设备接收对数据的请求,所述双向通信端口被耦合以从所述第一设备接收数据目的地,该目的地位于第二设备上;和取引擎,具有双向通信端口,所述双向通信端口被耦合以从第一网络接收所述数据,所述双向通信端口被耦合以从所述目录服务器接收所述数据目的地,并且所述第二设备被耦合以从所述取引擎双向通信端口接收所述数据。
29.如权利要求28所述的装备,还包括局域网,所述第一设备被耦合到该局域网以从耦合到该局域网的所述第二设备接收数据。
30.如权利要求29所述的装备,还包括具有输入端和输出端的客户端连接检测器,所述输入端被耦合以在所述第一设备被连接到所述局域网时接收信号,并且所述第二设备被耦合以接收客户端连接检测器的输出,该输出指示何时可以从所述第二设备向所述第一设备传送所述数据。
全文摘要
本发明描述了用于对等服务的方法和装备。
文档编号H04L29/08GK1528079SQ02813673
公开日2004年9月8日 申请日期2002年7月3日 优先权日2001年7月6日
发明者德莫特·霍南, 德莫特 霍南, 柯利, 马丁·柯利, 伊万·哈罗, 哈罗, 弗莱明, 戴维·弗莱明, 戴利, 弗兰克·戴利 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1