A SYSTEM AND METHOD FOR OPTIMIZING THE DELIVERY OF AUDIO AND VIDEO DATA OVER A COMPUTER NETWORK

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.

Inventors: BROWNELL LONNIE, COLBY KENNETH W, KENNER BRIAN, BROWNELL, LONNIE, COLBY, KENNETH, W., KENNER, BRIAN
Applicants: BROWNELL LONNIE, COLBY KENNETH W, INTERVU INC, KENNER BRIAN, BROWNELL, LONNIE, COLBY, KENNETH, W., INTERVU, INC., KENNER, BRIAN
Application year: 1998
Main classification: G06F17
IPC codes: G06F12, G06F13, G06F17, H04L29