WO2001038984A1 - A system and method for maintaining fault tolerance when delivering media on demand - Google Patents

A system and method for maintaining fault tolerance when delivering media on demand Download PDF

Info

Publication number
WO2001038984A1
WO2001038984A1 PCT/US2000/032551 US0032551W WO0138984A1 WO 2001038984 A1 WO2001038984 A1 WO 2001038984A1 US 0032551 W US0032551 W US 0032551W WO 0138984 A1 WO0138984 A1 WO 0138984A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
media content
subscriber
copy
selected media
Prior art date
Application number
PCT/US2000/032551
Other languages
French (fr)
Inventor
Julian Brown
Ricky Rand
Paul Clark
Original Assignee
Future Tv Technologies, Ltd.
Rzucidlo, Eugene, C.
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 Future Tv Technologies, Ltd., Rzucidlo, Eugene, C. filed Critical Future Tv Technologies, Ltd.
Priority to AU22527/01A priority Critical patent/AU2252701A/en
Publication of WO2001038984A1 publication Critical patent/WO2001038984A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends
    • 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/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2225Local VOD servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6375Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server

Definitions

  • This invention relates generally to a system and method to deliver media on demand over a network.
  • the present invention utilizes replication, redundancy and/or rate pacing to provide inherent fault tolerance to a subscriber of a media on demand system over a network.
  • media on demand services encompass many prior audio and video services, and may include: basic television service, AM/FM broadcast radio, premium television and video service, PPV programming, video-on- demand (VOD) , audio-on-demand (AOD) , interactive video and television (IVT), video games and other entertainment programs, educational information and programs, scientific and other database research, "home-shopping", infomercials, Internet access and the like.
  • a fundamental aspect of a media on demand system is the provision of a large amount of data from a data storage system to many users almost simultaneously without significant processing time or delay.
  • another aspect of a media on demand system is to provide inherent fault tolerance against delivery interruptions of the media content provided to subscribers .
  • the present invention a system and method for maintaining fault tolerance when delivering media on demand through redundancy, replication and/or rate pacing is directed to system and method that satisfies the need to provide media on demand subscribers with reliable media replete with inherent fault tolerance.
  • the instant method comprises the steps of: (i) providing a plurality of copies of media content on the network; (ii) providing a method for determining the location of a plurality of a particular selected media content on the network; (iii) providing a first copy of the particular selected media content to a subscriber through a network transmission; (iv) providing a method for detecting an interruption of the transmission of the particular selected media content to the subscriber; (v) selecting a second copy of the particular selected media content; and (vi) transmitting the second copy of the particular selected media content to the subscriber over the network.
  • the overall network is completely flexible in topology, and may consist of a number of differently sized arrays of clusters or individual clusters, connected together in any convenient manner, geographically distributed if required.
  • each array of clusters is treated as an independent region in a hierarchical organization, and advertises itself as a unit to the higher-level network. See provisional patent application to Rand et al . , Application No. 60/155,388, entitled “A System and Method for Large-Scale, Distributed, Personalized Media on Demand" for a detailed description of the network architecture .
  • a request for the selected item of media content is made to a network manager.
  • the selection may be made by a location- independent name.
  • the network manager is notified of this event and determines the point in time the media server ceased delivery of the media content stream. A request is then made to the network manager to find a different copy of the selected media.
  • the network manager determines the location of the selected media content by sending a request to a first mapping server to determine a media server holding a different copy of the selected media content. If known at the first mapping server, the request is responded to directly with the address of the next closest media server holding the different copy of the selected media content. If not known at the first mapping server, the request is delegated to a second mapping server. This process is continued until a mapping server determines the location of the different copy of the selected media content on a media server. The media server is then directed to deliver the closest different copy of the selected media content to the requesting subscriber at the exact point in time of the media content stream that the original copy of the media content ceased delivery.
  • the change from one media source to another media source appears seamless with the addition of a buffer storage system.
  • the buffer storage system employs rate pacing with a feedback loop to assist in replenishment of the buffer storage system.
  • FIGURE 1 shows an illustrative block diagram depicting a minimal embodiment of a media on demand system in accordance with the invention.
  • FIGURE 2 shows a block diagram depicting the fault tolerance method according to one embodiment of the present invention.
  • Figure 1 A minimal embodiment of a media on demand system in accordance with one embodiment of the present invention is shown in Figure 1. This minimal embodiment is show for the purpose of clarity. However, the system comprising the present invention is designed to scale well beyond the size depicted here.
  • Figure 1 shows two clusters, Cl and C2 connected by packet switch network Nl . There are common elements and differences in each network. Common elements include packet switches PSl and PS2, and cluster or network managers CM1 and CM2.
  • Packet switches PSl and PS2 are high-bandwidth packet switches such as are known in the art, and provide internal links within each cluster and also inter-cluster links via packet switch network Nl .
  • Cluster manager unit CM1 is an industrialized computer hosting at least mapping server MAPI.
  • Cluster manager unit CM2 is an industrialized computer hosting at least mapping server MAP2.
  • Mapping server MAPI obtain maps of content availability from media servers MS11 and MS12 connected to local packet switch PSl.
  • mapping server MAP2 obtain maps of content availability from media servers MS21 and MS22 connected to local packet switch PS2.
  • Mapping servers MAPI and MAP2 then broadcast advertisements of the content and services resident on their media servers to corresponding mapping services in other clusters in network region 1 through a flooding process such as is known in the art for routing topology advertisement.
  • mapping servers MAPI and MAP2 generate a global map of the availability of content and services for use by the cluster managers CM1 and CM2 respectively.
  • Media servers MS11, MS12, MS21 and MS22 are units which store items of media content as files on hard disks or other memory devices, and which can be instructed to deliver the items of media content as a plurality of interleaved, substantially regular streams of data onto a network. Such units are well known in the prior art, and may be constructed from commonly available computer equipment or custom hardware as is required.
  • Cluster Cl also provides a cache media server CMS13 through which items of media content are directed the first time they are requested, and from which they can be served directly without using external network bandwidth on subsequent requests from subscribers on the same cluster .
  • subscriber access network SAN1 may be one of a number of mechanisms for distribution of highspeed data to residential or business subscribers, well known in the art, including but no limited to ADSL over traditional telephony and QAM/MCNS over traditional community antenna television networks.
  • the subscriber interface is set top box STB1.
  • a minimal embodiment of STB1 comprises: a microprocessor, random access memory and non-volatile storage for boot software; a network interface connected to subscriber access network SANl; an input device to input commands to STB1; and a media player output to play audio and/or video on a media player, such as a television or stereo.
  • the overall network is completely flexible in topology, and may consist of a number of differently sized arrays of clusters or individual clusters, connected together in any convenient manner, geographically distributed if required. See provisional patent application to Rand et al . , Application No. 60/155,388, entitled “A System and Method for Large-Scale, Distributed, Personalized Media on Demand” for a further description of the network.
  • a request for the selected item of media content is made to a network cluster manager.
  • the selection may be made by a location- independent name.
  • the system and method of selecting and delivering media on demand to a subscriber is fully described in a provisional patent application to Rand et al . , Application No. 60/155,388, entitled "A System and Method for Large-Scale, Distributed, Personalized Media on Demand” which is incorporated by reference herein.
  • a subscriber provides input to set top box STB1 for a selection of media content.
  • Set top box STB1 transmits this selection to cluster manager CMl through subscriber access network SANl and packet switch PSl.
  • Cluster manager CMl transmits this selection to mapping server MAPI and receives a list of all available media responsive to the subscriber's selection in the region, and the distance (hops) from cluster manager CMl to the media server maintaining the requested media.
  • the list for multiple copies of the selected media is maintained in hierarchical order, from the closest media server to the furthest media server.
  • all copies of the selected media equidistant from the cluster manager are arranged in a round-robin fashion.
  • mapping server MAPI mapping server MAPI
  • the request is responded to directly with the address of the first media server holding a copy of the selected media content.
  • cluster manager CMl communicates the subscriber's selection to a cluster manager (not shown) outside of the region through packet switch work Nl . This process is continued until a mapping server determines the location of the selected media on a media server and the distance (hops) of the media content from cluster manager CMl.
  • the cluster manager for the mapping server determining the location of the subscriber's selected media content provides this information to cluster manager CMl through packet switch network Nl .
  • mapping server MAPI determines the following locations for the subscriber's media request made through cluster manager CMl, and communicates this information to cluster manager CMl .
  • the requesting cluster manager then directs the closest media server maintaining the selected media content to deliver the media content to the subscriber through the set top box.
  • the transmission of the media content is originally at a higher rate than the normal subscriber user rate to fill a buffer located m the set top box.
  • the transmission rate of the media content then slows as the buffer m the set top box fills.
  • the request is made through the cluster manager for the cluster maintaining the selected media content .
  • the cluster manager then communicates the origination (location) of this media stream to the subscriber's set top box receiving the selected media content stream. Knowing the origination of the selected media stream, the step top box can then communicate directly with the media server for the purpose of controlling media delivery operations, such as fast- forward, rewind, stop and play, and provide dynamic rate pacing to facilitate fault tolerance in the delivery rate .
  • cluster manager CMl communicates with media server MS-11 and requests the subscriber's selected media content to be delivered to set top box STB1 through subscriber access network SANl.
  • Cluster manager CMl also communicates with set top box STB1 and provides the dispatch location (MS11) for the subscriber's selected media.
  • the transmission of the media is monitored and tracked as some multiple of a finite unit to determine the amount of media transmitted. Any number of unit types may be used to monitor the media transmitted.
  • the aggregate transmission or subscriber receive time (in seconds, minutes, etc.) is used to monitor and track the selected media stream units.
  • the frames transmitted or received are used to monitor and track the selected media stream units.
  • the bytes of data transmitted or received are used to monitor and track the selected media stream units.
  • any number of equipment forming the network can monitor the transmission of the requested media conten .
  • set top box STBl monitors the transmission of the requested media content.
  • cluster manager CMl monitors the transmission of the requested media content.
  • media server MS-11 monitors the transmission of the requested media content
  • set top box STBl includes a buffer which stores a finite quantity of transmission units of the selected media content.
  • a block diagram showing a method to maintain fault tolerance according to one embodiment of the invention is shown in figure 2.
  • the illustrated method monitors a media stream being transmitted to the subscriber as shown in step 200. If set top box STBl detects an interruption in the selected media content data stream originating from media server MS11 as shown in step 205, it automatically transmits a stop command to media server MS11, followed by a momentary rewind command and a play command, as shown in step 210. If the set top box STBl still detects an interruption in the selected media content data stream, as shown in step 215 it: (i) notifies cluster manager CMl of the interruption, step 220; (ii) provides the interruption point, i.e.
  • the unit location of the transmission interruption is provided as a multiple of the units used to monitor and track the transmission.
  • the units are a function of the selected media transmitted by the media server.
  • the units are functions of the selected media received by the set top box.
  • Cluster manager CMl then communicates with mapping server MAPI to determine the location of the next media server maintaining a copy of the selected media content. Once prompted by cluster manager CMl, mapping server MAPI determines the next closest media server maintaining a copy of the selected media content . For the purpose of the above example, mapping server MAPI determines that media server MS21 maintains the next closest copy of the selected media content .
  • Cluster manager CMl then communicates with cluster manager CM2 and requests that a copy of the selected media content be delivered from media server MS21 to set top box STBl commencing at the unit location in the transmission that the interruption was detected.
  • Cluster manager CMl also communicates with set top box STBl and provides the origination of the new selected media content. With the origination location, set top box STBl has the ability to communicate directly with media server MS21 to perform operational tasks such as fast-forward, rewind, play and stop.
  • the steps of detecting the interruption by set top box STBl; notifying cluster manager CMl of the interruption; determining the location of the second copy of the selected media content by mapping server MAPI; and transmitting the second copy of the selected media content from media server MS21 to the subscriber through set top box STBl, is completed prior to or immediately after the buffer in set top box STBl is completely under- run.
  • cluster manager CMl directs cluster manager CM2 to cause a transmission of the selected media content from media server MS21 to cache media server CMS13.
  • Cache media server CMS13 in turn transmits the selected media content to the subscriber via subscriber access network SANl and set top box STBl.
  • the transmission between media server MS21 and cache media server CMS13 is made at a greater rate than the transmission from cache media server CMS13 and set top box STBl to allow for buffering or caching in cache media server CMS13.
  • cluster manager CMl has discretion to instruct cache media server CMS13 to replicate and save the copy of the selected media content for future transmission to subscribers. Caching and replication may continue regardless of subsequent action by the subscriber . Fault Tolerance Through Dynamic Rate Pacing
  • STBl maintains a top pointer, which indicates where in the buffer storage system the next frame of data to be displayed begins.
  • STBl also maintains a bottom pointer, which indicates where in the buffer the next packet of data received from the media server MSll is to be appended.
  • the top pointer is decremented by the frame size after data has been displayed on the monitor, while the bottom pointer will be decremented by the packet size after a packet has been received from the media server MSll.
  • the adjustments of the pointer values will be performed modulo the buffer size.
  • STBl contains means to permit it to determine when the media server MSll is sending data faster than STBl is displaying it (overwriting the buffer) , or when the media server MSll is not sending data fast enough to refresh the display (underwriting the buffer) . Because both the packet size and the frame size are fixed, STBl can prevent an overwrite or underwrite condition, since it is able to signal the media server MSll via the subscriber access network SANl to adjust the data delivery rate. STBl calculates the amount by which the delivery rate is to be adjusted, and transmits that rate adjustment to the media server MSll.
  • STBl determines that the media server's MSll present transmission rate will eventually overwrite or underwrite the buffer
  • STBl signals to the media server MSll to either slow or accelerate the packet transmission by some number of frames per second.
  • Factors to be used in calculating whether and how much to speed or slow the transmission rate can include the transmission rate, the estimated time to an overrun or an underrun, the buffer size, and the rate at which data is displayed. The methods for calculating this adjustment are well known to those of ordinary skill in the art. An additional factor that can be included in this adjustment is how much data is to be maintained in the buffer storage system.
  • STBl can maintain an average of 1.5 seconds of data by signaling the media server MSll to speed up transmission whenever the amount of data to be displayed falls below one second's worth, and to delay transmission whenever the amount of data exceeds two second's worth.
  • these upper and lower size limits may be adjusted dynamically to allow for more precise control of the data transmission rate.
  • STBl communicates the rate adjustment to the media server MSll via the previously mentioned communications channel over the SANl .
  • a stream when initially requested from the media server MSll by STBl, it would normally be requested at a high rate of transmission, for example at 6 Mbits/sec, to load the buffer.
  • the media server MSll transmits the stream at the accelerated rate of 6 Mbits/sec in an effort to establish the buffer.
  • the media server MSll Since the system limits the media server MSll, however, to transmitting data only at the packet- start, the media server MSll cannot transmit on 2/3 of a packet start. Accordingly, the media server MSll would transmit at that average rate, but in practice it could transmit on the 10th, the 21st, the 32nd, the 42nd, the 53rd, and then the 64th packet starts. It is apparent that in 64 packet starts, or 8 milliseconds, 6000 bytes, or 48,000 bits are transmitted. Transmitting 48,000 bits every 8 milliseconds is equivalent to the rate of 6 megabits per second.
  • STBl When STBl has determined that the buffer is sufficiently full, it signals the media server MSll to slow to 3 Mbits/sec. To maintain 3 Mbits/sec, the media server MSll would slow to transmitting a packet averaging every 21 1/3 packet-starts.
  • the media server MSll Due to clock drift and/or possibly other factors, even though the media server MSll is transmitting packets every 21 1/3 packet-starts, the data may be arriving faster than it is being used at STBl. For example, if STBl were displaying frames at the rate of 29.999 per second to the user due to an inaccuracy in its clock, the buffer would eventually overrun due to receiving one more frame every ten- thousand than it is displaying. Accordingly, when STBl calculates that the data rate is too fast for the current conditions, it can request that the media server MSll slow down, and, in fact, can specify the number of bits per second it desires to receive. The media server MSll will respond to the request .

Abstract

A system and method is disclosed to deliver media on demand over a network. In particular, the present invention utilizes replication and redundancy to provide inherent fault tolerance to a subscriber of a media on demand system over a network. A plurality of copies of a subscriber selected media content are provided on a network. When a subscriber selects a particular selection of media content to use, a first copy of the selected media content is transmitted to the subscriber. This transmission is monitored for interruptions (200). If an interruption is detected (205), the point of interruption in the transmission of the subscriber selected media content is determined. The location of a second copy of the subscriber selected media content on the network is determined (225) subsequently transmitted to the subscriber over the network, commencing from the point of interruption in the transmission of the first copy of the subscriber selected media content.

Description

A SYSTEM AND METHOD FOR MAINTAINING FAULT TOLERANCE WHEN DELIVERING MEDIA ON DEMAND
CROSS-REFERENCE TO RELATED APPLICATION
This application claims priority from U.S. provisional applications numbers 60/170,388 filed December 13, 1999 and 60/167,873 filed November 29,1999, the disclosures of which are incorporated herein by reference . FIELD OF THE INVENTION
This invention relates generally to a system and method to deliver media on demand over a network. In particular, the present invention utilizes replication, redundancy and/or rate pacing to provide inherent fault tolerance to a subscriber of a media on demand system over a network. BACKGROUND OF THE INVENTION
Consumer demand for enhanced on-site digital entertainment, information and communication services are growing rapidly. These services, colloquially referred to as media on demand services, encompass many prior audio and video services, and may include: basic television service, AM/FM broadcast radio, premium television and video service, PPV programming, video-on- demand (VOD) , audio-on-demand (AOD) , interactive video and television (IVT), video games and other entertainment programs, educational information and programs, scientific and other database research, "home-shopping", infomercials, Internet access and the like.
Media on demand holds out the promise that almost every movie or musical composition ever made will be available to a subscriber of the media on demand service. Instead of driving to a video rental or music store to select a movie or recorded musical work to play, the subscriber will be able to select any movie or musical composition stored in the systems media server library, and have that movie delivered to them over traditional distribution networks (i.e. cable systems, telephone networks, satellite systems, etc.). The use of various distribution networks to delivery media content to subscribers is well known in the art.
U.S. patent No.5,905,522 to Lawler, U.S. patent No. 5,675,738 to Suzuki et al . , U.S. patent No. 5,629,732 to Moskowitz et al . , U.S. patent No. 5,606,359 to Youden et al., U.S. patent No. 5,790,174 to Richard, III et al.; and U.S. patent No. 5,550,577 to Verbiest et al . , describe various media on demand services.
A fundamental aspect of a media on demand system is the provision of a large amount of data from a data storage system to many users almost simultaneously without significant processing time or delay. In addition, another aspect of a media on demand system is to provide inherent fault tolerance against delivery interruptions of the media content provided to subscribers . SUMMARY OF THE INVENTION
The present invention, a system and method for maintaining fault tolerance when delivering media on demand through redundancy, replication and/or rate pacing is directed to system and method that satisfies the need to provide media on demand subscribers with reliable media replete with inherent fault tolerance.
In a preferred embodiment of the present invention, the instant method comprises the steps of: (i) providing a plurality of copies of media content on the network; (ii) providing a method for determining the location of a plurality of a particular selected media content on the network; (iii) providing a first copy of the particular selected media content to a subscriber through a network transmission; (iv) providing a method for detecting an interruption of the transmission of the particular selected media content to the subscriber; (v) selecting a second copy of the particular selected media content; and (vi) transmitting the second copy of the particular selected media content to the subscriber over the network.
According to the present invention, the overall network is completely flexible in topology, and may consist of a number of differently sized arrays of clusters or individual clusters, connected together in any convenient manner, geographically distributed if required. In a preferred embodiment of the invention, each array of clusters is treated as an independent region in a hierarchical organization, and advertises itself as a unit to the higher-level network. See provisional patent application to Rand et al . , Application No. 60/155,388, entitled "A System and Method for Large-Scale, Distributed, Personalized Media on Demand" for a detailed description of the network architecture .
Once a media subscriber selects an item of media content to receive, a request for the selected item of media content is made to a network manager. The selection may be made by a location- independent name.
The network manager determines at least one media server holding a copy of the selected media content out of a plurality of possible media servers using the location- independent name. Determining the location of the media content comprises sending a request to a first mapping server to look up a media server holding a copy of the selected item of media in a map held by the first mapping server. Each mapping server maintains a list of all media content in its region, and the distance (hops) of the media content from the network manager. If known at the first mapping server, the request is responded to directly with the address of the first media server holding a copy of the selected media content. If not known at the first mapping server, the request is delegated to a second mapping server. This process is continued until a mapping server determines the location of the selected media on a media server and the distance (hops) of the media content from the network manager. The network manager then directs the closest media server maintaining the selected media content to deliver the media content to the subscriber.
If during the presentation of the selected media to the subscriber the media delivery stream is interrupted, the network manager is notified of this event and determines the point in time the media server ceased delivery of the media content stream. A request is then made to the network manager to find a different copy of the selected media.
Similar to above, the network manager determines the location of the selected media content by sending a request to a first mapping server to determine a media server holding a different copy of the selected media content. If known at the first mapping server, the request is responded to directly with the address of the next closest media server holding the different copy of the selected media content. If not known at the first mapping server, the request is delegated to a second mapping server. This process is continued until a mapping server determines the location of the different copy of the selected media content on a media server. The media server is then directed to deliver the closest different copy of the selected media content to the requesting subscriber at the exact point in time of the media content stream that the original copy of the media content ceased delivery.
In one embodiment of the invention, the change from one media source to another media source appears seamless with the addition of a buffer storage system. In another embodiment of the invention, the buffer storage system employs rate pacing with a feedback loop to assist in replenishment of the buffer storage system. BRIEF DESCRIPTION OF THE DRAWINGS
FIGURE 1 shows an illustrative block diagram depicting a minimal embodiment of a media on demand system in accordance with the invention.
FIGURE 2 shows a block diagram depicting the fault tolerance method according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
A minimal embodiment of a media on demand system in accordance with one embodiment of the present invention is shown in Figure 1. This minimal embodiment is show for the purpose of clarity. However, the system comprising the present invention is designed to scale well beyond the size depicted here. Figure 1 shows two clusters, Cl and C2 connected by packet switch network Nl . There are common elements and differences in each network. Common elements include packet switches PSl and PS2, and cluster or network managers CM1 and CM2.
Packet switches PSl and PS2 are high-bandwidth packet switches such as are known in the art, and provide internal links within each cluster and also inter-cluster links via packet switch network Nl .
Cluster manager unit CM1 is an industrialized computer hosting at least mapping server MAPI. Cluster manager unit CM2 is an industrialized computer hosting at least mapping server MAP2.
Mapping server MAPI obtain maps of content availability from media servers MS11 and MS12 connected to local packet switch PSl. Similarly, mapping server MAP2 obtain maps of content availability from media servers MS21 and MS22 connected to local packet switch PS2. Mapping servers MAPI and MAP2 then broadcast advertisements of the content and services resident on their media servers to corresponding mapping services in other clusters in network region 1 through a flooding process such as is known in the art for routing topology advertisement. Conversely, on receipt of content and service advertisements from other clusters, mapping servers MAPI and MAP2 generate a global map of the availability of content and services for use by the cluster managers CM1 and CM2 respectively.
Media servers MS11, MS12, MS21 and MS22 are units which store items of media content as files on hard disks or other memory devices, and which can be instructed to deliver the items of media content as a plurality of interleaved, substantially regular streams of data onto a network. Such units are well known in the prior art, and may be constructed from commonly available computer equipment or custom hardware as is required.
Cluster Cl also provides a cache media server CMS13 through which items of media content are directed the first time they are requested, and from which they can be served directly without using external network bandwidth on subsequent requests from subscribers on the same cluster .
In cluster Cl, subscriber access network SAN1 may be one of a number of mechanisms for distribution of highspeed data to residential or business subscribers, well known in the art, including but no limited to ADSL over traditional telephony and QAM/MCNS over traditional community antenna television networks.
The subscriber interface is set top box STB1. A minimal embodiment of STB1 comprises: a microprocessor, random access memory and non-volatile storage for boot software; a network interface connected to subscriber access network SANl; an input device to input commands to STB1; and a media player output to play audio and/or video on a media player, such as a television or stereo.
According to the present invention, the overall network is completely flexible in topology, and may consist of a number of differently sized arrays of clusters or individual clusters, connected together in any convenient manner, geographically distributed if required. See provisional patent application to Rand et al . , Application No. 60/155,388, entitled "A System and Method for Large-Scale, Distributed, Personalized Media on Demand" for a further description of the network.
Once a media subscriber selects an item of media content to receive, a request for the selected item of media content is made to a network cluster manager. The selection may be made by a location- independent name. The system and method of selecting and delivering media on demand to a subscriber is fully described in a provisional patent application to Rand et al . , Application No. 60/155,388, entitled "A System and Method for Large-Scale, Distributed, Personalized Media on Demand" which is incorporated by reference herein. Initial Delivery of Media
A subscriber provides input to set top box STB1 for a selection of media content. Set top box STB1 transmits this selection to cluster manager CMl through subscriber access network SANl and packet switch PSl. Cluster manager CMl transmits this selection to mapping server MAPI and receives a list of all available media responsive to the subscriber's selection in the region, and the distance (hops) from cluster manager CMl to the media server maintaining the requested media. In a preferred embodiment of the invention, the list for multiple copies of the selected media is maintained in hierarchical order, from the closest media server to the furthest media server. In another preferred embodiment of the invention, all copies of the selected media equidistant from the cluster manager are arranged in a round-robin fashion.
If the requested media content is known at mapping server MAPI (i.e. in region 1) , the request is responded to directly with the address of the first media server holding a copy of the selected media content. If not known at mapping server MAPI (i.e. not within region 1), cluster manager CMl communicates the subscriber's selection to a cluster manager (not shown) outside of the region through packet switch work Nl . This process is continued until a mapping server determines the location of the selected media on a media server and the distance (hops) of the media content from cluster manager CMl. The cluster manager for the mapping server determining the location of the subscriber's selected media content provides this information to cluster manager CMl through packet switch network Nl .
For the purpose of example, it is assumed that mapping server MAPI determines the following locations for the subscriber's media request made through cluster manager CMl, and communicates this information to cluster manager CMl .
Figure imgf000010_0001
Figure imgf000011_0001
The requesting cluster manager then directs the closest media server maintaining the selected media content to deliver the media content to the subscriber through the set top box. The transmission of the media content is originally at a higher rate than the normal subscriber user rate to fill a buffer located m the set top box. The transmission rate of the media content then slows as the buffer m the set top box fills. The request is made through the cluster manager for the cluster maintaining the selected media content .
The cluster manager then communicates the origination (location) of this media stream to the subscriber's set top box receiving the selected media content stream. Knowing the origination of the selected media stream, the step top box can then communicate directly with the media server for the purpose of controlling media delivery operations, such as fast- forward, rewind, stop and play, and provide dynamic rate pacing to facilitate fault tolerance in the delivery rate .
By way of the above referenced example, cluster manager CMl communicates with media server MS-11 and requests the subscriber's selected media content to be delivered to set top box STB1 through subscriber access network SANl. Cluster manager CMl also communicates with set top box STB1 and provides the dispatch location (MS11) for the subscriber's selected media.
The transmission of the media is monitored and tracked as some multiple of a finite unit to determine the amount of media transmitted. Any number of unit types may be used to monitor the media transmitted. In one embodiment of the invention, the aggregate transmission or subscriber receive time (in seconds, minutes, etc.) is used to monitor and track the selected media stream units. In another embodiment of the invention the frames transmitted or received (particularly for video applications) are used to monitor and track the selected media stream units. In still a further embodiment of the invention, the bytes of data transmitted or received are used to monitor and track the selected media stream units.
Any number of equipment forming the network can monitor the transmission of the requested media conten . In a preferred embodiment of the invention, set top box STBl monitors the transmission of the requested media content. In another embodiment of the invention, cluster manager CMl monitors the transmission of the requested media content. In still a further embodiment of the invention, media server MS-11 monitors the transmission of the requested media content
In a preferred embodiment of the invention, set top box STBl includes a buffer which stores a finite quantity of transmission units of the selected media content. Fault Tolerance
A block diagram showing a method to maintain fault tolerance according to one embodiment of the invention is shown in figure 2. The illustrated method monitors a media stream being transmitted to the subscriber as shown in step 200. If set top box STBl detects an interruption in the selected media content data stream originating from media server MS11 as shown in step 205, it automatically transmits a stop command to media server MS11, followed by a momentary rewind command and a play command, as shown in step 210. If the set top box STBl still detects an interruption in the selected media content data stream, as shown in step 215 it: (i) notifies cluster manager CMl of the interruption, step 220; (ii) provides the interruption point, i.e. unit location in the transmission of the interruption, to cluster manager CMl, step 225; and (iii) requests another copy of the selected media content to cluster manager CMl, step 230. The unit location of the transmission interruption is provided as a multiple of the units used to monitor and track the transmission. In one embodiment of the invention, the units are a function of the selected media transmitted by the media server. In another embodiment of the invention, the units are functions of the selected media received by the set top box.
Cluster manager CMl then communicates with mapping server MAPI to determine the location of the next media server maintaining a copy of the selected media content. Once prompted by cluster manager CMl, mapping server MAPI determines the next closest media server maintaining a copy of the selected media content . For the purpose of the above example, mapping server MAPI determines that media server MS21 maintains the next closest copy of the selected media content . Cluster manager CMl then communicates with cluster manager CM2 and requests that a copy of the selected media content be delivered from media server MS21 to set top box STBl commencing at the unit location in the transmission that the interruption was detected. Cluster manager CMl also communicates with set top box STBl and provides the origination of the new selected media content. With the origination location, set top box STBl has the ability to communicate directly with media server MS21 to perform operational tasks such as fast-forward, rewind, play and stop.
In a preferred embodiment of the present invention, the steps of detecting the interruption by set top box STBl; notifying cluster manager CMl of the interruption; determining the location of the second copy of the selected media content by mapping server MAPI; and transmitting the second copy of the selected media content from media server MS21 to the subscriber through set top box STBl, is completed prior to or immediately after the buffer in set top box STBl is completely under- run.
In another embodiment of the invention, cluster manager CMl directs cluster manager CM2 to cause a transmission of the selected media content from media server MS21 to cache media server CMS13. Cache media server CMS13 in turn transmits the selected media content to the subscriber via subscriber access network SANl and set top box STBl. The transmission between media server MS21 and cache media server CMS13 is made at a greater rate than the transmission from cache media server CMS13 and set top box STBl to allow for buffering or caching in cache media server CMS13. In a preferred embodiment of the invention, cluster manager CMl has discretion to instruct cache media server CMS13 to replicate and save the copy of the selected media content for future transmission to subscribers. Caching and replication may continue regardless of subsequent action by the subscriber . Fault Tolerance Through Dynamic Rate Pacing
STBl maintains a top pointer, which indicates where in the buffer storage system the next frame of data to be displayed begins. STBl also maintains a bottom pointer, which indicates where in the buffer the next packet of data received from the media server MSll is to be appended. The top pointer is decremented by the frame size after data has been displayed on the monitor, while the bottom pointer will be decremented by the packet size after a packet has been received from the media server MSll. The adjustments of the pointer values will be performed modulo the buffer size. Thus, STBl contains means to permit it to determine when the media server MSll is sending data faster than STBl is displaying it (overwriting the buffer) , or when the media server MSll is not sending data fast enough to refresh the display (underwriting the buffer) . Because both the packet size and the frame size are fixed, STBl can prevent an overwrite or underwrite condition, since it is able to signal the media server MSll via the subscriber access network SANl to adjust the data delivery rate. STBl calculates the amount by which the delivery rate is to be adjusted, and transmits that rate adjustment to the media server MSll.
When STBl determines that the media server's MSll present transmission rate will eventually overwrite or underwrite the buffer, STBl signals to the media server MSll to either slow or accelerate the packet transmission by some number of frames per second. Factors to be used in calculating whether and how much to speed or slow the transmission rate can include the transmission rate, the estimated time to an overrun or an underrun, the buffer size, and the rate at which data is displayed. The methods for calculating this adjustment are well known to those of ordinary skill in the art. An additional factor that can be included in this adjustment is how much data is to be maintained in the buffer storage system. For example, in one embodiment, in which the buffer has a capacity of 3 seconds of data, STBl can maintain an average of 1.5 seconds of data by signaling the media server MSll to speed up transmission whenever the amount of data to be displayed falls below one second's worth, and to delay transmission whenever the amount of data exceeds two second's worth. In a preferred embodiment, these upper and lower size limits may be adjusted dynamically to allow for more precise control of the data transmission rate. STBl communicates the rate adjustment to the media server MSll via the previously mentioned communications channel over the SANl .
In a representative system as previously described, when a stream is initially requested from the media server MSll by STBl, it would normally be requested at a high rate of transmission, for example at 6 Mbits/sec, to load the buffer. In response to the request, the media server MSll transmits the stream at the accelerated rate of 6 Mbits/sec in an effort to establish the buffer. In theory, to transmit a 6 Mbits/sec (6 megabits per second) , the media server MSll would transmit 1000 bytes of data every 10 2/3 packet-starts (8,000 packets of 1000 bytes every second = 64 megabits per second total bandwidth) . Since the system limits the media server MSll, however, to transmitting data only at the packet- start, the media server MSll cannot transmit on 2/3 of a packet start. Accordingly, the media server MSll would transmit at that average rate, but in practice it could transmit on the 10th, the 21st, the 32nd, the 42nd, the 53rd, and then the 64th packet starts. It is apparent that in 64 packet starts, or 8 milliseconds, 6000 bytes, or 48,000 bits are transmitted. Transmitting 48,000 bits every 8 milliseconds is equivalent to the rate of 6 megabits per second. When STBl has determined that the buffer is sufficiently full, it signals the media server MSll to slow to 3 Mbits/sec. To maintain 3 Mbits/sec, the media server MSll would slow to transmitting a packet averaging every 21 1/3 packet-starts.
Due to clock drift and/or possibly other factors, even though the media server MSll is transmitting packets every 21 1/3 packet-starts, the data may be arriving faster than it is being used at STBl. For example, if STBl were displaying frames at the rate of 29.999 per second to the user due to an inaccuracy in its clock, the buffer would eventually overrun due to receiving one more frame every ten- thousand than it is displaying. Accordingly, when STBl calculates that the data rate is too fast for the current conditions, it can request that the media server MSll slow down, and, in fact, can specify the number of bits per second it desires to receive. The media server MSll will respond to the request .
Although the present invention has been described in relation to particular preferred embodiment thereof, many variations and modification and other uses will become apparent to those skilled in the art. It is preferred, therefore, that the present invention be limited not by the specific disclosure herein, but only by the appended claims .

