Patent US5757801A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5757801A Expired / Lapsed US ⏱️ 0.0 years remaining

Advanced priority statistical multiplexer

Assignee: Multi Tech Systems Inc
•
Filing: 1994-11-02
•
Granted: 1998-05-26
•
Expires: 2014-11-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Harinarayana Arimilli

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 17:08
CPC Classifications
H; H04; H04N; H04N1/00; H04N1/00127; H04N1/00281; H04J; H04J3/00; H04J3/16; H04J3/1682; H04J3/1688; H04J3/24; H04J3/247; H04L; H04L9/00; H04L9/40; H04M; H04M1/00; H04M1/253; H04M11/00; H04M11/06; H04M11/064; H04N1/00302; H04N1/00312; H04L12/00; H04L12/64; H04L12/6418; H04L2012/6424; H04L2012/6427; H04L2012/6445; H04L2012/6459; H04L2012/6462; H04L2012/6464; H04L2012/6486; H04L2012/6494; Y; Y10; Y10S; Y10S370/00; Y10S370/916

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 272 words
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).
Claim 2
Independent Claim 272 words
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).
Claim 3
Dependent Claim 27 words
The method of claim 1 wherein the step of transmitting the one or more of the high priority data bytes comprises the step of transmitting voice data.
Claim 4
Dependent Claim 27 words
The method of claim 1 wherein the step of transmitting the one or more of the high priority data bytes comprises the step of transmitting facsimile data.
Claim 5
Dependent Claim 27 words
The method of claim 1 wherein the step of transmitting the one or more of the high priority data bytes comprises the step of transmitting video data.
Claim 6
Dependent Claim 33 words
The method of claim 1 wherein the step of transmitting up to K bytes of the one or more of the low priority data bytes comprises the step of transmitting asynchronous digital data.
Claim 7
Independent Claim 321 words
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 F n 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.
Claim 8
Independent Claim 321 words
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 F n 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.
Claim 9
Dependent Claim 28 words
The method of claim 6, wherein the step of transmitting high priority data bytes and low priority data bytes further comprises the step of transmitting error correction codes.
Claim 10
Dependent Claim 65 words
The method of claim 6, wherein the step of transmitting the one or more of the high priority data bytes firther comprises the step of transmitting a high priority data identification byte, and wherein the step of transmitting up to K bytes of the one or more of the low priority data bytes further comprises the step of transmitting a low priority data identification byte.
Claim 11
Independent Claim 168 words
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 F n equals the frame length of the hybrid frame; b. setting a frame length counter equal to F n ; 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.
Claim 12
Independent Claim 168 words
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 F n equals the frame length of the hybrid frame; b. setting a frame length counter equal to F n ; 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.
Claim 13
Dependent Claim 22 words
The method of claim 9 wherein the step of determining a frame length includes reading frame header information containing the frame length.
Claim 14
Dependent Claim 24 words
The method of claim 9 wherein the step of determining a frame length includes referring to a lookup table to obtain the frame length.
Claim 15
Dependent Claim 30 words
The method of claim 9 wherein the step of determining a length of the high priority data includes reading header information in the identification byte of the high priority data.
Claim 16
Dependent Claim 31 words
The method of claim 9 wherein the step of determining a length of the high priority data includes referring to a lookup table to obtain a high priority data frame length.
Claim 17
Independent Claim 245 words
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.
Claim 18
Independent Claim 245 words
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.
Claim 19
Dependent Claim 26 words
The method of claim 14 wherein step 2 further includes the step of transmitting all intermediate priority data bytes prior to transmitting low priority data bytes.
Claim 20
Dependent Claim 46 words
The method of claim 14 wherein step 2 further includes the step of transmitting a number of intermediate priority data bytes prior to transmitting low priority data bytes where the number is equal to X, wherein X is not greater than the interrupt boundary byte count.
Claim 21
Dependent Claim 38 words
The method of claim 14 wherein the step of storing includes the steps of storing digital voice data in the first memory, storing synchronous digital data in the second memory, and asynchronous digital data in the third memory.

References Cited (Backward Citations)

US34034A Cited
US3304372A Cited
US3789165A Cited
US3904830A Cited
US3997732A Cited
US3973081A Cited
US4107471A Cited
US4100377A Cited
US4284850A Cited
US4205202A Cited
US4354273A Cited
US4445213A Cited
US4403322A Cited
US4377860A Cited
US4479213A Cited
US4425661A Cited
US4476559A Cited
US4500987A Cited
US4610022A Cited
US4495620A Cited
US4479195A Cited
US4534024A Cited
US4652703A Cited
US4609788A Cited
US4587651A Cited
US4578537A Cited
US4524244A Cited
US4670874A Cited
US4598397A Cited
US4546212A Cited
US4660218A Cited
DE3409532C2 Cited
US4593389A Cited
US4757527A Cited
US4707831A Cited
US4629829A Cited
US4751736A Cited
US4866732A Cited
US5005183A Cited
DE3504064C2 Cited
US4750169A Cited
US4751510A Cited
US4718082A Cited
US4807250A Cited
USRE34034E Cited
US4764955A Cited
US4700341A Cited
US4835765A Cited
US4740963A Cited
US4697281A Cited
US4901333A Cited
US4932048A Cited
US4926448A Cited
US4794595A Cited
US4873715A Cited
US5008926A Cited
DE3630469A1 Cited
US4813040A Cited
US4809271A Cited
US4862449A Cited
US4839802A Cited
US5235595A Cited
US4845746A Cited
GB2210237B Cited
US4972483A Cited
US4972462A Cited
US5008901A Cited
US4827085A Cited
US4995059A Cited
US5025443A Cited
US4942569A Cited
US5490060A Cited
US5046188A Cited
US4965789A Cited
US4890282A Cited
US4887265A Cited
US5177734A Cited
US4847900A Cited
US5195130A Cited
US5014232A Cited
US4991169A Cited
US5121385A Cited
US4864559A Cited
US5153897A Cited
US4953210A Cited
US4905282A Cited
US4912758A Cited
US4890316A Cited
US5001745A Cited
US5107519A Cited
US5130985A Cited
US4998241A Cited
US4914650A Cited
US5065425A Cited
US4935954A Cited
US5081647A Cited
US4972457A Cited
US5020058A Cited
US5208812A Cited
US5228026A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-05-25 2001-11-24 2002-05-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-05-25 2005-11-24 2006-05-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-05-25 2009-11-24 2010-05-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag