WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Multimedia on-demand server    
United States Patent5720037   
Link to this pagehttp://www.wikipatents.com/5720037.html
Inventor(s)Biliris; Alexandros (Chatham, NJ); Ozden; Banu (Summit, NJ); Rastogi; Rajeev (New Providence, NJ); Silberschatz; Abraham (Summit, NJ)
AbstractA multimedia on-demand server including a randomly accessible library of multimedia programs (such as movies stored on magnetic or optical disks), a limited amount of RAM to buffer and store selected portions of programs retrieved from the library, and an interface that switchably routes program material from the library and RAM buffers to an audience of viewers. The server employs a restricted retrieval strategy and a novel storage allocation scheme that enable different portions of one or more programs to be continuously retrieved and selectively routed to a large number of on-demand viewers, while at the same time minimizing the amount of the RAM required to effect this service. The on-demand server also responds to viewer-generated commands to control the viewing of a program. In a particular embodiment, these commands include video tape player-like operations such as fast-forward, rewind and pause.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5720037
Multimedia on-demand server - US Patent 5720037 Drawing
Multimedia on-demand server
Inventor     Biliris; Alexandros (Chatham, NJ); Ozden; Banu (Summit, NJ); Rastogi; Rajeev (New Providence, NJ); Silberschatz; Abraham (Summit, NJ)
Owner/Assignee     Lucent Technologies Inc. (Murray Hill, NJ)
Patent assignment
All assignments
Publication Date     February 17, 1998
Application Number     08/260,856
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     June 16, 1994
US Classification     725/92 709/219 709/234 725/88 725/94
Int'l Classification     H04N 007/16
Examiner     Peng; John K.
Assistant Examiner     Flynn; Nathan J.
Attorney/Law Firm    
Address
Parent Case    
Priority Data    
USPTO Field of Search     395/375 395/200.1 395/200.09 395/200.2 395/250 455/3.1 455/4.1 455/4.2 455/5.1 455/6.3 348/7 348/6 348/12 348/13
Patent Tags     multimedia on-demand server
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5521630
Chen
725/90
May,1996

[0 after 0 votes]
5508732
Bottomley
725/93
Apr,1996

[0 after 0 votes]
5477263
O'Callaghan
725/102
Dec,1995

[0 after 0 votes]
5461415
Wolf
725/88
Oct,1995

[0 after 0 votes]
5442390
Hooper
725/90
Aug,1995

[0 after 0 votes]
5341474
Gelman
725/94
Aug,1994

[0 after 0 votes]
5172413
Bradley
725/121
Dec,1992

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


We claim:

1. A multimedia server comprising:

an addressable memory media including a first addressable memory device and a second addressable memory device where the first addressable memory device has a latency of t.sub.lat1 and a data transfer rate r.sub.t, said first addressable memory device being adapted for storing program information in plurality of sequential data segments, where each of said data segments is partitioned into n portions with each of said portions having d bits of information such that each of said data segments contains (n.multidot.d) bits;

the second addressable memory device having a data transfer rate of r.sub.t and a latency of t.sub.lat2, said second addressable memory device being adapted for storing program information of duration t.sub.lat1 in plurality of sequential data segments, where each of said data segments contains (n.multidot.d) bits and where t.sub.lat2 <<t.sub.lat1 such that the stored information can be completely retrieved from the second addressable memory device within a time period that is less than t.sub.lat1 and

a plurality of buffer memories, each dedicated to continually relaying the data contained within one of said sequential data segments to a communication network, wherein each of said buffer memories receives d bits of program information from a particular one of said sequential data segments at a rate r.sub.t from said addressable memory media, stores said received d bits of information, and then transfers said stored d bits of information to said communication network at a rate r.sub.d, while simultaneously receiving, at a rate r.sub.t, from said addressable memory media, another d bits of program information associated with said particular one of said sequential data segments.

2. The multimedia server of claim 1 wherein said first addressable memory device comprises a magnetic disk, and wherein said second addressable memory device comprises a random access semiconductor memory.

3. The multimedia server of claim 1 wherein said first addressable memory device comprises an optical disk, and wherein said second addressable memory device comprises a random access semiconductor memory.

4. The multimedia server of claim 1 wherein said communication network comprises a public telecommunications network.

5. The multimedia server of claim 1 wherein said program information comprises data representative of a video signal.

6. A multimedia server system comprising:

an addressable memory media including a first addressable memory device having a latency of t.sub.lat1 and a data transfer rate of r.sub.t, said first addressable memory device being adapted for storing program information in plurality of sequential data segments, where each of said data segments is partitioned into n portions with each of said portions having d bits of information such that each of said data segments contains (n.multidot.d) bits, and a second addressable memory device having a data transfer rate of r.sub.t and a latency of t.sub.lat2, said second addressable memory device being adapted for storing program information of duration t.sub.lat1 in plurality of sequential data segments, where each of said data segments contains (n.multidot.d) bits and where t.sub.lat2 <<t.sub.lat1 such that the stored information can be completely retrieved from the second addressable memory device within a time period that is less than t.sub.lat1 and

a plurality of buffer memories, each dedicated to continually relaying the data contained within one of said sequential data segments to a switching system, wherein each of said buffer memories receives d bits of program information from a particular one of said sequential data segments at a rate r.sub.t from said addressable memory media, stores said received d bits of information, and then transfers said stored d bits of information to said switching system at a rate r.sub.d, while simultaneously receiving, at a rate r.sub.t, from said addressable memory media, another d bits of program information associated with said particular one of said sequential data segments, said switching system being adapted to selectively connect one or more of said plurality of buffer memories with at least one data interface that is adapted to receive and decode the program information output by said plurality of buffer memories.

7. The multimedia server system of claim 6 wherein said first addressable memory device comprises a magnetic disk, and wherein said second addressable memory device comprises a random access semiconductor memory.

8. The multimedia server system of claim 6 wherein said first addressable memory device comprises an optical disk, and wherein said second addressable memory device comprises a random access semiconductor memory.

9. The multimedia server system of claim 6 wherein the connection between said switching system and said data interface is effected via a public telecommunications network.

10. The multimedia server system of claim 6 wherein said program information comprises data representative of a video signal.

11. A multimedia server system comprising:

an addressable memory media including a first addressable memory device having a latency of t.sub.lat1 and a data transfer rate of r.sub.t, said first addressable memory device being adapted for storing program information in plurality of sequential data segments, where each of said data segments is partitioned into n portions with each of said portions having d bits of information such that each of said data segments contains (n.multidot.d) bits, and a second addressable memory device having a data transfer rate of r.sub.t and a latency of t.sub.lat2, said second addressable memory device being adapted for storing program information of duration t.sub.lat1 in plurality of sequential data segments, where each of said data segments contains (n.multidot.d) bits and where t.sub.lat2 <<t.sub.lat1 such that the stored information can be completely retrieved from the second addressable memory, device within a time period that is less than t.sub.lat1 and

a plurality of buffer memories, each dedicated to continually relaying the data contained within one of said sequential data segments to a programmable switching system, wherein each of said buffer memories receives d bits of program information from a particular one of said sequential data segments at a rate of r.sub.t from said addressable memory media, stores said received d bits of information, and then transfers said stored d bits of information to said programmable switching system at a rate r.sub.d, while simultaneously receiving, at a rate r.sub.t from said addressable memory media, another d bits of program information associated with said particular one of said sequential data segments, said programmable switching system being adapted to selectively connect one or more of said plurality of buffer memories with at least one data interface in response to viewer generated commands, said data interface being adapted to receive and decode the program information output by said plurality of buffer memories, and said data interface being further adapted to receive said viewer generated commands and transmit said commands to said programmable switching system.

12. The multimedia server system of claim 11 wherein said first addressable memory device comprises a magnetic disk, and wherein said second addressable memory device comprises a random access semiconductor memory.

13. The multimedia server system of claim 11 wherein said first addressable memory device comprises an optical disk, and wherein said second addressable memory device comprises a random access semiconductor memory.

14. The multimedia server system of claim 11 wherein the connection between said programmable switching system and said data interface is effected via a public telecommunications network.

15. The multimedia server system of claim 11 wherein said program information comprises data representative of a video signal, and the decoding of said program information by said data interface results in the production of a video signal comprising at least one video frame.

16. The multimedia server system of claim 15 wherein, in response to a particular viewer generated command, said programmable switching system facilitates the sequential transmission of the data segments from each of the buffer memories to said data interface, so that said sequentially transmitted data segments, when decoded, provide a continuous representation of the video signal program information stored within said addressable memory media.

17. The multimedia server system of claim 15 wherein, in response to a particular viewer generated command, the data interface repetitively produces a video signal representing a single video frame.

18. The multimedia server system of claim 15 wherein, in response to particular viewer generated commands, said programmable switching system facilitates the transmission of data representing non-contiguous sequences of video frames from at least one of said buffer memories to said data interface, so that said transmitted data, when decoded, provides an accelerated representation of the video signal program information stored within said addressable memory media.

19. The multimedia server system of claim 15 wherein, in response to particular viewer generated commands, said programmable switching system facilitates the sequential transmission of data representing video frames from at least a particular one of said buffer memories to said data interface, which, when decoded, provides a continuous representation of a specific portion the video signal program information stored within said addressable memory media.

20. A multimedia server system comprising:

an addressable memory media including a magnetic disk having a latency of t.sub.lat1 and a data transfer rate of r.sub.t, said magnetic disk being adapted for storing information representative of a video signal in plurality of sequential data segments, where each of said data segments is partitioned into n portions with each portion having d bits such that each of said data segments contains (n.multidot.d) bits, and a random access semiconductor memory having a data transfer rate of r.sub.t and a latency of t.sub.lat2, said random access semiconductor memory being adapted for storing information representative of a video signal of duration t.sub.lat1 in plurality of sequential data segments, where each of said data segments contains (n.multidot.d) bits and where t.sub.lat2 <<t.sub.lat1 such that the stored information can be completely retrieved from the second addressable memory device during a time period that is less than t.sub.lat1 and

a plurality of buffer memories, each dedicated to continually relaying the data contained within one of said sequential data segments to a programmable switching system, wherein each of said buffer memories receives d bits of information representative of a video signal from a particular one of said sequential data segments at a rate of r.sub.t from said addressable memory media, stores said received d bits of information, and then transfers said stored d bits of information to said programmable switching system at a rate r.sub.d, while simultaneously receiving, at a rate r.sub.t from said addressable memory media, another d bits of information associated with said particular one of said sequential data segments, said programmable switching system being adapted to selectively connect one or more of said plurality of buffer memories with at least one data interface in response to viewer commands, said data interface being adapted to receive and decode the program information output by said plurality of buffer memories, and said data interface being further adapted to receive said viewer commands and transmit said viewer commands to said programmable switching system.

21. The multimedia server system of claim 20 further comprising a second random access semiconductor memory containing data representing a high-speed version of the data stored within said addressable memory media, said second random access semiconductor memory being linked to said programmable switching system, and configured to provide said high-speed version data to said data interface in response to said viewer commands.

22. The multimedia server system of claim 21 wherein said information stored upon said addressable memory media consists of data representing intra, bi-directional and predicted video frames, and said information is encoded so that the data representing any two consecutive intra video frames is separated by data representing (2k+1) groupings of three video frames, where k is a positive integer and each grouping of three video frames consists of a pair of bi-directional video frames followed by a predicted video frame.

23. The multimedia server system of claim 22 wherein the information stored upon said second random access semiconductor memory consists of data representing intra, bi-directional and predicted video frames, and said information is encoded so that the data representing any two consecutive intra video frames is separated by data representing a single grouping of three video frames consisting of a pair of bi-directional video frames followed by a predicted video frame.

24. The multimedia server system of claim 20 further comprising a high-speed video data buffer adapted for collecting and storing a high-speed version of the data stored within said addressable memory media, said high-speed video data buffer being linked to said programmable switching system, and configured to provide said high-speed version data to said data interface in response to said viewer commands.

