EP0855055A2 - Bandwidth regulation system for multichannel memory arrays - Google Patents

Bandwidth regulation system for multichannel memory arrays

Info

Publication number
EP0855055A2
EP0855055A2 EP97928404A EP97928404A EP0855055A2 EP 0855055 A2 EP0855055 A2 EP 0855055A2 EP 97928404 A EP97928404 A EP 97928404A EP 97928404 A EP97928404 A EP 97928404A EP 0855055 A2 EP0855055 A2 EP 0855055A2
Authority
EP
European Patent Office
Prior art keywords
bandwidth
channel
data
access
channels
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
EP97928404A
Other languages
German (de)
English (en)
French (fr)
Inventor
Joseph E. Hoeg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Philips Electronics NV
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 Koninklijke Philips Electronics NV, Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of EP0855055A2 publication Critical patent/EP0855055A2/en
Withdrawn legal-status Critical Current

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

Definitions

  • This invention relates generally to plural user memory arrays and particularly to those processing data in a plurality of data channels.
  • the amount of data and the speed with which the data is to be stored and retrieved within any given data channel is typically expressed as a channel bandwidth. This bandwidth in turn is usually quantified in terms of the number of bytes of data per second flowing through the channel.
  • Many high speed, high bandwidth data systems are operative to serve a plurality of simultaneous users. In addition, such systems often process different types of data simultaneously within the various data channels.
  • video server systems One environment in which such high speed, high bandwidth data storage and retrieval systems are operative to serve a plurality of users is found in video server systems.
  • the basic operation of video servers is relatively simple to identify in that a large array of memories is provided with a plurality of input/output systems which are operative to store input data within the memory array and retrieve output data from the memory array.
  • the memory array is formed of a plurality of disk drive memories operating under the control of an array controller.
  • Each user or viewer served by a video server system is actually utilizing a plurality of data channels for processing various forms of data such as video data, audio data, and control or timing code information which combine to form the program material.
  • video servers While early video servers were, in essence, multiple channel players and recorders, more recent video server systems have provided interactive capability for the user. Such interactive systems are usually referred to as video-on-demand systems.
  • each user is able to independently control the data flow by exercising various options or features such as fast forward, reverse, pause and program switching. These features are similar to features which users of individual videotape recorders enjoy. These various features are extremely advantageous and desirable for the user. However, such features also place great performance burdens upon the video server system.
  • video servers are well suited to steady normal play or record operation but are often hard pressed to accommodate accelerated data demands and rapid changes such as fast forward or the like. Such changes require generally substantial increases in the data flow rate or bandwidth of the various channels serving the user.
  • video systems may allow other channels to suffer data interruption.
  • the cost of interactive capability for many video servers may be a reduction in the quality of overall system performance.
  • interruption of normal steady-state "play" operations is a serious system malfunction and should be avoided if possible.
  • the system set forth therein utilizes a plurality of input/output modules, usually referred to as VR cards, which communicate with a plurality of array controllers through a rotating commutator.
  • the commutator functions to sequentially couple each VR card to each array controller in a repeating sequential coupling.
  • Each array controller in turn is coupled to a disk manager which operates and controls a plurality of disk drive memories. Data flows to and from the array controllers and their respective pluralities of disk drive memories in response to requests made by the VR cards for access to the array controller.
  • Each VR card simultaneously processes a plurality of individual data streams usually referred to as channels.
  • the VR card running the application is sequentially coupled to each array controller within the plurality of array controllers for a brief interval during which the VR card presents requests for access to the disk drive memories through the array controller.
  • Each VR card makes a sufficient number of requests during its coupling to an array controller to meet the data flow needs of its plurality of channels.
  • This system has proven advantageous and effective due, in part, to the effective distribution of bandwidth across the plural array controllers.
  • the above system is extremely effective. Data is moved quickly and efficiently from the pluralities of disk drive memories with sufficient speed (bandwidth) to maintain apparent continuous data flow to the users.
  • the present invention meets these objectives by providing a system of bandwidth management in which transfers of data to and from the memory array are made in response to requests made by the VR cards. Further, the system operates within the above- described type of video server to maintain existing bandwidths for current normal or steady state channels by forcing channels having increased bandwidth demands due to operational changes to have their requests for access denied by the array controller if an interruption of steady state channels would result. This is accomplished by providing each array controller with a plurality of downcounting timers (one per channel) each of which stores a timer value referred to as the "police timer value" which is peculiar to that channel. Each array controller also includes a request inhibitor controlled by the timer state for each channel. A bandwidth manager and resource manager are provided which process all VR card requests for access to the array controllers.
  • the bandwidth manager monitors various system operating conditions such as total system bandwidth available and current bandwidth in use.
  • the bandwidth manager also computes the police timer value in the form of a time interval for each channel.
  • Each downcounting timer for each channel is set to its police timer value.
  • This police timer value is an inverse function of authorized bandwidth for the channel. Thus, the greater the authorized bandwidth for a channel, the shorter its police timer value.
  • the invention further provides a bandwidth regulation system for use in an information system which stores and/or retrieves data, formatted into a plurality of data channels, to and/or from a memory in response to access requests, the bandwidth regulation system comprising: means for authorizing a channel bandwidth for each of the data channels; means for determining an interval for each data channel inversely related to each respective channel bandwidth; means for timing each interval for each data channel; means for restarting the means for timing within a data channel each time access to the memory is granted within the data channel; and means for inhibiting access to the memory within a data channel unless the means for timing has completed timing of that channel's interval.
  • a method of bandwidth regulation which includes the steps of: receiving access requests within the channels; attempting to place each of the access requests directly into a main queue; placing each access request not directly placed into the main queue in the attempting step into a channel buffer; timing an interval for each channel; transferring an access request from the channel buffer to the main queue after the interval; and restarting the timing interval of each channel when an access request is transferred to the main queue.
  • the multichannel system processes data as access requests made for access to the memory array.
  • a request for access is granted for a channel, its counter is reset to the channel police timer value and begins downcounting. Thereafter, the bandwidth manager inhibits all further requests for access to the array controller on behalf of that channel until its police timer value has timed out unless unused bandwidth is available within the system.
  • the authorization process for each application which allocates its initial authorized bandwidth also through the action of the bandwidth manager establishes its police timer value.
  • the requests for access within a channel will not be affected by the inhibiting action of the bandwidth manager because the channel's police timer value will have timed out before the next request is presented. If, however, a channel begins demanding greater bandwidth, its requests for access will begin occurring faster than the police timer value times out and the access will be inhibited by the bandwidth manager. As requests for access are inhibited, they begin stacking up at the array controller and may only be granted if additional unused bandwidth exists within the system.
  • a bandwidth regulation system for use in a multichannel information system storing and/or retrieving data to and/or from a memory array, the bandwidth regulation system comprising: means for establishing a time interval for each channel; means for inhibiting access to the memory array for each channel during its time interval; and means for resetting the time interval of a channel following access to the memory array having been given within the channel.
  • a method of bandwidth regulation comprising the steps of: receiving access requests within the channels; attempting to place each of the access requests directly into a main queue; placing each access request not directly placed into the main queue in the attempting step into a channel buffer; timing an interval for each channel; transferring an access request from the channel buffer to the main queue after the interval; and restarting the timing interval of each channel when an access request is transferred to the main queue.
  • Figure 1 sets forth a block diagram of a bandwidth regulation system for multichannel memory arrays constructed in accordance with the present invention.
  • Figure 2 sets forth a flow diagram illustrating the operation of the present invention bandwidth regulation system.
  • FIG. 1 sets forth a block diagram of a video server system utilizing the present invention bandwidth regulation system and generally referenced by numeral 10.
  • System 10 includes a plurality of VR cards 11, 12, 13 and 14 coupled to a plurality of array controllers 16 through 20 by a commutator 15.
  • Array controllers 16 through 20 are fabricated in the same manner and thus the more detailed illustration of array controller 16 shown in Figure 1 should be understood to be representative of and apply equally well to array controllers 17 through 20. It should also be noted that while Figure 1 shows a video server having four VR cards (11 through 14) and five array controllers (16 through 20), other numbers and combinations of VR cards and array controllers may be utilized in the present invention system.
  • a plurality of buffers 24 are provided for receiving multiple channel incoming data to array controller 16.
  • the plural data channels are each coupled to one of buffers 24, the outputs of which are coupled through channels 25 to a requestor 26.
  • Buffers 24 also provide buffering of multiple channel output data through channels 25 from array controller 16 when data is being stored with disks 29 through 34.
  • Requestor 26 is coupled to a disk manager 27 which in turn is coupled to a plurality of disk arrays 29 through 34 via a corresponding plurality of communication busses 28.
  • communication busses 28 are Small Computer System Interface (SCSI) busses. However, it will be apparent that other communication bus systems may be used.
  • SCSI Small Computer System Interface
  • Array controller 16 also includes a delay manager 46 which includes an internal clock providing a timer downcounting signal and a processor operative in the manner shown in Figure 2 below for controlling the communication of access requests to and from disk array manager 27 and requestor 26.
  • delay manager 46 is coupled to and controls buffers 24, requestor 26 and disk manager 27.
  • Array controller 16 further includes a plurality of down counters 42, one for each of data channels 25, which are all clocked in response to the timer downcounting signal provided by delay manager 46.
  • Each of down counters 42 define a set input which is coupled to bandwidth manager 22 and which, in the manner described below, is used to individually set each down counter to a starting number. The output count number of each of down counters 42 is coupled to delay manager 46.
  • a welfare task 45 is coupled to bandwidth manager 22.
  • a global number register 44 is coupled to welfare task 45 and to delay manager 46.
  • Welfare task 45 and global number 44 cooperate in response to unused bandwidth information provided by bandwidth manager 22 to supply a global number to array controllers 16 through 20 used in the manner described below.
  • array controllers 17 through 20 should be understood to be identical to array controller 16.
  • bandwidth manager 22 is coupled to array controllers 17 through 20 in the same manner as is shown for array controller 16.
  • these couplings are not shown in the figure.
  • each of array controllers 17 through 20 includes a corresponding array of disk groups 50 through 53 respectively.
  • each channel is initially set during the system boot-up process to have either a preset bandwidth or a zero bandwidth.
  • Preset bandwidths are assigned to channels having predictable data bandwidths such as control and time code information.
  • Zero bandwidths are assigned to channels having bandwidths which are initially unknown such as those used for video and audio data.
  • bandwidth manager 22 makes a bandwidth request to bandwidth manager 22.
  • Bandwidth manager 22 checks for available transport bandwidth and disk bandwidth.
  • Transport bandwidth refers to bandwidth available within the communication paths from the VRs to array controllers via commutator 15.
  • Disk bandwidth refers to the array controller to disk drive memory group communication path. In the event the available bandwidth of either is insufficient, the request is denied and the application is not run. If, however, both are available, the application request is granted.
  • the bandwidth manager computes a number referred to as "police timer value" for each channel.
  • the police timer value is computed by dividing the data segment size within the channel by the bandwidth required to support the channel.
  • the police time value is then set within the appropriate one of down counters 42 for that channel. This process takes place for each channel within array controller 16 and results in setting each of down counters 42 at a police timer value.
  • delay manager 46 initially attempts to place each access request directly into the main queue of requestor 26. If the request cannot be placed directly into requestor 26, delay manager 46 places the request within the one of buffers 24 associated with the requesting channel. Once a request is transferred to one of buffers 24, it will be processed in accordance with the police timer value as delay manager 46 cycles through each of the data channels.
  • Delay manager 46 looks for accumulating requests within buffer 24 and moves requests to requestor 26 within each data channel in response to the downcount of each channel police timer value. Once the police timer value is set within each channel down counter, delay manager 46 begins decrementing each of down counters 42 from their respective police timer values and a request inhibitor within requestor 26 is active for each channel to inhibit further access within that channel to array controller 16. Once the down counter associated with a given channel has counted down completely or "timed out", the access inhibitor is deactivated and a request for access to array controller 16 is permitted and passed on to requestor 26 for that channel. From requestor 26, which functions as a "main queue” for access requests, requests are transferred to disk array manager 27 and access to disk groups 29 through 34 is provided.
  • the resulting request inhibit for the police timer value for each channel is short enough in duration to assure that, under normal (authorized bandwidth) operations, requests within the channel are seldom, if ever, inhibited. That is to say, so long as the channel bandwidth needed is within the authorized bandwidth, the channel down counter will normally count to zero, or time out, before the next request is presented.
  • the bandwidth management system has no effect upon normally operating channels which remain within their authorized bandwidths. It is only during increased bandwidth demands such as those which occur during fast forward or transitory modes of operation which risk the presentation of access requests more rapidly than the police timer value number is down counted for the channel. As a result, the channel having increased bandwidth requirements suffers the consequences of such increased demands in the form of ungranted requests which accumulate within the channel buffer while the remaining channels remain fully operative. This is the overall objective of the bandwidth regulation system.
  • bandwidth regulation system is provided to further ensure that the total available bandwidth within the system is efficiently used.
  • This additional aspect referred to as the "welfare system” provides a second mechanism by which access to the array controllers may be granted within a channel having increased bandwidth requirements despite an access inhibit as the down counter continues decrementing. Because bandwidth manager 22 tracks the total system bandwidth as well as current bandwidth use, it is able to determine whether additional unused system bandwidth is available. This additional available bandwidth is communicated to welfare task 45 which computes a global number indicative of the amount of available unused bandwidth.
  • channels presenting access requests which cannot be placed directly into requestor 26 and are inhibited by the action of the police timer value are nonetheless able to receive additional allocated bandwidth using the welfare task within the bandwidth manager.
  • This welfare system is carried forward by delay manager 46 and is in essence an "override" of the inhibiting action within requestor 26.
  • the welfare system is described below in greater detail. Suffice it to note here that each channel having an inhibited request then attempts to obtain a request for access using the welfare system and, if successful, decrements the global number within global number register 44.
  • work station 23 provides an interface for user input which communicates with resource manager 21 to facilitate the user's ability to instance or begin new applications, adjust running applications, or terminate applications as the user needs.
  • work station 23 is illustrative of virtually any user interface to the video server system.
  • Resource manager 21 responds to work station 23 and the user inputs provided thereby to provide all bandwidth requests to bandwidth manager 22 necessary for ,each of the plurality of data channels required to run an application and obtain authorization for the respective bandwidths therein.
  • bandwidth manager 22 is actually part of array controller 16 and is coupled to resource manager 21.
  • array controllers 17 through 20 also include respective bandwidth managers.
  • Bandwidth manager 21 responds to application requests and determines available transport bandwidth and disk bandwidth to make an initial determination as to whether the system is able to run a particular application. As mentioned above, if available bandwidth is sufficient, bandwidth manager 22 authorizes the application and allocates the respective bandwidths which are authorized for each of the data channels within the application. In addition, bandwidth manager 22 utilizes the allocated bandwidth for each channel and computes a police timer value for each channel. As mentioned above, the police timer value is determined by dividing the data segment size by the authorized bandwidth. As a practical matter, it is usually best to provide a small "cushion" in authorizing bandwidth and computing the corresponding police timer value.
  • Bandwidth manager 22 then installs the police timer value computed for each data channel within down counters 42 and updates the available unused bandwidth within the system for communication to welfare task 45.
  • Welfare task 45 computes a global number based upon the available unused bandwidth of array controller 16 which is then stored within global number register 44 for use by delay manager 46. In computing the global number, welfare task 45 subtracts the bandwidth presently used from the total bandwidth of array controller 16 to determine available unused bandwidth and divides the results by the data segment size processed within the system. In this manner, the global number tends to be an integer which indicates the available unused bandwidth within array controller 16.
  • Delay manager 46 responds to bandwidth manager 22 in performing a plurality of tasks which are set forth in the flow diagrams of Figure 2 in greater detail. Basically, delay manager 46 operates to control the transfer of access requests presented to array controller 16 by either placing the request directly in requestor 26 which functions as a main queue for access to disk array manager 27 or, alternatively, to place access requests, if necessary, within the appropriate channel buffer of buffers 24. Delay manager 46 operates in the manner set forth below in Figure 2 in greater detail to decrement each channel down counter and to monitor the police timer value of each of down counters 42 for each data channel and to inhibit transfers of access requests from buffers 24 to requestor 26 until the respective police timer value has down counted within the channel down counter.
  • delay manager 46 administers the welfare task in response to the global number provided by global number register 44.
  • delay manager 46 uses a simple rotating priority among the data channels beginning a welfare cycle through the data channels starting at the next data channel following the last channel to have received a welfare access grant.
  • Delay manager 46 looks for waiting requests within buffers 24 of each channel and for each waiting access request found, moves the request to requestor 26 and decrements global number 44. This process continues until the global number has been decremented to zero.
  • delay manager 46 operates in a periodic cycle through the request granting process as shown in Figure 2 on a periodic basis.
  • Requestor 26 is coupled by data channels 25 to channel buffers 24 and functions as a main queue in transferring access requests to disk array manager 27. In this function, requestor 26 is controlled by delay manager 46. Disk array manager 27 operates to transfer access requests and data to and from disk groups 29 through 34. In the preferred fabrication of the present invention, data is transferred between the respective disks within disk groups 29 through 34 in a fixed size segment format.
  • array controllers 17 through 20 are identical to array controller 16 and thus include respective bandwidth managers, welfare tasks, global number registers, delay managers and police timer value down counters. By way of further similarity, it will be understood that array controllers 17 through 20 operate in the identical fashion as that described for array controller 16. Further, disk groups 50 through 53 shown coupled to array controllers 17 through 20 should be understood to indicate pluralities of disk groups such as disk groups 29 through 34 shown for array controller 16.
  • Figure 2 sets forth a diagram illustrative of the operation of the present invention bandwidth regulation system. In the operation of the present invention system shown in Figure 2, the system is initially activated and performs certain initialization functions at step 60 after which the system moves to step 61 and sets initial channel bandwidths.
  • step 62 data channels having predictable or known bandwidths such as time code or other similar information are given a preset bandwidth while the remaining channels not capable of such prediction are initially given a zero bandwidth.
  • the system then awaits the implementation of an application at step 62 and once an application is launched moves to step 63 in which the required bandwidth for each data channel necessary to perform the application is requested. Thereafter, a determination is made at step 64 as to whether sufficient bandwidth is available. If bandwidth is not available, the application is denied. If, however, the bandwidth is available, the system authorizes the application at step 65 and each array controller within the system is operative to compute the police timer values for each data channel at step 66.
  • each array controller within the system is simultaneously performing the sequence of operational steps which follow with respect to the data channels and disk memory groups within each array.
  • each police timer value is installed within the respective down counter for each data channel after which the application is run at step 68.
  • the sequence of steps enumerated at steps 69 through 76 are carried forward as requests for access to the disk array are presented and are moved through the present invention bandwidth regulation system.
  • dashed-line boxes 77 and 78 it will be understood by those skilled in the art that the sequence of operations set forth in steps 69 through 76 are simultaneously occurring within the plurality of data channels in each array controller.
  • a request for access to the disk array is presented and an initial determination is made by the delay manager as to whether the request may be placed directly within the main queue of requestor 26 (seen in Figure 1). If such direct placement can be accomplished, the system moves through step 76 to step 73 to move the request to the main queue and set the channel down counter to the police timer value. After moving the request to the main queue, the request is moved to the disk array manager at step 74 and transferred to the appropriate disk memories. At step 75, the system completes the transfer request and returns to step 69 to process the next request for access.
  • the system operates in accordance with the cyclic periodic operation of delay manager 46 (seen in Figure 1) described above.
  • This cyclic operation is set forth in the remainder of the diagram of Figure 2 at steps 90 through 106.
  • the repeated cycling of the delay manager operations within each channel is best understood as operation of the delay manager sequentially through each of the data channels within the array controller.
  • This operation begins at step 90 in which the delay manager cycle is started.
  • the delay manager operates in accordance with a periodic cycle and begins each cycle at the data channel following the data channel which last received a welfare access grant.
  • This next channel is selected at step 91 and a determination is made at step 92 as to whether a request is waiting within the channel buffer.
  • step 100 increments the channel after which a determination is made at step 101 as to whether all channels have been processed. If all channels have been processed, the system moves to a timer 102 which times out to initiate the start of the next delay manager cycle. If all channels have not been processed, the system returns to step 91 selecting the incremented channel and again determines whether there is a request waiting in that channels buffer. If a request is waiting, the system moves to step 93 and determines whether the police timer value has counted down to zero within the channel down counter. If a zero count has been achieved, the system moves to step 103 and moves the request to the main queue within requestor 26 (seen in Figure 1).
  • the system resets the police timer value at step 104, increments the channel at step 105 and at step 106 determines whether all channels have been processed within the cycle. If all channels have been processed, the system returns to timer step 102 and awaits the initiation of the next delay manager cycle. If, however, all channels have not yet been processed within the cycle, the system returns to step 91 and again moves through steps 91, 92, 93 and for each channel having a zero police timer value, processes through steps 103 through 106. If, however, a determination is made for the channel at step 93 that the police timer value has not down counted to zero, the system moves to step 94 and decrements the police timer value.
  • step 95 following a determination that the channel having a request in buffer has not downcounted through its police timer interval, the delay manager then attempts to utilize the welfare task and make use of available unused bandwidth.
  • a determination is made as to whether the global number, indicative of unused bandwidth, is greater than zero. If the global number is not greater than zero, this indicates that unused bandwidth is not available and the system returns to step 100 incrementing the channel and moving through step 101 to either timer step 102 or step 91 selecting the next channel for processing. If, however, a global number greater than zero is available, the system then moves to step 96 in which the request is moved to the main queue of requestor 26 (seen in Figure 1) and at step 97, the police timer value of the channel is reset.
  • the global number is decremented at step 98 and a marker is set at the channel indicating the last welfare access grant as applied to this channel.
  • the system then returns to step 100 and 102 incrementing the channel number and either completing the cycle and returning to timer 102 or selecting the next channel for processing at step 91.
  • this delay manager cycle continues to sequence through each channel managing the access requests therein and, upon completion of a cycle through all channels, the delay manager then waits a predetermined period and initiates the next delay manager's cycle.
  • bandwidth regulation system in which priority is given to maintain the steady state or "normal" operations of a video server while managing and regulating available bandwidth to accommodate to the extent possible without disturbing steady state operations additional bandwidth demands imposed upon the various channels within the system.
  • the bandwidth regulation system in essence, operates to meet bandwidth demands within a given channel which exceed the previous authorized channel bandwidths. Channels which remain within their authorized bandwidth are not affected by the operation of the bandwidth manager.
  • the welfare task within the system ensures that effective use of the available system bandwidth is made and provides the system with substantial flexibility to meet changing or transistory conditions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Multi Processors (AREA)
EP97928404A 1996-07-30 1997-07-14 Bandwidth regulation system for multichannel memory arrays Withdrawn EP0855055A2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US688464 1985-01-03
US68846496A 1996-07-30 1996-07-30
PCT/IB1997/000872 WO1998004975A2 (en) 1996-07-30 1997-07-14 Bandwidth regulation system for multichannel memory arrays

Publications (1)

Publication Number Publication Date
EP0855055A2 true EP0855055A2 (en) 1998-07-29

Family

ID=24764522

Family Applications (1)

Application Number Title Priority Date Filing Date
EP97928404A Withdrawn EP0855055A2 (en) 1996-07-30 1997-07-14 Bandwidth regulation system for multichannel memory arrays

Country Status (3)

Country Link
EP (1) EP0855055A2 (ja)
JP (1) JP2000500261A (ja)
WO (1) WO1998004975A2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298071B1 (en) * 1998-09-03 2001-10-02 Diva Systems Corporation Method and apparatus for processing variable bit rate information in an information distribution system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5508732A (en) * 1993-03-22 1996-04-16 International Business Machines Corporation Data server, control server and gateway architecture system and method for broadcasting digital video on demand
JP3540835B2 (ja) * 1994-04-04 2004-07-07 松下電器産業株式会社 ビデオメモリ装置及びビデオサーバシステム
JP3134662B2 (ja) * 1994-04-27 2001-02-13 松下電器産業株式会社 サーバ装置
US5561456A (en) * 1994-08-08 1996-10-01 International Business Machines Corporation Return based scheduling to support video-on-demand applications
US5768681A (en) * 1995-08-22 1998-06-16 International Business Machines Corporation Channel conservation for anticipated load surge in video servers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO9804975A3 *

