CN101253488A - 网络中文件的分布式高速缓存 - Google Patents

网络中文件的分布式高速缓存 Download PDF

Info

Publication number
CN101253488A
CN101253488A CN200680031311.8A CN200680031311A CN101253488A CN 101253488 A CN101253488 A CN 101253488A CN 200680031311 A CN200680031311 A CN 200680031311A CN 101253488 A CN101253488 A CN 101253488A
Authority
CN
China
Prior art keywords
peer
file
computer system
computer
list
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.)
Granted
Application number
CN200680031311.8A
Other languages
English (en)
Other versions
CN101253488B (zh
Inventor
A·M·海斯特
B·哈德
E·F·瑞斯
J·S·罗伯茨
K·曹
M·左兰
N·玛哈卡里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101253488A publication Critical patent/CN101253488A/zh
Application granted granted Critical
Publication of CN101253488B publication Critical patent/CN101253488B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1072Discovery involving ranked list compilation of candidate peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Abstract

文件的分布式高速缓存和下载。描述了一种包括构建包括来自一个或多个联网计算机中的潜在对等服务器的列表的对等点列表的方法。该对等点列表包括不多于预定数量的潜在对等服务器。向对等点列表中的潜在对等服务器查询文件或文件部分。接收来自对等点列表中的对等服务器的、指示对等服务器拥有可供下载的文件或文件部分的消息。计算机系统从对等服务器下载文件或文件部分。

Description

网络中文件的分布式高速缓存
                           背景
网络计算允许计算机请求和接收来自服务器的软件和文件内容以便在计算机上安装和/或存储。文件内容可包括,例如,文本文件、视频文件、数据文件、图像文件等等。软件能出于若干目的而被请求和下载,这些目的包括更新系统软件、更新应用程序软件、以及更新数据文件。例如,安全补丁可以被下载用于更新操作系统以防止或抵制对计算机系统的攻击。此外,软件可以被下载用于在计算机上安装新的应用程序。在一个示例性系统中,软件可以在后台下载,使得软件可以在计算机和计算机用户执行其它任务的同时下载。带有这种功能的一个示例性服务是后台智能传输服务(BITS)。
通常,当软件被发布并可供从服务器上下载时,网络上会有试图同时或在非常短的一段时间内获得软件的大量计算机。例如,当软件是安全补丁时,期望将软件在尽可能短的时间内传送至尽可能多的计算机以防止对计算机或网络的恶意攻击。当软件是供在公司校园中进行系统级分发的新应用程序时,可能期望在短时间内在系统级部署该软件。当软件是高度期望发行的时候,大量用户会试图下载软件以努力成为首批使用该软件的人。大规模的软件分发需要大量服务器和网络容量。这种大规模下载在其中多个分支机构办公室连接至位于公司总部的企业集线器的网络环境中尤其麻烦。在这个示例中,当软件从企业集线器分发时,企业集线器和分支机构办公室之间的网络连接会限制可在特定时刻更新的计算机的数量,即使企业集线器处的服务器具有足够的容量用于向分支机构办公室处的众多或所有计算机提供软件。
已经使用了多种方法来分散大规模下载的工作负载。例如,在公司环境中,部署新的软件可以通过在给定时间仅向网络上有限数量的计算机部署软件来实现。或者,可以在网络上设置高速缓存代理,用于向网络上计算机的子集分发软件。这两种解决方案都需要仔细地计划实现。此外,在高速缓存代理的情况下,对网络添加了额外的计算机硬件,从而增加了网络的成本。
尽管在此背景下已经认识到了各种问题,但是以下要求保护的主题不一定要解决任何或所有认识到的问题。该背景仅用于提供关于其中可实施在此所述的实施例的一个示例性环境的背景。
                               概述
在此描述的一个实施例包括一种高速缓存和共享文件的方法。该方法可以例如在包括一个或多个联网计算机的计算机网络中的计算机系统处实施。该方法包括构建包括来自一个或多个联网计算机中的潜在对等服务器的列表的对等点列表。该对等点列表包括不多于预定数目的潜在对等服务器。向该对等点列表中的潜在对等服务器查询文件或文件的一部分。从该对等点列表中的对等服务器接收指示该对等服务器具有该可供下载的文件或文件部分的消息。计算机系统从该对等服务器下载该文件或文件部分。
在此描述的另一个实施例包括一种高速缓存和共享文件的方法。该方法可以例如在包括一个或多个联网计算机的计算机网络中的计算机系统处实施。该方法包括发送计算机系统作为对等点可用的消息。计算机系统接收发现计算机系统是否具有文件或文件部分的请求。计算机系统发送计算机系统具有该文件或文件部分的消息。发送计算机系统具有该文件或文件部分的消息是基于动态决定参加/决定退出规则来执行的。计算机系统接收下载文件的请求。计算机系统向作出请求的系统发送文件。
在此描述的另一个实施例包括一种高速缓存和共享文件的方法。该方法可以例如在包括一个或多个联网计算机的计算机网络中的计算机系统处实施。该计算机系统向子网上的计算机系统发送一广播信号以发现潜在的对等点。计算机系统接收来自子网上的计算机系统之一的单播或组播信号。计算机系统将子网上计算机系统之一添加至一对等点列表。该对等点列表包含不多于预定数量的对等点。计算机系统向子网上的计算机系统之一发送一单播信号,以发现计算机系统之一是否具有可供下载的文件或文件部分。计算机系统从子网上的计算机系统之一接收指示子网上的计算机系统之一具有可供下载的文件或文件部分的单播信号。计算机系统从子网上的计算机系统之一下载该文件或部分文件。
提供本概述以用简化的形式介绍将在以下详细描述中进一步描述的一些内容。本概述并不旨在确定所要求保护的主题的关键特征或必要特征,也并不旨在用于确定所要求保护的主题的范围。
                          附图简述
为了描述获得上述和其它特征的方式,将参考附图中所示的具体实施例来呈现更为具体的描述。需要理解的是这些附图仅描述了典型实施例,且并不因此被认为是范围的限制,各实施例将通过使用附图以附加的特征和细节来描述和解释,附图中:
图1示出了示例网络的框图;
图2示出了说明从客户机观点来看的用于高速缓存和共享文件的方法的流程图;以及
图3示出了说明从对等服务器观点来看的用于高速缓存和共享文件的方法的流程图。
                         详细描述
在此所述的一个实施例包括允许从集中式文件服务器上移开文件分发的改进的文件分发系统。在该示例中,文件分发和高速缓存被移至网络的边缘。这有助于减少集中式文件服务器上的负荷并将网络通信量分布在整个网络上,而不是使网络通信量集中在几个集中式网络连接上。具体地,在一个实施例中,计算机使用对等系统来高速缓存和共享文件。计算机系统首先构建包括来自一个或多个联网计算机中的潜在对等服务器列表的对等点列表。在该实施例中,该对等点列表限于预定数量的对等点。系统随后认证该对等点列表中的对等点。系统随后可查询来自该对等点列表中的对等点以找出包含计算机系统所需的文件或文件部分的对等点。若对等点列表中的一个对等点响应指示它具有该文件或文件部分可用,则可从如此指示的对等点下载该文件或文件部分。若没有对等点响应指示它们具有该文件或文件部分,则请求文件的系统可以从中央文件服务器上下载文件,然后可向其它计算机系统指示它具有该文件或文件部分可供下载。响应于它具有可供下载的文件或文件部分的指示,其它计算机系统可将该计算机系统添加至其包括其潜在对等服务器列表的对等点列表中,如在下文中更为详细描述的。值得注意的是,其它对等系统可响应于找到包含文件文件部分的对等点的查询将作出查询的计算机系统添加至其对等点列表中。
在一个示例性实施例中,计算机系统能够从未通过中央企业服务器或集线器互连的计算机中创建对等组。例如,可以在企业网络的分支机构办公室处、在公共集线器或路由器上的计算机处形成对等组,以消除在诸如电缆调制解调器连接等昂贵的连接上的对等连接。这样,只需少量的网络通信量和服务器资源来将文件分发至可以高速缓存和下载文件的对等组中。以此方式,分发软件和更新所需的处理和网络能力就从网络中的集中式位置移至网络的边缘,以便于更均匀地分布计算和网络需求。
现在参看图1,示出了示例性拓扑结构100。拓扑结构100包含多个计算机系统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的其它成员通信的位置。在图1所示的实施例中,膝上型计算机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)请求并接收来自计算机的回复。为了限制响应的潜在对等点的数目,征求请求可以是例如获得对单个子网的回复的子网广播或组播。然而,即使只有单个子网上的计算机做出了响应,响应的数量仍可能是势不可挡的。因此,为了进一步限制响应的数量,发送征求请求的计算机系统可在征求请求中包括期望的对等点数量的指示。潜在对等点可以被配置成在一随机短间隔后使用组播回复来响应,并监听其它计算机的组播回复。若潜在对等点检测到来自其它潜在对等点的响应已经满足了所需的对等点数量的指示,则潜在对等点不再响应。换言之,如果已经有期望数量的对等点回复,则潜在对等点将不作回复。
可使用多种方法来生成该随机短间隔。例如,在最简单的实施例中,可由每一个潜在对等点使用一统一随机分发来确定在回复征求前要等待多长时间。一替换方法包括使用非线性分发,其中较少的潜在对等点在开始时响应,而较多的潜在对等点随着延迟变得更长而作出响应。例如,集成了非线性延迟的一种方法可以包括生成一0到1之间的随机数。该延迟因此可由以下等式来定义:
       DELAY=MAX_DELAY*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/O负载两者中的较大者的测量。此外,膝上型计算机可参考调整膝上型计算机系统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)。该对等点列表包括不超过预定数量的对等点。例如,该对等点列表可以包括不超过100个对等点。这允许计算机系统限制找出供下载的文件或文件部分所需的处理量和网络利用率。
