CN1263263C - 用于传递万维网内容的方法 - Google Patents
用于传递万维网内容的方法 Download PDFInfo
- Publication number
- CN1263263C CN1263263C CNB018078214A CN01807821A CN1263263C CN 1263263 C CN1263263 C CN 1263263C CN B018078214 A CNB018078214 A CN B018078214A CN 01807821 A CN01807821 A CN 01807821A CN 1263263 C CN1263263 C CN 1263263C
- Authority
- CN
- China
- Prior art keywords
- node
- agreement
- message
- sent
- source
- 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 - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/2866—Architectures; Arrangements
- H04L67/2876—Pairs of inter-processing entities at each side of the network, e.g. split proxies
-
- 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/563—Data redirection of data network streams
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- 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/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- 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/565—Conversion or adaptation of application format or content
-
- 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/10—Streamlined, light-weight or high-speed protocols, e.g. express transfer protocol [XTP] or byte stream
Abstract
揭示了借助于两种类型的分布式特定节点提高通过互联网的万维网业务量而同时保持标准的通信协议:客户和服务器的方法和设备。因此,万维网客户(10)的请求通过使用标准协议(11)被引导到被选择为适当接近于万维网客户(10)的第一类型的特定第一节点(12-1)。第一节点(12-1)通过使用用于改进性能且具体地减小业务量和等待时间的专门协议(13)把万维网客户(10)的请求传送到第二类型的第二节点(14-2)。被选择为适当接近于该请求的最终目的地(16)的第二节点(14-2)通过利用标准协议(11)把请求转发到目的地(16)。从目的地(16)到客户(10)的响应典型地取相应的反向路由。另外,特定的节点可利用包括万维网超高速缓冲存储器的其他技术,以避免或改进某些通信步骤。
Description
相关申请的交叉参考
本申请要求2000年2月7日提交的、“Method for improvingperformance of Web Content delivery(用于改进万维网内容传递的性能的方法)”的美国临时申请No.60/180,816和2000年3月10日提交的、“Method for improving performance of Web Content delivery(用于改进万维网内容传递的性能的方法)”的美国临时申请No.60/188,601的权益,这两个专利申请整体地在此引用,以供参考。
发明领域
本发明涉及在万维网客户(诸如浏览器)与万维网服务器之间的通信,其中通信至少部分地是通过互联网或任何其他网络层实行的,其中性能准则,诸如花费,带宽使用和通信等待时间是关心的。
发明背景
今天,改进互联网通信的性能是技术和商业的头等大事。在改进互联网基础结构方面的投资估计到2003年将成为$1.3万亿美元的产业(来源于:Nortel Industry press release,2000年1月31发表)。据估计许多万维网用户在下载网页时将不能容忍大于8秒的延时,以及电子商务销售的当前的数值由于慢的下载速度而造成的风险是每年$43.5亿美元(来源于:Zona Research report“The need for speed(对速度的需要)”,摘要可查阅http://www.zonaresearch.com/info/press/99-jun 30.htm)。在这种情形下,对于改进万维网性能有迫切的要求,以及还没有看到简单的或明显的技术。
标准互联网协议:HTTP和TCP
在互联网链路上使用的两种标准协议HTTP和TCP对互联网通信速度施加了重大的限制。超级文本传输协议(HTTP)是当客户从万维网服务器请求万维网内容时所使用的应用级别的万维网协议,以及它在万维网服务器响应这样的请求时由万维网服务器使用。现代网络通信是分层的,这意味着较高级别的协议构建在较低级别协议之上(它又可构建在其他协议之上)。HTTP是高层协议,它包括用来请求内容、以内容响应、协商发送内容的形式等等的命令。它通常是在较低级别协议传输控制协议(TCP)上载送的。TCP使得在互联网的两个位置之间能够进行可靠的端到端连接,但不解释在这两个位置之间以任何方式发送的内容:它只是载送字节流。TCP通常又是在互联网协议(IP)上载送的,互联网协议是面向分组的协议,它不保证可靠的传递。
众所周知,HTTP和TCP对于互联网通信来说远不是最佳协议。远在HTTP被发明之前TCP已被开发和被部署,它被设计来用于大量双向数据传送。HTTP的特征在于短的请求消息和中等长度响应事务,以及非常突发性的业务。关于TCP不是用于载送HTTP的最佳协议的结论,是被大量地用文件证明的。Heidemann,Obraczka,和Touch的论文“Modelingthe Performance of HTTP Over Several Transport Protocols(HTTP在几个输送协议上的性能的模型化)”,IEEE/ACM Transactions onNetworking,vol,5,No.5,1997年十月,是解决这些问题的研究的代表。他们声称例如:
在HTTP的需要与由TCP提供的业务之间的这种失配导致大多数万维网用户的增加的等待时间。基本上,TCP是对于大尺度的大量数据输送最佳化的,而HTTP常常需要轻便的、请求-响应协议。
这里所谓的失配是指TCP的多个技术特性,包括被称为“三方握手”,“慢起动拥塞避免”和“TIME_WAIT(时间等待)拆除延时”的那些特性。Heidemann,Obraczka,和Touch的论文讨论了几个这样的改进的协议,诸如事务TCP(T/TCP)和异步可靠传递协议(ARDP)。在TCP中涉及到HTTP的其他缺陷包括所使用的流量控制算法,它在网络中在噪声或错误的事件中导致不必要的业务量和延时。
HTTP本身是演进的改进协议,但甚至除了从与TCP的相互关系引起的以外它也已看到性能缺点。V.N.Padmanabhan的博士论文“Addressingthe challenges of web data transport(解决万维网数据输送的挑战)”(计算机科学系,加州大学伯克利分校,美国;也作为技术报告UCB/CSD-98-1016 1998年9月出版)讨论这方面的某些问题。例如,论文解释了HTTP版本1.0(今天仍旧在广泛使用)如何需要客户通过给定的连接一次发送一个请求,并在继续进行之前等待响应完全到达,以及以相当大的性能为代价(如博士论文证明的)。
问题并不是不存在或不可提供优于HTTP和TCP的、用于互联网通信的协议。问题在于,HTTP和TCP是标准-被广泛地接受和广泛地部署。确实,是必须这样做的,因为在共享网络(诸如互联网)上的通信需要所有的用户使用相同的协议。因此,即使当注意到现有协议的问题和开发改进的协议时,在这样的改进变成为广泛部署之前常常要花费很长的时间。在改进到达公共互联网基础结构之前延时将特别长。部分地,这个延时只是因为当需要很大的软件升级时,成本总是很大的。但在协议升级的情形下,花费和延时甚至是更大的,因为没有协议能够单方地升级:网络对话的两端必须使用同一个协议的同一个版本。在互联网的情形下,某些协议改变需要共同体范围内协调的升级。对于这样的延时的例子,考虑以上从Padmanabhan的博士论文所阐述的、HTTP版本1.0的问题在协议的下一个版本中被纠正,其中定义了被称为“流水线技术”的特性。即使在这种改进被提出后的几年中,只有非常少的万维网浏览器采用它。同样地,替换TCP的所有的建议都已消沉,今天所有主要的万维网浏览器和万维网服务器只支持TCP上的HTTP。
改进互联网性能而不用改变标准协议的一个现有技术方法是万维网超高速缓存。类似的方法是内容分布(CD)。内容分布(CD)网络是被放置在更大的网络(诸如互联网)中在选择的位置上(诸如在互联网服务器提供者(ISP)的办公室中)的专门的节点或设备的集合。这些节点以内容分布者的客户的名义存储某些万维网内容。这样的存储有时称为超高速缓存,镜像,或转发器。
内容分布业务包括重定向或截取业务。当万维网用户(使用诸如浏览器的客户机)请求来自一个站址的内容以及该内容被认为或推测在一个或多个CD节点处超高速缓存时,该请求被引导到(或成为重定向到)“接近于”用户的某个CD节点。接近度的概念是通信性能的度量,具体地,可以使用这样的度量,诸如带宽容量,带宽花费,等待时间,安全性,行政管理边界,行政管理方便性,和各个网络路径的当前的拥塞程度。用于选择接近的CD节点和然后把请求引导到选择的节点的技术是变化的,但领域仍旧是新的,以及仍旧有相当大的正在进行的创新。
刚讨论的这种重定向的替换例是截取,其中一个节点这样地被放置在来自客户的网络路径上,以使得它能够看见来自客户的所有的万维网业务。例如位于客户的ISP处的万维网代理或其他专门设备,诸如路由器,可被使用于这个目的。在这种情形下,节点截取所有的业务,以及如果它看见对于已超高速缓存的内容(或可以容易地从附近超高速缓冲存储器获取)的请求,则它可立即返回该内容,否则它把业务中继到它的未改变的目的地。代理的使用可以是在客户的控制下(例如,如果客户必须被配置成使用代理),或可以是“透明的”,如果客户不需要这样的配置的话。
内容分布的优点是从接近的CD节点提供业务到用户的可能性,因此使得给他的响应更快,更便宜,用更少的带宽,和或许更可靠。通常看到对把内容提供到最终用户的速度的高到10倍的改进。
内容分布的主要缺点在于,不是所有的内容都可有效地被超高速缓存。它对于动态产生的内容特别不适合,而且对于快速改变的内容和某些很少接入的内容也是无效的。CD节点典型地存储图象,视频文件,声音文件,静态文本页,和逐个用户间没有很大改变的其他这样的内容。在预见到会被请求的情形下,这样的内容被保存在CD服务器上(或许,如果已经有一个请求,则在预见到有附加请求的情形下)。然而,在互联网上的很多内容是响应于顾客的请求而动态地产生的;例如,通过使用公共网关接口的服务器程序(即,”cgi-bin”程序)产生的。因为这样的程序的输出决不可能是两次相同的,或对于不同的个人和对于不同的场合,至少多半是不同的,所以通常不容易事先准备好这样的内容。总之,有几亿的万维网用户;一个人不可能事先产生和存储这么多定制的网页。当万维网内容变成为对于每个用户越来越个人化和越来越定制时,这样的网页的重要性将进一步增加。CD网络不能预见到这样的网页,所以通常不能提高它们进行服务的速度。
内容分布的第二个缺点的起因在于,即使所谓的“静态”内容,诸如图像和固定文本,也可能受到偶然改变的影响。重要的是确保超高速缓存节点或内容分布节点不提供“陈旧的”内容,即,不再与原先服务器上的最后正式拷贝一致的内容。各种各样的方案被使用来确保内容是最新的,或降低传递陈旧内容的概率。成熟的超高速缓存技术领域解决这个问题。然而,根据问题的本质,这个问题还没有完美的解决方案。为了说明这个问题,考虑万维网协议的最新版本超级文本传输协议版本1.1,包括对于如下地工作的超高速缓存和内容分布的支持。具有超高速缓冲存储器的节点可以发送短消息到原先的服务器,实际上,询问由超高速缓冲存储器保持的万维网对象的拷贝是否仍旧最新的。如果是的话,返回一个短的确认给超高速缓冲存储器。如果在传递内容给客户之前超高速缓冲存储器节点或CD节点总是作出这样的询问,则没有机会传递陈旧的内容。但是有一个可能很大的延时,因为消息被发送到原先的服务器和接收到响应。这种方案可能减小通过网络发送的业务量(带宽消耗),但不一定减小内容被客户看到之前的延时(等待时间)。这样的折衷对于任何超高速缓存或内容分布技术是固有的。
超高速缓存和内容分布技术的第三个缺点在于,它需要大量的计算机资源,因为超高速缓冲存储器只是在客户请求它们的情形下才保持万维网内容的拷贝。超高速缓冲存储器可以在许多对象没有成为陈旧之前保持这些事实上还没有由客户请求过的对象,而这些会消耗昂贵的资源,诸如存储器或磁盘空间。由于典型的内容分布网络具有许多超高速缓存节点,所以这使得问题变得更坏。有许多技术多少能缓和这个问题,例如,通过使用先进的算法在多个超高速缓存节点的网络中仔细分布超高速缓存的内容。然而,高的资源需求是技术最固有的,它只能通过这样的技术被减小,但不能消除。
术语“超高速缓存”(或“代理超高速缓存”)有时被使用来指与内容分布有关的技术。只有轻微的技术差别。当使用截取技术而不是重定向技术时,更经常听到“超高速缓存”。第二,节点更可能被称为超高速缓冲存储器,如果它们以客户的名义而不是以内容原作者的名义被运行的话。相关的技术是服务器一侧的超高速缓存(也称为“相反的代理”),其中超高速缓存节点的位置靠近服务器而不是靠近客户。这种技术有时传递比起传统的超高速缓存或内容分布更小的性能增益,但常常可以以较小的资源花费被部署,因为只需要一个这样的节点。
所有形式的超高速缓存共同具有上述的内容分布的头两个缺点,最关键的是不能处理动态产生的内容。
所以,在技术上需要一种改进互联网通信(具体地是在万维网客户与万维网服务器之间的通信)的性能的方法,它不需要大量计算机资源以及它是与现有的标准协议相兼容的。
发明概要
本发明是一种提高网络链路的性能的方法和设备,它通过使用标准协议而把消息从源发送到第一专门节点、使用在第一专门节点与第二专门节点之间的高性能协议、以及接着使用在第二专门节点与目的地之间的标准协议来进行。
因此,本发明有利地提供加速传递动态地产生的和非静态的内容以及静态内容。它允许在两个专门的节点之间的链路上使用各种各样的改进的协议。同时,本发明有利地避免对于由源与目的地使用的标准协议的改变的任何需求。它提供重大的互联网性能增益,它可以以相当适度的花费在短的时间间隔内被部署,以及它既不需要进行主要的基础结构改变也不需要对于最终用户或服务器软件进行改变。
附图简述
图1是按照本发明的一个实施例的、用于提供网络的改进的通信性能的系统的方框图。
图2是按照本发明的一个实施例的重定向系统所使用的处理过程的流程图。
图3是按照本发明的一个实施例的重定向系统所使用的数据结构的图。
图4是按照本发明的一个实施例的选择器所使用的处理过程的流程图。
图5是按照本发明的一个实施例的选择器所使用的数据结构的图。
图6是按照本发明的一个实施例的映射设备所使用的另一个处理过程的流程图。
图7是按照本发明的一个实施例的C节点所使用的数据结构。
图8是按照本发明的一个实施例的C节点所使用的处理过程的流程图。
图9是按照本发明的一个实施例的C节点所使用的数据结构。
图10是按照本发明的一个实施例的S节点所使用的处理过程的流程图。
图11是按照本发明的优选实施例、用于提供网络的改进的通信性能的系统的方框图。
发明的详细描述
方法和系统的一般描述:客户节点(“C节点”)和服务器节点(“S
节点”)
本发明包括被部署在整个互联网的两个或多个位置处的专门节点,具有使用高性能协议互相进行通信和选择另一个专门节点用于通信的能力。在优选实施例中,这样的专门节点被放置在接近于万维网服务器和客户处。将会看到,术语“接近于”包括各种各样的通信性能测量,诸如网络距离,当前的网络条件,和各个节点能力。具体地,接近度可以是根据这样的度量,诸如带宽容量,带宽花费,等待时间,安全性,行政管理边界,行政管理方便性,和各个网络路径的当前的拥塞程度,或这样的度量的组合。专门节点被使用来例如以分组形式从发源地(诸如客户)传送信息到目的地(诸如服务器)。
如果用于从发源地发送到目的地(或以相反方向)的给定的分组的整个通信路径被称为“链路”,则可能希望使得该链路的通信性能的某些测量值(考虑了一个或多个度量)最佳化。替换地,可能希望只使得该链路内的一个或多个子链路的通信性能最佳化,例如,从第一专门节点到第二专门节点的子链路,或从发源地到第一专门节点的子链路与从第一专门节点到第二专门节点的子链路的组合。
将会看到,“通信性能的测量的最佳化”并不是指在严格的数学意义上的最佳化,以及可能更广泛地考虑度量,诸如带宽容量,带宽花费,等待时间,安全性,行政管理边界,行政管理方便性,和各个网络路径的当前的拥塞程度,以及并不限于最快的、最短的或最低的花费的路径。例如,在某些环境下,“最佳”路径可以根据限制来回行程时间而同时考虑行政管理方便性的组合来进行选择-这样的路径可能远离严格数学意义上的“最佳”,但仍旧是对于本发明的目的最佳的。
将会看到,对于一个子链路最佳化的通信性能的测量不同于在同一个链路上对于另一个子链路的通信性能的测量。例如,在使用超高速缓存的场合,请求的万维网内容可能处在特定的超高速缓冲存储器内的概率,连同从专门节点到服务器的网络距离,可被使用来确定“最佳”路径。还将会看到,通信性能的测量可以是通信性能的其他测量的组合,以及这个组合可以以许多方式被做成:例如,组合可以是加权和。组合可以是对于链路中的不同子链路的性能测量的组合,诸如加权和,或是对于单个子链路的不同的度量,诸如距离和带宽,或是对于不同的子链路的不同度量的组合。
除了上述的专门节点以外,系统和方法还可包括重定向系统或处理过程,一个或多个选择系统或选择处理过程(“选择器”)以及一个或多个网络监视和映射系统或处理过程(“映射设备”)。为了客户把互联网消息,诸如对于万维网内容的请求,或把“万维网消息”发送到服务器,可以使用选择器来选择一个节点,例如C节点,它可以是靠近客户或被选择来使得某些其他特性或关于通信性能的测量最佳化。将会看到,C节点可以从一组候选的C节点(它可以是所有的C节点的一个子集)中进行选择。所以,经常地,选择器将需要访问有关网络性能特性的信息,诸如在某些节点与装置之间的网络接近的程度,以便作出它的选择。分开的映射设备可以负责收集、分析和对比这样的信息,并使得它成为以选择器可使用的形式可得。一旦选择器选择了要被使用的C节点,就可以要求重定向系统确保来自客户的某些消息实际上确实引导到该C节点,而不直接行进到服务器。当C节点接收来自客户的消息时,它必须把该消息发送到第二节点,后者可以是靠近目标服务器,例如,S节点。S节点然后把消息传送到服务器。如果有来自服务器的响应,则它典型地走相反的路由到S节点,然后到选择的C节点,再然后到客户。来自服务器的响应以及对于万维网内容的请求,可被称为“万维网消息”,或更广义地,称为互联网消息。
C节点可能需要从一个以上的可能的候选者的组中间选择S节点,以便使该消息最后到达该想要的服务器。如果这样的选择是必须的话,则C节点可以使用第二选择系统或处理过程来选择S节点。S节点的选择然后通过第二选择系统或处理过程被提供给C节点。如果使用第二选择处理过程,则它可能不同于初始地被使用来选择C节点的选择处理过程或选择器。如果用于第二选择处理过程的装置在物理上与用于第一选择处理过程的装置是分开的,则S节点的选择必须由第二选择器例如通过网络被传送到C节点。替换地,上述的初始选择可包括选择C节点和S节点,而不仅仅是C节点。S节点的选择可以由选择器提供给C节点,或者通过重定向系统,或者以另一种方式,这样,C节点知道把来自客户的消息转发到哪里。
在某些实施例中,初始选择器可以选择S节点和C节点,但不能把S节点选择传送到C节点。在这样的实施例中,第二选择器或选择处理过程将通过使用与初始选择处理过程相同的信息实际上重新确定S节点选择,以使得使用正确的C节点和S节点对。这允许即使在把S节点的选择发送到C节点是不实际的场合下,选择两个节点以使得总的链路的某些特性最佳化-例如,使得从发源地到目的地的总的传输时间最小化。
在本发明的一个实施例的另一方面,选择C节点的选择器把它的选择放置在因素组合的基础上,所述因素包括关于所选择的C节点在超高速缓冲存储器中具有请求的对象的概率并且通信性能测量包括从C节点到服务器的链路中至少一个子链路的测量。例如,人们可以估值从客户到C节点的网络距离加上从C节点到服务器的距离,其中后一个数字由关于C节点在超高速缓冲存储器中不具有请求的对象的概率进行加权。基于这一点选择C节点,可以使得对于所有的对象(包括在超高速缓冲存储器中的那些对象)进行平均的预期的通信时间最佳化。即使从C节点到客户的通信不通过中间的S节点,以及在这个通信使用标准协议的场合下,这个方面仍可被使用。也就是,即使当C节点的主要功能只是用作为超高速缓冲存储器时,这个实施例是有用的。
将会看到,这些功能-选择、映射和重定向-可以位于分开的装置或处理过程中,或可被组合。例如,选择和映射可以通过分开的装置被执行,用选择器接收来自映射设备的信息。或,选择和映射可以由同一个装置执行。而且,专门节点可以与一个客户或一个服务器同处一地,例如,其中万维网代理被使用于重定向。
重定向系统优选地被使用来把某些业务从客户引导到选择的专门节点(C节点)。靠近客户的选择的节点可以选择靠近目标服务器的第二专门节点,例如,S节点,如果在初始选择处理过程或系统中没有选择这样的节点,或如果这样的第二专门节点的选择没有传送到第一专门节点(C节点)的话。第一专门节点使用高性能协议来与第二专门节点通信。第二专门节点然后使用传统的万维网协议来与目标服务器通信。一方面,本发明把端到端通信划分成三个不同的步骤,或子链路,每种路-即,客户到C节点,C节点到S节点,S节点到服务器(以及用于响应的相应的相反步骤)-这样,使用标准的和可能低效的协议的第一和最后的步骤是短的(使用传统的网络距离),以及中间步骤使用最佳地有效的协议。
将会看到,在C节点与S节点之间的子链路可以是专用高性能子链路,诸如光纤或ATM。即使其中使用专用子链路的情形下,通信也被看作为“通过互联网”进行,因为从客户到C节点,和从服务器到S节点的通信仍旧是通过互联网进行的。因此,“通过互联网”不应当被解释为需要端到端通信链路中的每个子链路都是通过互联网进行的。
在一个实施例中,如图1所示,本发明包括位于互联网中各个不同的点的、专门节点的分布式网络。不像传统的内容分布系统那样,本发明需要两种类型的节点,C节点12和S节点14。本发明是当万维网客户10,即使用浏览器的个人,发出一个打算到本发明被配置来管理的某个网址的请求时,或替换地发出一个对于本发明被配置来管理的特定的万维网对象的请求时,运行的。在以下的讨论中,客户10是请求内容的用户或装置,以及服务器16是包含或产生内容的最后正式的拷贝的原先的服务器,它通常负责传递内容到客户10。
本发明优选地采用选择装置,根据任何标准万维网花费或距离度量来识别接近于客户的某些C节点12,以及用于确保客户的请求被引导到选择的C节点12-1的装置。替换地,本发明可以使用装置来确保来自客户10的所有的业务量传送通过某些接近的C节点12和受到该节点可能的截取。可以采用类似于那些用于内容分布或超高速缓存的装置:例如,可以使用万维网代理。
将会看到,在必须选择C节点的场合下,C节点12的选择可能取决于各种各样的因素,它们不同于,或附加于在C节点12与客户10之间的网络距离的测量,诸如有关性能或预测的性能的因素。这样的其他因素的例子是在C节点12与服务器16之间的通信性能的任何测量(不必使用与用于测量客户10到C节点12的距离的相同的度量)。在本例中,人们可以把从客户10到C节点12的网络距离与从C节点12到服务器16的网络距离相组合,以便估计对于从客户10行进到服务器16的请求(即,当请求被发送通过C节点12时,以及采用本发明的所有的其他部件)和对于返回的响应的总的通信时间。在本例中,这个总的通信时间是对于C节点选择,以及也可能对于S节点选择的决定性的通信性能测量。
通常,C节点12和S节点14的选择可能取决于涉及到所有四个实体的整个通信路径或链路的特性:客户10,C节点12,S节点14,和服务器16。替换地,路径的一个或多个子链路,诸如从C节点12到S节点14的子链路,可以决定C节点12和S节点14的选择。因此,本发明可以采用评估这样的特性和在C节点12(以及也可能是S节点14)中间选择以便最佳化某些期望的性能特征的装置。
无论使用哪个选择装置和准则,重定向装置然后都被利用来使得选择的C节点12-1接收请求。在客户与C节点12之间通过链路11的所有通信将使用客户选择的网络协议,所以,它典型地是标准的广泛部署的协议。今天,对于万维网业务,这通常将是HTTP版本1.0,HTTP版本1.1,或使用HTTP版本1.1的某些但不是全部特性的某些中间协议,以及HTTP的任何这样的版本今天通常在TCP上被载送。其他协议,例如无线应用协议(WAP)和安全套接字层(SSL),也可以被使用。本发明的这个方面并不限于任何特定的协议,而是无论何时在网络中使用较低性能的标准协议且想要更高的性能的情形下都可被使用。将会看到,“协议”可以是指单个协议,诸如HTTP,或可以是指多个分层的协议,诸如在IP上的TCP上的HTTP。
如果C节点12在它的任选的超高速缓冲存储器或数据库中具有请求的对象,则它可把对象直接返回到客户10,因此它可以起到传统的万维网超高速缓冲存储器或内容分布器以及能够使用高性能协议的专门节点的作用。如果C节点12确实具有这样的超高速缓冲存储器或数据库,则被使用来选择C节点12的选择装置和准则可包括关于C节点12在它的超高速缓冲存储器中具有请求的对象的概率的估值。除了传统的超高速缓存功能以外,C节点可保持一个数据库,它对于它被配置来管理的每个网址和万维网对象,跟踪S节点14的标识,该S节点被确定为接近于对于该网址或万维网对象的相应的服务器,允许C节点来选择S节点。对于当前的系统,标识多半是具有对于S节点的IP(互联网协议)地址或互联网域名的形式。替换地,C节点12可以采用其他装置来确定适当的S节点14的标识,例如通过使用负责选择S节点12的选择器或选择处理过程(未示出)。
C节点12通过使用被设计为具有较高性能的专门协议而不是由客户使用的流行的标准协议,把客户的请求通过链路13传送到选择的S节点14。在C节点12与S节点14之间的通信可以通过使用类似于用于协议隧道化使用的那种技术而达到。例如,由于HTTP/TCP是面向分组或数据报的协议,所以C节点12可以通过使用“包装”而把它接收的分组“封装”成为高性能分组,以及S节点14可去除包装,以恢复原先的分组,然后通过使用HTTP/TCP把它转发到服务器。
将会看到,由于C节点和S节点紧密地耦合,所以革新的协议可被使用,而不需要其余网络,诸如互联网来采用它们。例如,由于C节点和S节点具有专门的用途,所以它们可以使用这样的一些协议,这些协议由于例如复杂性或大的存储器需求,决不被广泛地部署在万维网客户或服务器中。本领域技术人员将会看到,许多这样的最佳化的或高性能的协议是已知的,虽然许多还没有移出研究实验室以外。本发明的这个方面不是对于任何特定的C节点或S节点协议专用的,以及可以预见到在这个领域中的进一步开发。本领域技术人员将会看到,不管在广泛部署的、标准化的协议中的现代技术水平如何演进,在本发明使用的研究流水线上多半总是有更好的协议创新。在下面的、题目为“节点间协议和技术”的一节中,描述了某些优选的最佳化的协议,以及揭示了本发明的另一个方面,包括所描述的协议的增强。
在C节点与S节点之间的许多增强的协议可通过公共互联网基础结构被载送,正如对于在下面的、题目为“节点间协议和技术”的一节中给出的所有例子这都是正确的。然而,如上所述,在C节点与S节点之间的业务也可以在私用网上被载送,例如,被设计用于比公共网更高性能的通信的网络。因为在C节点与顾客,和S节点与服务器之间的业务是在互联网上载送的,所以通信仍旧被称为互联网消息,在互联网上载送,即使在客户与服务器之间的链路的一部分可以是通过私用网的。
回到图1,选择的S节点14通过使用专门的高性能协议,通过链路13接收来自C节点12的请求。S节点14可以在它自己的任选的超高速缓冲存储器中(或在它接入的超高速缓冲存储器中)找到请求的内容,或者可能需要与服务器16联系而得到它。在后一种情形下,S节点14可以使用服务器的选择的协议(它今天典型地是在TCP上的HTTP的版本),通过链路15与服务器16通信。在这后一种情形下,S节点14通过链路15检索来自服务器16的响应。在任一种情形下,S节点14可以使用专门的高性能协议,通过链路13把响应转发回发起的C节点12。C节点12然后使用客户选择的标准协议,通过链路11把接收的响应转发回万维网客户10。
在优选实施例中,客户10到C节点12的距离被最小化。将会看到,这将常常使得在高速度链路15上部署更好的协议时得到的增益最大化。本发明有利地通过部署接近于万维网服务器16的S节点14和接近于客户10的C节点12,而完成这一点。
因此,通过把客户到服务器的端到端事务划分成三部分:包括客户到C节点部分的第一部分,包括C节点到S节点部分的第二部分,和包括S节点到服务器部分的第三部分,可以实现很大的好处。C节点通常离客户有相对较短的网络距离,以及使用广泛部署的传统协议(优选地在TCP上的HTTP)来与客户通信。S节点通常离服务器有相对较短的网络距离,以及使用广泛部署的传统协议(优选地在TCP上的HTTP)来与服务器通信。C节点与S节点使用高性能协议(优选地,在下面“节点间协议和技术”中描述的一个或多个协议)来互相通信。
在另一方面,本发明部署C节点和S节点的网络,然后选择特定的C节点与S节点,目标是使得在客户与服务器之间的网络性能的测量最大化。通过根据接近度选择C节点和S节点,可以得到正好在客户与服务器处定位隧道化的节点的大多数优点,但客户和服务器不需要任何修正。本发明的另一个重要的优点是,它可以不用在客户或服务器机器中或对它们的软件作任何改变而被部署,因此,在部署先进的协议之前,可以减小花费和时间。
方法和系统的细节:C节点,S节点,选择,重定向,映射,和专
门的协议
本发明包括专门计算机,或网络节点,C节点和S节点的分布的集合。本领域技术人员将会看到,两种类型的节点的功能可以存在于单个物理装置中。如下面所讨论的,本发明的某些实施例,除了C节点和S节点以外,包括其他部件。这些节点还可以实现为在也用于其他用途的通用计算机上执行的计算机软件,或可以实现为紧密耦合的计算机群集。
C节点被分布在带有互联网的整个万维网中,在网络方面,大多数互联网用户接近于至少一个C节点。具体地,C节点可被放置在互联网业务提供商(ISP)建筑处,在大的公司网络上,在互联网主干网上,以及在其他网络处。本发明的正确的运行不取决于C节点放置得如何好,虽然由本发明传递的好处可能取决于这一点。
选择系统
在优选实施例中,本发明包括或使用用于选择接近于请求的源(客户)的C节点的装置或选择器。选择器也可选择接近于请求的目的地(服务器)的S节点。将会看到,服务器可以用作为互联网消息(例如,万维网内容)的源,以及客户可以用作为互联网的目的地,或反之亦然。所使用的接近度的概念可包括诸如带宽容量,带宽花费,等待时间,安全性,行政管理边界,行政管理方便性,和各个网络路径的当前的拥塞程度,以及地理接近度等等这样的度量的任何组合,虽然也可以考虑其他因素。然而,本发明的正确的运行并不取决于使用哪个接近度概念,或选择的C节点实际上如何接近。
选择系统可以考虑其他因素,以附加于或代替在客户与C节点之间的网络接近度。这可能是因为有关C节点的其他因素也可能关系到得到的性能。例如,考虑离一个C节点非常短的网络距离的客户,这个C节点被连接到第一互联网主干网。本例中的客户是离第二C节点多少更大的、但仍旧短的网络距离,第二C节点被连接到第二个不同的互联网主干网。可能客户希望从特定的服务器检索万维网内容,以及已知这个服务器(和/或最接近于服务器的S节点)很好地连接到第二互联网主干网,但没有连接到第一互联网主干网。今天,所谓的“对等点”(其中业务从一个主干网跨越到另一个主干网)是网络业务延时的共同的原因。在这种情形下,人们可能希望选择第二C节点而不是第一C节点,因此避免必须跨越主干网。即使第一C节点比起第二C节点多少更接近于客户,可能还是这种情形。所以,在本例中,当选择C节点时,可以有用地考虑主干网连接性的附加因素。
作为这样的其他因素的第二个例子,可以把在客户与C节点之间的估计的距离和在C节点与服务器之间的估计的距离直接组合,以便估计对于在客户与服务器之间的典型事务的总的通信花费或时间是多少,如果它是借助于C节点并且使用本发明的所有其它部件发送的话。作为其他这样的因素的第三个例子,可以监视在每个C节点上当前的负荷,以及宁愿要轻负荷的C节点,它可能比起另一个更重负荷的C节点多少离得更远。作为其他这样的因素的第四个例子,可以把附加优先选择给予在它的超高速缓冲存储器中更可能具有所请求内容的C节点。
在某些实施例中,选择可以由重定向系统固有地执行。在其他实施例中,选择器可以使用从映射系统得到的信息来选择C节点,或S节点,或二者。如上所述,C节点可以由一个选择器被选择,以及S节点可以由另一个选择器被选择。C节点必须配备有S节点选择,以便发送到S节点。所以,如果S节点由分开的选择器被选择,则选择必须被传送到C节点。这可以由例如客户完成,或由选择器完成。替换地,单个选择器可以选择C节点和S节点,它们允许选择器考虑从发源地到目的地的链路中的每个子链路的特性,如果想要的话。
重定向系统
在优选实施例中,本发明包括或使用在这里被称为“重定向系统”的装置,这样,包括对于万维网内容的请求的某个万维网业务被传送到选择的C节点,而不是直接传送到通常传递这样的内容的服务器。重定向系统用来把业务发送到选择的C节点,它被选择为接近于客户,或通过其他类似的性能相关的准则被选择,然后被这样的C节点截取。在某些情形下,重定向系统执行选择系统的功能以及提供重定向。
重定向系统的以下的另一个实施例作为例子被提供。然而,这个列表不打算是穷举的,以及本发明设想可代之以使用的其他装置。而且,正如本领域技术人员将会看到的,在下面的列表中方法的许多组合或变例可用作为重定向装置。
万维网代理服务
大多数万维网客户可被配置成使用代理。当这样被配置时,客户发送请求到指定的代理,而不是直接到请求的内容的源(例如,到包含内容的万维网服务器)。然后,代理以客户的名义得到信息,并且把这个响应转发回客户。客户配置可以人工地(即,用户在他的浏览器中设置参量)或自动地(例如,浏览器下载配置设置,包括来自一已知位置的代理设置)完成,或可以被固定到客户节点。对于每个请求客户可以进到同一个代理,或可以基于逐个请求的原则作出关于是否使用代理(以及如果是的话,是哪个代理)的决定。因此,如果使用代理,则在某些情形下,C节点不被选择,至少不是动态地选择,以及对于本例的重定向系统因此包括C节点的任何选择以及重定向。
将会看到,人的判断或计算机程序可被使用来根据客户的位置或相对距离确定接近的C节点的地址或名称。然后,通过使用人工的或自动的配置,客户被配置来使用C节点作为它的、用于适当的万维网业务的代理。
透明的网络截取
专门的计算机或网络单元,诸如路由器,可被这样地放置在网络中,以使得来自某些客户的业务传送通过这个节点。这个节点可以运行监视所有外出业务的硬件或软件,以及可以对于每个分组或业务流作出有关这样的业务是否以它的正常的路由不受阻碍地传送,或分组是否被截取用于特别处理的决定。
节点被配置成截取万维网请求和应当由本发明处理的其他业务。为了能够看见来自客户的所有的业务,截取节点通常将必须接近于客户(例如,在与客户相同的机器,与客户相同的物理网络,或在客户的ISP处)。因此,被配置成截取这样的业务的节点可用作为C节点。
当截取节点本身不是C节点,但具有发送选择的业务到附近的C节点的能力时,出现这种截取系统的变例,例如使用IP路由和/或封装IP分组然后把它们转发到C节点。在这种情形下,各种各样的装置可被使用于截取节点以获知附近的C节点的标识。例如,最接近的C节点的名称或IP地址可被固定到截取节点,或被存储在截取节点可接入到的数据库中。替换地,截取节点可以询问专门的计算机或系统,它分析万维网距离以及能识别适当的C节点。
DNS重定向
当客户发出万维网请求时,它通常通过它的域名,诸如“www.someserver.com”,来识别该请求的服务器。专门的网络单元存在,它把这样的名称映射为网络地址,它在互联网中通常是数字互联网协议(IP)地址。互联网路由基础结构根据IP地址找到计算机和网络单元。今天使用的、用于把名称映射为网络地址的最普通的服务被称为域名系统,或DNS。然而,可以引起各种具有相同用途的竞争目录业务,以及以后的讨论也可应用于这样的业务。
通常DNS被配置成返回万维网服务器的实际的地址。然而,它可被配置成返回另一个计算机或网络节点的地址。在这样的情形下,打算用于服务器的业务事实上将改为达到其他的节点。然而,这可能是可接受的,只要其他的节点可代替打算的服务器正确地起作用,或能够把业务转发到打算的服务器。
重定向可以通过DNS把服务器的名称映射到接近地位于的C节点的地址而不是服务器本身的地址,而达到。在这方面,重要的是指出,DNS系统不需要返回同一个地址给它对于特定名称接收的每个询问。由于DNS可确定请求者的IP地址(它本身可以是另一个DNS服务器),它可被配置成返还取决于请求的客户而不同的地址,具体地,它可识别接近于该客户的节点。有几种配置DNS系统或写DNS软件的特别的方式,以便返还多半接近于请求的客户的C节点的IP地址,这些技术对于本领域技术人员是熟知的。
使用专用域名的DNS重定向
DNS重定向的变例涉及到使用不同于服务器的域名的、新的域名,诸如“www.cnode.com”或“www.someserver-cnode.com”。DNS系统被配置成取决于请求的客户而对于这个新的名字返还不同的IP地址,这样的IP地址标识接近于客户的C节点。在这个方法中,实际的服务器保持它的原先的名字,例如“www.someserver.com”,以及DNS把这个名字映射为服务器的正确的IP地址(以及不是C节点的地址)。
当服务器传递内容时,内容可包含对于另外的万维网对象的引用。具体地,以超文本标记语言(HTML)的网页可包含对于被保持在服务器内或其他地方的其他对象的引用。在这个R4的变例中,服务器可以通过使用它自己的名字引用对象(例如,如果对象被称为“home.html”,以及网址被称为“www.someserver.com”,则URL可以是“HTTP://www.someserver.com/home.html”),如果它不要由本发明处理的对象的话,以及可以通过使用新的名字索引(例如“HTTP://www.cnode.com/some server/home.html”或“HTTP://www.someserver-cnode.com/home.html”),以便使得这样的内容被本发明处理。
这个方法的一个优点是,提供万维网服务器的名字的DNS查找请求将回过来接收服务器的真实的地址。
HTTP重定向
HTTP协议的版本包括各种“重定向”命令和响应。当客户请求来自站址的内容时,它可以接收不包括请求内容的响应,而代之以列出其中可以找到该内容的另一个位置。这些将被称为HTTP重定向响应。大多数万维网客户被配置成自动进到提出的位置,而不需要附加的用户反馈。
为了使用HTTP重定向作为本发明的重定向机制的一部分,请求将初始地被发送到固定的目的地,它可以是服务器本身,或某个其他专门的节点,但它不必被选择为接近于客户或按照性能有关的准则。这个节点可以使用请求的客户的地址来选择接近于该客户的C节点,然后HTTP重定向客户去使用该C节点。这个选择可以由服务器本身运行用于这个目的的软件来完成,或服务器可询问另一个专门计算机。这个方法的一个变例是,请求初始地被发送到服务器,该HTTP重定向请求到能够选择C节点的另一个专门计算机,然后这个专门计算机执行第二HTTP重定向到选择的C节点。
HTTP重定向和URL重写
这个重定向系统和方法是HTTP重定向的变例。当请求被重定向到某个C节点时,C节点将负责把响应返还到客户。如果响应是HTML,以及包含对于其他对象(URL)的索引时,则这些索引可包含原先的服务器的域名。
C节点可修正HTML,用C节点自己的名字或IP地址代替服务器的名字。在这种方式下,如果客户以后决定请求一个索引的对象,则请求将自动地被直接发送到C节点节点,而不必招来重定向的附加开销。
用于选择的网络映射和其他方法
上面讨论的重定向方法是打算给服务器的互联网业务实际上首先被发送到C节点节点的可能的方法。分开的问题是根据“接近于”客户,或按照其他性能有关的准则,找出和选择C节点。有时,有可能通过人的判断或一次网络分析来确定适当的C节点,然后固定从客户到C节点的映射:例如,人工配置每个客户代理的设置,正如在万维网代理方法中那样。在其他时间,C节点接近度的确定必须经常被重新访问,因为网络的拥塞改变在两个互联网位置之间的网络等待时间,时间有关的带宽花费,C节点当前运行上的改变,和其他问题。
为了重新访问C节点接近度决定,可以部署一个或多个专门的计算机或软件系统,它们监视正在进行的万维网业务,以及这样的机器可建立“映射”或模型,显示当前的网络距离,它可被选择器使用来选择对于每个客户的适当的C节点。许多映射和监视系统对于本领域技术人员是已知的。以下的列表并不打算是完全的,而仅仅显示这些技术的某些例子。优选实施例组合地使用下面的所有的方法。
从代表性机器到C节点进行的测量
运行在网络的任何机器上的软件程序可以通过发送特定形式的短的IP分组以及测量返回到第一计算机的响应花费多少时间(有时称为“pinging(强制响应)”,因为标准UNIX程序“ping”,就是这样做的),而测量在它本身与第二计算机(例如,C节点)之间的等待时间,以及可以同样地通过测量发送已知长度的较长数据流花费的时间,并把它除以传输时间,而测量带宽。另外,其他测量方案是熟知的。因此,可以在互联网的许多位置部署这样的软件,其中每个这样的位置认为代表某个类别的用户。例如,位于ISP存在点设施的这样的软件假设给予测量,它代表在该区域中的ISP用户。这种软件的每个安装将周期地测量带宽和到每个C节点的等待时间(或候选C节点的某个选择的收集),以及将把它的发现周期地传送到中央“映射”设备,后者比对和分析该发现内容。
从C节点到代表性机器进行的测量
C节点也可以包含如在上述的方法中那样的软件,并且测量在它们本身与其他计算机或网络设备(正如路由器)的特定集合之间的当前的网络距离(用等待时间、带宽、或其他测量值来表示)。这个信息被传送到如在第一映射方法中那样的映射设备。
C节点的负荷和可用性
映射设备可以周期地询问每个C节点,以便发现C节点是否仍旧在运行,以及如果是这样的话,从C节点得到关于当前的容量和负荷的报告。替换地,C节点可以周期地发送这样的报告给映射设备。
源路由的网络测量
映射设备或其他计算机可以如在第一映射方法中描述的那样,通过发送特定的分组来估计在它本身与特定的C节点之间的带宽和等待时间,但可进一步使用“IP级别源路由”来规定这些分组在它们到C节点的路程上可经历特定的中间的机器。这个中间的机器可以是客户计算机或被认为是一类客户的代表的网络节点。映射设备可以对一个以上的C节点作出这样的估计。由于在映射设备与选择的中间节点之间的距离可被看作为恒定的,与哪个C节点被询问无关,所以,在不同的C节点的这些测量值之间的差别可被用作为在中间节点与客户之间的距离的近似测量。
路由信息
互联网路由器利用标准算法,这样,IP业务可以通过使用有效的路径从源计算机被发送到目的地计算机。作为这些算法的一部分,这些路由器保持有关互联网拓扑的信息,包括在路由器与互联网上某些其他位置之间的距离的直观推断测量。这个信息可被提取和被转发到映射设备。
映射分析
映射设备可以收集有关在各个计算机对之间的网络距离的信息,这样的估值是通过使用任何刚好存在的装置,或其他这样的装置而得到的。映射设备也可以起到关于网络和通信条件的其他信息的收集器或贮藏库,诸如从路由器和其他源得到的拓扑信息,包含使用各种链路的花费(例如,带宽收费)的表,关于节点与计算机的静态信息(诸如哪些C节点包括超高速缓冲存储器),等等。事实上,认为与选择处理过程有关的任何信息可被收集和被存储在这样的设备中。
映射设备也可以以各种各样的方式分析和组织收集的信息,使得它对于选择器是更有用的。例如,映射设备可以利用相关数据库技术来存储在成对的计算机之间的网络距离表,因此使得选择处理过程更容易对这样的表发出复杂的询问以及得到非常快速的回答。作为另一个例子,映射设备可以跟踪它存储的数据的时间性,以及当需要它们更新特定的数据项或填充丢失的项时发起新的测量。作为再一个例子,映射设备可以利用分析算法来把它具有的原始的(即,未处理的)数据变换成更简明或有用的形式。为了说明这样的分析,映射设备可以使用已知的“最短路径”和“成长树”算法。当映射设备具有的原始的(即,未处理的)数据是成对的计算机到计算机网络距离的集合时,这些算法是有用的,然而,通常不容易得到在每个可能的计算机对之间的直接测量值。这样,原始数据将只包含某些可能的对的测量值,然而如果映射设备能提供在任何的计算机对之间的距离的估值,而不只是进行直接测量的那些值的话,则它在选择处理过程中可能是有用的。有可能推断(或直观推断估计)在计算机对之间的网络距离,它们的直接估值是不可提供的。一个策略是找出包含一个或多个中间节点间的路径,比较两个计算机,这样,路径上的每个直接连接具有测量的网络距离。在整个路径上的这些距离的适当的组合(例如,求和)可被看作为在路径的末端点之间的距离的测量值。如果考虑在末端点之间所有的可能的路径(或它们的代表性样本),然后考虑最短的这样的路径,则这个最小路径距离可被看作为在两个末端点之间距离的合理的估值。
统计分析
C节点和S节点可监视和记录对于它们载送的事务的下载时间和通信性能的其他方面。因此,在时间上,它们可建立历史数据库,记录在前事务的特性,以及可以按照涉及到的客户、涉及到的服务器把这个数据库归类,或通过客户与服务器组合在一起进行归类。标准的统计技术和/或机器学习技术可被采用来使用这个历史数据而建立能够概述这个数据和预测将来的性能的模型。例如,这个模型的一个方面可以是估值在特定的客户与特定的C节点之间的平均通信时间。这个估值可被映射软件用作为在该客户与该C节点之间的距离度量。当在单个客户与多个C节点之间存在有这样的估值时,映射设备可以通过选择具有最低的估值的平均通信时间(或下载时间)的C节点而在C节点中间进行选择用于该客户。
使用诸如刚描述的那样的装置,映射设备可以保持在某些计算机、网络、或网络设备(诸如路由器)、以及本发明所使用的节点(C节点和/或S节点)之间当前的互联网接近度模型。当接收到来自客户的请求时,选择器或选择处理过程可以使用这个模型来选择接近于客户的C节点。选择器可以被告知客户的名字或IP地址,如果这个名字或IP地址是在设备已知的名字或IP地址中间,则选择器可查验C节点的列表来选择最接近的C节点。如果客户对于选择器不是直接已知的,则选择器可代之以选择被认为接近于客户的已知的计算机,然后选择接近于所选择已知计算机的可供使用的C节点。有几种方式来选择这样的已知计算机,下面给出两个例子。
第一,如果选择器配备有客户的域名,则它可选择共享同一个顶级域的已知的计算机。例如,客户“sitel.co.nz”多半是在新西兰,这样,如果可提供,则使用已知的计算机“site2.co.nz”是合理的。第二,可以尝试根据IP地址的分析找出已知的附近的计算机,举例如下。版本4 IP地址用32比特数代表。IP地址的范围被构建为使得地址中的高阶(最高有效)比特确定具体的网络(例如,在建筑物中的具体的以太网)以及较低阶的比特确定在该网络中哪个具体的机器或主机被标识出。该结构可进一步复杂化,因为例如,它存在子网络和以下的事实:在固定数目的比特以后没有出现在网络部分与主机部分之间的划分。然而,通常确实是这样:当两个机器被连接到同一个网络或子网络时它们在最通常使用的网络度量上是互相非常接近的。因此,有可能把客户的IP地址与已知的计算机的IP地址进行比较,然后,使用网络结构的知识,选择在同一个网络上的已知的计算机作为客户。
以上的方法的更快速的、多少有点粗糙的版本使用这样的事实:网络号是由地址的高阶比特规定的。因此可以把客户的IP地址与已知的计算机的IP地址进行比较,以便在客户与已知的计算机的同样的、尽可能多的接连高阶比特的意义上,找出与客户的地址“最好地匹配”的已知的地址。这种直观推断技术经常可以选择在同一个网络或子网络上的已知的计算机作为客户。通常,使用选择器来找出或猜测接近于特定的客户的C节点(或代替满足或除了满足客户的接近度以外,满足与其他性能有关的准则的C节点,而)的问题取决于由映射设备或映射系统所利用的特定的装置。本发明可以连同任何这样的装置被使用。
将会看到,测量在互联网上的计算机之间的网络距离,在某些情形下,可能是很难做得很好的任务。无论如何,即使映射设备使用非常粗糙的或试探的方法来估值距离和其他相关的因素,本发明仍能起作用。
第二个重要的实际问题是,在某些情形下,不可能提供客户的精确的标识给选择器;例如,客户名字或IP地址都是不可提供的。出现这种情形的一个重要的例子是用DNS重定向装置。当前的DNS系统实质上是分级结构的,这是指一个DNS服务器将询问另一个,以便找到响应。当如在讨论DNS重定向时提到的、被专门配置的DNS服务器接收一个请求时,请求多半不直接来自于发起请求的客户,而是来自于与客户有联系的“本地”DNS服务器,它把请求转发到专门的服务器。在这种情形下,专门的DNS服务器只能看到本地DNS服务器的IP地址,而不是客户的IP地址。在这种具体的情形下,把本地DNS服务器的IP地址,而不是客户的IP地址,提供给选择器是合理的,因为多半是本地DNS服务器相当接近于客户。这说明对于提供客户标识给选择器的问题的一个可能的通用的回答,它是以合理地推测为接近于客户的另一个计算机的标识来代替客户的标识。
然而它可被部署,映射设备和选择器可以考虑除了在C节点与客户之间的网络接近度的估值以外的其他因素。这样的因素的某些例子早已给出。具体地,这样的因素的重要例子包括估计在每个C节点与目标服务器之间,或在每个C节点与可以为目标服务器处理业务的S节点之间的网络接近度。一个证明是,这样的估值在与C节点到客户的距离适当的组合,可被使用来估值在客户与服务器之间的总的通信花费,以及可能希望使得后一个累积数字最小化。这可以通过以下的更具体的例子来说明。
正如前面所讨论的,C节点到客户的距离(以带宽和等待时间数字的形式)的估值可以通过标准技术(诸如测量等待时间和定时传输次数的“ping”来测量带宽)而得到。有已知的统计模型可以用来把等待时间和带宽数字变换成在HTTP协议上下载典型的网页所花费的时间的估值。人们可以估值在客户与C节点之间的通信如何影响客户与服务器之间的累积下载时间。第二,人们可以把软件部署在C节点与S节点处,它们直接测量为处理到给定的服务器的请求所花费的时间,以及部署其他软件,它使用这个历史数据来产生平均值,以便估计对在C节点与服务器之间(或替换地,但类似地,在C节点与S节点之间)的典型的下载时间的贡献。最后,可以把下载时间的两个估值相加,得到对于整个事务的下载时间的估值。或者可以把前一个估值加到第二个估值某个小于一的倍数上,其中倍数被选择以计及C节点从超高速缓冲存储器传递内容到客户的次数的分数,所以,它不需要附加通信。这个例子的变例是通过使用相同的技术来估值累积下载时间的三个分量-客户到C节点,C节点到S节点,和S节点到服务器,然后组合这些分量。
上面讨论的映射方法以及以后讨论的映射和选择,已解决了其中例如通过专门的映射设备进行C节点明显选择的情形。可被使用的第二个技术不用这样的明显选择装置,而是使用IP路由器来进行隐性映射和选择。IP路由器包括试图找出在通信的发源地与目的地之间的最短路径的算法和技术。路由技术通常是在每个IP地址相应于一个唯一的机器的假设下被设计的。但有可能将同一个IP地址给予许多机器,并且如果非常仔细地管理,则现有的路由算法打算把业务发送到具有特定地址的最接近机器。这个概念可被使用于本发明,如果所有的C节点(或所有的C节点的子集)被给予相同的IP地址的话。当结合除了万维网代理或透明的网络截取以外的、以上讨论的任何的重定向装置使用时,这意味着把业务从服务器引开且重定向到本发明的C节点,但重定向可以是指向共同的IP地址,而不需要明显选择哪个C节点最接近于客户。现有的路由基础结构可以起到节点选择器的作用,自动地选择和引导业务到接近的C节点。这个技术有时被称为“anycast”。
作为一个例子,结合图2和3进一步说明上述的DNS重定向的一个实施例。在这里说明的DNS重定向的版本中,运行定制的软件的专门DNS服务器被放置在互联网中,DNS系统本身被配置成使得解析服务器名字的请求(即,找出至少一个相应的IP地址)被“委派”给这样的定制的服务器。DNS系统是复杂的、互联网范围的、分布数据库,包括许多不同的服务器,它们互相通信和在它们之间传送请求。这个例子不应当被解释为使用DNS系统作为重定向装置的唯一方式。例如,在内容分布行业中,通常采用分级组织的定制的服务器组,这样,任何一个请求只通过这些服务器的协调的动作被解析。然而,在本例中,表明可以部署仅仅一个这样的专门服务器的解决方案。
图2显示一旦这样的专门DNS服务器接收请求把服务器名称变换成IP地址(即,解析服务器名称),由这样的专门DNS服务器采取的步骤的总貌。这个请求是通过使用标准DNS协议接收的。解析处理过程在步骤200当接收到请求时开始,其中请求者的IP地址也被获取和被记录。(这可以是客户的地址,但正如上面讨论的,常常代之以另一个对客户更“本地”的DNS服务器。)在步骤201,专门的DNS服务器发送询问到选择器,以及提供请求者的IP地址和服务器名称。在步骤202,它接收来自选择器的响应,它是一个C节点的名称。专门DNS服务器咨询本地数据库300,如图3所示,它把C节点名称302与服务器名称301的每对组合与对于该组合独特的IP地址303相联系。在步骤203,它使用这个数据库300来选择相应于由映射设备所提供的C节点名称与原先请求中给出的服务器名称的组合的IP地址。这样,C节点可以关系到使用几个不同的IP地址之一,取决于请求哪个服务器名称;这样做的理由在后面讨论。选择的IP地址然后在步骤204通过使用标准化的DNS协议被返还给请求者。
作为一个例子,通过图4和5进一步说明选择器的一个具体的实施例。图4显示由选择器采取的步骤的总貌,在步骤400,它接收包含IP地址和服务器名称的请求,因此,它负责指定适当的C节点。在本说明中,假设用于C节点选择的准则是使得估值的积累的下载时间最小化。选择器利用存储的表或数据库,诸如图5所示的数据库500。这个数据库500记录在包含IP地址501、C节点名称502、和服务器名称503的三者的组合与相应的估值的下载时间之间的联系。估值的下载时间是当请求通过本发明使用指示的C节点被处理时,对于在指示的IP地址处的客户与指示的服务器之间的典型的万维网事务的估值时间。
这些数据库项目可被人工地加上,以及估值的下载时间可以是基于专家的最好的判断。替换地,它们可以是基于数据,诸如先前的事务所花费的时间的记录,和网络测量数据,诸如带宽和等待时间,以及通过使用以上讨论的技术被计算。在本例中,我们考虑这样的情形,其中每个个别的C节点负责汇集与它有关的、所有的估值下载时间,以及以事项[IP地址、C节点名称、服务器名称、估值的下载时间]的四元组形式周期地传送这些估值到映射设备。选择器的简单的收听处理过程接收这样的消息,以及当它这样做时,它通过使用接收的消息的内容更新数据库500。在本例中,更新数据库500的选择器的这个收听处理过程,与附着于每个C节点的估值处理过程的行动(图6,下面描述的)相组合,可被看作为分布的映射处理过程。这是因为这些处理过程一起创建和正确地保持由选择处理过程使用的数据库500。
图4并不特别地解决测量和估值处理过程,或刚讨论的简单的收听处理过程,而是显示信息一旦被收集,选择器如何使用这个信息。因为数据库500通常不容易包含对于每个个别IP地址特定的信息,所以映射设备必须首先在步骤401检验所提供的IP地址是否为其中存在信息的那些IP地址之一。如果不是的话,映射设备在步骤402通过使用先前讨论的技术选择其中信息是已知的、以及与提供的IP地址尽可能接近地匹配的IP地址。在这种情形下,在步骤403,用所选择的“最好地”匹配的IP地址代替原先提供的IP地址。在步骤404,再次使用数据库500来识别所有项目的集合,其中提供的IP地址和提供的服务器名称以组合形式出现。在步骤405,从刚发现其具有最小的估值的下载时间的行集合中选择一行。在步骤406,设备提取在刚选择的行中出现的C节点的名称,以及把这个名称作为响应返还给原先的请求。
作为先前的例子的扩展,图6显示软件处理过程的例子,它可以连同C节点一起部署,或许在与C节点相同的计算机上执行,它估值下载时间,然后把这些估值传送到如上面讨论的选择器的收听处理过程,如图6所示,这个处理过程在一个环路中运行,只要C节点是可运行的,但在重复所描述的步骤之前,在步骤600暂停一段可配置的时间“k”分钟。在步骤601,处理过程咨询简单的本地数据库(未示出),接收固定的IP地址表。可以人工进入的这些IP地址,打算是“代表的”客户计算机的集合。包括的准则是:这些计算机响应在运行“UNIX”或“Windows”操作系统的版本的大多数计算机上发现的、标准的“ping”命令,它被使用来测量分组从客户行进到计算机和返回花费的时间。处理过程ping(强制响应)列表中的每个IP地址可配置的数目“I”次,以及将结果进行平均,由此估值在每个IP地址与C节点本身之间的等待时间(步骤602)。在步骤603,处理过程咨询第二数据库700,如图7所示,检索对于C节点已知的服务器名称列表。然后,对于每个这样的服务器,在步骤604,处理过程试图从服务器检索用于测试目的的固定的万维网对象,以及测量响应到达的时间。这个测试对象关系到使用固定的URL,诸如“test.html”。这个测试对象可以直接从特定的服务器被检索,或可以通过使用中间S节点被获取。在任一种情形下,每个这样的测试被执行可配置的数目“m”次,每个服务器的结果被平均,以便得出在C节点与服务器之间的下载时间的估值。处理过程然后考虑IP地址和来自刚考虑的列表的服务器的每个组合,并且对于每个组合应用公式,组合在IP地址与C节点之间估值的ping时间和在C节点与服务器之间的估值的下载时间(步骤605)。可被使用的这样的公式的例子是:“p”乘以估值的ping时间加上“q”乘以估值的下载时间,其中“p”和“q”是可配置的数字参量,它们可被人工调节。最后,处理过程把刚得到的结果的列表传送到选择器上的收听处理过程,诸如事项[IP地址、C节点名称、服务器名称、估值的下载时间]的四元组。
C节点的运行
以下的讨论回到本发明的其他方面的描述,假设重定向装置被采用来使得客户的万维网请求被传送到某个C节点。
本发明包括驻留于C节点的专门的软件和/或硬件。当C节点从客户接收万维网请求时,节点的软件截取该请求。C节点包括对于了解标准化的万维网通信协议所必须的软件,今天,这些万维网通信协议是最经常的TCP上的HTTP的版本,虽然本发明设想现在和将来使用的其他协议。例如,无线应用协议(WAP)不久可能成为在客户是无线电话或是通过无线链路通信的其他设备时使用的标准通信协议。
如此,C节点可以解释从客户接收的请求,也能够通过使用正确的协议发送确认消息到客户,这样,客户知道请求已被接收。
在C节点上其余的软件被设计用于得到请求的内容,如果这个内容在C节点还没有存在的话,然后,通过使用客户可处理的任何标准化的协议把响应传送回到客户。这通常是由客户使用来传送原先请求的相同协议。
C节点包括用于确定包含对于满足客户的请求所必须的内容的万维网服务器或网址的标识的装置。为达到这一点有各种各样的方法,包括以下两个例子。
IP地址归类
C节点可以具有多个互联网协议地址和互联网端口号码。C节点将知道被使用来与它进行通信(用于C节点本身和请求的发起者)的端口和IP地址,是互联网的性质。C节点可以例如在数据库中保持从IP地址(和/或端口)到包含内容的实际的万维网服务器的映射。例如,如果本发明的重定向阶段使用DNS引导,则DNS可被配置成根据询问哪个服务器的名称而返还不同的IP地址。为了说明,对于“www.site.com”的询问可返还地址123.45.67.89,以及对于“www.othersite.com”的询问可返还地址156.78.90.12。即使两个地址是用于同一个C节点的替换的地址,该C节点因此能够告诉(取决于被连接到的地址)原先的请求是对于“该站址”还是对于“其他站址”。
在这个方法中,C节点的特定的IP地址与服务器名称之间的关系可以是静态的或动态的。在前一种情形下,该关系不经常改变,以及可以是固定的(例如,人工地)。在后一种情形下,关系相对较经常地改变,这样,IP地址仅仅在有当前到达C节点的对服务器的请求时才被分配给该服务器。动态分配需要细心管理,确定哪些服务器是(或者有可能很快就是)通过C节点的请求的主题,以及也需要与DNS系统的细心和严格的同步协调,这样,DNS系统和C节点商定每个IP地址的当前的意义。然而,动态分配方案的优点可以是,需要较少的IP地址。
HTTP协议信息
在某些环境下,服务器的名称将被包括在HTTP标题信息中,以及C节点可读出这个信息,确定服务器的名称。HTTP协议在至少以下的三个环境下提供这个信息:当C节点被用作为代理,正如在万维网代理重定向中那样;当客户通过使用HTTP版本1.1进行通信时;以及在大多数情况下,当HTTP请求通过使用HTTP重定向被重定向到C节点时。
C节点任选地使用超高速缓冲存储器,它是万维网内容的存储器,诸如网页和图象文件。如果万维网请求可以通过使用在这个超高速缓冲存储器中的内容而被满足,则C节点可以在形成它对客户的响应时使用超高速缓存的内容。以许多策略保持这样的超高速缓冲存储器,以及可以采用任一个策略。超高速缓冲存储器可以被包括作为C节点的一部分或包含C节点的设备;例如,被存储在本地硬盘或存储器中。然而,超高速缓冲存储器并不需要对于C节点是本地的。对于计算机或节点可询问其他超高速缓存的节点有已知的策略,以便弄清它们是否能够提供请求的内容。C节点也可以采用这样的方式来确定联系服务器本身(通过使用后面讨论的机制)或试图联系超高速缓冲存储器是否更有效的。然而,以下的讨论假设,C节点在它的超高速缓冲存储器之外(或从任何附近的超高速缓冲存储器)不能满足完全的请求。
使用这样的方式确定请求的内容的最后的源(也就是,服务器)后,C节点找出被认为接近于服务器的S节点。然而,如先前讨论的,S节点的选择除了或代替在S节点与服务器之间的接近度以外,也可以考虑其他因素,具体地,与性能有关的因素。
本发明的S节点也位于互联网中选择的位置。具体地,这样的位置可包括处在与万维网服务器相同的建筑或子网络上,处在用于万维网服务器的商业的“共同位置的”设施,处在ISP处,位于互联网主干网,或处在主干的对等点。也有可能是执行S节点的功能的程序可以运行在与万维网服务器本身相同的物理硬件上,或甚至与万维网服务器软件集成在一起。
C节点使用找出接近于特定的万维网服务器的S节点的方法。这样的方法的例子包括以下事例。首先,C节点可以把例如从服务器名称到适当的S节点的名称或地址的映射存储在数据库。替换地,C节点可以包括用于监视网络条件的软件或系统,因此,构建对于C节点的以上讨论的类型的互联网接近度“映射”,有可能使用诸如以上讨论的映射方法和相关的技术那样的方法。在这种情形下,如果C节点具有所有的候选S节点的列表和知道服务器本身的地址,则它能够选择接近于服务器的S节点。其中数据库被使用和用网络监视和映射的结果被周期地更新的这些方法的组合是可以使用的。也有可能分开的机器或系统负责保持从服务器名称到S节点的名称(或地址)的映射,以及C节点询问这些机器或系统之一。这个询问可以通过使用类似于上面描述的DNS重定向的DNS,或通过某个其他协议,而被完成。再一个可能是,每个S节点保持最新的接近于它的服务器列表,以及S节点周期地把这个列表传送到每个C节点,这样,C节点可保持S节点对服务器的关系的数据库。替换地,专门的系统可保持当前的关系组,以及周期地把这个列表传送到每个C节点。有许多其他的可采用的方法,具体地,可被利用来选择C节点的任何重定向方法也可以由本领域技术人员容易地采用来选择S节点。
在本发明的不同的版本中,S节点被放置成使得至少一个S节点将截取打算给特定的服务器的所有的业务。例如,S节点可以位于与服务器相同的物理设备,或位于在服务器的本地物理网络上的网关计算机处,或位于服务器的ISP,或甚至与同一个服务器软件相集成。当S节点处理过程是在与服务器相同的机器上时,在S节点处理过程与服务器之间的通信并不涉及任何外部网通信,而是包含在机器内部的逻辑通信路径。在一个机器上的两个分开的处理过程之间的这样的逻辑连接对于本领域技术人员是熟知的,它们常常被称为“回送”连接。除了不通过外部网以外,使用回送连接的两个处理过程之间的通信类似于在不同机器上的处理过程之间的常规网络通信,以及可以使用相同的协议。当S节点功能与服务器软件相集成时,对于回送连接的需要也可以被避免。在这种情形下,在集成软件过程的S节点部分和软件过程的服务器部分之间的通信仅仅是指这样的步骤:其中S节点部分准备服务器部分预期形式的数据-也就是,与服务器部分预期的协议形式相兼容-,然后把准备的数据提供给服务器部分。
其中S节点是截取器或是与服务器共处一地的场合下,C节点不需要识别服务器附近的S节点的地址。而是,它可以把它想要由S节点接收的任何通信直接引导到服务器的网络地址。S节点具有截取和检查到服务器的所有业务的能力,以及如果业务是来自于C节点,则S节点可以截取这样的业务用于特别处理,而否则把业务传送到未改变的服务器。在这个变例中,即使C节点使用服务器的网络地址,实际上,来自C节点的通信也将被S节点截取。
通过明显的选择或通过截取的隐含的保证来选择S节点后,C节点通过使用专门的协议或这样的协议组合把客户的请求传送给选择的S节点;此后,这些协议被称为节点间协议。这样的协议的目的是提供增强的性能,这意味着减小的花费、减小的带宽消耗、减小的等待时间、增加的安全性、和其他的这样的优点,或这些优点的任何组合。
C节点的例子
作为一个例子,通过使用图3,7,8和9进一步说明C节点的一个实施例。图8显示当C节点接收来自客户的HTTP请求时(如在步骤800),由C节点采取的步骤的总貌。可能有一个以上的IP地址可以由客户使用来与C节点进行通信。但有可能通过使用普通的网络技术来识别和记录被使用来与机器进行联系的IP地址,以及C节点也在步骤800做到这一点。C节点现在必须重新构建该请求所预定给的服务器的名称。在步骤801,C节点检查HTTP请求标题,以及如果标题包含以上对于HTTP协议信息技术讨论的服务器的名称,则在步骤802,C节点从标题中提取这个名称。否则,在步骤803,它执行如上所述的IP地址归类。具体地,在这种情形下,它咨询本地的表或数据库,诸如图9的数据库900,它包含IP地址与服务器名称之间的关系。这个表可以如上所述地由分开的处理过程周期地保持,并且在本例中,它应当被协调和被保持为与诸如图3的数据库300那样的数据库一致,该数据库可被专门的DNS服务器使用。
在步骤804,C节点检查它的超高速缓冲存储器,以查看它是否保持所请求对象的适当的最新副本,它可以在步骤810立即把该副本返还给客户。将会看到,超高速缓存允许可在这里使用的许多已知的改进和附加,但在本说明中,我们只考虑超高速缓冲存储器的简单的实施方案。如果该请求不能通过使用超高速缓冲存储器被回答,则C节点咨询一个表格或数据库,诸如图7所示的数据库700。这个表格存储每个服务器名称与S节点的IP地址之间的关系-也就是,打算给服务器的请求可被发送到的S节点。这样的表格以及管理它的方法,是先前讨论的。在步骤805,C节点使用数据库700来提取相应于在步骤802或步骤803找到的服务器名称的S节点的IP地址。在步骤806,C节点可以使用压缩方法,例如,被称为gzip的标准压缩算法,来压缩该请求。还在步骤806,C节点把服务器的名称加到该请求的标题上,如果它还没有存在的话。在步骤807,C节点通过使用在本节中后面讨论的一个或多个节点间协议把请求发送到选择的S节点。具体地,可以采用用于事务的TCP(T/TCP),一个标准化的、但很少使用的协议。在C节点在步骤808再次通过使用一个或多个节点间协议(诸如T/TCP)接收到来自S节点的响应之前,C节点一直等待。C节点也可以解压缩该响应,如果响应以压缩的形式到达的话。这个响应然后在步骤809被存储在C节点的超高速缓冲存储器。它也在步骤810被返还给客户,完成该事务。
S节点的运行
S节点通过使用节点间协议接收来自C节点的请求。在S节点上的其他软件被设计来得到来自服务器的请求的内容,如果它尚未存在于S节点的话,以及在任一种情形下,把响应传送回C节点。
S节点也包括可选的超高速缓冲存储器。如果万维网请求可使用在这个超高速缓冲存储器中的内容被完全或部分地满足的话,S节点可以使用超高速缓存的内容,形成它给C节点的响应。
否则,S节点将与服务器通信和请求该内容。这样的通信是通过使用服务器被设计使用的标准化的协议实行的,今天,这通常是在TCP上的HTTP的某个版本。
已得出请求的内容或得出对于原先请求的其他适当的响应后,S节点通过使用某个节点间协议或被设计用于改进性能的这样的协议的组合再次把这个响应传送回C节点。
C节点然后把响应转发到原先请求的客户。C节点可被配置成使得它在发送响应前等待接收来自S节点的完全的响应,或替换地,C节点可被配置成在信息到达时发送该信息,以使得甚至在C节点接收到整个响应之前就将响应的第一部分发送到客户。这个响应是通过使用客户可接受的标准协议被发送的,今天它通常是在TCP上的HTTP的版本。
S节点的例子
作为一个例子,通过图10进一步说明S节点的一个特定的实施例。图10显示当S节点接收来自C节点的请求时(如在步骤950),由S节点采取的步骤的总貌。在步骤951,请求被解压,如果必要的话,然后,在步骤952,从请求标题中提取服务器名称。在步骤953,S节点查看它的超高速缓冲存储器,弄清它是否保持它可立即返回到C节点的、适当的最新的副本。如果在超高速缓冲存储器中没有找到对象,则在步骤954,S节点通过使用HTTP发送请求到服务器,来检索对象。在步骤955,S节点接收来自服务器的响应,包括请求的对象。在步骤956,S节点可使用压缩方法,诸如标准算法“gzip”来压缩响应。在步骤957,它接着保存响应在它的超高速缓冲存储器中。然后,在步骤958,通过使用节点间协议(例如T/TCP)发送响应到C节点。
节点间协议和技术
存在许多候选者可用于节点间协议-也就是,将被使用在C节点与S节点之间的较高性能的协议。几个技术是已知的,它们能够加速万维网通信,但它们还没有被广泛地部署。然而,本发明并不限于任何特定的这样的协议,而设想在这个领域中继续开发。以下是11个这样的协议的列表。
应当指出,在本发明的某些实施例中,C节点和S节点包括用来互相进行通信的软件,用于直接响应请求以外的目的。具体地,S节点可包括软件,试图在C节点需要某个响应时提前进行预测,在这种情形下,S节点可发送响应到C节点,即使没有来自C节点的明显的请求。响应然后在C节点的超高速缓冲存储器中可提供,这样,如果它接收到适当的请求,它可更快速地响应。下面讨论的高性能节点间协议之一,预测内容推动,将说明这个概念。
连接共同分担(pooling)
在任何HTTP通信进行之前,TCP连接通常被建立。在建立这样的连接时有附加开销延时,它是至少一个来回行程时间(RTT):分组从源行进到目的地和返回所花费的时间。在建立TCP连接时涉及到的第二个花费是连接在作为拥塞避免措施的特定模式(通常称为“慢启动”模式)下开始发送数据。重要的一点是,在慢启动模式下,发送者在它发送更多的数据(即,附加分组)之前必须等待来自接收者的“确认”消息。由等待附加确认所造成的延时通常正比于RTT。正如名字“慢启动”表示的,在这个模式下性能会恶化。仅仅一会儿以后,具体地,在发送足够的业务以后,连接达到正常的性能。
在本发明中,C节点与S节点对可保持它们之间的一个或多个打开的TCP连接,其持续时间比起典型的客户/服务器HTTP互动的长度长得多。每个这样的连接可被重新使用,首先以一个客户的名义,然后以另一个客户的名义,等等。这样,在节点之间必须打开新连接的次数上,且从而在连接建立的附加开销上有很大的节省。保持一个或多个开放的连接更长的时间间隔以及把几个较短的通信会话复接成单个存活得长的连接的技术,被称为连接共同分担,它已在其他地方被应用。
即使当使用连接共同分担作为节点间协议的一部分时,与C节点进行通信的客户仍旧可能经常需要打开到C节点的连接。然而,由于一个C节点可以以许多服务器的名义传递内容到客户,所以,客户也有可能使保持它到C节点的连接为打开的时间,比起它保持它到任何单个服务器的打开连接的时间更长。
同样地,与S节点通信的服务器可能仍旧需要经常打开到S节点的连接。然而,由于一个S节点可以以许多不同客户的名义管理到服务器的请求,所以服务器也有可能使保持它到S节点的连接为打开的时间,比起它保持它到任何客户的打开连接的时间更长。
即使在C节点与客户之间,或在S节点与服务器之间,有经常的连接建立,本发明的重要的性质是,这些连接被建立的网络距离在任一种情形下多半是更短的。如上所述,TCP连接建立的附加开销花费取决于RTT,所以,取决于网络距离。作为节点间协议的连接共同分担避免在C节点与S节点之间的相对较长的网络距离上过量的连接建立,其中节省是最大的。将会看到,连接共同分担可以与来自TCP一侧的其他面向连接的协议一起使用。
对TCP的修正
由于TCP被广泛地认为是对于载送HTTP业务的本质上不适当的协议,所以,在完全不同的协议上或在TCP的修正的版本上载送HTTP可以是有利的。因为本发明的C节点和S节点可被设计成使用这样的专有的或先进的协议,所以,对于TCP的任何替换或对于TCP的改进可被用作为节点间协议。
例如,T/TCP(事务TCP)是基于TCP的标准协议,其中足够的信息被保持在每个主机中,以避免或减小启动花费,具体地是三方握手和慢启动。虽然没有广泛地使用于实践,但用于T/TCP的软件已是可提供的,以及可以不用修正地在本发明中用作为节点间协议。
本领域技术人员将会看到,有许多其他的已知的改进和修正。通常已知的改进的另外的例子是:具有选择的确认的TCP(TCP-SACK),具有大的窗口的TCP(TCP-LW),拥塞预测(正如在TCP-Vegas协议中发现的),和TCP欺骗(spoofing)。
一大类对TCP的改进和其他输送或网络级别的协议涉及到操纵分组尺寸。基于分组的协议(诸如IP,以及因此是TCP或在IP上载送的任何其他协议)的性能取决于发送的分组的尺寸,和它们被发送的定时。一个重要的因素是,为了性能的原因,保持分组尺寸小于“路径最大传送单元”(PMTU)是重要的,该PMTU被规定为可在链路(即,路径)上载送而不需要分段的最大分组尺寸。
为了避免分段,分组常常相当保守地被划定尺寸(即,小于PMTU),即使是在最好使用较大的分组(虽然仍旧小于PMTU)的情形下。在C节点与S节点之间,人们可以动态地监视PMTU和寻求最佳地划定分组尺寸。另外,分组尺寸确定常常不考虑应用级别对象边界。还有可能通过更智能地划定分组尺寸来增强性能。一个策略是选择分组尺寸,以使得应用级别的对象(像网页,万维网图象等等)被分割成跨越尽可能少的分组边界,以及尝试把多个小的对象组合成单个分组。
另一个类别的对TCP和IP的改进关系到分组定时。希望防止“突发”(太紧密间隔地发送分组),也避免在发送者以超过子链路带宽的方式发送分组时造成的分组丢失。如果发送者被修正成学习有关路径的传输性质,然后被限制不发出可能超过(即使是瞬时地)某个子链路的容量的分组突发,则这可被完成。作为替代,发送者应当通过在每个分组之间等待计算的时间,把分组间隔得更均匀。一个替换例是接收机监视网络条件。在TCP中,接收机返还确认消息给发送者(ACK消息)的定时,影响发送者发送以后的分组的定时。这样,接收机会影响发送者更有效地定出分组间隔。有时这被称为TCP速率控制。本领域技术人员将会看到,涉及到定分组尺寸和分组定时的其他技术是可能的,以及在链路的一端或两端可使用非标准软件的情形下是特别实际的。
HTTP标题压缩
HTTP协议除了任何包括的内容以外,包括标题作为每个消息的一部分,不管是请求还是响应。这个标题是具有可读的、文本的形式,以及典型地是几百字节长。标题的许多方面是非常可预测的,或过分冗长,以及可以以更简明的压缩形式被输送。
例如,标题常常包括描述内容长度的一个区,例如,包括文本行“内容长度:12345”,如果内容是12345字节长的话。通过包括已知的短码表示单字“内容长度”和通过以2字节二进制表示法编码数字12345,而不是5个分开的字符,这可被压缩。
作为另一个例子,标题常常宣布客户或服务器的各种特性,诸如,它运行的软件的版本。这个信息不需要被重复发送。例如,如果C节点记住每个服务器的软件版本,则S节点不需要在它输送到C节点的每个响应中包括这个信息项。而是,C节点能够在以HTTP输送响应给发送者之前重新构建HTTP标题的必须的行。本领域技术人员将会看到,这些仅仅是HTTP标题可被压缩的许多方式的例子。除了对于HTTP特定的压缩技术以外,也可以使用标准文本压缩技术。
节点间协议可以使用HTTP的修正的版本,其中所有的标题信息都被压缩。因为发送较少的字节,所以性能将按比例地改进。
HTTP内容压缩
从S节点发送到C节点的响应消息,打算被输送到客户,通常包含万维网内容。大多数这样的内容可以通过使用适合于内容的标准算法被压缩;例如,文本常常通过使用被称为“gzip”的标准算法被压缩。
今天在客户与服务器之间的直接通信有时使用压缩。然而,只有在客户与服务器可协商它们都具有的软件的压缩方法以及客户和服务器都可负担得起执行解压(或,分别地,压缩)的计算花费的情形下,才可以进行压缩。
因为C节点和S节点可被配置成运行先进的压缩软件,以及它们都可被配置成具有相同的压缩能力,并且可以使用硬件加速或其他技术来改进压缩和解压的速度,所以,它们可以通用地使用压缩对于所有的可压缩的万维网内容。我们的发明可以使用先进的万维网内容压缩技术作为节点间协议,因此按比例地减小在节点与增强的性能之间传送的业务量。
预测性预取
C节点试图根据已接收的请求预测将来客户多半会作出的请求。当客户接收带有到嵌入对象(它可以是小的图象,以脚本语言(诸如JavaScript)写的小段代码,HTML形式的页,被放置在HTML帧中的内容,以及其他)的引用的HTML页时发生这种情况的最重要的事例。今天在使用的、几乎所有的客户软件都缺省地被配置成立即请求这些嵌入的图象,而不用等待用户反馈的批准。传递原先页的C节点可以以极其高的自信度预测:它将很快接收来自同一个客户的对于这些嵌入对象的请求。
本发明可采用软件组件,它根据从客户接收的请求或返还给客户的响应,预测客户多半在不久的将来会请求的其他万维网对象。对于被存储在C节点的超高速缓冲存储器的这样的对象,C节点可任选地发送请求到相应的S节点,或直接发送到对象的服务器,以验证超高速缓冲存储器是否仍旧是最新的。对于没有被存储在C节点的超高速缓冲存储器中的某些或所有的这样的对象,C节点可以发送请求到相应的S节点来检索对象。当C节点接收到来自S节点的对象时,如果请求同时是从客户接收的,则它可以把它们转发到客户,或可以在预见到这样的请求的情况下把对象存储在超高速缓冲存储器中。
预测的内容推动
S节点也试图根据它已看到的请求预测客户多半会作出的将来的请求。本发明可以使用节点间协议,由此,S节点在得到对这些预测的将来请求的响应后发送预测的请求,连同它们的响应一起给原先的请求来自的C节点。与标准万维网协议(诸如HTTP)的重要的不同之处在于,在这个节点间协议中,这样的响应是从S节点被“推”到C节点,即使C节点还没有对它们作出任何明显的请求。
C节点了解推的万维网内容的协议,以及将接收由S节点发送的请求和响应,以及把这些存储在它的超高速缓冲存储器中。如果客户在以后发起预测的请求之一,则C节点可以通过使用超高速缓存的响应立即回答。
这个节点间协议即使在C节点具有非常小的超高速缓冲存储器,能够存储请求和响应几秒或更少时也是有用的。因此,它可以需要比起传统的超高速缓冲存储器或内容分布节点更少的资源,诸如磁盘空间或存储器。传统的超高速缓冲存储器和内容分布节点直接从万维网服务器得到它们的内容,以及用标准协议(诸如HTTP)进行通信,它不能推动内容,除非对它有明显的请求。这里讨论的推动节点间协议的使用,通过使用包括C节点和S节点的本发明的结构有可能做到,其中C节点的超高速缓冲存储器当S节点预测在不久的将来可能作出的请求和推动响应到C节点时被增加。
这个协议的变例可被使用于超高速缓冲存储器的维护。当S节点看到服务器已更新某些内容,例如通过通知:在它自己的超高速缓冲存储器中的单元已成为陈旧的,它可推动这个改变的通知(和内容的新的版本)到具有陈旧版本的所有的C节点。
流水线技术
万维网内容的请求者可在单个TCP连接上一个接一个地发送多个请求给服务器,而不用在发送下一个请求之前等待对于一个请求的响应返回。服务器应当以与请求被接收的相同的次序返回响应,这样,客户可以把响应与请求相匹配。这个处理过程被称为流水线技术,以及已知能够提供重大的性能增益。今天非常少的、在使用的万维网客户支持流水线技术;许多但不是所有的万维网服务器支持流水线技术。
本发明可以使用节点间协议,在C节点与S节点之间对请求和响应进行流水线操作,即使客户、服务器本身可使用流水线技术或任一个都不可使用流水线技术。例如,即使非流水线操作浏览器通常打开多个连接到给定的目的地(诸如服务器或C节点)和同时发送几个请求。C节点可以接收这些同时的请求,以及沿着单个连接把它们流水线发送到S节点。如果服务器可处理流水线化的请求,则S节点可以把来自客户的请求(或许连同来自其他客户的请求)流水线发送到服务器。同样地,如果服务器不能进行流水线操作,则S节点可代之以采取一系列流水线化的请求,以及在到服务器的多个TCP连接上复接它们,从这些多个连接中并行地检索响应,以及以流水线的方式把它们发送回C节点。
Δ-编码和模板示例
许多网页,特别是动态产生的网页,除了小改变以外互相非常相似。通常的情形是网页可被看作为不变的模板采用某种方式以用户特定的数据定制(例如,个人的名字)。
一个节点间协议是Δ-编码,其中C节点在它的超高速缓冲存储器中具有第一万维网对象,它类似于但不等同于第二万维网对象(它是请求的对象)。S节点可以从它的超高速缓冲存储器或从服务器中检索第二对象,以及提取在两个对象之间的差异(Δ-)的某个代表,这样的代表是比起任一个对象更简明的。S节点把Δ-代表传送到C节点,C节点把它与已超高速缓存的第一对象组合,重新构建请求的第二对象,然后把它传送到客户。这样,在S节点与C节点之间传送较少的字节。
这个节点间协议的变例是模板示例,其中S节点分析万维网对象和把对象分离成两个部分,被称为模板与定制数据,这样,原先的对象可以由两个部分被构建。(替换地,服务器本身可以规定这个分离)S节点把模板定制数据传送到C节点,以及指令C节点把前者保持在超高速缓冲存储器中。当S节点需要用同样的模板但用不同的定制数据发送另一个对象到C节点时,它可以代之以发送指定模板的短的代码,连同定制数据。C节点然后构建原先的页和把这页传送到客户。
使用S节点超高速缓存的Δ-编码
这个节点间协议需要S节点具有存储它已传递的某些请求和响应的超高速缓冲存储器。当S节点接收对于第二对象(比如说obj2)的请求时,不同的特性起作用,该第二对象可以等同于已处在S节点的超高速缓冲存储器中的第一对象,比如说obj1,或可以非常类似于但不等同于这样的超高速缓存的对象obj1,但对于在obj1与obj2之间的差值的情况(如果有的话)并不肯定知道的。例如,一个这样的情形是请求的对象通过使用与被存储在超高速缓冲存储器中的对象相同的URL被识别,但相应的对象可能已在服务器中被更新的情况,这样,超高速缓存的对象有已是陈旧的风险。另一个共同的情形是,当URL是不同于超高速缓存的对象的URL,但差别只在存在问号“?”后才发生时,因为传统上可能两个对象是同一个cgi-bin程序使用不同参数的输出,因此,可能基本上是相似的。
只要S节点接收到请求连同关于C节点不应当传递obj1到客户而是应当把它保持在临时贮存器的指示,S节点就把obj1从超高速缓冲存储器传送到C节点。S节点同时从服务器请求想要的对象obj2。当S节点接收obj2时,S节点把它与obj1进行比较,确定它们是否不同。如果它们没有不同,则S节点发送短消息到C节点,通知C节点把由C节点保存在临时贮存器中的对象(即,obj1)发送到客户。如果它们不同,则S节点可整体地发送obj2到C节点,这样,当C节点接收它时C节点就发送obj2到客户以及丢弃被保存在临时贮存器中的第一对象。替换地,如果它们不同,则S节点可以把在obj1与obj2之间的差异的某些代表发送到C节点,这样,C节点可以把这个代表与被保存在临时贮存器中的第一对象相组合,以恢复第二对象,然后把它发送到客户。
这个节点间协议并不减小在互联网上传送的纯业务量,以及不牵涉超高速缓存类似于在预见到请求下在客户附近请求的对象。然而,这个协议可减小在客户接收到请求的对象之前的等待时间,因为即使在服务器仍旧工作以估值该请求时和服务器处在发送响应到S节点的处理过程时,第一对象仍被传送到C节点。如果结果是第一对象等同于第二对象,或只有小的差别,则S节点在C节点可发送响应到客户之前,只需要发送短的(从而是快速的)通信到C节点。
纠错码
在互联网上的传输经常招致错误,特别是被丢失和没有被传递到接收者的分组。在这种情形下,发送者应当最终通告:分组没有被接收;通常或者由于在特定的时间内没有接收到来自打算的接收者的确认,或者当接收者发送通知:分组没有到达时。发送者然后重新发送分组。告知发生错误和然后重新发送分组的处理过程会花费很大时间;在这个时间期间,接收者必须等待,因为它还没有组成整个消息的所有的分组。
为了增强性能,发送者可以发送与包含请求或响应的分组冗余的附加的信息分组,这样,即使一个或多个分组丢失,这些附加分组可以允许接收者立即恢复完全的消息。这些附加分组可以在发送组成消息本身的分组的同时或不久后被发送。这样的附加分组可以采用纠错码和“擦除”代码的标准方法。
智能路由
当IP消息(包括通过IP发送的TCP通信)通过互联网被发送时,被称为路由器的装置通常负责确保在消息中的分组正确地和(希望)有效地到达它们的目的地。这样的消息的发送者和接收者通常不需要明显的请求或管理这个路由过程。然而,通过明显地管理或影响路由,有可能得到增强的性能和可靠性。本发明可以例如保持在给定的S节点与给定的C节点之间的两个TCP连接,这样,这两个连接取通过互联网的不同的路径,即使连接的最终源和目的地(即,S节点与C节点)是相同的。在通过一个连接的通信成为无效(例如,在连接的路径上的路由器临时被拥塞)的情形下,本发明可以快速地通过第二连接重新发送业务。
达到这一点的特别的方法是使用“源路由”任选项,它是标准IP协议的一部分。这允许强迫分组通过从源到目的地的特定的路由,或强迫分组传送通过一个或多个指定的中间节点(诸如路由器)。从同一个源到同一个目的地的两个连接因此可被影响成取不同的路径。当一个节点(例如,C节点或S节点)具有被连接到不同网络的多个网络接口卡(NIC)时,出现创建不同路径的另一个方法。当这样的节点发送消息时,它可以指定使用哪个NIC,因此至少确定在这样的通信中使用的第一子链路。正如本领域技术人员将会看到的,这些只是由通信取的特定路径可被影响和被控制的方法的说明。这个例子仅仅是人们可以管理或影响路由处理过程来改进性能的许多方法的说明。
本发明的优选实施例进一步被显示于图11。C节点25和26,以及S节点27和28被部署在如前所述的互联网的不同的位置。这个实施例使用基于DNS的重定向方法,结合采用至少从C节点到代表性机器取的测量的网络映射。选择器和映射设备24是运行在与专门的DNS服务器软件23相同的机器22上的软件。客户20希望从服务器29请求内容,该服务器在图上的名称为www.site.com。
客户咨询它的本地DNS服务器21,以便找出相应于名称www.site.com的IP地址。本地DNS服务器21把请求转发到专门DNS服务器23。DNS服务器23将作为询问的一部分而学习本地DNS服务器21的IP地址。DNS服务器23咨询映射设备24,然后映射设备24使用请求者的地址和它的网络映射来选择C节点,使得在提供的IP地址与选择的C节点之间的网络距离最小化(因此,选择的C节点多半接近于客户20)。正如先前讨论的和在图4与6上显示的,在选择C节点时也可以考虑附加因素。在图11上,C节点由选择器选择。
这个实施例使用IP地址归类方法。因此,每个C节点,具体地C节点25,被给予多个IP地址,一个IP地址相应于每个可能的服务器名称。DNS系统23返还用于C节点25的、相应于服务器名称www.site.com的IP地址。DNS服务器23把这个IP地址返还给本地DNS服务器21,它把响应转发到客户20。客户20通过使用提供的地址打开到C节点25的TCP连接,然后,通过使用在TCP连接上的HTTP传送它的请求。C节点25记录其连接被打开的IP地址,以及使用IP地址归类来重新构建客户20的请求打算到的服务器29的名称,即,www.site.com。C节点25可能试图在它的超高速缓冲存储器中找出请求的对象,以及把对象立即返还给客户20。否则,C节点25使用服务器对S节点的联系的数据库来发现可载送业务到服务器29的S节点的名称。这里,S节点28先前与服务器29的名称(即,www.site.com)相联系,以及被选择。C节点25通过使用节点间协议发送请求到S节点28。
在C节点25与S节点28之间使用的节点间协议将用更快速的协议(在本优选实施例中是T/TCP)代替TCP。另外,HTTP标题压缩、HTTP内容压缩、预测内容推动、和Δ-编码可以同时被使用作为节点间协议。S节点28通过使用节点间协议接收请求,和通过使用在TCP连接上的HTTP把请求转发到服务器29,S节点对于服务器29打开该TCP连接。S节点28然后再次通过使用TCP上的HTTP从服务器29接收对请求的响应。S节点28通过使用节点间协议发送响应到C节点25。C节点25通过使用HTTP把响应转发到客户。这个实施例可以通过图2到10和有关这些图的先前的讨论被进一步说明。
将会看到,虽然本发明是根据从客户发送到服务器的请求和被发送回的响应被描述的,但本发明可被采用来增强只对于请求或响应的性能。而且,不要求被使用来从S节点传送到C节点的节点间协议与在相反方向使用的节点间协议相同。本发明如何只在一个方向上被使用的例子为如下。客户可以把其请求发送到服务器,以及服务器可被配置成使得所有这样的请求被接近于服务器的S节点截取。在这个角色中,S节点起到“相反代理”的作用,它是熟知的技术。然而,在S节点检索对客户的请求的响应(来自S节点的超高速缓冲存储器或来自服务器)之后,S节点可以选择被认为是接近于客户的C节点(例如,通过使用先前描述的网络映射装置)。S节点然后可通过使用有效的节点间协议把响应传送到选择的C节点。选择的C节点然后可通过使用标准协议发送响应到客户。如果在C节点与客户之间使用的标准协议使用TCP,则C节点可能必须“伪装”它的通信,这样,对于客户来说它们好像直接来自S节点;然而,用于以这种方式伪装TCP通信的技术是熟知的。因此,在本例中,本发明主要被利用于仅仅一半的通信,即,当把来自服务器的响应返还给客户时使用,但不一定用于发送客户的初始请求给服务器。如在本例中那样利用本发明的优点是,它避免需要重定向装置来确保客户的请求被发送到接近的C节点。
替换的实施例
本发明的特定实施例的以上说明是为了说明和描述给出的。它们不打算是穷举的或把本发明限制于所揭示的精确的形式。通过以上的教导,许多修正和改变将是明显的。实施例被选择和被描述,以便最好地解释本发明的原理和它的实际应用,由此使得能够作出具有各种修正的各种实施例,适合于设想的特定的使用。例如,S节点与C节点的功能根据它们在处理请求和响应中起的作用是不同的。然而,将会看到,一个设备,诸如一个计算机或一群计算机,可以实施这两个功能。
作为另一个例子,描述的实施例在两个传输方向上提供提高的通信性能-也就是,从源到目的地和相反方向。在替换的实施例中,本发明可以只在一个方向上提供对于某些分组或只对于消息的提高的性能。例如,对于万维网内容的请求可以由客户发送到服务器,作出C节点和S节点的选择,以及这些节点被使用于通信,但将标准协议用于在C节点与S节点之间的子链路。来自万维网服务器的响应可以使用相同的路径。
Claims (63)
1.一种用于通过互联网在源与目的地之间传送互联网消息的方法,包括:
(a)选择第一类型节点;
(b)选择第二类型节点;
(c)通过使用第一协议把互联网消息从源传送到该第一类型节点;
(d)通过使用第二协议把该互联网消息从该第一类型节点传送到该第二类型节点;以及
(e)通过使用第三协议把该互联网消息从该第二类型节点传送到目的地。
2.一种用于通过互联网在源与目的地之间传送互联网消息的方法,包括:
(a)选择第一类型节点;
(b)通过使用第一协议把互联网消息从源传送到该第一类型节点;
(c)通过使用第二协议把该互联网消息从该第一类型节点传送到第二类型节点;以及
(d)通过使用第三协议把该互联网消息从该第二类型节点传送到目的地。
3.如权利要求1的方法,其中选择步骤(a)包括:
(a1)对于多个候选的第一类型节点的每个节点,确定对于在源与候选的第一类型节点之间的子链路的通信性能的测量;以及
(a2)从多个候选的第一类型节点中选择一个第一类型节点,以使得通信性能的测量最佳化。
4.如权利要求2的方法,其中选择步骤(a)包括:
(a1)对于多个候选的第一类型节点的每个节点,确定对于在源与候选的第一类型节点之间的子链路的通信性能的测量;以及
(a2)从多个候选的第一类型节点中选择一个第一类型节点,以使得通信性能的测量最佳化。
5.如权利要求1的方法,其中选择步骤(b)包括:
(b1)对于多个候选的第二类型节点的每个节点,确定对于在目的地与候选的第二类型节点之间的子链路的通信性能的测量;以及
(b2)从多个候选的第二类型节点中选择一个第二类型节点,以使得通信性能的测量最佳化。
6.如权利要求1的方法,其中选择步骤(b)包括:
(b1)对于多个候选的第二类型节点的每个节点,确定对于在候选的第一类型节点与候选的第二类型节点之间的子链路的通信性能的测量;以及
(b2)从多个候选的第二类型节点中选择一个第二类型节点,以使得通信性能的测量最佳化。
7.如权利要求1的方法,其中:
步骤(a)包括选择第一类型节点,以便对于从源经过第一类型节点和第二类型节点到目的地的链路中至少一个子链路的通信性能的测量最佳化;以及
步骤(b)包括选择第二类型节点,以便对于从源经过第一类型节点和第二类型节点到目的地的链路中至少一个子链路的通信性能的测量最佳化。
8.如权利要求1的方法,其中:
选择步骤(a)包括:
(a1)对于多个候选的第一类型节点的每个节点,确定对于在源与候选的第一类型节点之间的子链路的通信性能的第一测量;和
(a2)从多个候选的第一类型节点中选择一个第一类型节点,以使得通信性能的第一测量最佳化;以及
选择步骤(b)包括:
(b1)对于多个候选的第二类型节点的每个节点,确定对于第一类型节点与每个候选的第二类型节点之间的子链路的通信性能的第二测量,和对于候选的第二类型节点与目的地之间的子链路的性能的第三测量;和
(b2)从多个候选的第二类型节点中选择一个第二类型节点,以使得通信性能的第二和第三测量的组合最佳化。
9.一种用于通过互联网在源与目的地之间传送互联网消息的方法,包括:
(a)选择第一类型节点和第二类型节点;
(b)通过使用第一协议把互联网消息从源传送到第一类型节点;
(c)通过使用第二协议把互联网消息从第一类型节点传送到第二类型节点;以及
(d)通过使用第三协议把互联网消息从第二类型节点传送到目的地。
10.如权利要求9的方法,其中选择步骤(a)包括:
(a1)对于多个候选的第一类型节点的每个节点,确定对于从源到候选的第一类型节点的子链路的通信性能的第一测量;
(a2)对于多个第二类型节点的每个节点,确定对于在每个候选的第一类型节点与每个候选的第二类型节点之间的子链路的通信性能的第二测量,和对于在每个候选的第二类型节点与目的地之间的子链路的通信性能的第三测量;以及
(a3)从多个候选的第一类型节点选择一个第一类型节点,和从多个候选的第二类型节点选择一个第二类型节点,以使得通信性能的第一、第二和第三测量的组合最佳化。
11.如权利要求9的方法,其中选择步骤(a)包括:
(a1)对于多个候选的第一类型节点和候选的第二类型节点的每个节点,确定对于从源经过候选的第一类型节点和候选的第二类型节点到目的地的链路中至少一个子链路的通信性能的测量;以及
(a2)选择来自多个候选的第一类型节点的第一类型节点与来自多个候选的第二类型节点的第二类型节点的组合,以使得通信性能的测量最佳化。
12.如权利要求9的方法,其中选择步骤(a)包括:
(a1)对于多个候选的第一类型节点和候选的第二类型节点的每个节点,确定对于在候选的第一类型节点和候选的第二类型节点之间的子链路的通信性能的测量;以及
(a2)从多个候选的第一类型节点选择第一类型节点和从多个候选的第二类型节点选择第二类型节点,以使得通信性能的测量最佳化。
13.如权利要求1的方法,还包括以下步骤:
(f)通过使用第四协议把第二互联网消息从目的地传送到第二类型节点;
(g)通过使用第五协议把第二互联网消息从第二类型节点传送到第一类型节点;以及
(h)通过使用第六协议把第二互联网消息从第一类型节点传送到源。
14.如权利要求9的方法,还包括以下步骤:
(e)通过使用第四协议把第二互联网消息从目的地传送到第二类型节点;
(f)通过使用第五协议把第二互联网消息从第二类型节点传送到第一类型节点;以及
(g)通过使用第六协议把第二互联网消息从第一类型节点传送到源。
15.一种用于通过互联网在源与目的地之间传送互联网消息的方法,包括:
(a)选择第一类型节点;
(b)通过使用第一协议把互联网消息从源传送到第一类型节点;
(c)第二类型节点截取来自第一类型节点的互联网消息,来自第一类型节点的互联网消息是通过使用第二协议传送的;以及
(d)通过使用第三协议把互联网消息从第二类型节点传送到目的地。
16.一种用于通过互联网在源与目的地之间传送互联网消息的方法,包括:
(a)选择第二类型节点;
(b)第一类型节点截取来自源的互联网消息,该来自源的互联网消息是通过使用第一协议传送的;
(c)通过使用第二协议把互联网消息从第一类型节点传送到第二类型节点;以及
(d)通过使用第三协议把互联网消息从第二类型节点传送到目的地。
17.如权利要求1的方法,其中传送步骤(c)包括把互联网消息从源重定向到第一类型节点。
18.如权利要求2的方法,其中传送步骤(b)包括把互联网消息从源重定向到第一类型节点。
19.如权利要求9的方法,其中传送步骤(b)包括把互联网消息从第一类型节点重定向到第二类型节点。
20.如权利要求1的方法,其中第一协议是标准协议,第二协议是高性能协议,以及第三协议是标准协议。
21.如权利要求2的方法,其中第一协议是标准协议,第二协议是高性能协议,以及第三协议是标准协议。
22.如权利要求9的方法,其中第一协议是标准协议,第二协议是高性能协议,以及第三协议是标准协议。
23.如权利要求13的方法,其中第四协议是标准协议,第五协议是高性能协议,以及第六协议是标准协议。
24.如权利要求14的方法,其中第四协议是标准协议,第五协议是高性能协议,以及第六协议是标准协议。
25.如权利要求15的方法,其中第一协议是标准协议,第二协议是高性能协议,以及第三协议是标准协议。
26.如权利要求16的方法,其中第一协议是标准协议,第二协议是高性能协议,以及第三协议是标准协议。
27.如权利要求20的方法,其中互联网消息是万维网消息。
28.如权利要求21的方法,其中互联网消息是万维网消息。
29.如权利要求22的方法,其中互联网消息是万维网消息。
30.如权利要求23的方法,其中互联网消息是万维网消息。
31.如权利要求24的方法,其中互联网消息是万维网消息。
32.如权利要求25的方法,其中互联网消息是万维网消息。
33.如权利要求26的方法,其中互联网消息是万维网消息。
34.一种用于通过互联网把互联网消息从源传送到目的地的系统,包括:
多个节点,包括一个或多个第一类型节点和一个或多个第二类型节点;以及
第一选择器,用来从一个或多个第一类型节点中识别一个第一类型节点,以及把选择传送到源;
第二选择器,用来从一个或多个第二类型节点中识别一个第二类型节点,以及把选择传送到选择的第一类型节点;
其中每个第一类型节点包括:
接收机,通过使用第一协议接收来自源的互联网消息;
发送机,通过使用第二协议把消息传送到选择的第二类型节点;以及
每个第二类型节点包括:
接收机,接收来自选择的第一类型节点的消息;以及
发送机,通过使用第三协议把消息传送到目的地。
35.一种用于通过互联网把互联网消息从源传送到目的地的系统,包括:
多个节点,包括一个或多个第一类型节点和一个或多个第二类型节点;以及
选择器,用来从一个或多个第一类型节点中识别一个第一类型节点,以及把选择传送到源;
其中每个第一类型节点包括:
接收机,通过使用第一协议接收来自源的互联网消息;
发送机,通过使用第二协议把消息传送到第二类型节点;以及每个第二类型节点包括:
接收机,接收来自选择的第一类型节点的消息;以及
发送机,通过使用第三协议把消息传送到目的地。
36.如权利要求34的系统,其中:
第一选择器识别一个第一类型节点,它使得对于在源与多个候选的第一类型节点中每个节点之间的子链路的通信性能的第一测量最佳化。
37.如权利要求35的系统,其中:
第一选择器识别一个第一类型节点,它使得对于在源与多个候选的第一类型节点中每个节点之间的子链路的通信性能的第一测量最佳化。
38.如权利要求34的系统,其中:
第二选择器识别一个第二类型节点,它使得对于在选择的第二类型节点与目的地之间的子链路的通信性能的测量最佳化。
39.如权利要求34的系统,其中:
第一选择器识别一个第一类型节点,它使得对于从源经过第一类型节点和第二类型节点到目的地的链路中至少一个子链路的通信性能的测量最佳化;以及
第二选择器识别一个第二类型节点,它使得对于从源经过第一类型节点和第二类型节点到目的地的链路中至少一个子链路的通信性能的测量最佳化。
40.一种用于通过互联网把互联网消息从源传送到目的地的系统,包括:
多个节点,包括一个或多个第一类型节点和一个或多个第二类型节点;以及
选择器,用来从一个或多个第一类型节点中识别一个第一类型节点以及把该选择传送到源,和从一个或多个第二类型节点中识别一个第二类型节点以及把该选择提供到选择的第一类型节点;
其中每个第一类型节点包括:
接收机,通过使用第一协议接收来自源的互联网消息;
发送机,通过使用第二协议把消息传送到选择的第二类型节点;以及
每个第二类型节点包括:
接收机,接收来自选择的第一类型节点的消息;以及发送机,通过使用第三协议把消息传送到目的地。
41.如权利要求40的系统,其中选择器识别一个第一类型节点和一个第二类型节点,使得对于在源与第一类型节点之间的子链路、在第一类型节点与第二类型节点之间的子链路以及在第二类型节点与目的地之间的子链路的通信性能的测量最佳化。
42.如权利要求40的系统,其中选择器识别一个第一类型节点和一个第二类型节点,使得对于在源与目的地之间的链路中的至少一个子链路的通信性能的测量最佳化。
43.如权利要求34的系统,其中:
第二类型节点还包括接收机,通过使用第四协议接收来自目的地的第二互联网消息,和发送机,通过使用第五协议把第二互联网消息传送到第一类型节点;以及
第一类型节点还包括接收机,通过使用第五协议接收来自第一类型节点的第二互联网消息,和发送机,通过使用第六协议把第二互联网消息传送到源。
44.如权利要求40的系统,其中:
第二类型节点还包括接收机,通过使用第四协议接收来自目的地的第二互联网消息,和发送机,通过使用第五协议把第二互联网消息传送到第一类型节点;以及
第一类型节点还包括接收机,通过使用第五协议接收来自第一类型节点的第二互联网消息,和发送机,通过使用第六协议把第二互联网消息传送到源。
45.一种用于通过互联网把互联网消息从源传送到目的地的系统,包括:
多个节点,包括一个或多个第一类型节点和一个或多个第二类型节点;以及
选择器,用来从一个或多个第二类型节点中识别一个第二类型节点,和把该选择提供到第一类型节点;
其中每个第一类型节点包括:
截取器,通过使用第一协议截取来自源的互联网消息;
发送机,通过使用第二协议把消息传送到选择的第二类型节点;以及
每个第二类型节点包括:
接收机,接收来自选择的第一类型节点的消息;以及发送机,通过使用第三协议把消息传送到目的地。
46.一种用于通过互联网把互联网消息从源传送到目的地的系统,包括:
多个节点,包括一个或多个第一类型节点和一个或多个第二类型节点;以及
第一选择器,用来从一个或多个第一类型节点中识别一个第一类型节点,和把该选择传送到重定向器;
第二选择器,用来从一个或多个第二类型节点中识别一个第二类型节点,和把该选择提供到选择的第一类型节点;
重定向器,把来自源的互联网消息重定向到选择的第一类型节点;
其中每个第一类型节点包括:
接收机,通过使用第一协议接收来自重定向器的互联网消息;
发送机,通过使用第二协议把消息传送到选择的第二类型节点;以及
每个第二类型节点包括:
接收机,接收来自选择的第一类型节点的消息;以及
发送机,通过使用第三协议把消息传送到目的地。
47.一种用于通过互联网把互联网消息从源传送到目的地的系统,包括:
多个节点,包括一个或多个第一类型节点和一个或多个第二类型节点;以及
选择器,用来从一个或多个第一类型节点中识别一个第一类型节点,和把该选择传送到重定向器;
重定向器,把来自源的互联网消息重定向到选择的第一类型节点;
其中每个第一类型节点包括:
接收机,通过使用第一协议接收来自重定向器的互联网消息;
发送机,通过使用第二协议把消息传送到第二类型节点;以及每个第二类型节点包括:
接收机,接收来自选择的第一类型节点的消息;以及
发送机,通过使用第三协议把消息传送到目的地。
48.如权利要求34的系统,其中第一协议是标准协议,第二协议是高性能协议,以及第三协议是标准协议。
49.如权利要求35的系统,其中第一协议是标准协议,第二协议是高性能协议,以及第三协议是标准协议。
50.如权利要求40的系统,其中第一协议是标准协议,第二协议是高性能协议,以及第三协议是标准协议。
51.如权利要求43的系统,其中第四协议是标准协议,第五协议是高性能协议,以及第六协议是标准协议。
52.如权利要求44的系统,其中第四协议是标准协议,第五协议是高性能协议,以及第六协议是标准协议。
53.如权利要求43的系统,其中第一协议是标准协议,第二协议是高性能协议,以及第三协议是标准协议。
54.如权利要求44的系统,其中第一协议是标准协议,第二协议是高性能协议,以及第三协议是标准协议。
55.如权利要求48的系统,其中互联网消息是万维网消息。
56.如权利要求49的系统,其中互联网消息是万维网消息。
57.如权利要求50的系统,其中互联网消息是万维网消息。
58.如权利要求51的系统,其中互联网消息是万维网消息。
59.如权利要求52的系统,其中互联网消息是万维网消息。
60.如权利要求53的系统,其中互联网消息是万维网消息。
61.如权利要求54的系统,其中互联网消息是万维网消息。
62.一种用于从目的地提供万维网内容到源的系统,包括:
多个节点;以及
选择器,用来从一个或多个节点中识别一个节点,和把该选择传送到源;
其中每个节点包括:
接收机,通过使用第一协议从源接收包括对万维网内容的请求的互联网消息;
超高速缓冲存储器;
第一发送机,通过使用第二协议把消息传送到选择的第二类型节点;以及
第二发送机,把万维网内容从超高速缓冲存储器传送到源;
其中选择器选择节点,使得通信性能的测量最佳化,通信性能的测量包括对于在节点与目的地之间的子链路的至少一个度量。
63.如权利要求62的系统,其中通信性能的测量是在源与节点之间的网络距离,在节点与服务器之间的网络距离,和请求的万维网内容处在节点的超高速缓冲存储器中的概率的组合。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18081600P | 2000-02-07 | 2000-02-07 | |
US60/180,816 | 2000-02-07 | ||
US18860100P | 2000-03-09 | 2000-03-09 | |
US60/188,601 | 2000-03-09 | ||
US09/534,321 US6820133B1 (en) | 2000-02-07 | 2000-03-24 | 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 |
US09/534321 | 2000-03-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1422468A CN1422468A (zh) | 2003-06-04 |
CN1263263C true CN1263263C (zh) | 2006-07-05 |
Family
ID=27391332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB018078214A Expired - Lifetime CN1263263C (zh) | 2000-02-07 | 2001-02-07 | 用于传递万维网内容的方法 |
Country Status (9)
Country | Link |
---|---|
US (4) | US6820133B1 (zh) |
EP (1) | EP1264432B1 (zh) |
JP (2) | JP2003522358A (zh) |
CN (1) | CN1263263C (zh) |
AU (1) | AU778459B2 (zh) |
BR (1) | BR0108170A (zh) |
CA (1) | CA2399526C (zh) |
HK (1) | HK1055361A1 (zh) |
WO (1) | WO2001058069A1 (zh) |
Families Citing this family (535)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6694358B1 (en) * | 1999-11-22 | 2004-02-17 | Speedera Networks, Inc. | Performance computer network method |
US7508753B2 (en) * | 2000-01-31 | 2009-03-24 | At&T Intellectual Property, Ii, L.P. | Packet redirection and message stream management |
US6947440B2 (en) * | 2000-02-15 | 2005-09-20 | Gilat Satellite Networks, Ltd. | System and method for internet page acceleration including multicast transmissions |
US8359405B1 (en) * | 2000-02-28 | 2013-01-22 | John Border | Performance enhancing proxy and method for enhancing performance |
US7162539B2 (en) * | 2000-03-16 | 2007-01-09 | Adara Networks, Inc. | System and method for discovering information objects and information object repositories in computer networks |
US7565450B2 (en) * | 2000-03-16 | 2009-07-21 | Adara Networks Inc. | System and method for using a mapping between client addresses and addresses of caches to support content delivery |
AU2001253613A1 (en) | 2000-04-17 | 2001-10-30 | Circadence Corporation | System and method for shifting functionality between multiple web servers |
US8510468B2 (en) | 2000-04-17 | 2013-08-13 | Ciradence Corporation | Route aware network link acceleration |
US8065399B2 (en) | 2000-04-17 | 2011-11-22 | Circadence Corporation | Automated network infrastructure test and diagnostic system and method therefor |
US20110128972A1 (en) | 2000-04-17 | 2011-06-02 | Randy Thornton | Peer to peer dynamic network link acceleration |
US8024481B2 (en) | 2000-04-17 | 2011-09-20 | Circadence Corporation | System and method for reducing traffic and congestion on distributed interactive simulation networks |
US8996705B2 (en) | 2000-04-17 | 2015-03-31 | Circadence Corporation | Optimization of enhanced network links |
US8898340B2 (en) | 2000-04-17 | 2014-11-25 | Circadence Corporation | Dynamic network link acceleration for network including wireless communication devices |
US8195823B2 (en) | 2000-04-17 | 2012-06-05 | Circadence Corporation | Dynamic network link acceleration |
US7908337B2 (en) * | 2000-04-28 | 2011-03-15 | Adara Networks, Inc. | System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content |
US7725596B2 (en) * | 2000-04-28 | 2010-05-25 | Adara Networks, Inc. | System and method for resolving network layer anycast addresses to network layer unicast addresses |
US7577754B2 (en) * | 2000-04-28 | 2009-08-18 | Adara Networks, Inc. | System and method for controlling access to content carried in a caching architecture |
US6842769B1 (en) | 2000-05-05 | 2005-01-11 | Interland, Inc. | Automatically configured network server |
US7562153B2 (en) * | 2000-05-12 | 2009-07-14 | AT&T Intellectual Property II, L. P. | Method and apparatus for content distribution network brokering and peering |
US7096263B2 (en) * | 2000-05-26 | 2006-08-22 | Akamai Technologies, Inc. | Method for predicting file download time from mirrored data centers in a global computer network |
AU2001265051A1 (en) * | 2000-05-26 | 2001-12-11 | Akamai Technologies, Inc. | Global load balancing across mirrored data centers |
US7020698B2 (en) * | 2000-05-31 | 2006-03-28 | Lucent Technologies Inc. | System and method for locating a closest server in response to a client domain name request |
US7962603B1 (en) * | 2000-06-06 | 2011-06-14 | Nobuyoshi Morimoto | System and method for identifying individual users accessing a web site |
JP3674471B2 (ja) * | 2000-07-25 | 2005-07-20 | 日本電気株式会社 | コンテンツ転送方法及びネットワークシステム並びにプログラムを記録した機械読み取り可能な記録媒体 |
US7089301B1 (en) * | 2000-08-11 | 2006-08-08 | Napster, Inc. | System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer |
US7349994B2 (en) * | 2000-10-17 | 2008-03-25 | Avaya Technology Corp. | Method and apparatus for coordinating routing parameters via a back-channel communication medium |
US7487237B2 (en) * | 2000-10-17 | 2009-02-03 | Avaya Technology Corp. | Load optimization |
US7080161B2 (en) * | 2000-10-17 | 2006-07-18 | Avaya Technology Corp. | Routing information exchange |
US7720959B2 (en) * | 2000-10-17 | 2010-05-18 | Avaya Inc. | Method and apparatus for characterizing the quality of a network path |
ATE459154T1 (de) | 2000-10-17 | 2010-03-15 | Avaya Technology Corp | Verfahren und vorrichtung zur optimierung der leistung und des kosten in einem internetzwerk |
US7363367B2 (en) * | 2000-10-17 | 2008-04-22 | Avaya Technology Corp. | Systems and methods for robust, real-time measurement of network performance |
US8023421B2 (en) | 2002-07-25 | 2011-09-20 | Avaya Inc. | Method and apparatus for the assessment and optimization of network traffic |
US7406539B2 (en) * | 2000-10-17 | 2008-07-29 | Avaya Technology Corp. | Method and apparatus for performance and cost optimization in an internetwork |
US7756032B2 (en) | 2000-10-17 | 2010-07-13 | Avaya Inc. | Method and apparatus for communicating data within measurement traffic |
US7336613B2 (en) * | 2000-10-17 | 2008-02-26 | Avaya Technology Corp. | Method and apparatus for the assessment and optimization of network traffic |
US7801978B1 (en) * | 2000-10-18 | 2010-09-21 | Citrix Systems, Inc. | Apparatus, method and computer program product for efficiently pooling connections between clients and servers |
AU2002232423A1 (en) * | 2000-11-22 | 2002-06-24 | Azoth Technologies, Inc. | Method, architecture, and apparatus for dynamic content translation and switching |
US20020103974A1 (en) * | 2000-11-29 | 2002-08-01 | Giacomini Peter Joseph | Method and apparatus for economical cache population |
US9058416B2 (en) * | 2000-12-11 | 2015-06-16 | Peter K. Trzyna | System and method for detecting and reporting online activity using real-time content-based network monitoring |
US7606909B1 (en) * | 2001-02-20 | 2009-10-20 | Michael Ely | Method and apparatus for a business contact center |
JP2002259259A (ja) * | 2001-02-27 | 2002-09-13 | Canon Inc | 画像データ通信システム、画像データ通信方法および記憶媒体 |
GB0108044D0 (en) * | 2001-03-30 | 2001-05-23 | British Telecomm | Application synchronisation |
US7099333B2 (en) * | 2001-03-07 | 2006-08-29 | Lucent Technologies Inc. | Automatic protocol version detection and call processing reconfiguration in a communication system |
US7555561B2 (en) * | 2001-03-19 | 2009-06-30 | The Aerospace Corporation | Cooperative adaptive web caching routing and forwarding web content data broadcasting method |
AU2002251205A1 (en) * | 2001-03-30 | 2002-10-15 | British Telecommunications Public Limited Company | Multi-modal interface |
US7340505B2 (en) * | 2001-04-02 | 2008-03-04 | Akamai Technologies, Inc. | Content storage and replication in a managed internet content storage environment |
WO2002086736A1 (fr) * | 2001-04-19 | 2002-10-31 | International Business Machines Corporation | Serveur, systeme informatique, procede de gestion d'objet, procede de commande de serveur, programme informatique |
US20030009657A1 (en) * | 2001-06-29 | 2003-01-09 | Ibm Corporation | Method and system for booting of a target device in a network management system |
US20030023739A1 (en) * | 2001-07-28 | 2003-01-30 | Lan Ngoc Vu | System and method for multi-tier multi-casting over the Internet |
EP1440529B1 (en) * | 2001-09-10 | 2016-08-24 | Adara Networks, Inc. | System and method for information object routing in computer networks |
US7155521B2 (en) | 2001-10-09 | 2006-12-26 | Nokia Corporation | Starting a session in a synchronization system |
FR2831742B1 (fr) * | 2001-10-25 | 2004-02-27 | Cit Alcatel | Procede de transmission de paquets par l'intermediaire d'un reseau de telecommunications utilisant le protocole ip |
US7506060B2 (en) * | 2001-12-11 | 2009-03-17 | Hewlett-Packard Development Company, L.P. | Technique for reducing network bandwidth for delivery of dynamic and mixed content |
US20030121047A1 (en) * | 2001-12-20 | 2003-06-26 | Watson Paul T. | System and method for content transmission network selection |
FR2834104B1 (fr) * | 2001-12-20 | 2004-10-15 | France Telecom | Procede de transmission d'objets entre un serveur et un terminal client mettant en oeuvre une gestion de cache, systeme de transmission, serveur et terminal correspondants |
US20030126284A1 (en) * | 2002-01-03 | 2003-07-03 | Allen Houston | Relating to auto-tunnelling in a heterogeneous network |
EP1488601A1 (en) * | 2002-03-28 | 2004-12-22 | British Telecommunications Public Limited Company | Synchronisation in multi-modal interfaces |
US7133905B2 (en) | 2002-04-09 | 2006-11-07 | Akamai Technologies, Inc. | Method and system for tiered distribution in a content delivery network |
US9137324B2 (en) * | 2002-04-10 | 2015-09-15 | International Business Machines Corporation | Capacity on-demand in distributed computing environments |
US7289519B1 (en) * | 2002-05-01 | 2007-10-30 | Cisco Technology, Inc. | Methods and apparatus for processing content requests using domain name service |
US7747729B2 (en) * | 2002-06-14 | 2010-06-29 | Hanoch Levy | Determining client latencies over a network |
WO2003107211A1 (en) * | 2002-06-18 | 2003-12-24 | Esecurityonline | Methods and systems for managing enterprise assets |
US7523170B1 (en) * | 2002-06-24 | 2009-04-21 | Cisco Technology, Inc. | Service locator technique implemented in a data network |
US7395355B2 (en) * | 2002-07-11 | 2008-07-01 | Akamai Technologies, Inc. | Method for caching and delivery of compressed content in a content delivery network |
US20040158529A1 (en) * | 2002-07-30 | 2004-08-12 | Dynamic City Metronet Advisors, Inc. | Open access data transport system and method |
US7480915B2 (en) * | 2002-10-03 | 2009-01-20 | Nokia Corporation | WV-IMS relay and interoperability methods |
US7310686B2 (en) * | 2002-10-27 | 2007-12-18 | Paxfire, Inc. | Apparatus and method for transparent selection of an Internet server based on geographic location of a user |
US7542471B2 (en) * | 2002-10-30 | 2009-06-02 | Citrix Systems, Inc. | Method of determining path maximum transmission unit |
US8176186B2 (en) | 2002-10-30 | 2012-05-08 | Riverbed Technology, Inc. | Transaction accelerator for client-server communications systems |
US8233392B2 (en) | 2003-07-29 | 2012-07-31 | Citrix Systems, Inc. | Transaction boundary detection for reduction in timeout penalties |
US7616638B2 (en) | 2003-07-29 | 2009-11-10 | Orbital Data Corporation | Wavefront detection and disambiguation of acknowledgments |
US7630305B2 (en) | 2003-07-29 | 2009-12-08 | Orbital Data Corporation | TCP selective acknowledgements for communicating delivered and missed data packets |
US8069225B2 (en) * | 2003-04-14 | 2011-11-29 | Riverbed Technology, Inc. | Transparent client-server transaction accelerator |
US8270423B2 (en) | 2003-07-29 | 2012-09-18 | Citrix Systems, Inc. | Systems and methods of using packet boundaries for reduction in timeout prevention |
US20040111706A1 (en) * | 2002-12-07 | 2004-06-10 | Mogul Jeffrey Clifford | Analysis of latencies in a multi-node system |
JP4026495B2 (ja) * | 2002-12-19 | 2007-12-26 | 株式会社小松製作所 | サーバの切り換え制御装置 |
US7292585B1 (en) * | 2002-12-20 | 2007-11-06 | Symantec Operating Corporation | System and method for storing and utilizing routing information in a computer network |
US7447798B2 (en) * | 2003-02-10 | 2008-11-04 | Internap Network Services Corporation | Methods and systems for providing dynamic domain name system for inbound route control |
US7975043B2 (en) * | 2003-02-25 | 2011-07-05 | Hewlett-Packard Development Company, L.P. | Method and apparatus for monitoring a network |
US20050005027A1 (en) * | 2003-04-18 | 2005-01-06 | International Business Machines Corporation | Method and system for obtaining data through an IP transmission network by using an optimized domain name server |
US20040267875A1 (en) * | 2003-06-30 | 2004-12-30 | Hennessey Wade L. | Method and apparatus for establishing peering rules for distributed content delivery |
US8238241B2 (en) | 2003-07-29 | 2012-08-07 | Citrix Systems, Inc. | Automatic detection and window virtualization for flow control |
US7656799B2 (en) | 2003-07-29 | 2010-02-02 | Citrix Systems, Inc. | Flow control system architecture |
US7698453B2 (en) * | 2003-07-29 | 2010-04-13 | Oribital Data Corporation | Early generation of acknowledgements for flow control |
US8437284B2 (en) | 2003-07-29 | 2013-05-07 | Citrix Systems, Inc. | Systems and methods for additional retransmissions of dropped packets |
US8432800B2 (en) | 2003-07-29 | 2013-04-30 | Citrix Systems, Inc. | Systems and methods for stochastic-based quality of service |
US9525566B2 (en) * | 2003-07-31 | 2016-12-20 | Cloudsoft Corporation Limited | Self-managed mediated information flow |
US8165969B2 (en) * | 2003-07-31 | 2012-04-24 | Cisco Technology, Inc. | Route optimization of services provided by one or more service providers for combined links |
US7286476B2 (en) * | 2003-08-01 | 2007-10-23 | F5 Networks, Inc. | Accelerating network performance by striping and parallelization of TCP connections |
CH694215A5 (de) * | 2003-09-10 | 2004-09-15 | Csaba Bona | Verfahren zum Uebermitteln von elektronischen Daten ueber ein duales Netzwerk zur Erhhoehung der Internetsicherheit. |
US8086747B2 (en) * | 2003-09-22 | 2011-12-27 | Anilkumar Dominic | Group-to-group communication over a single connection |
JP2007520093A (ja) * | 2003-09-22 | 2007-07-19 | トランシアム テクノロジーズ | 単一接続上のグループ対グループ通信とエラー許容対称型マルチコンピューティングシステム |
US7525902B2 (en) * | 2003-09-22 | 2009-04-28 | Anilkumar Dominic | Fault tolerant symmetric multi-computing system |
US7978716B2 (en) | 2003-11-24 | 2011-07-12 | Citrix Systems, Inc. | Systems and methods for providing a VPN solution |
US8312145B2 (en) * | 2003-12-22 | 2012-11-13 | Rockstar Consortium US L.P. | Traffic engineering and bandwidth management of bundled links |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
US7546342B2 (en) * | 2004-05-14 | 2009-06-09 | Microsoft Corporation | Distributed hosting of web content using partial replication |
JP4455170B2 (ja) * | 2004-05-31 | 2010-04-21 | 株式会社東芝 | ネットワーク家電制御システム |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US8739274B2 (en) * | 2004-06-30 | 2014-05-27 | Citrix Systems, Inc. | Method and device for performing integrated caching in a data communication network |
US7757074B2 (en) | 2004-06-30 | 2010-07-13 | Citrix Application Networking, Llc | System and method for establishing a virtual private network |
US8495305B2 (en) | 2004-06-30 | 2013-07-23 | Citrix Systems, Inc. | Method and device for performing caching of dynamically generated objects in a data communication network |
EP1771998B1 (en) | 2004-07-23 | 2015-04-15 | Citrix Systems, Inc. | Systems and methods for optimizing communications between network nodes |
EP1771979B1 (en) | 2004-07-23 | 2011-11-23 | Citrix Systems, Inc. | A method and systems for securing remote access to private networks |
US9621473B2 (en) | 2004-08-18 | 2017-04-11 | Open Text Sa Ulc | Method and system for sending data |
GB2417391B (en) | 2004-08-18 | 2007-04-18 | Wecomm Ltd | Transmitting data over a network |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
WO2006029399A2 (en) * | 2004-09-09 | 2006-03-16 | Avaya Technology Corp. | Methods of and systems for network traffic security |
US7673063B2 (en) * | 2004-10-15 | 2010-03-02 | Motorola, Inc. | Methods for streaming media data |
CA2586763C (en) | 2004-11-08 | 2013-12-17 | Cluster Resources, Inc. | System and method of providing system jobs within a compute environment |
US20060098645A1 (en) * | 2004-11-09 | 2006-05-11 | Lev Walkin | System and method for providing client identifying information to a server |
US8458467B2 (en) | 2005-06-21 | 2013-06-04 | Cisco Technology, Inc. | Method and apparatus for adaptive application message payload content transformation in a network infrastructure element |
US7664879B2 (en) * | 2004-11-23 | 2010-02-16 | Cisco Technology, Inc. | Caching content and state data at a network element |
US7987272B2 (en) | 2004-12-06 | 2011-07-26 | Cisco Technology, Inc. | Performing message payload processing functions in a network element on behalf of an application |
US8706877B2 (en) | 2004-12-30 | 2014-04-22 | Citrix Systems, Inc. | Systems and methods for providing client-side dynamic redirection to bypass an intermediary |
US8700695B2 (en) | 2004-12-30 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP pooling |
US8954595B2 (en) | 2004-12-30 | 2015-02-10 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP buffering |
US7810089B2 (en) | 2004-12-30 | 2010-10-05 | Citrix Systems, Inc. | Systems and methods for automatic installation and execution of a client-side acceleration program |
CN101133623B (zh) * | 2004-12-30 | 2011-11-16 | 茨特里克斯系统公司 | 用于提供客户端加速技术的系统和方法 |
US8549149B2 (en) | 2004-12-30 | 2013-10-01 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing |
US7453822B2 (en) * | 2005-01-18 | 2008-11-18 | At&T Intellectual Property I, L.P. | System and method for managing broadband services |
US8255456B2 (en) | 2005-12-30 | 2012-08-28 | Citrix Systems, Inc. | System and method for performing flash caching of dynamically generated objects in a data communication network |
JP5183214B2 (ja) | 2005-01-24 | 2013-04-17 | サイトリックス システムズ,インコーポレイテッド | ネットワークにおいて動的に生成されたオブジェクトのキャッシングを実行するためのシステムおよび方法 |
US7562125B2 (en) * | 2005-02-02 | 2009-07-14 | Cisco Technology, Inc. | Techniques for locating distributed objects on a network based on physical communication costs |
US7640339B1 (en) * | 2005-02-14 | 2009-12-29 | Sun Microsystems, Inc. | Method and apparatus for monitoring a node in a distributed system |
US7908397B1 (en) | 2005-02-28 | 2011-03-15 | Adobe Systems Incorporated | Application server gateway technology |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US9075657B2 (en) | 2005-04-07 | 2015-07-07 | Adaptive Computing Enterprises, Inc. | On-demand access to compute resources |
US9015324B2 (en) | 2005-03-16 | 2015-04-21 | Adaptive Computing Enterprises, Inc. | System and method of brokering cloud computing resources |
CA2601384A1 (en) | 2005-03-16 | 2006-10-26 | Cluster Resources, Inc. | Automatic workload transfer to an on-demand center |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
US20060248194A1 (en) | 2005-03-18 | 2006-11-02 | Riverbed Technology, Inc. | Connection forwarding |
US8589561B2 (en) * | 2005-03-22 | 2013-11-19 | Alcatel Lucent | Session level technique for improving web browsing performance on low speed links |
US8782120B2 (en) | 2005-04-07 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Elastic management of compute resources between a web server and an on-demand compute environment |
US7826487B1 (en) | 2005-05-09 | 2010-11-02 | F5 Network, Inc | Coalescing acknowledgement responses to improve network communications |
US8167722B2 (en) * | 2005-05-11 | 2012-05-01 | Qualcomm Atheros, Inc | Distributed processing system and method |
US8171238B1 (en) | 2007-07-05 | 2012-05-01 | Silver Peak Systems, Inc. | Identification of data stored in memory |
US8370583B2 (en) * | 2005-08-12 | 2013-02-05 | Silver Peak Systems, Inc. | Network memory architecture for providing data based on local accessibility |
US8392684B2 (en) * | 2005-08-12 | 2013-03-05 | Silver Peak Systems, Inc. | Data encryption in a network memory architecture for providing data based on local accessibility |
US8095774B1 (en) | 2007-07-05 | 2012-01-10 | Silver Peak Systems, Inc. | Pre-fetching data into a memory |
US9191396B2 (en) | 2005-09-08 | 2015-11-17 | International Business Machines Corporation | Identifying source of malicious network messages |
US8811431B2 (en) * | 2008-11-20 | 2014-08-19 | Silver Peak Systems, Inc. | Systems and methods for compressing packet data |
US8929402B1 (en) | 2005-09-29 | 2015-01-06 | Silver Peak Systems, Inc. | Systems and methods for compressing packet data by predicting subsequent data |
US8489562B1 (en) | 2007-11-30 | 2013-07-16 | Silver Peak Systems, Inc. | Deferred data storage |
US9455844B2 (en) * | 2005-09-30 | 2016-09-27 | Qualcomm Incorporated | Distributed processing system and method |
US8171127B2 (en) * | 2005-10-07 | 2012-05-01 | Citrix Systems, Inc. | Systems and methods for response monitoring |
CN1870636A (zh) | 2005-11-10 | 2006-11-29 | 华为技术有限公司 | 一种客户端重定向的方法和系统 |
US20070112973A1 (en) * | 2005-11-16 | 2007-05-17 | Harris John M | Pre-cached streaming content method and apparatus |
US7808975B2 (en) * | 2005-12-05 | 2010-10-05 | International Business Machines Corporation | System and method for history driven optimization of web services communication |
US9686183B2 (en) | 2005-12-06 | 2017-06-20 | Zarbaña Digital Fund Llc | Digital object routing based on a service request |
US7894447B2 (en) | 2005-12-06 | 2011-02-22 | Lippershy Celestial Llc | Digital object routing |
US8014389B2 (en) | 2005-12-06 | 2011-09-06 | Lippershy Celestial Llc | Bidding network |
US8194701B2 (en) | 2005-12-06 | 2012-06-05 | Lippershy Celestial Llc | System and/or method for downstream bidding |
US8055897B2 (en) * | 2005-12-06 | 2011-11-08 | Lippershy Celestial Llc | Digital object title and transmission information |
US20080288458A1 (en) * | 2005-12-08 | 2008-11-20 | Nortel Networks Limited | Session Initiation Protocol (Sip) Multicast Management Method |
US8301839B2 (en) | 2005-12-30 | 2012-10-30 | Citrix Systems, Inc. | System and method for performing granular invalidation of cached dynamically generated objects in a data communication network |
US7921184B2 (en) | 2005-12-30 | 2011-04-05 | Citrix Systems, Inc. | System and method for performing flash crowd caching of dynamically generated objects in a data communication network |
US8607005B2 (en) | 2006-02-17 | 2013-12-10 | International Business Machines Corporation | Monitoring program execution to learn data blocks accessed by software process for facilitating efficient prefetching |
US7675854B2 (en) | 2006-02-21 | 2010-03-09 | A10 Networks, Inc. | System and method for an adaptive TCP SYN cookie with time validation |
US7729482B2 (en) * | 2006-02-27 | 2010-06-01 | Cisco Technology, Inc. | Method and system for providing communication protocol interoperability |
US8151323B2 (en) * | 2006-04-12 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for providing levels of access and action control via an SSL VPN appliance |
US7809817B2 (en) | 2006-04-21 | 2010-10-05 | Cirba Inc. | Method and system for determining compatibility of computer systems |
US7680754B2 (en) * | 2006-04-21 | 2010-03-16 | Cirba Inc. | System and method for evaluating differences in parameters for computer systems using differential rule definitions |
CA2648528C (en) | 2006-04-21 | 2016-08-23 | Cirba Inc. | Method and system for determining compatibility of computer systems |
US9549025B2 (en) * | 2006-05-09 | 2017-01-17 | International Business Machines Corporation | Protocol optimization for client and server synchronization |
WO2008005629A2 (en) * | 2006-05-26 | 2008-01-10 | Riverbed Technology, Inc. | Throttling of predictive acks in an accelerated network communication system |
US20070300243A1 (en) * | 2006-06-22 | 2007-12-27 | Sap Portals Israel Ltd. | Modular caching method and system for enabling offline functionality of server-client systems |
EP2036307A1 (en) * | 2006-06-30 | 2009-03-18 | International Business Machines Corporation | A method and apparatus for caching broadcasting information |
US20080019376A1 (en) * | 2006-07-21 | 2008-01-24 | Sbc Knowledge Ventures, L.P. | Inline network element which shares addresses of neighboring network elements |
US9071506B2 (en) * | 2006-07-31 | 2015-06-30 | Hewlett-Packard Development Company, L.P. | Accessing web services using network management information |
US8755381B2 (en) * | 2006-08-02 | 2014-06-17 | Silver Peak Systems, Inc. | Data matching using flow based packet data storage |
US8885632B2 (en) | 2006-08-02 | 2014-11-11 | Silver Peak Systems, Inc. | Communications scheduler |
US8181227B2 (en) | 2006-08-29 | 2012-05-15 | Akamai Technologies, Inc. | System and method for client-side authenticaton for secure internet communications |
US8584199B1 (en) | 2006-10-17 | 2013-11-12 | A10 Networks, Inc. | System and method to apply a packet routing policy to an application session |
US8312507B2 (en) | 2006-10-17 | 2012-11-13 | A10 Networks, Inc. | System and method to apply network traffic policy to an application session |
JP4976121B2 (ja) | 2006-12-19 | 2012-07-18 | 株式会社エヌ・ティ・ティ・ドコモ | 移動通信ネットワークシステム及びサーバ装置 |
US20080229374A1 (en) * | 2007-02-22 | 2008-09-18 | Mick Colin K | Video network including method and apparatus for high speed distribution of digital files over a network |
US8032124B2 (en) | 2007-02-28 | 2011-10-04 | Microsoft Corporation | Health-related opportunistic networking |
US20080209053A1 (en) * | 2007-02-28 | 2008-08-28 | Microsoft Corporation | HTTP-Based Peer-to-Peer Framework |
US7809818B2 (en) | 2007-03-12 | 2010-10-05 | Citrix Systems, Inc. | Systems and method of using HTTP head command for prefetching |
US8504775B2 (en) | 2007-03-12 | 2013-08-06 | Citrix Systems, Inc | Systems and methods of prefreshening cached objects based on user's current web page |
US8103783B2 (en) | 2007-03-12 | 2012-01-24 | Citrix Systems, Inc. | Systems and methods of providing security and reliability to proxy caches |
US7720936B2 (en) | 2007-03-12 | 2010-05-18 | Citrix Systems, Inc. | Systems and methods of freshening and prefreshening a DNS cache |
US8572160B2 (en) | 2007-03-12 | 2013-10-29 | Citrix Systems, Inc. | Systems and methods for script injection |
US7783757B2 (en) | 2007-03-12 | 2010-08-24 | Citrix Systems, Inc. | Systems and methods of revalidating cached objects in parallel with request for object |
US8074028B2 (en) | 2007-03-12 | 2011-12-06 | Citrix Systems, Inc. | Systems and methods of providing a multi-tier cache |
US9021140B2 (en) * | 2007-03-12 | 2015-04-28 | Citrix Systems, Inc. | Systems and methods for error detection |
US8037126B2 (en) | 2007-03-12 | 2011-10-11 | Citrix Systems, Inc. | Systems and methods of dynamically checking freshness of cached objects based on link status |
US7584294B2 (en) | 2007-03-12 | 2009-09-01 | Citrix Systems, Inc. | Systems and methods for prefetching objects for caching using QOS |
US8701010B2 (en) | 2007-03-12 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods of using the refresh button to determine freshness policy |
US8687487B2 (en) * | 2007-03-26 | 2014-04-01 | Qualcomm Incorporated | Method and system for communication between nodes |
JP5246157B2 (ja) * | 2007-04-04 | 2013-07-24 | 富士通株式会社 | 負荷分散システム |
US8285259B2 (en) * | 2007-05-29 | 2012-10-09 | Microsoft Corporation | Resource aggregation in an opportunistic network |
US8028090B2 (en) | 2008-11-17 | 2011-09-27 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US7991910B2 (en) | 2008-11-17 | 2011-08-02 | Amazon Technologies, Inc. | Updating routing information based on client location |
US7653716B2 (en) * | 2007-08-15 | 2010-01-26 | International Business Machines Corporation | Determining a bisection bandwidth for a multi-node data communications network |
US8285870B2 (en) * | 2007-09-05 | 2012-10-09 | Echostar Technologies L.L.C. | Systems and methods for statistical resolution of domain name service (DNS) requests |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US7916728B1 (en) | 2007-09-28 | 2011-03-29 | F5 Networks, Inc. | Lockless atomic table update |
US8055795B2 (en) * | 2007-10-02 | 2011-11-08 | Echostar Technologies Llc | Systems and methods for proxy resolution of domain name service (DNS) requests |
EP2053831B1 (en) * | 2007-10-26 | 2016-09-07 | Alcatel Lucent | Method for caching content data packages in caching nodes |
US9241063B2 (en) | 2007-11-01 | 2016-01-19 | Google Inc. | Methods for responding to an email message by call from a mobile device |
US9319360B2 (en) | 2007-11-01 | 2016-04-19 | Google Inc. | Systems and methods for prefetching relevant information for responsive mobile email applications |
US8676901B1 (en) * | 2007-11-01 | 2014-03-18 | Google Inc. | Methods for transcoding attachments for mobile devices |
US8726165B1 (en) | 2007-11-01 | 2014-05-13 | Google Inc. | Methods for auto-completing contact entry on mobile devices |
US20090119678A1 (en) | 2007-11-02 | 2009-05-07 | Jimmy Shih | Systems and methods for supporting downloadable applications on a portable client device |
US8307115B1 (en) * | 2007-11-30 | 2012-11-06 | Silver Peak Systems, Inc. | Network memory mirroring |
US7827276B2 (en) * | 2007-12-26 | 2010-11-02 | Verizon Patent And Licensing Inc. | System and method for providing latency signatures |
US20090172192A1 (en) * | 2007-12-28 | 2009-07-02 | Christian Michael F | Mapless Global Traffic Load Balancing Via Anycast |
US8442052B1 (en) | 2008-02-20 | 2013-05-14 | Silver Peak Systems, Inc. | Forward packet recovery |
US8477143B2 (en) | 2008-03-04 | 2013-07-02 | Apple Inc. | Buffers for display acceleration |
US9418171B2 (en) * | 2008-03-04 | 2016-08-16 | Apple Inc. | Acceleration of rendering of web-based content |
US8289333B2 (en) * | 2008-03-04 | 2012-10-16 | Apple Inc. | Multi-context graphics processing |
US8082290B2 (en) * | 2008-03-19 | 2011-12-20 | Verizon Patent And Licensing Inc. | Intelligent establishment of peer-to-peer communication |
US8601090B1 (en) | 2008-03-31 | 2013-12-03 | Amazon Technologies, Inc. | Network resource identification |
US7962597B2 (en) * | 2008-03-31 | 2011-06-14 | Amazon Technologies, Inc. | Request routing based on class |
US8156243B2 (en) | 2008-03-31 | 2012-04-10 | Amazon Technologies, Inc. | Request routing |
US7970820B1 (en) | 2008-03-31 | 2011-06-28 | Amazon Technologies, Inc. | Locality based content distribution |
US8321568B2 (en) | 2008-03-31 | 2012-11-27 | Amazon Technologies, Inc. | Content management |
US8447831B1 (en) | 2008-03-31 | 2013-05-21 | Amazon Technologies, Inc. | Incentive driven content delivery |
US8606996B2 (en) | 2008-03-31 | 2013-12-10 | Amazon Technologies, Inc. | Cache optimization |
US8533293B1 (en) | 2008-03-31 | 2013-09-10 | Amazon Technologies, Inc. | Client side cache management |
US7836123B2 (en) * | 2008-05-13 | 2010-11-16 | International Business Machines Corporation | System and method for non-HTTP session based publish/subscribe support using pre-emptive subscriptions |
US8452833B2 (en) * | 2008-05-13 | 2013-05-28 | International Business Machines Corporation | Cached message distribution via HTTP redirects |
US8306036B1 (en) | 2008-06-20 | 2012-11-06 | F5 Networks, Inc. | Methods and systems for hierarchical resource allocation through bookmark allocation |
US9407681B1 (en) | 2010-09-28 | 2016-08-02 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US7925782B2 (en) * | 2008-06-30 | 2011-04-12 | Amazon Technologies, Inc. | Request routing using network computing components |
US9912740B2 (en) | 2008-06-30 | 2018-03-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US10164861B2 (en) | 2015-12-28 | 2018-12-25 | Silver Peak Systems, Inc. | Dynamic monitoring and visualization for network health characteristics |
US9717021B2 (en) | 2008-07-03 | 2017-07-25 | Silver Peak Systems, Inc. | Virtual network overlay |
US10805840B2 (en) | 2008-07-03 | 2020-10-13 | Silver Peak Systems, Inc. | Data transmission via a virtual wide area network overlay |
US8743683B1 (en) | 2008-07-03 | 2014-06-03 | Silver Peak Systems, Inc. | Quality of service using multiple flows |
US20100027563A1 (en) * | 2008-07-31 | 2010-02-04 | Microsoft Corporation | Evolution codes (opportunistic erasure coding) platform |
US8769681B1 (en) | 2008-08-11 | 2014-07-01 | F5 Networks, Inc. | Methods and system for DMA based distributed denial of service protection |
US8954548B2 (en) * | 2008-08-27 | 2015-02-10 | At&T Intellectual Property Ii, L.P. | Targeted caching to reduce bandwidth consumption |
US8117306B1 (en) | 2008-09-29 | 2012-02-14 | Amazon Technologies, Inc. | Optimizing content management |
US8316124B1 (en) | 2008-09-29 | 2012-11-20 | Amazon Technologies, Inc. | Managing network data display |
US7865594B1 (en) | 2008-09-29 | 2011-01-04 | Amazon Technologies, Inc. | Managing resources consolidation configurations |
US7930393B1 (en) | 2008-09-29 | 2011-04-19 | Amazon Technologies, Inc. | Monitoring domain allocation performance |
US8122124B1 (en) | 2008-09-29 | 2012-02-21 | Amazon Technologies, Inc. | Monitoring performance and operation of data exchanges |
WO2010042580A1 (en) * | 2008-10-08 | 2010-04-15 | Citrix Systems, Inc. | Systems and methods for allocating bandwidth by an intermediary for flow control |
US8116225B2 (en) | 2008-10-31 | 2012-02-14 | Venturi Wireless | Method and apparatus for estimating channel bandwidth |
US8219706B2 (en) | 2008-11-14 | 2012-07-10 | At&T Intellectual Property I, Lp | Interdomain network aware peer-to-peer protocol |
US8122098B1 (en) | 2008-11-17 | 2012-02-21 | Amazon Technologies, Inc. | Managing content delivery network service providers by a content broker |
US8521880B1 (en) | 2008-11-17 | 2013-08-27 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US8073940B1 (en) | 2008-11-17 | 2011-12-06 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US8065417B1 (en) | 2008-11-17 | 2011-11-22 | Amazon Technologies, Inc. | Service provider registration by a content broker |
US8732309B1 (en) | 2008-11-17 | 2014-05-20 | Amazon Technologies, Inc. | Request routing utilizing cost information |
US8060616B1 (en) | 2008-11-17 | 2011-11-15 | Amazon Technologies, Inc. | Managing CDN registration by a storage provider |
US8447884B1 (en) | 2008-12-01 | 2013-05-21 | F5 Networks, Inc. | Methods for mapping virtual addresses to physical addresses in a network device and systems thereof |
US20100142401A1 (en) * | 2008-12-04 | 2010-06-10 | Morris Robert P | Methods, Systems, And Computer Program Products For Determining A Network Identifier Of A Node Providing A Type Of Service For A Geospatial Region |
US8897139B2 (en) * | 2008-12-05 | 2014-11-25 | Hewlett-Packard Development Company, L.P. | Packet processing indication |
US8103809B1 (en) | 2009-01-16 | 2012-01-24 | F5 Networks, Inc. | Network devices with multiple direct memory access channels and methods thereof |
US8112491B1 (en) | 2009-01-16 | 2012-02-07 | F5 Networks, Inc. | Methods and systems for providing direct DMA |
US8880632B1 (en) | 2009-01-16 | 2014-11-04 | F5 Networks, Inc. | Method and apparatus for performing multiple DMA channel based network quality of service |
US9152483B2 (en) | 2009-01-16 | 2015-10-06 | F5 Networks, Inc. | Network devices with multiple fully isolated and independently resettable direct memory access channels and methods thereof |
US8880696B1 (en) | 2009-01-16 | 2014-11-04 | F5 Networks, Inc. | Methods for sharing bandwidth across a packetized bus and systems thereof |
WO2010099513A2 (en) * | 2009-02-27 | 2010-09-02 | Coach Wei | Adaptive network with automatic scaling |
US20100223364A1 (en) * | 2009-02-27 | 2010-09-02 | Yottaa Inc | System and method for network traffic management and load balancing |
WO2010102084A2 (en) * | 2009-03-05 | 2010-09-10 | Coach Wei | System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications |
US9197677B2 (en) * | 2009-03-09 | 2015-11-24 | Arris Canada, Inc. | Multi-tiered scalable media streaming systems and methods |
US9485299B2 (en) * | 2009-03-09 | 2016-11-01 | Arris Canada, Inc. | Progressive download gateway |
US7933272B2 (en) * | 2009-03-11 | 2011-04-26 | Deep River Systems, Llc | Methods and systems for resolving a first node identifier in a first identifier domain space to a second node identifier in a second identifier domain space |
US7917618B1 (en) | 2009-03-24 | 2011-03-29 | Amazon Technologies, Inc. | Monitoring web site content |
US8756341B1 (en) | 2009-03-27 | 2014-06-17 | Amazon Technologies, Inc. | Request routing utilizing popularity information |
US8412823B1 (en) | 2009-03-27 | 2013-04-02 | Amazon Technologies, Inc. | Managing tracking information entries in resource cache components |
US8688837B1 (en) | 2009-03-27 | 2014-04-01 | Amazon Technologies, Inc. | Dynamically translating resource identifiers for request routing using popularity information |
US8521851B1 (en) | 2009-03-27 | 2013-08-27 | Amazon Technologies, Inc. | DNS query processing using resource identifiers specifying an application broker |
US7966383B2 (en) * | 2009-03-27 | 2011-06-21 | Business Objects Software Ltd. | Client-server systems and methods for accessing metadata information across a network using proxies |
AU2010234958A1 (en) * | 2009-03-31 | 2011-10-13 | Coach Wei | System and method for access management and security protection for network accessible computer services |
US20100317325A1 (en) * | 2009-06-16 | 2010-12-16 | Microsoft Corporation | Retrieving unique message parts on a mobile computing device |
US8782236B1 (en) | 2009-06-16 | 2014-07-15 | Amazon Technologies, Inc. | Managing resources using resource expiration data |
US8566393B2 (en) | 2009-08-10 | 2013-10-22 | Seawell Networks Inc. | Methods and systems for scalable video chunking |
US8397073B1 (en) | 2009-09-04 | 2013-03-12 | Amazon Technologies, Inc. | Managing secure content in a content delivery network |
US8433771B1 (en) | 2009-10-02 | 2013-04-30 | Amazon Technologies, Inc. | Distribution network with forward resource propagation |
US8560604B2 (en) | 2009-10-08 | 2013-10-15 | Hola Networks Ltd. | System and method for providing faster and more efficient data communication |
US9960967B2 (en) | 2009-10-21 | 2018-05-01 | A10 Networks, Inc. | Determining an application delivery server based on geo-location information |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US9313047B2 (en) | 2009-11-06 | 2016-04-12 | F5 Networks, Inc. | Handling high throughput and low latency network data packets in a traffic management device |
US9886681B2 (en) | 2009-11-24 | 2018-02-06 | International Business Machines Corporation | Creating an aggregate report of a presence of a user on a network |
US8874793B2 (en) * | 2009-11-30 | 2014-10-28 | Qualcomm Innovation Center, Inc. | Methods and apparatus for improving header compression |
EP2510453B1 (en) * | 2009-12-07 | 2016-10-12 | Coach Wei | Website performance optimization and internet traffic processing |
US8964757B2 (en) * | 2009-12-18 | 2015-02-24 | Qualcomm Incorporated | HTTP optimization, multi-homing, mobility and priority |
US9495338B1 (en) | 2010-01-28 | 2016-11-15 | Amazon Technologies, Inc. | Content distribution network |
US8243960B2 (en) * | 2010-03-04 | 2012-08-14 | Bose Corporation | Planar audio amplifier output inductor with current sense |
US9049247B2 (en) | 2010-04-01 | 2015-06-02 | Cloudfare, Inc. | Internet-based proxy service for responding to server offline errors |
US9009330B2 (en) | 2010-04-01 | 2015-04-14 | Cloudflare, Inc. | Internet-based proxy service to limit internet visitor connection speed |
US8930525B2 (en) * | 2010-04-27 | 2015-01-06 | Hewlett-Packard Development Company, L.P. | Method and apparatus for measuring business transaction performance |
US9203684B1 (en) | 2010-07-14 | 2015-12-01 | Google Inc. | Reduction of web page load time using HTTP header compression |
US8190677B2 (en) * | 2010-07-23 | 2012-05-29 | Seawell Networks Inc. | Methods and systems for scalable video delivery |
US9985864B2 (en) * | 2010-08-04 | 2018-05-29 | Keysight Technologies Singapore (Holdings) Pte. Ltd. | High precision packet generation in software using a hardware time stamp counter |
US8756272B1 (en) | 2010-08-26 | 2014-06-17 | Amazon Technologies, Inc. | Processing encoded content |
CN101990256A (zh) * | 2010-08-27 | 2011-03-23 | 中兴通讯股份有限公司 | 长连接管理装置及长连接通讯的链路资源管理方法 |
JP5803924B2 (ja) * | 2010-09-02 | 2015-11-04 | 日本電気株式会社 | データ転送システム |
US8938526B1 (en) | 2010-09-28 | 2015-01-20 | Amazon Technologies, Inc. | Request routing management based on network components |
US8819283B2 (en) | 2010-09-28 | 2014-08-26 | Amazon Technologies, Inc. | Request routing in a networked environment |
US9712484B1 (en) | 2010-09-28 | 2017-07-18 | Amazon Technologies, Inc. | Managing request routing information utilizing client identifiers |
US8577992B1 (en) | 2010-09-28 | 2013-11-05 | Amazon Technologies, Inc. | Request routing management based on network components |
US10958501B1 (en) | 2010-09-28 | 2021-03-23 | Amazon Technologies, Inc. | Request routing information based on client IP groupings |
US8468247B1 (en) | 2010-09-28 | 2013-06-18 | Amazon Technologies, Inc. | Point of presence management in request routing |
US10097398B1 (en) | 2010-09-28 | 2018-10-09 | Amazon Technologies, Inc. | Point of presence management in request routing |
US9003035B1 (en) | 2010-09-28 | 2015-04-07 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8930513B1 (en) | 2010-09-28 | 2015-01-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US8924528B1 (en) | 2010-09-28 | 2014-12-30 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US9215275B2 (en) | 2010-09-30 | 2015-12-15 | A10 Networks, Inc. | System and method to balance servers based on server load status |
US8923498B2 (en) * | 2010-10-26 | 2014-12-30 | Vonage Network, Llc | Systems and methods for integrating information from voice over internet protocol systems and social networking systems |
EP2638689B1 (en) * | 2010-11-10 | 2017-10-11 | Nec Corporation | A method for accessing content in networks and a corresponding system |
JP5165045B2 (ja) * | 2010-11-10 | 2013-03-21 | ヤフー株式会社 | キャッシュシステム及びコンテンツ配信制御方法 |
US8452874B2 (en) | 2010-11-22 | 2013-05-28 | Amazon Technologies, Inc. | Request routing processing |
US9609052B2 (en) | 2010-12-02 | 2017-03-28 | A10 Networks, Inc. | Distributing application traffic to servers based on dynamic service response time |
US9391949B1 (en) | 2010-12-03 | 2016-07-12 | Amazon Technologies, Inc. | Request routing processing |
US8626950B1 (en) | 2010-12-03 | 2014-01-07 | Amazon Technologies, Inc. | Request routing processing |
US8880633B2 (en) | 2010-12-17 | 2014-11-04 | Akamai Technologies, Inc. | Proxy server with byte-based include interpreter |
JP5779882B2 (ja) * | 2011-01-05 | 2015-09-16 | 株式会社リコー | 機器管理システム、機器、機器管理方法およびプログラム |
US9059884B2 (en) * | 2011-01-20 | 2015-06-16 | Openwave Mobility, Inc. | Routing of IP traffic directed at domain names using DNS redirection |
US10135831B2 (en) | 2011-01-28 | 2018-11-20 | F5 Networks, Inc. | System and method for combining an access control system with a traffic management system |
US8688817B2 (en) | 2011-03-14 | 2014-04-01 | Edgecast Networks, Inc. | Network connection hand-off using state transformations |
US9654601B2 (en) | 2011-03-14 | 2017-05-16 | Verizon Digital Media Services Inc. | Network connection hand-off and hand-back |
US8867337B2 (en) | 2011-04-26 | 2014-10-21 | International Business Machines Corporation | Structure-aware caching |
US10467042B1 (en) | 2011-04-27 | 2019-11-05 | Amazon Technologies, Inc. | Optimized deployment based upon customer locality |
US8285808B1 (en) | 2011-05-20 | 2012-10-09 | Cloudflare, Inc. | Loading of web resources |
US9954788B2 (en) | 2011-06-03 | 2018-04-24 | Apple Inc. | Bandwidth estimation based on statistical measures |
US8650289B2 (en) | 2011-06-03 | 2014-02-11 | Apple Inc. | Estimating bandwidth based on server IP address |
WO2013033457A1 (en) | 2011-08-30 | 2013-03-07 | Qualcomm Atheros, Inc. | Topology discovery in a hybrid network |
US9495326B2 (en) | 2011-09-12 | 2016-11-15 | Qualcomm Incorporated | Providing communication path information in a hybrid communication network |
US9094090B2 (en) | 2011-09-23 | 2015-07-28 | Gilat Satellite Networks Ltd. | Decentralized caching system |
US9386127B2 (en) | 2011-09-28 | 2016-07-05 | Open Text S.A. | System and method for data transfer, including protocols for use in data transfer |
CN104012049B (zh) * | 2011-10-13 | 2016-12-07 | 交互数字专利控股公司 | 用于在内容递送网络之间提供接口的方法和设备 |
US9130991B2 (en) | 2011-10-14 | 2015-09-08 | Silver Peak Systems, Inc. | Processing data packets in performance enhancing proxy (PEP) environment |
US9100324B2 (en) | 2011-10-18 | 2015-08-04 | Secure Crossing Research & Development, Inc. | Network protocol analyzer apparatus and method |
US8897154B2 (en) | 2011-10-24 | 2014-11-25 | A10 Networks, Inc. | Combining stateless and stateful server load balancing |
US9626224B2 (en) | 2011-11-03 | 2017-04-18 | Silver Peak Systems, Inc. | Optimizing available computing resources within a virtual environment |
US8886752B2 (en) | 2011-11-21 | 2014-11-11 | Sony Computer Entertainment America | System and method for optimizing transfers of downloadable content |
US9386088B2 (en) | 2011-11-29 | 2016-07-05 | A10 Networks, Inc. | Accelerating service processing using fast path TCP |
US9124674B2 (en) | 2011-12-01 | 2015-09-01 | Futurewei Technologies, Inc. | Systems and methods for connection pooling for video streaming in content delivery networks |
US8971180B2 (en) | 2011-12-05 | 2015-03-03 | At&T Intellectual Property I, L.P. | Pooling available network bandwidth from multiple devices |
US8700691B2 (en) | 2011-12-05 | 2014-04-15 | Microsoft Corporation | Minimal download and simulated page navigation features |
US9094364B2 (en) | 2011-12-23 | 2015-07-28 | A10 Networks, Inc. | Methods to manage services over a service gateway |
CN104081739B (zh) | 2011-12-23 | 2018-03-02 | 阿卡麦科技公司 | 在覆盖网络中利用压缩和差异化引擎的基于主机/路径的数据差异化装置和系统 |
US9742858B2 (en) | 2011-12-23 | 2017-08-22 | Akamai Technologies Inc. | Assessment of content delivery services using performance measurements from within an end user client application |
US9846605B2 (en) | 2012-01-19 | 2017-12-19 | Microsoft Technology Licensing, Llc | Server-side minimal download and error failover |
US10289743B2 (en) | 2012-01-19 | 2019-05-14 | Microsoft Technology Licensing, Llc | Client-side minimal download and simulated page navigation features |
US9892202B2 (en) | 2012-01-25 | 2018-02-13 | Microsoft Technology Licensing, Llc | Web page load time reduction by optimized authentication |
US10044582B2 (en) * | 2012-01-28 | 2018-08-07 | A10 Networks, Inc. | Generating secure name records |
US8904009B1 (en) | 2012-02-10 | 2014-12-02 | Amazon Technologies, Inc. | Dynamic content delivery |
US9036822B1 (en) | 2012-02-15 | 2015-05-19 | F5 Networks, Inc. | Methods for managing user information and devices thereof |
US10021179B1 (en) | 2012-02-21 | 2018-07-10 | Amazon Technologies, Inc. | Local resource delivery network |
US9083743B1 (en) | 2012-03-21 | 2015-07-14 | Amazon Technologies, Inc. | Managing request routing information utilizing performance information |
US10623408B1 (en) | 2012-04-02 | 2020-04-14 | Amazon Technologies, Inc. | Context sensitive object management |
US9712887B2 (en) | 2012-04-12 | 2017-07-18 | Arris Canada, Inc. | Methods and systems for real-time transmuxing of streaming media content |
US9143562B2 (en) * | 2012-04-27 | 2015-09-22 | Hewlett-Packard Development Company, L.P. | Managing transfer of data from a source to a destination machine cluster |
US9740708B2 (en) * | 2012-05-01 | 2017-08-22 | Everbridge, Inc. | Systems and methods for distance and performance based load balancing |
KR20130140932A (ko) * | 2012-05-08 | 2013-12-26 | 한국전자통신연구원 | 네트워크 경로 계산장치, 콘텐츠 요청노드, 중계노드 및 이를 포함하는 정보 중심 네트워크 시스템과 이를 이용한 네트워크 경로 계산방법 |
US9154551B1 (en) | 2012-06-11 | 2015-10-06 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
US20130339510A1 (en) * | 2012-06-15 | 2013-12-19 | Digital River, Inc | Fast provisioning service for cloud computing |
US10771351B2 (en) | 2012-06-15 | 2020-09-08 | Digital River, Inc. | Fast provisioning service for cloud computing |
JP5918642B2 (ja) | 2012-06-29 | 2016-05-18 | Kddi株式会社 | Webコンテンツの配信装置 |
US8782221B2 (en) | 2012-07-05 | 2014-07-15 | A10 Networks, Inc. | Method to allocate buffer for TCP proxy session based on dynamic network conditions |
US9356980B2 (en) * | 2012-07-31 | 2016-05-31 | At&T Intellectual Property I, L.P. | Distributing communication of a data stream among multiple devices |
US9444726B2 (en) | 2012-07-31 | 2016-09-13 | At&T Intellectual Property I, L.P. | Distributing communication of a data stream among multiple devices |
US9491093B2 (en) * | 2012-07-31 | 2016-11-08 | At&T Intellectual Property I, L.P. | Distributing communication of a data stream among multiple devices |
WO2014019287A1 (en) | 2012-08-03 | 2014-02-06 | Beijing Blue I.T. Technologies Co., Ltd | System and method for optimizing inter-node communication in content distribution network |
US9525659B1 (en) | 2012-09-04 | 2016-12-20 | Amazon Technologies, Inc. | Request routing utilizing point of presence load information |
JP2014057149A (ja) * | 2012-09-11 | 2014-03-27 | Toshiba Corp | 通信装置、中継装置および通信方法 |
US9135048B2 (en) | 2012-09-20 | 2015-09-15 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US9323577B2 (en) | 2012-09-20 | 2016-04-26 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US10021174B2 (en) | 2012-09-25 | 2018-07-10 | A10 Networks, Inc. | Distributing service sessions |
US10002141B2 (en) | 2012-09-25 | 2018-06-19 | A10 Networks, Inc. | Distributed database in software driven networks |
KR101692751B1 (ko) | 2012-09-25 | 2017-01-04 | 에이10 네트워크스, 인코포레이티드 | 데이터망 부하 분산 |
US9843484B2 (en) | 2012-09-25 | 2017-12-12 | A10 Networks, Inc. | Graceful scaling in software driven networks |
US10033837B1 (en) | 2012-09-29 | 2018-07-24 | F5 Networks, Inc. | System and method for utilizing a data reducing module for dictionary compression of encoded data |
US8875287B2 (en) | 2012-10-04 | 2014-10-28 | Akamai Technologies, Inc. | Server with mechanism for reducing internal resources associated with a selected client connection |
US20140100956A1 (en) * | 2012-10-05 | 2014-04-10 | Redfin Corporation | Providing fast alerts for rapidly changing real estate data |
CN103780482B (zh) * | 2012-10-22 | 2017-06-27 | 华为技术有限公司 | 一种获取内容方法及用户设备、缓存节点 |
CN104823419B (zh) * | 2012-11-28 | 2018-04-10 | 松下知识产权经营株式会社 | 接收终端及接收方法 |
US9338225B2 (en) | 2012-12-06 | 2016-05-10 | A10 Networks, Inc. | Forwarding policies on a virtual service network |
US10205698B1 (en) | 2012-12-19 | 2019-02-12 | Amazon Technologies, Inc. | Source-dependent address resolution |
US9729605B2 (en) | 2012-12-27 | 2017-08-08 | Akamai Technologies Inc. | Mechanism for distinguishing between content to be served through first or second delivery channels |
CN105074688B (zh) | 2012-12-27 | 2018-04-17 | 阿卡麦科技公司 | 使用对等节点图的基于流的数据去重复 |
US9270602B1 (en) | 2012-12-31 | 2016-02-23 | F5 Networks, Inc. | Transmit rate pacing of large network traffic bursts to reduce jitter, buffer overrun, wasted bandwidth, and retransmissions |
US9531846B2 (en) | 2013-01-23 | 2016-12-27 | A10 Networks, Inc. | Reducing buffer usage for TCP proxy session based on delayed acknowledgement |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
EP2798507B1 (en) | 2013-02-26 | 2017-03-22 | Fastly Inc. | Enhanced acknowledgement handling in communication packet transfer |
US9900252B2 (en) | 2013-03-08 | 2018-02-20 | A10 Networks, Inc. | Application delivery controller and global server load balancer |
US9912555B2 (en) | 2013-03-15 | 2018-03-06 | A10 Networks, Inc. | System and method of updating modules for application or content identification |
US9992107B2 (en) | 2013-03-15 | 2018-06-05 | A10 Networks, Inc. | Processing data packets using a policy based network path |
US9722918B2 (en) | 2013-03-15 | 2017-08-01 | A10 Networks, Inc. | System and method for customizing the identification of application or content type |
WO2014176461A1 (en) | 2013-04-25 | 2014-10-30 | A10 Networks, Inc. | Systems and methods for network access control |
WO2014179753A2 (en) | 2013-05-03 | 2014-11-06 | A10 Networks, Inc. | Facilitating secure network traffic by an application delivery controller |
US10027761B2 (en) | 2013-05-03 | 2018-07-17 | A10 Networks, Inc. | Facilitating a secure 3 party network session by a network device |
CA2851709A1 (en) | 2013-05-16 | 2014-11-16 | Peter S. Warrick | Dns-based captive portal with integrated transparent proxy to protect against user device caching incorrect ip address |
US9294391B1 (en) | 2013-06-04 | 2016-03-22 | Amazon Technologies, Inc. | Managing network computing components utilizing request routing |
US9241044B2 (en) | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
US9864606B2 (en) | 2013-09-05 | 2018-01-09 | F5 Networks, Inc. | Methods for configurable hardware logic device reloading and devices thereof |
US9477774B2 (en) * | 2013-09-25 | 2016-10-25 | Akamai Technologies, Inc. | Key resource prefetching using front-end optimization (FEO) configuration |
US10097503B2 (en) | 2013-09-27 | 2018-10-09 | Fastly, Inc. | Content node network address selection for content delivery |
US9648125B2 (en) | 2013-10-04 | 2017-05-09 | Akamai Technologies, Inc. | Systems and methods for caching content with notification-based invalidation |
US9641640B2 (en) | 2013-10-04 | 2017-05-02 | Akamai Technologies, Inc. | Systems and methods for controlling cacheability and privacy of objects |
US9813515B2 (en) | 2013-10-04 | 2017-11-07 | Akamai Technologies, Inc. | Systems and methods for caching content with notification-based invalidation with extension to clients |
US9819721B2 (en) | 2013-10-31 | 2017-11-14 | Akamai Technologies, Inc. | Dynamically populated manifests and manifest-based prefetching |
US10410244B2 (en) | 2013-11-13 | 2019-09-10 | Bi Science (2009) Ltd | Behavioral content discovery |
US10230770B2 (en) | 2013-12-02 | 2019-03-12 | A10 Networks, Inc. | Network proxy layer for policy-based application proxies |
US9635024B2 (en) | 2013-12-16 | 2017-04-25 | F5 Networks, Inc. | Methods for facilitating improved user authentication using persistent data and devices thereof |
US10044609B2 (en) | 2014-02-04 | 2018-08-07 | Fastly, Inc. | Communication path selection for content delivery |
US9887914B2 (en) | 2014-02-04 | 2018-02-06 | Fastly, Inc. | Communication path selection for content delivery |
US9942152B2 (en) | 2014-03-25 | 2018-04-10 | A10 Networks, Inc. | Forwarding data packets using a service-based forwarding policy |
WO2015145112A1 (en) * | 2014-03-28 | 2015-10-01 | British Telecommunications Public Limited Company | Data retrieval |
US9942162B2 (en) | 2014-03-31 | 2018-04-10 | A10 Networks, Inc. | Active application response delay time |
US9866655B2 (en) | 2014-03-31 | 2018-01-09 | Akamai Technologies, Inc. | Server initiated multipath content delivery |
US9576070B2 (en) | 2014-04-23 | 2017-02-21 | Akamai Technologies, Inc. | Creation and delivery of pre-rendered web pages for accelerated browsing |
US9906422B2 (en) | 2014-05-16 | 2018-02-27 | A10 Networks, Inc. | Distributed system to determine a server's health |
US9992229B2 (en) | 2014-06-03 | 2018-06-05 | A10 Networks, Inc. | Programming a data network device using user defined scripts with licenses |
US10129122B2 (en) | 2014-06-03 | 2018-11-13 | A10 Networks, Inc. | User defined objects for network devices |
US9986061B2 (en) | 2014-06-03 | 2018-05-29 | A10 Networks, Inc. | Programming a data network device using user defined scripts |
US10015143B1 (en) | 2014-06-05 | 2018-07-03 | F5 Networks, Inc. | Methods for securing one or more license entitlement grants and devices thereof |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US9948496B1 (en) | 2014-07-30 | 2018-04-17 | Silver Peak Systems, Inc. | Determining a transit appliance for data traffic to a software service |
CN105450694B (zh) * | 2014-08-22 | 2019-06-21 | 阿里巴巴集团控股有限公司 | 一种处理连续重定向的方法和装置 |
US9875344B1 (en) | 2014-09-05 | 2018-01-23 | Silver Peak Systems, Inc. | Dynamic monitoring and authorization of an optimization device |
US10135956B2 (en) | 2014-11-20 | 2018-11-20 | Akamai Technologies, Inc. | Hardware-based packet forwarding for the transport layer |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US10027739B1 (en) | 2014-12-16 | 2018-07-17 | Amazon Technologies, Inc. | Performance-based content delivery |
US9769248B1 (en) | 2014-12-16 | 2017-09-19 | Amazon Technologies, Inc. | Performance-based content delivery |
US10097448B1 (en) | 2014-12-18 | 2018-10-09 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10033627B1 (en) | 2014-12-18 | 2018-07-24 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10091096B1 (en) | 2014-12-18 | 2018-10-02 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10311372B1 (en) * | 2014-12-19 | 2019-06-04 | Amazon Technologies, Inc. | Machine learning based content delivery |
US10225365B1 (en) | 2014-12-19 | 2019-03-05 | Amazon Technologies, Inc. | Machine learning based content delivery |
US10311371B1 (en) | 2014-12-19 | 2019-06-04 | Amazon Technologies, Inc. | Machine learning based content delivery |
US9621575B1 (en) | 2014-12-29 | 2017-04-11 | A10 Networks, Inc. | Context aware threat protection |
US9948709B2 (en) | 2015-01-30 | 2018-04-17 | Akamai Technologies, Inc. | Using resource timing data for server push in multiple web page transactions |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
CN105991459B (zh) * | 2015-02-15 | 2019-05-10 | 上海帝联信息科技股份有限公司 | Cdn节点回源路由分配方法、装置和系统 |
US10313463B2 (en) | 2015-02-19 | 2019-06-04 | Akamai Technologies, Inc. | Systems and methods for avoiding server push of objects already cached at a client |
US10225326B1 (en) | 2015-03-23 | 2019-03-05 | Amazon Technologies, Inc. | Point of presence based data uploading |
US9887932B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9819567B1 (en) | 2015-03-30 | 2017-11-14 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9887931B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US9832141B1 (en) | 2015-05-13 | 2017-11-28 | Amazon Technologies, Inc. | Routing based request correlation |
US11057446B2 (en) | 2015-05-14 | 2021-07-06 | Bright Data Ltd. | System and method for streaming content from multiple servers |
US10616179B1 (en) | 2015-06-25 | 2020-04-07 | Amazon Technologies, Inc. | Selective routing of domain name system (DNS) requests |
CN105049954B (zh) * | 2015-07-02 | 2020-07-10 | 中兴通讯股份有限公司 | Ott媒体的组播传输方法、装置及系统 |
US10084884B2 (en) | 2015-07-31 | 2018-09-25 | At&T Intellectual Property I, L.P. | Facilitation of efficient web site page loading |
US10097566B1 (en) | 2015-07-31 | 2018-10-09 | Amazon Technologies, Inc. | Identifying targets of network attacks |
US10581976B2 (en) | 2015-08-12 | 2020-03-03 | A10 Networks, Inc. | Transmission control of protocol state exchange for dynamic stateful service insertion |
US10243791B2 (en) | 2015-08-13 | 2019-03-26 | A10 Networks, Inc. | Automated adjustment of subscriber policies |
US10320934B1 (en) * | 2015-08-25 | 2019-06-11 | Instart Logic, Inc. | One-time cache |
WO2017042813A1 (en) | 2015-09-10 | 2017-03-16 | Vimmi Communications Ltd. | Content delivery network |
US9367554B1 (en) * | 2015-09-14 | 2016-06-14 | Atlassian Pty Ltd | Systems and methods for enhancing performance of a clustered source code management system |
US9787581B2 (en) | 2015-09-21 | 2017-10-10 | A10 Networks, Inc. | Secure data flow open information analytics |
US9742795B1 (en) | 2015-09-24 | 2017-08-22 | Amazon Technologies, Inc. | Mitigating network attacks |
US9774619B1 (en) | 2015-09-24 | 2017-09-26 | Amazon Technologies, Inc. | Mitigating network attacks |
US9794281B1 (en) | 2015-09-24 | 2017-10-17 | Amazon Technologies, Inc. | Identifying sources of network attacks |
WO2017053977A1 (en) | 2015-09-25 | 2017-03-30 | Fsa Technologies, Inc. | Multi-trunk data flow regulation system and method |
US10270878B1 (en) | 2015-11-10 | 2019-04-23 | Amazon Technologies, Inc. | Routing for origin-facing points of presence |
US10257307B1 (en) | 2015-12-11 | 2019-04-09 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10049051B1 (en) | 2015-12-11 | 2018-08-14 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US20170171344A1 (en) * | 2015-12-15 | 2017-06-15 | Le Holdings (Beijing) Co., Ltd. | Scheduling method and server for content delivery network service node |
US10348639B2 (en) | 2015-12-18 | 2019-07-09 | Amazon Technologies, Inc. | Use of virtual endpoints to improve data transmission rates |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US11290559B2 (en) * | 2016-03-04 | 2022-03-29 | Convida Wireless, Llc | Request processing in the service layer |
CN105933234A (zh) * | 2016-04-20 | 2016-09-07 | 乐视控股(北京)有限公司 | Cdn网络中的节点管理方法和系统 |
CN105933226A (zh) * | 2016-04-20 | 2016-09-07 | 乐视控股(北京)有限公司 | 内容分发方法及系统 |
CN105933233A (zh) * | 2016-04-20 | 2016-09-07 | 乐视控股(北京)有限公司 | Cdn网络的拓扑结构生成方法及系统 |
US10075551B1 (en) | 2016-06-06 | 2018-09-11 | Amazon Technologies, Inc. | Request management for hierarchical cache |
US10432484B2 (en) | 2016-06-13 | 2019-10-01 | Silver Peak Systems, Inc. | Aggregating select network traffic statistics |
US10313418B2 (en) * | 2016-06-20 | 2019-06-04 | Ramp Holdings, Inc. | Chunked HTTP video cache routing |
US10110694B1 (en) | 2016-06-29 | 2018-10-23 | Amazon Technologies, Inc. | Adaptive transfer rate for retrieving content from a server |
US10812348B2 (en) | 2016-07-15 | 2020-10-20 | A10 Networks, Inc. | Automatic capture of network data for a detected anomaly |
US10341118B2 (en) | 2016-08-01 | 2019-07-02 | A10 Networks, Inc. | SSL gateway with integrated hardware security module |
US9967056B1 (en) | 2016-08-19 | 2018-05-08 | Silver Peak Systems, Inc. | Forward packet recovery with constrained overhead |
US9992086B1 (en) | 2016-08-23 | 2018-06-05 | Amazon Technologies, Inc. | External health checking of virtual private cloud network environments |
US10033691B1 (en) | 2016-08-24 | 2018-07-24 | Amazon Technologies, Inc. | Adaptive resolution of domain name requests in virtual private cloud network environments |
US10616250B2 (en) | 2016-10-05 | 2020-04-07 | Amazon Technologies, Inc. | Network addresses with encoded DNS-level information |
US9667619B1 (en) | 2016-10-14 | 2017-05-30 | Akamai Technologies, Inc. | Systems and methods for utilizing client side authentication to select services available at a given port number |
US10382562B2 (en) | 2016-11-04 | 2019-08-13 | A10 Networks, Inc. | Verification of server certificates using hash codes |
US10250475B2 (en) | 2016-12-08 | 2019-04-02 | A10 Networks, Inc. | Measurement of application response delay time |
US10372499B1 (en) | 2016-12-27 | 2019-08-06 | Amazon Technologies, Inc. | Efficient region selection system for executing request-driven code |
US10831549B1 (en) | 2016-12-27 | 2020-11-10 | Amazon Technologies, Inc. | Multi-region request-driven code execution system |
US10397270B2 (en) | 2017-01-04 | 2019-08-27 | A10 Networks, Inc. | Dynamic session rate limiter |
US10084855B2 (en) | 2017-01-23 | 2018-09-25 | Akamai Technologies, Inc. | Pixel-based load balancing |
US10938884B1 (en) | 2017-01-30 | 2021-03-02 | Amazon Technologies, Inc. | Origin server cloaking using virtual private cloud network environments |
US11044202B2 (en) | 2017-02-06 | 2021-06-22 | Silver Peak Systems, Inc. | Multi-level learning for predicting and classifying traffic flows from first packet data |
US10257082B2 (en) | 2017-02-06 | 2019-04-09 | Silver Peak Systems, Inc. | Multi-level learning for classifying traffic flows |
US10771394B2 (en) | 2017-02-06 | 2020-09-08 | Silver Peak Systems, Inc. | Multi-level learning for classifying traffic flows on a first packet from DNS data |
US10892978B2 (en) | 2017-02-06 | 2021-01-12 | Silver Peak Systems, Inc. | Multi-level learning for classifying traffic flows from first packet data |
US10187377B2 (en) | 2017-02-08 | 2019-01-22 | A10 Networks, Inc. | Caching network generated security certificates |
US9986269B1 (en) | 2017-03-03 | 2018-05-29 | Akamai Technologies, Inc. | Maintaining stream continuity counter in a stateless multiplexing system |
US11088940B2 (en) | 2017-03-07 | 2021-08-10 | Akamai Technologies, Inc. | Cooperative multipath |
US10536547B2 (en) | 2017-04-03 | 2020-01-14 | Google Llc | Reducing redirects |
US10503613B1 (en) | 2017-04-21 | 2019-12-10 | Amazon Technologies, Inc. | Efficient serving of resources during server unavailability |
US10972453B1 (en) | 2017-05-03 | 2021-04-06 | F5 Networks, Inc. | Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof |
US11075987B1 (en) | 2017-06-12 | 2021-07-27 | Amazon Technologies, Inc. | Load estimating content delivery network |
KR101966284B1 (ko) * | 2017-06-16 | 2019-04-08 | 성균관대학교 산학협력단 | 상태 기반 포워딩을 수행하는 네트워크에서의 능동적인 요청 패킷 관리 장치 및 그 방법 |
US10447648B2 (en) | 2017-06-19 | 2019-10-15 | Amazon Technologies, Inc. | Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP |
US11190374B2 (en) | 2017-08-28 | 2021-11-30 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
LT3472717T (lt) | 2017-08-28 | 2021-01-11 | Luminati Networks Ltd. | Būdas pagerinti turinio parsisiuntimą, pasirenkant tunelinius įrenginius |
US10764391B2 (en) | 2017-09-14 | 2020-09-01 | Akamai Technologies, Inc. | Origin and cache server cooperation for compute-intensive content delivery |
US10887385B2 (en) | 2017-09-20 | 2021-01-05 | Akamai Technologies, Inc. | Marker based reporting system for hybrid content delivery network and peer to peer network |
US11212210B2 (en) | 2017-09-21 | 2021-12-28 | Silver Peak Systems, Inc. | Selective route exporting using source type |
US10742593B1 (en) | 2017-09-25 | 2020-08-11 | Amazon Technologies, Inc. | Hybrid content request routing system |
US10531134B2 (en) | 2017-11-10 | 2020-01-07 | Akamai Technologies, Inc. | Determining a time budget for transcoding of video |
US10581948B2 (en) | 2017-12-07 | 2020-03-03 | Akamai Technologies, Inc. | Client side cache visibility with TLS session tickets |
US10439925B2 (en) | 2017-12-21 | 2019-10-08 | Akamai Technologies, Inc. | Sandbox environment for testing integration between a content provider origin and a content delivery network |
JP6999931B2 (ja) * | 2018-01-10 | 2022-01-19 | 株式会社国際電気通信基礎技術研究所 | 通信方法、通信システム、mecサーバ、dnsサーバ、および、トラフィック誘導ルータ |
US10764402B2 (en) | 2018-03-03 | 2020-09-01 | Akamai Technologies, Inc. | Leveraging time-windows generated by web browser pre-connections |
US10440142B2 (en) | 2018-03-06 | 2019-10-08 | Akamai Technologies, Inc. | Automated TTL adjustment using cache performance and purge data |
US10592578B1 (en) | 2018-03-07 | 2020-03-17 | Amazon Technologies, Inc. | Predictive content push-enabled content delivery network |
US10637721B2 (en) | 2018-03-12 | 2020-04-28 | Silver Peak Systems, Inc. | Detecting path break conditions while minimizing network overhead |
US11855898B1 (en) | 2018-03-14 | 2023-12-26 | F5, Inc. | Methods for traffic dependent direct memory access optimization and devices thereof |
US10958649B2 (en) | 2018-03-21 | 2021-03-23 | Akamai Technologies, Inc. | Systems and methods for internet-wide monitoring and protection of user credentials |
US10681001B2 (en) | 2018-03-29 | 2020-06-09 | Akamai Technologies, Inc. | High precision mapping with intermediary DNS filtering |
US10452563B1 (en) | 2018-05-07 | 2019-10-22 | Akamai Technologies, Inc. | Cache eviction scheme for acceptable substitutes in online media |
WO2019236376A1 (en) * | 2018-06-05 | 2019-12-12 | R-Stor Inc. | Fast data connection system and method |
US11012362B2 (en) | 2018-06-18 | 2021-05-18 | Akamai Technologies, Inc. | Download management with congestion mitigation for over the air content delivery to vehicles |
WO2019245821A1 (en) | 2018-06-18 | 2019-12-26 | Akamai Technologies, Inc. | Download management with congestion mitigation for over the air content delivery to vehicles |
US10667172B2 (en) | 2018-06-18 | 2020-05-26 | Akamai Technologies, Inc. | Download management with congestion mitigation for over the air content delivery to vehicles |
CN110830535B (zh) * | 2018-08-10 | 2021-03-02 | 网宿科技股份有限公司 | 一种超热文件的处理方法、负载均衡设备及下载服务器 |
US10834138B2 (en) | 2018-08-13 | 2020-11-10 | Akamai Technologies, Inc. | Device discovery for cloud-based network security gateways |
US10931695B2 (en) | 2018-08-22 | 2021-02-23 | Akamai Technologies, Inc. | Nonce injection and observation system for detecting eavesdroppers |
US10798006B2 (en) | 2018-10-12 | 2020-10-06 | Akamai Technologies, Inc. | Overload protection for data sinks in a distributed computing system |
US11245667B2 (en) | 2018-10-23 | 2022-02-08 | Akamai Technologies, Inc. | Network security system with enhanced traffic analysis based on feedback loop and low-risk domain identification |
US11537716B1 (en) | 2018-11-13 | 2022-12-27 | F5, Inc. | Methods for detecting changes to a firmware and devices thereof |
US10862852B1 (en) | 2018-11-16 | 2020-12-08 | Amazon Technologies, Inc. | Resolution of domain name requests in heterogeneous network environments |
US11019034B2 (en) | 2018-11-16 | 2021-05-25 | Akamai Technologies, Inc. | Systems and methods for proxying encrypted traffic to protect origin servers from internet threats |
US10958624B2 (en) | 2018-12-06 | 2021-03-23 | Akamai Technologies, Inc. | Proxy auto-configuration for directing client traffic to a cloud proxy with cloud-based unique identifier assignment |
US11025747B1 (en) | 2018-12-12 | 2021-06-01 | Amazon Technologies, Inc. | Content request pattern-based routing system |
KR101985844B1 (ko) * | 2019-01-03 | 2019-06-05 | 넷마블 주식회사 | Cdn 관리 방법 및 장치 |
KR101993158B1 (ko) * | 2019-01-03 | 2019-06-27 | 넷마블 주식회사 | Cdn 선택 방법 및 장치 |
EP3780557B1 (en) | 2019-02-25 | 2023-02-15 | Bright Data Ltd. | System and method for url fetching retry mechanism |
US10924534B2 (en) | 2019-03-01 | 2021-02-16 | Akamai Technologies, Inc. | Dynamic placement of computing tasks in a distributed computing environment |
EP4030318A1 (en) | 2019-04-02 | 2022-07-20 | Bright Data Ltd. | System and method for managing non-direct url fetching service |
US11290523B1 (en) | 2021-06-22 | 2022-03-29 | International Business Machines Corporation | High-speed transfer of data from device to service |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742602A (en) * | 1995-07-12 | 1998-04-21 | Compaq Computer Corporation | Adaptive repeater system |
US5862348A (en) * | 1996-02-09 | 1999-01-19 | Citrix Systems, Inc. | Method and apparatus for connecting a client node to a server node based on load levels |
US5754774A (en) | 1996-02-15 | 1998-05-19 | International Business Machine Corp. | Client/server communication system |
US5894554A (en) * | 1996-04-23 | 1999-04-13 | Infospinner, Inc. | System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests |
US5802518A (en) * | 1996-06-04 | 1998-09-01 | Multex Systems, Inc. | Information delivery system and method |
JP3481054B2 (ja) * | 1996-07-04 | 2003-12-22 | シャープ株式会社 | ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム |
US6240454B1 (en) * | 1996-09-09 | 2001-05-29 | Avaya Technology Corp. | Dynamic reconfiguration of network servers |
AU4253897A (en) * | 1996-09-09 | 1998-03-26 | Hybrid Networks, Inc. | Broadband communication system for high-speed internet access |
US5852717A (en) | 1996-11-20 | 1998-12-22 | Shiva Corporation | Performance optimizations for computer networks utilizing HTTP |
US6002689A (en) | 1996-11-22 | 1999-12-14 | Sprint Communications Co. L.P. | System and method for interfacing a local communication device |
US6304564B1 (en) * | 1996-11-29 | 2001-10-16 | Lucent Technologies Inc. | Method for transmitting messages in wireless communication system using a server process |
US6141325A (en) * | 1996-12-18 | 2000-10-31 | International Business Machines Corporation | Paradigm for enabling interoperability between different subnetworks |
US6026433A (en) * | 1997-03-17 | 2000-02-15 | Silicon Graphics, Inc. | Method of creating and editing a web site in a client-server environment using customizable web site templates |
JPH10289187A (ja) * | 1997-04-17 | 1998-10-27 | Hitachi Ltd | 並列データ転送方法 |
US6401114B1 (en) * | 1997-05-01 | 2002-06-04 | Stratum Technologies Corporation | Method and apparatus for dynamic programming across a computer network |
US6243760B1 (en) * | 1997-06-24 | 2001-06-05 | Vistar Telecommunications Inc. | Information dissemination system with central and distributed caches |
SE510048C3 (sv) * | 1997-07-24 | 1999-05-03 | Mirror Image Internet Ab | Internet caching system |
US6006264A (en) | 1997-08-01 | 1999-12-21 | Arrowpoint Communications, Inc. | Method and system for directing a flow between a client and a server |
JPH1166099A (ja) * | 1997-08-15 | 1999-03-09 | Nippon Telegr & Teleph Corp <Ntt> | 検索機能付代理情報提供装置および情報検索システム |
US6385647B1 (en) * | 1997-08-18 | 2002-05-07 | Mci Communications Corporations | System for selectively routing data via either a network that supports Internet protocol or via satellite transmission network based on size of the data |
US6256295B1 (en) * | 1997-09-25 | 2001-07-03 | Nortel Networks Limited | Method and apparatus for determining multiple minimally-overlapping paths between nodes in a network |
JP3922482B2 (ja) * | 1997-10-14 | 2007-05-30 | ソニー株式会社 | 情報処理装置および方法 |
JPH11110324A (ja) * | 1997-10-07 | 1999-04-23 | Hitachi Ltd | 代理サーバ選択装置および代理サーバ |
US6081840A (en) * | 1997-10-14 | 2000-06-27 | Zhao; Yan | Two-level content distribution system |
JPH11149404A (ja) * | 1997-11-17 | 1999-06-02 | Hitachi Ltd | ハイパーメディア蓄積管理方法 |
US6167441A (en) * | 1997-11-21 | 2000-12-26 | International Business Machines Corporation | Customization of web pages based on requester type |
JP3425384B2 (ja) * | 1997-12-05 | 2003-07-14 | 株式会社東芝 | データ配送システム及び方法、並びにデータ配送ユニット |
US6170075B1 (en) * | 1997-12-18 | 2001-01-02 | 3Com Corporation | Data and real-time media communication over a lossy network |
US6370114B1 (en) * | 1997-12-31 | 2002-04-09 | Nortel Networks Limited | Apparatus and method for optimizing congestion control information in a multi-protocol network |
US6185598B1 (en) * | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
JPH11249977A (ja) * | 1998-03-03 | 1999-09-17 | Mitsubishi Electric Corp | データ転送ネットワークシステム |
US6415329B1 (en) * | 1998-03-06 | 2002-07-02 | Massachusetts Institute Of Technology | Method and apparatus for improving efficiency of TCP/IP protocol over high delay-bandwidth network |
US6901075B1 (en) * | 1998-03-12 | 2005-05-31 | Whale Communications Ltd. | Techniques for protection of data-communication networks |
JP3707927B2 (ja) * | 1998-04-14 | 2005-10-19 | 富士通株式会社 | サーバスループット予約システム |
US6128623A (en) * | 1998-04-15 | 2000-10-03 | Inktomi Corporation | High performance object cache |
US6058431A (en) * | 1998-04-23 | 2000-05-02 | Lucent Technologies Remote Access Business Unit | System and method for network address translation as an external service in the access server of a service provider |
US6108703A (en) | 1998-07-14 | 2000-08-22 | Massachusetts Institute Of Technology | Global hosting system |
US6490615B1 (en) * | 1998-11-20 | 2002-12-03 | International Business Machines Corporation | Scalable cache |
US6526448B1 (en) * | 1998-12-22 | 2003-02-25 | At&T Corp. | Pseudo proxy server providing instant overflow capacity to computer networks |
US6873616B1 (en) * | 1998-12-28 | 2005-03-29 | Nortel Networks Limited | Quasi-deterministic gateway selection algorithm for multi-domain source routed networks |
US6507863B2 (en) * | 1999-01-27 | 2003-01-14 | International Business Machines Corporation | Dynamic multicast routing facility for a distributed computing environment |
EP1035708B1 (en) * | 1999-03-05 | 2007-01-17 | International Business Machines Corporation | Method and system for optimally selecting a web firewall in a TCP/IP network |
US6483808B1 (en) * | 1999-04-28 | 2002-11-19 | 3Com Corporation | Method of optimizing routing decisions over multiple parameters utilizing fuzzy logic |
US6480508B1 (en) * | 1999-05-12 | 2002-11-12 | Westell, Inc. | Router-based domain name system proxy agent using address translation |
US6542964B1 (en) * | 1999-06-02 | 2003-04-01 | Blue Coat Systems | Cost-based optimization for content distribution using dynamic protocol selection and query resolution for cache server |
FI107421B (fi) * | 1999-06-28 | 2001-07-31 | Stonesoft Oy | Yhteyksien valintamenetelmä |
US6879995B1 (en) * | 1999-08-13 | 2005-04-12 | Sun Microsystems, Inc. | Application server message logging |
US6785704B1 (en) * | 1999-12-20 | 2004-08-31 | Fastforward Networks | Content distribution system for operation over an internetwork including content peering arrangements |
US6799214B1 (en) * | 2000-03-03 | 2004-09-28 | Nec Corporation | System and method for efficient content delivery using redirection pages received from the content provider original site and the mirror sites |
US6850980B1 (en) * | 2000-06-16 | 2005-02-01 | Cisco Technology, Inc. | Content routing service protocol |
-
2000
- 2000-03-24 US US09/534,321 patent/US6820133B1/en not_active Expired - Lifetime
-
2001
- 2001-02-07 CA CA2399526A patent/CA2399526C/en not_active Expired - Lifetime
- 2001-02-07 BR BR0108170-5A patent/BR0108170A/pt not_active Application Discontinuation
- 2001-02-07 WO PCT/US2001/004004 patent/WO2001058069A1/en active IP Right Grant
- 2001-02-07 AU AU39748/01A patent/AU778459B2/en not_active Expired
- 2001-02-07 EP EP01914353.6A patent/EP1264432B1/en not_active Expired - Lifetime
- 2001-02-07 JP JP2001557212A patent/JP2003522358A/ja active Pending
- 2001-02-07 CN CNB018078214A patent/CN1263263C/zh not_active Expired - Lifetime
-
2003
- 2003-10-21 HK HK03107608A patent/HK1055361A1/xx not_active IP Right Cessation
-
2004
- 2004-09-14 US US10/941,224 patent/US7359985B2/en not_active Expired - Lifetime
-
2006
- 2006-10-20 US US11/551,644 patent/US7392325B2/en not_active Expired - Lifetime
- 2006-10-20 US US11/551,660 patent/US7418518B2/en not_active Expired - Lifetime
-
2009
- 2009-05-13 JP JP2009116522A patent/JP5044607B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20070050522A1 (en) | 2007-03-01 |
US7359985B2 (en) | 2008-04-15 |
US6820133B1 (en) | 2004-11-16 |
WO2001058069A1 (en) | 2001-08-09 |
AU778459B2 (en) | 2004-12-09 |
JP2009217836A (ja) | 2009-09-24 |
WO2001058069A8 (en) | 2002-01-10 |
CN1422468A (zh) | 2003-06-04 |
JP2003522358A (ja) | 2003-07-22 |
CA2399526C (en) | 2014-08-19 |
US7418518B2 (en) | 2008-08-26 |
EP1264432A4 (en) | 2005-01-05 |
CA2399526A1 (en) | 2001-08-09 |
EP1264432B1 (en) | 2016-07-20 |
US7392325B2 (en) | 2008-06-24 |
HK1055361A1 (en) | 2004-01-02 |
EP1264432A1 (en) | 2002-12-11 |
US20050044270A1 (en) | 2005-02-24 |
BR0108170A (pt) | 2003-02-18 |
US20070050521A1 (en) | 2007-03-01 |
JP5044607B2 (ja) | 2012-10-10 |
AU3974801A (en) | 2001-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1263263C (zh) | 用于传递万维网内容的方法 | |
US8510468B2 (en) | Route aware network link acceleration | |
JP3757917B2 (ja) | パケット転送装置、パケット転送方法解決サーバ、dnsサーバ、ネットワークシステム及びプログラム | |
US7861174B2 (en) | Method and system for assembling concurrently-generated content | |
JP4354532B2 (ja) | 分散コンピュータシステム及びユーザ要求をレプリカネットワークサーバに分配する方法 | |
CN1236583C (zh) | 域间路由选择系统 | |
US6832255B1 (en) | Access control method and apparatus | |
CN100486170C (zh) | 传送前摄http内容的方法和设备 | |
US20020055956A1 (en) | Method and system for assembling concurrently-generated content | |
US20140074981A1 (en) | System and method for implementing application functionality within a network infrastructure | |
US7979521B2 (en) | Method and system for relocating and using enterprise management tools in a service provider model | |
CA2454219A1 (en) | System and method for providing remote data access for a mobile communication device | |
CN1444746A (zh) | 反向内容采集器 | |
WO2001093066A1 (en) | Service quality monitoring process | |
EP1122929A1 (en) | Push of information from a server to a client | |
EP1953646B1 (en) | Mail delivery program, mail delivery method, and mail delivery device | |
CN1443328A (zh) | 内容对象的活动目录 | |
JP6131710B2 (ja) | 通信システム、負荷分散装置、および、負荷分散プログラム | |
ZA200206147B (en) | Method for high-performance delivery of web content. | |
JPH10326231A (ja) | 分散ネットワークコンピューティングシステム、同システムに用いられる情報交換装置、情報交換方法、及び記憶媒体 | |
JP2007140822A (ja) | 情報収集システム、情報収集装置及び情報一時保存装置 | |
EP1360598A1 (en) | Assembling concurrently-generated personalized web pages |
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20060705 |
|
CX01 | Expiry of patent term |