Also Published As

Publication number Publication date
JP2000500261A (ja) 2000-01-11
WO1998004975A2 (en) 1998-02-05
WO1998004975A3 (en) 1998-04-16

Similar Documents

Publication Publication Date Title
US5920702A (en) Method of striping a data stream onto subsets of storage devices in a multiple user data distribution system
US5768681A (en) Channel conservation for anticipated load surge in video servers
EP0880736B1 (en) Data buffering system for plural data memory arrays
EP0655865B1 (en) Method and system for scheduling the transfer of data sequences
US5815662A (en) Predictive memory caching for media-on-demand systems
US5561637A (en) Pace control for multicasting in a video server environment
US7165140B2 (en) Queuing architecture including a plurality of queues and associated method for controlling admission for disk access requests for video content
US5892913A (en) System and method for datastreams employing shared loop architecture multimedia subsystem clusters
CA2362727C (en) Queuing architecture with multiple queues and method for statistical disk scheduling for video servers
US5926481A (en) Timer Interrupt method for achieving quality-of-service criteria in a media-on-demand server system
US5642152A (en) Method and system for scheduling the transfer of data sequences utilizing an anti-clustering scheduling algorithm
US6477541B1 (en) Multimedia server
WO1998004975A2 (en) Bandwidth regulation system for multichannel memory arrays
EP0845906A2 (en) Shared loop audio/video server system
EP1175776B1 (en) Video on demand system
Korst et al. Comparing disk scheduling algorithms for VBR data streams
Reddy Improving the interactive responsiveness in a video server
Chang et al. Managing parallel disks for continuous media data

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE FR GB

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: KONINKLIJKE PHILIPS ELECTRONICS N.V.

17P Request for examination filed

Effective date: 19981016

17Q First examination report despatched

Effective date: 20030122

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20060201