计算机系统向子网上的计算机系统之一发送单播信号,以发现计算机系统之一是否具有可供下载的文件或文件部分(动作408)。该计算机系统可对其它计算机重复这一过程以发现文件或文件部分位于何处。值得注意的是,该单播信号可以重叠,以使单播可以从同一个计算机系统同时发生。
计算机系统从子网上的计算机系统之一接收指示子网上的计算机系统之一具有可供下载的文件或文件部分的单播信号(动作410)。
计算机系统随后从子网上的计算机系统之一下载该文件或文件部分(动作412)。
本领域的技术人员可以理解,本发明可以在具有各种类型的计算机系统配置的网络计算环境中实施,包括个人计算机、手持式设备、多处理器系统、基于微处理器或可编程电子产品、网络个人计算机(PC)、小型机、大型计算机等等。本发明也可以在其中任务由通过通信网络链接(通过硬连线链路、无线链路、或者通过硬连线或无线链路的组合)的本地和远程处理设备来执行的分布式计算环境中实施。在分布式计算环境中,程序模块既可以位于本地也可以位于远程存储器存储设备中。
本发明范围之内的实施例还包括用于承载或其上具有计算机可执行指令或数据结构的计算机可读介质。此类计算机可读介质可以是能由通用或专用计算机访问的任何可用介质。作为示例而非限制,此类计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储设备、或可用于以计算机可执行指令或数据结构形式来传送或存储期望的程序代码装置并可由通用或专用计算机访问的任意其它介质。当信息通过网络或另一通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机适当地将该连接视为为计算机可读介质。因此,任意此类连接被适当地称为计算机可读介质。以上的组合也应该包含在计算机可读介质的范围之内。计算机可执行指令包括,例如,可以使通用计算机、专用计算机、或专用处理设备执行特定功能或功能组的指令和数据。
尽管以对结构特征和/或方法动作专用的语言描述了该主题,但应该理解,在所附权利要求中定义的本主题不必限于以上所述的具体特征或动作。相反,以上所述的具体特征和动作是作为实现权利要求书的示例形式而公开的。
本发明可以用其它具体形式来实施而不脱离其精神或本质特性。所描述的实施例在所有方面都被认为是仅仅作为说明而非限制。因此,本发明的范围是由所附权利要求书而非前面的描述来指示的。落入权利要求书的等效技术方案的含义和范围内内的所有改变都被包含在其范围之内。