Claims

What is claimed is:
1. A method to provide inherent fault tolerance to a subscriber of media content over a network, said method comprising the steps of:
(a) providing a plurality of copies of the subscriber selected media content on the network;
(b) transmitting a first copy of the subscriber selected media content to the subscriber over the network;
(c) detecting an interruption of the transmission of the subscriber selected media content to the subscriber;
(d) determining the point of interruption in the transmission of the subscriber selected media content;
(e) determining the location of a second copy of the subscriber selected media content on the network; and
(f) transmitting the second copy of subscriber selected media content to the subscriber over the network, the transmission of the second copy of media content commencing from the point of interruption in the transmission of the first copy of the subscriber selected media content .
2. The method of claim 1 wherein the step of providing a plurality of copies of the subscriber selected media content further comprises the steps of:
(a) locating a first copy of the subscriber selected media content on the network; and (b) transmitting the first copy of the subscriber selected media content to a caching storage device to create a second copy of the subscriber selected media content, the transmission to the caching storage device being at a transmission rate greater than a rate of transmission to the subscriber.
3. The method of claim 1 wherein the step of transmitting a first copy of the subscriber selected media content to the subscriber further comprises the steps of tracking the transmission of the media as some multiple of a finite unit to determine the amount of media transmitted.
4. The method of claim 1 wherein the step of transmitting a first copy of the subscriber selected media content to the subscriber further comprises the steps of :
(a) transmitting the first copy of the subscriber selected media content to a buffer, the transmission rate being modulated to maintain the level of subscriber selected media content in the buffer; and
(b) transmitting the first copy of the subscriber selected media content from the buffer to the subscriber.
5. The method of claim 1 wherein the step of detecting an interruption of the transmission of the subscriber selected media content further comprises the steps of:
(a) transmitting a stop command to stop the transmission of the first copy of the subscriber selected media content to the subscriber; (b) transmitting a momentary rewind command to rewind a short portion of the first copy of the subscriber selected media content; and
(c) transmitting a play command to play institute the transmission of the first copy of the subscriber selected media content from the point of rewind.
6. The method of claim 1 wherein the step of determining the point of interruption in the transmission comprises the steps of:
(a) determining a unit location of the interruption in the transmission of the subscriber media content;
(b) notifying a media manager of the unit location of the interruption in the transmission of the subscriber media content.
7. The method of claim 1 wherein the step of determining the location of a second copy of the subscriber selected media content further comprises the steps of :
(a) generating a global map of available media content on the network responsive to the subscriber's selection;
(b) transmitting the global map of available media content on the network responsive to the subscriber's selection to a network manager;
(c) determining the distance from the location of the available media content responsive to the subscriber's selection to the subscriber.
8. A method to provide inherent fault tolerance to a subscriber of media content over a network, said method comprising the steps of:
(a) providing a first copy of the subscriber selected media content on the network;
(b) transmitting a first copy of the subscriber selected media content to a cache storage device to create a second copy of the subscriber selected media content;
(c) transmitting the second copy of the subscriber selected media content to the subscriber over the network, the transmission of the second copy of the media content to the subscriber being at a transmission rate less than the transmission of the first copy of the selected media content to the cache storage device;
(d) detecting an interruption of the transmission of the second copy of the subscriber selected media content to the subscriber;
(e) determining the point of interruption in the transmission of the second copy of the subscriber selected media content;
(f) transmitting the first copy of subscriber selected media content to the subscriber over the network, the transmission of the first copy of media content commencing from the point of interruption in the transmission of the second copy of the subscriber selected media content.
9. An apparatus for dynamically adjusting a data transmission rate between a data server and a data receiver in a network connecting at least one data server with at least one data receiver, the server and receiver having separate control clocks, wherein the data receiver is transmitting the received data to a display device, said apparatus comprising:
(a) means for the data receiver to store data received from the data server prior to transmission to the display device;
(b) means for the data receiver to detect overwrite and underwrite conditions in the data storage means;
(c) means for the data receiver to calculate an adjustment to the data transmission rate when the detection means detects an overwrite or an underwrite; and
(d) means for communicating the data transmission rate adjustment to the data server.
10. The apparatus of claim 9, in which the data storage means comprises a digital memory buffer.
11. The apparatus of claim 10, in which the memory buffer is of a fixed size.
12. The apparatus of claim 9, in which the means for detecting overwrites or underwrites comprises a first pointer adapted to point to the beginning of the data and a second pointer adapted to point to the end of the data, wherein the relative positions of the first and second pointers are compared by said detecting means to determine whether the storage means is being overwritten or underwritten.
13. The apparatus of claim 9, in which the means for calculating an adjustment comprises a programmed microcontroller adapted to calculate a rate adjustment.
14. The apparatus of claim 9, in which the means for communicating the adjustment to the server comprises a communications channel connecting the server and the receiver .
15. The apparatus of claim 9, in which the means for communicating the adjustment to the server comprises a first communication channel connecting the receiver with a manager, and a second communications channel connecting the manager to the server.
16. An apparatus for dynamically adjusting a data transmission rate between a data server and a data receiver in a network connecting at least one data server with at least one data receiver, the server and receiver having separate control clocks, wherein the data receiver is transmitting the received data to a display device, said apparatus comprising:
(a) a digital memory buffer of fixed size for the data receiver to store data received from the data server prior to transmission to the display device, said data having a beginning and an end;
(b) a first pointer adapted to point to the beginning of the data in the memory buffer and a second pointer adapted to point to the end of the data in the memory buffer,
(c) a controller adapted to compare the relative position of the first and second pointers to detect whether the memory buffer is being overwritten or underwri11en;
(d) means for the data receiver to calculate an adjustment to the data transmission rate when an overwrite or underwrite condition has been detected; and
(e) a communications channel connecting the data server and the data receiver by which the data receiver can transmit the adjusted data transmission rate to the data server.
17. A method for a data receiver to dynamically adjust a data transmission rate from a data server in a network connecting at least one data server with at least one data receiver, the server and receiver having separate control clocks, the receiver having a data buffer of fixed size, said method comprising the steps of:
(a) storing data received from the data server in the buffer prior to transmitting the data to the display device;
(b) determining when the buffer is being overwritten or underwritten;
(c) calculating an adjustment to the data transmission rate; and
(d) communicating the adjustment to the data server .
18. The method of claim 17, wherein the data stored in the buffer has a beginning and an end, further comprising the step of positioning a first pointer to point to the beginning of said data and positioning a second pointer to point to the end of said data, such that the position of the first pointer is compared to that of the second pointer and a determination is made as to whether the buffer is being overwritten or underwritten.
19. The method of claim 18, further comprising the steps of adjusting the position of the first pointer when data is transmitted from the buffer to the display device by the amount of data transmitted to the display device, and adjusting the position of the second pointer when data is received from the data server by the amount of data received from the server.
PCT/US2000/032551 1999-11-29 2000-11-29 A system and method for maintaining fault tolerance when delivering media on demand WO2001038984A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU22527/01A AU2252701A (en) 1999-11-29 2000-11-29 A system and method for maintaining fault tolerance when delivering media on demand

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16787399P 1999-11-29 1999-11-29
US60/167,873 1999-11-29
US17038899P 1999-12-13 1999-12-13
US60/170,388 1999-12-13

Publications (1)

Publication Number Publication Date
WO2001038984A1 true WO2001038984A1 (en) 2001-05-31

Family

ID=26863549

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/032551 WO2001038984A1 (en) 1999-11-29 2000-11-29 A system and method for maintaining fault tolerance when delivering media on demand

Country Status (2)

Country Link
AU (1) AU2252701A (en)
WO (1) WO2001038984A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9729594B2 (en) 2000-09-12 2017-08-08 Wag Acquisition, L.L.C. Streaming media delivery system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606359A (en) * 1994-06-30 1997-02-25 Hewlett-Packard Company Video on demand system with multiple data sources configured to provide vcr-like services
US5625404A (en) * 1991-09-27 1997-04-29 Bell Atlantic Network Services Method and system for accessing multimedia data over public switched telephone network
US5699503A (en) * 1995-05-09 1997-12-16 Microsoft Corporation Method and system for providing fault tolerance to a continuous media server system
US6061504A (en) * 1995-10-27 2000-05-09 Emc Corporation Video file server using an integrated cached disk array and stream server computers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625404A (en) * 1991-09-27 1997-04-29 Bell Atlantic Network Services Method and system for accessing multimedia data over public switched telephone network
US5606359A (en) * 1994-06-30 1997-02-25 Hewlett-Packard Company Video on demand system with multiple data sources configured to provide vcr-like services
US5815146A (en) * 1994-06-30 1998-09-29 Hewlett-Packard Company Video on demand system with multiple data sources configured to provide VCR-like services
US5699503A (en) * 1995-05-09 1997-12-16 Microsoft Corporation Method and system for providing fault tolerance to a continuous media server system
US6061504A (en) * 1995-10-27 2000-05-09 Emc Corporation Video file server using an integrated cached disk array and stream server computers

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9729594B2 (en) 2000-09-12 2017-08-08 Wag Acquisition, L.L.C. Streaming media delivery system
US9742824B2 (en) 2000-09-12 2017-08-22 Wag Acquisition, L.L.C. Streaming media delivery system
US9762636B2 (en) 2000-09-12 2017-09-12 Wag Acquisition, L.L.C. Streaming media delivery system
US10298639B2 (en) 2000-09-12 2019-05-21 Wag Acquisition, L.L.C. Streaming media delivery system
US10298638B2 (en) 2000-09-12 2019-05-21 Wag Acquisition, L.L.C. Streaming media delivery system
US10567453B2 (en) 2000-09-12 2020-02-18 Wag Acquisition, L.L.C. Streaming media delivery system

Also Published As

Publication number Publication date
AU2252701A (en) 2001-06-04

Similar Documents

Publication Publication Date Title
US10298639B2 (en) Streaming media delivery system
US7913282B2 (en) Distributed cooperative memory for interactive and scalable video-on-demand system
US5414455A (en) Segmented video on demand system
US5371532A (en) Communications architecture and method for distributing information services
US5442390A (en) Video on demand with memory accessing and or like functions
EP0633694B1 (en) Segmented video on-demand system
US8185611B2 (en) Streaming media delivery system
JP4884460B2 (en) Instant media on demand
EP1205073A1 (en) Vod from a server or a user to another user
US20040226045A1 (en) Application services coordinated DSL-satellite multicast content delivery
JP2003006085A (en) Contents distribution system, its method and contents distribution program
KR100584323B1 (en) Method for streaming multimedia content
JP2008538466A (en) Adaptive file delivery system and method
CN101651826A (en) Method and device for sending and receiving media and system
US20050289629A1 (en) Application services coordinated satellite multicast content delivery
JPH11187367A (en) Video transmitter, video receiver and video transmitting system using these
US20010021999A1 (en) Method and device for transmitting data units of a data stream
WO2001038984A1 (en) A system and method for maintaining fault tolerance when delivering media on demand
CA2071416A1 (en) Video store and forward apparatus and method
US20080133545A1 (en) Terminal devices with function of distributing data and method and system for distributing multimedia data using the same
JP2004023664A (en) Streaming data distribution method, data distribution server, and data receiving apparatus
JP2002010232A (en) Video information distribution system, information distribution system, information request device, and information provision device
Wang et al. Synchronization schemes for controlling VCR-like user interactions in interactive Multimedia-on-Demand (MOD) systems
JPH11122599A (en) Video on-demand system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ 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 TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

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

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP