`Leighton et a1.
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 7,693,959 B2
`Apr. 6, 2010
`
`US007693959B2
`
`(54)
`
`(75)
`
`(73)
`
`(*)
`
`(21)
`(22)
`(65)
`
`(63)
`
`CONTENT DISTRIBUTION SYSTEM USING
`AN ALTERNATIVE DOMAIN NAME SYSTEM
`(DNS) AND CONTENT SERVERS
`
`Inventors: F. Thomson Leighton, Newtonville, MA
`(US); Daniel M. LeWin, Cambridge, MA
`(Us)
`
`Notice:
`
`Assignee: Massachusetts Institute of Technology,
`Cambridge, MA (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 831 days.
`Appl. N0.: 11/515,171
`Filed:
`Sep. 1, 2006
`
`Prior Publication Data
`
`US 2007/0005689 A1
`
`Jan. 4, 2007
`
`Related US. Application Data
`
`Continuation of application No. 10/417,607, ?led on
`Apr. 17, 2003, now Pat. No. 7,103,645, which is a
`continuation of application No. 09/604,878, ?led on
`Jun. 28, 2000, now Pat. No. 6,553,413, which is a
`continuation of application No. 09/314,863, ?led on
`May 19, 1999, now Pat. No. 6,108,703.
`
`(60)
`
`(51)
`
`(52)
`
`(58)
`
`Provisional application No. 60/092,710, ?led on Jul.
`14, 1998.
`
`Int. Cl.
`(2006.01)
`G06F 15/16
`(2006.01)
`G06F 15/173
`US. Cl. ..................... .. 709/217; 709/219; 709/229;
`709/238
`Field of Classi?cation Search ............... .. 709/217,
`709/219, 229, 238
`See application ?le for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`EP
`
`4,922,417 A
`
`5/1990 Churm et al.
`(Continued)
`FOREIGN PATENT DOCUMENTS
`0648038
`4/1995
`(Continued)
`OTHER PUBLICATIONS
`Rabinovich et a1, “Dynamic Replication 0n the Internet,” AT&T Labs
`Research Technical Memorandum, Mar. 5, 1998.
`(Continued)
`Primary ExamineriWilliam C Vaughn, Jr.
`Assistant ExamineriKristie D Shingles
`(74) Attorney, Agent, or FirmiDavid H. Judson
`
`ABSTRACT
`
`(57)
`The present invention is a network architecture or framework
`that supports ho sting and content distribution on a truly global
`scale. The inventive framework allows a Content Provider to
`replicate and serve its most popular content at an unlimited
`number of points throughout the world. The inventive frame
`work comprises a set of servers operating in a distributed
`manner. The actual content to be served is preferably sup
`ported 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 the Content
`Provider’s site while one or more embedded objects for the
`page are served from the hosting servers, preferably, those
`hosting servers near the client machine. By serving the base
`HTML document from the Content Provider’s site, the Con
`tent Provider maintains control over the content.
`
`58 Claims, 2 Drawing Sheets
`
`1
`
`Petitioner Limelight - LN1001
`
`
`
`US 7,693,959 B2
`Page 2
`
`US. PATENT DOCUMENTS
`
`8/1992 HaWey er 91-
`5,136,716 A
`2/ 1994 Nemes
`5,287,499 A
`8/ 1994 Pi?fin er a1~
`5341477 A
`7/1996 Ne1mat et al.
`5,542,087 A
`6/ 1997 Ste?k er a1~
`5,638,443 A
`7/1997 Dewkett et a1~
`5,646,676 A
`2/1998 Stewart
`5715453 A
`4/1998 Logan er 91-
`5740423 A
`5/1998 Smyk
`5751961 A
`5/1998 OZden et 31
`5,754,773 A
`6/1998 Govett
`5761507 A
`6/1998 Brendel et al.
`5,774,660 A
`6/1998 Choquier et al.
`5,774,668 A
`7/1998 McGarvey
`5,777,989 A
`8/1998 Amstein et al.
`5,793,966 A
`9/1998 Balick et al.
`5,802,291 A
`9/1998 Asano
`5,815,664 A
`5,832,506 A 11/1998 Kuzma
`5,838,906 A 11/1998 Doyle et al.
`5,856,974 A
`1/1999 Gervais et al.
`5,870,559 A
`2/ 1999 Leshem et al.
`5,878,212 A
`3/1999 Civanlar et al.
`5,884,038 A
`3/1999 Kapoor
`5,894,554 A
`4/1999 Lowery et a1‘
`5,903,723 A
`5/1999 Beck et al.
`5,919,247 A
`7/1999 Van Hoff et a1‘
`5,920,701 A
`7/1999 Miller et a1‘
`5,933,832 A
`8/1999 Suzuoka et a1‘
`5,933,849 A
`8/1999 Srbljic et al.
`5,945,989 A
`8/1999 Freishtat et a1‘
`5,956,716 A
`9/1999 Kenner et a1‘
`5,961,596 A 10/1999 Takubo et a1’
`5,991,809 A 1 1/1999 Kriegsman
`6,003,030 A 12/1999 Kenner et a1‘
`6,006,264 A 12/1999 Colby et 31‘
`6,029,175 A
`2/2000 Chow et al.
`6,049,664 A
`4/2000 Dale et a1‘
`6,052,718 A
`4 /2000 Gifford
`6,061,715 A
`5/2000 Hawes
`6,078,943 A
`6/2000 Yu
`6,092,178 A *
`7/2000 Jindal et al. ................. .. 712/27
`6,112,239 A
`8/2000 Kenner et al.
`6,112,279 A
`8/2000 Wang
`6,115,752 A
`9/2000 Chauhan
`6,119,143 A *
`9/2000 Dias et al. ................. .. 709/201
`6,134,583 A 10/2000 Herriot
`6,144,996 A 1 1/2000 Stames et 31‘
`6,151,624 A 11/2000 Teare et al.
`6,154,738 A 1 1/2()()() Call
`6,154,744 A 1 1/200() Kenner et a1‘
`6,167 ,427 A 12/2()()() Rabinovich et a1,
`6,178,160 B1
`1/2001 Bolton et a1,
`6,181,867 B1
`1/2001 Kenner et a1,
`6,185,598 B1
`2/2001 Farber et a1,
`6,185,619 B1
`2/2001 Joffe et al.
`6,226,618 B1
`5/ 2001 Downs et al.
`6,230,196 B1
`5/2001 Guenthner et al.
`6,243,760 B1
`6/ 2001 Armbruster et al.
`6,249,801 B1 *
`6/2001 Zisapel et al. ............. .. 718/105
`6,256,675 B1
`7/ 2001 Rabinovich
`6,266,699 B1
`7/2001 Sevcik
`6,269,394 B1
`7/2001 Kenner et al.
`6,282,569 B1
`8/2001 Wallis et a1~
`6,286,045 B1
`9/2001 Grif?ths et a1~
`6,311,214 B1
`10/2001 Rhoads
`6,314,565 B1
`11/2001 Kenner et a1~
`6,332,195 B1
`12/2001 Green et a1~
`6,347,085 B2
`2/2002 Kelly
`6,360,256 B1
`3/2002 Lim
`6,370,571 B1
`4/2002 Medin, Jr.
`6,430,618 B1
`8/2002 Karger et al.
`
`8/2002 Schneider
`6,442,549 B1
`10/2002 Chung et al.
`6,470,389 B1
`6,484,143 B1 * 11/2002 Swildens et al. ............. .. 705/1
`6,502,125 B1
`12/2002 Kenner et al.
`6,665,706 B2 12/2003 Kenner et al.
`6,886,013 B1
`4/2005 BeI-unek
`6,886,130 B1
`4/2005 Unger et al.
`6,973,485 B2 12/2005 Ebata et al.
`6,976,090 B2 * 12/2005 Ben-Shaul et al. ........ .. 709/246
`7,020,698 B2 *
`3/2006 Andrews et al. .......... .. 709/223
`7,047,300 B1
`5/2006 Oehrke et al.
`7,054,935 B2
`5/2006 Farber et al.
`2003/0196164 A1 10/2003 Gupta et al.
`
`FOREIGN PATENT DOCUMENTS
`
`EP
`JP
`W0
`W0
`W0
`
`817444 A2
`8044643
`WO 97/29423
`WO 98/26559
`WO 99/40514
`
`7/1998
`2/1996
`8/1997
`6/1998
`8/1999
`
`OTHER PUBLICATIONS
`
`Colajanni et al, “Scheduling Algorithms for Distributed Web Serv
`ers,” International Conference on Distributed Computing Systems
`(ICDCS), Baltimore, Maryland, May 199?
`GoldsZmidt et al, “Load Distribution for Scalable Web Servers Sum
`mer Olympics 1996iA Case Study,” IFIP/IEEE International Work
`shop on Distributed Systems: Operations & Management (DSOM),
`syclneyr Australlar Oct 1997~
`_
`_
`Am1r et al, “Walrusia Low Latency, H1gh Throughput Web Serv1ce
`Using Internet-wide Replication,” Technical Report CDNS-98-5,
`Center for Networking and Distributed Systems, Computer Science
`Department, Johns Hopkins University, Baltimore, Maryland, 1998.
`Mockapetris, “Domain NamesiImplementation and Speci?cation,”
`Internet Engineering Task Force (IETF) Request for Comments
`(RFC) 10351180“ 198?
`Berners-Lee et al, “Hypertext Markup Languagei20,” Internet
`Engineering Task Force (IETF) Request for Comments (RFC) 1866,
`NW 1995~
`_
`Berners-Lee et al, “Un1form Resource Locators (URL),” Internet
`Engineering Task Force (IETF) Request for Comments (RFC) 1738,
`D99 _1994~
`F1eld1ng et al, “Hypertext Transfer ProtocoliHTTP/ 1.1,” Internet
`Engineering Task Force (IETF) Request for Comments (RFC) 2068,
`1m 1997~
`Rekhter et al, “Application of the Border Gateway Protocol in the
`Internet,” Internet Engineering Task Force (IETF) Request for Com
`men“ (RFC) 1772, Man 1995~
`Traina, “Experience with the BGP-4 protocol,” Internet Engineering
`Task Force (IETF) Request for Comments (RFC) 1773, Mar. 1995.
`Traina, “BGP-4 Protocol Analysis,” Internet Engineering Task Force
`(IETF) Request for Comments (RFC) 1774, Mar. 1995.
`Chandra et al, “BGP Communities Attribute,” Internet Engineering
`Task Force (IETF) Request for Comments (RFC) 1997, Aug. 1996.
`Chen et al, “An Application of the BGP Community Attribute in
`Multi-home Routing,” Internet Engineering Task Force (IETF)
`Request for Comments (RFC) 1998, Aug. 1996.
`Bhattacharjee et al, “Application-Layer Anycasting,” IEEE Infocom,
`Kobe, Japan, Apr. 1997.
`Almeroth et al, “Scalable Delivery of Web Pages Using Cyclic Best
`Effort (UDP) Multicast,” IEEE Infocom, San Francisco, California,
`May 1997,
`Lougheed et al, “A Border Gateway Protocol,” Internet Engineering
`Task Force (IETF) Request for Comments (RFC) 1105, Jun. 1989.
`Lougheed et al, “A Border Gateway Protocol,” Internet Engineering
`Task Force (IETF) Request for Comments (RFC) 1163, Jun. 1990.
`KatZ et al, “A Scalable HTTP Server: The NCSA Prototype,”
`National Center for Supercomputing Applications, Nov. 1994.
`Postel, “Domain Name System Structure and Delegation,” Internet
`Engineering Task Force (IETF), Request for Comments (RFC) 1591,
`Mar. 1994.
`
`2
`
`
`
`US 7,693,959 B2
`Page 3
`
`Crovella et al., “Dynamic server selection in the Internet,” 3rd IEEE
`Workshop on the Architecture and Implementation of High Perfor
`mance Computer System ’95, pp. 158-162, Aug. 1995.
`Fei et al., “A novel server selection technique for improving the
`response time of a replicated service,” Proceedings of the IEEE
`INFOCOM ’98, Mar. 1998.
`Carter et al., “Server selection using dynamic path characterization in
`Wide-Area Networks,” IEEE INFOCOM ’97, 1997.
`Guyton et a1 ., “Locating nearby copies of replicated Internet servers,”
`Proceedings ofACM SIG/COMM ’95, pp. 288-298, 1995.
`Seltzer et al., “The Case for Geographical Push Caching,” Proceed
`ings of the 1995 Workshop on Hot Operating Systems, 1995.
`Bestavros, et al., “Server-Initiated Document Dissemination for the
`World Wide Web,” IEEE Data Engineering Bulletin 19, pp. 3-11,
`1996.
`Carter et al., “Dynamic server selection using bandwidth probing in
`wide-area networks,” Technical Report BU-CS-96-007, Boston Uni
`versity, Mar. 1996.
`Baker et al., “Distributed Cooperative Web servers,” Computer Net
`works, Elsevier Science Publishers, BV, vol. 31, No. 11-16, pp.
`1215-1229, May 17, 1999.
`Karger et al., “Web caching with consistent hashing,” Computer
`Networks, Elsevier Science Publishers, BV, vol. 31, No. 11-16, pp.
`1203-1213, May 17, 1999.
`Luotonen et al., “World-Wide Web Proxies,” CERN, Apr. 1994.
`Kwan et al., “NCSA’s World Wide Web Server: Design and Perfor
`mance,” IEEE, pp. 68-74, Nov. 1995.
`Malpani et al., “Making World Wide Web Caching Servers Cooper
`ate,”
`http://bmrc.berkeley.edu/papers/1995/13 8/paper-59 .html,
`1995.
`Ross, “Hash Routing for Collection of Shared Web Caches,” IEEE
`Network, pp. 37-44, Nov/Dec. 1997.
`Shaw, “A Low Latency, High Throughput Web Service Using
`Internet-Wide Replication,” Department of Computer Science, Johns
`Hopkins University, Aug. 1998.
`Colajanni et al, “Analysis of Task Assignment Policies in Scalable
`Distributed Web-Server Systems,” IEEE Transactions of Parallel and
`Distributed Systems, vol. 9, No. 6, Jun. 1998.
`Honig et al, “Applications of the Border Gateway Protocol in the
`Internet,” Internet Engineering Task Force (IETF) Request for Com
`ments (RFC) 1164, Jun. 1990.
`Mockapetris, “Domain NamesiConcepts and Facilities,” Internet
`Engineering Task Force (IETF) Request for Comments (RFC) 882,
`Nov. 1983.
`Mockapetris, “Domain NamesiConcepts and Facilities,” Internet
`Engineering Task Force (IETF) Request for Comments (RFC) 883,
`Nov. 1983.
`Mockapetris, “Domain System Changes and Observations,” Internet
`Engineering Task Force (IETF) Request for Comments (RFC) 973,
`Jan. 1986.
`Colajanni et al, “Dynamic Load Balancing in Geographically Dis
`tributed Heterogeneous Web Servers,” International Conference on
`Distributed Computing Systems, 1998.
`“Overview of the Cisco DistributedDirector 2500 Series,” Cisco
`DistributedDirector 2500 Series Installation and Con?guration
`Guide, Chapter 1, 1995.
`“Protocol Standard for a NetBIOS Service on a TCP/U DP Transport:
`Concepts and Methods,” Internet Engineering Task Force (IETF)
`Request for Comments (RFC) 1001, Mar. 1987.
`Mourad et al, “Scalable Web Server Architectures,” Second IEEE
`Symposium on Computers and Communications, Jul. 1, 1997.
`Basturk et al, “Using Network Anycast for Load Distribution on the
`Internet,” IBM Research Report, Jul. 29, 1997.
`Raggett, “HTML+ (Hypertext Markup Language),” Public Proposal
`for an Internet Draft of a Proposed Standard, Jul. 23, 1993.
`Toye et al, “Share: A Methodology and Environment for Collabora
`tive Product Development,” Second Workshop on Enabling Tech
`nologies: Infrastructure for Collaborative Enterprises, Proceedings,
`Apr. 20, 1993.
`Plummer, “An Ethernet Address Resolution Protocol for Converting
`Network Protocol Addresses to 48 Bit Ethernet Address for Trans
`mission on Ethernet Hardware,” Internet Engineering Task Force
`(IETF) Request for Comments (RFC) 826, Nov. 1982.
`
`Hedrick, “Routing Information Protocol,” Internet Engineering Task
`Force (IETF) Request for Comments (RFC) 1058, Jun. 1988.
`Mockapetris, “DNS Encoding of Network Names and Other Types,”
`Internet Engineering Task Force (IETF) Request for Comments
`(RFC) 1101, Apr. 1989.
`Moy, “OSPF Version 2,” Internet Engineering Task Force (IETF)
`Request for Comments (RFC) 1247, Jul. 1991.
`Manning, “DNS NSAP RRs,” Internet Engineering Task Force
`(IETF) Request for Comments (RFC) 1348, Jul. 1992.
`Almquist, “Type of Service in the Internet Protocol Suite,” Internet
`Engineering Task Force (IETF) Request for Comments (RFC) 1349,
`Jul. 1992.
`Moas, “Exporting Web Server Final Report,” 1997.
`Smith, “What can Archives offer the World Wide Web?”, Mar. 22,
`1994.
`Oguchi et al, “A Study of Caching Proxy Mechanisms Realized on
`Wide Area Distributed Networks,” High Performance Distributed
`Computing, 5th Int’l Symposium, pp. 443-449, 1996.
`“Reverse Proxy Content Re-Mapper for Netscape Proxy 2.52 &
`2.53,” Netscape, Nov. 1997.
`“Super Proxy Script,” Sharp, 1997.
`Beaven, “Web Life, They’re Watching You,” Esquire Magazine,
`1997.
`Excerpts from www.sandpiper.com web site, Nov. 27, 1999.
`“Lbnamed, a load balancing name server written in Perl,” Jan. 1995.
`“Overview of the Cisco DistributedDirector 2500 Series,” publica
`tion believed to be 1997.
`“How to Cost-Effectively Scale Web Servers,” Cisco, Nov. 1996.
`Jeffrey et al, “Proxy-Sharing Proxy Servers,” IEEE, 1996.
`Baker et al, Distributed cooperative Web servers, Computer Net
`works 31, 1999.
`Karger et al, “Web caching with consistent hashing,” Computer Net
`works 31, 1999.
`Albitz et al, “How Does DNS Work?” Chapter 2, DNS and BIND,
`O’Reilly & Associates, 1992.
`Braun et al, “Web traf?c characterization: an assessment of the
`impact of caching documents from NCSA’s web server,” Proceed
`ings of the Second Int’l WWW Conference, Sep. 1994.
`Stanford-Clark, “Atlanta Olympics WOMplex,” AIXpert Magazine,
`Mar. 1997.
`Mockapetris et al., “Development of the Domain Name System,”
`Proceedings of SIGCOMM ’88 Computer Communications Review,
`vol. 18, No. 4, Aug. 1988.
`Wessels, “Intelligent Caching for World-Wide Web Objects,” Mas
`ters Thesis, University of Colorado, 1995.
`Schemers, “Ibnamed, a load balancing name server written in Perl,”
`http://www.stanford.edu/~schemers/doc/lbnamed/lbnamedhtml,
`Jan. 19, 1995.
`Bestavros, “Speculative Data Dissemination and Service to Reduce
`Server Load, Network Traf?c and Service Time in Distributed Infor
`mation Systems,” Proceedings of the ICDE ’96, Mar. 1996.
`Chankhunthod et al., “A Hierarchical Internet Object Cache,”
`USENIX Proceedings, pp. 153-163, Jan. 1996.
`Deering et al., “Multicast Routing in Datagram Internetworks and
`Extended LANs,” ACM Transactions on Computer Systems, vol. 8,
`No. 2, pp. 85-110, May 1990.
`Devine, “Design and Implementation of DDH: A Distributed
`Dynamic Hashing Algorithm,” Proceedings of the 4th International
`Conference on Foundations of Data Organizations and Algorithms,
`pp. 101-114,1993.
`Grigni et al., “Tight Bounds on Minimum Broadcasts Networks,”
`SIAM Journal of Discrete Mathematics, vol. 4, No. 2, pp. 207-222,
`May 1991.
`Gwertzman et al., “World-Wide Web Cache Consistency,” Proceed
`ings of the 1996 USENIX Technical Conference, Jan. 1996.
`Feely et al., “Implementing Global Memory Management in a Work
`station Cluster,” Proceedings of the 15th ACM Symposium on Oper
`ating Systems Principles, pp. 201-212, 1995.
`Floyd et al., “A Reliable Multicast Framework for Lightweight Ses
`sions and Application Level Framing,” Proceedings of ACM
`SIGCOMM ’95, pp. 342-356, 1995.
`
`3
`
`
`
`US 7,693,959 B2
`Page 4
`
`Fredman et al., “Storing a Sparse Table with 0(l) Worst Case Access
`Time,” Journal of the Association for Computer Machinery, vol. 3 I,
`No. 3, pp. 538-544, Jul. 1984.
`Karger et al., “Consistent Hashing and Random Trees,” Proceedings
`of the 29th ACM Symposium on Theory of Computing, pp. 654-663,
`May 1997.
`Litwin et al., “LH-A Scaleable, Distributed Data Structure,” ACM
`Transactions on Database Systems, vol. 21, No. 4, pp. 480-525, Dec.
`1996.
`Naor et al., “The Load, Capacity and Availability of Quorum Sys
`tems,” Proceedings of the 35th IEEE Symposium on Foundations of
`Computer Science, pp. 214-225, Nov. 1994.
`Palmer et al., “Fido: A Cache that Learns to Fetch,” Proceedings of
`the 17th International Conference on Very Large Data Bases, pp.
`255-264, Sep. 1991.
`Plaxton et al., “Fast Fault-Tolerant Concurrent Access to Shared
`Objects,” Proceedings of the 37th IEEE Symposium on Foundations
`of Computer Science, pp. 570-579, 1996.
`Rabin, “Ef?cient Dispersal of Information for Security, Load Bal
`ancing and Fault Tolerance,” Journal ofthe ACM, vol. 36, No. 2, pp.
`335-348, Apr. 1989.
`Schmidt, “Chernoff-Hoeffding Bounds for Applications with Lim
`ited Independence,” Proceedings of the 4th ACS-SIAM Symposium
`on Discrete Algorithms, pp. 33 l -340, 1993.
`Peterson, “Dynamic Selection of Geographically Distributed Serv
`ers” slide presentation, Oct. 27, 1997.
`Cisco Distributed Director White Paper, Dec. 4, 1997.
`DX588, Akamai v. Limelight, Civil Action No. 06-cv-lll09-RWZ,
`Reproduction of claim I of US. Patent No. 6,108,703, Feb. 2008.
`Amir et al, “Seamlessly Selecting The Best Copy From Internet
`Wide Replicated Web Servers,” Sep. 1998.
`Partridge et al, “Host Anycasting Service,” Internet Request For
`Comment 1546, Nov. 1993.
`Mockapetris, “Domain Names-Concepts and Facilities,” Internet
`Request For Comment 1034, Nov. 1987.
`Brisco, “DNS Support for Load Balancing.” Internet Request For
`Comment 1794, Apr. 1995.
`Rekhter et al, “A Border Gateway Protocol 4 (BGP-4),” Internet
`Request for Comment 1771, Mar. 1995.
`Malkin, “RIP Version 2 Carrying Additional Information,” Internet
`Engineering Task Force (IETF) Request for Comments (RFC) 1388,
`Jan. 1993.
`Moy, “OSPF Version 2,” Internet Engineering Task Force (IETF)
`Request for Comments (RFC) 1583, Mar. 1994.
`Rekhter et al, “Application of the Border Gateway Protocol in the
`Internet,” Internet Engineering Task Force (IETF) Request for Com
`ments (RFC) 1655, Jul. 1994.
`Malkin, “RIP Version 2 Carrying Additional Information,” Internet
`Engineering Task Force (IETF) Request for Comments (RFC) 1723,
`Nov. 1994.
`Fielding, “Relative Uniform Resource Locators,” Internet Engineer
`ing Task Force (IETF) Request for Comments (RFC) 1808, Jun.
`1995.
`Davis et al, “A Means for Expressing Location Information in the
`Domain Name System,” Internet Engineering Task Force (IETF)
`Request for Comments (RFC) 1876, Jan. 1996.
`
`Deering et al, “Internet Protocol, Version 6 (IPv6) Speci?cation,”
`Internet Engineering Task Force (IETF) Request for Comments
`(RFC) 1883, Dec. 1995.
`Leech et al, “Socks Protocol Version 5,” Internet Engineering Task
`Force (IETF) Request for Comments (RFC) 1928, Mar. 1996.
`Berners-Lee et al, “Hypertext Transfer ProtocoliHTTP/ 1.0,”
`Internet Engineering Task Force (IETF) Request for Comments
`(RFC) 1945, May 1996.
`Narten et al, “Neighbor Discovery for IP Version 6 (IPv6),” Internet
`Engineering Task Force (IETF) Request for Comments (RFC) 1970,
`Aug. 1996.
`E12 et al, “Serial Number Arithmetic,” Internet Engineering Task
`Force (IETF) Request for Comments (RFC) 1982, Aug. 1996.
`Bradner et al, “The Internet Standards ProcessiRevision 3 ,” Internet
`Engineering Task Force (IETF) Request for Comments (RFC) 2026,
`Oct. 1996.
`Eastlake et al, “Domain Name System Security Extensions,” Internet
`Engineering Task Force (IETF) Request for Comments (RFC) 2065,
`Jan. 1997.
`Vixie et al, “Dynamic Updates in the Domain Name System (DNS
`Update),” Internet Engineering Task Force (IETF) Request for Com
`ments (RFC) 2136, Apr. 1997.
`VeiZades et al, “Service Location Protocol,” Internet Engineering
`Task Force (IETF) Request for Comments (RFC) 2165, Jun. 1997.
`Moy, “OSPF Version 2,” Internet Engineering Task Force (IETF)
`Request for Comments (RFC) 2178, Jul. 1997.
`E12 et al, “Clari?cations to the DNS Speci?cation,” Internet Engi
`neering Task Force (IETF) Request for Comments (RFC) 2181, Jul.
`1997.
`E12 et al, “Selection and Operation of Secondary DNS Servers,”
`Internet Engineering Task Force (IETF) Request for (RFC) 2 l 82, Jul.
`1997.
`Raggett, “HTML+ support for eqn & Postscript,” Public posting of
`message to www-talk mailing list, Jun. 14, 1993.
`Andrews et al, “Negative Caching of DNS Queries (DNS
`NCACHE),” Internet Engineering Task Force (IETF) Request for
`Comments (RFC) 2308, Mar. 1998.
`Moy, “OSPF Version 2,” Internet Engineering Task Force (IETF)
`Request for Comments (RFC) 2328, Apr. 1998.
`Hoffman et al, “The mailtoURL scheme,” Internet Engineering Task
`Force (IETF) Request for Comments (RFC) 2368, Jul. 1998.
`Berners-Lee et al, “Uniform Resource Identi?ers (URI): Generic
`Syntax,” Internet Engineering Task Force (IETF) Request for Com
`ments (RFC) 2396, Aug. 1998.
`Malkin, “RIP Version 2,” Internet Engineering Task Force (IETF)
`Request for Comments (RFC) 2453, Nov. 1998.
`Deering et al, “Internet Protocol, Version 6 (IPv6) Speci?cation,”
`Internet Engineering Task Force (IETF) Request for Comments
`(RFC) 2460, Dec. 1998.
`Narten et al., “Neighbor Discovery for IP Version 6 (IPv6),” Internet
`Engineering Task Force (IETF) Request for Comments (RFC) 246 1,
`Dec. 1998.
`Eastlake et al, “Domain Name System Security Enhancements,”
`Internet Engineering Task Force (IETF) Request for Comments
`(RFC) 2535, Mar. 1999.
`* cited by examiner
`
`4
`
`
`
`US. Patent
`
`Apr. 6, 2010
`
`Sheet 1 of2
`
`US 7,693,959 B2
`
`1 4
`
`SERVER
`
`PROCESSOR /18
`
`OS
`
`20
`
`WEB SERVER
`
`22
`
`API
`
`\26
`
`L28
`
`FIG. 7
`
`F I G. 2
`
`39
`{:1
`3mg __
`“E E
`
`30/“ \30
`US
`50
`
`CONTENT
`
`may J £0
`HOST I
`/
`
`4-2
`
`DNS
`LOW
`LEVEL
`
`DNS
`TOP
`LEVEL
`HOST
`38
`36/
`'___
`
`_
`
`é’???gii?ié
`
`x ISP
`
`x
`
`X
`
`FIG. 3 42
`
`36/ HOST
`
`36/ HOST
`
`36/ HOST
`
`HOST
`
`55
`
`5
`
`
`
`US. Patent
`
`Apr. 6, 2010
`
`Sheet 2 of2
`
`US 7,693,959 B2
`
`F I G. 4
`
`GET NEXT OBJECT K52
`‘
`[HASH VALUE INPUT
`PREPEND VIRTUAL [54
`SERVER HOST NAME
`‘
`PREPEND HASH
`VALUE AS FINGERPRINT \56
`__J
`
`[HASH VALUE INPUT
`
`"TOP LEVEL"
`DNS SERVER
`
`NEARBY
`GHOST
`
`"LOW LEVEL"
`DNS SERVER
`
`6
`
`
`
`US 7,693,959 B2
`
`1
`CONTENT DISTRIBUTION SYSTEM USING
`AN ALTERNATIVE DOMAIN NAME SYSTEM
`(DNS) AND CONTENT SERVERS
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`This application is a continuation of prior application Ser.
`No. 10/417,607, ?ledApr. 17, 2003, now US. Pat. No. 7,103,
`645, Which application Was a continuation of prior applica
`tion Ser. No. 09/604,878, ?led Jun. 28, 2000, now US. Pat.
`No. 6,553,413, Which application Was a continuation of prior
`application Ser. No. 09/314,863, ?led May 19, 1999, now
`US. Pat. No. 6,108,703, Which application Was based on and
`claimed priority from Provisional Application 60/092,710,
`?led Jul. 14, 1998.
`
`BACKGROUND OF THE INVENTION
`
`1. Technical Field
`This invention relates generally to information retrieval in
`a computer network. More particularly, the invention relates
`to a novel method of hosting and distributing content on the
`Internet that addresses the problems of Internet Service Pro
`viders (ISPs) and Internet Content Providers.
`2. Description of the Related Art
`The World Wide Web is the Intemet’s multimedia infor
`mation retrieval system. In the Web environment, client
`machines effect transactions to Web servers using the Hyper
`text Transfer Protocol (HTTP), Which is a knoWn application
`protocol providing users access to ?les (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 ?les. In the
`Internet paradigm, a netWork path to a server is identi?ed by
`a so-called Uniform Resource Locator (URL) having a spe
`cial syntax for de?ning a netWork connection. Use of an
`HTML-compatible broWser (e.g., Netscape Navigator or
`Microsoft Internet Explorer) at a client machine involves
`speci?cation of a link via the URL. In response, the client
`makes a request to the server identi?ed in the link and, in
`return, receives a document or other object formatted accord
`ing 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. 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. 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.
`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 Pro
`vider, they fail to address the underlying problem of scalabil
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`ity. Even if a Content Provider is Willing to incur the costs
`associated With 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, mir
`roring also entails operational di?iculties . A Content Provider
`that uses a mirror site must not only lease and manage physi
`cal space in distant locations, but it must also buy and main
`tain the softWare or hardWare that synchronizes and load
`balances the sites. Current solutions require Content Provid
`ers 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.
`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 Pro
`vider and the end-user. The effect of such caching can pro
`duce devastating results to the Content Provider, including (1)
`preventing the Content Provider from obtaining accurate hit
`counts on its Web pages (thereby decreasing revenue from
`advertisers), (2) preventing the Content Provider from tailor
`ing content and advertising to speci?c 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).
`There remains a signi?cant need in the art to provide a
`decentralized hosting solution that enables users to obtain
`Internet content on a more e?icient basis (i.e., Without bur
`dening 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.
`
`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
`e?iciently, 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.
`Another object of the present invention is to provide a
`netWork architecture that moves content close to the user. The
`inventive architecture alloWs Web sites to develop large audi
`ences Without Worrying about building a massive infrastruc
`ture to handle the associated tra?ic.
`Still another object of the present invention is to provide a
`fault-tolerant netWork for distributing Web content. The net
`Work architecture is used to speed-up the delivery of richer
`Web pages, and it alloWs Content Providers With large audi
`ences 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 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
`
`7
`
`
`
`US 7,693,959 B2
`
`3
`Provider to a network of preferably hundreds of ho sting serv
`ers deployed, for example, on a global basis.
`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 speci?cally tai
`lored to viewers in that location. Moreover, content is auto
`matically 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.
`The ho sting 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 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 is effected by other resources in the
`hosting framework. In particular, the framework includes a
`second set of servers (or server resources) that are con?gured
`to provide top level Domain Name Service (DNS). In addi
`tion, the framework also includes a third set of servers (or
`server resources) that are con?gured to provide low level
`DNS functionality. When a client machine issues an HTTP
`request to the Web site for a given Web page, the base HTML
`document is served from the Web site as previously noted.
`Embedded objects for the page preferably are served from
`particular hosting servers identi?ed 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 redirects the request to the identi?ed low-level
`DNS server t