Claims (20)

1.一种在包括一个或多个联网计算机的计算机网络中的计算机系统处的高速缓存和共享文件的方法,所述方法包括以下动作:
构建包括来自所述一个或多个联网计算机中的潜在对等服务器的列表的对等点列表(202),所述对等点列表包括不多于预定数量的潜在对等服务器;
向所述对等点列表中的潜在对等服务器查询文件(116)或文件部分(206);
从所述对等点列表中的对等服务器接收所述对等服务器具有可供下载的所述文件(116)或文件部分的消息(208);以及
从所述对等服务器下载所述文件(116)或文件部分(210)。
2.如权利要求1所述的方法,其特征在于,构建对等点列表(202)包括以下动作:
发送征求请求;以及
接收来自潜在对等点(102-110)的回复。
3.如权利要求0所述的方法,其特征在于,发送征求请求包括对所需对等点数量的指示,并且其中,接收回复包括接收来自等待随机短时间间隔、监听其他潜在对等点(102-110)的组播回复并且在所期望数目的对等点已经回复的情况下不回复的潜在对等点(102-110)的回复。
4.如权利要求0所述的方法,其特征在于,所述等待随机短时间间隔的潜在对等点(102-110)利用对数随机延迟来确定回复前等待的时间量。
5.如权利要求0所述的方法,其特征在于,所述发送和接收是对同一子网上的计算机完成的。
6.如权利要求0所述的方法,其特征在于,还包括通过发送征求请求来构建第二对等点列表(120);以及接收来自第二子网上的计算机的回复。
7.如权利要求1所述的方法,其特征在于,构建对等点列表(202)包括以下动作:
接收来自潜在对等点(102-110)的带有组播分组的自我通告,其中所述自我通告包括所述潜在对等点(102-110)具有可供应给所述网络上计算机的文件的指示;以及
将所述潜在对等点(102-110)添加至所述对等点列表。
8.如权利要求1所述的方法,其特征在于,还包括当所述对等点列表中的条目过时或以其它方式不可用时,重复所述构建对等点列表的动作。
9.如权利要求0所述的方法,其特征在于,发送征求请求包括信任组。
10.如权利要求1所述的方法,其特征在于,所述构建对等点列表(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)。
CN200680031311.8A 2005-08-30 2006-08-03 网络中文件的分布式高速缓存 Expired - Fee Related CN101253488B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/215,621 US7512943B2 (en) 2005-08-30 2005-08-30 Distributed caching of files in a network
US11/215,621 2005-08-30
PCT/US2006/030445 WO2007027361A2 (en) 2005-08-30 2006-08-03 Distributed caching of files in a network

