CN1151448C - 可扩缩的超高速缓存检索方法 - Google Patents
可扩缩的超高速缓存检索方法 Download PDFInfo
- Publication number
- CN1151448C CN1151448C CNB991231724A CN99123172A CN1151448C CN 1151448 C CN1151448 C CN 1151448C CN B991231724 A CNB991231724 A CN B991231724A CN 99123172 A CN99123172 A CN 99123172A CN 1151448 C CN1151448 C CN 1151448C
- Authority
- CN
- China
- Prior art keywords
- node
- cache
- request
- memory device
- buffer memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1019—Random or heuristic server selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Abstract
从由多个节点组成的系统中的一个或多个客户接收对对象的请求。从一个客户发送一个请求。所述多个节点的第二节点接收来自所述多个节点的第一节点接收的请求。利用多种协议之一从多个节点的第二节点回送被请求对象。该方法可应用到可扩缩的和高利用的超高速缓存阵。该超高速缓存阵可增强和诸如因特网的网络连接的Web服务器的性能和吞吐量。网络调度器可把请求发送到超高速缓存阵的超高速缓存节点。网络调度器选择的超高速缓存节点或为请求服务、或把请求转交到超高速缓存阵的另一个超高速缓存节点、或经多种协议之一和超高速缓存的另一节点通信以共同为请求服务。网络调度器还可充当基于内容的路由器,从而可能利用基于内容的和不基于内容的路由选择的组合路由请求以进一步改进系统性能。
Description
技术领域
本发明一般地涉及超高速缓存系统。本发明尤其涉及计算机网络中的可扩缩的和高利用的超高速缓存。此外,本发明涉及一种应用于客户/服务器环境,尤其例如万维网环境的超高速缓存阵列。
技术背景
为改进计算机系统的性能常常使用超高速缓存。一旦把一个对象存储到超高速缓存器中,对该超高速缓存的对象的随后请求可由该超高速缓存器满足。和从远程位置再生或检索该对象相比,从超高速缓存器满足对对象的请求可带来较少的开销。对Web服务日益增加的需求带来的慢性能可能会使Web服务器变成低效的或者不可用的。
超高速缓存提供一种应付不断增加Web服务和Proxy服务吞吐量的要求的方法。例如万维网上的客户和服务器系统可利用超高缓存改进性能。在一些情况下,没有超高速缓存的帮助可能会很慢地和低效地执行Web服务器应用程序。不利用超高速缓存方法,Web服务器可能成为系统瓶颈。在某Web服务器上运行的基础操作系统例如可能会有妨碍该Web服务器的吞吐量的性能问题。一种用于改进Web服务器的性能的技术是把经常请求的数据(例如,Web页面)存储在超高速缓存器中。从超高速缓存器检索数据所需的开销可少于从Web服务器检索数据所需的开销。
发明内容
在适用于从一个或多个客户接收诸对象请求的系统中,所述系统由多个节点组成。一种用于检索所述诸对象的被请求对象的方法,所述方法包括步骤:(a)从所述客户中的一个发送所述请求之一,(b)由所述多个节点中的另一个节点接收来自所述多个节点的一个节点的所述请求,其中所述一个节点包括多个超高速缓存中的至少一个,所述另一个节点包括所述多个超高速缓存中的至少一个;以及(c)利用多种协议中的一种从所述多个节点的所述另一个节点回送所述被请求对象。
一种检索多个对象中的一个目标对象的方法,该目标对象是由一个用户请求的,所述方法包括步骤:(a)把多个对象中的每个对象分配给多个节点的至少一个节点;(b)把多个超高速缓存中的至少一个分配给多个节点中的至少一个节点;(c)把对该目标对象的请求发送到该多个节点中的第一节点;(d)判定是否把该目标对象分配给了第一节点;以及(e)若未把该目标对象分配给第一节点;(i)把该请求发送到该多个节点中的第二节点,第二节点分配着该目标对象,以及(ii)若该目标对象存储在该多个超高速缓存中和第二节点关联的超高速缓存中,利用多种协议中的一种从和第二超高速缓存关联的超高速缓存中检索该目标对象。
根据各附图阅读下列详细说明将对本发明得到最好的理解。要强调的是,根据通常的习惯,附图的各细节不是按尺度的。反之,出于清晰,各细节的尺度任意扩大或缩小。其中:
附图说明
图1(a)是依据本发明的一种实施例的示例计算机网络系统的框图;
图1(b)是依据本发明的示范实施例检索被请求对象的方法的流程图;
图2是一个框图,说明依据本发明的示范实施例在命中某超高速缓存器成员和命中超高速缓存阵列的情况下检索被请求对象的方法;
图3是一个框图,说明依据本发明的示范实施例在命中某超高速缓存器成员但未命中某超高速缓存阵列的情况下检索被请求对象的方法;
图4至图7是框图,说明依据本发明的示范实施例在未命中超高速缓存器成员情况下检索被请求对象的方法;以及
图8是一个框图,说明依据本发明的示范实施例在基于内容进行路由选择情况下检索被请求对象的方法。
具体实施方式
术语表
尽管本文中各术语仍蕴含着词典含义,下述定义可能是有帮助的。
客户
客户计算机典型地向一个或多个执行与命令和/或请求关联的任务的服务器发出命令和/或请求。
服务器
服务器是在一个或多个客户计算机的命令和/或请求下执行某任务的计算机。万维网(Web)
通过提供从服务器到服务器超链接链接文档的因特网服务。用户通过点击亮度增强的感兴趣的词组或短语(超文本链接)、点击诸如小应用程序或图象图的图形、填表和输入URL可在文档间“跳跃”。无论文档存储在因特网上的何处,用户能在文档间“跳跃”。因特网Web服务器支持用户并且提供信息。用户利用客户程序“浏览Web”。可把Web当作带有用URL定址的资源、并且使用HTTP协议在计算机之间传送信息的因特网。可利用HTML(除别的格式之外)显示和URL相对应的信息并且提供对其它URL的点击接口。
统一资源定位符(URL)
因特网上资源的地址。Web浏览器利用URL定位因特网资源。URL规定访问资源时所采用的协议(例如http:用于万维网页面或者ftp:用于FTP网点),在其上驻留资源的服务器名(例如//www.whitehouse.gov),以及任选的至某资源的通路(例如HTML文档或该服务器上的文件)。
超文本标记语言(HTML)
该标记语言用于万维网上的文档。HTML是SGML(标准广义标记语言)的一种应用,其利用标志标记文档中的元素,例如文本和图形,以指示Web浏览器应如何向用户显示这些元素以及应如何响应用户通过键击或鼠标点击发出的例如激励某键击的动作。HTML是Web服务器上内容的与设备无关的表达。Web服务器可在相信客户会选择适当的表达下以HTML向客户发送内容(包括超链接)。
超文本传输协议(HTTP)
该客户/服务器协议用于访问万维网上的信息。HTTP是无状态协议的一种例子。换言之、独立地处理每个从客户到服务器的请求。利用该协议客户向服务器发送请求并且服务器用该协议应答。
用户数据报协议(UDP)
TCP/IP内的一种无连接协议,其对应于ISO/OSI模型中的传送层。UDP把应用程序生成的数据报文转换成经IP发送的分组,但可能不验证报文被正确地发送。从而,UDP可能比TCP更为有效,因此它可用于各种用途,包括SNMP(简单网络管理协议);其可靠性可能取决于生成报文的应用程序。
路由器
通信网络上加快报文传送的中间设备。在通过各种可能连接的网格连接许多计算机的单网络中,路由器接收被发送的报文并且沿着可得到的最有效路由把报文发送到它们的正确目的地上。在采用相同通信协议的互连局域网(LAN)集中,路由器为有些困难的动作功能充当LAN之间的链接,实现报文从一个LAN发送到另一个LAN。
Web浏览器
一种能使用户查看万维网、其它网络或或用户计算机上的HTML(或其它)文档、追踪文档之间超链接并传送文件的客户应用程序。
传输控制协议(TCP)
TCP/IP内的协议,其管理把数据报文分解成经IP发送的分组并且从通过IP接收的分组重组成完整的报文并进行验证。TCP对应于ISO/OSI模型中的传送层。
网际协议(IP)
TCP/IP内的协议,其管理把数据报文分解成分组、对从发送方到目的地网络和网站进行路由选择并且在目的地把各分组重组成原始数据报文。IP对应于ISO/OSI模型中的网络层。
TCP/IP
由美国国防部开发的用于在计算机之间通信的一种协议。它建立在UNIX系统中并且事实上已成为网络(包括因特网)上数据传输的标准。
代理服务器
管理对和从局域网(LAN)的因特网业务的部件,并可提供其它性能,例如文档超高速缓存和存取控制。代理服务器可以通过提供频繁请求的数据,例如大众的Web网页,改进性能,并且可以滤掉和丢弃物主未适当考虑的请求,例如未授权下对专有文件的访问请求。
超高速缓存器
专用存储器子系统,其中复制常使用的数据以供快速访问。
对象
对象是可存储在超高速缓存器、服务器或客户机中的数据。
图1(a)示出一个示例性的计算机网络系统,包括:客户110、120和130,网络150,网络调度器160,超高速缓存器组170以及服务器组180。超高速缓存器组170包括超高速缓存器节点172、174、176和178。服务器组180包括服务器(“后端”)服务器182、184、186和188。客户计算机110、120和130发出对例如Web页的对象的请求。
图1(b)是依据本发明的示范实施例检索被请求对象的方法的流程图。在步骤190某客户,例如客户110,请求可能由某服务器,例如服务器182,存储(或生成或取出)的一个对象。在步骤192,经例如网络150的网络该对对象的请求由网络调度器,例如网络调度器160,接收。在步骤194,网络调度器160把该对对象的请求路由到一个超高速缓存器节点,例如超高速缓存器172。在步骤196,判定步骤194中从网络调度器160接收该对对象请求的超高速缓存器172是否是该对象的主物主(primary owner)。若在步骤194从网络调度器160接收该对对象请求的超高速缓存器172是主物主,则超高速缓存器172可在步骤197为该客户请求服务。反之,在步骤198,超高速缓存器172和主物主可充当代理(例如通过HTTP或UDP接口)以为该请求服务并检索被请求的对象,或者超高速缓存器172可把该请求转交给主物主。在步骤197和198,主物主从超高速缓存器或通过和服务器182的通信检索被请求的对象。请注意,一般的业内人员可修改本发明以使多于一个的超高速缓存器可以是一个对象的主物主。
客户110、120和130可以是和因特网连接的工作站、个人计算机或别的计算机。例如,一个在家里使用个人计算机的用户可通过用Web浏览器输入相应的URL请求检索和观看某Web网页。由该URL定址的被请求Web网页可能属于可通过因特网上的Web服务访问的服务器。
超高速缓存器组170可以是一个或多个网络节点。超高速缓存器组170中所包括的每个节点可以是一个或多个处理机。超高速缓存组170的每个节点的每个处理机可包括一组一个或多个超高速缓存部件(超高速缓存器节点组),它们可形成单个超高速缓存空间和单个超高速缓存映象。换言之,客户可把一个超高速缓存器阵看成是单个映象。例如,客户可通过和网络调度器160相关的地址访问超高速缓存器组170,而超高速缓存器组170中的每个节点可具有一个独立的IP地址。超高速缓存器组可在内部把各个超高速缓存部件的资源组合起来。例如,可以把超高速缓存部件的超高速缓存空间组合起来以改变可用于超高速缓存的存储器空间。此外,还可以组合超高速缓存部件的各吞吐量以改变可使用的吞吐量。通过不同的地址(例如IP地址)可在超高速缓存器组170内部对超高速缓存部件172、174、176和178定址。例如,可通过一个路由器实现超高速缓存节点(件)172、174、176和178。例如可采用IBM22XX路由器系列中的路由器。
网络调度器160例如可在TCP路由器上实现。当网络调度器160从一个客户,例如客户110,接收请求时,网络调度器可在不“查看”该请求下把该请求路由到超高速缓存器组170中的某个超高速缓存节点。网络调度器160例如可以是路由器节点的业务,以把对Web网页(或别的对象)的客户请求路由到超高速缓存器组170。网络调度器160可得到有关超高速缓存器组170的各超高速缓存节点172、174、176、178的可使用性及负载信息。网络调度器160还可根据超高速缓存节点的可用性以及负载信息向选定的超高速缓存节点路由并发送对对象的请求(例如参加,G.Hunt等的“网络调度器:用于可扩缩因特网服务的连接路由器”,第七届国际万维网会议预告集,1998年4月)。
在超高速缓存节点和被请求对象之间可形成一种对应。被请求对象可对应到为该被请求对象的主物主的某超高速缓存节点,或者对应到别的超高速缓存节点。例如,用URL表达的因特网地址可在若干Web超高速缓存节点之中分配。对于每个URL,可把一个Web超高速缓存节点指定为主物主。除主物主之外的一个或多个Web超高速缓存节点也可和单个URL对应。例如利用散列函数在若干Web超高速缓存节点中分配各URL。换言之,可利用散列函数形成超高速缓存节点和被请求对象之间的对应。
当客户110、120或130发送检索某对象(即目标对象)的请求时,网络调度器160把该请求路由并发送到超高速缓存器组170中的第一超高速缓存器。被网络调度器160选择的第一超高速缓存器可能对应于或不对应该被请求的对象。换言之,可能把或者未把该被请求对象分配给该第一超高速缓存器。若由网络调度器160选择的第一超高速缓存器对应于被请求的对象(即它是被请求对象的主物主)并且被请求对象存储在第一超高速缓存器中,则第一超高速缓存器可服务该请求。若由网络调度器160选择的第一超高速缓存器和被请求对象对应(即它是被请求对象的主物主)但被请求对象未存储在第一超高速缓存器中,则第一超高速缓存器可从服务器群180的适当服务器182、184、186或188检索被请求对象。
例如,假定某用户利用客户机上的Web浏览器请求检索和观看某Web网页。该被请求的Web网页可用某URL定址并存储在与网络连接的某服务器中。网络调度器160选择超高速缓存器组170的第一超高速缓存节点。网络调度器160把对该Web网页的请求路由到第一超高速缓存节点。若被请求的Web网页存储在第一超高速缓存中,则第一超高速缓存节点可从超高速缓存器检索该Web网页,并且向该客户机回送该Web网页。若第一超高速缓存节点是被请求Web网页的主物主,但该Web网页未存储在第一超高速缓存节点中,则第一超高速缓存节点可访问通过URL定址的适当服务器,从该服务器检索该Web网页,并把该Web网页回送到客户机。
然而,若网络调度器160选择的第一超高速缓存器不对应于被请求对象(即它不是被请求对象的主物主),则第一超高速缓存器可把该请求发送到和该被请求对象对应的第二超高速缓存器(即第二超高速缓存器是被请求对象的主物主)。第一和第二超高速缓存器可进行通信,以对请求服务并检索被请求对象。替代地,第一超高速缓存器可把该请求转交给第二超高速缓存器。在转交的情况下,可从第一超高速缓存器把该请求以及和TCP连接有关的信息(例如,序号、IP地址和TCP端口)发送到超高速缓存器组170的第二超高速缓存器。
例如可以根据被请求对象的大小做出是使第一和第二超高速缓存器通信来为请求服务还是使第一超高速缓存器把请求转交给第二超高速缓存器的决策。
例如,可遵循下述规则:
1.若被请求对象的大小小于阈尺寸,则第二超高速缓存器把被请求对象发送给第一超高速缓存器。第二超高速缓存器从超高速缓存器或与适当的服务器通信检索被请求对象。接着第一超高速缓存器可通过向请求客户发送被请求对象为该请求服务。
2.若被请求对象的大小大于阈尺寸,则第一和第二超高速缓存器相协调以转交该请求:
(i)从第一超高速缓存器向第二超高速缓存器转交TCP连接;
(ii)通知网络调度器160将由第二超高速缓存器对该请求服务(请注意还可通知网络调度器160把对某对象的以后请求发送到第二超高速缓存器);
(iii)第二超高速缓存器从超高速缓存器或者与适当服务器的通信检索被请求对象,并把被请求对象发送到请求客户。
请注意可动态地调整或改变阈尺寸。
在这种类型的示例协调下,第二超高速缓存器可存储用于执行TCP转交(接管)和/或HTTP转交(接管)的信息字段。最初从网络调度器160接收请求的第一超高速缓存可等待,直至第二超高速缓存器(被请求对象的主物主)向第一超高速缓存器发送被请求对象或者通知第一超高速缓存器由第二超高速缓存器对该请求服务。从而,上面说明的这种类型的示例协调可由被请求对象的主物主驱动。
当网络调度器160向是被请求对象的主物主的第一超高速缓存器传送连接请求时,出现超高速缓存部件命中。若例如网络调度器160采用循环方案,则某特定超高速缓存部件被选择的概率是均匀分布的(即在n个超高速缓存部件的情况下概率为1/n)。此外,网络调度器160可访问和被请求对象相关的寻址信息(例如URL),但这是以明显的开销为代价的。这样,网络调度器160可访问足够的信息以确定和服务器群集180相关的超高速缓存器组170,接着随机地选择一个超高速缓存部件。若向网络调度器160提供负载及可用性信息,可对选择某特定超高速缓存器的可能加权。换言之,若一个超高速缓存器负载重,则较少地选择它,并可更经常地选择其余的超高速缓存部件。
当超高速缓存器组170可从一个超高速缓存部件172、174、176、178的超高速缓存空间为某对象的请求服务时,出现超高速缓存器阵击中。从而有可能同时出现超高速缓存部件命中和超高速缓存器阵未命中。例如,网络调度器160可能选择是被请求对象的主物主的一个超高速缓存部件,但该被请求对象的主物主并不在超高速缓存器中具有被请求对象。这样,在超高速缓存部件命中及超高速缓存器阵未命中的情况下,主物主从服务器检索被请求对象。
另外,可同时出现超高速缓存部件未命中和超高速缓存器命中。例如,网络调度器160可能选择一个不是被请求对象的主物主的超高速缓存部件,但该被请求对象的主物主,即超高速缓存器组170的某超高速缓存部件,在超高速缓存器中具有该被请求对象。
从而,可能出现下列四种情况:
1.超高速缓存部件命中,超高速缓存器阵命中
2.超高速缓存部件命中,超高速缓存器阵未命中
3.超高速缓存部件未命中,超高速缓存器阵命中
4.超高速缓存部件未命中,超高速缓存器阵未命中
另外,可能使用不同的通信协议检索被请求对象。可能取决于是否第一和第二超高速缓存器通信以服务某请求或者是否第一超高速缓存器把某请求转交给第二超高速缓存器,采用不同的协议。例如,可能采用HTTP接口(其中第一超高速缓存器可充当HTTP代理)、基于UDP的请求或转交。
可能出现下列八种情况:
1.超高速缓存部件命中,超高速缓存器阵命中。
2.超高速缓存部件命中,超高速缓存器阵列未命中。
3.超高速缓存部件未命中,超高速缓存器阵命中,
3.1.利用HTTP检索对象,
3.2.利用UDP检索对象,或
3.3.通过转交请求检索对象。
4.超高速缓存部件未命中,超高速缓存器阵未命中,
4.1.利用HTTP检索对象,
4.2.利用UDP检索对象,或
4.3.通过转交请求检索对象。
超高速缓存部件命中
图2和图3是框图,说明依据本发明的示范实施例在超高速缓存部件命中下检索被请求对象的方法。客户110发出经网络150检索某对象的请求。该被请求对象存储在服务器群集180中的一个服务器182、184上或者可由一个服务器182、184生成或取得。经网络150把客户110发出的请求传送到网络调度器160。接着网络调度器160选择第一超高速缓存器,例如超高速缓存器组170的超高速缓存部件172。假定网络调度器160选择的第一超高速缓存器172是被请求对象的主物主,出现超高速缓存部件命中。
图2表示第一超高速缓存器在超高速缓存中具有该被请求的对象(超高速缓存器阵命中)的情况。在该情况中,第一超高速缓存器172可从超高速缓存检索该被请求的对象,并且经网络150把被请求对象发送给客户110。
图3表示第一超高速缓存器在超高速缓存中不具有该被请求的对象(超高速缓存器阵未命中)的情况。在该情况下,第一超高速缓存器172可能先从服务器182检索被请求的对象,并接着经网络150把被请求对象发送给客户110。和超高速缓存部件命中及超高速缓存器阵命中的情况相比,超高速缓存部件命中但超高速缓存器阵未命中情况的系统性能(例如开销和吞吐量)可能下降。
超高速缓存部件未命中-HTTP接口
图4和图5是框图,说明依据本发明的示范实施例在未命中超高速缓存部件情况下检索被请求对象的方法。客户110发出经网络检索某对象的请求。该被请求对象存储在服务器群集180中的一个服务器182、184上或者可由一个服务器182、184生成或取得。经网络150把客户110发出的请求传送到网络调度器160。接着网络调度器160选择第一超高速缓存器,例如超高速缓存器组170的超高速缓存部件172。假定网络调度器选择的第一超高速缓存器172不是被请求对象的主物主,出现未命中超高速缓存部件。请注意在网络调度器160随机地(以均匀分布)选择超高速缓存器组170(带有n个超高速缓存部件)中的第一部件的情况下,未命中超高速缓存部件的概率是(n-1)÷n。
图4表示第二超高速缓存,例如超高速缓存部件176,是被请求对象的主物主并且超高速缓存部件176在超高速缓存器中具有被请求对象(超高速缓存器阵命中)的情况。在该情况下,第一超高速缓存器172可接受和客户110的连接。然后第一超高速缓存器172可确定第二超高速缓存器176并且建立HTTP接口。第一超高速缓存器172和第二超高速缓存器176可通过HTTP接口进行通信以检索被请求对象。第二超高速缓存器176可从超高速缓存器检索被请求对象并把被请求对象发送到第一超高速缓存器172。第一超高速缓存器172可经过网络150把被请求对象发送给客户110。
图5表示第二超高速缓存器176不在超高速缓存器中具有被请求对象(超高速缓存器阵未击中)的情况。在这种情况下,第二超高速缓存器176可先从服务器184检索被请求对象,并接着把被请求对象发送到第一超高速缓存器172。然后第一超高速缓存器172可经网络150把被请求对象发送到客户110。
超高速缓存部件未命中-UDP接口
图4表示第二超高速缓存器,例如超高速缓存部件176是被请求对象的主物主并且超高速缓存部件176在超高速缓存器中具有被请求对象(超高速缓存器阵命中)的情况。在这种情况下,第一超高速缓存器172可接受和客户110的连接。然后第一超高速缓存器172可确定第二超高速缓存器176并且建立UDP接口。第一超高速缓存器172和第二超高速缓存器176可通过UDP接口通信,以检索被请求对象。第二超高速缓存器176可从超高速缓存器检索被请求对象并把被请求对象发送到第一超高速存器172。第一超高速缓存器172可经过网络150把被请求对象发送给客户110。
图5表示第二超高速缓存器176不在超高速缓存器中具有被请求对象(超高速缓存器阵未击中)的情况。在这种情况下,第二超高速缓存器176可先从服务器184检索被请求对象,并接着把被请求对象发送到第一超高速缓存器172。然后第一超高速缓存器172可经网络150把被请求对象发送给客户110。
UDP接口的性能可好于UTTP接口,因为UDP接口可避免带有伴生开销的TCP连接。
超高速缓存部件未命中-转交接口
图6和图7是框图,说明依据本发明的示范实施例在未命中超高速缓存部件情况下检索被请求对象的方法。客户110发出经网络检索某对象的请求。该被请求对象存储在服务器群集180中的一个服务器182、184上或者可由一个服务器182、184生成或取得。经网络150把客户110发出的请求传送到网络调度器160。接着网络调度器160选择第一超高速缓存器,例如超高速缓存器组170的超高速缓存部件172。假定网络调度器选择的第一超高速缓存器172不是被请求对象的主物主,出现未命中超高速缓存部件。
图6表示第二超高速缓存,例如超高速缓存部件176,是被请求对象的主物主并且超高速缓存部件176在超高速缓存器中具有被请求对象(超高速缓存器阵命中)的情况。在该情况下,第一超高速缓存172进行把该请求转交给第二超高速缓存176(例如和TCP连接一起)。接着第二超高速缓存176可从超高速缓存器检索被请求对象并把被请求对象发送到客户110。
图7表示第二超高速缓存器176不在超高速缓存器中具有被请求对象(超高速缓存器阵未击中)的情况。在该情况下,第一超高速缓存172进行把该请求转交给第二超高速缓存176(例如和TCP连接一起)。第二超高速缓存器176可先从服务器184检索被请求对象,并且接着把被请求对象发送到客户110。
超高速缓存器组170可备有几种支持转交接口的性能。首先,超高速缓存器组170的所有超高速缓存部件可用一个群集地址(例如一个IP地址)定址。这样,第一超高速缓存172和第二超高速缓存174都可接收和该群集地址对应的请求,并且对客户110应答。第二,例如可设置一种诸如TCP核心扩展的机制,以实现从第一超高速缓存172(利用一个TCP栈)到第二超高速缓存176(利用第二TCP栈)的转交。在转交期间,可利用第一超高速缓存172和第二超高速缓存176之间的UDP接口传送连接信息。利用UDP接口可帮助改进性能。第三,和TCP接口能力一起,可实施一种用于从第一超高速缓存172向第二超高速缓存176转交HTTP请求的附加机制。第四,可利用网络调度器160支持TCP转交。当从第一超高速缓存172向第二超高速缓存176转交TCP/HTTP连接时,可能需要确保该连接流(从客户到服务器)通过第二超高速缓存176(连接的新物主)。第一超高速缓存172或第二超高速缓存176可指示网络调度器160更新其信息,从而把后继的分组发送到第二超高速存176,而不是发送到第一超高速缓存172。
转交接口下的开销可能高于UDP接口情况下的开销。但是,在UDP或HTTP接口情况下,随着对象大小的增加性能可能明显下降。和UDP或HTTP接口情况不同,转交接口的性能对对象尺寸的增加不太敏感。转交接口性能对对象尺寸增加的敏感性可能类似于超高速缓存部件命中中性能对对象尺寸增加的敏感性。从而,通过对相对大的对象采用转交接口而对相对小的对象采用UDP、HTTP或其它接口,可改进性能。
超高速缓存部件未命中-混合式
可根据被请求对象的大小选择所使用的接口类型(例如,UDP或转交)。可确定尺寸阈值,从而通过对小于该尺寸阈的对象采用一种类型的接口(例如UDP)而对大于该尺寸阈的对象采用另一种类型的接口(例如转交),可改进性能。例如通过对某给定计算机网络和系统测量吞吐量,确定尺寸阈值。
例如,可以对小于2K字节的被请求对象选择UDP接口,而对大于2K字节的被请求对象选择转交接口。例如参照图1(a),假定客户请求一个由服务器186存储或者可由服务器186生成或取得的对象。还假定超高速缓存部件178是被请求对象的主物主。可应用下述示范性规则:
1.由网络调度器160选择的第一超高速缓存部件,比如说超高速缓存部件172,可向第二超高速缓存178发送请求以及例如TCP连接信息。
2.第二超高速缓存178可确定被请求对象的尺寸。被请求对象的尺寸可从超高速缓存器或者在对象不在超高速缓存器中的情况通过与服务器186接触得到确定。
3.若被请求对象的尺寸小于尺寸阈值,第二超高速缓存可把被请求对象发送给第一超高速缓存172。接着第一超高速缓存172可把被请求对象发送给客户110。
4.若被请求对象的尺寸大于尺寸阈值,可在第一超高速缓存172和第二超高速缓存178之间进行转交,例如TCP/HTTP转交。然后第二超高速缓存178可从超高速缓存器或从服务器186检索被请求对象并把被请求对象发送到客户110。
基于内容的路由选择
在这种情况下,图1(a)的网络调度器160可充当图8的基于内容的路由器165。尤其,某个网络调度器,例如在特定方式下运行的图2-7的网络调度器160可充当基于内容的路由器165。例如利用散列函数可在超高速缓存器组170的超高速缓存节点172、174、176、178之间分配被请求对象的地址(例如URL)。换言之,可利用散列函数形成超高速缓存节点和被请求节点之间的对应。被请求对象的地址可被散列。散列函数的输出可以是和一个或多个服务器相关的超高速缓存节点,而该一个或多个服务器可生成或取得被请求对象或者存储着被请求对象。换言之,散列函数的输出可以是作为被请求对象的主物主的超高速缓存部件。这并不必须意味着在超高速节点和服务器之间存在特殊关系。虽然可选择存在一个这样的关系。
当某客户,例如客户110、120、130,请求检索某对象时,基于内容的路由器165可把该请求以及例如TCP连接信息转交给由其选择的某超高速缓存节点。由基于内容的路由器165选择的该超高速缓存是被请求对象的主物主。然后,该选定的超高速缓存节点可从超高速缓存器或从与它关联的服务器检索被请求对象,并且把被请求对象经网络150发送到请求客户。
由于以特定方式运行的网络调度器可充当基于内容的路由器,有可能使网络调度器利用基于内容的和不基于内容的路由选择的组合路由请求。当采用基于内容的路由选择时,运行成基于内容的路由器165的网络调度器160可研究由客户发送的请求,以确定哪个超高速缓存节点是被请求对象的主物主。由于基于内容的路由选择可避免不命中超高速缓存部件,基于内容的路由选择可减少超高速缓存器阵消耗的处理机周期。然后,基于内容的路由选择会增加充当基于内容的路由器165的网络调度器160消耗的处理机周期。以基于内容进行路由选择的网络调度器160由于建立和客户的连接,会消耗更多的处理机周期。
只要其不变成系统瓶颈,使用基于内容的路由器165是有好处的。例如,由IBM 2216实现的基于内容的路由器只要每秒请求数少于1万次就不会成为瓶颈。备选地,可采用带有集成超高速缓存的基于内容的路由器。在相对低和中等系统负载下,基于内容的路由器可利用集成的超高速缓存为请求服务。在相对高的系统负载下,这种路由器可恢复网络调度器功能。
例如,IBM 2216作为网络调度器的能力是每秒约可对15,000个请求进行路由选择。充当超高速缓存节点的IBM 2216的能力是在约为100%超高速缓存速率下每秒可约为5,000个对象服务。充当基于内容的路由器并带有转交能力的IBM 2216每秒约能为5,000/0.5=10,000个请求服务。
作为例如上述图2-7中示出的本发明的各示范实施例的一种变型,可把网络调度器160路由到超高速缓存器组170的请求中一定百分比执行成为基于内容的路由选择方式。基于内容的路由选择会导致超高速缓存器组170上的较少开销,但会导致网络调度器160上的较多开销。采用基于内容的路由选择的请求百分数可选择成均衡网络调度器和超高速缓存器阵资源的使用。另一种变型可以是当超高速缓存器阵变为瓶颈时增加采用基于内容的路由选择方式的进行路由的请求的百分比。然而,网络调度器160变为瓶颈下,可降低采用基于路由选择的进行路由的请求的百分比。
即,可选择地,可把网络调度器,例如图1(a)的网络调度器的功能集成到超高速缓存节点中。
一般的业内人士可想到上述各示范实施例的各种修改。例如,客户请求不必由第一节点引导到被请求对象所属的主物主上。若主物主过载,请求可发送到第二节点。第二节点可向第一节点回送被请求对象,或者,第二节点利用转交直接向客户回送被请求对象。可选地,可把请求转交给服务器节点。
尽管参照某些示范实施例对本发明进行了描述和说明,但决非意味着本发明受限于所示的细节。相反,在权利要求书的等价的范围内和在不背离本发明的精神下,在细节上可作出各种细节。
Claims (33)
1.在适用于从一个或多个客户接收诸对象请求的系统中,所述系统由多个节点组成,一种用于检索所述诸对象的被请求对象的方法,所述方法包括步骤:
(a)从所述客户中的一个发送所述请求之一;
(b)由所述多个节点中的另一个节点接收来自所述多个节点的一个节点的所述请求,其中所述一个节点包括多个超高速缓存中的至少一个,所述另一个节点包括所述多个超高速缓存中的至少一个;以及
(c)利用多种协议中的一种从所述多个节点的所述另一个节点回送所述被请求对象。
2.权利要求1的方法,其中所述一个节点从所述客户中的所述一个客户接收所述请求。
3.权利要求1的方法,其中所述一个节点从所述多个节点中的另一个节点接收所述请求。
4.权利要求1的方法,其中根据所述被请求对象的尺寸选择多种协议中的所述一种协议。
5.权利要求4的方法,其中响应所述被请求对象的尺寸小于预定尺寸,把被请求对象从所述另一个节点回送到所述一个节点,并且继而从所述一个节点回送到所述客户中的所述一个客户。
6.权利要求4的方法,其中响应所述被请求对象的尺寸大于预定尺寸,在不先通过所述一个节点下,把被请求对象从所述另一个节点回送到所述客户中的所述一个客户。
7.权利要求5的方法,其中所述被请求对象在回送到所述客户中的所述一个客户之前从所述一个节点回送到所述多个节点中的至少一个别的节点上。
8.权利要求6的方法,其中所述被请求对象在回送到所述客户中的所述一个客户之前从所述另一个节点回送到所述多个节点中的至少一个别的节点上。
9.权利要求1的方法,其中响应所述一个节点不具有所述被请求对象的超高速缓存复制执行所述步骤(b)。
10.权利要求1的方法,其中所述多个节点中的一个节点充当后端服务器。
11.权利要求10的方法,还包括响应所述另一个节点不具有所述被请求对象的超高速缓存复制把所述请求发送到后端服务器的步骤。
12.权利要求1的方法,还包括在所述多个节点的一些上分配所述对象中的一些对象的物主权的步骤,并且其中所述多个节点中所述一些的每个包括所述多个超高速缓存中的一个超高速缓存。
13.权利要求12的方法,其中所述另一个节点是所述被请求对象的物主,并且响应所述一个节点不是所述被请求对象的物主执行所述步骤(b)。
14.权利要求12的方法,其中所述对象中的任一个至多具有一个物主。
15.权利要求12的方法,其中所述对象中的任一个具有多个物主。
16.权利要求1的方法,其中多个协议中之一是HTTP(超文本传输协议)、UDP(用户数据报协议)和转交接口中之一。
17.权利要求1的方法,其中所述多个节点中的一个充当后端服务器。
18.权利要求17的方法,还包括响应所述另一个节点不具有所述被请求对象的超高速缓存复制把所述请求发送到后端服务器的步骤。
19.一种检索多个对象中的一个目标对象的方法,该目标对象是由一个用户请求的,所述方法包括步骤:
(a)把多个对象中的每个对象分配给多个节点的至少一个节点;
(b)把多个超高速缓存中的至少一个分配给多个节点中的至少一个节点;
(c)把对该目标对象的请求发送到该多个节点中的第一节点;
(d)判定是否把该目标对象分配给了第一节点;以及
(e)若未把该目标对象分配给第一节点;
(i)把该请求发送到该多个节点中的第二节点,第二节点分配着该目标对象,以及
(ii)若该目标对象存储在该多个超高速缓存中和第二节点关联的超高速缓存中,利用多种协议中的一种从和第二超高速缓存关联的超高速缓存中检索该目标对象。
20.依据权利要求19的方法,其中通过多种协议中的至少一种协议利用通信执行步骤(ii)。
21.依据权利要求20的方法,其中根据目标对象的尺寸选择多个协议中的所述至少一个协议。
22.依据权利要求21的方法,还包括步骤:
若未把该目标对象分配给第一节点并且若该目标对象的尺寸小于预定目标尺寸,从第二节点把该目标对象传送到第一节点,并且从第一节点把该目标对象传送到客户。
23.依据权利要求21的方法,还包括步骤:
若未把该目标对象分配给第一节点并且若该目标对象的尺寸大于预定目标尺寸,把该目标对象从第二节点传送到客户。
24.依据权利要求20的方法,其中在第一节点和第二节点之间执行多种协议中的第一协议,并且在第一节点和客户之间执行多种协议中的第二协议。
25.依据权利要求20的方法,其中在第二节点和客户之间执行多种协议中的第一协议。
26.依据权利要求19的方法,还包括步骤:
若该目标对象分配给第一节点,如果该目标对象存储在分配给第一节点的多个超高速缓存的某个超高速缓存中,从分配的该超高速缓存检索目标对象。
27.依据权利要求26的方法,还包括步骤:
若该目标对象未存储在分配给第一节点的该高速缓存中,从和第一节点对应的服务器中检索该目标对象。
28.依据权利要求19的方法,其中若目标对象未存储在分配给第二节点的高速缓存中,步骤(e)从和第二节点对应的服务器检索目标对象。
29.依据权利要求19的方法,其中多种协议中的一种是HTTP(超文本传输协议)、UDP(用户数据报协议)和转交接口中的一种。
30.根据权利要求19的方法,其中还包括步骤:
(m)根据请求内容把请求之一选择性地发送到节点中的至少一个上;
(n)和请求的内容无关地把请求之一选择性地发送到节点中的任何一个上;以及
(i)为了改进系统性能,改变执行步骤(m)和(n)的频率。
31.权利要求30的方法,其中为了减少对系统资源的使用和改进系统性能,增大执行步骤(m)的频率。
32.权利要求30的方法,其中为了减少对系统资源的使用和改进系统性能,增大执行步骤(n)的频率。
33.权利要求30的方法,其中步骤(m)还包括把连接从一个节点转交到另一个节点上。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/196,944 | 1998-11-20 | ||
US09/196,944 US6490615B1 (en) | 1998-11-20 | 1998-11-20 | Scalable cache |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1259704A CN1259704A (zh) | 2000-07-12 |
CN1151448C true CN1151448C (zh) | 2004-05-26 |
Family
ID=22727397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB991231724A Expired - Fee Related CN1151448C (zh) | 1998-11-20 | 1999-10-27 | 可扩缩的超高速缓存检索方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6490615B1 (zh) |
EP (1) | EP1003100A3 (zh) |
JP (1) | JP3595470B2 (zh) |
CN (1) | CN1151448C (zh) |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192408B1 (en) * | 1997-09-26 | 2001-02-20 | Emc Corporation | Network file server sharing local caches of file access information in data processors assigned to respective file systems |
JP3451981B2 (ja) * | 1999-04-30 | 2003-09-29 | 日本電気株式会社 | インターネットのホームページデータ収集方法 |
US6792463B1 (en) * | 1999-10-21 | 2004-09-14 | International Business Machines Corporation | System, method and program product for providing invisibility to a proxy-server |
JP3463803B2 (ja) * | 1999-11-09 | 2003-11-05 | 松下電器産業株式会社 | クラスタサーバ装置 |
US6820133B1 (en) * | 2000-02-07 | 2004-11-16 | Netli, Inc. | System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination |
US20030237016A1 (en) * | 2000-03-03 | 2003-12-25 | Johnson Scott C. | System and apparatus for accelerating content delivery throughout networks |
US7020719B1 (en) * | 2000-03-24 | 2006-03-28 | Netli, Inc. | System and method for high-performance delivery of Internet messages by selecting first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination |
US7162542B2 (en) * | 2000-04-13 | 2007-01-09 | Intel Corporation | Cascading network apparatus for scalability |
US7155539B2 (en) * | 2000-04-17 | 2006-12-26 | Circadence Corporation | Conductor gateway buffer prioritization |
US7395348B1 (en) * | 2000-06-05 | 2008-07-01 | Cisco Technology, Inc. | Network cache-based content routing |
US6947977B1 (en) * | 2000-06-09 | 2005-09-20 | Metadigm Llc | Scalable transaction system for a network environment |
EP1323057A4 (en) * | 2000-10-02 | 2008-04-16 | Learning Tree Internat | PROCESS AND SYSTEM FOR PRACTICAL LEARNING |
US20020055982A1 (en) * | 2000-11-03 | 2002-05-09 | The Board Of Regents Of The University Of Nebraska | Controlled server loading using L4 dispatching |
US20030046394A1 (en) * | 2000-11-03 | 2003-03-06 | Steve Goddard | System and method for an application space server cluster |
US20020055983A1 (en) * | 2000-11-03 | 2002-05-09 | The Board Of Regents Of The University Of Nebraska | Computer server having non-client-specific persistent connections |
US7216154B1 (en) * | 2000-11-28 | 2007-05-08 | Intel Corporation | Apparatus and method for facilitating access to network resources |
JP2003122658A (ja) * | 2001-10-11 | 2003-04-25 | Hitachi Ltd | データ配送方法 |
US20030079027A1 (en) * | 2001-10-18 | 2003-04-24 | Michael Slocombe | Content request routing and load balancing for content distribution networks |
CA2410172A1 (en) * | 2001-10-29 | 2003-04-29 | Jose Alejandro Rueda | Content routing architecture for enhanced internet services |
KR100945409B1 (ko) | 2002-05-10 | 2010-03-04 | 인터디지탈 테크날러지 코포레이션 | 노드 b 내 버퍼의 선택적 퍼징을 용이하게 하는 rnc |
US20030233470A1 (en) * | 2002-06-12 | 2003-12-18 | International Business Machines Corporation | Network storage data redirection |
US6954798B2 (en) * | 2002-08-28 | 2005-10-11 | Matsushita Electric Works, Ltd. | Content-based routing of data from a provider to a requestor |
US8230090B2 (en) * | 2002-09-11 | 2012-07-24 | Broadcom Corporation | System and method for TCP offloading and uploading |
US7765196B2 (en) * | 2003-06-23 | 2010-07-27 | Dell Products L.P. | Method and apparatus for web cache using database triggers |
US7539727B2 (en) * | 2003-07-01 | 2009-05-26 | Microsoft Corporation | Instant messaging object store |
US7363378B2 (en) * | 2003-07-01 | 2008-04-22 | Microsoft Corporation | Transport system for instant messaging |
US7293156B2 (en) * | 2003-07-15 | 2007-11-06 | Xiv Ltd. | Distributed independent cache memory |
US7827353B2 (en) * | 2003-07-15 | 2010-11-02 | International Business Machines Corporation | Self healing memory |
US20050015546A1 (en) * | 2003-07-15 | 2005-01-20 | Ofir Zohar | Data storage system |
US7299334B2 (en) * | 2003-07-15 | 2007-11-20 | Xiv Ltd. | Storage system configurations |
US7614071B2 (en) * | 2003-10-10 | 2009-11-03 | Microsoft Corporation | Architecture for distributed sending of media data |
JP4646002B2 (ja) * | 2003-10-22 | 2011-03-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 接続管理の方法、システム、およびプログラム製品 |
US7447797B2 (en) * | 2003-10-29 | 2008-11-04 | International Business Machines Corporation | Method and system for processing a service request associated with a particular priority level of service in a network data processing system using parallel proxies |
US8171084B2 (en) * | 2004-01-20 | 2012-05-01 | Microsoft Corporation | Custom emoticons |
US8234414B2 (en) | 2004-03-31 | 2012-07-31 | Qurio Holdings, Inc. | Proxy caching in a photosharing peer-to-peer network to improve guest image viewing performance |
US20060064482A1 (en) * | 2004-09-21 | 2006-03-23 | Nybo Chad A | System and method for caching data and filtering data requests in a client application |
US7433700B2 (en) * | 2004-11-12 | 2008-10-07 | Microsoft Corporation | Strategies for peer-to-peer instant messaging |
US7698386B2 (en) * | 2004-11-16 | 2010-04-13 | Qurio Holdings, Inc. | Serving content from an off-line peer server in a photosharing peer-to-peer network in response to a guest request |
CN100458776C (zh) * | 2005-01-13 | 2009-02-04 | 龙搜(北京)科技有限公司 | 网络缓存管理的系统和方法 |
EP1842354B1 (en) * | 2005-01-24 | 2014-11-05 | Citrix Systems, Inc. | Systems and methods for performing caching of dynamically generated objects in a network |
US20060195532A1 (en) * | 2005-02-28 | 2006-08-31 | Microsoft Corporation | Client-side presence documentation |
US7529255B2 (en) * | 2005-04-21 | 2009-05-05 | Microsoft Corporation | Peer-to-peer multicasting using multiple transport protocols |
US8688801B2 (en) * | 2005-07-25 | 2014-04-01 | Qurio Holdings, Inc. | Syndication feeds for peer computer devices and peer networks |
US8447828B2 (en) * | 2005-09-21 | 2013-05-21 | Qurio Holdings, Inc. | System and method for hosting images embedded in external websites |
US8005889B1 (en) | 2005-11-16 | 2011-08-23 | Qurio Holdings, Inc. | Systems, methods, and computer program products for synchronizing files in a photosharing peer-to-peer network |
US20070112938A1 (en) * | 2005-11-17 | 2007-05-17 | Nokia Corporation | Intermediary, source and methods for sharing content |
US8788572B1 (en) | 2005-12-27 | 2014-07-22 | Qurio Holdings, Inc. | Caching proxy server for a peer-to-peer photosharing system |
US9390019B2 (en) * | 2006-02-28 | 2016-07-12 | Violin Memory Inc. | Method and apparatus for providing high-performance and highly-scalable storage acceleration |
US20080091868A1 (en) * | 2006-10-17 | 2008-04-17 | Shay Mizrachi | Method and System for Delayed Completion Coalescing |
US7904470B2 (en) | 2007-06-13 | 2011-03-08 | Sap Ag | Discovery service for electronic data environment |
US7925782B2 (en) * | 2008-06-30 | 2011-04-12 | Amazon Technologies, Inc. | Request routing using network computing components |
CN102084351B (zh) * | 2008-07-01 | 2013-10-23 | 惠普开发有限公司 | 远程计算服务 |
US8499120B2 (en) * | 2008-10-17 | 2013-07-30 | Seagate Technology Llc | User selectable caching management |
US8135840B2 (en) * | 2008-11-20 | 2012-03-13 | At&T Intellectual Property I, Lp | Systems and methods for directing content requests to servers |
KR101139754B1 (ko) * | 2009-07-23 | 2012-04-26 | 주식회사 아라기술 | 미러링 기반의 데이터 캐시를 이용하여 분산된 사용자들에게 정보를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 |
US9158788B2 (en) | 2009-12-16 | 2015-10-13 | International Business Machines Corporation | Scalable caching of remote file data in a cluster file system |
US8495250B2 (en) | 2009-12-16 | 2013-07-23 | International Business Machines Corporation | Asynchronous file operations in a scalable multi-node file system cache for a remote cluster file system |
US8473582B2 (en) * | 2009-12-16 | 2013-06-25 | International Business Machines Corporation | Disconnected file operations in a scalable multi-node file system cache for a remote cluster file system |
US8458239B2 (en) | 2009-12-16 | 2013-06-04 | International Business Machines Corporation | Directory traversal in a scalable multi-node file system cache for a remote cluster file system |
US20110153953A1 (en) * | 2009-12-23 | 2011-06-23 | Prakash Khemani | Systems and methods for managing large cache services in a multi-core system |
CN102577241B (zh) | 2009-12-31 | 2014-07-30 | 华为技术有限公司 | 分布式缓存资源调度的方法、装置及系统 |
KR101211207B1 (ko) * | 2010-09-07 | 2012-12-11 | 엔에이치엔(주) | 캐시 클라우드 구조를 이용한 캐시 시스템 및 캐싱 서비스 제공 방법 |
US8402112B2 (en) | 2011-01-14 | 2013-03-19 | Microsoft Corporation | Inter-cache communication using HTTP resource |
US8612550B2 (en) | 2011-02-07 | 2013-12-17 | Microsoft Corporation | Proxy-based cache content distribution and affinity |
US20120297009A1 (en) * | 2011-05-18 | 2012-11-22 | Oversi Networks Ltd. | Method and system for cahing in mobile ran |
JP5835015B2 (ja) * | 2012-02-29 | 2015-12-24 | 富士通株式会社 | 分散キャッシュについてのシステム、プログラム及び方法 |
US9031891B2 (en) | 2012-09-27 | 2015-05-12 | Amadeus S.A.S. | Computing system and method for controlling the execution of a decision process to maintain the data access efficiency upon receipt of an availability information inquiry |
KR101593890B1 (ko) * | 2012-09-27 | 2016-02-12 | 아마데우스 에스.에이.에스. | 네트워크에서 부하를 분배하는 시스템 및 방법 |
US9246998B2 (en) | 2012-10-16 | 2016-01-26 | Microsoft Technology Licensing, Llc | Load balancer bypass |
AU2012398211B2 (en) * | 2012-12-28 | 2016-12-08 | Huawei Technologies Co., Ltd. | Caching method for distributed storage system, a lock server node, and a lock client node |
CN103064979A (zh) * | 2013-01-15 | 2013-04-24 | 中兴通讯股份有限公司 | 一种路由器处理网页数据的方法以及路由器 |
US9652270B2 (en) * | 2014-03-21 | 2017-05-16 | Intel Corporation | Apparatus and method for virtualized computing |
US11470176B2 (en) | 2019-01-29 | 2022-10-11 | Cisco Technology, Inc. | Efficient and flexible load-balancing for clusters of caches under latency constraint |
CN110046309A (zh) * | 2019-04-02 | 2019-07-23 | 北京字节跳动网络技术有限公司 | 文档输入内容的处理方法、装置、电子设备和存储介质 |
CN112787993A (zh) * | 2020-12-25 | 2021-05-11 | 北京金万维科技有限公司 | 一种基于udp协议高并发http请求缓存和内容推送系统及方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4503501A (en) | 1981-11-27 | 1985-03-05 | Storage Technology Corporation | Adaptive domain partitioning of cache memory space |
JPH05122274A (ja) * | 1991-10-24 | 1993-05-18 | Matsushita Electric Ind Co Ltd | 統合文書フアイル転送方法 |
US5511208A (en) * | 1993-03-23 | 1996-04-23 | International Business Machines Corporation | Locating resources in computer networks having cache server nodes |
US5845280A (en) * | 1995-09-25 | 1998-12-01 | Microsoft Corporation | Method and apparatus for transmitting a file in a network using a single transmit request from a user-mode process to a kernel-mode process |
DE69632011T2 (de) * | 1995-11-10 | 2005-02-03 | Kabushiki Kaisha Toshiba, Kawasaki | Dateientransferverfahren, Verfahren für ein Dateien anforderndes Benutzergerät und Dateienanbietergerät |
JPH09277624A (ja) * | 1996-04-09 | 1997-10-28 | Ricoh Co Ltd | 画像形成装置 |
US5842216A (en) | 1996-05-03 | 1998-11-24 | Mitsubishi Electric Information Technology Center America, Inc. | System for sending small positive data notification messages over a network to indicate that a recipient node should obtain a particular version of a particular data item |
JPH1021174A (ja) * | 1996-07-01 | 1998-01-23 | Ricoh Co Ltd | データ転送システム |
JP3481054B2 (ja) * | 1996-07-04 | 2003-12-22 | シャープ株式会社 | ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム |
US5774660A (en) * | 1996-08-05 | 1998-06-30 | Resonate, Inc. | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network |
US5809250A (en) | 1996-10-23 | 1998-09-15 | Intel Corporation | Methods for creating and sharing replayable modules representive of Web browsing session |
US6012126A (en) * | 1996-10-29 | 2000-01-04 | International Business Machines Corporation | System and method for caching objects of non-uniform size using multiple LRU stacks partitions into a range of sizes |
US5915088A (en) * | 1996-12-05 | 1999-06-22 | Tandem Computers Incorporated | Interprocessor messaging system |
US5999979A (en) * | 1997-01-30 | 1999-12-07 | Microsoft Corporation | Method and apparatus for determining a most advantageous protocol for use in a computer network |
SE9700622D0 (sv) * | 1997-02-21 | 1997-02-21 | Ericsson Telefon Ab L M | Anordning och metod vid datanät |
US5933849A (en) * | 1997-04-10 | 1999-08-03 | At&T Corp | Scalable distributed caching system and method |
JPH1153322A (ja) * | 1997-07-31 | 1999-02-26 | Nippon Telegr & Teleph Corp <Ntt> | オブジェクト探索取得方法並びに探索サーバ及び記録媒体 |
US6122666A (en) * | 1998-02-23 | 2000-09-19 | International Business Machines Corporation | Method for collaborative transformation and caching of web objects in a proxy network |
US6341311B1 (en) * | 1998-05-29 | 2002-01-22 | Microsoft Corporation | Directing data object access requests in a distributed cache |
US6377991B1 (en) * | 1998-05-29 | 2002-04-23 | Microsoft Corporation | Method, computer program product, and system for migrating URLs within a dynamically changing distributed cache of URLs |
US6212565B1 (en) * | 1998-08-26 | 2001-04-03 | Sun Microsystems, Inc. | Apparatus and method for improving performance of proxy server arrays that use persistent connections |
US6438652B1 (en) * | 1998-10-09 | 2002-08-20 | International Business Machines Corporation | Load balancing cooperating cache servers by shifting forwarded request |
-
1998
- 1998-11-20 US US09/196,944 patent/US6490615B1/en not_active Expired - Fee Related
-
1999
- 1999-10-27 CN CNB991231724A patent/CN1151448C/zh not_active Expired - Fee Related
- 1999-11-09 EP EP99308937A patent/EP1003100A3/en not_active Withdrawn
- 1999-11-19 JP JP32956799A patent/JP3595470B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1003100A3 (en) | 2006-07-26 |
JP3595470B2 (ja) | 2004-12-02 |
EP1003100A2 (en) | 2000-05-24 |
CN1259704A (zh) | 2000-07-12 |
US6490615B1 (en) | 2002-12-03 |
JP2000187609A (ja) | 2000-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1151448C (zh) | 可扩缩的超高速缓存检索方法 | |
CN1311380C (zh) | 有助于从网络的移动设备中选择本地注册表主机的方法和系统 | |
CN1197027C (zh) | 计算机网络的分布式宿主构架,网页供应和内容传送方法 | |
US10305797B2 (en) | Request routing based on class | |
US20170257340A1 (en) | Managing request routing information utilizing client identifiers | |
CN1221898C (zh) | 刷新网络代理高速缓存服务器对象的系统和方法 | |
US7802014B2 (en) | Method and system for class-based management of dynamic content in a networked environment | |
EP2263163B1 (en) | Content management | |
US10958501B1 (en) | Request routing information based on client IP groupings | |
US8930544B2 (en) | Network resource identification | |
CN1170236C (zh) | 在客户机与服务器之间控制通信的方法和设备 | |
US9219705B2 (en) | Scaling network services using DNS | |
EP2266043B1 (en) | Cache optimzation | |
US20050240574A1 (en) | Pre-fetching resources based on a resource lookup query | |
CN1351729A (zh) | 处理关于网站所提供信息的请求 | |
CN1513144A (zh) | 用于减少将信息从通信网络投递到用户的时间的系统及方法 | |
CN103812882A (zh) | 一种文件传输的方法及系统 | |
CN102045403A (zh) | 分布式网络数据处理方法和装置及系统 | |
CN1866249A (zh) | 数据管理系统、数据服务器以及数据管理方法 | |
CN1174322C (zh) | 应用导纳控制的高速缓存管理方法和系统 | |
CN1701587A (zh) | 用于本地因特网协议地址翻译的方法和设备 | |
CN101060539A (zh) | 采用统一入口网站地址集成和推送多网站内容的方法及系统 | |
CN1286774A (zh) | 一个互联网缓存系统和方法及其这个系统中的一个结构 | |
CN1612561B (zh) | 网络数据处理系统及处理此类系统中的服务的方法 | |
CN100352198C (zh) | 用于处理对Web服务的请求的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20040526 Termination date: 20181027 |
|
CF01 | Termination of patent right due to non-payment of annual fee |