IP Library Granted Patent US 7,567,570
Granted Patent B2
US 7,567,570 · App. 10/101,420 · Granted Jul 28, 2009

Reliable transport of TDM data streams over packet networks

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,567,570
App. No.
10/101,420
Granted
Jul 28, 2009
Kind
B2
Abstract

Systems and methods are presented for transporting a TDM data stream over a packet network, involving buffering an input TDM data stream to fill a data frame on a sending side, assigning a sequence number to the data frame, sending the data frame in a packet across the network to a receiving side, setting a timer corresponding to the data frame, storing a copy the data frame in a sending side buffer, receiving the packet and removing the data frame at the receiving side, sending an acknowledgement frame to the sending side, buffering received data frames in a sequence order in a receive buffer, and sending a data frame with a lowest sequence number to an output TDM data stream, wherein if an acknowledgement frame is not received before an expiration of the timer, a copy of a corresponding data frame is resent to the receiving side.

Claims (71)

1. A method for transporting a Time Division Multiplexed (TDM) data stream over a packet network, the method comprising:

on a sending side:

buffering an input TDM data stream until a data frame is filled;

assigning a sequence number to the data frame;

sending the data frame in a packet across the packet network to a receiving side;

computing and setting a timer corresponding to the data frame;

storing a copy of the data frame in a sending side buffer; on the receiving side:

receiving the packet and removing the data frame;

sending an acknowledgement frame in an acknowledgement packet to the sending side;

buffering received data frames in a sequence order in a receive buffer; and

sending a data frame with a lowest sequence number to an output TDM data stream;

wherein if an acknowledgement frame is not received at the sending side before an expiration of the timer, a copy of a corresponding data frame stored in the sending side buffer is resent to the receiving side; and

wherein a length of the timer and a size of the receive buffer is automatically decreased if, when an acknowledgement is received, a running average of the time remaining on the timer is greater than a predetermined threshold.

2. The method of claim 1 , wherein a length of the timer is increased if a number of data frame timers expiring prior to the receipt of acknowledgements is greater than a predetermined threshold.

3. The method of claim 1 , wherein the timer is initially set to a time greater than or equal to twice a round-trip transmission delay plus any processing delay at the receiving end.

4. The method of claim 1 , wherein after a data frame is sent, a next data frame is processed as soon as it is filled with data from the data stream.

5. The method of claim 1 , wherein the timer is reset following a retransmission of a data frame.

6. The method of claim 4 , further comprising storing a null set frame for a missing frame in the receive buffer, and sending the null set frame to the output TDM data stream if a copy of the missing frame is not received before the null set frame has the lowest sequence number in the receive buffer.

7. The method of claim 6 , further comprising:

tracking the sequence numbers of the data frames received on the receiving side; and

sending a negative acknowledgement to the sending side if a predetermined number of frames are received after a missing frame;

wherein the sending side retransmits a copy of the missing frame upon receipt of the negative acknowledgement, even if the corresponding timer has not expired.

8. The method of claim 6 , further comprising checking if a filled data frame matches a predetermined pattern, and if so, sending a coded frame corresponding to the matched-predetermined pattern instead of the data frame, and recreating the matched predetermined pattern on the receiving side upon receipt of the coded frame.

9. A network system comprising:

an input Time Division Multiplexed (TDM) data connection;

a packet network;

an output TDM data connection;

a sending side comprising a sending side TDM data to packet data converter module connected between the input TDM data connection and the packet network;

a computer-readable medium encoded with software to be executed by the sending side module for:

buffering the input TDM data stream until a data frame is filled;

assigning a sequence number to the data frame;

sending the data frame in a packet across the packet network to a receiving side;

computing and setting a timer corresponding to the data frame; and

storing a copy of the data frame in a sending side buffer;

the receiving side comprising a receiving side packet to TDM converter module connected between the packet network and the output TDM data connection; and

a computer-readable medium encoded with software to be executed by the receiving side module for:

receiving the packet and removing the data frame;

sending an acknowledgement frame in an acknowledgement packet to the sending side converter module;

buffering received data frames in a sequence order in a receive buffer; and

sending a data frame with a lowest sequence number to the output TDM data connection;

wherein if an acknowledgement frame is not received at the sending side converter module before an expiration of the timer, a copy of a corresponding data frame stored in the sending side buffer is resent to the receiving side converter module;

