IP Library Granted Patent US 7,646,836
Granted Patent B1
US 7,646,836 · App. 11/153,654 · Granted Jan 12, 2010

Dynamic clock rate matching across an asynchronous network

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,646,836
App. No.
11/153,654
Granted
Jan 12, 2010
Kind
B1
Abstract

Techniques are provided for calculating a clock rate for a serial clock of a transmitter where information sent by the transmitter is sent in packets from the transmitter over an asynchronous network. The techniques involve minimizing the number of adjustments to the clock rate that are needed to fine tune the clock rate to match the serial clock of the transmitter.

Claims (38)

1. A method for calculating a clock rate for a serial clock of a transmitter, wherein data sent from the transmitter is sent over an asynchronous network, the method comprising:

monitoring a fill level of a buffer for a period of time;

calculating a seed frequency for an initial clock rate of the serial clock during the period of time;

sampling the seed frequency to determine when the seed frequency is stable;

calculating first and second amounts based on the seed frequency when it is determined that the seed frequency is stable;

removing all data from the buffer;

receiving data over the asynchronous network;

storing the data in the buffer at a clock rate that corresponds to the seed frequency;

monitoring the fill level of the buffer such that when the fill level of the buffer exceeds a threshold in a first direction, changing the seed frequency by the first amount in order to cause the fill level to exceed the threshold in a second direction; and

when the fill level exceeds the threshold in the second direction, adjusting the seed frequency by the second amount configured to allow for multiple adjustments to the seed frequency until the seed frequency is substantially similar to the clock rate of the serial clock, wherein the first amount is larger than the second amount.

2. The method of claim 1 , wherein the threshold comprises a high threshold and the buffer fill level increases past the high threshold.

3. The method of claim 2 , wherein changing the seed frequency by the first amount comprises increasing the seed frequency by the first amount.

4. The method of claim 3 , further comprising changing the seed frequency by the first amount multiple times until the buffer fill level exceeds the high threshold in the second direction.

5. The method of claim 1 , wherein the threshold comprises a low threshold and the buffer fill level decreases past the low threshold.

6. The method of claim 5 , wherein changing the seed frequency by the first amount comprises decreasing the seed frequency by the first amount.

7. The method of claim 6 , further comprising changing the seed frequency by the first amount multiple times until the buffer fill level exceeds the low threshold in the second direction.

8. The method of claim 1 , wherein the network comprises a TDM network or packet-based network.

9. A method for calculating a clock rate for a serial clock of a transmitter, wherein data sent from the transmitter is sent over an asynchronous network, the method comprising:

monitoring data sent over the network for a period of time;

calculating an initial seed frequency for the serial clock based on the data monitoring;

determining a high threshold, a low threshold, an ideal depth of a buffer, a coarse frequency adjustment value, and a fine frequency adjustment value based upon the calculated seed frequency;

emptying a buffer configured to receive data from the transmitter when the high threshold, low threshold, ideal depth, coarse frequency adjustment, and fine frequency adjustment are determined;

receiving data from the transmitter over the asynchronous network;

storing the data in the buffer;

monitoring the fill level of the buffer;

determining if the fill level of the buffer exceeds the high threshold or low threshold;

if the level of the buffer exceeds the high threshold, then performing the steps of:

setting a first new seed frequency as the seed frequency plus the coarse frequency adjustment;

when the level of the buffer reaches the ideal depth of the buffer, setting a second new seed frequency as the seed frequency plus the fine frequency adjustment, wherein the second new seed frequency is less than the first new seed frequency;

if the level of the buffer exceeds the low threshold, then performing the steps of:

setting a first seed frequency as the seed frequency minus the coarse frequency adjustment;

when the level of the buffer reaches the ideal depth of the buffer, setting a second new seed frequency as the seed frequency minus the fine frequency adjustment, wherein the second new seed frequency is greater than the first new seed frequency.

10. The method of claim 9 , wherein the fine frequency adjustment value is a value that does not change the seed frequency such that it will not cross the high threshold or low threshold again after one adjustment.

11. The method of claim 9 , further comprising setting the first seed frequency as the first new seed frequency plus the coarse frequency adjustment if the fill level of the buffer continues to exceed the high threshold.

12. The method of claim 9 , further comprising setting the first seed frequency as the first new seed frequency minus the coarse frequency adjustment if the level of the fill buffer continues to exceed the low threshold.

13. The method of claim 9 , wherein the network comprises a TDM network or packet-based network.

14. The method of claim 9 , wherein determining the coarse frequency adjustment value further comprises accessing data in a lookup table based upon the initial seed frequency.

15. The method of claim 1 , wherein the seed frequency is determined to be stable when a current value of the seed frequency is within a predetermined amount of a previous value of the seed frequency.

Assignments (9)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2005
From: MAYS, RUSSELL
To: NETWORK EQUIPMENT TECHNOLOGIES, INC.
Reel/Frame 016695/0810 →