throbber
{n
`.,..
`-I
`0
`
`\..
`
`PTO/SB/05 (07-06)
`Approved for use through 01/31/2007. OMB 0651-0032
`U.S. Patent and Trademark Office. U.S. DEPARTMENT OF COMMERCE
`Under the Paoerwork Reduction Act of 1995 no persons are reauired to resoond to a collection of information unless it disolavs a valid OMB control number.
`
`UTILITY
`PATENT APPLICATION
`TRANSMITTAL
`
`Attorney Docket No.
`
`First Inventor
`
`Title
`
`13C
`
`Leighton
`
`"'
`
`t~~t tl1j:f:.:j/M ~~m v.s"(:J/"' I
`'1..S
`
`0
`
`I
`
`JJ&.r..J "fu<lfA,,
`I
`
`(Only for new nonprovisional applications under 37 CFR 1.53(b))
`
`Express Mail Label No.
`
`EQ744745608US
`
`APPLICATION ELEMENTS
`See MPE.P chapter 600 concerning utility patent application contents.
`
`ADDRESS TO:
`
`Commissioner for Patents
`P.O. Box 1450
`Alexandria VA 22313-1450
`
`J
`
`!--'
`ti:"""
`·' -
`
`Cl) T-
`::::) LC)
`T-
`!;!£?
`~T-
`....
`
`2.0
`
`1.(ZJ Fee Transmittal Form (e.g., PTO/SB/17)
`(Submit an original and a duplicate for fee processing)
`Applicant claims small entity status.
`See 37 CFR 1.27.
`31
`(Tota/ Pages
`3.0 Specification
`Both the claims and abstract must start on a new page
`(For information on the preferred arrangement, see MPEP 608.01 (a})
`(Total Sheets
`4.(2] Drawing(s) (35 U.S.C. 113)
`2
`
`5. Oath or Declaration
`
`(Total Sheets
`
`3
`
`l
`
`1
`l
`
`b.
`
`A copy from a prior application (37 CFR 1.63(d))
`
`a. 5:J Newly executed (original or copy)
`Dor continuation/divisional with Box 18 completed)
`
`i.
`
`DELETION OF INVENTOR{S}
`Signed statement attached deleting inventor(s)
`name in the prior application, see 37 CFR
`1.63(d)(2) and 1.33(b).
`
`6.0 Application Data Sheet. See 37 CFR 1.76
`
`7.0 CD-ROM or CD-R in duplicate, large table or
`151puter Program (Appendix)
`Landscape Table on CD
`
`8. Nucleotide and/or Amino Acid Sequence Submission
`(if apoable, items a. - c. are required)
`a.
`Computer Readable Form (CRF)
`b.
`Specification Sequence Listing on:
`
`ACCOMPANYING APPLICATION PARTS
`
`9. 0
`
`Assignment Papers (cover sheet & document(s})
`
`Name of Assignee
`
`10. 0
`
`37 CFR 3.73(b) Statement
`(when there is an assignee)
`
`OPowerof
`Attorney
`
`11. 0
`
`English Translation Document (if applicable)
`
`12. 0
`
`lnfoEjition Disclosure Statement (PTO/SB/08 or PT0-1449)
`Copies of citations attached
`
`13. 0
`
`Preliminary Amendment
`
`14. O Return Receipt Postcard (MPEP 503)
`(Should be specifically itemized)
`
`15. O Certified Copy of Priority Document(s)
`(if foreign priority is claimed)
`
`16. O Nonpublication Request under 35 U.S.C. 122(b)(2)(B)(i).
`Applicant must attach form PTO/SB/35 or equivalent.
`
`i.
`0
`CD-ROM or CD-R (2 copies); or
`ii.O Paper
`
`17. 0 Other:
`
`Statements verifying identity of above copies
`c. 0
`18. If a CONTINUING APPLICATION, check appropriate box, and supply the requisite information below and in the first sentence of the
`specification following the title, or in an Application Data Sheet under 37 CFR 1. 76:
`D Divisional
`W Continuation
`Prior application information:
`Examiner Kri!jjti~ Q Sbingleli
`
`0 Continuation-in-part (CIP)
`
`of prior application No.: 1.0/4.17.,f:\07 ....... .........
`
`Art Unit: 2141
`
`[{]The address associated with Customer Number: I
`
`50086
`
`I OR D Correspondence address below
`
`19. CORRESPONDENCE ADDRESS
`
`Name
`
`Address
`
`City
`
`Country
`
`Signature
`
`\
`
`I State
`II \. r-'\ I Telephone
`).
`I Date September 1, 2006
`Y'7: _A
`I ~l. /
`Registration No. I
`Name
`1 ~ \
`David lhoifson
`<Attornev/AaenO 30.467
`IPrintrrvoel
`This collection of information is required by 37 ~J3(b). The information is required to obtain or retain a benefit b the public which is to file and b the
`(
`y
`y
`USPTO to process) an application. Confidentiality is governed by 35 U.S.C. 122 and 37 CFR 1.11and1.14. This collection is estimated to take 12 minutes to
`complete, including gathering, preparing, and submitting the completed application form to the USPTO. Time will vary depending upon the individual case. Any
`comments on the amount of time you require to complete this form and/or suggestions for reducing this burden, should be sent to the Chief Information Officer,
`U.S. Patent and Trademark Office, U.S. Department of Commerce, P.O. Box 1450, Alexandria, VA 22313-1450. DO NOT SEND FEES OR COMPLETED
`FORMS TO THIS ADDRESS. SEND TO: Commissioner for Patents, P.O. Box 1450, Alexandria, VA 22313-1450.
`If you need assistance in completing the form, call 1-800-PT0-9199 and select option 2.
`
`Zip Code
`
`Email
`
`1
`
`Petitioner Limelight - LN1002
`
`

`
`PTO/SB/17 (07-06)
`c
`Approved for use through 01/31/2007. OMB 0651-0032
`:(/)
`U.S. Patent and Trademark Office; U.S. DEPARTMENT OF COMMERCE
`~ Ui'\der the Paperwork Reduction Act of 1995 no persons are renuired to resoond to a collection of information unless it disolavs a valid OMB control number
`Complete if Known
`Effective on 1210812004.
`~ _..
`v
`FefilpfurauEantEroffleTConsRAoffda~dANppropSriaaMonsAcltT200Ts(HA.R4Bl1~. L!A~p~p~lic~a~ti~o~n~N~u~m~b~e~r--l~(~ne~w~)~~~~~~~~~~~~--1
`Filing Date
`Seotember 1, 2006
`First Named Inventor Leiohton
`Examiner Name
`
`""'
`
`For FY 2005
`0 Applicant claims small entity status. See 37 CFR 1.27
`... ToTALAMOUNTOFPAYMENT I($)
`
`1000.00
`
`Art Unit
`
`Attorney Docket No.
`
`13C
`
`METHOD OF PAYMENT (check all that apply)
`
`D Check D Credit Card DMoney Order D None D Other (please identify):. ___________ _
`0 Deposit Account Deposit Account Number: 501269
`
`Deposit Account Name: Akamai Technologies. Inc.
`For the above-identified deposit account, the Director is hereby authorized to: (check all that apply)
`
`D Charge fee(s) indicated below, except for the filing fee
`D Charge any additional fee(s) or underpayments of fee(s) [{] Credit any overpayments
`
`[{]Charge fee(s) indicated below
`
`under 37 CFR 1.16 and 1.17
`WARNING: Information on this form may become public. Credit card Information should not be included on this form. Provide credit card
`Information and authorization on PT0-2038.
`FEE CALCULATION
`
`1. BASIC FILING, SEARCH, AND EXAMINATION FEES
`FILING FEES
`SEARCH FEES
`Small Entin!
`§?mi!ll Entin!
`E.!!!Jil ~ E.!!!Jil ~
`300
`150
`500
`250
`
`Agglicatlon Tl£1!e
`
`Utility
`
`EXAMINATION FEES
`Small Entitlr'.
`~
`100
`
`E.!!!Jil
`200
`
`Fees Paid m
`1 QQQ QQ
`
`Design
`
`Plant
`
`Reissue
`
`200
`
`200
`
`300
`
`100
`
`100
`
`150
`
`100
`
`300
`
`500
`
`50
`
`150
`
`250
`
`130
`
`160
`
`600
`
`65
`
`80
`
`300
`
`200
`
`100
`
`0
`
`0
`
`0
`
`0
`
`Provisional
`2. EXCESS CLAIM FEES
`Fee Descrlgtion
`Each claim over 20 (including Reissues)
`Each independent claim over 3 (including Reissues)
`Multiple dependent claims
`Fee Paid($)
`Total Claims
`Extra Claims
`X - - - - = - - - - -
`____ • 20 or HP=
`0
`HP = highest number of total daims paid for, if greater than 20.
`E.!!!Ji1
`Fee Paid/$)
`lndeg. Claims
`Extra Claims
`= - - - - -
`x
`3orHP =
`0
`HP= highest number of independent claims paid for, if greater than 3.
`3. APPLICATION SIZE FEE
`If the specification and drawings exceed I 00 sheets of paper (excluding electronically filed sequence or computer
`listings under 37 CFR 1.52(e)), the application size fee due is $250 ($125 for small entity) for each additional 50
`sheets or fraction thereof. See 35 U.S.C. 4Ha)(l)(G) and 37 CFR l.16(s).
`Number of each additional 50 or fraction thereof ~ Fee Paid ($)
`Total Sheets
`Extra Sheets
`=
`I 50 =
`____ - 100 =
`(round up to a whole number) x
`4. OTHER FEE(S)
`Non-English Specification, $130 fee (no small entity discount)
`
`Small EntlW
`E.!!!Jil
`~
`50
`25
`200
`100
`180
`360
`Multiple Degendent Claims
`E.!!!Ji1
`Fee Paid ($)
`
`Fees Paid ($)
`
`Other (e.g., late piing surcharge):
`
`~
`SUBMITTED BY
`'\.
`/
`\
`Signature ~ cf:-
`\. ./
`
`1
`
`Registration No.
`IAttomev/Aaent\ 30,467
`
`Telephone 972-385-2018
`
`\
`
`Name (Print/Type) David H:"Tudson
`
`Date September 1, 2006
`This collection of information is required by 37 C~6. The information is required to obtain or retain a benefit by the public which is to file (and by the
`USPTO to process) an application. Confidentiality is governed by 35 U.S.C. 122 and 37 CFR 1.14. This colledion is estimated to take 30 minutes to complete,
`including gathering, preparing, and submitting the completed application form to the USPTO. Time will vary depending upon the individual case. Any comments
`on the amount of time you require to complete this form and/or suggestions for reducing this burden, should be sent to the Chief Information Officer. U.S. Patent
`and Trademark Office, U.S. Department of Commerce, P.O. Box 1450, Alexandria, VA 22313-1450. DO NOT SEND FEES OR COMPLETED FORMS TO THIS
`ADDRESS. SEND TO: Commissioner for Patents, P.O. Box 1450, Alexandrla, VA 22313-1450.
`If you need assistance in completing the form, call 1-800-PT0-9199 and select option 2.
`
`2
`
`

`
`,..
`
`Date of Mailing: September 1, 2006
`
`CERTIFICATE OF MAILING BY "EXPRESS MAIL" UNDER37 CFR § 1.10
`"EXPRESS MAIL" mailing label number:
`__
`E Q 7 4 4 7 4 5 6 0 8 LJ S J
`I hereby certify that I have caused the documents indicated below to be deposited with the United States Postal Service
`"Express Mail Post Office to Addressee" under 37 CFR § 1.10 on the date indicated above and are addressed to
`the above Date of Mailing with the
`Commissioner of Patents, P.O. Box 1450, Alexandria, VA. 22313-1450 and mailed
`above "Express Mail" mailing label number
`
`David H. Judson
`
`Typed or printed name of person mailing paper or fee
`
`Date: September 1, 2006 ·
`
`Internet Address
`
`mail@davidjudson,com
`
`Phone: 972-385-2018
`
`Commissioner for Patents
`P.O. Box 1450
`Alexandria, VA 22313-1450
`
`Re:
`
`Content distribution system using an alternative domain name system (DNS) and
`content servers
`Inventors: F. Thomson Leighton and Daniel M. Lewin
`Docket: Akamai Technologies, Inc. 13C
`Assignee: Massachusetts Institute of Technology
`
`Dear Sir:
`
`A utility application is enclosed. Please direct all correspondence to the address associated with
`
`Customer Number 50086.
`
`Respectfully submitted,
`
`By:
`
`David H. Judson, Reg. No. 30,467
`
`· 15950 Dallas Parkway
`Suite 225
`Dallas, Texas 75248
`972-385-2018
`
`3
`
`

`
`13C
`
`1
`
`PATENT
`
`CONTENT DISTRIBUTION SYSTEM USING AN ALTERNATIVE
`DOMAIN NAME SYSTEM (DNS) AND CONTENT SERVERS
`
`CROSS-REFERENCE TO RELATED APPLICATIONS
`
`5
`
`This application is a continuation of prior application Serial No. 10/417,607,
`
`filed April 17, 2003, now U.S. Patent No. 7,103,645, which application was a
`
`continuation of prior application Serial No. 09/604,878, filed June 28, 2000, now U.S.
`
`Patent No. 6,553,413, which application was a continuation of prior application Serial
`
`No. 09/314,863, filed May 19, 1999, now U.S. Patent No. 6,108,703, which application
`
`10 was based on and claimed priority from Provisional Application 60/092,710, filed July
`
`14, 1998.
`
`Technical Field
`
`BACKGROUND OF THE INVENTION
`
`This invention relates generally to information retrieval in a computer network.
`
`15 More particularly, the invention relates to a novel method of hosting and distributing
`
`content on the Internet that addresses the problems of Internet Service Providers (ISPs) and
`
`Internet Content Providers.
`
`Description of the Related Art
`
`The World Wide Web is the Internet's multimedia information retrieval system. In
`
`20
`
`the Web environment, client machines effect transactions to Web servers using the
`
`Hypertext Transfer Protocol (HTTP), which is a known application protocol providing
`
`users access to files (e.g., text, graphics, images, sound, video, etc.) using a standard page
`
`description language known as Hypertext Markup Language (HTML). HTML provides
`
`basic document formatting and allows the developer to specify "links" to other servers and
`
`2 5
`
`files. In the Internet paradigm, a network path to a server is identified by a so-called
`
`Uniform Resource Locator (URL) having a special syntax for defining a network
`
`connection. Use of an HTML-compatible browser (e.g., Netscape Navigator or Microsoft
`
`Internet Explorer) at a client machine involves specification of a link via the URL. In
`
`4
`
`

`
`...
`
`13C
`
`2
`
`PATENT
`
`response, the client makes a request to the server identified in the link and, in return,
`
`receives a document or other object formatted according to HTML. A collection of
`
`documents supported on a Web server is sometimes referred to as a Web site.
`
`It is well known in the prior art for a Web site to mirror its content at another server.
`
`5
`
`Indeed, at present, the only method for a Content Provider to place its content closer to its
`
`readers is to build copies of its Web site on machines that are located at Web hosting farms
`
`in different locations domestically and internationally. These copies of Web sites are
`
`known as mirror sites. Unfortunately, mirror sites place unnecessary economic and
`
`operational burdens on Content Providers, and they do not offer economies of scale.
`
`1 O Economically, the overall cost to a Content Provider with one primary site and one mirror
`
`site is more than twice the cost of a single primary site. This additional cost is the result of
`
`two factors: (1) the Content Provider must contract with a separate hosting facility for each
`
`mirror site, and (2) the Content Provider must incur additional overhead expenses
`
`associated with keeping the mirror sites synchronized.
`
`15
`
`In an effort to address problems associated with mirroring, companies such as
`
`Cisco, Resonate, Bright Tiger, F5 Labs and Alteon, are developing software and hardware
`
`that will help keep mirror sites synchronized and load balanced. Although these
`
`mechanisms are helpful to the Content Provider, they fail to address the underlying problem
`
`of scalability. Even if a Content Provider is willing to incur the costs associated with
`
`2 0 mirroring, the technology itself will not scale beyond a few (i.e., less than 10) Web sites.
`
`In addition to these economic and scalability issues, mirroring also entails
`
`operational difficulties. A Content Provider that uses a mirror site must not only lease and
`
`manage physical space in distant locations, but it must also buy and maintain the software
`
`or hardware that synchronizes and load balances the sites. Current solutions require
`
`2 5
`
`Content Providers to supply personnel, technology and other items necessary to maintain
`
`multiple Web sites. In summary, mirroring requires Content Providers to waste economic
`
`and other resources on functions that are not relevant to their core business of creating
`
`content.
`
`5
`
`

`
`13C
`
`3
`
`PATENT
`
`Moreover, Content Providers also desire to retain control of their content. ·Today,
`
`some ISPs are installing caching hardware that interrupts the link between the Content
`
`Provider and the end-user. The effect of such caching can produce devastating results to
`
`the Content Provider, including (1) preventing the Content Provider from obtaining
`
`5
`
`accurate hit counts on its Web pages (thereby decreasing revenue from advertisers), (2)
`
`preventing the Content Provider from tailoring content and advertising to specific audiences
`
`(which severely limits the effectiveness of the Content Provider's Web page), and (3)
`
`providing outdated information to its customers (which can lead to a frustrated and angry
`
`end user).
`
`10
`
`There remains a significant need in the art to provide a decentralized hosting
`
`solution that enables users to obtain Internet content on a more efficient basis (i.e., without
`
`burdening network resources unnecessarily) and that likewise enables the Content Provider
`
`to maintain control over its content.
`
`The present invention solves these and other problems associated with the prior art.
`
`6
`
`

`
`13C
`
`4
`
`PATENT
`
`BRIEF SUMMARY OF THE INVENTION
`
`It is a general object of the present invention to provide a computer network
`
`comprising a large number of widely deployed Internet servers that form an organic,
`
`massively fault-tolerant infrastructure designed to serve Web content efficiently,
`
`5
`
`effectively, and reliably to end users.
`
`Another more general object of the present invention is to provide a fundamentally
`
`new and better method to distribute Web-based content. The inventive architecture
`
`provides a method for intelligently routing and replicating content over a large network of
`
`distributed servers, preferably with no centralized control.
`
`10
`
`Another object of the present invention is to provide a network architecture that
`
`moves content close to the user. The inventive architecture al.lows Web sites to develop
`
`large audiences without worrying about building a massive infrastructure to handle the
`
`associated traffic.
`
`Still another object of the present invention is to provide a fault-tolerant network for
`
`15
`
`distributing Web content. The network architecture is used to speed-up the delivery of
`
`richer Web pages, and it allows Content Providers with large audiences to serve them
`
`reliably and economically, preferably from servers located close to end users.
`
`A further feature of the present invention is the ability to distribute and manage
`
`content over a large network without disrupting the Content Provider's direct relationship
`
`2 0 with the end user.
`
`Yet another feature of the present invention is to provide a distributed scalable
`
`infrastructure for the Internet that shifts the burden of Web content distribution from the
`
`Content Provider to a network of preferably hundreds of hosting servers deployed, for
`
`example, on a global basis.
`
`2 5
`
`In general, the present invention is a network architecture that supports hosting on a
`
`truly global scale. The inventive framework allows a Content Provider to replicate its most
`
`popular content at an unlimited number of points throughout the world. As an additional
`
`feature, the actual content that is replicated at any one geographic location is specifically
`
`7
`
`

`
`13C
`
`5
`
`PATENT
`
`tailored to viewers in that location. Moreover, content is automatically sent to the location
`
`where it is requested, without any effort or overhead on the part of a Content Provider.
`
`It is thus a more general object of this invention to provide a global hosting
`
`framework to enable Content Providers to retain control of their content.
`
`5
`
`The hosting framework of the present invention comprises a set of servers operating
`
`in a distributed manner. The actual content to be served is preferably supported on a set of
`
`hosting servers (sometimes referred to as ghost servers). This content comprises HTML
`
`page objects that, conventionally, are served from a Content Provider site. In accordance
`
`with the invention, however, a base HTML document portion of a Web page is served from
`
`l 0
`
`the Content Provider's site while one or more embedded objects for the page are served
`
`from the hosting servers, preferably, those hosting servers nearest the client machine. By
`
`serving the base HTML document from the Content Provider's site, the Content Provider
`
`maintains control over the content.
`
`The determination of which hosting server to use to serve a given embedded object
`
`15
`
`is effected by other resources in the hosting framework. In particular, the framework
`
`includes a second set of servers (or server resources) that are configured to provide top
`
`level Domain Name Service (DNS). In addition, the framework also includes a third set of
`
`servers (or server resources) that are configured to provide low level DNS functionality.
`
`When a client machine issues an HTTP request to the Web site for a given Web page, the
`
`2 0
`
`base HTML document is served from the Web site as previously noted. Embedded objects
`
`for the page preferably are served from particular hosting servers identified by the top- and
`
`low-level DNS servers. To locate the appropriate hosting servers to use, the top-level DNS
`
`server determines the user's location in the network to identify a given low-level DNS
`
`server to respond to the request for the embedded object. The top-level DNS server then
`
`2 5
`
`redirects the request to the identified low-level DNS server that, in tum, resolves the request
`
`into an IP address for the given hosting server that serves the object back to the client.
`
`More generally, it is possible (and, in some cases, desirable) to have a hierarchy of
`
`DNS servers that consisting of several levels. The lower one moves in the hierarchy, the
`
`closer one gets to the best region.
`
`8
`
`

`
`13C
`
`6
`
`PATENT
`
`A further aspect of the invention is a means by which content can be distributed and
`
`replicated through a collection of servers so that the use of memory is optimized subject to
`
`the constraints that there are a sufficient number of copies of any object to satisfy the
`
`demand, the copies of objects are spread so that no server becomes overloaded, copies tend
`
`5
`
`to be located on the same servers as time moves forward, and copies are located in regions
`
`close to the clients that are requesting them. Thus, servers operating within the framework
`
`do not keep copies of all of the content database. Rather, given servers keep copies of a
`
`minimal amount of data so that the entire system provides the required level of service.
`
`This aspect of the invention allows the hosting scheme to be far more efficient than
`
`10
`
`schemes that cache everything everywhere, or that cache objects only in pre-specified
`
`locations.
`
`The global hosting framework is fault tolerant at each level of operation. In
`
`particular, the top level DNS server returns a list of low-level DNS servers that may be used
`
`by the client to service the request for the embedded object. Likewise, each hosting server
`
`15
`
`preferably includes a buddy server that is used to assume the hosting responsibilities of its
`
`associated hosting server in the event of a failure condition.
`
`According to the present invention, load balancing across the set of hosting servers
`
`is achieved in part through a novel technique for distributing the embedded object requests.
`
`In particular, each embedded object URL is preferably modified by prepending a virtual
`
`2 0
`
`server hostname into the URL. More generally, the virtual server hostname is inserted into
`
`the URL. Preferably, the virtual server hostname includes a value (sometimes referred to as
`
`a serial number) generated by applying a given hash function to the URL or by encoding
`
`given information about the object into the value. This function serves to randomly
`
`distribute the embedded objects over a given set of virtual server hostnames. In addition, a
`
`2 5
`
`given fingerprint value for the embedded object is generated by applying a given hash
`
`function to the embedded object itself. This given value serves as a fingerprint that
`
`identifies whether the embedded object has been modified. Preferably, the functions used
`
`to generate the values (i.e., for the virtual server hostname and the fingerprint) are applied
`
`to a given Web page in an off-line process. Thus, when an HTTP request for the page is
`
`9
`
`

`
`13C
`
`7
`
`PATENT
`
`received, the base HTML document is served by the Web site and some portion of the
`
`. page's embedded objects are served from the hosting servers near (although not necessarily
`
`the closest) to the client machine that initiated the request.
`
`The foregoing has outlined some of the more pertinent objects and features of the
`
`5
`
`present invention. These objects should be construed to be merely illustrative of some of
`
`the more prominent features and applications of the invention. Many other beneficial
`
`results can be attained by applying the disclosed invention in a different manner or
`
`modifying the invention as will be described. Accordingly, other objects and a fuller
`
`understanding of the invention may be had by referring to the following Detailed
`
`10 Description of the Preferred Embodiment.
`
`10
`
`

`
`13C
`
`8
`
`PATENT
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`For a more complete understanding of the present invention and the advantages
`
`thereof, reference should be made to the following Detailed Description taken in connection
`
`with the accompanying drawings in which:
`
`5
`
`Figure 1 is a representative system in which the present invention is implemented;
`
`Figure 2 is a simplified representation of a markup language document illustrating
`
`the base document and a set of embedded objects;
`
`Figure 3 is a high level diagram of a global hosting system according to the present
`
`invention;
`
`10
`
`Figure 4 is a simplified flowchart illustrating a method of processing a Web page to
`
`modified embedded object URLs that is used in the present invention;
`Figure 5 is a simplified state diagram illustrating how the present invention
`
`responds to a HTTP request for a Web page.
`
`11
`
`

`
`13C
`
`9
`
`PATENT
`
`DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
`
`A known Internet client-server system is implemented as illustrated in Figure 1. A
`
`client machine 10 is connected to a Web server 12 via a network 14. For illustrative
`
`purposes, network 14 is the Internet, an intranet, an extranet or any other knoWn network.
`
`5 Web server 12 is one of a plurality of servers which are accessible by clients, one of which
`
`is illustrated by machine 10. A representative client machine includes a browser 16, which
`
`is a known software tool used to access the servers of the network. The Web server
`
`supports files (collectively referred to as a "Web" site) in the form of hypertext documents
`
`and objects. In the Internet paradigm, a network path to a server is identified by a so-called
`
`10 Uniform Resource Locator (URL).
`
`A representative Web server 12 is a computer comprising a processor 18, an
`
`operating system 20, and a Web server program 22, such as Netscape Enterprise Server.
`
`The server 12 also includes a display supporting a graphical user interface (GUI) for
`
`management and administration, and an Application Programming Interface (API) 26
`
`15
`
`that provides extensions to enable application developers to extend and/or customize the
`
`core functionality thereof through software programs including Common Gateway
`
`Interface (CGI) programs, plug-ins, servlets, active server pages, server side include
`
`(SSI) functions or the like.
`
`A representative Web client is a personal computer that is x86-, PowerPC®- or
`
`2 0
`
`RISC-based, that includes an operating system such as IBM® OS/2® or Microsoft
`
`Windows '95, and that includes a Web browser, such as Netscape Navigator 4.0 (or higher),
`
`having a Java Virtual Machine (JVM) and support for application plug-ins or helper
`
`applications. A client may also be a notebook computer, a handheld computing device
`
`(e.g., a PDA), an Internet appliance, or any other such device connectable to the computer
`
`25
`
`network.
`
`As seen in Figure 2, a typical Web page comprises a markup language (e.g. HTML)
`
`master or base document 28, and many embedded objects (e.g., images, audio, video, or the
`like) 30. Thus, in a typical page, twenty or more embedded images or objects are quite
`
`common. Each of these images is an independent object in the Web, retrieved (or validated
`
`12
`
`

`
`13C
`
`10
`
`PATENT
`
`for change) separately. The common behavior of a Web client, therefore, is to fetch the
`
`base HTML document, and then immediately fetch the embedded objects, which are
`
`typically (but not always) located on the same server. According to the present invention,
`
`preferably the markup language base document 28 is served from the Web server (i.e., the
`
`5
`
`Content Provider site) whereas a given number (or perhaps all) of the embedded objects are
`
`served from other servers. As will be seen, preferably a given embedded object is served
`
`from a server (other than the Web server itself) that is close to the client machine, that is not
`
`overloaded, and that is most likely to already have a current version of the required file.
`
`Referring now to Figure 3, this operation is achieved by the hosting system of the
`
`10
`
`present invention. As will be seen, the hosting system 35 comprises a set of widely- ·
`
`deployed servers (or server resources) that form a large, fault-tolerant infrastructure
`
`designed to serve Web content efficiently, effectively, and reliably to end users. The servers
`
`may be deployed globally, or across any desired geographic regions. As will be seen, the
`
`hosting system provides a distributed architecture for intelligently routing and replicating
`
`15
`
`such content.· To this end, the global hosting system 35 comprises three (3) basic types of
`
`servers (or server resources): hosting servers (sometimes called ghosts) 36, top-level DNS
`servers 38, and low-level DNS servers 40. Although not illustrated, there may be additional
`
`levels in the DNS hierarchy. Alternatively, there may be a single DNS level that combines
`
`the functionality of the top level and low-level servers. In this illustrative embodiment, the·
`
`2 0
`
`inventive framework 35 is deployed by an Internet Service Provider (ISP), although this is
`
`not a limitation of the present invention. The ISP or ISPs that deploy the inventive global
`
`hosting framework 35 preferably have a large number of machines that run both the ghost
`server component 36 and the low-level DNS component 40 on their networks. These
`
`machines are distributed throughout the network; preferably, they are concentrated around
`network exchange points 42 and network access points 44, although this is not a
`
`2 5
`
`requirement. In addition, the ISP preferably has a small number of machines running the
`
`top-level DNS 38 that may also be distributed throughout the network.
`
`Although not meant to be limiting, preferably a given server used in the framework
`
`35 includes a processor, an operating system (e.g., Linux, UNIX, Windows NT, or the like),
`
`13
`
`

`
`13C
`
`11
`
`PATENT
`
`a Web server application, and a set of application routines used by the invention. These
`
`routines are conveniently implemented in software as a set of instructions executed by the
`
`processor to perform various process or method steps as will be described in more detail
`
`below. The servers are preferably located at the edges of the network (e.g., in points of
`
`5
`
`presence, or POPs).
`
`Several factors may determine where the hosting servers are placed in the network.
`
`Thus, for example, the server locations are preferably determined by a demand driven
`
`network map that allows the provider (e.g., the ISP) to monitor traffic requests. By
`
`studying traffic patterns, the ISP may optimize the server locations for the given traffic
`
`10
`
`profiles.
`
`According to the present invention, a given Web page (comprising a base HTML
`
`document and a set of embedded objects) is served in a distributed manner. Thus,
`
`preferably, the base HTML document is served from the Content Provider Site 45 that
`
`normally hosts the page. The embedded objects, or some subset thereof, are preferentially
`served from the hosting servers 36 and, specifically, given hosting servers 36 that are near
`
`15
`
`the client machine that in the first instance initiated the request for the Web page. In
`
`addition, preferably loads across the hosting servers are balanced to ensure that a given
`
`embedded object may be efficiently served from a given hosting server near the client when
`
`such client requires that object to complete the page.
`
`2 0
`
`To serve the page contents in this manner, the URL associated with an embedded
`
`object is modified. As is well-known, each embedded object that may be served in a page
`
`has its own URL. Typically, the URL has a hostname identifying the Content Provider's
`
`site from where the object is conventionally served, i.e., without reference to the present
`
`invention. According to the invention, the embedded object URL is first modified,
`
`2 5
`
`preferably in an off-line process, to condition the URL to be served by the global hosting
`
`servers. A flowchart illustrating the preferred method for modifying the object URL is
`
`illustrated in Figure 4.
`
`The routine begins at step 50 by determining whether all of the embedded objects in
`
`a given page have been processed. If so, the routine ends. If not, however, the routine gets
`
`14
`
`

`
`13C
`
`12
`
`PATENT
`
`the next embedded object at step 52. At step 54, a virtual server hostname is prepended
`
`into the URL for the given embedded object. The virtual server hostname includes a value
`
`(e.g., a number) that is generated, for example, by applying a given hash function to the
`
`URL. As is well-known, a hash function takes arbitrary length bit strings as inputs and
`
`5
`
`produces fixed length bit strings (hash values) as outputs. Such functions satisfy two
`
`conditions: (I) it is infeasible to find two different inputs that produce the same hash value,
`
`and (2) given an input and its hash value, it is infeasible to find a different input with

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