Note : Les descriptions sont présentées dans la langue officielle dans laquelle elles ont été soumises.
CA 02290431 1999-11-17
WO 98/53411 PCT/US98/10567
A SYSTEM AND METHOD FOR OPTIMIZING THE DELIVERY
OF AUDIO AND VIDEO DATA OVER A COMPUTER NETWORK
The invention relates to a system and method for optimizing
the retrieval and playback of audio and video data
distributed via the Internet. More particularly, this
invention is directed to a software tool which allows the
user to: (a) select optimum delivery sites for more rapid
to and erro r free delivery of audio/video data; (b) download
audio/video player software from distributed Internet
servers; (c) detect and update multimedia software
components; and (d) provide easy access to enriched
audio/video content.
BACKGROUND OF THE INVENTION
The Internet is a loose network of connected computers
spread throughout the world. A message can be sent from any
2o 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, or "node,"
on the Internet has a unique Internet address. When an
intermediate computer receives a message in transit, the
' CA 02290431 1999-11-17
- WO 98/53411 PCT/US98/10567
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 presents a graphical user interface to the Internet.
"Web pages," often consisting primarily of text and
graphical material, are stored on numerous computers, known
as "Web servers," throughout the Internet. These 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.
2
r
CA 02290431 1999-11-17
WO 98/53411 PCT/US98/10567
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, or more commonly, by "hotlinking" to Web pages. Two
of the most popular browsers are Microsoft Internet
Explorer, and Netscape Navigator. The desired Web page is
specified by a uniform resource locator ("URL"), indicating
the precise location of the HTML file in the format
"http://Internet.address/directory/filename.html".
Hotlinking 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 information (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. When a Web
page is accessed, its information is transmitted from the
remote computer, wherever in the world it may be located,
across the Internet, to the user.
3
I
CA 02290431 1999-11-17
WO 98/53411 PCT/US98/10567
In recent times, the Web has begun to host highly
sophisticated types of multimedia content, such as audio and
video data. Various extensions to HTML, such as Netscape's
EMBED tag, allow references to other data to be embedded
into Web pages. External programs, or "plug-ins," to the
browsers can be automatically invoked to handle the data as
it is received from the remote Web page.
Compared to first generation Web content, namely text and
l0 still images, audio and video data have extremely high
storage and bandwidth requirements. In particular, video
files can be very large, from approximately 10 megabytes to
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.
2o At present, it is difficult, if not impossible, to provide
sustained high-speed transmission of large files over a
mufti-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
4
r. , T
CA 02290431 1999-11-17
WU 98/53411 PCT/US98/10567
small graphic or text files. However, real time data such
as video, has very specific and stringent transfer and
display timing requirements. Similarly, software plug-ins
or external programs must be received and downloaded intact
in order to be functional. This attribute, combined with
the rapid growth of the Web and the Internet in general, has
led to several problems.
There is now a high and increasing volume of Internet
to traffic caused by Web page access, and the demand for
bandwidth threatens to exceed supply. Furthermore, certain
content on the Web is extremely popular. Because current
Internet technology provides Web pages from specific or
"dedicated" remote site or servers, the most popular sites
are often overloaded. According to current Internet
technology, each response to a user request is transmitted
separately. In other words, if one hundred users request
transmission of the same Web page at the same time, one
hundred separate transmissions must be made to these users.
2o Because many of these popular Web pages are often being
transmitted across many nodes on the Internet, there can be
substantial duplication, delays and lost requests, for both
the requested data and other, unrelated data being
transmitted over the same routes. If a Web server
containing video data receives many simultaneous requests
5
' CA 02290431 1999-11-17
WO 98/53411 PCT/US98/10567
for its ability to transfer all of the files at full speed
is impaired.
It is recognized that inadequate data transfer performance
of real time data on the Internet is typically caused by
three factors: packet loss, excessive server utilization,
and the relatively low capacity of the network
infrastructure. Packet loss, in particular, is caused by
inadequate network~infrastructure and lack of robustness in
routing.
Unlike smaller text and graphic files, relatively large
video files can take several minutes (or more) of constant
data flow so the usual network performance problems are
exacerbated. Network bandwidth, or the data-carrying
capacity of a particular network, is limited. Consequently,
packet loss increases. 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 infrastructure becomes increasingly congested,
packet loss continues to increase, transmission times rise,
and server load increases further.
This pattern exemplifies a "downward spiral" of network
performance driven by the attempted transmission of large
6
r.. , t
CA 02290431 1999-11-17
- WO 98/53411 PCT/US98/10567
amounts of video-type data traffic. As long as network
traffic remains within the limits imposed by network
bandwidth, network performance will remain acceptable.
However, whenever peak network loads exceed capacity, the
downward spiral described above will begin, causing
increasing periods of poor network performance.
In an attempt to solve some of the foregoing problems,
content providers will spread popular content around the
l0 Internet on various servers or delivery sites known as
"mirror sites." Each mirror site contains information that
is 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
accessing the New York original site, he can hotlink to the
mirror site that is geographically closest, i.e. London.
However, mirror sites are not necessarily ideally placed on
the network. Although mirror sites may be geographically
widely distributed, they might not be sufficiently separated
on the network. Returning to the foregoing example, the New
York original Web site and the Los Angeles mirror site might
both be connected to the same national Internet service
7
' CA 02290431 1999-11-17
- WO 98153411 PCT/US98/10567
provider's network. If that is the case, then difficulty in
accessing one of the sites might also affect another.
Furthermore, the 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 b'e lower than that of the original site,
or it might be overloaded for other reasons.
Understanding the dynamics and performance variables of the
network providing connectivity between the user and servers
could provide insight into the proper placement of data
delivery sites, including mirror sites. Large disparities
have been observed in the rate of data transmission between
a user and different mirror sites. This observation
provides some evidence that mirror sites, and delivery sites
in general, are not ideally placed or utilized and that
2o existing Internet resources are not used as efficiently as
is possible. If the performance characteristics of the
network were better understood, it might be possible to
identify available bandwidth on the Internet which could be
used to efficiently transmit video data while still taking
8
r. , 1
CA 02290431 1999-11-17
- WO 98153411 PCT1US98110567
advantage of the existing low cost pricing scheme of the
Internet.
Currently, there is no guidance in selecting optimal
locations for delivery or mirror sites or methodology that
permits a user to determine which mirror site to connect to
that will ensure optimum performance. Traditional network
analysis techniques such as the "ping" and "traceroute"
programs offer a view of network connectivity but provide
t0 little understanding of what performance can be expected
from providers and mirror sites across the Internet.
Therefore, only "educated guesses" can be made as to where
delivery or mirror sites should be located or which mirror
sites should be used to optimize performance. Accordingly,
a need exists for a method of determining overall network
performance and applying that method in a system which
enables content providers to locate delivery or mirror sites
at optimum locations and users to select optimum mirror
sites so that the transmission and delivery of audio/video
2o data and multimedia software over the Internet can be
optimized.
Another problem not resolved by the optimum placement of
mirror or delivery sites relates to the distribution and
storage of audio/video data and multimedia software programs
9
' CA 02290431 1999-11-17
- WO 98/53411 PCT/US98/10567
for retrieving and playing back audio/video data. Before a
video can be transmitted over a computer network, the video
must be digitized by encoding the video's analog signal to
"ls" and "Os." In order to reduce the bandwidth required to
transmit the digitized video, the video data stream is
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 which are used to
l0 reduce video data streams, i.a., MPEG, JPEG, H261, Indeo,
Cinepak, AVI, Quicktime, TrueMotion and Wavelet.
Videos which are transmitted and received in a compressed
format must be decompressed before they can be viewed.
Decompression of a video is done by a video player codec
located at a user's multimedia terminal, usually as a plug-
in to the browser. A codec can only recognize and
decompress a single compression format.
When the video clip requested by a user is stored for
transmission in a format which can be decompressed by the
codec at the 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 will provide
CA 02290431 1999-11-17
WO 98/53411 PCT/US98/10567
the subscribing user with a preferred codec and then store
video clips in the same compression format recognized by
that codec.
When the 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 a codec that recognizes the
compression format ~in which the video clips are stored. If
i0 this is the case, the user's video request must be
redirected to a video clip stored in a compression format
recognized by the user's codec or the user must acquire or
download a codec program which is capable of decompressing
the desired video clip. In many cases, the video request
cannot be redirected to a video clip with a recognizable
format because video clips are not stored in a variety of
compression formats due to their large size and the limited
storage capacity of the server. In this situation,
downloading a new codec is the only alternative.
A codec program is usually accessible via a link embedded in
the web page referencing the requested video. Thus, it is
possible to select and download the codec program via the
Internet. When a user requests a video clip referenced on a
web page, the web page usually.prompts the user to acquire
11
' CA 02290431 1999-11-17
- WO 98/53411 PCT/US98/10567
the codec necessary to decompress the format of the
requested video. In order to acquire the codec, the user is
forced to jump to a different web page, find the codec,
download and install the codec and then try to relocate the
web page with the link to the originally requested video
file. Each time the user selects a video in a format not
recognized by a codec at the user's terminal,~the process
must be repeated. Thus, it is possible that a user terminal
may ultimately store a number of different codecs in
memory.
Most video content providers are constantly enhancing the
performance characteristics of their video data and as they
do, the codecs which recognize those videos are updated to
take advantage of the video enhancement features. In order
for a user to determine whether or not her codec needs to be
updated or whether an upgraded version of the codec has been
released, the user must locate the web page of the codec
provider, compare the information on that page with his own
2o system properties, determine whether he has the latest
update or version and then proceed with downloading the
latest update or version to the user's terminal. If the
user wants to keep his multimedia software updated, this
process must be repeated for each of the codecs stored in
memory.
12
. 1
CA 02290431 1999-11-17
WO 98/53411 PCT/US98/10567
Finally, enriched or enhanced video files are distributed
randomly across the Internet at the discretion of the
content provider. There is no single source viewer's guide
that advises the user of the location of enhanced video
files or the availability of improved multimedia software
that can be used to view enhanced video files nor a single
source program that enables the user to access all of the
data. Web pages embedding references to video files are
l0 usually encountered by chance when a user "surfs" the
Internet. If a user finds a web page referencing a video
file and opens it, he may encounter a link to a content
provider or video delivery service that provides access to a
list of videos in a particular compression format and a link
to a codec that can be used to view the videos carried by
that provider. However, these content providers do not
store videos and codecs in multiple formats and they do not
provide links to differently formatted video content or
multimedia software stored at other sites around the
Internet.
Thus, a need can be seen for a solution that deals with all
of the aforementioned problems in a comprehensive way such
that improved access to the best video content is assured
and the user's enjoyment of Internet-delivered audio and
13
I CA 02290431 1999-11-17
- WO 98/53411 PCT/US98/10567
video is maximized. Accordingly, a solution is provided
herein by way of the following described invention.
SUMMARY OF THE INVENTION
A system and method is provided whereby a primary software
program encoded on computer readable medium can be accessed
via a link embedded on a web page referencing a video clip.
When the user accesses the web page with the embedded link,
to the user~can download the primary program to the user's
terminal and use its functionality to: (a) download and
launch a software tool which conducts network tests for
locating servers that are "electronically close" to the user
so that audio or video data and multimedia software can be
delivered to the user via a high performance network
connection; (b) download multimedia software from
distributed servers on the Internet and install the software
to a user's terminal; (c) analyze and update multimedia
software at the user terminal including the primary program
2o and the network testing software tool ; and (d) direct the
user to audio/video data, multimedia software and software
updates distributed on servers throughout the Internet.
When the user accesses a web page referencing the primary
program, a script component of the primary program embedded
14
~. , T
CA 02290431 1999-11-17
WO 98/53411 PCT/US98/10567
in the web page query's the user's browser and system
components to detect for the presence of the network testing
software tool. If the tool is not detected, the user will
be queried by the page to download the primary program for
the purpose of optimizing the user's video delivery system
components. If the user elects to download the primary
program, the program can be downloaded as a plug-in to the
browser or as a stand-alone program.
l0 After downloading, the primary program will initially
install and launch the network testing software tool which
will be used to locate servers that are "electronically
close" to the user terminal. The primary program will
download a "delivery site file" from a multimedia database
manager maintained by the service provider to the network
testing tool. The delivery site file will contain a list of
server sites that store multimedia software and upgrades
that will be used by the primary program to upgrade the
user's multimedia system components. Whenever the user
elects to upgrade or install multimedia components to his
system the primary program will activate the network testing
tool and the tool will conduct a series of network
performance tests to determine from the list of servers
storing the data required by the primary program, which
CA 02290431 1999-11-17
WO 98/53411 PCT/US98/10567
server can deliver the necessary data over the least
congested network path to the user's terminal.
The primary program will also comprise a multimedia software
upgrade file (MSU) which is downloaded from the multimedia
database manager of the service provider. The MSU file
contains a list of multimedia software and upgrades located
on the Internet and a list of servers from which the data
can be obtained.
to
After installation of the network testing tool is complete,
the primary program will analyze the user's system resources
to determine what multimedia software is stored by the
system. The primary program can compare the list of the
user's multimedia software with the list of software
upgrades contained in the primary program's MSU files.
Based on this comparison, the primary program can advise the
user as to the availability of upgrades which can be used to
enhance multimedia software pre-existing on the user's
terminal and also the availability of new multimedia
software that is not present on the user's system. The user
then has the option to upgrade her existing multimedia
software or download new multimedia software. If the user
requests new software or software upgrades, the primary
program will use the network testing tool to determine the
16
.. , T
CA 02290431 1999-11-17
WO 98/53411 PCT/US98/10567
best server site to retrieve the data from. Once the
primary program receives the data, the primary program will
install the software or software upgrades on the user's
terminal.
The primary program can determine what aspects of the
upgrades or software programs are required for functionality
and selectively install only those attributes thus
conserving storage space. In some cases, the primary
l0 program may uninstall old software and install a new version
of the software rather than an upgrade if doing so
facilitates the download and installation of multimedia
software in a way that is transparent to the user. In cases
where the primary program must close and reopen the browser
to permit the installation of software, the primary program
will reopen the browser and bring the user back to the web
page containing the original video request.
In order to encourage the user to run the primary program
and upgrade his existing multimedia software or install new
software, the primary program will provide a link to a "most
recent release" video directory maintained by the multimedia
database manager. The video directory will provide links to
video data stored anywhere on the Internet. Each video
reference in the directory will indicate the types of
17
CA 02290431 1999-11-17
WO 98/53411 PCT/US98I10567
software, i.e., player codecs necessary to view that video.
By referencing the list, the user can determine what type of
multimedia software to store on his system.
Once the user has upgraded his multimedia system components
and selects a video from the video directory maintained by
the multimedia database manager, the multimedia database
manager will download a video delivery site file to the
network testing tool. The delivery site file will contain a
list of servers that store the requested video and a list of
network performance tests to run. The network testing tool
will then conduct the network performance tests and
determine which server can deliver the video over the least
congested route. The video is then downloaded to the user's
terminal and viewed on the updated player software.
The multimedia database manager maintains an updated list of
all multimedia software upgrades and video available on the
Internet. Each time the user elects to run the primary
2o program, the primary program will download the updated list
from the multimedia database manager, compare the list to
the system components previously installed and advise the
user of any upgrades that could be installed. Once the
system test is complete, the primary program will direct the
user to the updated video directory maintained by the
18
r , T
CA 02290431 1999-11-17
- WO 98/53411 PCT/US98/10567
multimedia database manager so the. user can select a video.
In this way, the user is assured of receiving the best and
most enriched video in the fastest most efficient way
possible.
19