Advanced priority statistical multiplexer
First Claim
1. A method for multiplexing high priority data and low priority data for transmission over a communications link, the communications link having a bit rate, the communications link transferring bytes, each byte having Y bits, and the communications link having a byte transfer period equal to Y divided by the bit rate, the method comprising the steps of:
- a. determining a high priority packet time;
b. determining a maximum number of bytes transferred across the communications link in the high priority packet time by dividing the high priority packet time by the byte transfer period;
c. determining a worst case number of high priority data bytes transferred over the communications link in the high priority packet time;
d. subtracting the worst case number of high priority data bytes of step c from the maximum number of bytes of step b to obtain an interrupt boundary byte count; and
e. multiplexing high priority data bytes and low priority data bytes, wherein the step of multiplexing includes the steps of;
1) if there are one or more of the high priority data bytes to be transferred across the link, transmitting the one or more of the high priority data bytes, concluding with a final high priority data byte;
2) if there are one or more of the low priority data bytes to be transferred across the link, transmitting up to K bytes of the one or more of the low priority data bytes, where K does not exceed the interrupt boundary byte count;
3) waiting V byte transfer periods, wherein V equals the interrupt boundary byte count minus K; and
4) returning to step
1).
1 Assignment
0 Petitions
Accused Products
Abstract
A data multiplexing network is described which multiplexes a plurality of asynchronous data channels with an asynchronous data stream representing compressed voice signals and/or facsimile signals onto a single synchronous data packet stream. The single synchronous data packet stream is then transmitted by a high speed statistical multiplexer over a composite link to a second site using a modified high-level synchronous data link control protocol with an overlay of an advanced priority statistical multiplexing algorithm. The asynchronous data channels and the compressed voice channel and/or facsimile signals are demultiplexed and reconstructed for sending to other asynchronous computer terminals and to a standard telephone or facsimile analog port at the second site, respectively. PBX trunk interfaces are also provided to allow PBXs to share the composite link between sites. Communication between the first site by voice or facsimile and the second site is transparent to the users. The multiplexer efficiently allocated the bandwidth of the composite link by detecting silence periods in the voice signals and suppressing the sending of the voice information to preserve bandwidth. An advanced priority statistical multiplexer is also described which dynamically allocates composite link bandwidth to both time-sensitive and non-time-sensitive data to maximizes data throughout efficiency and quality while simultaneously reducing multiplexer processing overhead.
-
Citations
17 Claims
-
1. A method for multiplexing high priority data and low priority data for transmission over a communications link, the communications link having a bit rate, the communications link transferring bytes, each byte having Y bits, and the communications link having a byte transfer period equal to Y divided by the bit rate, the method comprising the steps of:
-
a. determining a high priority packet time; b. determining a maximum number of bytes transferred across the communications link in the high priority packet time by dividing the high priority packet time by the byte transfer period; c. determining a worst case number of high priority data bytes transferred over the communications link in the high priority packet time; d. subtracting the worst case number of high priority data bytes of step c from the maximum number of bytes of step b to obtain an interrupt boundary byte count; and e. multiplexing high priority data bytes and low priority data bytes, wherein the step of multiplexing includes the steps of; 1) if there are one or more of the high priority data bytes to be transferred across the link, transmitting the one or more of the high priority data bytes, concluding with a final high priority data byte; 2) if there are one or more of the low priority data bytes to be transferred across the link, transmitting up to K bytes of the one or more of the low priority data bytes, where K does not exceed the interrupt boundary byte count; 3) waiting V byte transfer periods, wherein V equals the interrupt boundary byte count minus K; and 4) returning to step
1). - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for transmitting high priority data and low priority data over a communications link in a hybrid data frame having a frame length equal to Fn bytes, the communications link having a bit rate, the communications link transferring bytes, each byte having Y bits, and the communications link having a byte transfer period equal to Y divided by the bit rate, the method comprising the steps of:
-
a. determining a high priority packet time; b. determining a maximum number of bytes transferred across the communications link in the high priority packet time by dividing the high priority packet time by the byte transfer period; c. determining a worst case number of high priority data bytes transferred across the communications link in the high priority packet time; d. subtracting the worst case number of high priority data bytes from the maximum number of bytes to obtain an interrupt boundary byte count; and e. transmitting high priority data bytes and low priority data bytes, including the steps of; 1) setting a frame length count equal to the frame length; 2) transmitting header information; 3) if there are one or more of the high priority data bytes to be transferred across the link, transmitting the one or more of the high priority data bytes, concluding with a final high priority data byte, and decrementing the frame length count for each high priority data byte transmitted; 4) if there are one or more of the low priority data bytes to be transferred across the link, transmitting up to K bytes of the one or more of the low priority data bytes, where K does not exceed the interrupt boundary byte count, and decrementing the frame length count K times; 5) waiting V byte transfer periods, wherein V equals the interrupt boundary byte count minus K; and 6) repeating steps
3) ,
4) and
5) until the frame length count is equal to zero. - View Dependent Claims (7, 8)
-
-
9. A method for demultiplexing frames of packetized high priority data and low priority data, the low priority data packed into a hybrid frame in interrupt boundary byte count (IBBC) increments, the method comprising the steps of:
-
a. determining a frame length, wherein Fn equals the frame length of the hybrid frame; b. setting a frame length counter equal to Fn ; c. reading an identification byte; d. decoding the identification byte to determine whether high priority data or low priority data is being received; e. if low priority data bytes are being received, reading Y of the low priority data bytes and subtracting Y from the frame length counter, where Y is not greater than the interrupt boundary byte count; f. if high priority data is being received; 1. determining a length X of the high priority data; and 2. reading X bytes of the high priority data; and g. if the frame length counter is a positive, nonzero number, continuing to demultiplex at step c. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method for multiplexing high priority data, intermediate priority data, and low priority data for transmission across a communications link, the link having a maximum bandwidth with a byte transfer period equal to an amount of time needed to transfer one byte of data over the communications link, the method comprising the steps of:
-
a. determining a high priority packet time; b. determining a maximum number of bytes transferred in the high priority packet time; c. determining a worst case number of high priority data bytes transferred in the high priority packet time; d. subtracting the worst case number of high priority bytes from the maximum number of bytes to obtain an interrupt boundary byte count; e. storing the high priority data in a first memory, the intermediate priority data in a second memory, and the low priority data in a third memory; and f. multiplexing the high priority data, the intermediate priority data, and the low priority data, wherein the step of multiplexing includes the steps of; 1. if there is high priority data, transmitting the high priority data, including a final high priority data byte; 2. transmitting a number of bytes of the intermediate priority data and the low priority data, wherein the number of bytes equals J bytes, and wherein J is not greater than the interrupt boundary byte count; 3. waiting N byte transfer periods, wherein N equals the interrupt boundary byte count minus J; and 4. returning to step 1. - View Dependent Claims (15, 16, 17)
-
Specification