Publications (2)

Publication Number Publication Date
CN101253488A true CN101253488A (zh) 2008-08-27
CN101253488B CN101253488B (zh) 2010-06-02

Family

ID=37805841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680031311.8A Expired - Fee Related CN101253488B (zh) 2005-08-30 2006-08-03 网络中文件的分布式高速缓存

Country Status (11)

Country Link
US (1) US7512943B2 (zh)
EP (1) EP1922615B1 (zh)
JP (1) JP4943437B2 (zh)
KR (1) KR101322947B1 (zh)
CN (1) CN101253488B (zh)
BR (1) BRPI0614925B1 (zh)
CA (1) CA2616916A1 (zh)
MX (1) MX2008002505A (zh)
NO (1) NO20080273L (zh)
RU (1) RU2413981C2 (zh)
WO (1) WO2007027361A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011091720A1 (zh) * 2010-01-28 2011-08-04 深圳市同洲电子股份有限公司 一种分布式缓存控制方法、装置及系统
CN102752335A (zh) * 2011-04-22 2012-10-24 中兴通讯股份有限公司 对等叠加网中节点过负荷信息订阅方法及系统
CN113660168A (zh) * 2021-10-19 2021-11-16 上海柯林布瑞信息技术有限公司 一种多中心研究数据的处理方法、装置和服务器

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007122609A (ja) * 2005-10-31 2007-05-17 Ricoh Co Ltd 構造化文書、コンテンツ配信サーバ装置及びコンテンツ配信システム
US7761503B2 (en) * 2006-01-06 2010-07-20 Microsoft Corporation Peer distribution point feature for system management server
GB0600348D0 (en) * 2006-01-10 2006-02-15 Ibm Updating of data processing and communication devices
US20070245323A1 (en) * 2006-04-13 2007-10-18 Apple Computer, Inc. Sharing compiled versions of files
US8156132B1 (en) 2007-07-02 2012-04-10 Pinehill Technology, Llc Systems for comparing image fingerprints
US7774385B1 (en) 2007-07-02 2010-08-10 Datascout, Inc. Techniques for providing a surrogate heuristic identification interface
US7801868B1 (en) * 2006-04-20 2010-09-21 Datascout, Inc. Surrogate hashing
US7840540B2 (en) 2006-04-20 2010-11-23 Datascout, Inc. Surrogate hashing
US7814070B1 (en) * 2006-04-20 2010-10-12 Datascout, Inc. Surrogate hashing
US7991206B1 (en) 2007-07-02 2011-08-02 Datascout, Inc. Surrogate heuristic identification
US8549022B1 (en) 2007-07-02 2013-10-01 Datascout, Inc. Fingerprint generation of multimedia content based on a trigger point with the multimedia content
US9020964B1 (en) 2006-04-20 2015-04-28 Pinehill Technology, Llc Generation of fingerprints for multimedia content based on vectors and histograms
US8463000B1 (en) 2007-07-02 2013-06-11 Pinehill Technology, Llc Content identification based on a search of a fingerprint database
WO2008033424A2 (en) * 2006-09-12 2008-03-20 Foleeo, Inc. Hive-based peer-to-peer network
US7953083B1 (en) 2006-12-12 2011-05-31 Qurio Holdings, Inc. Multicast query propagation scheme for a peer-to-peer (P2P) network
US8996484B2 (en) * 2007-02-13 2015-03-31 Red Hat, Inc. Recursive lock-and-propagate operation
US8316364B2 (en) * 2007-02-28 2012-11-20 Red Hat, Inc. Peer-to-peer software update distribution network
KR101409991B1 (ko) * 2007-04-16 2014-06-20 삼성전자주식회사 P2p 통신 환경에서의 데이터 전송 방법 및 장치
US8201164B2 (en) * 2007-07-20 2012-06-12 Microsoft Corporation Dynamically regulating content downloads
JP5007624B2 (ja) * 2007-08-10 2012-08-22 ブラザー工業株式会社 コンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラム
US8281298B2 (en) 2007-08-27 2012-10-02 International Business Machines Corporation Evaluating computer driver update compliance
GB2452325A (en) * 2007-08-31 2009-03-04 Sony Corp Method and system for distributing software to a portable device using software on a pre-recorded medium.
US8886803B1 (en) 2007-09-20 2014-11-11 Qurio Holdings, Inc. Dynamic query response in a distributed network
WO2009095461A1 (en) * 2008-01-30 2009-08-06 International Business Machines Corporation Method and system of updating a plurality of computers
US7599997B1 (en) 2008-08-01 2009-10-06 Gene Fein Multi-homed data forwarding storage
US7636759B1 (en) * 2008-09-29 2009-12-22 Gene Fein Rotating encryption in data forwarding storage
US7636761B1 (en) * 2008-09-29 2009-12-22 Gene Fein Measurement in data forwarding storage
US9203928B2 (en) 2008-03-20 2015-12-01 Callahan Cellular L.L.C. Data storage and retrieval
US8458285B2 (en) * 2008-03-20 2013-06-04 Post Dahl Co. Limited Liability Company Redundant data forwarding storage
US20090252071A1 (en) * 2008-04-02 2009-10-08 Nokia Corporation Method and deevice for network messaging
US8386585B2 (en) * 2008-04-25 2013-02-26 Tajitshu Transfer Limited Liability Company Real-time communications over data forwarding framework
US8452844B2 (en) * 2008-05-07 2013-05-28 Tajitshu Transfer Limited Liability Company Deletion in data file forwarding framework
US9198017B2 (en) * 2008-05-19 2015-11-24 Qualcomm Incorporated Infrastructure assisted discovery in a wireless peer-to-peer network
US9848314B2 (en) * 2008-05-19 2017-12-19 Qualcomm Incorporated Managing discovery in a wireless peer-to-peer network
US9237086B2 (en) * 2008-05-30 2016-01-12 Genband Us Llc Methods and apparatus for network traffic distribution based on random number values
US8769277B2 (en) * 2008-06-23 2014-07-01 Microsoft Corporation Content retrieval
US8599678B2 (en) 2008-07-10 2013-12-03 Tajitshu Transfer Limited Liability Company Media delivery in data forwarding storage network
US8370446B2 (en) 2008-07-10 2013-02-05 Tajitshu Transfer Limited Liability Company Advertisement forwarding storage and retrieval network
US8352635B2 (en) * 2008-09-29 2013-01-08 Tajitshu Transfer Limited Liability Company Geolocation assisted data forwarding storage
US8478823B2 (en) 2008-09-29 2013-07-02 Tajitshu Transfer Limited Liability Company Selective data forwarding storage
US7685248B1 (en) * 2008-09-29 2010-03-23 Gene Fein User interface in data forwarding network
US7961741B2 (en) * 2008-10-23 2011-06-14 Silver Spring Networks, Inc. Rapid dissemination of bulk information to widely dispersed network nodes
EP2234375A1 (en) * 2009-03-24 2010-09-29 Thomson Licensing device and method for controlling dissemination of content data between peers in a P2P mode, by using a two-level randomized peer overlay and a dynamic unchoke mechanism
JP2012088955A (ja) * 2010-10-20 2012-05-10 Nec Corp データ複製システム、データ複製サーバ、データ複製方法、及び、データ複製プログラム
US8681758B2 (en) 2010-12-14 2014-03-25 Symbol Technologies, Inc. Video caching in a wireless communication network
EP2477377A1 (en) * 2011-01-14 2012-07-18 Alcatel Lucent Peer node and method for improved peer node selection
EP2681869B1 (en) * 2011-02-28 2018-01-31 Bittorrent, Inc. Peer-to-peer live streaming
US20130007218A1 (en) * 2011-06-28 2013-01-03 Cisco Technology, Inc. Network Assisted Tracker for Better P2P Traffic Management
US20130073671A1 (en) * 2011-09-15 2013-03-21 Vinayak Nagpal Offloading traffic to device-to-device communications
US20130156030A1 (en) * 2011-12-16 2013-06-20 Jeremy Johnson Rapid dissemination of information to widely dispersed network nodes via patch
US9432452B2 (en) 2012-09-10 2016-08-30 Joosy, Inc. Systems and methods for dynamic networked peer-to-peer content distribution
JP5971065B2 (ja) * 2012-09-28 2016-08-17 富士通株式会社 通信方法、無線端末および通信システム
JP5487273B1 (ja) * 2012-10-26 2014-05-07 日本電信電話株式会社 情報伝達装置及びそのプログラム
CN104202362B (zh) * 2014-08-14 2017-11-03 上海帝联信息科技股份有限公司 负载均衡系统及其内容分发方法和装置、负载均衡器
US10462249B2 (en) * 2014-08-25 2019-10-29 Super Micro Computer, Inc. Globally distributed virtual cache for worldwide real-time data access
CN104461940A (zh) * 2014-12-17 2015-03-25 南京莱斯信息技术股份有限公司 网络虚拟磁盘客户端高效缓存及延迟写入方法
US10491512B2 (en) * 2015-05-20 2019-11-26 Qualcomm Incorporated Supporting packet query-response transactions at lower layer
US10693720B2 (en) * 2017-04-10 2020-06-23 Cisco Technology, Inc. Distribution of updates in an IoT network
US11553014B2 (en) * 2017-07-04 2023-01-10 Vmware, Inc. Downloading of server-based content through peer-to-peer networks

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128295A (en) * 1997-07-11 2000-10-03 Telefonaktiebolaget Lm Ericsson Buffering of point-to-point and/or point-to-multipoint ATM cells
EP0993163A1 (en) * 1998-10-05 2000-04-12 Backweb Technologies Ltd. Distributed client-based data caching system and method
US20020062336A1 (en) * 2000-11-22 2002-05-23 Dan Teodosiu Resource coherency among resources cached in a peer to peer environment
US7035911B2 (en) * 2001-01-12 2006-04-25 Epicrealm, Licensing Llc Method and system for community data caching
US7197565B2 (en) * 2001-01-22 2007-03-27 Sun Microsystems, Inc. System and method of using a pipe advertisement for a peer-to-peer network entity in peer-to-peer presence detection
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
JP2004537080A (ja) * 2001-01-25 2004-12-09 デービッド・シドマン 情報アクセスを追跡するための装置、方法及びシステム
US6983326B1 (en) * 2001-04-06 2006-01-03 Networks Associates Technology, Inc. System and method for distributed function discovery in a peer-to-peer network environment
JP2002318720A (ja) * 2001-04-19 2002-10-31 Oki Electric Ind Co Ltd コンテンツ配信管理システム
US20030009570A1 (en) * 2001-07-03 2003-01-09 International Business Machines Corporation Method and apparatus for segmented peer-to-peer computing
US7003514B2 (en) * 2001-09-13 2006-02-21 International Business Machines Corporation Method and apparatus for restricting a fan-out search in a peer-to-peer network based on accessibility of nodes
JP3997774B2 (ja) * 2001-12-11 2007-10-24 ソニー株式会社 データ処理システム、データ処理方法、および情報処理装置、並びにコンピュータ・プログラム
US7117264B2 (en) 2002-01-10 2006-10-03 International Business Machines Corporation Method and system for peer to peer communication in a network environment
US7574488B2 (en) * 2002-05-31 2009-08-11 Hitachi, Ltd. Method and apparatus for peer-to-peer file sharing
US20030233455A1 (en) * 2002-06-14 2003-12-18 Mike Leber Distributed file sharing system
JP2004127168A (ja) * 2002-10-07 2004-04-22 Sony Corp 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム
EP1429513A1 (en) * 2002-12-09 2004-06-16 Koninklijke Philips Electronics N.V. Method and apparatus for searching data in a peer to peer network
US7558875B2 (en) 2003-09-15 2009-07-07 Microsoft Corporation Measurement-based construction of locality-aware overlay networks
US20050076092A1 (en) * 2003-10-02 2005-04-07 Sony Corporation And Sony Electronics Inc. User shared virtual channel via media storage
US7660889B2 (en) * 2003-11-18 2010-02-09 Cisco Technology, Inc. Initialization and acquisition of peers in a peers' list in a peer-to-peer network
US8239446B2 (en) * 2003-11-19 2012-08-07 Sony Computer Entertainment America Llc Content distribution architecture
US7627644B2 (en) * 2003-11-28 2009-12-01 Canon Kabushiki Kaisha Recipient-centred proactive caching in a peer-to-peer system
US7342900B2 (en) * 2004-05-19 2008-03-11 Hewlett-Packard Development Company, L.P. Apparatus and method for estimating device availability
US20060212542A1 (en) * 2005-03-15 2006-09-21 1000 Oaks Hu Lian Technology Development Co., Ltd. Method and computer-readable medium for file downloading in a peer-to-peer network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011091720A1 (zh) * 2010-01-28 2011-08-04 深圳市同洲电子股份有限公司 一种分布式缓存控制方法、装置及系统
CN102752335A (zh) * 2011-04-22 2012-10-24 中兴通讯股份有限公司 对等叠加网中节点过负荷信息订阅方法及系统
CN113660168A (zh) * 2021-10-19 2021-11-16 上海柯林布瑞信息技术有限公司 一种多中心研究数据的处理方法、装置和服务器
CN113660168B (zh) * 2021-10-19 2021-12-31 上海柯林布瑞信息技术有限公司 一种多中心研究数据的处理方法、装置和服务器

Also Published As

Publication number Publication date
KR101322947B1 (ko) 2013-10-29
RU2008107742A (ru) 2009-09-10
JP4943437B2 (ja) 2012-05-30
US20070050761A1 (en) 2007-03-01
RU2413981C2 (ru) 2011-03-10
CA2616916A1 (en) 2007-03-08
BRPI0614925B1 (pt) 2018-04-24
MX2008002505A (es) 2008-04-07
WO2007027361A2 (en) 2007-03-08
US7512943B2 (en) 2009-03-31
CN101253488B (zh) 2010-06-02
EP1922615B1 (en) 2016-06-15
BRPI0614925A2 (pt) 2011-04-19
KR20080047353A (ko) 2008-05-28
JP2009506455A (ja) 2009-02-12
EP1922615A4 (en) 2009-09-02
EP1922615A2 (en) 2008-05-21
NO20080273L (no) 2008-03-31
WO2007027361A3 (en) 2008-01-24

Similar Documents

Publication Publication Date Title
CN101253488B (zh) 网络中文件的分布式高速缓存
CN101068245B (zh) 共享文件的发布、下载方法及文件共享可控系统
US8560654B2 (en) Change management
Dawson et al. SKMA-A key management architecture for SCADA systems
US20060056630A1 (en) Method to support secure network booting using quantum cryptography and quantum key distribution
CN105247529A (zh) 在目录服务之间同步凭证散列
CN101193103B (zh) 一种分配和验证身份标识的方法及系统
KR20020079425A (ko) 피어 투 피어 네트워크 환경내에서 자원들을 안전하고검증가능하게 공유하는 시스템 및 방법
CN103001965A (zh) 服务器证书更新方法及服务器
JP2011160210A (ja) 通信端末及び通信システム
WO2023077796A1 (zh) 骨干节点接入方法和区块链系统
CN105225072A (zh) 一种多应用系统的访问管理方法及系统
CN102984045A (zh) 虚拟专用网的接入方法及虚拟专用网客户端
CN101325611A (zh) 一种点对点下载的方法及装置
CN102263784A (zh) 单点登录方法及系统
WO2001049004A1 (en) Use of beacon message in a network for classifying and discarding messages
Tsai et al. An efficient blockchain-based firmware update framework for iot environment
Long et al. A key management architecture and protocols for secure smart grid communications
CN116112506A (zh) 基于联盟链系统的交易信息处理方法、装置、介质及设备
Wang et al. Poster: Enabling cost-effective blockchain applications via workload-adaptive transaction execution
KR101029205B1 (ko) 네트워크 디바이스에서의 로컬 커뮤니티 표현을 관리하기위한 안전한 분산 시스템
EP3437289B1 (en) Untrusted code distribution
Misra et al. Geographic server distribution model for key revocation
Vaidya et al. Decentralized File Sharing
Li et al. Research on software upgrade in a large-scale network

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150513

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150513

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100602

Termination date: 20200803

CF01 Termination of patent right due to non-payment of annual fee