25. The multimedia server system of claim 23 wherein said information stored upon said addressable memory media consists of data representing intra, bi-directional and predicted video frames, and said information is encoded so that the data representing any two consecutive intra video frames is separated by data representing (2k+1) groupings of three video frames, where k is a positive integer and each grouping of three video frames consists of a pair of bi-directional video frames followed by a predicted video frame.

26. The multimedia server system of claim 25 wherein the information stored upon said high-speed video data buffer consists of data representing intra, bi-directional and predicted video frames, and said information is encoded so that the data representing any two consecutive intra video frames is separated by data representing a single grouping of three video frames consisting of a pair of bi-directional video frames followed by a predicted video frame.

27. In a multimedia server system comprising:

an addressable memory media including a first addressable memory device having a latency of t.sub.lat1 and a data transfer rate of r.sub.t, said first addressable memory device being adapted for storing program information in plurality of sequential data segments, where each of said data segments contains (n.multidot.d) bits;

a second addressable memory device having a data transfer rate of r.sub.t and a latency of t.sub.lat2, said second addressable memory device being adapted for storing program information of duration t.sub.lat1 in plurality of sequential data segments, where t.sub.lat2 <<t.sub.lat1 such that the stored information can be completely retrieved from the second addressable memory during a time period that is less than t.sub.lat1 and where each of said data segments is partitioned into n portions with each portion having d bits of information such that each of said data segments contains (n.multidot.d) bits; and

a plurality of buffer memories, each dedicated to continually relaying the data contained within one of said sequential data segments to a programmable switching system, wherein each of said buffer memories receives d bits of program information from a particular one of said sequential data segments at a rate of r.sub.t from said addressable memory media, stores said received d bits of information, and then transfers said stored d bits of information to said programmable switching system at a rate r.sub.d, while simultaneously receiving, at a rate r.sub.t form said addressable memory media, another d bits of programming information associated with said particular one of said sequential data segments, said programmable switching system being adapted to selectively connect one or more of said plurality of buffer memories with at least one requesting viewer in response to viewer generated commands;

a method for retrieving multimedia information, comprising the steps of:

receiving a viewer generated command requesting particular information stored within said addressable memory means;

establishing a connection between at least one of said buffer memories and said requesting viewer in response to said received viewer generated command, and

transmitting to said requesting viewer at least one data segment associated with said requested information via a particular one of said buffer memories and said programmable switching system.

28. The method of claim 27 wherein said first addressable memory device comprises a magnetic disk, and wherein said second addressable memory device comprises a random access semiconductor memory.

29. The method of claim 27 wherein said first addressable memory device comprises an optical disk, and wherein said second addressable memory device comprises a random access semiconductor memory.

30. The method of claim 27 wherein the connection between said programmable switching system and said requesting viewer is established via a public telecommunications network.

31. The method of claim 27 wherein said program information comprises data representative of a video signal, and decoding said program information results in the production of a video signal comprising at least one video frame.

32. The method of claim 31 wherein further comprising the step of effecting sequential connections to a plurality of said buffer memories via said programmable switching system in response to a received viewer generated command, and thereby provide said requesting viewer with a continuous representation of the video signal program information stored within said addressable memory media.

33. The method of claim 31 further comprising the step of repetitively providing said requesting viewer with data representing a single frame of video in response to a received viewer generated command.

34. The method of claim 31 further comprising the step of transmitting, via said programmable switching system, data representing non-contiguous sequences of video frames from at least one of said buffer memories to said requesting viewer in response to a received viewer generated command, so that said transmitted data, when decoded, provides an accelerated representation of the video signal program information stored within said addressable memory media.

35. The method of claim 31 further comprising the step of transmitting, via said programmable switching system, data representing video frames from at least a particular one of said buffer memories to said requesting viewer in response to a received viewer generated command, wherein said transmitted data provides a continuous representation of a specific portion the video signal program information stored within said addressable memory media.

36. In a multimedia server system comprising:

an addressable memory media including a magnetic disk having a latency of t.sub.lat1 and a data transfer rate of r.sub.t, said magnetic disk being adapted for storing information representative of a video signal in plurality of sequential data segments, where each of said data segments is partitioned into n portions with each portion having d bits of information such that each of said data segments contains (n.multidot.d) bits, and a random access semiconductor memory having a data transfer rate of r.sub.t and a latency t.sub.lat2, said random access semiconductor memory being adapted for storing information representative of a video signal of duration t.sub.lat1 in plurality of sequential data segments, where each of said data segments contains (n.multidot.d) bits and where t.sub.lat2 <<t.sub.lat1, such that the stored information can be completely retrieved from the second addressable memory during a time period that is less than t.sub.lat1 and

a plurality of buffer memories, each dedicated to continually relaying the data contained within one of said sequential data segments to a programmable switching system, wherein each of said buffer memories receives d bits of program information from a particular one of said sequential data segments at a rate of r.sub.t from said addressable memory media, stores said received d bits of information, and then transfers said stored d bits of information to said programmable switching system at a rate r.sub.d, while simultaneously receiving, at a rate r.sub.t form said addressable memory media, another d bits of programming information associated with said particular one of said sequential data segments, said programmable switching system being adapted to selectively connect one or more of said plurality of buffer memories with at least one requesting viewer in response to viewer generated commands;

a method for retrieving multimedia information, comprising the steps of:

receiving a viewer generated command requesting information representing a particular video signal stored within said addressable memory means;

establishing a connection between at least one of said buffer memories and said requesting viewer in response to said received viewer generated command, and

transmitting to said requesting viewer at least one data segment associated with said requested information via a particular one of said buffer memories and said programmable switching system.
 Description Submit all comments and votes
 


TECHNICAL FIELD

The invention relates to providing multiple-user access to a multimedia database, and in particular, to on-demand access to such a database.

BACKGROUND OF THE INVENTION

The movie on demand ("MOD") concept has become exceedingly popular within the telecommunications, computer and cable television industries. Viewers that subscribe to a MOD service have access to a much wider range of content than subscribers to ordinary broadcast-based television or cable networks. MOD subscribers can, at any time they wish, view a movie that they select from among a particular set of available movies. Furthermore, while watching the selected movie, a MOD subscriber can typically control the viewing via an interface that provides video tape player functions. For example, a subscriber may pause and then resume viewing the movie, or skip forward or backward within the movie (analogous to the fast-forward and rewind functions of a video tape player). Thus, MOD systems differ substantially from today's standard broadcast television and cable systems in which, at any given time, all the viewers see the same portion of the same movie, and viewers have no control over its transmission.

Until recently, relatively low telecommunication and cable network bandwidths and limited-capacity video storage technologies made offering MOD services to a significant number of viewers a difficult task. However, present optical fiber networks have bandwidths of several gigabits/second. Furthermore, not only is it now possible to store video data in digital form, but it is also possible to obtain compression ratios that are as high as forty to one. For example, a 30 frames/second video signal, can be compressed to only 1.5 megabits/second by employing the Motion Picture Experts Group algorithm ("MPEG compression") set forth by D. Gall in Communications of the ACM, 34(4), pages 46-58, "MPEG: A video compression standard for multimedia applications," April 1991. Thus, using present networking technology, it is possible to concurrently transmit independent video streams to thousands of viewers.

Although the problem of transmitting video data has been considerably simplified by the availability of high bandwidth networks, the design and implementation of a practical MOD storage server that enables the simultaneous retrieval of different portions of different movies by different subscribers remains a significant technological hurdle. A storage architecture for a MOD server must facilitate the continuous retrieval of movies, as well as provide video tape player-like functions, and the ability to simultaneously service multiple subscribers. In addition, the server must have a relatively low-cost.

Generally, a MOD server will include a cache for temporarily storing the movies that are to be made available to subscribers. These movies will be loaded onto the cache from a library that provides a permanent storage location for the movies (e.g., an addressable collection of video tapes or disks). In its basic configuration, the cache can consist of a large random access memory ("RAM") having a flat architecture. However, this approach will increase the cost of the MOD server substantially due to the vast amounts of semiconductor RAM needed to store any given movie, and the high cost of RAM. For example, an MPEG compressed 100 minute movie, having an average bandwidth of 1.5 megabits/second, will require approximately 1.1 gigabytes of RAM storage. Assuming the cost of RAM is $50.00 per megabyte, the cost of the RAM component alone for a single movie MOD server would approach $55,000. This cost would rise to $5.5 million for a RAM-based cache capable of storing 100 movies.

It is well known in the art to provide systems that facilitate the continuous retrieval of video and audio data from a storage medium, such as a disk, in response to multiple concurrent requests for the retrieval of multimedia objects residing on a disk (see D. P. Anderson, Y Osawa, R. Govidan, A file system for continuous media, ACM Transactions on Computer Systems, 10(4), pages 311-337, November 1992; H. J. Chen, T. D. C. Little, Physical storage organizations for time-dependent data, Foundations of Data Organization and Algorithms, pages 19-34, Springer-Verlag, October 1993; P. V. Rangan, H. M. Vin, Efficient storage techniques for digital continuous multimedia, IEEE Transactions on Knowledge and Data Engineering, 5(4), pages 564-573, August 1993; P. V. Rangan, H. M. Vin, S. Ramanathan, Designing an on-demand multimedia service, IEEE Communications Magazine, 1(1), pages 56-64, July 1992; C. Yu, W. Sun, D. Bitton, Q. Yang, R. Bruno, J. Tulis, Efficient placement of audio data on optical disks for real-time applications, Communications of the ACM, 32(7), pages 862-871, July 1989). However, under these schemes, concurrent requests are serviced in a round-robin fashion retrieving successive portions of multimedia objects and performing multiple seeks in each round. Thus, the schemes are unsuitable for handling large number of requests concurrently.

SUMMARY OF THE INVENTION

The aforementioned problems are solved, in accordance with the principles of the invention, by providing a multimedia on-demand server including a randomly-accessible library of multimedia programs (such as movies stored on magnetic or optical disks), a limited amount of RAM to buffer and store selected portions of programs retrieved from the library, and an interface that switchably routes program material from the library and RAM buffers to an audience of viewers. The server employs a restricted retrieval strategy and a novel storage allocation scheme that enable different portions of one or more programs to be continuously retrieved and selectively routed to a large number of on-demand viewers, while at the same time minimizing the amount of the RAM required to effect this service. The on-demand server also responds to viewer-generated commands to control the viewing of a program. In a particular embodiment, these commands include video tape player-like operations such as fast-forward, rewind and pause.

BRIEF DESCRIPTION OF THE DRAWING

In the drawing:

FIG. 1 shows, in simplified block diagram form, the architecture of a multimedia on-demand server incorporating an embodiment of the invention;

FIG. 2A is a depiction of a (p.multidot.1) partition of data representing a movie retrieved from within program library 100 of FIG. 1;

FIG. 2B is a depiction of p-by-n matrix arrangement of data representing a movie retrieved from within program library 100 of FIG. 1;

FIG. 3 is a depiction of the frame sequencing of the MPEG-encoded video transmitted to viewers within the system of FIG. 1;

FIG. 4 shows, in simplified block diagram form, the architecture of a multimedia on-demand server incorporating a dedicated RAM that stores a high-speed version of a movie;

FIG. 5A shows, in simplified block diagram form, the architecture of a multimedia on-demand server incorporating disks for storing high-speed versions of a movie;

FIG. 5B is a depiction of p-by-n.sub.ff matrix arrangement of data representing a movie retrieved from disk 503 of FIG. 5A; and

FIG. 6 shows, in simplified block diagram form, the architecture of a multimedia on-demand server incorporating a circular buffer that stores a high-speed version of a movie.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 shows, in simplified form, the architecture of a multimedia on-demand server incorporating an embodiment of the invention. Specifically shown is multimedia program library 100, which includes randomly-accessible magnetic disk labeled 101 and RAM 102, both of which serve to store digital program information representing audio and video signals that comprise a feature-length movie. For reasons that will become evident, digital information representing a small portion of the beginning of the movie is stored within RAM 102, and remainder of the movie information is stored upon magnetic disk 101. This digital program information is retrieved from RAM 102 and magnetic disk 101, and transmitted along lines 103-107 to RAM buffers (108-112). The output of each RAM buffer is linked to switch 113 via one of lines 114-118, and the output of switch 113 may be selectively linked to individual viewers via transmission lines 119 and telecommunication network 120. Switch 113 is a programmable switch adapted to controllably direct the distribution and transmission of multimedia signals among the various transmission lines in response to commands from controller 121 (such programmable switches are well known in the art). Only 20 transmission lines are shown exiting switch 113; however, as indicated by the dots shown in FIG. 1, transmission lines can be added to provide for an increased number of viewers.

Telecommunication network 120 is connected to program decoder/viewer interface ("decoder/interface") 122 via lines 123 and 124. As shown, line 123 serves to provide the viewer with program information, and line 124 serves to convey viewer generated information into the network. This viewer generated information is then communicated to controller 121 via line 125. Decoder/interface 122 is also linked to video display 126.

The rate, r.sub.d, at which program information is transmitted to network 120 (and therefore to viewers) from video switch 113 cannot exceed the bandwidth of any given one of the transmission lines (collectively labeled 119). However, this transmission rate must be sufficiently high so as to provide enough data to generate thirty frames of video per second (the standard television rate). Within the system of FIG. 1, r.sub.d is 1.5 megabits/second (0.1875 megabytes/second)--a rate suitable for supporting the transmission of thirty frames of MPEG compressed video per second. The rate of retrieval, r.sub.t, of program information from magnetic disk 101 on the order of 20 megabytes/second, with a latency, t.sub.lat, (i.e., the maximum time to access and read or write a random location upon the magnetic disk), of 35 milliseconds. Magnetic disks having 10,000 megabyte capacities, 20 megabyte/second retrieval rates, and maximum latencies of 35 milliseconds are commercially available (for example, the ST410800W Elite 9 magnetic disk drive manufactured by Seagate Technology, Inc. of Scotts Valley, Calif.). A storage capacity of approximately 10,000 megabytes enables program library 100 to store on the order of eight 100 minute movies compressed in the 1.5 megabits/second MPEG format.

Within the system illustrated in FIG. 1, an optimal program retrieval and storage allocation scheme is employed to maximize the number of potential on-demand program viewers, while keeping RAM buffer capacity requirements to a minimum. In this scheme, the retrieval of program information (such as a movie) initiated at a given time is referred to as a phase. For example, if a first on-demand viewer initiated retrieval of a particular movie from program library 100 at 1:00, another on-demand viewer initiated retrieval of that same movie at 1:10, and yet another on-demand viewer initiated retrieval of the movie at 1:15, each viewer would be receiving a separate phase of the movie. Naturally, each viewer would receive the particular phase via different transmission lines (collectively labeled 119), and via separate connections to network 123. The maximum number of concurrent phases, p, which can be supported by the system of FIG. 1 is given by: ##EQU1##

The amount of RAM buffer required to support each phase is kept to a minimum by employing a restricted retrieval scheme, referred to as phase-constrained allocation. This allocation scheme eliminates seeks to random disk locations, and thereby enables the concurrent retrieval of p phases, while allowing the size of the RAM buffer for each phase to be kept constant--independent of the number of phases being retrieved and the latency associated with disk 101.

In order to support p concurrent phases within the system of FIG. 1, the movie data stored within program library 100 must be separated into p contiguous partitions. If l is the length, in seconds, of a movie stored within program library 100, then the movie occupies lr.sub.d bits. The system of FIG. 1 is configured so that movie data is read from program library 100 in d size portions, where d is arbitrarily chosen to be 50 kilobits. As will become evident, each buffer within the system of FIG. 1 must have a capacity of 2d, and 100 kilobit RAM buffers can be easily and inexpensively obtained. Ideally, the length l of the movie is set so that (l.multidot.r.sub.d) is a multiple of (p.multidot.d) to assure that it may be retrieved in an integer number of d sized portions after it is partitioned into p segments. Of course, any movie can be modified to conform to this constraint by appending advertisements, previews or blank frames to lengthen the movie, or by editing the movie to shorten it.

Each of these p data partitions can be visualized as a (p.multidot.1) vector (see FIG. 2A), wherein each row within the vector contains t.sub.c .multidot.r.sub.d bits of movie data, and where ##EQU2## Assuming a 100.7 minute movie (an arbitrary length chosen because it is divisible by (p.multidot.d)), the value of t.sub.c is computed as follows: ##EQU3## Given such an arrangement, the smallest phase difference that the system of FIG. 1 will support is equal to t.sub.c, because the first bit in any two adjacent rows within the (p.multidot.1) vector will be t.sub.c seconds apart.

Since movie data in each row is retrieved in portions of size d, a row can be further viewed as consisting of n portions of size d, where: ##EQU4## Thus, the movie can be represented as a (p.multidot.n) matrix of data as shown in FIG. 2B. Each portion in the matrix can be uniquely identified by the row and column to which it belongs.

The movie is sequentially stored within program library 100 in column-major form. That is, all the data within the first column of FIG. 2B is stored within program library 100, followed by all the data within the second column of FIG. 2B, and the next column, until finally, the data within the nth column has been stored. All of this movie data is stored upon disk 101, with the exception of the initial (t.sub.lat .multidot.r.sub.d) bits of the column-major movie data. These initial bits must be stored within RAM 102 to compensate for the inherent delay of repositioning the heads of disk 101. RAM 102 need only have a capacity of (t.sub.lat .multidot.r.sub.d) bits, which is only 52,500 bits for the system of FIG. 1. The necessity of this combination RAM/disk storage scheme is explained below.

By sequentially reading the column-major form data from program library 100, movie data from rows 1 through p are retrieved at a rate r.sub.d. For each of the p rows of the data matrix illustrated in FIG. 2B, there is a dedicated line linking program library 100 and video switch 113. Similarly, for each data matrix row there is a dedicated RAM buffer into which consecutive portions of a row are stored and retrieved. For purposes of illustration, only five lines linking program library 100 and video switch 113, and only five RAM buffers (with their associated input and output lines) are explicitly shown in FIG. 1. As indicated by the dots, additional buffers and lines are provided to accommodate the p of columns in the data matrix. As the data from each row is retrieved from disk it is routed through the corresponding dedicated line to the corresponding dedicated buffer.

Each of the RAM buffers (108-112) is implemented as a circular buffer. That is, if while writing into a buffer, the last memory location within that buffer is reached, then further bits are written at the beginning of the RAM buffer. Similarly, while reading data, if the last memory location of a buffer is read, then subsequent bits are read from the beginning of the buffer. To support the above circular storage scheme, every t.sub.c /n seconds, the next consecutive column of movie data is retrieved from disk and stored in a RAM buffer. The size of each RAM buffer is fixed at a size 2d. For each column of data within the matrix of FIG. 2B, d bits of data associated with a particular row are transmitted to viewers from a first group of d memory sites within the RAM buffer dedicated to the data stored in that particular row, while the d bits of data associated with that same row, but the next consecutive column is stored in another d memory sites of that same dedicated buffer. This arrangement of reading column-major data from program library 100 and transmitting it to switch 113 via the dedicated lines and RAM buffers makes p individual streams of data continually and concurrently available to viewers. Each of these streams represents a different t.sub.c second segment of the movie. For example, the segment provided to switch 113 via line 103, buffer 108 and line 114 is the movie from time 0 through t.sub.c (0-57 seconds); the segment provided to switch 113 via line 104, buffer 108 and line 115 is the movie from time t.sub.c through 2t.sub.c (57-114 seconds); the segment provided via line 105, buffer 110 and line 116 is the movie from time 2t.sub.c through 3t.sub.c (114-171 seconds); and so on through line 107, buffer 112 and line 118 that provides the final movie segment (corresponding to time (p-1)t.sub.c through pt.sub.c).

Once the nth column of data has been retrieved, the disk heads must be repositioned to the start of disk 101 so that the