IP Library Granted Patent US 7,801,934
Granted Patent B2
US 7,801,934 · App. 10/420,153 · Granted Sep 21, 2010

Pointer generation method and apparatus for delay compensation in virtual concatenation applications

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,801,934
App. No.
10/420,153
Granted
Sep 21, 2010
Kind
B2
Abstract

Virtual concatenation circuitry is disclosed for implementation in a network element of a data communication network. The virtual concatenation circuitry in a preferred embodiment is operative: (i) to maintain, for each of the individual member streams of a virtual concatenation stream, a corresponding counter which tracks pointer adjustments for that member stream; and (ii) to generate pointers based on values of the counters so as to substantially equalize incoming and outgoing pointer adjustments for the member streams at the network element.

Claims (48)

1. An apparatus for use in implementing virtual concatenation operations in a data communication network, the apparatus comprising:

a network element comprising virtual concatenation circuitry;

the virtual concatenation circuitry being operative: (i) to maintain, for each of a plurality of member streams of a virtual concatenation stream, a corresponding counter which tracks pointer adjustments for that member stream; and (ii) to generate pointers based on values of the counters so as to substantially equalize incoming and outgoing pointer adjustments for the member streams at the network element;

wherein the virtual concatenation circuitry further comprises:

a data buffer; and

a delay compensation element coupled to a data buffer, the delay compensation element comprising a write data controller and a read data controller;

wherein the data buffer comprises a set of buffers having a buffer for each of the member streams, a given one of the data buffers being coupled between a corresponding data output of the write data controller and a corresponding data input of the read data controller; and

wherein each of the counters has an input coupled to a counter control output of the write data controller and an output coupled to a count input of the read data controller, and further wherein each of the counters has an additional input coupled to a counter control output of the read data controller.

2. The apparatus of claim 1 wherein the counter for a given one of the plurality of member streams is incremented each time that stream has an incoming pointer increment, and decremented each time that stream has an incoming pointer decrement.

3. The apparatus of claim 1 wherein the counter for a given one of the plurality of member streams is decremented each time that stream has an incoming pointer increment, and incremented each time that stream has an incoming pointer decrement.

4. The apparatus of claim 2 wherein when the counter values for the plurality of member streams are all greater than a specified threshold, an associated outgoing pointer is incremented and the corresponding counter values for the member streams are all decremented.

5. The apparatus of claim 4 wherein the specified threshold corresponds to a reset value established for the corresponding counters.

6. The apparatus of claim 2 wherein when the counter values for the plurality of member streams are all less than a specified threshold, an associated outgoing pointer is decremented and the corresponding counter values for the member streams are all incremented.

7. The apparatus of claim 6 wherein the specified threshold corresponds to a reset value established for the corresponding counters.

8. The apparatus of claim 3 wherein when the counter values for the plurality of member streams are all greater than a specified threshold, an associated outgoing pointer is decremented and the corresponding counter values for the member streams are all incremented.

9. The apparatus of claim 3 wherein when the counter values for the plurality of member streams are all less than a specified threshold, an associated outgoing pointer is incremented and the corresponding counter values for the member streams are all decremented.

10. An apparatus for use in implementing virtual concatenation operations in a data communication network, the apparatus comprising:

a network element comprising virtual concatenation circuitry;

the virtual concatenation circuitry being operative: (i) to maintain, for each of a plurality of member streams of a virtual concatenation stream, a corresponding counter which tracks pointer adjustments for that member stream; and (ii) to generate pointers based on values of the counters so as to substantially equalize incoming and outgoing pointer adjustments for the member streams at the network element;

wherein at least one of the counters has a reset value R which is a function of N, where N=2 n , and n is a function of clock frequency variation and allowable drift in at least a portion of the network.

11. The apparatus of claim 10 wherein the reset value R is given by (N/2)−1.

12. The apparatus of claim 10 wherein the reset value R is given by N/2.

13. An apparatus for use in implementing virtual concatenation operations in a data communication network, the apparatus comprising:

a network element comprising virtual concatenation circuitry;

the virtual concatenation circuitry being operative: (i) to maintain, for each of a plurality of member streams of a virtual concatenation stream, a corresponding counter which tracks pointer adjustments for that member stream; and (ii) to generate pointers based on values of the counters so as to substantially equalize incoming and outgoing pointer adjustments for the member streams at the network element;

wherein the virtual concatenation circuitry further comprises:

a data buffer; and

a delay compensation element coupled to a data buffer, the delay compensation element comprising a write data controller and a read data controller;

wherein the data buffer comprises a set of buffers having a buffer for each of the member streams, a given one of the data buffers being coupled between a corresponding data output of the write data controller and a corresponding data input of the read data controller; and

wherein the virtual concatenation circuitry is configured such that a read pointer of the read data controller is delayed by at least about N-R bytes relative to a write pointer of the write data controller, where R denotes a reset value of one or more of the counters, N=2 n , and n is a function of clock frequency variation and allowable drift in at least a portion of the network.

14. A method for use in implementing virtual concatenation operations in a network element of a data communication network, the method comprising:

maintaining, for each of a plurality of member streams of a virtual concatenation stream, a corresponding counter which tracks pointer adjustments for that member stream; and

generating pointers based on values of the counters so as to substantially equalize incoming and outgoing pointer adjustments for the member streams at the network element;

wherein the maintaining and generating steps are implemented in virtual concatenation circuitry that further comprises:

a data buffer; and

a delay compensation element coupled to a data buffer, the delay compensation element comprising a write data controller and a read data controller;

wherein the data buffer comprises a set of buffers having a buffer for each of the member streams, a given one of the data buffers being coupled between a corresponding data output of the write data controller and a corresponding data input of the read data controller; and

wherein each of the counters has an input coupled to a counter control output of the write data controller and an output coupled to a count input of the read data controller, and further wherein each of the counters has an additional input coupled to a counter control output of the read data controller.

15. An integrated circuit configured for implementing virtual concatenation operations in a data communication network, the integrated circuit comprising:

virtual concatenation circuitry comprising a data buffer and a delay compensation element coupled to the data buffer;

the virtual concatenation circuitry being operative: (i) to maintain, for each of a plurality of member streams of a virtual concatenation stream, a corresponding counter which tracks pointer adjustments for that member stream; and (ii) to generate pointers based on values of the counters so as to substantially equalize incoming and outgoing pointer adjustments for the member streams at the network element;

wherein the virtual concatenation circuitry further comprises:

a data buffer; and

a delay compensation element coupled to a data buffer, the delay compensation element comprising a write data controller and a read data controller;

wherein the data buffer comprises a set of buffers having a buffer for each of the member streams, a given one of the data buffers being coupled between a corresponding data output of the write data controller and a corresponding data input of the read data controller; and

wherein each of the counters has an input coupled to a counter control output of the write data controller and an output coupled to a count input of the read data controller, and further wherein each of the counters has an additional input coupled to a counter control output of the read data controller.

16. The apparatus of claim 10 , wherein the counter value of the at least one counter is initialized to R.

17. The apparatus of claim 10 , wherein the at least one counter comprises an n-bit counter and wherein 0<R<2 n −1.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2015
From: LSI CORPORATION
To: INTEL CORPORATION
Reel/Frame 035090/0477 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 32856/0031 Recorded Nov 18, 2014
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 034286/0872 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2014
From: AGERE SYSTEMS LLC
To: LSI CORPORATION
Reel/Frame 034245/0655 →
CERTIFICATE OF CONVERSION Recorded Oct 19, 2014
From: AGERE SYSTEMS INC.
To: AGERE SYSTEMS LLC
Reel/Frame 034014/0846 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →