网络中文件的分布式高速缓存的制作方法

文档序号:6568709阅读:145来源:国知局
专利名称:网络中文件的分布式高速缓存的制作方法
网络中文件的分布式高速缓存些旦 冃豕网络计算允许计算机请求和接收来自服务器的软件和文件内容以便在计 算机上安装和/或存储。文件内容可包括,例如,文本文件、视频文件、数据文 件、图像文件等等。软件能出于若干目的而被请求和下载,这些目的包括更新 系统软件、更新应用程序软件、以及更新数据文件。例如,安全补丁可以被下 载用于更新操作系统以防止或抵制对计算机系统的攻击。此外,软件可以被下 载用于在计算机上安装新的应用程序。在一个示例性系统中,软件可以在后台 下载,使得软件可以在计算机和计算机用户执行其它任务的同时下载。带有这种功能的一个示例性服务是后台智能传输服务(BITS)。通常,当软件被发布并可供从服务器上下载时,网络上会有试图同时或在 非常短的一段时间内获得软件的大量计算机。例如,当软件是安全补丁时,期 望将软件在尽可能短的时间内传送至尽可能多的计算机以防止对计算机或网 络的恶意攻击。当软件是供在公司校园中进行系统级分发的新应用程序时,可 能期望在短时间内在系统级部署该软件。当软件是高度期望发行的时候,大量 用户会试图下载软件以努力成为首批使用该软件的人。大规模的软件分发需要 大量服务器和网络容量。这种大规模下载在其中多个分支机构办公室连接至位 于公司总部的企业集线器的网络环境中尤其麻烦。在这个示例中,当软件从企 业集线器分发时,企业集线器和分支机构办公室之间的网络连接会限制可在特 定时刻更新的计算机的数量,即使企业集线器处的服务器具有足够的容量用于 向分支机构办公室处的众多或所有计算机提供软件。已经使用了多种方法来分散大规模下载的工作负载。例如,在公司环境中, 部署新的软件可以通过在给定时间仅向网络上有限数量的计算机部署软件来 实现。或者,可以在网络上设置高速缓存代理,用于向网络上计算机的子集分 发软件。这两种解决方案都需要仔细地计划实现。此外,在高速缓存代理的情 况下,对网络添加了额外的计算机硬件,从而增加了网络的成本。尽管在此背景下已经认识到了各种问题,但是以下要求保护的主题不一定 要解决任何或所有认识到的问题。该背景仅用于提供关于其中可实施在此所述 的实施例的 一个示例性环境的背景。概述在此描述的一个实施例包括一种高速缓存和共享文件的方法。该方法可以 例如在包括一个或多个联网计算机的计算机网络中的计算机系统处实施。该方 法包括构建包括来自一个或多个联网计算机中的潜在对等服务器的列表的对 等点列表。该对等点列表包括不多于预定数目的潜在对等服务器。向该对等点 列表中的潜在对等服务器査询文件或文件的一部分。从该对等点列表中的对等 服务器接收指示该对等服务器具有该可供下载的文件或文件部分的消息。计算 机系统从该对等服务器下载该文件或文件部分。在此描述的另一个实施例包括一种高速缓存和共享文件的方法。该方法可 以例如在包括一个或多个联网计算机的计算机网络中的计算机系统处实施。该 方法包括发送计算机系统作为对等点可用的消息。计算机系统接收发现计算机 系统是否具有文件或文件部分的请求。计算机系统发送计算机系统具有该文件 或文件部分的消息。发送计算机系统具有该文件或文件部分的消息是基于动态 决定参加/决定退出规则来执行的。计算机系统接收下载文件的请求。计算机系 统向作出请求的系统发送文件。在此描述的另一个实施例包括一种高速缓存和共享文件的方法。该方法可 以例如在包括一个或多个联网计算机的计算机网络中的计算机系统处实施。该 计算机系统向子网上的计算机系统发送一广播信号以发现潜在的对等点。计算 机系统接收来自子网上的计算机系统之一的单播或组播信号。计算机系统将子 网上计算机系统之一添加至一对等点列表。该对等点列表包含不多于预定数量 的对等点。计算机系统向子网上的计算机系统之一发送一单播信号,以发现计 算机系统之一是否具有可供下载的文件或文件部分。计算机系统从子网上的计 算机系统之一接收指示子网上的计算机系统之一具有可供下载的文件或文件 部分的单播信号。计算机系统从子网上的计算机系统之一下载该文件或部分文 件。提供本概述以用简化的形式介绍将在以下详细描述中进一步描述的一些 内容。本概述并不旨在确定所要求保护的主题的关键特征或必要特征,也并不 旨在用于确定所要求保护的主题的范围。附图简述为了描述获得上述和其它特征的方式,将参考附图中所示的具体实施例来呈 现更为具体的描述。需要理解的是这些附图仅描述了典型实施例,且并不因此 被认为是范围的限制,各实施例将通过使用附图以附加的特征和细节来描述和 解释,附图中

图1示出了示例网络的框图;图2示出了说明从客户机观点来看的用于高速缓存和共享文件的方法的流 程图;以及图3示出了说明从对等服务器观点来看的用于高速缓存和共享文件的方法 的流程图。详细描述在此所述的一个实施例包括允许从集中式文件服务器上移开文件分发的 改进的文件分发系统。在该示例中,文件分发和高速缓存被移至网络的边缘。 这有助于减少集中式文件服务器上的负荷并将网络通信量分布在整个网络上, 而不是使网络通信量集中在几个集中式网络连接上。具体地,在一个实施例中, 计算机使用对等系统来高速缓存和共享文件。计算机系统首先构建包括来自一 个或多个联网计算机中的潜在对等服务器列表的对等点列表。在该实施例中, 该对等点列表限于预定数量的对等点。系统随后认证该对等点列表中的对等 点。系统随后可査询来自该对等点列表中的对等点以找出包含计算机系统所需 的文件或文件部分的对等点。若对等点列表中的一个对等点响应指示它具有该 文件或文件部分可用,则可从如此指示的对等点下载该文件或文件部分。若没 有对等点响应指示它们具有该文件或文件部分,则请求文件的系统可以从中央 文件服务器上下载文件,然后可向其它计算机系统指示它具有该文件或文件部 分可供下载。响应于它具有可供下载的文件或文件部分的指示,其它计算机系统可将该计算机系统添加至其包括其潜在对等服务器列表的对等点列表中,如 在下文中更为详细描述的。值得注意的是,其它对等系统可响应于找到包含文 件文件部分的对等点的査询将作出査询的计算机系统添加至其对等点列表中。在一个示例性实施例中,计算机系统能够从未通过中央企业服务器或集线 器互连的计算机中创建对等组。例如,可以在企业网络的分支机构办公室处、 在公共集线器或路由器上的计算机处形成对等组,以消除在诸如电缆调制解调 器连接等昂贵的连接上的对等连接。这样,只需少量的网络通信量和服务器资 源来将文件分发至可以高速缓存和下载文件的对等组中。以此方式,分发软件 和更新所需的处理和网络能力就从网络中的集中式位置移至网络的边缘,以便 于更均匀地分布计算和网络需求。现在参看图1,示出了示例性拓扑结构100。拓扑结构ioo包含多个计算 机系统102、 104、 106、 108、 110。计算机系统102-110通过多种互连手段中 的任一种来互连。例如,计算机系统102-110可通过诸如遵循IEEE 802.3的以 太网网络、诸如遵循IEEE 802.11的无线以太网连接、蓝牙无线网络、拨号联 网连接、电缆调制解调器连接等网络连接来互连。在所示的实施例中,计算机 系统102-110被互连以形成对等组112。在该示例中,对等组112是对于诸如 膝上型计算机系统106等计算机系统的一组潜在对等服务器。在一个实施例中, 每个计算机系统维护一包括从中计算机系统可以下载文件的潜在对等服务器 列表的对等点列表。以下将更详细地讨论该对等组的形成。图1还示出了对等组112被连接到中央文件服务器114。尽管至中央文件 服务器114的连接被示为是单一连接,但在替换实施例中,可以使用各种连接, 以使计算机102-110中的每一台都能访问中央文件服务器114或具有其它配置。 例如,对等组可在公司企业的分支机构办公室中连接,其中分支机构办公室连 接至位于企业集线器处的中央文件服务器114。也可以实现各种其它互连。在所示的示例中,文件服务器可储存文件116或文件部分。文件116可以 是,例如,软件更新、操作系统的安全补丁、应用程序、数据文件、或其它软 件。文件116可以由诸如计算机系统108等计算机之一下载或被推至该计算机。 计算机系统108因此可用作具有文件116的高速缓存的副本的潜在对等服务 器。其它计算机系统102, 104, 106, 110随后向潜在对等服务器系统108请求文件116。以此方式,在某些实施例中,文件服务器和对等组112之间的连 接118上的网络通信量就可被减少。此外,中央文件服务器114的处理也可被 减少。正如前面所述的,图1示出了计算机系统之一是膝上型计算机系统106, 而对等组112在由膝上型计算机系统106维护的潜在对等服务器列表中。膝上 型计算机以及包括手持式设备、pda、蜂窝电话等其他便携式计算机就其最本质 而言就是便携的,且可处于网络的物理上和逻辑上不同的部分中。膝上型计算 机106例如可以在逻辑或物理上被移至其中对于该膝上型计算机106而言从对 等组112下载文件不切实际的位置。例如,膝上型计算机106可以被逻辑上移 至不同于对等组112的子网中。或者,膝上型计算机106可以被物理上移至需 要过多网络通信量以使膝上型计算机106能够与对等组112的其它成员通信的 位置。在图l所示的实施例中,膝上型计算机106创建诸如图1中所示的对等 组120等另一个对等点组。膝上型计算机106可维护有关第一对等组112和第 二对等组120的信息,以使膝上型计算机106可在其在第一对等组112或第二 对等组120或膝上型计算机106拥有对等列表的任何其它对等组中连接时接收 文件。当对等组112中的计算机系统接收文件116时,计算机系统应确定该文件 是正确的文件且未被破坏。确定文件是正确的文件且未被破坏可以通过例如比 较文件名、文件大小、散列值等来实现。例如,计算机系统可接收有关文件的 信息,包括文件名、文件大小、以及文件的散列值等。散列值是利用文件中的 数据计算的值,以用某些其它数据将产生相同的散列值是极其不可能的方式来 生成值。计算机系统可以通过比较文件名、文件大小和/或散列值来确定接收到 正确的文件。此外,散列值可用于确保文件没有被破坏或恶意更改。若计算机系统检测到正确的文件不可用、文件已被破坏、或者文件已被恶 意更改,则计算机系统直接向中央文件服务器114请求文件116。直接向中央 文件服务器114请求文件116的计算机系统随后可将其自身宣告为含有文件 116的潜在存储系统。值得注意的是,在一个实施例中,如上文所述的对等组是为每个计算机系 统维护的,且是对其是特定的。这样,对等组管理使用无中央控制的系统而从中央位置移出。这消除了整个网络的单点故障点。换言之, 一个对等点列表或 具有对等点列表的一个系统的缺失不会像在使用单个集中式服务器来管理对等组时所发生的那样禁用文件分发和高速缓存的整个系统。现在参看图2,示出了高速缓存和共享文件的方法200。该方法可以在位于包括一个或多个联网计算机的计算机网络上的计算机系统处执行。图2示出了构建对等点列表的动作(动作202)。该对等点列表包括来自诸 如图1中所示的计算机系统102-110等一组联网计算机中的潜在对等服务器的 列表。该对等点列表可以是包括不超过预定数量的潜在对等服务器。例如,该 对等点列表可被设计成使得该对等点列表中包括不超过100个潜在对等服务 器。此外,还希望该对等组中的计算机系统102-110从联网观点来看是邻近的。 例如,可能期望对等组112中的计算机系统102-110位于企业网络的同一分支 机构办公室处。在一替换实施例中,可能希望对等组112中的计算机系统 102-110位于一公用集线器、路由器或交换机上。在某些替换实施例中,可能 希望没有一个对等点通过诸如电缆调制解调器或高通信量连接之间的那些昂 贵连接而彼此互连。还可以实现其它逻辑上邻近的配置。例如,在一个实施例 中,计算机系统可以使用定时方式来确定计算机的邻近性。有多种可以单独或 组合使用以构建对等点列表(202)的方法。这些方法的示例现在将在下文中讨 论。构建对等点列表(202)的一种方法包括发送征求(solicitation)请求并接 收来自计算机的回复。为了限制响应的潜在对等点的数目,征求请求可以是例 如获得对单个子网的回复的子网广播或组播。然而,即使只有单个子网上的计 算机做出了响应,响应的数量仍可能是势不可挡的。因此,为了进一步限制响 应的数量,发送征求请求的计算机系统可在征求请求中包括期望的对等点数量 的指示。潜在对等点可以被配置成在一随机短间隔后使用组播回复来响应,并 监听其它计算机的组播回复。若潜在对等点检测到来自其它潜在对等点的响应 已经满足了所需的对等点数量的指示,则潜在对等点不再响应。换言之,如果 已经有期望数量的对等点回复,则潜在对等点将不作回复。可使用多种方法来生成该随机短间隔。例如,在最简单的实施例中,可由 每一个潜在对等点使用一统一随机分发来确定在回复征求前要等待多长时间。一替换方法包括使用非线性分发,其中较少的潜在对等点在开始时响应,而较 多的潜在对等点随着延迟变得更长而作出响应。例如,集成了非线性延迟的一 种方法可以包括生成一O到1之间的随机数。该延迟因此可由以下等式来定义DELAY=MAXDELAY*Log(C * X+1 )/Log(C+1) 其中,DELAY是响应之前的延迟,MAX—DELAY给定用于接收响应的最大时 间量,X是随机数,C是诸如256等任意数字。也可以使用其它非线性随机延 迟。在另一个例子中,系统可能无延迟地响应,且计算机系统可将对等点添加 至对等列表中,直至其具有足够的对等点来填满该对等点列表。在该示例中, 最快响应的对等点可以是逻辑上距发送征求请求的计算机系统最近的那些计 算机。在该示例中,计算机系统可以为潜在对等点计时,以了解他们能多快地 响应征求。只有最快作出响应的对等点才会被添加至对等点列表。因此,计算 机系统能够通过接受逻辑上最接近或能够最快响应的那些对等点来选择最适 合对等组的对等点。征求请求还可包括诸如信任组等组。潜在对等点将忽略涉及其它信任组的 请求。即使在征求请求中使用了信任组时,仍需要如在下文中更详细描述的那 样认证对等点。信任组用作淘汰来自同一子网内其他信任组的回复的一种方 法,使得一个子网内的重叠征求不会相互干扰。在一个实施例中,征求请求可 包括计算机系统所需的内容的标识。正如下文所述,若潜在对等点具有标识中 的内容并满足其它决定参加约束时,则潜在对等点作出回复。这就使内容查找 更为有效,因为单个内容请求到达所有潜在主机。由于未经认证的主机都可看 到请求了哪一内容,因此该实施例的私密性较低。可以利用请求URL的单向 散列或内容散列以增强该实施例中的私密性。在另一示例中,构建对等点列表可包括计算机系统接收来自一潜在对等点 的带有组播分组的自我通告(self-announcement)。该自我通告包括潜在对等 点具有可被供应给网络上的计算机的文件或文件部分的指示。当接收到此类通 告后,计算机系统将该潜在对等点添加至其对等点列表。在一替换实施例中, 该自我通告可定期作出。在一个例子中,该通告可以是每小时一次、或者一天 数次地作出。当计算机系统具有要共享的文件并且当其硬件特性、当前处理负载、或其 它特性允许它们担当对等服务器时,计算机系统发出自我通告。发出通告的计 算机系统从中央文件服务器114或从对等组112中的另一个对等点处接收文件116。计算机系统可能拥有它们不会对其进行自我通告的特定文件。这允许计算机系统保护特定文件。在一个替换实施例中,潜在对等点在被添加至网络时可通过组播发出这一 通告。若需要对等点列表中的对等点,则计算机随后将该新计算机添加至其对 等点列表。类似地,计算机系统在接收到其它类型的组播通告和回复时将对等 点添加至对等点列表。例如,监听与上述随机时间延迟响应有关的回复的计算 机系统可将回复原始征求的任何计算机系统添加至其对等点列表。同样,几乎 任何回复或通告都可以用于确定什么计算机可用作对等点列表的潜在对等点。对等点列表中的计算机可以是经确认的或未经确认的。经确认的计算机系 统是通过如下概述的认证的那些计算机系统。对等点列表中的对等点不需要在 被添加至列表之后立即确认,而是相反,它们可以如下更详细讨论的在接近向对等点列表中的对等点査询文件或文件部分(动作206)的时刻被确认。然而,一 旦对等点列表中的对等点得到确认,则计算机系统和对等点可共享一密钥,以 便在随后的文件查询时无需执行确认。构建对等点列表的过程的一部分可包括更新对等点列表,用以移除过时的 条目或移除不再有效的条目。例如,在条目在对等点列表中存在了预定的一段 时间后计算机系统可将该条目从对等点列表中移除。这确保了陈旧的条目具有 有限的生命期限。在另一个替换实施例中,对等点条目可响应由对等点在对等 点离开网络时发出的组播而被移除。例如,当一个对等点准备离开网络时向其 他对等点发送"再见"组播单向消息作为尽力(best effort)通知。当该"再见" 消息被计算机系统检测到时,发送该"再见"消息的对等点就会从该对等点列 表中移除。"再见"消息可能不是较佳的,因为恶意计算机可使用"再见"请 求以导致其它计算机从对等点列表中移除,并因此导致更多计算机向中央文件 服务器提出请求。在另一个例子中,当试图向对等点査询文件并且接收到指示 对等点不再位于网络上的错误时,对等点可从对等点列表中移除。在一个实施 例中,当对对等点列表中的不同对等点的查询造成出错消息时,计算机系统可丢弃整个对等点列表中的所有条目。这可以是计算机系统正试图访问的那部分 网络已经不再可用的指示。在另一个实施例中,若对等点不能得到确认,则对 等点可从对等点列表中移除。这将在后文详细讨论,但简而言之,当对等点不 能得到确认时,这是对等点不可信任的指示。类似地,若从对等点接收到的文 件不能通过诸如散列比较等某些安全检查,则对等点可从对等点列表中移除。 这也将在下文详细讨论。当从对等点列表中移除足够数量的对等点时,可重复上述构建对等点列表 的动作。值得注意的是,以上所述的动作可以单独或组合使用。计算机系统可以维护一个以上对等点列表。例如,在图1中,示出了膝上型计算机系统106的示例。如所解释的,膝上型计算机系统106可以被物理上 或逻辑上重新定位。在一个实施例中,膝上型计算机系统106可以在逻辑上被 重新定位,以使其驻留在与第一对等组112不同的子网上。膝上型计算机系统 106可检测出它已被移至一个新的子网,并响应于检测到它已经被移至一个新 的子网,膝上型计算机系统106可执行上述构建对等点列表的动作以便为该新 的子网构建一新的对等点列表。若膝上型计算机系统106规则地是某些子网的 成员,则它可维护那些子网的对等点列表,以避免每次其连接至该子网时都需 要执行构建对等点列表的动作。计算机系统维护的不同对等点列表的数量可以 是静态地定义的数量,或者该数量可以是用户或网络管理员可配置数量的数值得注意的是,存在计算机系统移至一新的子网,但并不形成新的对等组 的情况。例如,若膝上型计算机移至一因特网咖啡厅,则它可能不形成新的对 等组。对这种和其它情况,与可用对等点通信的风险可能太高。计算机系统也可以被配置成当其被第一次添加至网络时构建对等点列表。 这可以由任意新计算机系统完成,且不限于膝上型计算机系统。再次参看图2,示出了认证对等点列表中的计算机的动作。认证包括确认 对等点是可信机器。在一个实施例中,计算机系统可确认对等点是一特定安全 组的成员。确认可例如通过使用协议来执行,使得计算机系统和对等点两者都 执行了互认证。这样,计算机系统和对等点两者的身份都得到确认,以防止计 算机系统或对等点列表中的对等点"欺骗"另一方相信他们在同一安全组中。用于这种互认证的一个协议可以是Kerberos。若对等点未得到确认,则对等点 将从对等点列表中移除。一旦对等点得到确认,计算机系统和对等点就可共享一个密钥,以便无需 在后续的查询之前执行后续的确认。该密钥可具有到期时限以使信任确认有 效。这一到期时限在一个示例中可以是一天。一旦对等点得到确认,图2进一步示出了向对等点列表中的对等点査询文件或文件部分的动作(动作204)。在一个示例性的实施例中,査询对等点列表中的对等点包括向对等点列表中的每一个对等点发送单播消息,直至对等点之一 响应它具有计算机系统所寻找的文件或文件部分。注意,如在此所使用的,单播是针对特定计算机的网络査询。在此所述的单播不一定需要使用数据报协 议,并且可使用诸如TCP和其它等其它协议。在一个替换实施例中,计算机系 统可发送一组重叠的单播消息。例如,计算机系统可在接收到来自先前发送单 播消息的对等点的回复之前,向对等点列表中的对等点发送单播消息。在查询动作中发送的消息可包括标识计算机系统所需要的文件的各种参 数。例如,该消息可包括文件名、文件大小、文件创建日期、和/或文件的散列 中的一个或多个。特别地,通过使用文件的散列,系统可以检测到有正确的文 件可用。使用散列,计算机系统能够检测可用的文件是否为已更新的文件、是 否不是另一个文件的重复名字,等等。在计算机系统向对等点列表中的对等点査询了文件或文件部分(动作206) 之后,图2中所示的方法示出了从对等点列表中的对等服务器接收对等服务器 具有可供下载的文件或文件部分的消息的动作(动作208)。当决定对等点是否担当对等服务器时,对等点可参考各种策略规则。此外, 即使当一个对等点具有文件可用时,该对等点也可根据策略规则来选择不担当 对等服务器。此类策略规则可考虑计算机系统的处理能力。例如, 一个强大的 台式机或服务器类计算机可具有允许其担当对多个对等点以及比方说诸如膝 上型计算机系统106等膝上型计算机的对等服务器的策略规则。其它规则可涉 及可用机器资源的数量。例如,当超过10%的计算机系统资源被使用时,策略 规则可限制计算机系统担当对等服务器的能力。系统资源可以是对系统上的 CPU负载和磁盘I/0负载两者中的较大者的测量。此外,膝上型计算机可参考调整膝上型计算机系统106可基于膝上型计算机系统106的操作状态担当其对 等服务器的对等点的数目的策略。例如,当膝上型计算机系统106被连接至对 接站(docking station)时,它可以被配置成比没有连接至对接站时为更多对等 点服务。此外,当膝上型计算机系统106通过有线连接来连接时,它可以被允 许比当膝上型计算机系统106以无线方式连接至对等计算机时为更多的对等点 服务。在另一个示例中,允许连接至膝上型计算机系统106的数量可以按照有 关电池电平的策略来定义。例如,如果膝上型计算机正在通过电池运行且具有 少于50%的电量,则膝上型计算机系统106可以遵循不允许任何其它对等点连 接的策略。当对等点确定要担当对等服务器时,对等服务器将由计算机系统接收的 (动作208)消息发回至计算机系统。在计算机系统从对等点列表中的潜在对等服务器接收到指示潜在对等服 务器具有可供下载的文件或文件部分的消息之后,计算机系统下载该文件或文件部分(动作210)。下载能以任意适当的方式进行。值得注意的是,如在此 暗指的,计算机系统可下载文件的一部分而非整个文件。文件的其它部分可以 从其它对等服务器获得。在某些环境中,这样有助于提高下载大文件的速率。在一个实施例中,方法200还包括确认该文件或文件部分(动作212)。 确认验证了文件是正确的文件、该文件没有被恶意更改、和/或该文件没有被破 坏。这可以通过例如计算文件或文件部分的散列来实现。若所计算的散列值与 期望的散列值不匹配,则计算机系统将丢弃该文件或文件部分。此外,计算机 系统可将供应文件的对等服务器置于指示对等服务器是可疑的隔离列表上。在 一替换实施例中,该对等服务器可完全从对等点列表中删除。计算机系统随后 可试图从对等点列表中的另一个对等点或从中央文件服务器获取文件。计算机 系统也可通知供应该文件的对等服务器该文件有问题。这将允许对等服务器丢 弃该文件。其它计算机系统也将被通知文件的可疑特性。现在参看图3,示出了显示从潜在对等服务器的观点来看的高速缓存和共 享文件的方法300。图3中所示的方法可以在网络中的计算机系统处实现,其 中该网络包含一个或多个联网计算机。方法300包括发送计算机系统可用作对等点的消息的动作(动作302)。发送计算机系统可用作对等点的消息(动作302)可以使用当计算机系统具有 要共享的文件时子网上的组播来执行。在一替换实施例中,发送计算机系统可用作对等点的消息可以使用响应于接收到来自系统的査找对等计算机的征求请求的组播或单播来执行。当发送计算机系统可用作对等点的消息(动作302) 是响应于接收征求请求而执行的时候,计算机系统可以通过使用以上结合图2 描述的过程的随机延迟来响应。方法300还包括接收发现计算机系统是否具有文件或文件部分的请求的动 作(动作304)。所接收的消息可以是来自在对等点列表中具有该计算机系统 的系统的单播请求。在一替换实施例中,该请求可以是如上所述的重叠单播。 当对该文件不需要安全性时,也可以使用组播请求。方法300还包括发送计算机系统具有文件或文件部分的消息的动作(动作 304)。发送计算机系统具有文件或文件部分的消息(动作304)是基于动态决 定参加/决定退出规则来执行的。例如,在一个实施例中,策略规则可考虑计算 机系统的处理能力。 一个强大的台式机或服务器类计算机可具有允许其比其它 不够强大的系统担当对更多对等点的对等服务器的策略规则。其它规则可涉及 可用机器资源的数量。例如,当超过10%的计算机系统资源正被使用时,策略 规则可限制计算机系统担当对等服务器的能力。系统资源可以是对系统上的 CPU负载和磁盘I/O负载两者中的较大者的测量。在涉及膝上型计算机的一替 换实施例中,膝上型计算机可参考调整膝上型计算机系统106可基于膝上型计 算机系统106的操作状态来担当其对等服务器的对等点的数量的策略。例如, 当膝上型计算机系统106被连接至对接站时,它可以被配置成比没有连接至对 等站时为更多对等点服务。此外,当膝上型计算机系统106通过有线连接来连 接时,它可以被允许比当膝上型计算机系统106以无线方式连接至对等计算机 时为更多的对等点服务。在又一个替换实施例中,允许连接至膝上型计算机系 统106的对等点的数量可以由有关电池电平的策略来确定。例如,如果膝上型 计算机正通过电池运行且具有少于50%的电量,则膝上型计算机系统106可以 遵循不允许任何其它对等点连接的策略。方法300还包括接收下载文件的请求的动作(动作308)。方法300还包 括将文件发送至作出请求的系统的动作(310)。这些可以由担当对网络上的其它系统的对等服务器的计算机系统来执行。现在参看图4,示出了显示高速缓存和共享包括各种消息类型的文件的方法400。图4中所示的该方法在可以在网络上的计算机系统处实施,其中该网络可以包括一个或多个联网计算机。该方法包括计算机系统向子网上的计算机系统发送广播信号以发现潜在对等点的动作(动作402)。该广播信号可以指示对预定数量的响应的期望。 在一替换实施例中,广播可包括允许计算机系统评估对该广播信号的任何响应 的各种参数。例如,参数可考虑响应的定时、对响应系统的硬件特性的评估等等°计算机系统随后接收来自子网上的计算机系统之一的信号(动作404)。 该信号可包括可被提供的文件的列表、发送信号的系统的特性等等。该信号可 以是组播信号,或在某些情况下是单播信号。计算机系统将子网上的计算机系统之一添加至对等点列表(动作404)。该对等点列表包括不超过预定数量的对等点。例如,该对等点列表可以包括不 超过IOO个对等点。这允许计算机系统限制找出供下载的文件或文件部分所需 的处理量和网络利用率。计算机系统向子网上的计算机系统之一发送单播信号,以发现计算机系统 之一是否具有可供下载的文件或文件部分(动作408)。该计算机系统可对其它计算机重复这一过程以发现文件或文件部分位于何处。值得注意的是,该单 播信号可以重叠,以使单播可以从同一个计算机系统同时发生。计算机系统从子网上的计算机系统之一接收指示子网上的计算机系统之 一具有可供下载的文件或文件部分的单播信号(动作410)。计算机系统随后从子网上的计算机系统之一下载该文件或文件部分(动作 412)。本领域的技术人员可以理解,本发明可以在具有各种类型的计算机系统配 置的网络计算环境中实施,包括个人计算机、手持式设备、多处理器系统、基 于微处理器或可编程电子产品、网络个人计算机(PC)、小型机、大型计算机 等等。本发明也可以在其中任务由通过通信网络链接(通过硬连线链路、无线 链路、或者通过硬连线或无线链路的组合)的本地和远程处理设备来执行的分布式计算环境中实施。在分布式计算环境中,程序模块既可以位于本地也可以 位于远程存储器存储设备中。本发明范围之内的实施例还包括用于承载或其上具有计算机可执行指令 或数据结构的计算机可读介质。此类计算机可读介质可以是能由通用或专用计 算机访问的任何可用介质。作为示例而非限制,此类计算机可读介质可包括RAM、 ROM、 EEPROM、 CD-ROM或其它光盘存储、磁盘存储或其它磁性存 储设备、或可用于以计算机可执行指令或数据结构形式来传送或存储期望的程 序代码装置并可由通用或专用计算机访问的任意其它介质。当信息通过网络或 另一通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算 机时,该计算机适当地将该连接视为为计算机可读介质。因此,任意此类连接 被适当地称为计算机可读介质。以上的组合也应该包含在计算机可读介质的范 围之内。计算机可执行指令包括,例如,可以使通用计算机、专用计算机、或 专用处理设备执行特定功能或功能组的指令和数据。尽管以对结构特征和/或方法动作专用的语言描述了该主题,但应该理解, 在所附权利要求中定义的本主题不必限于以上所述的具体特征或动作。相反, 以上所述的具体特征和动作是作为实现权利要求书的示例形式而公开的。本发明可以用其它具体形式来实施而不脱离其精神或本质特性。所描述的 实施例在所有方面都被认为是仅仅作为说明而非限制。因此,本发明的范围是 由所附权利要求书而非前面的描述来指示的。落入权利要求书的等效技术方案 的含义和范围内内的所有改变都被包含在其范围之内。
权利要求
1.一种在包括一个或多个联网计算机的计算机网络中的计算机系统处的高速缓存和共享文件的方法,所述方法包括以下动作构建包括来自所述一个或多个联网计算机中的潜在对等服务器的列表的对等点列表(202),所述对等点列表包括不多于预定数量的潜在对等服务器;向所述对等点列表中的潜在对等服务器查询文件(116)或文件部分(206);从所述对等点列表中的对等服务器接收所述对等服务器具有可供下载的所述文件(116)或文件部分的消息(208);以及从所述对等服务器下载所述文件(116)或文件部分(210)。
2. 如权利要求1所述的方法,其特征在于,构建对等点列表(202)包括以下动作发送征求请求;以及接收来自潜在对等点(102-110)的回复。
3. 如权利要求O所述的方法,其特征在于,发送征求请求包括对所需对等 点数量的指示,并且其中,接收回复包括接收来自等待随机短时间间隔、监听 其他潜在对等点(102-110)的组播回复并且在所期望数目的对等点已经回复的 情况下不回复的潜在对等点(102-110)的回复。
4. 如权利要求O所述的方法,其特征在于,所述等待随机短时间间隔的潜 在对等点(102-110)利用对数随机延迟来确定回复前等待的时间量。
5. 如权利要求O所述的方法,其特征在于,所述发送和接收是对同一子网 上的计算机完成的。
6. 如权利要求O所述的方法,其特征在于,还包括通过发送征求请求来构 建第二对等点列表(120);以及接收来自第二子网上的计算机的回复。
7. 如权利要求1所述的方法,其特征在于,构建对等点列表(202)包括以下动作接收来自潜在对等点(102-110)的带有组播分组的自我通告,其中所述自 我通告包括所述潜在对等点(102-110)具有可供应给所述网络上计算机的文件 的指示;以及将所述潜在对等点(102-110)添加至所述对等点列表。
8. 如权利要求l所述的方法,其特征在于,还包括当所述对等点列表中的 条目过时或以其它方式不可用时,重复所述构建对等点列表的动作。
9. 如权利要求0所述的方法,其特征在于,发送征求请求包括信任组。
10. 如权利要求l所述的方法,其特征在于,所述构建对等点列表(202) 是响应于所述计算机系统移至新的子网而执行的。
11. 如权利要求1所述的方法,其特征在于,还包括确定所述文件或文件 部分被破坏,并响应于确定所述文件或部分文件被破坏从中央服务器(114) 下载所述文件或文件部分的动作。
12. 如权利要求0所述的方法,其特征在于,确定所述文件或文件部分被 破坏包括参考散列值的动作。
13. 如权利要求1所述的方法,其特征在于,还包括确定所述文件或文件 部分不能从所述对等点列表中的任一计算机获得,并且响应于确定所述文件或 文件部分不能从所述对等点列表中的任一计算机获得从中央服务器(114)下 载所述文件或文件部分的动作。
14. 如权利要求1所述的方法,其特征在于,还包括在向所述对等点列表 中的计算机查询文件或文件部分(206)之前认证所述对等点列表中的计算机(204)。
15. —种包括用于执行如权利要求1所述的动作的计算机可执行指令的计算机可读介质。
16. —种在包括一个或多个联网计算机的计算机网络中的计算机系统处的高速缓存和共享文件的方法,所述方法包括以下动作发送所述计算机系统可用作对等点的消息(302); 接收发现所述计算机系统是否具有文件或文件部分的请求(304); 发送所述计算机系统具有所述文件或文件部分的消息(306),其中发送 是基于动态决定参加/决定退出规则来执行的; 接收下载所述文件的请求(308);以及 向作出请求的系统发送所述文件(310)。
17. 如权利要求16所述的方法,其特征在于,所述动态决定参加/决定退 出规则指示所述计算机系统根据所述计算机系统资源被利用了多少来发送所 述计算机系统具有所述文件(116)或文件部分的消息。
18. 如权利要求16所述的方法,其特征在于,所述计算机系统是便携式计 算机,且所述动态决定参加/决定退出规则指示所述计算机系统根据所述计算机 系统处的电池寿命剩余多少来发送所述计算机系统具有所述文件(116)或文 件部分的消息。
19. 如权利要求16所述的方法,其特征在于,所述动态决定参加/决定退 出规则指示所述计算机系统根据所述计算机系统目前正在向多少其他系统提 供文件来发送所述计算机系统具有所述文件(116)或文件部分的消息。
20. —种在包括-一个或多个联网计算机的计算机网络中的计算机系统处的 高速缓存和共享文件的方法,所述方法包括以下动作向子网上的计算机系统发送广播信号以发现潜在对等点(402); 接收来自子网上的所述计算机系统之一的单播信号(404); 将所述子网上的计算机系统之一添加至一对等点列表(406),其中所述 对等点列表包括不多于预定数量的对等点向所述子网上的计算机系统之一发送单播信号(408),以发现所述计算 机系统之一是否具有可供下载的文件或文件部分;接收来自所述子网上的计算机系统之一的、指示所述子网上的计算机系统 之一具有可供下载的所述文件或文件部分的单播信号(410);以及从所述子网上的计算机系统之一下载所述文件或文件部分(412)。
全文摘要
文件的分布式高速缓存和下载。描述了一种包括构建包括来自一个或多个联网计算机中的潜在对等服务器的列表的对等点列表的方法。该对等点列表包括不多于预定数量的潜在对等服务器。向对等点列表中的潜在对等服务器查询文件或文件部分。接收来自对等点列表中的对等服务器的、指示对等服务器拥有可供下载的文件或文件部分的消息。计算机系统从对等服务器下载文件或文件部分。
文档编号G06F15/16GK101253488SQ200680031311
公开日2008年8月27日 申请日期2006年8月3日 优先权日2005年8月30日
发明者A·M·海斯特, B·哈德, E·F·瑞斯, J·S·罗伯茨, K·曹, M·左兰, N·玛哈卡里 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1