Data processing system and method for pacing information transfers in a communications network
First Claim
1. A communication network, comprising:
- a server for transmitting a plurality of information values at a first rate until a pacing message is received by the server;
a client computer system coupled to the server for decoding the plurality of information values at a second rate and for providing the pacing message, said client computer system further comprising;
input means for receiving the plurality of information values at the first rate;
buffer means for storing the plurality of information values, the buffer means being coupled to the input means for receiving the plurality of information values;
decoder coupled to the buffer means for decoding each of the plurality of information values at the second rate; and
central processing unit coupled to the buffer means for detecting when the buffer means stores a predetermined number of values and asserting the pacing message when the buffer means stores more than thee predetermined number of values.
1 Assignment
0 Petitions
Accused Products
Abstract
A data processing system and a method implement a unique push, or streaming, model for communicating time sensitive encoded data, such as video and audio data, in a communication network. A pacing mechanism is implemented in the data processing system to allow a client to pace a streaming server in a stable way such that a fill level of a client buffer will oscillate around a single threshold value. A simple protocol is implemented to protect pacing primitives, allow recovery for pacing primitives, and to keep a client and a server synchronized during the pacing operation. To implement the pacing mechanism, the streaming server transmits data at a slightly faster rate than it was encoded. Subsequently, a decoder circuit at the client, or receiver, uses the transmitted data at the encoded rate. Thus, the utilization of buffers in the client will gradually increase. When the utilization of buffers reaches a threshold level, the client provides a pacing message to the server. When the pacing message is received, the server withholds sending data for a period of time sufficient to drop the client buffer utilization to a level below a threshold level.
252 Citations
24 Claims
-
1. A communication network, comprising:
-
a server for transmitting a plurality of information values at a first rate until a pacing message is received by the server; a client computer system coupled to the server for decoding the plurality of information values at a second rate and for providing the pacing message, said client computer system further comprising; input means for receiving the plurality of information values at the first rate; buffer means for storing the plurality of information values, the buffer means being coupled to the input means for receiving the plurality of information values; decoder coupled to the buffer means for decoding each of the plurality of information values at the second rate; and central processing unit coupled to the buffer means for detecting when the buffer means stores a predetermined number of values and asserting the pacing message when the buffer means stores more than thee predetermined number of values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for operating a server while the server is communicating a plurality of information values with a client computer system, comprising the steps of:
- enabling a server to transmit the plurality of information values at a first rate;
receiving a transmission variable value from the client computer system at an input circuit of the server; comparing the transmission variable value with a pacing coordination variable value stored in a memory of the server; and initiating a pacing operation in which the server withholds communicating the plurality of information values for a time period. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
- enabling a server to transmit the plurality of information values at a first rate;
-
23. A method for operating a client computer system while a server is communicating a plurality of information values with the client computer system, comprising the steps of:
-
i. receiving the plurality of information values from the server; ii. storing the plurality of information values in a buffer pool of the client computer system; iii. determining a first number of data values stored in the buffer pool of the client computer system; iv. repeating steps i. through iii. when the first number of data values stored in the buffer pool is below a buffer threshold level; and v. transmitting a pacing message to the server when the first number of data values stored in the buffer pool is above the buffer threshold level. - View Dependent Claims (24)
-
Specification