← Back to Patent Explorer
US5915094A Expired / Lapsed US ⏱️ 0.0 years remaining

Disk access method for delivering multimedia and video information on demand over wide area networks

Assignee: International Business Machines Corp
•
Filing: 1997-06-02
•
Granted: 1999-06-22
•
Expires: 2017-06-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for delivering multimedia video data from a server (host processor) to a plurality of clients connected to a communications network. More specifically, with this invention, preprocessed video and multimedia data packets are striped across disks in units of fixed playback time, even if such units result in variable length stripes. To deliver multiple video or continuous media streams, the disks in the array are accessed simultaneously so that at any given instance, different disks are accessing the video or multimedia data for different streams. Access to the disks for reading the continuous media files is scheduled periodically, with the period equal to the back time of the stripes. Because each disk read command retrieves data for a fixed play back time, if the first read command for a continuous media stream request can be scheduled to complete on a disk within a playback time, all subsequent read commands are also guaranteed to not interfere with read commands of other streams. Data is delivered directly from the disk array to the communication network by a stream controller without being sent to the host system. Disk storage is utilized efficiently by allocating disk space in units of cylinders and storing the variable size stripes of video in packed format.

Inventors

  • 👤 Jack Lawrence Kouloheris
  • 👤 Manoj Kumar

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 01:02
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; H; H04; H04N; H04N21/00; H04N21/20; H04N21/23; H04N21/232; H04N21/2326; G06F3/0601; G06F3/0602; G06F3/061; G06F3/0613; G06F3/0628; G06F3/0655; G06F3/0659; G06F3/0668; G06F3/067; G06F3/0671; G06F3/0683; G06F3/0689; H04N7/00; H04N7/16; H04N7/173; H04N7/17309; H04N7/17336

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 187 words
In a storage system having a plurality of sets of disks and having a plurality of data units stored therein, where each of said data units is divided into stripes stored in said plurality of sets of disks and with each stripe being sorted in only one set of said disks, a method of retrieving with a single stream controller a multiplicity of requested ones of said data units simultaneously from said plurality of sets of disks, each requested data unit being requested by a corresponding one of a plurality of I/O requests for said requested ones of said data units, said single stream controller implementing the steps of: a. dividing each of said requests into a plurality of read commands, where each said read command is used to retrieve a single stripe of one of said data units from said plurality of sets of disks; b. issuing at least one read command from each of said I/O requests for which data units have not been completely retrieved; and c. successively repeating step b until all of said data units of said I/O requests have been retrieved.
Claim 2
Dependent Claim 187 words
In a storage system having a plurality of sets of disks and having a plurality of data units stored therein, where each of said data units is divided into stripes stored in said plurality of sets of disks and with each stripe being sorted in only one set of said disks, a method of retrieving with a single stream controller a multiplicity of requested ones of said data units simultaneously from said plurality of sets of disks, each requested data unit being requested by a corresponding one of a plurality of I/O requests for said requested ones of said data units, said single stream controller implementing the steps of: a. dividing each of said requests into a plurality of read commands, where each said read command is used to retrieve a single stripe of one of said data units from said plurality of sets of disks; b. issuing at least one read command from each of said I/O requests for which data units have not been completely retrieved; and c. successively repeating step b until all of said data units of said I/O requests have been retrieved.
Claim 3
Dependent Claim 17 words
A method as recited in claim 1, wherein each set of disks has only one disk therein.
Claim 4
Dependent Claim 14 words
A method as recited in claim 1, wherein said data units comprise pre-packetized data.
Claim 5
Dependent Claim 26 words
A method as recited in claim 1, wherein each of said stripes has the same play back time even if said stripes are of variable length.
Claim 6
Dependent Claim 82 words
A method as recited in claim 4, wherein, for each I/O request, said read commands are periodically issued in playback order at regular intervals of duration of said play back time, and wherein a first read command, in said playback order, of each of said requests is issued when a set of disks, of said disks, receiving said first read command is determined to have additional bandwidth available to complete any read command of said read commands within said play back time.
Claim 7
Dependent Claim 111 words
In a network having a server and a plurality of client terminals connected to said server, a method of delivering data to said clients in response to requests for said data, said method comprising: a. pre-packeting and pre-formatting said data in the format of network packets prior to any request therefor and storing said pre-packetized and pre-formatted data in the server; b. upon receiving a request for said data, forming a completed network packet to be transmitted by retrieving said stored pre-packetized and pre-formatted data and completing control information in the header and/or trailer of the pre-packetized and pre-formatted data; and c. transmitting said completed network packet to said requesting client.
Claim 8
Dependent Claim 111 words
In a network having a server and a plurality of client terminals connected to said server, a method of delivering data to said clients in response to requests for said data, said method comprising: a. pre-packeting and pre-formatting said data in the format of network packets prior to any request therefor and storing said pre-packetized and pre-formatted data in the server; b. upon receiving a request for said data, forming a completed network packet to be transmitted by retrieving said stored pre-packetized and pre-formatted data and completing control information in the header and/or trailer of the pre-packetized and pre-formatted data; and c. transmitting said completed network packet to said requesting client.
Claim 9
Independent Claim 129 words
A system for delivering data to a plurality of client terminals over a communications network, said system comprising: a. a plurality of disks; b. a host processor for pre-packetizing said data; c. a stream controller for receiving said pre-packetized data from said host processor and storing it on said disks, said host processor receiving client requests from said clients to retrieve said pre-packetized data stored in said disks and, in response to said client requests, for sending I/O requests to said stream controller, and said stream controller transferring said requested pre-packetized data from said disks to said network in response to said I/O request, said pre-packetized data being transferred without being sent to said host processor, said stream controller transferring said pre-packetized data in the form of network packets.
Claim 10
Independent Claim 129 words
A system for delivering data to a plurality of client terminals over a communications network, said system comprising: a. a plurality of disks; b. a host processor for pre-packetizing said data; c. a stream controller for receiving said pre-packetized data from said host processor and storing it on said disks, said host processor receiving client requests from said clients to retrieve said pre-packetized data stored in said disks and, in response to said client requests, for sending I/O requests to said stream controller, and said stream controller transferring said requested pre-packetized data from said disks to said network in response to said I/O request, said pre-packetized data being transferred without being sent to said host processor, said stream controller transferring said pre-packetized data in the form of network packets.
Claim 11
Dependent Claim 171 words
An apparatus as recited in claim 7, wherein said stream controller comprises: a) a plurality of disk controllers; b) a stream buffer memory; c) a real time control processor; and d) a network interface unit, said control processor receiving said I/O requests from said host processor and dividing each request into a plurality of read commands, said control processor producing a schedule of said read commands and transferring said scheduled read commands to said disk controllers, said disk controllers, in response to said read commands, transferring said pre-packetized data from said disk to said stream buffer memory, said control processor completing control information in the headers and trailers of said pre-packetized data to form completed network packets, said control processor scheduling transmission of said completed packets to said clients and transferring said schedule to said network interface unit, and said network interface transmitting said completed packets from said stream buffer memory to said network in accordance with said schedule, wherein said completed packets are delivered to said client by said network.
Claim 12
Dependent Claim 178 words
An apparatus as recited in claim 7, wherein said stream controller comprises: a) a plurality of disk controllers; b) a stream buffer memory; c) a real time control processor; and d) a network interface unit, said control processor receiving said I/O requests from said host processor and dividing each request into a plurality of read commands, said control processor producing a schedule of said read commands and transferring said scheduled read commands to said disk controllers, said disk controllers, in response to said read commands, transferring said pre-packetized data from said disks to said stream buffer memory, said control processor scheduling transmission of said pre-packetized data to said clients and transferring said schedule to said network interface unit, and said network interface unit reading said pre-packetized data from said stream buffer memory and completing control information in headers and trailers of said pre-packetized data to form completed network packets, and said network interface also transmitting said completed packets to said network in accordance with said schedule, wherein said completed packets are delivered to said client from said network.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-06-21 2002-12-21 2003-06-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-06-21 2006-12-21 2007-06-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-06-21 2010-12-21 2011-06-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag