CN1132113C - 使用http的计算机网络的性能优化 - Google Patents

使用http的计算机网络的性能优化 Download PDF

Info

Publication number
CN1132113C
CN1132113C CN97181465A CN97181465A CN1132113C CN 1132113 C CN1132113 C CN 1132113C CN 97181465 A CN97181465 A CN 97181465A CN 97181465 A CN97181465 A CN 97181465A CN 1132113 C CN1132113 C CN 1132113C
Authority
CN
China
Prior art keywords
server
network
request
client computer
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN97181465A
Other languages
English (en)
Other versions
CN1251671A (zh
Inventor
C·W·比德
J·辛格
D·奥斯特赖克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Shiva US Network Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1251671A publication Critical patent/CN1251671A/zh
Application granted granted Critical
Publication of CN1132113C publication Critical patent/CN1132113C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

提供了提高计算机网络(208),特别是连接用户到万维网的网络的性能的系统和方法。通过减少客户机(252)在给服务器(256)发送请求到接收到一个响应之间所经历的传输延迟而提高性能。可以通过在网络接入设备(254)上的一个代理器(260)维护一个连接超高速缓冲存储器以便更快响应对服务器(256)建立网络连接的请求。另外,该代理器可以维护一个信息超高速缓冲存储器以便更快响应获取一个已被修改的对象的请求。可以单独或者结合实现这些增强措施和在此间叙述的其它增强措施以通过节省在计算机网络部件之间的往返时间而减少给服务器发送请求时涉及的传输延迟。

Description

使用HTTP的计算机网络的性能优化
本发明涉及提高联网计算机系统的性能,特别涉及提高访问因特网上万维网(Web)的计算机系统的性能。
因特网是一个为世界范围内通信信息、思想和消息提供通路的网络。虽然因特网已为学术界使用数十年之久,但直到最近才对因特网及其上的信息的兴趣开始剧增。万维网对因特网普及的增加起到重要部分的原因,也许是因为浏览器的用户友好的图形用户接口(“GUI”),它能容易地用于访问万维网。
万维网使超文本文件可为因特网的用户使用。超文本文件不像一本书一样线性提供信息,而是用链接或指针提供读者其它位址,以便使用户可以从一个位址跳到另一个。万维网上的超文本文件通过超文本传输协议(“HTTP”)的客户机/服务器协议访问。
因特网使用传输控制协议/网际协议(“TCP/IP”)将非常不同和不相似的系统连成网络。在视窗3.X环境下,浏览器通常使用动态链接库WINSOCK.DLL与以基于TCP/IP的因特网通信。虽然因特网的硬件主干网是在教育、研究、政府和商业领域中的大型计算机系统之间一系列高速通信链路,但是大量访问万维网的用户使用的浏览器,是通过较慢或较弱的链路(例如通过模拟电话线连接的28.8K的调制解调器)连接到与因特网联网的网络接入设备。
网络接入设备通常具有一个对因特网的高速连接(例如以1.54MB的T-1连接)。网络接入设备可以是一个远程访问服务器以允许远程用户连接到内部网络和因特网资源。这种远程访问服务器,LanRoverTM访问交换远程访问服务器,由马萨诸塞州的Bedford市的Shiva公司生产。其它类型的网络接入设备由因特网服务提供商(“ISP”)使用,以提供客户机对因特网的访问。这样,网络接入设备在运行浏览器的计算机和为用户提供所谓的存在点(point of presence-POP)的万维网服务器之间通过网络连接。
一般来说网络性能会受到阻碍,因为在用户和其POP之间的网络链路通常比POP和万维网服务器之间的网络链路带宽低很多。另外,在客户机等待来自万维网的响应的同时,在常规网络中存在相当数量的传输延迟。因此,需要有提高计算机网络性能的系统和方法,优选不需要修改现有浏览器。
本发明提供提高计算机网络-特别是连接用户到万维网的网络-性能的系统和方法。可以通过减少客户机在发送对服务器的请求和接收到响应之间经历到的传输延迟来提高网络性能。可以由一个在网络接入设备上的代理器(agent)维持一个连接超高速缓冲存储器来更快响应对服务器的网络连接的连接请求。另外,该代理器可以维持一个信息超高速缓冲存储器以更快响应获得曾被修改的目标的请求。可以单独或者结合实现这些增强,通过节省代理器和服务器之间的往返时间来减少在发送对服务器各个请求中涉及的传输延迟。本发明补充由浏览器和其它部件(例如代理服务器)提供的超高速缓冲存储。
还可以通过由网络接入设备根据对HTTP请求的分析给万维网服务器或者代理服务器发送HTTP请求来提高网络性能。然后万维网浏览器可以透明地使用一个代理服务器,不必专门给代理服务器发送请求。
另外,可以通过有效地增加在客户机和网络接入设备之间的弱链路的有效带宽来提高网络性能。一个客户机钩(client hook)截取客户机对服务器的请求,并修改该客户机请求来提高性能。然后把修改后的请求发送到代理器,代理器从修改后的请求重建客户机请求并把该客户机请求发送到服务器。例如,可以把多个客户机请求组合为一个修改后的请求,或者把单个客户机请求智能压缩以便更有效地使用弱链路。
在一个实施例中,本发明提供一种由在一个位于客户机和服务器之间的计算机网络中的代理器执行的方法,以提高客户机和服务器之间的性能,该方法包括步骤:从客户机接收一个第一请求以打开到服务器的一个单一网络连接;发送多个请求到服务器以打开到该服务器的多个网络连接;从该客户机接收一个第二请求;使用多个网络连接中的一个发送该第二请求到服务器。因此,响应客户机打开单一网络连接的第一请求打开到服务器的多个网络连接。
在另一实施例中,本发明提供一种由在一个位于客户机和服务器之间的计算机网络中的代理器执行的方法,以提高客户机和服务器之间的性能,该方法包括步骤:从客户机接收一个第一请求以从服务器获取一个在特定的时间印记后已被修改的对象;发送该第一请求到服务器;从该服务器接收一个第一响应,说明该对象在特定时间印记后还未被修改;发送该第一响应到客户机;在超高速缓冲存储器中存储该对象的标识符和一个时间印记;从该客户机接收一个第二请求以从服务器获取一个在特定时间印记后被修改的对象;如果存储在超高速缓冲存储器中的时间印记在从当前时间开始的一个预定时间量内,则发送一个第二响应到服务器,说明该对象在特定时间印记后还未被修改,而不给服务器发送第二请求。
在另一个实施例中,本发明提供一种由在一个位于客户机和万维网和代理服务器之间的计算机网络中的代理器执行的方法,以提高客户机和万维网服务器之间的性能,该方法包括步骤:从客户机接收一个HTTP请求;根据该HTTP请求发送该HTTP请求到万维网服务器或者代理服务器,代理服务器存储该万维网服务器上的可用信息。因此,客户机不需被修改或配置来使用该代理服务器。
在另一个实施例中,本发明提供一种方法,使用客户机计算机上的客户机钩以及在客户机计算机和服务器之间的代理器以提高在客户机计算机上的客户机和服务器之间的性能,包括步骤:客户机钩截取从客户机到服务器的请求;客户机钩修改该客户机请求;客户机钩发送修改后的请求到代理器;代理器根据修改后的请求重建客户机的请求;代理器发送客户机请求到服务器。客户机钩可以截取客户机请求以打开对该服务器的网络连接并立即响应,以便该客户机不必等待网络连接被打开的响应。代理器可以在需要时打开该网络连接或存储打开的网络连接的超高速缓冲存储器到该服务器。另外,客户机钩可以截取客户机请求来将信息压缩为不同于前一请求信息的变化。代理器具有存储的先前的信息并从这一变化重建开始信息(hew information)。这样,在客户机钩和代理器之间的通信提高了客户机和服务器之间的通信性能。
本发明的特征是不必修改客户机或服务器而提高性能。由于不需修改万维网浏览器,所以能够实现透明地提高浏览器的性能而不管所使用的浏览器。本发明的其它特征和优点在阅读本说明书和附图的其余部分后将十分明显。
图1表示用于执行本发明实施例的软件的一个计算机系统的例子;
图2表示用于执行本发明实施例的软件的一个典型计算机系统的系统方框图;
图3表示通过因特网连接的多个计算机的图;
图4表示通过包括代理器的网络接入设备连接到一个万维网服务器的浏览器的方框图;
图5表示响应打开一个单一网络连接的请求而打开到服务器的多个网络连接的过程的高层流程图;
图6表示使用超高速缓冲存储器响应打开一个单一网络连接的请求而打开到服务器的多个网络连接的另一过程的流程图;
图7A和7B表示使用超高速缓冲存储器提高获取服务器上已被修改的对象的请求的性能的过程的流程图;
图8表示周期刷新在图7A和7B中使用的超高速缓冲存储器中信息的过程的流程图。
图9是一个通过网络接入设备连接到一个万维网服务器的浏览器的方框图,它使用一个代理服务器来提高性能;
图10表示根据一个HTTP请求引导该HTTP请求到万维网服务器或代理服务器的过程的流程图;
图11是通过网络接入设备连接到一个万维网服务器的浏览器的方框图,其中一个客户机钩截取来自浏览器的请求;
图12表示一个客户机钩的立即响应过程的流程图,响应打开对服务器一个网络连接的请求已经打开了网络连接;
图13表示代理器的一个过程的流程图,该代理器接收来自客户机钩的一个请求,它包括一个客户机请求和一个该请求要发送到的服务器的标识符;
图14表示代理器存储一个头标和从头标之间的差别重建另一头标的过程的流程图;
图15表示客户机钩和代理器提高头标传输性能过程的流程图。
在下面的叙述中,本发明将参考提高使用对网络存取设备弱链接的万维网浏览器性能的优选实施例说明。然而,本发明不限制于任何特定实施例或计算机网络。因此,下面实施例的叙述仅为说明的目的而并不加以限制。
图1表示用于执行本发明实施例的软件的一个计算机系统的例子。图1表示一个计算机系统1,它包括监视器3、屏幕5、机箱7、键盘9和鼠标11。鼠标11可以具有一个或多个按钮,例如鼠标按钮13。机箱7内安放一个CD-ROM驱动器15、系统存储器和可以用于存储和检索包括实现本发明的计算机代码的软件程序、用于本发明的数据的硬盘驱动器(见图2),等等。虽然所示CD-ROM17是作为示例的计算机可读存储介质,但是也可以使用其它计算机可读存储介质,包括软盘、磁带、快速存储器、系统存储器和硬盘驱动器。机箱7还安放熟悉的计算机部件(未示出),例如中央处理器、系统存储器、硬盘等。
图2表示用于执行本发明的一个实施例的软件的计算机系统1的系统方框图。如同图1,计算机系统1包括监视器3和键盘9。计算机系统1进一步包括各种子系统,诸如中央处理器102、系统存储器104、I/O控制器106、显示适配器108、可拆卸盘112(例如CD-ROM驱动器)、固定盘116(例如硬盘驱动器)、网络接口118和扬声器120。适用于本发明的其它计算机系统可以包括另外的或者较少子系统。例如,另一计算机系统可以包括多于一个的处理器102(亦即一个多处理器系统)或一个超高速缓冲存储器。
诸如122的箭头表示计算机系统1的系统总线结构。然而,这些箭头是用以表示连接各子系统的任何互联方案。例如,可以使用一个局部总线来连接中央处理器到系统存储器和显示适配器。图2所示计算机系统1只是适用于本发明的计算机系统的一个例子。适用于本发明的子系统的其它配置对熟悉本技术领域的人来说十分明显。
本发明的优选实施例提高万维网浏览器(或客户机)对因特网上的万维网的访问的性能。图3表示通过因特网相连的多个计算机。计算机202、204和206由因特网208互联,因特网是在世界范围内位于教育、研究和商业计算机站点之间一系列高速通信链路。因特网计算机使用TCP/IP作为通信协议。
万维网使用HTTP客户机/服务器协议,它是一种请求-响应协议,HTTP事务处理包括4个步骤:连接、请求、响应、拆除连接。在连接阶段,客户机打算打开对服务器的网络连接。除另外说明外,HTTP打算使用服务器的端口80用于此连接。建立连接包括从客户机请求打开网络连接到服务器和服务器响应报告网络连接已经打开的一个往返时间。虽然此间的讨论集中于HTTP的1.0版本,但是本发明不局限于HTTP的任何版本或特定HTTP。
在网络连接被打开之后,客户机可以在请求阶段发送一个HTTP请求到服务器。请求阶段包括往返时间的一半,其为该请求从客户机前往服务器。一旦服务器接收到该请求,则服务器通过在响应阶段发送对该客户机的响应来响应。如同请求一样,响应阶段包括往返时间的一半,其为响应从服务器到客户机。
拆除连接阶段关闭对服务器的网络连接。这一阶段包括往返时间的一半,并可以以许多不同方式发生。服务器可以在响应发出后关闭该连接,或者由客户机通过发送一个停止序列(例如用户点击浏览器的停止按钮或回退/向前按钮)。常规浏览器在屏幕的状态行显示四阶段之一。
术语“客户机”和“服务器”是相对的术语。客户机是一个实体,它向一个服务器发出请求,而服务器通常给该客户机响应。然而,这些符号是请求-响应特定的,而并不指示这些实体的作用是固定的。在优选实施例中,客户机是一个浏览器,而服务器是一个万维网服务器。浏览器可以在类似于图1和图2所示计算机上执行。服务器可以是类似的计算机,但通常是功能上强大得多的系统,包括更快的子系统和更多存储容量。
图4是通过包括一个代理器的网络接入设备连接到万维网服务器的浏览器的方框图。所示计算机网络包括一个万维网浏览器252、网络接入设备254和万维网服务器256。该浏览器经由网络协议(例如TCP/IP)栈258、通过一条链路与网络接入设备通信。浏览器和网络协议堆栈驻留在客户机计算机系统中。网络接入设备通常是一个电子箱,可以包括图2所示的某些子系统。万维网服务器驻留在通常为远程计算机系统的服务器中。
网络接入设备包括一个代理器260。代理器是一个包括本发明实施例的程序。代理器的计算机代码可以驻留在任何计算机可读存储介质,包括动态随机存取存储器、电子可擦写可编程只读存储器、或快速存储器,仅举几例。在优选实施例中,代理器驻留在由马萨诸塞州Bedford市Shiva公司生产的LanRoverTM存取交换远程访问服务器中。
图5表示响应打开一个单一网络连接的请求打开对服务器多个网络连接的过程的高层流程图。所示过程由在网络接入设备上的一个代理器执行。在步骤302,该代理器接收到一个打开到服务器单一网络连接的客户机请求。
响应打开到服务器的单一网络连接的客户机请求,在步骤304,代理器发送多个请求给服务器,打开对该服务器的多个网络连接。这样,响应客户机打开一个单一网络连接的请求而打开对该服务器的多个网络连接。优选地,代理器保持网络连接。一旦打开一个网络连接,代理器将从服务器接收一个响应,并把该响应发送给客户机。然后,该客户机将通过打开的网络连接发布对该服务器的一个请求,其由代理器接收。在步骤306,代理器使用打开的网络连接发送后继的客户机请求给服务器。
经常是代理器要接收另外对该服务器打开单一网络连接的客户机请求。由于该代理器先前打开多个网络连接,因此代理器立即响应,说明网络连接已经可用,这样节省了在代理器和服务器之间的往返时间。然后客户机通过打开的网络连接发布后继的客户机请求。代理器可以存储打开的网络连接到超高速缓冲存储器,将参考图6对其详细叙述。
为简单起见,此间的讨论叙述代理器与单一客户机浏览器和单一万维网服务器的相互作用。然而,在实际上,代理器通常与多个客户机和多个万维网服务器通信。本发明的方法并不孤立地单独提高每一个别客户机的性能。例如,一个客户机可以通过发布打开一个单一网络连接的请求而打开对服务器的多个网络连接。接着,另一客户机可以请求打开对同一服务器的一个单一网络连接。代理器然后可以立即把一个网络连接授与该客户机,因为网络连接已经打开。这样,一个客户机的动作也可以导致提高其它客户机的性能。代理器优选打开对该服务器的另一网络连接来替换已经被使用的一个。
图6表示使用超高速缓冲存储器响应打开一个单一网络连接的请求打开对服务器的多个网络连接的另一过程的流程图。在该实施例中,代理器维护对该服务器(或多个服务器)的网络连接的超高速缓冲存储器。在步骤352,代理器接收打开对该服务器单一网络连接的客户机请求。
在步骤354,代理器扫描超高速缓冲存储器寻找打开的对服务器的网络连接。如果在步骤356在超高速缓冲存储器中不存在对服务器的打开的网络连接的话,则代理器给服务器发送一个打开一个网络连接的请求。虽然本实施例在此点打开一个单一网络连接,并随后判定连接超高速缓冲存储是否改善了性能,但是在另外的实施例中,代理器给服务器发送多个请求要求打开多个网络连接而旁路随后的判定。
如果在超高速缓冲存储器中存在对该服务器可用的打开的网络连接的话,则代理器给客户机发送一个响应,说明网络连接被打开。该客户机使用这一打开的网络连接给服务器发送一个客户机请求,该请求由代理器在步骤360发送给服务器。
在步骤362,代理器判定对该服务器的网络连接超高速缓冲存储是否改善了性能。这一判定可从许多因素确定,包括该代理器在超高速缓冲存储器中的“命中”的次数、维护该超高速缓冲存储器需要的开销、服务器是否能响应该连接“保持打开”(亦即持续连接)的请求而允许该网络连接保持打开,等等。代理器可以请求服务器“保持打开”该连接,但是实践这一请求却由服务器决定。
在步骤364,代理器检查超高速缓冲存储器中对服务器的所有网络连接是否在使用。如果连接超高速缓冲存储确实改善了性能以及所有对服务器的网络连接都在使用的话,则代理器在步骤366给服务器至少发送一个请求,要求打开一个网络连接。如果确定多个网络连接改善了性能的话,则可以打开对服务器的多个连接。例如,在超高速缓冲存储器中具有预定数目(例如,用户指定的或由代理器在监视性能时确定的)的对一个服务器打开的网络连接也许是有利的。如果打开的连接数少于该预定数,则代理器至少发送一个请求,要求打开对该服务器的一个网络连接。
在一个优选实施例中,超高速缓冲存储器存储所有网络连接和一个指示符,指明该网络连接被打开、在使用或是关闭。在代理器打开网络连接时,它们被标记为“打开”。当代理器接收到打开对服务器的一个网络连接的请求且当超高速缓冲存储器中有一个对该服务器打开的网络连接时,则代理器标记该网络连接为“正在使用”或“被使用”。当代理器从服务器接收到超高速缓冲存储器中的网络连接已经关闭时,则代理器标记该网络连接为“关闭”。
在另一个实施例中,超高速缓冲存储器只存储打开的网络连接。每次在超高速缓冲存储器中的一个网络连接被使用或者关闭时,代理器从超高速缓冲存储器中清除该网络连接。代理器也可以给服务器发送一个请求,要求打开一个网络连接以替换从超高速缓冲存储器中清除的网络连接。
在常规网络系统中,当一个客户机希望从服务器获取一个对象时需要在该客户机和服务器之间两个往返时间:一个是打开连接,一个是获取对象。而在本发明中,可以避免在代理器和服务器之间的一次往返时间,这样将总时间减少为在客户机和服务器之间一个半的往返时间。这样明显提高客户机的性能。
图7A和7B表示使用超高速缓冲存储器在一个对象被修改后提高请求获取服务器上该对象的性能的过程的流程图。利用HITP,客户机能够请求服务器发送一个从指定时间和日期以来还未被修改的对象。为方便起见,这一指定的时间和日期下面将称为时间印记。更具体说,一个HTTP获取消息的头标可以包括一个具有指定“是否自...以来被修改”(If-Modified-Since)的字段和在另一字段的时间印记的头标。如果服务器确定该对象自该指定时间印记以来还未被修改,则服务器不需发送该对象到该客户机,而只需发布一个未修改(304)响应。
虽然浏览器可以使用本特征来维护它自己的超高速缓冲存储器,但是本发明的一个代理器使用该特征维护一个信息超高速缓冲存储器以进一步提高该计算机网络的性能。一般来说,可以使用两个客户机请求来建立信息超高速缓冲存储器和一个第三客户机请求来实现性能的提高。为完整起见,下面假定浏览器在自己的超高速缓冲存储器中没有希望的对象。
在图7A中的步骤402,代理器接收一个客户机请求,要求从服务器获取一个对象。代理器然后发送该客户机请求到服务器。在步骤404,代理器从服务器获取该对象并将其发送给客户机。常规浏览器具有一个用于存储用于未来参考(例如当用户重新访问该万维网页面时)的对象的超高速缓冲存储器。浏览器超高速缓冲存储器包括指示在超高速缓冲存储器中的对象的传播的时间印记。
当客户机想要在其超高速缓冲存储器中的一个对象时,浏览器发送一个请求,要求获取该对象,如果该对象自在浏览器超高速缓冲存储器中指定的时间印记以来已经被修改的话。在步骤406,代理器接收该请求并将其发送给服务器。
在步骤408,代理器从服务器接收一个响应(304),指明该对象自时间印记以来未曾被修改。代理器发送该响应给客户机。代理器在步骤410在超高速缓冲存储器中存储该对象的一个标识符和当前时间印记(亦即在服务器指示该对象还未改变时的时间印记)。这一当前时间印记被用作该对象未被修改时的时间的估计。超高速缓冲存储器可以是包括该对象的地址(例如一个标识符)、在浏览器超高速缓冲存储器中该对象的时间印记和当前时间印记的一张表。代理器不需在该超高速缓冲存储器中存储该对象。
如果该对象已被修改的话,则代理器在步骤412接收一个请求从服务器中获取该对象。代理器通过扫描超高速缓冲存储器来确定该请求是否指定在其超高速缓冲存储器中的一个对象。由于上述前一客户机请求同一对象,并且接收到一个未被修改的响应,因此该对象在超高速缓冲存储器中被指定。
现在参考图7B,在步骤414代理器判定,策略是否指示在浏览器的超高速缓冲存储器中的该对象足够为当前的。所谓策略可以是当前时间印记与超高速缓冲存储器中当服务器最后指示该对象未被修改时的时间印记的比较。如果在这两个时间印记之间的差别在一个预定数量的时间内,则在浏览器超高速缓冲存储器中的该对象是足够当前的。预定时间可以由管理员设定或者由代理器预先设定。可以应用另外的策略考虑。如果服务器不经常改变自己的内容(例如由代理器通知),则可以延长该时间数量。另一方面,如果服务器确实经常改变其内容(例如股票行情),则可以缩短该时间数量。这样,对一个仍为当前的对象的时间量可以是对服务器,万维网页或统一资源定位器(“URL”)特有的。
在步骤416,代理器确定浏览器的超高速缓冲存储器中的该对象足够当前,而且该代理器发送一个未修改响应给客户机。代理器响应该客户机而不给服务器发送请求,从而节省在代理器和服务器之间的一次往返时间。
如果代理器确定浏览器的超高速缓冲存储器不足够新,则在步骤418代理器发送一个请求从服务器获取一个对象,如果该对象已被修改的话。这样,代理器发送客户机请求给服务器。在步骤420,当代理器接收到服务器的一个响应时,该代理器发送该响应给客户机。在步骤422,代理器根据该响应更新超高速缓冲存储器。例如,代理器可以存储当前时间印记到超高速缓冲存储器中,以指示在这一时间点服务器指示该对象还未被修改。如果收到该对象的新的副本,则代理器可更新超高速缓冲存储器中的时间印记,指示浏览器接收到该对象的最后时间。
利用本发明,用于请求已被修改的对象的一个客户机的时间可以从在该客户机到服务器之间的一次往返时间减少到在该客户机和代理器之间的一次往返时间(暂时忽略连接和拆除连接时间)。虽然在超高速缓冲存储器中的条目是客户机特有的,然而本发明对发出请求以获取已被修改的对象的客户机提供明显的性能改善。
图8表示周期刷新在图7A和7B中使用的超高速缓冲存储器中信息的一个过程的流程图。在步骤452,代理器周期地(例如使用一个定时器)获取超高速缓冲存储器中一个对象的标识符。然后在步骤454代理器判定该对象是否足够新。这可以由代理器通过进行和客户机请求获取已被修改的对象的同样的计算来实现。
如果该对象不够新,则在步骤456代理器给服务器发送一个请求,要求获取该对象,如果它已被修改的话。这一请求起源于代理器而非客户机。然后在步骤458代理器根据服务器的响应更新其超高速缓冲存储器。如果服务器响应该对象还未被修改,则代理器可以更新该对象保持未被修改的时间的估计。反之,如果服务器发送该对象的一个新的副本,则代理器通常抛弃该新对象并且更新超高速缓冲存储器,指示该对象已被修改。在另一实施例中,代理器可以存储该对象的新副本以便满足未来的客户机请求。
在步骤460,客户机判定是否有在超高速缓冲存储器中标识的另外对象。如果有的话,则代理器试图为该对象更新超高速缓冲存储器。通过周期地更新超高速缓冲存储器,客户机浏览器的性能将会提高,因为可以更多取消在代理器和服务器之间的往返时间。
图9是一个浏览器的方框图,该浏览器通过使用一个代理服务器的网络接入设备连接到一个万维网服务器以提高性能。所示计算机网络包括一个万维网浏览器502、网络接入设备504和一个万维网服务器506。浏览器通过一条链路经由一个网络协议堆栈508与网络接入设备通信。浏览器和网络协议堆栈驻留在客户机计算机系统中。而万维网服务器驻留在通常为远程计算机系统的服务器中。
网络接入设备包括一个代理器510。所示代理器是一个程序,它接收HTTP请求并把它们引导到万维网服务器或者代理服务器512。该代理器通常接收几种协议的消息,但是这里的讨论集中于HTTP消息。代理服务器是一个计算机系统,它存储来自万维网服务器的可用信息。一般来说,从代理服务器访问信息可能比从万维网服务器更快。
虽然代理服务器的使用已经公知,但是常规系统需要客户机指定HTTP消息是发送到万维网服务器还是代理服务器。在本发明中,客户机无需明确指定该代理服务器使其性能由于使用了该代理服务器而得以提高。本发明的代理器根据对HTTP请求的分析发送该HTTP消息给万维网服务器或者代理服务器。
图10表示根据请求引导一个HTTP请求到万维网服务器或者代理服务器的过程的流程图。在步骤552,代理器从客户机接收一个HTTP请求。在步骤554代理器分析该HTTP请求。这一分析可以包括判定该请求是获取信息还是发布信息。发布信息的请求可以送给万维网服务器。然而,获取信息的请求可以送往代理服务器。也可以有其它包括判定该信息是否可能驻留在代理服务器中的因素。
如果在步骤556确定该HTTP请求可以由代理服务器服务,则在步骤558代理器发送该HTTP请求到代理服务器。代理器也可以在该请求被送往代理服务器之前需要转换该请求为一个不同的协议。否则,在步骤560,代理器发送该HTTP请求到万维网服务器。
本发明允许客户机得到代理服务器的益处而无需被修改来明确发送请求到代理服务器。这样,代理服务器可以被改变或由对网络接入设备进行的改变而修改,而客户机保持不变。
图11表示通过网络接入设备连接到一个万维网服务器的浏览器的方框图,其中一个客户机钩截取来自浏览器的请求。所示计算机网络包括一个万维网浏览器602、网络接入设备604和一个万维网服务器606。浏览器通过一条链路经由一个网络协议堆栈608与网络接入设备通信。在带有浏览器和网络协议堆栈的客户机计算机系统上有一个客户机钩610,该客户机钩截取浏览器和网络协议堆栈之间的呼叫。
在优选实施例中,客户机钩使用DLL链截取浏览器和网络协议堆栈之间的呼叫。例如,重命名动态链接库WINSOCK.DLL为WINSOCKZ.DLL。新的WINSOCK.DLL安装在客户机计算机系统中,它具有和在原来的WINSOCK.DLL中同样名字的例程。然而,新的WINSOCK.DLL在其例程(亦即客户机钩)中有在呼叫被执行之前对之截取的指令。在许多实例中,WINSOCK.DLL的许多例程在该例程的某一点调用WINSOCKZ.DLL中的例程。
网络接入设备包括一个代理器612。所示代理器是一个程序,它从该客户机钩接收HTTP请求。客户机钩和代理器以这样一种方式通信来提高计算机网络的性能而无需修改该客户机。因此,用户自由选择浏览器而仍可明显提高性能。
一般来说,客户机钩截取从客户机到服务器的HTTP请求。客户机钩修改来自客户机的HTTP请求并将修改后的请求发送给代理器。代理器接收修改后的请求,并根据修改后的请求从客户机重建原来的HTTP请求。然后代理器从客户机发送该HTTP请求到服务器。不要求客户机钩和代理器通过HTTP通信。然而,正是在客户机钩和代理器之间的通信提高在客户机和服务器之间通信的性能。
可以使用图11所示计算机网络来提高许多过程的性能。例如,可以改善打开对服务器网络连接的过程。另外,可以增强在对服务器的请求内发送头标的过程。但是这些只是本发明的几个例子,后面将参考图12-15详细叙述。
图12表示客户机钩的一个立即响应过程的流程图,该响应说明响应打开对服务器一个网络连接的请求,该网络连接已经打开。在步骤622,客户机钩截取打开对服务器一个网络连接的客户机请求。在步骤624,客户机钩立即响应客户机,一个伪网络连接已经打开。伪网络连接不是实际网络连接,但是允许客户机开始下一客户机请求。
在步骤626,客户机钩截取指定伪网络连接的对服务器的客户机请求。在步骤628,客户机钩发送该客户机请求和服务器标识符到代理器。服务器标识符(例如地址)从打开一个网络连接的客户机请求中获得。由于客户机钩和代理器在计算机网络中通信,因此不需要在这两者之间的消息符合HTTP。这样,所使用的实际协议可以为实际链路而优化。
图13表示从客户机钩接收一个请求的代理器的一个过程的流程图,客户机钩包括该客户机的一个请求应和一个该请求应送往的服务器的标识符。在步骤652,代理器从包括一个服务器标识符的客户机钩接收一个请求。代理器从客户机钩接收请求,不必首先接收要求打开对服务器一个网络连接的一个HTTP客户机请求。
在步骤654,代理器产生并发送一个HTTP请求给服务器,要求打开一个网络连接。优选地,代理器请求持续的网络连接。服务器由从客户机钩接收到的标识符标识。一旦代理器从服务器接收到网络连接已经打开的响应,则在步骤656代理器产生并给服务器发送一个HTTP请求形式的客户机请求。
代理器可以发送一个HTTP请求以打开对服务器的一个网络连接。代理器还可以维护一个网络连接的超高速缓冲存储器,其已在参考图6的说明中叙述。以这种方式,可以消除在代理器和服务器之间的往返时间。
本发明以许多方式提高性能。当打开对服务器的一个网络连接时可以消除在客户机和代理器之间的往返时间。这一点也许特别有意义,因为该链路可能是在该计算机网络中的弱链路。另外,在客户机钩和代理器之间的协议不限制为HTTP,因此它可以更加优化。
图14表示代理器存储一个头标和从头标之间的差别重建另一头标的过程的流程图。最初,客户机钩截取客户机请求并将其发送给代理器。下面将要说明,客户机钩和代理器之间的通信在其优化时优选不是HTTP。另外,虽然所述实施例是针对请求中的头标,但是本发明可用于请求中的任何信息。
当代理器接收客户机钩的一个请求时,在步骤672代理器存储其头标。然后代理器产生并给服务器发送一个相应HTTP请求。在步骤674,代理器接收客户机钩的另一请求,其包含前一头标和这一头标之间的差别。头标之间的差别现在不是HTTP中头标的标准格式。
在步骤676,代理器使用存储的头标及其差别为客户机钩的当前请求重建头标。在步骤678,代理器使用重建的头标产生和给服务器发送一个相应的HTTP请求。
头标通常包括关于浏览器的信息(例如名字和版本号)、可接受的数据格式等,类似一个多用途因特网邮寄扩展(“MIME”)头标。因此,头标的大部分在不同请求间不改变。在本发明中,一个HTTP请求可以从几百字节减少为不到20字节。这一点特别有意义,因为在客户机钩和代理器之间的链路通常是计算机网络中的弱链路。下面详细叙述这一过程的实现。
图15表示提高头标传输性能的客户机钩和代理器的一个过程的流程图。在步骤702,客户机钩截取对服务器的一个客户机请求,该请求包括客户机钩存储的一个头标。该客户机请求是一个HTTP请求,而客户机钩在给代理器发送该客户机请求时使用更加优化的协议(亦即非HTTP)。
在步骤704,客户机钩给代理器发送客户机请求以便传输给服务器。一旦代理器接收到该客户机请求,则代理器在步骤706存储客户机请求中头标的副本。如果客户机请求不是HTTP,则代理器产生一个相应的HTTP客户机请求。在步骤708,代理器发送该客户机请求到服务器。
在步骤710,客户机钩截取客户机对服务器的一个请求,它包含一个头标。在步骤712,客户机钩修改该客户机请求,使其包括一个指定在该头标和前一头标之间差别的头标。这样,客户机请求将包含头标之间的差别。
在步骤714,代理器接收修改后的客户机请求。利用修改后的客户机请求,在步骤716,代理器从存储的头标和头标之间的差重建头标。代理器产生一个HTTP请求,它相应于客户机请求并包括重建的头标。在步骤718,代理器发送该客户机请求到服务器。
本发明以多种方式提高性能。当打开对服务器的一个网络连接时,可以消除客户机和代理器之间的往返时间。这一点可能特别有意义,因为在客户机钩和代理器之间的链路可能比代理器和服务器之间的链路慢许多。另外,在客户机钩和代理器之间的协议不限制为HTTP,因此这可能更加优化。
虽然上面是本发明的优选实施例的完整说明,但是可以使用各种替代、修改和等价物。显然,本发明在进行适当修改后同样可应用于上述实施例。例如,虽然分别说明各实施例,但是可以结合多个实施例以进一步提高性能。因此,上述说明不应视为是用以限制本发明的范围,本发明的范围由所附权利要求的边界定义再加上等价方法的全部范围。

Claims (67)

1.在一个计算机网络中由在该计算机网络中客户机和服务器之间的一个代理器执行的方法,用以提高客户机和服务器之间的性能,所述方法包括步骤:
接收一个客户机的第一请求打开对服务器的一个单一网络连接;
给服务器发送多个请求打开对该服务器的多个网络连接;
接收该客户机的一个第二请求;
使用多个网络连接中的一个给服务器发送第二请求;
其中对服务器的多个网络连接是响应客户机要求打开一个单一网络连接的第一请求而打开的。
2.权利要求1所述方法,进一步包括步骤:
接收客户机要求打开对服务器的一个单一网络连接的第三请求;
给客户机发送一个响应,说明网络连接被打开;
接收客户机的一个第四请求;
使用先前响应第一请求获得的多个网络连接中的一个发送第四请求到服务器。
3.权利要求2所述方法,进一步包括的步骤有:给服务器发送请求,要求打开对该服务器的一个网络连接,以便替换正被使用的多个网络连接中的一个。
4.权利要求1所述方法,进一步包括在网络连接的一个超高速缓冲存储器中存储多个网络连接的步骤。
5.权利要求4所述方法,进一步包括步骤:
接收客户机一个第三请求,要求打开对该服务器的一个单一网络连接;
扫描超高速缓冲存储器以判定在该超高速缓冲存储器中是否存在对该服务器打开的网络连接;
如果在该超高速缓冲存储器中存在一个打开的网络连接,则给客户机发送一个响应,说明已经打开一个网络连接,以此使该被打开的网络连接被使用。
6.权利要求5所述方法,进一步包括步骤:
判定网络连接超高速缓冲存储是否提高了客户机和服务器之间的性能;
如果网络超高速缓冲存储提高了性能,则给服务器发送一个请求,要求打开对该服务器的一个网络连接,以便在超高速缓冲存储器中存储另一打开的网络连接来替换被使用的网络连接。
7.权利要求4所述方法,进一步包括步骤:
确定存储在超高速缓冲存储器中对服务器打开的网络连接的数目;
如果打开的网络连接数目小于一个预定数目,则给服务器发送一个请求,要求打开对该服务器的一个网络连接,以便在超高速缓冲存储器中存储另一打开的网络连接。
8.权利要求4所述方法,进一步包括步骤:
判定超高速缓冲存储器中一个对服务器打开的网络连接是否已经关闭;
如果在超高速缓冲存储器中有一个关闭的网络连接,则给服务器发送一个请求,要求打开对该服务器的一个网络连接,以便在超高速缓冲存储器中存储一个打开的网络连接。
9.权利要求5所述方法,进一步包括从超高速缓冲存储器中清除使用过的网络连接的步骤。
10.权利要求5所述方法,进一步包括步骤:给服务器发送一个请求,要求打开对该服务器的一个网络连接,以便在超高速缓冲存储器中存储另一打开的网络连接以替换被使用的网络连接。
11.权利要求1所述方法,其中客户机是一个万维网浏览器。
12.一个计算机网络,包括:
运行一个万维网浏览器的一个客户机计算机;
与客户机计算机联网的一个万维网服务器;
与客户机计算机联网的一个代理服务器计算机,用于存储在该万维网服务器上可用的信息;
在客户机计算机和万维网以及代理服务器之间联网的网络接入设备,包括一个代理器,它接收来自万维网浏览器的一个HTTP请求,要求打开对该服务器的一个单一网络连接以及给服务器发送多个请求,要求打开对该服务器的多个网络连接;
其中对服务器的多个网络连接是响应来自万维网浏览器的打开一个单一网络连接的HTTP请求而打开的。
13.在一个计算机网络中由在该计算机网络中在客户机和服务器之间的一个代理器执行的一种方法,用以提高客户机和服务器之间的性能,所述方法包括步骤:
接收一个客户机的第一请求从服务器获取一个对象,如果该对象在一个特定的时间印记后已被修改过的话;
发送该第一请求给服务器;
接收服务器的一个第一响应,该响应说明该对象在特定时间印记后未被修改;
发送该第一响应给客户机;
在一个超高速缓冲存储器中存储该对象的标识符和一个时间印记;
接收该客户机的一个第二请求从服务器中获取在特定时间印记后已被修改的对象;
如果在超高速缓冲存储器中存储的时间印记在从当前时间开始一预定的时间量之内,则给客户机发送一个第二响应,说明该对象在该特定时间印记后未被修改,而不给服务器发送第二请求。
14.权利要求13所述方法,其中,存储步骤包括的步骤有:存储该对象的一个地址作为标识符、存储特定时间印记和存储该时间印记作为当前时间,以便估计在何时该对象保持未被修改。
15.权利要求14所述方法,进一步包括步骤:周期地给服务器发送请求,要求获取在超高速缓冲存储器中标识的那些对象,即在特定时间印记后被修改的对象,以便更新超高速缓冲存储器中的时间印记。
16.权利要求13所述方法,进一步包括设定预定时间量的步骤。
17.权利要求13所述方法,其中客户机是一个万维网浏览器。
18.一个计算机网络,包括:
运行一个万维网浏览器的一个客户机计算机;
与客户机计算机联网的一个万维网服务器;
与客户机计算机联网的一个代理服务器计算机,用于存储在该万维网服务器上可用的信息;
在客户机计算机和万维网和代理服务器之间联网的网络接入设备,包括一个代理器,它为对象存储标识符和时间印记,以便在该代理器接收来自万维网浏览器的一个请求,要求从服务器获取在一个特定时间印记后已被修改的一个对象时,该代理器响应该请求,不给万维网服务器发送请求。
19.在一个计算机网络中由在该计算机网络中在一个客户机和一个万维网服务器和代理服务器之间的一个代理器执行的一种方法,用以提高客户机和万维网服务器之间的性能,所述方法包括步骤:
接收一个客户机的一个HTTP请求;
根据该HTTP请求,发送该HTTP请求到万维网服务器或代理服务器,代理服务器存储在该万维网服务器上的可用信息;
其中不需修改该客户机来使用万维网服务器。
20.权利要求19所述方法,其中,如果该HTTP请求可以由代理服务器服务的话,则将该HTTP请求发送到代理服务器,否则发送该HTTP请求到万维网服务器。
21.权利要求19所述方法,其中,如果该HTTP请求是邮寄信息给服务器的话,则将该HTTP请求发送到万维网服务器,否则发送该HTTP请求到代理服务器。
22.权利要求19所述方法,进一步包括在该HTTP请求被发送到代理服务器之前转换该HTTP请求为一个不同的协议的步骤。
23.权利要求19所述方法,其中客户机是一个万维网浏览器。
24.一个计算机网络,包括:
运行一个万维网浏览器的一个客户机计算机;
与该客户机计算机联网的一个万维网服务器;
与该客户机计算机联网的一个代理服务器计算机,用于存储在该万维网服务器上可用的信息;
在该客户机计算机和万维网和代理服务器之间联网的网络接入设备,包括一个代理器,它接收HTTP请求并根据每一HTTP请求,发送该HTTP请求到万维网服务器或代理服务器;
其中不需修改客户机计算机上的软件来使用该代理服务器。
25.权利要求24所述计算机网络,其中,可以由代理服务器服务的HTTP请求被发送到代理服务器,否则发送HTTP请求到万维网服务器。
26.权利要求24所述计算机网络,其中,给服务器邮寄信息的HTTP请求被发送到万维网服务器,否则HTTP请求被发送到代理服务器。
27.权利要求24所述计算机网络,其中,HTTP请求被发送到代理服务器之前转换该HTTP请求为一个不同的协议。
28.在一个计算机网络中,使用客户机计算机上的一个客户机钩和在该客户机计算机和服务器之间的一个代理器提高在客户机计算机上的客户机和服务器之间性能的方法,包括步骤:
客户机钩截取从客户机到服务器的请求;
客户机钩修改来自客户机的请求;
客户机钩发送修改后的请求到代理器;
代理器根据修改后的请求重建客户机的请求;
代理器发送客户机请求到服务器;
其中,在客户机钩和代理器之间的通信提高在该客户机和服务器之间的通信性能。
29.权利要求28所述方法,进一步包括步骤:
客户机钩截取客户机的第一请求,要求打开对服务器的一个网络连接,该第一请求包括服务器的一个标识符;
客户机钩立即响应,说明对服务器的网络连接已经对该服务器打开并存储该服务器的标识符;
客户机钩截取要通过打开的网络连接送往服务器的客户机的一个第二请求;
客户机钩发送该第二请求和服务器标识符到代理器。
30.权利要求29所述方法,进一步包括步骤:
代理器发送第三请求,要求打开对由所述标识符标识的服务器的一个网络连接;
代理器通过一个打开的网络连接发送第二请求给服务器。
31.权利要求29所述方法,进一步包括步骤:
代理器识别在超高速缓冲存储器中对服务器的一个打开的网络连接;
代理器通过打开的网络连接发送第二请求到服务器。
32.权利要求29所述方法,进一步包括步骤:
代理器不是首先接收客户机请求,打开对服务器的网络连接,而是接收从客户机到服务器的一个第一请求和该服务器的一个标识符;
使用该服务器的标识符,代理器发送一个第二请求给服务器,要求打开一个网络连接;
代理器通过一个打开的网络连接给服务器发送第一请求。
33.权利要求28所述方法,进一步包括步骤:
代理器存储包含在从客户机到服务器的第一请求中的第一信息;
代理器接收从该客户机到服务器的一个第二请求,该第二请求包含在第一信息和第二请求的第二信息之间的差,而不是第二信息;
代理器从存储的第一信息和在第一和第二信息之间的差重建第二信息;
代理器发送包含重建的第二信息的第二请求给服务器。
34.权利要求28所述方法,进一步包括步骤:
客户机钩截取从客户机到服务器的一个第一请求,它包括第一信息;
客户机钩发送该第一请求到代理器,以便发送给服务器;
代理器存储该第一信息的一个副本;
代理器发送第一请求给服务器;
客户机钩截取从客户机到服务器的一个第二请求,它包含第二信息;
客户机钩修改该第二请求使之包含在第一和第二信息之间的差而不是第二信息;
代理器从客户机接收修改过的第二请求;
代理器从存储的第一信息和第一和第二信息之间的差重建第二信息;
代理器给服务器发送包含重建的第二信息的第二请求。
35.权利要求28所述方法,其中,在客户机计算机和代理器之间的网络链路比代理器和服务器之间的网络链路慢很多。
36.在一个计算机网络中,使用客户机计算机上的一个客户机钩和在该客户机计算机和服务器之间的一个代理器提高在客户机计算机上的客户机和服务器之间性能的方法,包括步骤:
客户机钩截取客户机的一个第一请求,要求打开对服务器的一个网络连接,该第一请求包含该服务器的一个标识符;
客户机钩立即响应,说明对服务器的网络连接已经对该服务器打开并存储该服务器的标识符;
客户机钩截取要通过打开的网络连接送往服务器的客户机的一个第二请求;
客户机钩发送该第二请求和服务器标识符到代理器;
代理器发出一个第三请求,请求打开对标识符所标识的服务器的一个网络连接;以及
代理器经一个打开的网络连接发送第二请求。
37.权利要求36所述方法,进一步包括步骤:
代理器识别在超高速缓冲存储器中对服务器的一个打开的网络连接;
代理器通过打开的网络连接发送第二请求到服务器。
38.权利要求36所述方法,其中,对服务器要求打开一个网络连接的第二请求包含一个保持该网络连接为打开状态的请求。
39.在一个计算机网络中由在该计算机网络中在一个客户机和一个服务器之间的一个代理器执行的一种方法,用以提高该客户机和该服务器之间的性能,所述方法包括步骤:
不是首先接收来自客户机的请求,打开对服务器的网络连接,而是接收从客户机到服务器的一个第一请求和该服务器的一个标识符;
使用该服务器的标识符,发送一个第二请求给服务器,要求打开一个网络连接;
通过一个打开的网络连接给服务器发送第一请求。
40.权利要求39所述方法,其中,对服务器要求打开一个网络连接的第二请求包含一个保持该网络连接为打开状态的请求。
41.权利要求39所述方法,其中客户机是一个万维网浏览器。
42.在一个计算机网络中由在该计算机网络中在一个客户机和一个服务器之间的一个代理器执行的一种方法,用以提高该客户机和该服务器之间的性能,所述方法包括步骤:
存储包含在从该客户机到该服务器的第一请求中的第一信息;
接收从该客户机到服务器的一个第二请求,该第二请求包含第一信息和第二请求的第二信息之间的差,而不是第二信息;
从存储的第一信息和在第一和第二信息之间的差重建第二信息;
发送包含重建的第二信息的第二请求给服务器。
43.权利要求42所述方法,其中第一和第二请求是HTTP请求。
44.在一个计算机网络中,使用客户机计算机上的一个客户机钩和在该客户机计算机和服务器之间的一个代理器提高在客户机计算机上的客户机和服务器之间的性能的方法,包括步骤:
客户机钩截取从客户机到服务器的一个第一请求,它包括第一信息;
客户机钩发送该第一请求到代理器,以便发送给服务器;
代理器存储该第一信息的一个副本;
代理器发送第一请求给服务器;
客户机钩截取从客户机到服务器的一个第二请求,它包含第二信息;
客户机钩修改该第二请求使之包含在第一和第二信息之间的差而不是第二信息;
代理器从客户机接收修改过的第二请求;
代理器从存储的第一信息和第一和第二信息之间的差重建第二信息;
代理器给服务器发送包含重建的第二信息的第二请求。
45.权利要求44所述方法,其中客户机钩使用动态链接库链截取客户机请求。
46.权利要求44所述方法,其中第一和第二请求是HTTP请求。
47.权利要求44所述方法,其中客户机是一个万维网浏览器。
48.一种装置包括:
网络接入设备,和
一种存储了指令串的机器可读媒体,当由该网络接入设备执行该指令串时,使该网络接入设备:
接收客户机的一个第一请求以打开对服务器的单一网络连接;
对服务器发送多个请求,以打开多个对服务器的网络连接;
接收客户机的一个第二请求;以及
利用多个网络连接其中之一对服务器发送第二请求。
49.权利要求48所述的装置,进一步包括指令,当由网络接入设备执行所述指令时,使该网络接入设备将多个网络连接存储在一个超高速缓冲存储器中。
50.权利要求49所述的装置,进一步包括指令,当由网络接入设备执行该指令时,使网络接入设备:
接收一个客户机的一个第三请求,以打开对服务器的单一网络连接;
扫描超高速缓冲存储器,以确定在该超高速缓冲存储器中是否存在对服务器的一个打开的网络连接;以及
如果在超高速缓冲存储器中存在一个打开的网络连接,给客户机发送一个打开一个网络连接的响应,从而使打开的网络连接成为可用。
51.权利要求50所述的装置,进一步包括指令,当由网络接入设备执行该指令时,使网络接入设备:
确定网络连接超高速缓冲存储是否提高了客户机和服务器之间的性能;以及
如果网络超高速缓冲存储提高了性能,发送一个请求给服务器以打开与服务器的网络连接,以便将另一打开的网络连接存储在超高速缓冲存储器中,代替使用的网络连接。
52.权利要求49所述的装置,进一步包括指令,当由网络接入设备执行该指令时,使网络接入设备:
确定存储在超高速缓冲存储器中的对服务器的打开的网络连接的数目;以及
如果打开的网络连接数目小于一个预定数目,发送一个请求给服务器以打开一个对服务器的网络连接,以便将另一打开的网络连接存储在超高速缓冲存储器中。
53.权利要求49所述的装置,进一步包括指令,当由网络接入设备执行该指令时,使网络接入设备:
判定超高速缓冲存储器中一个对服务器打开的网络连接是否已经闭合;
如果在超高速缓冲存储器中有一个闭合的网络连接,则给服务器发送一个打开对该服务器的一个网络连接的请求,以便在超高速缓冲存储器中存储一个打开的网络连接。
54.权利要求50所述的装置,进一步包括指令,当由网络接入设备执行所述指令时,使网络接入设备从超高速缓冲存储器中清除使用的网络连接。
55.权利要求50的所述的装置,进一步包括指令,当由网络接入设备执行该指令时,使网络接入设备给服务器发送一个打开对该服务器的一个网络连接的请求,以便在超高速缓冲存储器中存储另一打开的网络连接,以替换使用的网络连接。
56.权利要求48所述的装置,其中客户机是一个万维网浏览器。
57.一种装置,包括:
网络接入设备,和
一种存储了指令串的机器可读媒体,当由网络接入设备执行该指令串时,使该网络接入设备:
接收一个客户机的一个第一请求,以便从一个服务器获取一个对象,如果该对象在一个特定的时间印记后已被修改过的话;
发送该第一请求给服务器;
接收服务器的一个第一响应,该响应说明该对象在特定时间印记后未被修改;
发送该第一响应给客户机;
在超高速缓冲存储器中存储该对象的标识符和时间印记;
接收该客户机的一个第二请求,以便从服务器中获取一个对象,如果该对象在特定时间印记后已被修改的话;以及
如果在超高速缓冲存储器中存储的时间印记在从当前时间开始的一预定时间量之内,则给客户机发送一个该对象在该特定时间印记后未被修改的第二响应,而不给服务器发送第二请求。
58.权利要求57所述的装置,进一步包括指令,当由网络接入设备执行所述指令时,使网络接入设备存储该对象的地址作为标识符、存储特定时间印记和存储该时间印记作为当前时间,以便估计在何时该对象保持不变。
59.权利要求58所述的装置,进一步包括指令,当由网络接入设备执行所述指令时,如果该对象在特定时间印记后已被修改,则使该网络接入设备周期地给服务器发送请求,要求获取在超高速缓冲存储器中的被标识的那些对象,以便更新超高速缓冲存储器中的时间印记。
60.权利要求57所述的装置,进一步包括指令,当由网络接入设备执行该指令时,使网络接入设备设定预定时间量。
61.权利要求57所述的装置,其中客户机是一个万维网浏览器。
62.一种装置,包括:
网络接入设备,和
一种存储了指令串的机器可读媒体,当由网络接入设备执行所述指令串时,使该网络接入设备:
接收一个客户机的一个请求;以及
对一个万维网服务器或代理服务器发送请求,根据该请求,代理服务器存储在万维网服务器上可获得的信息。
63.权利要求62所述的装置,其中从一个客户机接收到的请求为一个HTTP请求。
64.权利要求62所述的装置,其中如果从一个客户机接收到的请求可以由代理服务器服务的话,则将该请求发送到代理服务器,否则发送该请求到万维网服务器。
65.权利要求62所述的装置,其中如果从一个客户机接收到的请求是给服务器邮寄信息的话,则将该HTTP请求发送到万维网服务器,否则发送该请求到代理服务器。
66.权利要求62所述的装置,进一步包括指令,当由网络接入设备执行该指令时,使网络接入设备在HTTP请求被发送到代理服务器之前转换该请求为一个不同的协议。
67.权利要求62所述的装置,其中客户机是一个万维网浏览器。
CN97181465A 1996-11-20 1997-11-20 使用http的计算机网络的性能优化 Expired - Fee Related CN1132113C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/752,500 1996-11-20
US08/752,500 US5852717A (en) 1996-11-20 1996-11-20 Performance optimizations for computer networks utilizing HTTP

Publications (2)

Publication Number Publication Date
CN1251671A CN1251671A (zh) 2000-04-26
CN1132113C true CN1132113C (zh) 2003-12-24

Family

ID=25026570

Family Applications (1)

Application Number Title Priority Date Filing Date
CN97181465A Expired - Fee Related CN1132113C (zh) 1996-11-20 1997-11-20 使用http的计算机网络的性能优化

Country Status (7)

Country Link
US (1) US5852717A (zh)
EP (1) EP1008057B1 (zh)
CN (1) CN1132113C (zh)
AU (1) AU7303398A (zh)
CA (1) CA2272897C (zh)
HK (1) HK1028655A1 (zh)
WO (1) WO1998022886A1 (zh)

Families Citing this family (339)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
US5809415A (en) * 1995-12-11 1998-09-15 Unwired Planet, Inc. Method and architecture for an interactive two-way data communication network
US6466783B2 (en) 1995-12-11 2002-10-15 Openwave Systems Inc. Visual interface to mobile subscriber account services
US6473609B1 (en) 1995-12-11 2002-10-29 Openwave Systems Inc. Method and architecture for interactive two-way communication devices to interact with a network
US6742022B1 (en) * 1995-12-11 2004-05-25 Openwave Systems Inc. Centralized service management system for two-way interactive communication devices in data networks
JP3618917B2 (ja) * 1996-08-05 2005-02-09 株式会社東芝 情報収集方法
US5991802A (en) * 1996-11-27 1999-11-23 Microsoft Corporation Method and system for invoking methods of objects over the internet
US6085224A (en) * 1997-03-11 2000-07-04 Intracept, Inc. Method and system for responding to hidden data and programs in a datastream
US5948066A (en) * 1997-03-13 1999-09-07 Motorola, Inc. System and method for delivery of information over narrow-band communications links
US6167438A (en) * 1997-05-22 2000-12-26 Trustees Of Boston University Method and system for distributed caching, prefetching and replication
US7103794B2 (en) * 1998-06-08 2006-09-05 Cacheflow, Inc. Network object cache engine
JPH113307A (ja) * 1997-06-13 1999-01-06 Canon Inc 情報処理装置および方法
US6304886B1 (en) * 1997-06-19 2001-10-16 International Business Machines Corporation System and method for building a web site using specific interface
US6684369B1 (en) 1997-06-19 2004-01-27 International Business Machines, Corporation Web site creator using templates
US6119167A (en) * 1997-07-11 2000-09-12 Phone.Com, Inc. Pushing and pulling data in networks
US6021426A (en) * 1997-07-31 2000-02-01 At&T Corp Method and apparatus for dynamic data transfer on a web page
US6026413A (en) * 1997-08-01 2000-02-15 International Business Machines Corporation Determining how changes to underlying data affect cached objects
US6672775B1 (en) * 1997-08-01 2004-01-06 International Business Machines Corporation Cross-machine web page download and storage
US6256712B1 (en) * 1997-08-01 2001-07-03 International Business Machines Corporation Scaleable method for maintaining and making consistent updates to caches
CA2298712A1 (en) * 1997-08-06 1999-02-18 Tachyon, Inc. A distributed system and method for prefetching objects
US6226642B1 (en) 1997-09-11 2001-05-01 International Business Machines Corporation Content modification of internet web pages for a television class display
US6240461B1 (en) 1997-09-25 2001-05-29 Cisco Technology, Inc. Methods and apparatus for caching network data traffic
US6223209B1 (en) * 1997-09-30 2001-04-24 Ncr Corporation Distributed world wide web servers
US6253234B1 (en) * 1997-10-17 2001-06-26 International Business Machines Corporation Shared web page caching at browsers for an intranet
US6128701A (en) * 1997-10-28 2000-10-03 Cache Flow, Inc. Adaptive and predictive cache refresh policy
US6393526B1 (en) 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
WO1999023571A1 (en) * 1997-11-03 1999-05-14 Inca Technology, Inc. Automatically configuring network-name-services
JP3449684B2 (ja) * 1997-12-11 2003-09-22 富士通株式会社 ソフトウェア設定装置及びソフトウェア設定方法及び当該方法を実現するプログラムを記録した記録媒体
US6366947B1 (en) * 1998-01-20 2002-04-02 Redmond Venture, Inc. System and method for accelerating network interaction
JP3561139B2 (ja) * 1998-01-27 2004-09-02 シャープ株式会社 ファイルオブジェクト中継方法、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機
US6122666A (en) * 1998-02-23 2000-09-19 International Business Machines Corporation Method for collaborative transformation and caching of web objects in a proxy network
US7007072B1 (en) * 1999-07-27 2006-02-28 Storage Technology Corporation Method and system for efficiently storing web pages for quick downloading at a remote device
US6272534B1 (en) * 1998-03-04 2001-08-07 Storage Technology Corporation Method and system for efficiently storing web pages for quick downloading at a remote device
US6175869B1 (en) * 1998-04-08 2001-01-16 Lucent Technologies Inc. Client-side techniques for web server allocation
US6289358B1 (en) 1998-04-15 2001-09-11 Inktomi Corporation Delivering alternate versions of objects from an object cache
US6128623A (en) * 1998-04-15 2000-10-03 Inktomi Corporation High performance object cache
US5930472A (en) * 1998-04-29 1999-07-27 Motorola, Inc. Method and apparatus in a wireless communication system for splitting a browser functionality between a wireless client and an infrastructure portion
US6144996A (en) * 1998-05-13 2000-11-07 Compaq Computer Corporation Method and apparatus for providing a guaranteed minimum level of performance for content delivery over a network
US6438597B1 (en) * 1998-08-17 2002-08-20 Hewlett-Packard Company Method and system for managing accesses to a data service system that supports persistent connections
US6212565B1 (en) 1998-08-26 2001-04-03 Sun Microsystems, Inc. Apparatus and method for improving performance of proxy server arrays that use persistent connections
US6519646B1 (en) * 1998-09-01 2003-02-11 Sun Microsystems, Inc. Method and apparatus for encoding content characteristics
US6317837B1 (en) * 1998-09-01 2001-11-13 Applianceware, Llc Internal network node with dedicated firewall
US6411986B1 (en) * 1998-11-10 2002-06-25 Netscaler, Inc. Internet client-server multiplexer
US6526448B1 (en) 1998-12-22 2003-02-25 At&T Corp. Pseudo proxy server providing instant overflow capacity to computer networks
US6490602B1 (en) * 1999-01-15 2002-12-03 Wish-List.Com, Inc. Method and apparatus for providing enhanced functionality to product webpages
US6374288B1 (en) 1999-01-19 2002-04-16 At&T Corp Digital subscriber line server system and method for dynamically changing bit rates in response to user requests and to message types
US6434608B1 (en) * 1999-02-26 2002-08-13 Cisco Technology, Inc. Methods and apparatus for caching network traffic
AU763524B2 (en) * 1999-03-02 2003-07-24 Flexera Software Llc Data file synchronisation
US6502175B1 (en) * 1999-03-31 2002-12-31 Lucent Technologies Inc. Method and apparatus for locating caches in a network to optimize performance
JP3761356B2 (ja) * 1999-05-25 2006-03-29 富士通株式会社 Lan上のトラヒック制御システム、方法およびその制御プログラムを記録した記録媒体
US6513062B1 (en) 1999-05-25 2003-01-28 Grischa Corporation Method, apparatus, and computer program product for efficient server response generation using intermediate state caching
US6751191B1 (en) 1999-06-29 2004-06-15 Cisco Technology, Inc. Load sharing and redundancy scheme
US6510458B1 (en) 1999-07-15 2003-01-21 International Business Machines Corporation Blocking saves to web browser cache based on content rating
US6697849B1 (en) * 1999-08-13 2004-02-24 Sun Microsystems, Inc. System and method for caching JavaServer Pages™ responses
US6658462B1 (en) 1999-08-26 2003-12-02 International Business Machines Corporation System, method, and program for balancing cache space requirements with retrieval access time for large documents on the internet
US6757717B1 (en) 1999-09-16 2004-06-29 Proxyconn, Inc. System and method for data access
US6877036B1 (en) 1999-09-24 2005-04-05 Akamba Corporation System and method for managing connections between a client and a server
US6801927B1 (en) 1999-09-24 2004-10-05 Akamba Corporation Network adaptor card with reverse proxy and cache and method implemented therewith
US6308238B1 (en) * 1999-09-24 2001-10-23 Akamba Corporation System and method for managing connections between clients and a server with independent connection and data buffers
US7743089B2 (en) * 1999-10-13 2010-06-22 Intel Corporation Method and system for dynamic application layer gateways
JP3873548B2 (ja) * 1999-10-29 2007-01-24 富士通株式会社 情報提供サービス、情報提供方法及び情報提供装置
US7349979B1 (en) 1999-12-02 2008-03-25 Cisco Technology, Inc. Method and apparatus for redirecting network traffic
US6748448B1 (en) 1999-12-13 2004-06-08 International Business Machines Corporation High performance internet storage access scheme
US6683873B1 (en) * 1999-12-27 2004-01-27 Cisco Technology, Inc. Methods and apparatus for redirecting network traffic
US7058007B1 (en) 2000-01-18 2006-06-06 Cisco Technology, Inc. Method for a cable modem to rapidly switch to a backup CMTS
US6964052B1 (en) * 2000-01-18 2005-11-08 E★Trade Caching output from an object in an application server environment
US6839829B1 (en) 2000-01-18 2005-01-04 Cisco Technology, Inc. Routing protocol based redundancy design for shared-access networks
IL140504A0 (en) * 2000-02-03 2002-02-10 Bandwiz Inc Broadcast system
US6820133B1 (en) 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US6947440B2 (en) 2000-02-15 2005-09-20 Gilat Satellite Networks, Ltd. System and method for internet page acceleration including multicast transmissions
US6725272B1 (en) * 2000-02-18 2004-04-20 Netscaler, Inc. Apparatus, method and computer program product for guaranteed content delivery incorporating putting a client on-hold based on response time
US6668279B1 (en) * 2000-02-25 2003-12-23 Sun Microsystems, Inc. User level web server in-kernel network I/O accelerator
US6934761B1 (en) 2000-02-25 2005-08-23 Sun Microsystems, Inc. User level web server cache control of in-kernel http cache
US7082456B2 (en) * 2000-03-17 2006-07-25 Filesx Ltd. Accelerating responses to requests made by users to an internet
AU2001232988A1 (en) * 2000-03-24 2001-10-08 Dotrocket, Inc. A system and method for increasing data packet transfer rate in a computer network
US7020719B1 (en) 2000-03-24 2006-03-28 Netli, Inc. System and method for high-performance delivery of Internet messages by selecting first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US6990579B1 (en) 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US7013484B1 (en) 2000-03-31 2006-03-14 Intel Corporation Managing a secure environment using a chipset in isolated execution mode
US6633963B1 (en) 2000-03-31 2003-10-14 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US7082615B1 (en) 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US7089418B1 (en) 2000-03-31 2006-08-08 Intel Corporation Managing accesses in a processor for isolated execution
US6934817B2 (en) 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US7073071B1 (en) 2000-03-31 2006-07-04 Intel Corporation Platform and method for generating and utilizing a protected audit log
US7013481B1 (en) 2000-03-31 2006-03-14 Intel Corporation Attestation key memory device and bus
US6795905B1 (en) 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
US7356817B1 (en) 2000-03-31 2008-04-08 Intel Corporation Real-time scheduling of virtual machines
US6760441B1 (en) 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US7194634B2 (en) 2000-03-31 2007-03-20 Intel Corporation Attestation key memory device and bus
US6996710B1 (en) 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US6957332B1 (en) * 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US6678825B1 (en) 2000-03-31 2004-01-13 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
US6754815B1 (en) 2000-03-31 2004-06-22 Intel Corporation Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set
US6769058B1 (en) 2000-03-31 2004-07-27 Intel Corporation Resetting a processor in an isolated execution environment
US7801766B2 (en) 2000-03-31 2010-09-21 You Technology Brand Services, Inc. Method, system, and computer readable medium for facilitating a transaction between a customer, a merchant and an associate
US6965924B1 (en) * 2000-04-26 2005-11-15 Hewlett-Packard Development Company, L.P. Method and system for transparent file proxying
US6742044B1 (en) 2000-05-10 2004-05-25 Cisco Technology, Inc. Distributed network traffic load balancing technique implemented without gateway router
US6839809B1 (en) 2000-05-31 2005-01-04 Cisco Technology, Inc. Methods and apparatus for improving content quality in web caching systems
JP4282207B2 (ja) * 2000-05-31 2009-06-17 日本電気株式会社 サーバ装置、クライアント装置、クライアントサーバ通信システム及びそれらに用いるサーバ特定方式
US6611837B2 (en) 2000-06-05 2003-08-26 International Business Machines Corporation System and method for managing hierarchical objects
US7010606B1 (en) 2000-06-05 2006-03-07 International Business Machines Corporation System and method for caching a network connection
US7395348B1 (en) * 2000-06-05 2008-07-01 Cisco Technology, Inc. Network cache-based content routing
JP4776804B2 (ja) * 2000-06-12 2011-09-21 キヤノン株式会社 ネットワークデバイス及びその制御方法、並びにコンピュータプログラム
ATE422130T1 (de) * 2000-06-14 2009-02-15 Sap Ag Kommunikation zwischen klienten und servercomputern über http, verfahren, computerprogrammprodukt und system
US7072979B1 (en) 2000-06-28 2006-07-04 Cisco Technology, Inc. Wide area load balancing of web traffic
US6976162B1 (en) 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
DE10038557B4 (de) * 2000-08-03 2005-12-15 Siemens Ag System und Verfahren zur Übertragung von Daten über Datennetze, insbesondere Internet, mit asynchroner Datenverbindung
US7028091B1 (en) 2000-08-31 2006-04-11 Sun Microsystems, Inc. Web server in-kernel interface to data transport system and cache manager
US20020059440A1 (en) * 2000-09-06 2002-05-16 Hudson Michael D. Client-side last-element cache network architecture
US7668740B1 (en) * 2000-09-22 2010-02-23 Ita Software, Inc. Method, system, and computer program product for interfacing with information sources
US7793111B1 (en) 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US7389427B1 (en) 2000-09-28 2008-06-17 Intel Corporation Mechanism to secure computer output from software attack using isolated execution
US7099939B2 (en) * 2000-10-03 2006-08-29 Sun Microsystems Inc. HTTP transaction monitor with sequence replay capacity
US7016953B2 (en) * 2000-10-03 2006-03-21 Sun Microsystems, Inc. HTTP transaction monitor
US7203741B2 (en) * 2000-10-12 2007-04-10 Peerapp Ltd. Method and system for accelerating receipt of data in a client-to-client network
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
US20020059463A1 (en) * 2000-11-10 2002-05-16 Leonid Goldstein Method and system for accelerating internet access through data compression
US6792507B2 (en) 2000-12-14 2004-09-14 Maxxan Systems, Inc. Caching system and method for a network storage system
US7215781B2 (en) 2000-12-22 2007-05-08 Intel Corporation Creation and distribution of a secret value between two devices
US7035963B2 (en) 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US6907600B2 (en) 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7225441B2 (en) 2000-12-27 2007-05-29 Intel Corporation Mechanism for providing power management through virtualization
US7631349B2 (en) * 2001-01-11 2009-12-08 Digi International Inc. Method and apparatus for firewall traversal
US7188145B2 (en) 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
CA2441176A1 (en) * 2001-03-16 2002-09-26 Otg Software, Inc. Network file sharing method and system
US7096497B2 (en) 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
US7899911B2 (en) * 2001-06-07 2011-03-01 Intel Corporation Method and apparatus to retrieve information in a network
US7881208B1 (en) 2001-06-18 2011-02-01 Cisco Technology, Inc. Gateway load balancing protocol
US20020199013A1 (en) * 2001-06-25 2002-12-26 Sorensen Lauge S. Method and apparatus for moving HTML/XML information into a HTTP header in a network
US7774492B2 (en) 2001-07-26 2010-08-10 Citrix Systems, Inc. System, method and computer program product to maximize server throughput while avoiding server overload by controlling the rate of establishing server-side net work connections
US7191440B2 (en) 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7797376B1 (en) * 2001-11-13 2010-09-14 Cisco Technology, Inc. Arrangement for providing content operation identifiers with a specified HTTP object for acceleration of relevant content operations
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US7720997B1 (en) 2001-12-19 2010-05-18 Cisco Technology, Inc. Path selection system
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US7308576B2 (en) 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US7085846B2 (en) 2001-12-31 2006-08-01 Maxxan Systems, Incorporated Buffer to buffer credit flow control for computer network
US7145914B2 (en) 2001-12-31 2006-12-05 Maxxan Systems, Incorporated System and method for controlling data paths of a network processor subsystem
CN1208732C (zh) * 2002-02-01 2005-06-29 上海贝尔阿尔卡特移动通信系统有限公司 在基于Web技术的应用系统中使用的事件处理方法
US20030149720A1 (en) * 2002-02-06 2003-08-07 Leonid Goldstein System and method for accelerating internet access
US20030149792A1 (en) * 2002-02-06 2003-08-07 Leonid Goldstein System and method for transmission of data through multiple streams
US7480806B2 (en) 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7028149B2 (en) 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US7295561B1 (en) 2002-04-05 2007-11-13 Ciphermax, Inc. Fibre channel implementation using network processors
US7406038B1 (en) 2002-04-05 2008-07-29 Ciphermax, Incorporated System and method for expansion of computer network switching system without disruption thereof
US7379970B1 (en) 2002-04-05 2008-05-27 Ciphermax, Inc. Method and system for reduced distributed event handling in a network environment
US20030191943A1 (en) * 2002-04-05 2003-10-09 Poisner David I. Methods and arrangements to register code
US7307995B1 (en) 2002-04-05 2007-12-11 Ciphermax, Inc. System and method for linking a plurality of network switches
US20030196100A1 (en) * 2002-04-15 2003-10-16 Grawrock David W. Protection against memory attacks following reset
US7058807B2 (en) * 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
US7076669B2 (en) * 2002-04-15 2006-07-11 Intel Corporation Method and apparatus for communicating securely with a token
US7127548B2 (en) 2002-04-16 2006-10-24 Intel Corporation Control register access virtualization performance improvement in the virtual-machine architecture
US7085832B2 (en) * 2002-04-30 2006-08-01 International Business Machines Corporation Method and apparatus for enabling an internet web server to keep an accurate count of page hits
US7139890B2 (en) 2002-04-30 2006-11-21 Intel Corporation Methods and arrangements to interface memory
US6820177B2 (en) 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7142674B2 (en) 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
US6996748B2 (en) 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
US7124327B2 (en) 2002-06-29 2006-10-17 Intel Corporation Control over faults occurring during the operation of guest software in the virtual-machine architecture
WO2004006115A1 (en) * 2002-07-02 2004-01-15 Netscaler, Inc System, method and computer program product to avoid server overload by controlling http denial of service (dos) attacks
US7395355B2 (en) * 2002-07-11 2008-07-01 Akamai Technologies, Inc. Method for caching and delivery of compressed content in a content delivery network
US7296267B2 (en) 2002-07-12 2007-11-13 Intel Corporation System and method for binding virtual machines to hardware contexts
US7353538B2 (en) * 2002-11-08 2008-04-01 Federal Network Systems Llc Server resource management, analysis, and intrusion negation
US7376732B2 (en) * 2002-11-08 2008-05-20 Federal Network Systems, Llc Systems and methods for preventing intrusion at a web host
US7165181B2 (en) 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US7073042B2 (en) 2002-12-12 2006-07-04 Intel Corporation Reclaiming existing fields in address translation data structures to extend control over memory accesses
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US7318235B2 (en) 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US7318141B2 (en) 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines
US7793286B2 (en) * 2002-12-19 2010-09-07 Intel Corporation Methods and systems to manage machine state in virtual machine operations
US7900017B2 (en) 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US20040128465A1 (en) * 2002-12-30 2004-07-01 Lee Micheil J. Configurable memory bus width
FR2855288B1 (fr) * 2003-05-19 2005-09-16 Canon Kk Procede et dispositif de traitement de messages a balises de type soap
US7251700B2 (en) * 2003-05-27 2007-07-31 Oracle International Corporation Time-to-live timeout on a logical connection from a connection cache
US7269692B2 (en) * 2003-05-27 2007-09-11 Oracle International Corporation Implicit connection caching
US7486618B2 (en) * 2003-05-27 2009-02-03 Oracle International Corporation Weighted attributes on connections and closest connection match from a connection cache
US7415708B2 (en) 2003-06-26 2008-08-19 Intel Corporation Virtual machine management using processor state information
US7593346B2 (en) 2003-07-31 2009-09-22 Cisco Technology, Inc. Distributing and balancing traffic flow in a virtual gateway
US7424709B2 (en) 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7287197B2 (en) * 2003-09-15 2007-10-23 Intel Corporation Vectoring an interrupt or exception upon resuming operation of a virtual machine
US7739521B2 (en) 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US7610611B2 (en) 2003-09-19 2009-10-27 Moran Douglas R Prioritized address decoder
US7237051B2 (en) 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system
US20050080934A1 (en) 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
US7366305B2 (en) 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
KR100991891B1 (ko) * 2003-10-22 2010-11-04 인터내셔널 비지네스 머신즈 코포레이션 접속 관리 방법 및 시스템과 컴퓨터 판독가능 저장 매체
US8244880B2 (en) * 2003-10-22 2012-08-14 International Business Machines Corporation Connection management method, system, and program product
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US7636844B2 (en) 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
JP2005149387A (ja) * 2003-11-19 2005-06-09 Nec Corp リアルタイムWeb共有システム
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US7356735B2 (en) 2004-03-30 2008-04-08 Intel Corporation Providing support for single stepping a virtual machine in a virtual machine environment
US7620949B2 (en) 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US7912457B2 (en) * 2004-04-21 2011-03-22 Qualcomm Incorporated Methods and apparatus for creation and transport of multimedia content flows
JPWO2006001507A1 (ja) * 2004-06-24 2008-04-17 日本電気株式会社 情報提供システム、情報提供サーバ、携帯端末、情報提供制御プログラム及び携帯端末制御プログラム
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US7305592B2 (en) 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication 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
US8544043B2 (en) * 2004-07-21 2013-09-24 Qualcomm Incorporated Methods and apparatus for providing content information to content servers
EP2267951B1 (en) 2004-07-23 2016-12-28 Citrix Systems, Inc. Method for routing packets from an endpoint to a gateway
EP1771998B1 (en) 2004-07-23 2015-04-15 Citrix Systems, Inc. Systems and methods for optimizing communications between network nodes
US7984113B2 (en) * 2004-09-08 2011-07-19 Sap Ag System and method for passing messages to a web browser
US7840962B2 (en) 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US8001175B2 (en) * 2004-10-22 2011-08-16 International Business Machines Corporation Facilitating server response optimization
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
KR100934088B1 (ko) * 2004-12-09 2009-12-24 콸콤 인코포레이티드 멀티미디어 컨텐트 플로우들을 생성하고 분산 네트워크로 전달하기 위한 방법 및 장치
US8533777B2 (en) 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
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
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
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
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
WO2006074072A2 (en) * 2004-12-30 2006-07-13 Citrix Systems, Inc. Systems and methods for providing client-side acceleration techniques
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
US7395405B2 (en) 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
US20060184613A1 (en) * 2005-02-15 2006-08-17 Xata Corporation Data conduit
US20060262804A1 (en) * 2005-05-18 2006-11-23 Kim Moon J Method of providing multiprotocol cache service among global storage farms
WO2006126221A1 (en) * 2005-05-27 2006-11-30 Telecom Italia S.P.A. System and method for performing mobile services, in particular push and pull services, in a wireless communication network
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US8010595B2 (en) * 2005-11-29 2011-08-30 International Business Machines Corporation Execution of server-side dynamic pages
US7924884B2 (en) * 2005-12-20 2011-04-12 Citrix Systems, Inc. Performance logging using relative differentials and skip recording
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
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
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US8451806B2 (en) * 2006-08-21 2013-05-28 Citrix Sysrems, Inc. Systems and methods for pinging a user's intranet IP address
US8213393B2 (en) 2006-08-21 2012-07-03 Citrix Systems, Inc. Methods for associating an IP address to a user via an appliance
US8418243B2 (en) * 2006-08-21 2013-04-09 Citrix Systems, Inc. Systems and methods of providing an intranet internet protocol address to a client on a virtual private network
US7978617B2 (en) 2006-09-15 2011-07-12 Citrix Systems, Inc. Methods for providing performance improvement recommendations
US8078972B2 (en) 2006-09-15 2011-12-13 Citrix Systems, Inc. Methods and interfaces for displaying performance data related to a current remote access session
US8701010B2 (en) * 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
US20080235326A1 (en) * 2007-03-21 2008-09-25 Certeon, Inc. Methods and Apparatus for Accelerating Web Browser Caching
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
US8667175B2 (en) 2008-03-13 2014-03-04 Cisco Technology, Inc. Server selection for routing content to a client using application layer redirection
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
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
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
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
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
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US20100223364A1 (en) * 2009-02-27 2010-09-02 Yottaa Inc System and method for network traffic management and load balancing
US20100220622A1 (en) * 2009-02-27 2010-09-02 Yottaa Inc Adaptive network with automatic scaling
US20100228819A1 (en) * 2009-03-05 2010-09-09 Yottaa Inc System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
AU2010234958A1 (en) * 2009-03-31 2011-10-13 Coach Wei System and method for access management and security protection for network accessible computer services
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
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
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
AU2010202782B1 (en) * 2010-07-01 2010-11-25 Adeia Media Holdings Llc Cloud data persistence engine
US8756272B1 (en) 2010-08-26 2014-06-17 Amazon Technologies, Inc. Processing encoded content
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US9077681B2 (en) 2010-10-05 2015-07-07 Microsoft Technology Licensing, Llc Page loading optimization using page-maintained cache
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
WO2012092586A2 (en) 2010-12-30 2012-07-05 Peerapp Ltd. Methods and systems for transmission of data over computer networks
CN103597471B (zh) 2010-12-30 2017-05-17 皮尔爱普有限公司 用于对计算机网络上的数据通信进行缓存的方法和系统
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US9417759B1 (en) * 2011-06-27 2016-08-16 Google Inc. Synchronizing data across multiple browser tabs or windows
WO2013041922A1 (en) 2011-09-23 2013-03-28 Gilat Satellite Networks, Ltd. Decentralized caching system
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
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
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
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
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9917916B2 (en) 2013-03-14 2018-03-13 Apple Inc. Media delivery service protocol to support large numbers of client with error failover processes
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
BR112016008789B1 (pt) * 2013-11-19 2022-12-27 SOLiD, INC Estação principal configurada para comunicação de rede de área local sem fio de alta eficiência, método executado por uma estação principal, meio de armazenamento e estação de rede de área local sem fio de alta eficiência
US9325463B2 (en) 2013-11-19 2016-04-26 Intel IP Corporation High-efficiency WLAN (HEW) master station and methods to increase information bits for HEW communication
US9705643B2 (en) 2014-07-15 2017-07-11 Intel IP Corporation High-efficiency wireless local-area network devices and methods for acknowledgements during scheduled transmission opportunities
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 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
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887931B1 (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
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
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
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
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
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10331471B1 (en) 2017-03-29 2019-06-25 Parallels International Gmbh Browser credential management for virtual execution environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
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
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11212368B2 (en) * 2019-05-17 2021-12-28 Netflix, Inc. Fire-and-forget offload mechanism for network-based services

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4891785A (en) * 1988-07-08 1990-01-02 Donohoo Theodore J Method for transferring data files between computers in a network response to generalized application program instructions
US5339435A (en) * 1991-02-28 1994-08-16 Hewlett-Packard Company Heterogenous software configuration management apparatus
US5710918A (en) * 1995-06-07 1998-01-20 International Business Machines Corporation Method for distributed task fulfillment of web browser requests

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598536A (en) * 1994-08-09 1997-01-28 Shiva Corporation Apparatus and method for providing remote users with the same unique IP address upon each network access

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4891785A (en) * 1988-07-08 1990-01-02 Donohoo Theodore J Method for transferring data files between computers in a network response to generalized application program instructions
US5339435A (en) * 1991-02-28 1994-08-16 Hewlett-Packard Company Heterogenous software configuration management apparatus
US5710918A (en) * 1995-06-07 1998-01-20 International Business Machines Corporation Method for distributed task fulfillment of web browser requests

Also Published As

Publication number Publication date
CN1251671A (zh) 2000-04-26
HK1028655A1 (en) 2001-02-23
US5852717A (en) 1998-12-22
CA2272897A1 (en) 1998-05-28
AU7303398A (en) 1998-06-10
CA2272897C (en) 2007-05-29
EP1008057A4 (en) 2002-06-26
EP1008057B1 (en) 2005-08-10
WO1998022886A1 (en) 1998-05-28
EP1008057A1 (en) 2000-06-14

Similar Documents

Publication Publication Date Title
CN1132113C (zh) 使用http的计算机网络的性能优化
US6523062B1 (en) Facilitating memory constrained client devices by employing deck reduction techniques
US6199107B1 (en) Partial file caching and read range resume system and method
US8307364B2 (en) Multi-threaded annotator for hypertext information
US6108655A (en) Method and apparatus for transmitting images and other objects over a computer network system
US6222634B1 (en) Apparatus and method for printing related web pages
CN1113504C (zh) 服务器侧的异步格式管理
US6757708B1 (en) Caching dynamic content
US6397253B1 (en) Method and system for providing high performance Web browser and server communications
US5892917A (en) System for log record and log expansion with inserted log records representing object request for specified object corresponding to cached object copies
USRE46967E1 (en) System, apparatus, method, and computer program product for indexing a file
US7249196B1 (en) Web page source file transfer system and method
US7082476B1 (en) System and method of optimizing retrieval of network resources by identifying and substituting embedded symbolic host name references with network addresses in accordance with substitution policies
US7376892B2 (en) String template pages for generating HTML document
US6848000B1 (en) System and method for improved handling of client state objects
US20030135653A1 (en) Method and system for communications network
US20070101061A1 (en) Customized content loading mechanism for portions of a web page in real time environments
US20090132640A1 (en) Content timing method and system
US20050080876A1 (en) Network data transfer acceleration system and method
US6256669B1 (en) Method and apparatus for bandwidth characterization and reporting in web browsers
CN1234086C (zh) 用于高速缓存文件信息的系统和方法
US20020174174A1 (en) System and method for monitoring execution time of a transaction
JP2003281023A (ja) データ転送装置、データ転送方法、データ受信表示装置、プログラム
CN1194413A (zh) 在服务器上预先高速缓存数据的方法和设备
CN1285558A (zh) 动态提供内容的处理器

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20031224

Termination date: 20161120

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