`Kenner et al.
`
`USOO6421726B1
`(10) Patent No.:
`US 6,421,726 B1
`(45) Date of Patent:
`*Jul. 16, 2002
`
`(54) SYSTEM AND METHOD FOR SELECTION
`AND RETRIEVAL OF DIVERSE TYPES OF
`VIDEO DATA ON A COMPUTER NETWORK
`
`(75)
`
`(73)
`
`Inventors: Brian Kenner, Encinitas; Kenneth W.
`Colby, San Diego; Lonnie J. Brownell,
`Encinitas; Guy P. Weathersby, San
`Diego, all of CA (US)
`ASSignee: Akamai Technologies, Inc., Cambridge,
`MA (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`Notice:
`
`This patent is Subject to a terminal dis
`claimer.
`
`(21)
`(22)
`
`(60)
`
`(51)
`(52)
`(58)
`
`(56)
`
`Appl. No.:
`09/039,077
`Mar. 1, 1998
`Filed:
`Related U.S. Application Data
`Provisional application No. 60/039,086, filed on Mar. 14,
`1997.
`Int. Cl." ........................ G06F 15/173; G06F 15/16
`U.S. Cl. ........................ 709/225; 709/224; 709/219
`Field of Search ................................. 709/250, 245,
`709/244, 238, 235, 226, 228, 227, 224,
`219, 217, 105, 225; 707/5, 104.1; 34.5/716,
`717; 72.5/115
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,488,609 A * 1/1996 Hluychyi et al. ........... 370/232
`5,490.203 A * 2/1996 Jain et al. ............
`... 455/435
`5,504.837. A * 4/1996 Griffeth et al. ............... 706/10
`5,557,790 A
`9/1996 Bingham et al.
`5,574,903 A * 11/1996 Szymanski et al. ............ 707/1
`5,655,117 A * 8/1997 Goldberg et al. ........... 395/613
`5,737.495 A
`4/1998 Adams et al. ................. 707/5
`5,793,966 A * 8/1998 Amstein et al.
`... 709/203
`5,809,282 A * 9/1998 Cooper et al. .............. 395/500
`
`
`
`5,812,529 A * 9/1998 Czarnik et al. ............. 370/245
`(List continued on next page.)
`FOREIGN PATENT DOCUMENTS
`
`EP
`EP
`WO
`WO
`WO
`WO
`
`O384 339 A 8/1990
`O 674 259 A 9/1995
`91/11874
`* 8/1991
`95/26114
`* 9/1995
`96/09714
`* 3/1996
`97/37500
`* 10/1997
`
`OTHER PUBLICATIONS
`Baentsch, M. et al. “Introducing application-level replica
`tion and naming into today's Web, Computer Networks and
`ISDN Systems, vol. 28, No. 11 (May 1996).
`Meyer, T., et al., “WAXweb: a MOO-based collaborative
`hypermedia system for WWW,” Computer Newtworks and
`ISDN Systems, vol. 28, No. 1 (Dec. 1995).
`(List continued on next page.)
`Primary Examiner Zarni Maung
`ASSistant Examiner Jason D. Cardone
`(74) Attorney, Agent, or Firm-David H. Judson
`(57)
`ABSTRACT
`A system and method for the selection and retrieval of
`various types of video data from distributed delivery sites
`calls for the deployment of “Smart Mirror” sites throughout
`a network, each of which maintains a copy of certain data
`managed by the system. Each “Smart Mirror” site maintains
`copies of the data in Several alternative file formats. Every
`user is assigned to a specific delivery site based on an
`analysis of network performance with respect to each of the
`available delivery sites. Generalized network performance
`data is collected and Stored to facilitate the Selection of
`additional delivery sites and to ensure the preservation of
`improved performance in comparison to traditional net
`WorkS. The appropriate file format is automatically Selected
`based on the capabilities of a user terminal making a request
`for data.
`
`4 Claims, 5 Drawing Sheets
`
`AO
`
`42
`
`N
`
`46
`/
`
`Retrieve
`Delivery Site
`le
`
`Contected?
`
`Y
`- --
`Perform
`ests
`
`48
`
`/
`
`* -
`Collect and
`Process Resus
`-
`
`50
`
`Determine
`Best elivery
`Se
`
`l
`
`se
`
`Send Results
`to RSP
`
`5
`
`kicke
`Connection
`
`1 - ?
`
`Save
`Configurction
`information
`
`VIDEOLABS, INC.
`EX2006
`NETFLIX, INC. v. VIDEOLABS, INC.
`IPR2023-00628
`
`
`
`US 6,421,726 B1
`Page 2
`
`U.S. PATENT DOCUMENTS
`5,832,221. A 11/1998 Jones ......................... 709/206
`5,918,012 A * 6/1999 Astiz et al. ...
`395/200.47
`5,951,694. A * 9/1999 Choquier et al.
`... 714/15
`5.956,716 A * 9/1999 Kenner et al.
`... 707/10
`5.974.441. A * 10/1999 Rogers et al.
`... 709/200
`5.991,809 A * 11/1999 Kriegsman ...
`... 709/226
`6,003,030 A * 12/1999 Kenner et al.
`... 707/10
`6,115,752 A * 9/2000 Chauhan .......
`... 709/241
`6,167,122 A * 12/2000 Titmuss et al.
`... 379/93.15
`6,173,322 B1
`1/2001 Hu ............................. 709/224
`
`
`
`6,178.460 B1 * 1/2001 Maddalozzo et al. ....... 709/239
`OTHER PUBLICATIONS
`Braun, H. et al., “Web traffic characterization: an assessment
`of the impact of caching documents from NCSA's web
`server, Computer Networks and ISDN Systems, vol. 28, No.
`1 (Dec. 1995).
`“CyberMedia Oil Change software: How it works' Business
`Wire May 14, 1996.
`* cited by examiner
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 1 of 5
`
`US 6,421,726 B1
`
`32
`
`MSP
`
`22
`
`30
`
`Delivery
`Site
`
`24
`
`Content
`Provider
`
`
`
`Content
`Provider
`
`28
`
`Delivery
`Site
`
`10
`
`26
`
`
`
`Delivery
`
`14
`
`SP
`
`18
`
`SP
`
`16
`
`
`
`54
`
`User
`Terminol
`
`20
`
`User
`Terminol
`
`38
`
`56
`
`Fig. 1
`
`
`
`
`
`
`
`12
`
`
`
`
`
`
`
`User
`Terminol
`Configuration
`Utility
`
`110
`112 CODEC 1
`CODEC 2
`1. CODEC 3
`Player Progrom
`
`
`
`Browser
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 2 of 5
`
`US 6,421,726 B1
`
`40
`
`Retrieve
`Delivery Site
`File
`
`Fig 2
`
`42
`
`
`
`44
`
`Connected?
`
`Moke
`Connection
`
`Perform
`Tests
`
`
`
`Collect ond
`Process Results
`
`Determine
`Best Delivery
`Site
`
`Send Results
`to MSP
`
`52
`
`54
`
`SOve
`Configuration
`information
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 3 of 5
`
`US 6,421,726 B1
`
`N
`
`N
`
`Prevent 98
`Transfer
`
`Show 100
`Bitmop
`
`60
`
`Y
`
`92
`
`Get Clip 94
`from
`Content Provider
`
`96
`
`Ploy Clip
`
`--
`
`Y
`Stop
`T
`Se
`
`2
`
`Extract 64
`Rating info
`
`66
`
`70
`
`N
`
`Rating
`Exist?
`Y
`Roting
`OK?
`
`Y
`
`Prevent 88
`Tronsfer
`
`
`
`74
`
`Clip
`On Disk?
`
`N
`Creote 18
`URL
`
`Most
`
`N
`Discord
`Clip
`
`5
`
`-
`FIQ.
`
`68
`
`72
`
`Y
`
`Ploy Clip
`
`
`
`84
`Move to
`Next Site
`N
`80
`Y
`Get Clip <CD
`
`
`
`Store 102
`Clip
`
`104
`Monage
`Doto Area
`
`Send 106
`Results to
`MSP
`
`108
`
`Play
`Clip
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 4 of 5
`
`US 6,421,726 B1
`
`120
`Lood Page
`
`122
`tood Script
`
`124
`Check CODEC
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 4
`
`128
`Creote URL
`
`130
`Modify URL
`
`152
`Downlood Clip
`
`134
`Ploy Clip
`
`142
`Select CODEC
`
`144
`Download
`CODEC
`
`
`
`146
`instol CODEC
`
`
`
`U.S. Patent
`
`Jul. 16, 2002
`
`Sheet 5 of 5
`
`US 6,421,726 B1
`
`160
`Lood Poge
`
`161
`Lood Script
`
`
`
`
`
`
`
`
`
`
`
`Retrieve 176
`Porometers
`
`178
`Check CODEC
`
`
`
`3D Redirector
`
`184
`Check for
`
`N
`
`Fig. 5
`
`Downlood
`Plug-in
`
`instol
`Plug-In
`
`
`
`
`
`186
`
`GD Creote URL
`
`190
`
`188
`Prompt User
`
`192
`Modify URL
`
`N
`
`198
`Prompt User
`
`
`
`Y
`
`Foil
`
`208
`
`194
`Download Clip
`
`206
`instol
`CODEC
`
`
`
`204
`Download
`CODEC
`
`202
`Select CODEC
`
`196
`Play Clip
`
`
`
`1
`SYSTEMAND METHOD FOR SELECTION
`AND RETRIEVAL OF DIVERSE TYPES OF
`VIDEO DATA ON A COMPUTER NETWORK
`
`This application claims priority under 35 U.S.C. S 119(e)
`from Provisional Application No. 60/039,086 filed on Mar.
`14, 1997.
`The invention relates to a system and method for dis
`tributed data Storage and retrieval, and more particularly, to
`a System and method whereby a user can acquire network
`performance information for a dynamic and distributed
`multipurpose network, and use this information to identify
`and Select optimum delivery sites or Servers from which to
`receive computer data, Specifically multimedia content, as
`well as to Select the particular type of multimedia content
`viewable by the user. Such delivery sites, servers, and
`content type are Selected So as to increase network capacity,
`distribute Server load, reduce transmission delays between
`the Server and the user, and reduce obstacles to viewing the
`multimedia content.
`
`15
`
`BACKGROUND OF THE INVENTION
`The Internet is a loose network of connected computers
`Spread throughout the World. A message can be sent from
`any computer on the Internet to any other by Specifying a
`destination address and passing the message from computer
`to computer via a Series of “hops. Each computer, router, or
`“node' on the Internet has a unique Internet address. When
`an intermediate computer or router receives a message in
`transit, the computer checks the intended destination of the
`message and passes it along accordingly.
`The Internet is growing, in terms of both size and
`Sophistication, at a rapid rate. In the past, most users of the
`Internet were academic, research, or institutional users; the
`Internet was primarily used at that time to transmit and
`receive electronic mail and network news and to allow
`transfer of computer files. However, Since the introduction
`of the World Wide Web (also known as the “Web” or the
`“WWW) several years ago, the Internet has begun to host
`increasing amounts of other types of data of general interest,
`namely representations of images, articles, etc.
`The Web protocol and language establish a graphical
`means to navigate the expanses of the Internet. “Web pages,”
`often consisting primarily of text and graphical material, are
`stored on numerous computers, known as “Web servers,”
`throughout the Internet. A Software program known as a
`“browser can be used to acceSS and View Web pages acroSS
`the Internet by Specifying the location (i.e. Internet address)
`of the desired Web page. When a Web page is accessed, its
`information is transmitted from the remote computer (server
`or delivery site), wherever in the world it may be located,
`acroSS the Internet, to the user.
`In recent times, the Web has begun to host highly sophis
`ticated types of multimedia content, Such as audio and Video
`data, and computer Software. Compared to first generation
`Web content, namely text and Still images, audio clips, Video
`clips, and Software programs have extremely high Storage
`and bandwidth requirements.
`Before a Video clip can be transmitted over a computer
`network, the clip must be digitized by encoding the Video's
`analog signal to “1s” and “Os.” In order to reduce the
`bandwidth required to transmit the digitized video, the video
`data Stream is frequently compressed. Video compression is
`a process by which redundant data is eliminated from the
`Video data Stream So that the overall Size of the data Stream
`is reduced. There are many different compression formats
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,421,726 B1
`
`2
`which are used to reduce video data Streams, e.g., MPEG,
`JPEG, H.261, Indeo, Cinepak, AVI, Quicktime, TrueMotion
`and Wavelet.
`Video clips received in a compressed format generally S
`must be decompressed before they can be viewed. Decom
`pression of a Video is commonly performed by a Video
`player “CODEC program, or COmpressor/DECompressor,
`often located at a user's multimedia terminal. Generally
`Speaking, a single CODEC program can only recognize and
`decompress a single compression format.
`When a video clip is stored for transmission in a format
`which can be decompressed by the CODEC at a user
`terminal, delivery of the Video clip to the user can proceed
`Smoothly. This is typically the Situation where a Subscription
`Service provides Video delivery over a confined network.
`The Service provides a Subscribing user with a preferred
`CODEC, and stores video clips in the compression format
`recognized by the provided CODEC.
`However, when a Service begins to make Video clips
`available over the Internet, it is more likely that the video
`clips will be requested by a non-Subscribing user whose
`multimedia terminal does not have the Service provider's
`preferred CODEC. In this case, if the user wishes to view the
`Video clips, he would be required to acquire or download a
`CODEC program capable of decompressing the desired
`video clip. Like video clip files, CODEC program files can
`be large files that take a long time to download. Moreover,
`a CODEC program can be difficult, time-consuming, or
`inconvenient to install onto the multimedia terminal. If a
`user is forced to download a CODEC program before he can
`play a Video file, he may be discouraged from pursuing that
`particular video request any further.
`At present, it is difficult, if not impossible, to provide
`Sustained high-Speed transmission of large audio/video files
`over a multi-node link on the Internet. Because the data is
`often transferred from afar, many factors can cause the delay
`or even loSS of parts or all of a transmission. It is generally
`not critical if a user experiences minor delays in receiving
`Small graphic or text files. However, it is recognized that
`real-time data Such as Video has very Specific and Stringent
`timing requirements for data transfer and display.
`Unfortunately, the present design of traditional Internet
`like data networks is based on the principle that delayS and
`Significant data transmission rate variations are acceptable
`for ordinary data (e.g. text and still images). Consequently,
`because of the high value of permitting access to text and
`graphical information from locations around the World, Such
`transmission defects are considered acceptable, and the base
`capacity of the Internet is somewhat “oversubscribed” to
`reduce data transmission costs. In other words, the timeli
`neSS of network data transmission has been significantly
`compromised in order to render relatively insignificant the
`aggregate cost of long distance communication connections.
`In order to Successfully transfer audio-video data acroSS a
`message-oriented network Such as the Internet, for any more
`than a few users, network resources should be committed in
`a manner facilitating timeliness of transmittal. A System
`using committed network resources generally cannot take
`advantage of the existing pricing Scheme of Shared networks
`like the Internet, Since it cannot participate in the sharing of
`network resources on a data packet by data packet basis.
`Video data must be transmitted to the exclusion of lower
`priority data. Transmission costs thus become significant,
`especially when the connection is "long distance' or when
`the connection is continued over an extended period of time.
`Another consequence of the timelineSS VS. cost compro
`mise discussed above has been the Seemingly indiscriminate
`
`
`
`US 6,421,726 B1
`
`15
`
`25
`
`3
`topographical design of the network. Since delays and
`throughput variations have traditionally been excused in
`favor of low cost, the configuration of the Internet infra
`Structure has also been driven by cost considerations.
`Accordingly, the interconnection efficiency of the network
`has rarely been considered. The rapid growth of real time
`data is changing this requirement.
`It is recognized that inadequate data transfer performance
`of time-Sensitive data on the Internet is typically caused by
`four factors: packet loSS, excessive Server utilization, the
`relatively low capacity of the network infrastructure, and
`inherent delays in the network hardware. Packet loss, in
`particular, is caused by inadequate infrastructure and lack of
`robustness in routing. The inherent delays are believed to be
`caused by, among other things, the lack of flow control
`between adjacent nodes in a multiple-node path on the
`Internet.
`Unlike Smaller text and graphic files, relatively large
`Video files can take Several minutes (or more) of
`“streaming,” or constant data flow. Consequently, the usual
`network performance problems are exacerbated. Network
`bandwidth, or the data-carrying capacity of a particular
`network, is limited. Thus, packet loSS and delays increase.
`Long delivery times consume a large amount of Server
`capacity for a long time, decreasing the resources available
`to other users. Accordingly, because the network infrastruc
`ture becomes increasingly congested, packet loSS and delayS
`continue to increase, transmission times rise, and Server load
`increases further.
`This pattern exemplifies a “downward spiral” of network
`performance, which can be driven by the attempted trans
`mission of large data files Such as Video clips. AS long as
`network traffic remains within the limits imposed by net
`work bandwidth, network performance will remain accept
`able. However, whenever peak network loads exceed
`capacity, the downward Spiral described above will begin,
`causing increasing periods of poor network performance.
`AS discussed above, a browser program can be used to
`access and View Web pages acroSS the Internet by Specifying
`40
`the location (i.e. Internet address) of the desired Web page,
`or more commonly, by “hotlinking” to Web pages. Common
`browsers are Lynx, NCSA Mosaic, Netscape Navigator, and
`Microsoft Internet Explorer. The desired Web page is speci
`fied by a uniform resource locator (“URL'), indicating the
`precise location of the file using the Syntax "http://
`internet.address/directory/filename.html.
`Web pages are generally described, in terms of layout and
`content, by way of a language known as “HTML
`(HyperText Markup Language). Any particular computer
`linked to the Internet can Store one or more Web pages, i.e.
`computer files in HTML format, for access by users.
`Hotlinking from one HTML Web page to another is
`accomplished as follows. The user first accesses a Web page
`having a known address, often on the computer located at
`the user's ISP (Internet Service Provider). The ISP is the
`organization providing Internet connectivity to the user. That
`Web page can contain, in addition to textual and visual data
`specified in HTML format, “links,” or embedded informa
`tion (in the form of URLs) pointing to the Internet addresses
`of other Web pages, often on other computers throughout the
`Internet. The user, by Selecting a link (often by pointing and
`clicking with a mouse), can then access other Web pages,
`which can in turn contain further data and/or additional
`linkS.
`Various extensions to HTML, such as Netscapes
`EMBED tag, allow references to other data to be embedded
`
`4
`into Web pages. Some browsers are not capable of handling
`data other than text and images. Other browsers can handle
`the data in various ways. NCSA Mosaic, for example,
`handles references to unknown types of data by allowing the
`data to be downloaded to the user's computer, and then
`optionally invoking an external program to View or manipu
`late the data. Recent releases of Netscape Navigator and
`MicroSoft Internet Explorer take the concept one Step fur
`ther: a browser extension, or "plug-in, can be automatically
`invoked to handle the data as it is received from the remote
`Web page. Other means, Such as network program “applets”
`written in the Java language (or a similar language), can be
`used to extend the functionality of the browser environment
`or network.
`Digital multimedia data can have eXtremely high Storage
`and bandwidth requirements. In particular, Video files can be
`very large, from approximately 10 megabytes to 10
`gigabytes. In order to play Video files at Speeds approaching
`their recorded rate at a user's terminal, the files have to be
`delivered at a fast, constant Speed. Too slow, and the image
`plays back slower than originally recorded. If the Speed is
`uneven, then the Video appears jerky, like an old-time movie.
`The network design compromises discussed above gen
`erally adversely impact the transmission of audio and Video
`data acroSS the Internet. While a user using a browser to
`“surf” the Web might not notice minor delays and transmis
`Sion rate variations while retrieving text and Still images,
`Such defects become apparent and Significant when real-time
`audio and Video information is accessed.
`In an attempt to Solve these problems, Internet content
`providerS Sometimes Spread popular content around the
`Internet on various Servers or delivery Sites known as
`“mirror sites.' Each mirror site contains information that is
`essentially identical to that of the original Site. For example,
`if a popular Web site is located in New York, mirror sites
`might be located in Los Angeles, London, and Tokyo.
`Accordingly, if a European user is having difficulty access
`ing the original New York site, he can hotlink to the mirror
`Site that is geographically closest, i.e. London.
`However, mirror Sites have Several disadvantages. For
`example, mirror Sites may be widely distributed
`geographically, but may not be efficiently distributed on the
`network in terms of actual usage, network traffic, etc. Thus,
`New York and Los Angeles mirror sites might both be
`connected to the same national Internet Service provider's
`network, meaning that difficulty in accessing one of the Sites
`might also affect the other.
`Furthermore, mirror Sites might not be optimally placed to
`reduce load on each Server. Although an “educated guess'
`might be made as to where a mirror Site should be located,
`actual usage patterns might differ. Furthermore, there is no
`guarantee of enhanced performance. The bandwidth of the
`mirror Site might be lower than that of the original Site, or
`it might be overloaded for other reasons.
`Moreover, mirror sites are often hosted on a voluntary
`basis. If a Web Site is extremely popular, and a Service
`provider determines that the Subject matter might be of
`interest to its Subscribers, that Service provider might agree
`to host a mirror site of the original Web site. Such an
`arrangement would be attractive to host of the mirror Site
`because people would be drawn to the mirror Site, and might
`hotlink to other content hosted there. On the other hand, Such
`Voluntary alliances typically are not reliable and might be
`Severed at any time.
`In essence, a mirror Site offers a Secondary Source for data,
`which may or may not be available, and which may improve
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`US 6,421,726 B1
`
`S
`user convenience, but which does not address network
`bandwidth or efficiency. A mirror Site does not account for
`performance characteristics of the network, nor identify
`available bandwidth which could be used to efficiently
`transmit Video data while Still taking advantage of the
`existing low-cost pricing Schemes Such as those on the
`Internet.
`Currently, there is no guidance in Selecting optimal loca
`tions for delivery sites, nor is there a known method per
`mitting a user to determine which mirror Site to connect to
`that will ensure optimum performance. In fact, the use of a
`traditional mirror Site is Voluntary. Typically, a user will try
`to access the original site (or a known mirror Site), and will
`Switch to another mirror Site only if performance is found to
`be insufficient after one or more attempts. This approach is
`an inefficient utilization of network resources. Clearly, mir
`ror Sites are not an optimum Solution to the problem of
`overloaded Web Sites. A principal reason for this, among
`others, is the failure to consider network performance.
`Network analysis, particularly the performance of Specific
`paths and linkS Over the Internet, is well known and devel
`oped. For example, the “ping program allows a computer
`connected to the Internet to determine whether a remote host
`is accessible. However, the ping program uses a low-priority
`network protocol known as the ICMP protocol, and accord
`ingly does not provide meaningful performance analysis
`information. The “traceroute” program follows the transmis
`Sion of a message from a computer to a remote host, tracking
`delays along each link, and determining the path taken by
`the message. The traceroute application can be used to map
`the flow of data. However, it lacks the ability to provide
`meaningful performance analysis information. Traceroute
`only provides route information for a message propagating
`in one direction, and only for one instant in time.
`Moreover, only the connectivity characteristics of paths
`leading to and from the Single computer running the tests are
`typically determined; expanding the Scope of testing is
`possible but logistically impracticable, Since the Internet is
`So large.
`Traditional network analysis techniques Such as the
`"ping and "traceroute' programs offer a view of network
`connectivity but provide little understanding of what per
`formance can be expected from providers and mirror Sites
`acroSS the Internet. Therefore, only "guesses' can be made
`as to where delivery or mirror sites should be located or
`which mirror Sites should be used to optimize performance.
`Since Video delivery over the Internet has quickly gained
`in popularity, a need exists for a System that can make Sure
`that a user's Video request can, in most cases, be satisfied by
`Video clip Stored in a compression format recognized by a
`CODEC on the user's terminal, thereby eliminating or
`reducing the user's need to download a new CODEC
`program.
`A further need exists for a method of determining overall
`network performance. A further need exists for a System
`applying that method to enable content providers to dynami
`cally locate data delivery or mirror Sites at optimum network
`locations, and to allow users to Select optimum mirror Sites
`from which to receive data.
`
`15
`
`25
`
`35
`
`40
`
`6
`for certain Web content to an optimum mirror site. A format
`Selection Scheme is used to automatically Select a Video clip
`file compressed in a format recognized by a CODEC pro
`gram already installed and operative on a user terminal.
`A number of “smart” delivery or mirror sites are used to
`distribute popular Web content to various parts of the
`Internet. A comprehensive Scheme of network analysis,
`based on tests performed by a large number of users, is used
`to interactively determine the preferred locations for the
`Sites, and to determine the optimum Sites to be used by each
`individual user.
`Accordingly, because each individual user is routed to a
`Smart Mirror or delivery site that provides improved
`performance, overall network congestion is reduced. In most
`cases, the improved Server is located electronically close to
`a user in order to decrease the number of network connec
`tions over which data must travel, thereby reducing packet
`loSS and delay.
`Furthermore, network analysis results allow message traf
`fic to be routed away from those delivery sites and network
`regions that are already overloaded, and toward underuti
`lized Servers and networks. This results in an improvement
`in throughput as Seen by each user, and will thereby increase
`the appeal of the content offered by content providers using
`the System. Content providers are able to reach a larger
`number of users acroSS the Internet without Suffering Sig
`nificant decreases in performance.
`A System according to the invention begins with an
`original Web site and at least one additional delivery (or
`mirror) site. Each user desiring to use the System will be
`provided, in a preferred embodiment, with software which
`includes a configuration utility and a client program. The
`configuration utility is used first to determine which delivery
`SiteS provide improved performance for that particular user.
`In one embodiment of the invention, the configuration
`utility first downloads a “delivery site file” from a service
`provider. This delivery site file contains a list of available
`delivery sites and a list of network tests to be run. The types
`of tests and frequency of testing to be performed may be
`Specified in the delivery site file, as dependent on the number
`of users testing the network and the estimated drain on
`network or delivery System capacity.
`The configuration utility will run a subset of the tests
`specified in the delivery site file. The test results show which
`delivery sites yield improved performance for the user, and
`also contain information on various generalized network
`capabilities from the Standpoint of the user running the tests.
`The network test results and the identity of the chosen
`delivery site will be sent (via e-mail in one possible
`configuration) back to the delivery Service provider for
`incorporation into the Service provider's database.
`The delivery site chosen by the configuration utility is
`then used by that user for the retrieval of all content
`managed by the delivery System Service provider.
`Consequently, when the user is browsing Web content, and
`finds a particular item, e.g. a video clip, that is managed by
`the Service provider's delivery System, the client Software
`will automatically retrieve it from the specified “Smart
`Mirror” delivery site. Site preferences and default sites can
`be updated periodically on request, at Specified times, or in
`response to changes in network load and traffic.
`Moreover, because the configuration utility of the inven
`tion is performing various network tests and providing the
`test results to the Service provider, Valuable data on System
`and network performance is available. Such data provides
`information on which “Smart Mirror” delivery sites are
`
`45
`
`50
`
`55
`
`60
`
`SUMMARY OF THE INVENTION
`The invention is directed to a system and method for the
`optimized distribution of Web content to and from sites
`located around the Internet. An intelligent mirroring Scheme,
`called here “Smart Mirroring,” is used to determine the need
`for and distribution of mirror Sites and to direct user requests
`
`65
`
`
`
`7
`performing effectively and which are not, which Smart
`Mirror delivery sites are overloaded, and what portions of
`the Internet might benefit from the addition of more delivery
`Sites or capacity.
`Such data also makes it possible to perform Such Sophis
`ticated network analysis as end-to-end performance
`measurements, workload characterization, route Stability,
`and outage metrics. Thus, from an engineering Standpoint,
`the mirror Service provider can continue to ensure that
`improved performance is being provided. From a marketing
`perspective, content providers can be told where to locate
`Smart Mirror or delivery sites for improved performance,
`and what ISP provides improved delivery.
`A Web page hosting an embedded Video clip also includes
`code to activate the Smart Mirroring and format Selection
`Schemes. Accordingly, a Video clip Selection and retrieval
`System according to the invention Stores each Video clip at
`various locations in a number of different compression
`formats. A format Selection module comprises Software
`programs that instruct the user terminal to determine which
`CODEC programs are installed at a user terminal, Select a
`preferred CODEC for use, locate video clips stored in a
`compression format recognized by the preferred CODEC,
`and redirect or modify a Video request So the video delivery
`System can locate and retrieve the desired clip. Where no
`appropriate CODEC is detected, the format selection mod
`25
`ule prompts the user to download and install a preferred
`CODEC.
`In a first embodiment of the format selection module, a
`Video clip is Stored in a number of different compression
`formats at individual delivery sites connected to the Internet.
`The Video clip and its address are referenced on a Web page
`providing access to the Server. The Web page also contains
`an embedded Software program for querying the user ter
`minal to determine what CODECs are installed at the
`terminal. The embedded program is automatically executed
`35
`when the user requests a Video clip which is referenced on
`the Web page. If the query detects the presence of a CODEC
`that can decompress a video clip Stored by one of the Servers,
`the embedded program will select that CODEC and request
`the appropriate Video clip.
`In a Second embodiment of the format Selection module,
`a relatively Small program is installed on the browser as a
`“plug-in” or the like. The “plug-in” embodiment performs
`the same functions as the embedded Software program
`described in the preceding embodiment and has the added
`functionality of interacting with the Smart Mirror facilities
`discussed above.
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a block diagram of an illustrative network
`topology of a System according to the invention, including
`multiple users and multiple content providers,
`FIG. 2 is a flowchart describing the operation of the
`configuration utility used in a System according to the
`invention;
`FIG. 3 is a flowchart describing the operation of a client
`program used in a System according to the invention;
`FIG. 4 is a flowchart describing the operation of an
`embedded program embodiment of the format Selection
`module according to the invention; and
`FIG. 5 is a flowchart describing the operation of a
`“plug-in” embodiment of the format selection module
`according to the invention.
`DETAILED DESCRIPTION OF THE
`INVENTION
`The invention is described below, with reference to
`detailed illustrative embodiments. It will be apparent that the
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,