wherein after a data frame is sent, a next data frame is processed on the sending side as soon as it is filled with data from the input TDM data connection; and

wherein a length of the timer and a size of the receive buffer is automatically decreased if, when an acknowledgement is received, a running average of the time remaining on the timer is greater than a predetermined threshold.

10. The system of claim 9 , further comprising computer-readable medium encoded with software to be executed by the receiving side converter module for converter module for storing a null set frame for a missing frame in the receive buffer, and sending the null set frame to the output TDM data stream if a copy of the missing frame is not received before the null set frame has the lowest sequence number in the receive buffer.

11. The system of claim 10 , further comprising computer-readable medium encoded with software to be executed by the receiving side converter module for:

tracking the sequence numbers of the data frames received on the receiving side; and

sending a negative acknowledgement to the sending side if a predetermined number of frames are received after a missing frame;

wherein the sending side converter module retransmits a copy of the missing frame upon receipt of the negative acknowledgement, even if the corresponding timer has not expired.

12. The system of claim 11 , further comprising:

computer-readable medium encoded with software to be executed by the sending side converter module for checking if a filled data frame matches a predetermined pattern, and if so, sending a coded frame corresponding to the matched predetermined pattern instead of the data frame;

computer-readable medium encoded with software to be executed by the receiving side converter module for recreating the matched predetermined pattern on the receiving side upon receipt of the coded frame.

13. A Time Division Multiplexed (TDM) data to packet data converter module in a sending side comprising:

a processor; and

a computer-readable medium encoded with software to be executed by the processor for:

buffering an input TDM data stream until a data frame is filled;

assigning a sequence number to the data frame;

sending the data frame in a packet across a packet network to a receiving side;

computing and setting a timer corresponding to the data frame;

storing a copy of the data frame in a sending side buffer, and

receiving acknowledgement frames sent from the receiving side;

wherein if an acknowledgement frame is not received at the sending side before an expiration of the timer, a copy of a corresponding data frame stored in the sending side buffer is resent to a receiving side, and wherein after a data frame is sent, a next data frame is processed as soon as it is filled with data from the data stream; and

wherein a length of the timer and a size of the receive buffer is automatically decreased if, when an acknowledgement is received, a running average of the time remaining on the timer is greater than a predetermined threshold.

14. A packet data to Time Division Multiplexed (TDM) data converter module in a receiving side comprising:

a processor; and

a computer-readable medium encoded with software to be executed by the processor for:

receiving a packet from a sending side and removing a data frame;

sending an acknowledgement frame in an acknowledgement packet to the sending side;

buffering received data frames in a sequence order in a receive buffer; and

sending a data frame with a lowest sequence number to an output TDM data connection;

wherein if an acknowledgement frame is not received at the sending side before an expiration of a timer, a copy of a corresponding data frame stored in a sending side buffer is resent to the receiving side; and

wherein a length of the timer and a size of the receive buffer is automatically decreased if, when an acknowledgement is received, a running average of the time remaining on the timer is greater than a predetermined threshold.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2024
From: CITIZENS BANK, N.A.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 067822/0433 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 044978/0801 Recorded Dec 6, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 058949/0497 →
SECURITY INTEREST Recorded Mar 3, 2020
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052076/0905 →
CHANGE OF NAME Recorded Jan 16, 2019
From: SONUS NETWORKS, INC.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 048078/0036 →
SECURITY INTEREST Recorded Jan 2, 2018
From: GENBAND US LLC; SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 044978/0801 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2017
From: NETWORK EQUIPMENT TECHNOLOGIES, INC.
To: SONUS NETWORKS, INC.
Reel/Frame 044904/0829 →
RELEASE OF SECURITY INTEREST Recorded Oct 24, 2017
From: BANK OF AMERICA, N.A.
To: SONUS NETWORKS, INC.; SONUS FEDERAL, INC.; NETWORK EQUIPMENT TECHNOLOGIES, INC.; PERFORMANCE TECHNOLOGIES, INCORPORATED; SONUS INTERNATIONAL, INC.; TAQUA, INC.
Reel/Frame 044283/0361 →
SECURITY INTEREST Recorded Sep 12, 2014
From: SONUS NETWORKS, INC.; SONUS FEDERAL, INC.; NETWORK EQUIPMENT TECHNOLOGIES, INC.; PERFORMANCE TECHNOLOGIES, INCORPORATED; SONUS INTERNATIONAL, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033728/0409 →