WO1998053411A1 - A system and method for optimizing the delivery of audio and video data over a computer network - Google Patents

A system and method for optimizing the delivery of audio and video data over a computer network Download PDF

Info

Publication number
WO1998053411A1
WO1998053411A1 PCT/US1998/010567 US9810567W WO9853411A1 WO 1998053411 A1 WO1998053411 A1 WO 1998053411A1 US 9810567 W US9810567 W US 9810567W WO 9853411 A1 WO9853411 A1 WO 9853411A1
Authority
WO
WIPO (PCT)
Prior art keywords
user terminal
network
servers
digital content
digital
Prior art date
Application number
PCT/US1998/010567
Other languages
French (fr)
Inventor
Brian Kenner
Kenneth W. Colby
Lonnie Brownell
Original Assignee
Intervu, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intervu, Inc. filed Critical Intervu, Inc.
Priority to CA002290431A priority Critical patent/CA2290431A1/en
Priority to AU75937/98A priority patent/AU7593798A/en
Priority to EP98923709A priority patent/EP0983559A1/en
Priority to JP55071298A priority patent/JP2002502523A/en
Publication of WO1998053411A1 publication Critical patent/WO1998053411A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1038Load balancing arrangements to avoid a single path through a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • 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 and error ' 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.
  • 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, or "node,” on the Internet has a unique Internet address.
  • 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.
  • 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) .
  • 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.
  • 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” .
  • URL uniform resource locator
  • 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.
  • video files can be very large, from approximately 10 megabytes to 10 gigabytes.
  • the files 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.
  • This pattern exemplifies a "downward spiral" of network performance driven by the attempted transmission of large 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.
  • 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.
  • 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 provider's network. If that is the case, then difficulty in accessing one of the sites might also affect another.
  • 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 be lower than that of the original site, or it might be overloaded for other reasons.
  • 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.
  • compression formats which are used to reduce video data streams, i.e., MPEG, JPEG, H261, Indeo, Cinepak, AVI, Quicktime, TrueMotion and Wavelet.
  • 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.
  • 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 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.
  • the web page usually prompts the user to acquire the codec necessary to decompress the format of the requested video.
  • 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.
  • the process must be repeated.
  • a user terminal may ultimately store a number of different codecs in memory.
  • a system and method 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.
  • 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 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.
  • a script component of the primary program embedded 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.
  • the primary program 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.
  • 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 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.
  • MSU multimedia software upgrade file
  • 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.
  • the primary program 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 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 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.
  • 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 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.
  • 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.
  • 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.
  • the primary program will direct the user to the updated video directory maintained by the 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.

Abstract

Method and apparatus for optimizing delivery of digital content over a computer network. A user specifies through his browser the audio and video data he wants to playback on his screen. A plurality of servers on the network is presented to him, each of which containing at least one copy of specified digital content in at least one digital format. Relative electronic distance over the network between the user terminal and the identified servers are also given to the user in order to let him select one identified server having specified digital content in a designated format and which is determined to be electronically close to the user terminal.

Description

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 and error' 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 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 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. 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. 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 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 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.
At present, it is difficult, if not impossible, to provide sustained high-speed transmission of large 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, 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 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. 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 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 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 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 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 be 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 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 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 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 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 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 "Is" 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 reduce video data streams, i.e., 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 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 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 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 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. 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 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 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, 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 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 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.
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 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.
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 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 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 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 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 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.

Claims

WE CLAIM:
1. A method of optimizing delivery of digital content over a computer network comprising the steps of: specifying digital content for delivery to a user terminal over a computer network; identifying a plurality of servers on the network, each of which has at least one copy of specified digital content in at least one digital format; determining the relative electronic distance over the network between the user terminal and one or more identified servers; selecting at least one identified server that is determined to be electronically close to the user terminal; and delivering specified digital content over the network from at least one selected server to the user terminal.
2. A method of claim 1, additionally comprising the step of designating a digital format from a set of formats, and wherein specified digital content is delivered in that format.
3. A method of claim 2, wherein the set of digital formats is provided by querying at least one database of available formats.
4. A method according to claim 3, wherein a database indicates the digital formats of the copies of specified digital content on each of the identified servers.
5. A method according to claim 3, wherein a database indicates the digital formats which can be interpreted at the user terminal.
6. A method according to claim 4, wherein a database indicates the digital formats which can be interpreted at the user terminal.
7. A method according to claim 2, wherein the set of digital formats comprises the formats which can be interpreted at the user terminal.
8. A method according to claim 2, wherein the set of digital formats comprises the formats of the copies of specified digital content on each of the identified servers.
9. A method according to claim 2, wherein the set of digital formats comprises the formats which can be interpreted at the user terminal.
10. A method according to claim 2, wherein the set of digital formats comprises those formats of the copies of specified digital content on each of the identified servers which can be interpreted at the user terminal.
11. A method of optimizing delivery of digital content over a computer network comprising the steps of: specifying digital content for delivery to a user terminal over a computer network; identifying a plurality of servers on the network, each of which has at least one copy of specified digital content in at least one digital format; designating a digital format from a set of available formats; determining the relative electronic distance over the network between the user terminal and one or more identified servers; selecting at least one identified server having specified digital content in a designated format, and which is determined to be electronically close to the user terminal; and delivering specified digital content in a designated format and over the network, from at least one selected server to the user terminal.
12. A method of claim 11, wherein a set of available formats is established by indicating each of the formats of the copies of specified digital content on the identified servers.
13. A method of claim 12, wherein a designated digital format is an available format which can be interpreted by the user terminal.
14. A method of claim 11, additionally comprising the steps of querying at least one local storage device accessible to the user terminal for a compatible codec which can interpret a designated format.
15. A method of claim 14, additionally comprising supplying at least one compatible codec from a source selected from the group consisting of a local storage device accessible to the user terminal and a server on the network.
16. A method of claim 11, additionally comprising querying at least one storage device accessible to the user terminal for a compatible codec which can interpret a designated format; querying at least one server on the network for a compatible codec which can interpret a designated format; and supplying at least one compatible codec from a source selected from the group consisting of a local storage device accessible to the user terminal and a server on the network.
17. A method according to claim 16, additionally comprising identifying a plurality of servers having a compatible codec; determining the relative electronic distance over the network between the user terminal and one or more identified servers having compatible codecs; selecting at least one identified server having a compatible codec and which is determined to be electronically close to the user terminal; and delivering the codec over the network, from at least one selected server to the user terminal.
18. A method according to claim 16, wherein a compatible codec is supplied from a server when a compatible codec is not found on an accessible local storage device.
19. A method according to claim 16, wherein a compatible codec is updated from a server on the network.
20. A method according to any of claims 1, 2, and 11 wherein the digital content is selected from the group consisting of software, audio content, visual content, graphic content, text content, and any combination thereof.
21. A method according to any of claims 1, 2 , and 11 wherein the network is the world wide web.
22. A method according claim 1 wherein the step of specifying digital content includes the step of querying a database of available content.
23. A method according claim 2 wherein the step of specifying digital content includes the step of querying a database of available content.
24. A method according claim 11 wherein the step of specifying digital content includes the step of querying a database of available content.
25. A method according to claim 1 wherein the step of identifying a plurality of servers includes the step of querying a database of available servers.
26. A method according to claim 2 wherein the step of identifying a plurality of servers includes the step of querying a database of available servers.
27. A method according to claim 11 wherein the step of identifying a plurality of servers includes the step of querying a database of available servers.
28. A method according to claim 1 wherein the determining step includes the step of delivering a test file over the network from at least one identified server to the user terminal.
29. A method according to claim 2 wherein the determining step includes the step of delivering a test file over the network from at least one identified server to the user terminal.
30. A method according to claim 11 wherein the determining step includes the step of delivering a test file over the network from at least one identified server to the user terminal.
31. A method according to claim 30, wherein electronic distance is determined at least in part by evaluating delivery of the test file for one or both of speed and accuracy.
32. A system for optimizing delivery of digital content over a computer network comprising: a user terminal in contact with a computer network and having a record of specified digital content for delivery to the user terminal; a plurality of servers on the network, each of which is identified as having at least one copy of specified digital content in at least one digital format; a testing tool for determining the relative electronic distance over the network between the user terminal and one or more identified servers; and a downloading tool for delivering digital content from one or more servers on the network to the user terminal.
33. A system according to claim 32, additionally comprising at least one of a database of available digital content and a database of available digital formats.
34. A system according to claim 32, additionally comprising a test file on each of the identified servers.
35. A system according to claim 34, wherein the testing tool employs a downloading tool to deliver the test file from at least one identified server to the user terminal.
36. A system according to claim 35, wherein one or both of the speed and accuracy of delivering the test file is evaluated.
37. A system according to claim 32, wherein the network is the world wide web and the downloading tool comprises internet browser software.
38. A system according to claim 32, wherein the digital content is selected from the group consisting of software, audio content, visual content, graphic content, text content, and any combination thereof.
39. A system according to claim 32, wherein the digital content comprises comprises a compatible codec which can interpret at least one digital format of the designated digital data.
40. A system according to claim 39, wherein a compatible codec is delivered from an identified server to a local storage device accessible to the user terminal.
PCT/US1998/010567 1997-05-19 1998-05-19 A system and method for optimizing the delivery of audio and video data over a computer network WO1998053411A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CA002290431A CA2290431A1 (en) 1997-05-19 1998-05-19 A system and method for optimizing the delivery of audio and video data over a computer network
AU75937/98A AU7593798A (en) 1997-05-19 1998-05-19 A system and method for optimizing the delivery of audio and video data over a computer network
EP98923709A EP0983559A1 (en) 1997-05-19 1998-05-19 A system and method for optimizing the delivery of audio and video data over a computer network
JP55071298A JP2002502523A (en) 1997-05-19 1998-05-19 System and method for optimally delivering audio and video data over a computer network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US4711397P 1997-05-19 1997-05-19
US60/047,113 1997-05-19

Publications (1)

Publication Number Publication Date
WO1998053411A1 true WO1998053411A1 (en) 1998-11-26

Family

ID=21947133

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/010567 WO1998053411A1 (en) 1997-05-19 1998-05-19 A system and method for optimizing the delivery of audio and video data over a computer network

Country Status (6)

Country Link
EP (1) EP0983559A1 (en)
JP (1) JP2002502523A (en)
CN (1) CN1260889A (en)
AU (1) AU7593798A (en)
CA (1) CA2290431A1 (en)
WO (1) WO1998053411A1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000076221A1 (en) * 1999-06-07 2000-12-14 Iviewit Holdings, Inc. System and method for video playback over a network
DE10006838A1 (en) * 2000-02-12 2001-08-30 Bernd Joachim Siegle Digitized film distribution in Internet/data network, involves transmitting film from user to PC or other receiver
WO2001095586A2 (en) * 2000-06-06 2001-12-13 Valueflash.Com, Inc. System and method for disseminating information over a communication network according to predefined consumer profiles
US6356908B1 (en) 1999-07-30 2002-03-12 International Business Machines Corporation Automatic web page thumbnail generation
US6405192B1 (en) 1999-07-30 2002-06-11 International Business Machines Corporation Navigation assistant-method and apparatus for providing user configured complementary information for data browsing in a viewer context
JP2002342195A (en) * 2001-05-14 2002-11-29 Telecommunication Advancement Organization Of Japan Method and system for providing information service
EP1344118A2 (en) * 2000-11-30 2003-09-17 Alteon Websystems, Inc. A method and apparatus for discovering client proximity using multiple http redirects
EP1483669A1 (en) * 2002-02-25 2004-12-08 Oak Technology, Inc. System and method for providing network connectivity to a common embedded interface by simulating the embedded interface
US7073121B2 (en) 1999-07-30 2006-07-04 International Business Machines Corporation Web page thumbnails and user configured complementary information provided from a server
CN1311382C (en) * 1999-03-09 2007-04-18 索尼公司 Information distribution system
US7505889B2 (en) 2002-02-25 2009-03-17 Zoran Corporation Transcoding media system
US8584249B2 (en) 2003-05-16 2013-11-12 Phu Sang Ltd., Llc System for preventing unauthorized use of digital content

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001294749A1 (en) * 2000-09-27 2002-04-08 Thomson Licensing S.A. Architecture for optimizing audio and video output states for multimedia devices
US8510644B2 (en) * 2011-10-20 2013-08-13 Google Inc. Optimization of web page content including video
CN112055074A (en) * 2020-09-02 2020-12-08 深圳小马洛可科技有限公司 5G Internet of things large-scale display screen management method and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996041285A1 (en) * 1995-06-07 1996-12-19 Intervu, Inc. System and method for delivery of video data over a computer network
WO1998040831A1 (en) * 1997-03-14 1998-09-17 Intervu, Inc. System and method for selection and retrieval of diverse types opf video data on a computer network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996041285A1 (en) * 1995-06-07 1996-12-19 Intervu, Inc. System and method for delivery of video data over a computer network
WO1998040831A1 (en) * 1997-03-14 1998-09-17 Intervu, Inc. System and method for selection and retrieval of diverse types opf video data on a computer network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BERRA P B ET AL: "ARCHITECTURE FOR DISTRIBUTED MULTIMEDIA DATABASE SYSTEMS", COMPUTER COMMUNICATIONS, vol. 13, no. 4, 1 May 1990 (1990-05-01), pages 217 - 231, XP000126283 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1311382C (en) * 1999-03-09 2007-04-18 索尼公司 Information distribution system
WO2000076221A1 (en) * 1999-06-07 2000-12-14 Iviewit Holdings, Inc. System and method for video playback over a network
US7167875B2 (en) 1999-07-30 2007-01-23 International Business Machines Corporation Web page thumbnails and user configured complementary information provided from a server
US7073121B2 (en) 1999-07-30 2006-07-04 International Business Machines Corporation Web page thumbnails and user configured complementary information provided from a server
US6405192B1 (en) 1999-07-30 2002-06-11 International Business Machines Corporation Navigation assistant-method and apparatus for providing user configured complementary information for data browsing in a viewer context
US7840894B2 (en) 1999-07-30 2010-11-23 International Business Machines Corporation Web page thumbnails and user configured complementary information provided from a server
US6356908B1 (en) 1999-07-30 2002-03-12 International Business Machines Corporation Automatic web page thumbnail generation
DE10006838A1 (en) * 2000-02-12 2001-08-30 Bernd Joachim Siegle Digitized film distribution in Internet/data network, involves transmitting film from user to PC or other receiver
WO2001095586A3 (en) * 2000-06-06 2002-08-01 Valueflash Com Inc System and method for disseminating information over a communication network according to predefined consumer profiles
WO2001095586A2 (en) * 2000-06-06 2001-12-13 Valueflash.Com, Inc. System and method for disseminating information over a communication network according to predefined consumer profiles
US7103651B2 (en) 2000-11-30 2006-09-05 Nortel Networks Limited Method and apparatus for discovering client proximity network sites
EP1344118A4 (en) * 2000-11-30 2005-09-14 Alteon Websystems Inc A method and apparatus for discovering client proximity using multiple http redirects
EP1344118A2 (en) * 2000-11-30 2003-09-17 Alteon Websystems, Inc. A method and apparatus for discovering client proximity using multiple http redirects
JP2002342195A (en) * 2001-05-14 2002-11-29 Telecommunication Advancement Organization Of Japan Method and system for providing information service
EP1483669A1 (en) * 2002-02-25 2004-12-08 Oak Technology, Inc. System and method for providing network connectivity to a common embedded interface by simulating the embedded interface
EP1483669A4 (en) * 2002-02-25 2007-08-22 Zoran Corp System and method for providing network connectivity to a common embedded interface by simulating the embedded interface
US7505889B2 (en) 2002-02-25 2009-03-17 Zoran Corporation Transcoding media system
US7848913B2 (en) 2002-02-25 2010-12-07 Zoran Corporation Emulator-enabled network connectivity to a device
US8584249B2 (en) 2003-05-16 2013-11-12 Phu Sang Ltd., Llc System for preventing unauthorized use of digital content

Also Published As

Publication number Publication date
CN1260889A (en) 2000-07-19
EP0983559A1 (en) 2000-03-08
JP2002502523A (en) 2002-01-22
CA2290431A1 (en) 1998-11-26
AU7593798A (en) 1998-12-11

Similar Documents

Publication Publication Date Title
CA2284063C (en) System and method for selection and retrieval of diverse types of video data on a computer network
US8019869B2 (en) Web serving system
US7555532B2 (en) Advanced content and data distribution techniques
US7149809B2 (en) System for reducing server loading during content delivery
JP4968975B2 (en) Content distribution method in distributed computer network
US6553376B1 (en) Efficient content server using request redirection
US6502125B1 (en) System and method for optimized storage and retrieval of data on a distributed computer network
CN102439578B (en) Dynamic variable rate media delivery system
US7058720B1 (en) Geographical client distribution methods, systems and computer program products
US20070078713A1 (en) System for associating an advertisement marker with a media file
US20070078712A1 (en) Systems for inserting advertisements into a podcast
AU714865B2 (en) System and method for optimized storage and retrieval of data on a distributed computer network
WO1998053411A1 (en) A system and method for optimizing the delivery of audio and video data over a computer network
US20010051927A1 (en) Increasing web page browsing efficiency by periodically physically distributing memory media on which web page data are cached
EP1934909A1 (en) Automatically matching advertisements to media files
US8370420B1 (en) Web-integrated display of locally stored content objects
WO2001022688A1 (en) Method and system for providing streaming media services
AU740208B2 (en) Web serving system with primary and secondary servers

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 98806335.2

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GW HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2290431

Country of ref document: CA

Ref document number: 2290431

Country of ref document: CA

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 1998 550712

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1998923709

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1998923709

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWE Wipo information: entry into national phase

Ref document number: 09424397

Country of ref document: US

WWW Wipo information: withdrawn in national office

Ref document number: 1998923709

Country of ref document: EP