throbber
United States Patent (19)
`Starnes et al.
`
`US006144996A
`Patent Number:
`11
`(45) Date of Patent:
`
`6,144,996
`Nov. 7, 2000
`
`73 Assignee: Compaq Computer Corporation,
`Houston, TeX.
`
`21 Appl. No.: 09/133,482
`22 Filed:
`Aug. 12, 1998
`Related U.S. Application Data
`60 Provisional application No. 60/085,309, May 13, 1998.
`(51) Int. Cl." ...................................................... G06F 1300
`52 U.S. Cl. .............................................................. 709/217
`58 Field of Search ..................................... 709/201, 203,
`709/212, 213, 214, 216, 217, 218, 219
`
`OTHER PUBLICATIONS
`54 METHOD AND APPARATUS FOR
`PROVIDING A GUARANTEED MINIMUM
`LEVEL N
`?
`FOR RNT R. Fielding et al., “Hypertext Transfer Protocol-HTTP/1.1”,
`HTTP Working Group, Aug. 12, 1996, pp. 1-110.
`DELIVERY OVER A NETWORK
`“WinGate 2.1 is Officially Released”, www.wingate.net,
`75 Inventors: Darrell J. Starnes, Tomball; Amgad
`1997.
`M. Elwahab, Houston; Jeffrey R.
`“WinGate Opens the Internet Door”, LAN Times (www
`Gabler, Tomball; Steven C. Giap;
`.lanstimes.com/97/97jan/701b066a.html), Jan. 1997.
`Rupali M. Kothari, both of Houston;
`“Microsoft Proxy Server 1.0", Microsoft Corporation
`Svilen B. Pronev, Cypress;
`(www.microsoft.com/products/prodref/130 ov.htm).
`Christopher H. Stewart, Tomball, all
`“Microsoft Announces Proxy Server 2.0', Microsoft Cor
`of TeX.
`poration (www.microsoft.com/corpinfo/press/1997/oct97/
`proxy2pr.htm), Oct. 8, 1997.
`“Microsoft Proxy Server 2.0; What's New”, Microsoft Cor
`poration
`(www.microSoft.com/proxy/guide/
`whatsnew.asp?a=2&B=1).
`Microsoft Proxy Server 2.0; Technical Papers, Cache Array
`Routing Protocol (CARP) Whitepaper, Microsoft Corpora
`St. ownisononpoyal capweepia
`Primary Examiner Moustafa M. Meky
`Attorney, Agent, Or Firm Akin, Gump, Strauss, Hauer &
`Field, L.L.P.
`ABSTRACT
`57
`A proxy System that offers connection Services and accel
`eration Services is disclosed. The acceleration Services pro
`vide for accelerated delivery of content to requestors (e.g.,
`clients) while guaranteeing a minimum level of Service (for
`content delivery) to the requestors. The acceleration Services
`are facilitated by improved techniques for rapid and efficient
`U.S. PATENT DOCUMENTS
`delivery of objects from a network (e.g., the Internet) to
`users. The improved techniques can be utilized in a variety
`5,673,322 9/1997 Pepe et al. ................................ 380.49
`of apparatuses, including a proxy having an acceleration
`5,727,159 3/1998 Kikinis .................................... 709/203
`apparatus (e.g., an acceleration server). The acceleration
`5,764,235
`6/1998 Hunt et al..
`apparatus manages and monitors its utilization of processing
`5,838,927 11/1998 Gillon et al. ............................ 709/203
`resources So that performance of the proxy System can
`5,852,717 12/1998 Bhide et al. ......
`... 709/203
`during worst case conditions guarantee a minimum level of
`5,918,013 6/1999 Mighdoll et al. .
`r 70203
`5,935,207 8/1999 Logue et al.......
`... 709/219
`Service (for content delivery) to the requestors. The proxy
`System is also well Suited for being Scaled to provide
`5,964,891 10/1999 Caswell et al. ........................... 71.4/31
`5.991,810 11/1999 Shapiro et al. ...
`... 709/229
`6,014,698
`1/2000 Griffiths ........
`7021 additional processing resources.
`6,041,355
`3/2000 Toga ..........
`... 709/227
`6,049,821 4/2000 Therianet ................................ 709/203
`20 Claims, 7 Drawing Sheets
`
`56)
`
`References Cited
`
`106
`
`164 BROWSER
`
`
`
`PROXY
`SERVER
`
`
`
`CONTENT
`SERVER
`
`a BROWSER
`
`
`
`O4 BROWSER
`
`
`
`ACCELERATION
`SERVER
`
`110
`
`a-100
`
`Akamai Ex. 1038
`Akamai Techs. v. Equil IP Holdings
`IPR2023-00332
`Page 00001
`
`

`

`U.S. Patent
`
`Nov. 7, 2000
`
`Sheet 1 of 7
`
`6,144,996
`
`90 ||
`
`
`
`
`
`
`
`
`
`
`
`001:
`
`0 || ||
`
`HESMO}}8
`
`}}ESWOH8
`
`IPR2023-00332 Page 00002
`
`

`

`U.S. Patent
`
`Nov. 7, 2000
`
`Sheet 2 of 7
`
`6,144,996
`
`200
`
`206
`
`PROXY FILTER
`
`PROXY CACHE
`
`208
`
`PROXY SERVER
`
`1N 202
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`R
`N
`E
`T
`
`OBSERVER
`
`RESOURCE
`MANAGER
`
`2O4
`
`ACCELERATOR
`
`MANAGER
`
`
`
`
`
`MAGE
`STORE
`MANAGER
`
`ACCELERATION SERVER
`
`FIG 2
`
`IPR2023-00332 Page 00003
`
`

`

`U.S. Patent
`
`Nov. 7, 2000
`
`Sheet 3 of 7
`
`6,144,996
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`AVAILABLE
`FROM MAGE
`STORE
`
`IMAGE
`"N PROCESS;
`
`PROXY SERVER REQUESTS
`IMAGE VIA NETWORK
`
`NO
`
`YES
`
`N7
`
`RETRIEVE ACCELERATED
`VERSION OF THE
`REQUESTED IMAGE
`FROM IMAGE STORE
`
`
`
`IMAGE
`RECEIVED
`
`O
`N
`
`NO
`
`32
`O
`
`YES
`ERROR
`
`32
`2
`
`FORWARD RETREVED IMAGE
`310 n-TOREQUESTOR
`
`(END)
`
`FIG 3
`
`IPR2023-00332 Page 00004
`
`

`

`U.S. Patent
`
`Nov. 7, 2000
`
`Sheet 4 of 7
`
`6,144,996
`
`GOs) 402
`
`DETERMINE SLOT NUMBER FOR
`THE REQUESTED IMAGE
`
`400 (308)
`--
`
`OBTAIN OBJECTS AND THEIR STATES
`FROM IMAGE STORE BASED ON
`THE DETERMINED SLOT NUMBER
`
`404
`
`B>
`
`SELECT A TARGET OBJECT
`BASED ON A PREFERENCE SCHEME
`
`406
`
`SWITCH ON STATE OF TARGET OBJECT
`
`4.08
`
`410
`
`
`
`OBTAN TARGET
`OBJECT FROM
`IMAGE STORE
`
`(310)
`
`412
`
`
`
`
`
`
`
`S
`TARGET
`OBJECT
`YESYN ORG
`NO
`
`418
`
`SWITCH ON STATE CHANGE
`
`
`
`
`
`416
`
`CHOOSE ANOTHER
`TARGET OBJECT
`
`414
`
`ERROR
`CONDITION
`
`B
`N7
`
`A
`N7
`
`F.G. 4
`
`IPR2023-00332 Page 00005
`
`

`

`U.S. Patent
`
`Nov. 7, 2000
`
`Sheet 5 of 7
`
`6,144,996
`
`y 500
`
`SLOT-1
`
`SLOT-2
`
`SLOT-3
`
`O O.
`
`O.
`
`SLOT-n
`
`s
`
`
`
`FIG. 5
`
`IPR2023-00332 Page 00006
`
`

`

`U.S. Patent
`
`Nov. 7, 2000
`
`Sheet 6 of 7
`
`6,144.996
`
`OBECT REO UEST
`PROCESSING
`
`600
`
`p1
`
`602
`
`
`
`
`
`DOES
`OBJECT
`EXIST
`
`608
`
`S
`OBJECT
`YESN READY
`
`610
`
`RETURN READY
`INDICATOR TO
`OBJECT REQUESTOR
`
`(END)
`
`WAIT ON READY EVENT
`(SHORT WAIT)
`
`614
`
`
`
`YES
`NO
`
`616
`
`S
`OBJECT
`YESN READY
`
`NO
`
`
`
`WAT ON READY EVENT
`(INTERMEDIATE WAIT)
`
`620
`
`
`
`N7
`
`YES
`E
`
`606
`
`RETURN OBJECT FAILURE
`INDICATION TO OBJECT
`REQUESTOR
`
`F.G. 6A
`
`IPR2023-00332 Page 00007
`
`

`

`U.S. Patent
`
`Nov. 7, 2000
`
`Sheet 7 of 7
`
`6,144.996
`
`
`
`
`
`S
`OBJECT
`READY
`
`WAIT ON READY EVENT
`(LONG WAIT)
`
`
`
`628
`
`RETURN OBJECT READY FAILURE
`NDICATION TO OBJECT
`REQUESTOR
`
`
`
`F.G. 6B
`
`IPR2023-00332 Page 00008
`
`

`

`6,144,996
`
`1
`METHOD AND APPARATUS FOR
`PROVIDING A GUARANTEED MINIMUM
`LEVEL OF PERFORMANCE FOR CONTENT
`DELIVERY OVER A NETWORK
`
`2
`will provide Substantially faster responsiveness to a user's
`requests than would the 28.8 kbps modem.
`Internet proxy servers have been used to allow multiple
`users to share Internet access through a common high Speed
`connection. Examples of Such Internet proxy servers are (1)
`WinGate available from Deerfield Communications Com
`pany and (2) Microsoft Proxy Server available from
`MicroSoft Corporation. Shared connections facilitate pro
`Viding firewalls to prevent unauthorized access into the
`users (e.g., corporate) internal computers. These shared
`connections can also provide the Hypertext Transfer Proto
`col (HTTP) caching to allow improved responsiveness.
`These Internet proxy Servers can also provide Site filtering to
`prevent user (behind the Internet proxy server) access to
`certain Internet Sites.
`HTTP caching operates to locally store frequently
`accessed Internet material So that it becomes quickly avail
`able when subsequently requested. HTTP caching is
`described in the Hypertext Transfer Protocol (HTTP), ver
`sion 1.1, which is hereby incorporated by reference. Such
`caching enables an organization to more efficiently share the
`bandwidth of the Internet connection.
`Content negotiation is also known and described in the
`HTTP, version 1.1. Content negotiation is the process in
`which a HTTP response to a HTTP request is chosen to be
`that which is most Suitable, assuming of course that there is
`a choice. The content negotiation can be client-driven or
`Server-driven. The content differences being negotiated can
`vary widely but are nevertheless Stored on a content Server
`on the Internet. AS an example, the content differences could
`be different languages or different Size imageS. In Such a
`case, a client may negotiate on behalf of a user with a
`content server to receive Smaller (e.g., less robust, lower
`quality, or Smaller image area) images instead of commonly
`provided larger images from the Server. If the content Server
`can provide the Smaller images, then the user is able to
`receive and display the information (e.g., images) faster than
`had their been no choice or no negotiation. Thus, in Some
`cases, the negotiation facilitates improved bandwidth utili
`Zation and responsiveness of the Internet.
`One problem with the conventional approaches to content
`delivery over the Internet is that most content servers do not
`offer multiple versions of information content. As a result,
`content negotiation, even if available, is not Supported by
`most content Servers. There are also no Standards on what
`types of Versions or variations of information content a
`content Server should make available. Consequently, content
`negotiation is difficult to obtain over the Internet.
`Another problem is that while caching can improve
`responsiveness of the Internet to requests, it speeds only
`Subsequent requests for the same information from a shared
`Internet connection. As a result, there is never any perfor
`mance improvement for initial requests for information
`content from the Internet.
`Thus, there is a need for improved techniques for rapid
`and efficient delivery of information content from the Inter
`net to a uSer.
`
`60
`
`65
`
`SUMMARY OF THE INVENTION
`Broadly Speaking, the invention relates to a proxy System
`that offers connection Services and acceleration Services.
`The acceleration Services provide for accelerated delivery of
`content to requestors (e.g., clients) while guaranteeing a
`minimum level of service (for content delivery) to the
`requestors. In other words, the acceleration Services pro
`Vided by the invention operate to improve responsiveness of
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`This application claims the benefit of U.S. Provisional
`Application No. 60/085,309, entitled “METHOD AND
`APPARATUS FOR STORAGE AND DELIVERY OF
`CONTENT", and filed on May 13, 1998, the disclosure of
`which is incorporated herein by reference for all purposes.
`This application is related to U.S. patent application Ser.
`No. 09/133,498, filed concurrently herewith, entitled
`“METHOD AND APPARATUS FOR PROVIDING
`ACCELERATED CONTENT DELIVERY OVER A
`NETWORK, still pending, and assigned to the assignee of
`the present application, which is hereby incorporated herein
`by reference for all purposes.
`This application is related to U.S. patent application Ser.
`No. 09/133,791, filed concurrently herewith, entitled
`“ACCELERATED CONTENT DELIVERY OVER ANET
`WORK USING REDUCED SIZE OBJECTS,” and assigned
`to the assignee of the present application, Still pending,
`which is hereby incorporated herein by reference for all
`purposes.
`This application is also related to U.S. patent application
`Ser. No. 09/133,497, filed concurrently herewith, entitled
`“METHOD AND APPARATUS FOR EFFICIENT STOR
`AGE AND RETRIEVAL OF OBJECTS IN AND FROM
`AN OBJECT STORAGE DEVICE,” and assigned to the
`assignee of the present application, Still pending, which is
`hereby incorporated herein by reference for all purposes.
`This application is also related to U.S. patent application
`Ser. No. 09/132,952, filed concurrently herewith, entitled
`“METHOD AND SYSTEM CONDENSING ANIMATED
`IMAGES, and assigned to the assignee of the present
`application, Still pending, which is hereby incorporated
`herein by reference for all purposes.
`This application is also related to U.S. patent application
`Ser. No. 09/133,514, filed concurrently herewith, entitled
`“IMAGE FORMAT CONVERSION WITH TRANSPAR
`ENCY COLOR ADJUSTMENT,” and assigned to the
`assignee of the present application, Still pending, which is
`hereby incorporated herein by reference for all purposes.
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`The present invention relates to information retrieval and,
`more particularly, to accelerated retrieval of content infor
`mation over a network.
`2. Description of the Related Art
`The Internet is a resource for tremendous amounts of
`content information. AS examples, the content information
`can include text, images or other types of data. A user
`normally accesses the Internet using a connection provided
`by a modem and a regular telephone line or ISDN line, or by
`a T1 line or leased line. The connection to the Internet may
`be indirectly through an Internet Service Provider (ISP) or
`more directly to the Internet (or World Wide Web). The
`higher the bandwidth supported by the connection, the better
`the responsiveness of the Internet to the user's requests. For
`example, Since a T1 line offerS Substantially greater band
`width than does a 28.8 kbps modem and regular telephone
`line, the connection to the Internet provided by the T1 line
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`IPR2023-00332 Page 00009
`
`

`

`3
`content delivery from a network (e.g., Internet) to
`requestors, yet at the Same time ensures that acceleration
`Services do not become overloaded or otherwise disruptive
`Such that the acceleration Services would hinder responsive
`CSS.
`The invention can be implemented in numerous ways,
`including as a method, an apparatus, a System, or a computer
`readable medium. Several embodiments of the invention are
`Summarized below.
`As a method for delivering an object to a requestor at a
`local computer, an embodiment of the invention includes the
`operations of receiving, at an intermediate computer, a
`request for an object that is primarily Stored on a remote
`computer, the local computer being capable of coupling to
`the intermediate computer via a first network, and the
`intermediate computer being capable of coupling to the
`remote computer via the Second network, determining
`whether the requested object is available from an object
`Store associated with the intermediate computer, the object
`Store providing temporary Secondary Storage for objects,
`when it is determined that the requested object is available
`from the object Store, retrieving the requested object from
`the object Store, and Supplying the retrieved object obtained
`from the object Store to the requestor, and when it is
`determined that the requested object is being obtained but is
`not presently available from the object Store, awaiting for a
`determined amount of time for the requested object to
`become available from the object Store, Subsequently
`retrieving the requested object from the remote computer
`when the requested object is still not available after the
`awaiting for the determined amount of time, and thereafter
`Supplying the retrieved object obtained from the remote
`computer to the requestor.
`As a method for delivering content from a remote
`machine to a local machine, where the local machine
`couples to a proxy machine, and the proxy machine couples
`to the remote machine through a network of computers, an
`embodiment of the invention includes the operations of:
`intercepting, at the proxy machine, a Web page request in
`route from the local machine to the remote machine through
`the network; allowing the web page request to be sent from
`the proxy machine to the remote machine, delivering the
`requested web page to the proxy machine, the requested web
`page includes at least one image file request embedded in the
`requested web page; forwarding the requested web page
`from the proxy machine to the local machine; identifying, at
`the proxy machine, the at least one image file request in the
`requested web page, pre-fetching the identified at least one
`image file request, with the content for each of the image file
`requests being obtained from the remote machine associated
`with the image file request; attempting to produce an accel
`erated version for the identified at least one image file
`request at the proxy machine; issuing, from the local
`machine, the at least one image file request embedded in the
`requested web page Subsequent to receiving the request web
`page at the local machine; intercepting, at the proxy
`machine, the at least one image file request in route from the
`local machine to the remote machine through the network;
`preventing the at least one image file request from being Sent
`from the proxy machine to the remote machine for at least
`a determined period of time while the attempting to produce
`the accelerated version of the identified at least one image
`file request is ongoing, delivering the accelerated version of
`a requested image file for the identified at least one image
`file request to the local machine from the proxy machine
`when the attempting completes within the determined period
`of time; and alternatively, delivering an original version of
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6,144,996
`
`4
`the requested image file for the identified at least one image
`file request to the local machine from the proxy machine
`when the attempting does not completes within the deter
`mined period of time, the original version of the requested
`image file being obtained by the pre-fetching from the
`remote machine or by releasing the preventing So that the at
`least one image file request is Sent from the proxy machine
`to the remote machine.
`AS a proxy System for distributing data objects, an
`embodiment of the invention includes: a proxy server and an
`acceleration unit. The proxy server operates to receive an
`object request having a requested object from a network
`browser and to manage the forwarding of the requested
`object to the network browser. The acceleration unit operates
`to identify the requested object, pre-fetch the requested
`object having an original size from a content provider
`coupled to the network, reduce the size of the retrieved
`object to a reduced size, and provide the requested object
`with the reduced size to the proxy server. Further, when the
`requested object with the reduced size is determined not to
`be available from the acceleration unit for more than a
`determined period of time, the proxy Server obtains the
`requested object of the original size from the acceleration
`unit or from the content provider directly and provides the
`requested object having the original Size to the network
`browser.
`AS a computer readable medium containing program
`instructions for delivering an object to a requestor at a local
`computer, an embodiment of the invention includes: first
`computer readable code for receiving, at an intermediate
`computer, a request for an object that is primarily Stored on
`a remote computer, the local computer being capable of
`coupling to the intermediate computer via a first network,
`and the intermediate computer being capable of coupling to
`the remote computer via the Second network, Second com
`puter readable code for determining whether the requested
`object is available from an object Store associated with the
`intermediate computer, the object Store providing Secondary
`temporarily Storage for objects; third computer readable
`code for retrieving the requested object from the object
`Store, and Supplying the retrieved object obtained from the
`object Store to the requestor, when the Second computer
`readable code determines that the requested object is avail
`able from the object store; and fourth computer readable
`code for awaiting for a determined amount of time for the
`requested object to become available from the object Store,
`Subsequently retrieving the requested object from the remote
`computer when the requested object is still not available
`after the awaiting for the determined amount of time, and
`thereafter Supplying the retrieved object obtained from the
`remote computer to the requestor, when the Second com
`puter readable code determines that the requested object is
`being obtained but is not presently available from the object
`StOre.
`The advantages of the invention are numerous. One
`advantage of the invention is that accelerated delivery of
`content to requesting clients is achieved while at the same
`time being able to guarantee a minimum level of Service
`(e.g., responsiveness) to the clients. Substantial performance
`gains in responsiveness and bandwidth utilization are able to
`be achieved without running the risk that the acceleration
`processing overburden the System Such that what would
`otherwise be performance gains turn into performance
`losses. In one case, the invention provides in the worst case
`the same level of service that would be perceived by the
`client if the proxy System according to the invention were
`performing only connection Services as a conventional
`
`IPR2023-00332 Page 00010
`
`

`

`S
`proxy Server. Another advantage of the invention is that it
`mitigates the risk of implementing new features or functions
`to Server Systems by ensuring that they will not Severely
`degrade the level of Service provided.
`Other aspects and advantages of the invention will
`become apparent from the following detailed description,
`taken in conjunction with the accompanying drawings,
`illustrating by way of example the principles of the inven
`tion.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`The present invention will be readily understood by the
`following detailed description in conjunction with the
`accompanying drawings, wherein like reference numerals
`designate like Structural elements, and in which:
`FIG. 1 is a proxy System that provides improved data
`delivery over a network according to an embodiment of the
`invention;
`FIG. 2 is a block diagram of a proxy System according to
`an embodiment of the invention;
`FIG. 3 is a flow diagram of GET image processing
`according to an embodiment of the invention;
`FIG. 4 is a flow diagram of image retrieval processing
`according to an embodiment of the invention;
`FIG. 5 is a Schematic diagram of a representative slot
`organization within an image Store according to an embodi
`ment of the invention; and
`FIGS. 6A and 6B illustrate a flow diagram of object
`request processing according to an embodiment of the
`invention.
`
`15
`
`25
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`The invention relates to a proxy System that offers con
`nection Services and acceleration Services. The acceleration
`Services provide for accelerated delivery of content to
`requestors (e.g., clients) while guaranteeing a minimum
`level of service (for content delivery) to the requestors. In
`other words, the acceleration Services provided by the inven
`tion operate to improve responsiveness of content delivery
`from a network (e.g., Internet) to requestors, yet at the same
`time ensures that acceleration Services do not become over
`loaded or otherwise disruptive Such that the acceleration
`Services would hinder responsiveness.
`The acceleration Services are facilitated by improved
`techniques for rapid and efficient delivery of objects from a
`network (e.g., the Internet) to users. The improved tech
`niques can be utilized in a variety of Systems or apparatuses,
`including a proxy System having an acceleration apparatus
`(e.g., an acceleration server). Such a proxy System is able to
`produce an accelerated version of content information from
`the network, cache the accelerated version (and possibly
`original versions) for Subsequent requests for the same
`information content, and Supply the accelerated version of
`the information content to a requesting user.
`However, the additional acceleration Services provided by
`a proxy System according to the invention is an additional
`processing burden on the processing resources of the proxy
`System. In general, a proxy System operates as not only a
`Server but also provides access for a plurality of clients.
`However, due to finite processing resources of the proxy
`System, the level of Service provided to clients depends on
`the number of clients using the proxy System. In other
`words, if the processing overhead at the proxy System
`becomes to great, it adversely effects the level of Service
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6,144,996
`
`6
`provided to the clients. The processing overhead is a product
`of many various processing tasks performed by a proxy
`System. Often these processing tasks result in errors caused
`by the proxy System or due to throughput problems. The
`acceleration Services of the invention are also significant
`processing tasks. Clients of the proxy System will perceive
`that the remote Servers are at fault, not the proxy System.
`Also, failures at the proxy System limits or prevents the
`clients from accessing the remote Servers. Conventionally,
`when failures occur at the proxy System, an error is often
`returned to the client indicating that a retry at a later time is
`required. Alternatively, instead of a notification, the client
`would perceive a Severe reduction in the level of Service.
`The proxy System manages and monitors its utilization of
`processing resources (namely, for the acceleration Services)
`So that performance of the proxy System can during worst
`case conditions guarantee a minimum level of Service (for
`content delivery) to the clients. The proxy System according
`to the invention is also well Suited for being Scaled to
`provide additional processing resources and thus accommo
`date Services to more active or a growing number of clients.
`Embodiments of the invention are discussed below with
`reference to FIGS. 1-6B. However, those skilled in the art
`will readily appreciate that the detailed description given
`herein with respect to these figures is for explanatory
`purposes as the invention extends beyond these limited
`embodiments.
`FIG. 1 is a proxy system 100 that provides improved data
`delivery over a network. The proxy system 100 includes the
`proxy server 102 that couples to network browsers 104. The
`proxy server 102 is also coupled to the Internet 106. The
`Internet 106 is a collection of interconnected computer
`Systems, Some of which act as content servers. Accordingly,
`FIG. 1 illustrates the Internet 106 coupled to a content server
`108 as a representative one of the content Servers associated
`with the Internet 106. Additionally, the proxy system 100
`includes an acceleration server 110. The acceleration server
`110 couples to the proxy server 102 as well as the Internet
`106.
`The proxy system 100 is able to provide improved content
`(data) delivery over the Internet 106. Namely, the proxy
`System 100 operates to Speed up the response time that a user
`of one of the browserS 104 undergoes after requesting Some
`content from the content server 108 until the requested
`content is supplied to the user at the one of the browsers 104.
`The general operation of the proxy system 100 is as
`follows. Normally, as a user of one of the browsers 104
`makes a request for data from a content Server on the
`Internet 106. The proxy server 102 initially intercepts the
`request for data from the browser 104 and determines
`whether the request for data can be satisfied locally by the
`proxy server 102 or the acceleration server 110. When the
`proxy Server 102 determines that the request for data cannot
`be satisfied locally, the proxy server 102 forwards the
`request for data to the content server 108 through the
`Internet 106. In this case, the previously intercepted request
`for data is passed through the proxy server 102 to the content
`server 108 via the Internet 106 so that the request for data
`can be Satisfied in a conventional, unaccelerated manner.
`On the other hand, when the proxy server 102 determines
`that the request for data can be Satisfied locally with an
`improved response time (i.e., accelerated delivery) to the
`user, then the proxy Server 102 and the acceleration Server
`110 operate to Satisfy the request for data using information
`locally Stored, thereby avoiding the need to traverse the
`sluggish Internet 106 and retrieve the requested data from
`
`IPR2023-00332 Page 00011
`
`

`

`7
`the content server 108. Also, if the acceleration server 110
`believes it can Satisfy the request for data locally but the
`necessary information is not yet locally available, then the
`acceleration Server 110 operates to retrieve the requested
`data from the content server 108 with a pre-fetch operation
`and then locally Store the necessary information. Thereafter,
`the acceleration Server 110 can Satisfy the request for data
`from local Storage. In either of these cases, the data returned
`to the browser 104 in response to the request for data will not
`only be locally available but also be reduced in size (e.g.
`reduced file size). Both of these features contribute to the
`ability of the proxy system 100 to significantly improve the
`response time in which the requested data can be delivered
`to the browser 104. Accordingly, the proxy server 102 acting
`together with the acceleration server 110 is able to accelerate
`the delivery of the requested data to the user of the browser
`104 that has made the request.
`During normal operation of the proxy system 100, the
`addition of the acceleration server 110 to the proxy system
`100 causes the delivery of requested data to be delivered to
`a user in an accelerated manner. However, if the number of
`users (i.e., clients) being serviced by the proxy system 100
`becomes Significant and the number of accelerated versions
`needed at any point in time becomes too large for the
`acceleration Server 110 to handle, this concentrated proceSS
`ing burden can cause the performance of the acceleration
`server 110, and thus the proxy system, to degrade. The
`invention resolves this potential problem by managing the
`load on the acceleration server 110 Such that even in the
`Worst case condition the performance of the proxy server
`100 is, for example, no worse than it would be had the proxy
`System been a conventional proxy server (i.e., without
`acceleration capabilities).
`FIG. 2 is a block diagram of a proxy system 200 according
`to an embodiment of the invention. The proxy system 200
`includes a proxy server 202 and an acceleration server 204.
`AS an example, the proxy server 202 can correspond to the
`proxy server 102 illustrated in FIG. 1, and the acceleration
`server 204 can correspond to the acceleration server 110 in
`FIG. 1.
`The proxy server 202 includes a proxy filter 206 and a
`proxy cache 208. The proxy filter 206 monitors requests for
`data received from the browsers 104. The proxy filter 206
`then filters out those requests that it believes it can accelerate
`the delivery of the requested data to the user of the browsers
`104. The proxy filter 206 then forwards these requests that
`it believes it can accelerate to the acceleration server 204.
`The proxy cache 208 operates as a cache Storage area in
`which responses to earlier requests from the Internet 106
`made by the browsers 104 can be temporarily saved and
`satisfied thereafter from the proxy cache 208 if any of the
`browsers 104 make the same request for data while the data
`remains stored in the proxy cache 208. Hence, the proxy
`cache 208 provides local Storage for content data that was
`previously requested by one of the browsers 104, and thus
`provides rapid access to the same content data as long as the
`content data remains stored in the proxy cache 208.
`However, the content stored in the proxy cache 208 is not
`accelerated, but merely non-accelerated content obtained by
`the proxy server 202 from a content server through the
`Internet 106.
`It should be noted that conventional proxy servers include
`a cache to temporarily Store content obtained from a content
`Server via the Internet. An example of Such a conventional
`proxy server is Microsoft Proxy Server, produced by
`Microsoft Corporation. Hence, the proxy server 202
`includes the proxy cache 208 because the proxy system 200
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6,144,996
`
`8
`according to the invention can be built using a conventional
`proxy server Suitably modified to include primarily the
`proxy filter 206. In other words, the proxy cache 208 need
`not be included in the proxy server 202 of the proxy system
`200 or if provided can be disabled.
`The proxy filter 206 supplies those of the data requests it
`believes it can accelerate to the acceleration server 204. For
`example, in a data request (e.g., World Wide Web page
`request) can be evaluated to determine if it includes images.
`Given that images are Separate files that tend to have
`relatively large file sizes, images are good candidates for
`acceleration. Hence, a data request associated with one or
`more images files (such as many World Wide Web pages) is
`an example of a data request that the proxy filter

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket