← Back to Patent Explorer
EP0716370A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

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

Assignee: International Business Machines Corp
•
Filing: 1995-11-10
•
Granted: —
•
Expires: 2015-11-10
📄 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 L. Kouloheris
  • 👤 Manoj Kumar

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-02 02:05
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 156 words
In a storage system having a plurality of sets of disks and having a number of data units stored therein, where each of said data units are divided into stripes stored in said plurality of sets of disks and with each stripe being stored in only one set of said disks, a method of retrieving requested ones of said data units, each requested data unit being requested by a corresponding one of I/O requests for said requested ones of said data units, said method comprising: a. dividing each of said requests into a plurality of read commands, where each said read command is used to retrieve a stripe of one of said data units; b. simultaneously 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 17 words
A method as recited in claim 1, wherein each set of disks has only one disk therein.
Claim 3
Dependent Claim 14 words
A method as recited in claim 1, wherein said data units comprise pre-packetized data.
Claim 4
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 5
Dependent Claim 82 words
A method as recited in claim 4, wherein, for each I/O request, sid 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 6
Dependent Claim 161 words
A storage and retrieval system having a plurality of sets of disks and having a number of data units stored therein, where each of said data units are divided into stripes stored in said plurality of disks and with each stripe being stored in only one set of said disks, an apparatus for retrieving requested ones of said data units, each requested data unit being requested by a corresponding one of I/O requests for said requested ones of said data units, said apparatus comprising: a. means for dividing each of said requests into a plurality of read commands, where each said read command is used to retrieve a stripe of one of said data units, b. means for simultaneously issuing at least one read command from each of said I/O requests for which data units have not been completely retrieved; and c. means for successively repeating step b until all of said data units of said I/O requests have been retrieved.
Claim 7
Independent Claim 78 words
A method of storing data units on a plurality of disks to maximize utilization of disk storage space and to minimize retrieval time, said method comprising: a. dividing each of said data units into a plurality of stripes; b. storing said stripes on said disks such that any cylinder on any of said disks stores only stripes from a same one of said data units; and c. storing each of said stripes on only one of said cylinders.
Claim 8
Dependent Claim 27 words
A method as recited in claim 7, wherein cylinders at identical locations of all of said disks are used to store stripes of the same data unit.
Claim 9
Dependent Claim 85 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-packetizing said data prior to any request therefore and storing it in the server; b. upon receiving a request for said pre-packetized data, forming a completed packet to be transmitted by retrieving the pre-packetized data and completing the header and/or trailer; and c. transmitting said packet to said requesting client.
Claim 10
Independent Claim 120 words
A system for delivering portions of 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 in said disk, said host processor receiving client requests from said clients to retrieve said portions of said packetized data stored on said disks and, in response to said client requests, for sending an I/O request to said stream controller, and said stream controller transferring said requested data from said disk to said network in response to said I/O request, said portions being transferred without being sent to said host processor.
Claim 11
Dependent Claim 162 words
An apparatus as recited in claim 10, wherein said stream controller comprises: a. a plurality of disk controllers; b. a stream buffer memory; c. a real time control processor; d. a network interface unit; and e. said control processor receiving said I/O requests from said host processor and dividing each request into a plurality of read commands, said control processors scheduling said read commands and transferring said scheduled read commands to said disk controllers, said disk controllers, in response to said read commands, transferring data from said disk to said stream buffer memory, said control processor completing headers and trailers of said pre-packetized data to form completed packets, and 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 delivered to said client by said network.
Claim 12
Dependent Claim 171 words
An apparatus as recited in claim 10, 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, e. said control processor receiving said I/O requests from said host processor and dividing each request into a plurality of read commands, said control processors scheduling 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 scheduling transmission of said pre-packetized data to said clients and transferring said schedule to said work interface unit, and said network interface unit reading said pre-packetized data from said stream buffer memory and completing headers and trailers of said packets to form completed packets, and said network interface also transmitting said completed packet to said network in accordance with said schedule, wherein said completed packets are delivered to said client from said network.

References Cited (Backward Citations)

US5148432A Cited
US5163131A Cited

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag