IP Library Granted Patent US 7,630,307
Granted Patent B1
US 7,630,307 · App. 11/206,700 · Granted Dec 8, 2009

Arrangement for minimizing data overflow by managing data buffer occupancy, especially suitable for fibre channel environments

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,630,307
App. No.
11/206,700
Granted
Dec 8, 2009
Kind
B1
Abstract

A method manages a communications link in which a first device ( 110 ) interfaces with a first channel extender ( 310 ) and in which a second device ( 120 ) interfaces with a second channel extender ( 320 ), and in which the first and second channel extenders ( 310, 320 ) communicate with each other through a communications medium ( 330 ). The method involves (FIG. 7 A) monitoring an occupancy (“b”) of a receive buffer ( 922+924 ) in the first channel extender ( 310 ) during transmission from the second channel extender ( 320 ) at a first transmission rate (R 0 ); (FIG. 7 B) at a first time (T lwm ) when the occupancy of the receive buffer ( 922+924 ) exceeds a first threshold (B 0 +B cr ), immediately instructing ( 718 ) the second channel extender ( 320 ) to cease transmission to the first channel extender ( 310 ); (FIG. 7 C, 732 ) monitoring for an overflow condition in the receive buffer ( 922+924 ); if (FIG. 7 D, 758 ) the overflow condition is present, specifying ( 760 ) that a future transmission to the first channel extender ( 310 ) be at a second transmission rate (R′ 0 ) that is lower than the first transmission rate (R 0 ); and instructing (FIG. 7 D, 762 ) the second channel extender ( 320 ) to resume transmission to the first channel extender ( 310 ).

Claims (82)

1. A method of managing a communications link in which a first device interfaces with a first channel extender and in which a second device interfaces with a second channel extender, and in which the first and second channel extenders communicate with each other through a communications medium, the method comprising: monitoring an occupancy of a receive buffer in the first channel extender during transmission from the second channel extender at a first transmission rate;

at a first time when the occupancy of the receive buffer exceeds a first threshold, immediately instructing the second channel extender to cease transmission to the first channel extender; monitoring for an overflow condition in the receive buffer;

d) if the overflow condition is present, specifying that a future transmission to the first channel extender be at a second transmission rate that is lower than the first transmission rate; and instructing the second channel extender to resume transmission to the first channel extender after the step of instructing the second channel extender to cease transmission to the first channel extender,

wherein the first channel extender carries out the method with a receive buffer that is sized large enough to have a buffer-to-buffer credit N defined by:

N≧ 2·τ lat ·rf/sf+ 1

wherein:

rf is a Fibre Channel line rate;

sf is a Fibre Channel frame size; and

Γ lat is latency constituting a total elapsed for one data bit to travel between the two channel extenders.

2. The method of claim 1 , wherein:

the first transmission rate constitutes a first steady-state transmission rate; and

the second transmission rate constitutes a lower, second steady-state transmission rate that guards against future overflow conditions in the receive buffer.

3. A computer-readable medium having an encoded computer program product including computer executable code or computer executable instructions that, when executed, causes at least one computer to perform the method of claim 2 .

4. A system configured to perform the method of claim 2 .

5. The method of claim 1 , further comprising:

causing the first and second channel extenders to communicate with respective first and second devices using a Fibre Channel standard, so that the first and second devices can communicate with each other based on only the Fibre Channel standard; and

causing the first and second channel extenders to generate a false R_RDY signal to substantially eliminate idle periods that would otherwise occur in the Fibre Channel standard.

6. The method of claim 1 , further comprising:

waiting a round trip latency period after the step of immediately instructing the second channel extender to cease transmission, before a second time of performing a step of monitoring a rate of change of the receive buffer's occupancy.

7. The method of claim 6 , further comprising:

after the rate of change of the receive buffer's occupancy becomes negative, monitoring the receive buffer's occupancy for a third time at which the receive buffer's occupancy reaches a second threshold.

8. A computer-readable medium having an encoded computer program product including computer executable code or computer executable instructions that, when executed, causes at least one computer to perform the method of claim 6 .

9. A system configured to perform the method of claim 5 .

10. The method of claim 1 , wherein if no overflow condition is present, the method comprises:

instructing the second channel extender to resume transmission to the first channel extender without specifying that a future transmission to the first channel extender be at the second transmission rate that is smaller than the first transmission rate.

11. A computer-readable medium having an encoded computer program product including computer executable code or computer executable instructions that, when executed, causes at least one computer to perform the method of claim 10 .

12. A computer-readable medium having an encoded computer program product including computer executable code or computer executable instructions that, when executed, causes at least one computer to perform the method of claim 1 .

13. A system configured to perform the method of claim 1 .

14. A method of managing a communications link in which a first device interfaces with a first channel extender and in which a second device interfaces with a second channel extender, and in which the first and second channel extenders communicate with each other through a communications medium, the method comprising:

a) monitoring an occupancy of a receive buffer in the first channel extender during transmission from the second channel extender at a first transmission rate;

b) at a first time when the occupancy of the receive buffer exceeds a first threshold, immediately instructing the second channel extender to cease transmission to the first channel extender;

c) monitoring for an overflow condition in the receive buffer;

d) if the overflow condition is present, specifying that a future transmission to the first channel extender be at a second transmission rate that is lower than the first transmission rate; and

e) instructing the second channel extender to resume transmission to the first channel extender after the step of instructing the second channel extender to cease transmission to the first channel extender,

causing the first and second channel extenders to communicate with respective first and second devices using a Fibre Channel standard, so that the first and second devices can communicate with each other based on only the Fibre Channel standard; and causing the first and second channel extenders to generate a false R_RDY signal to substantially eliminate idle periods that would otherwise occur in the Fibre Channel standard,

wherein the first channel extender carries out the method with a receive buffer that is sized large enough to have a buffer-to-buffer credit N defined by:

N

2

·

τ

lat

·

r

f

s

f

+

1

wherein:

r f is a Fibre Channel line rate;

s f is a Fibre Channel frame size; and

τ lat is latency constituting a total elapsed for one data bit to travel between the two channel extenders.

15. A method of managing a communications link in which a first device interfaces with a first channel extender and in which a second device interfaces with a second channel extender, and in which the first and second channel extenders communicate with each other through a communications medium, the method comprising:

a) monitoring an occupancy of a receive buffer in the first channel extender during transmission from the second channel extender at a first transmission rate;

b) at a first time when the occupancy of the receive buffer exceeds a first threshold, immediately instructing the second channel extender to cease transmission to the first channel extender;

c) monitoring for an overflow condition in the receive buffer;

d) if the overflow condition is present, specifying that a future transmission to the first channel extender be at a second transmission rate that is lower than the first transmission rate; and

e) instructing the second channel extender to resume transmission to the first channel extender after the step of instructing the second channel extender to cease transmission to the first channel extender;

waiting a round trip latency period after the step of immediately instructing the second channel extender to cease transmission, before a second time of performing a step of monitoring a rate of change of the receive buffer's occupancy that would otherwise occur in the Fibre Channel standard;

after the rate of change of the receive buffer's occupancy becomes negative, monitoring the receive buffer's occupancy for a third time at which the receive buffer's occupancy reaches a second threshold,

further comprising, after the step of monitoring the receive buffer's occupancy for the third time at which the receive buffer's occupancy reaches the second threshold:

calculating the second transmission rate as:

TX

cnt

T

hwm

-

T

0

wherein:

TX cnt is an amount of data emptied from the receive buffer since an initial data rate imbalance began, and after a minimum number bytes have been emptied from the receive buffer since the rate of change of the receive buffer's occupancy became negative;

T hwm is the third time, at which the receive buffer's occupancy reached a second threshold; and

T 0 is the first time, at which the occupancy of the receive buffer exceeded the first threshold.

16. The method of claim 15 , further comprising:

monitoring the receive buffer's occupancy for when the receive buffer has drained sufficiently so that the receive buffer can be emptied in a round trip delay interval; and

after the receive buffer has drained sufficiently, instructing the second channel extender to resume transmission to the first channel extender.

17. The method of claim 16 , wherein the step of monitoring the receive buffer's occupancy for when the receive buffer has drained sufficiently so that the receive buffer can be emptied in a round trip delay interval includes:

comparing the receive buffer's occupancy to 2τ lat R′ 0 ;

wherein:

2τ lat is a round-trip latency between the first and second channel extenders; and

R′ 0 is the second transmission rate.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR'S NAME PREVIOUSLY RECORDED AT REEL: 046556 FRAME: 0096. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 22, 2019
From: AT&T INTELLECTUAL PROPERTY II, L.P.
To: PROSPER TECHNOLOGY, LLC
Reel/Frame 048415/0503 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2019
From: PROSPER TECHNOLOGY, LLC
To: LYFT, INC.
Reel/Frame 048097/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2018
From: AT&T PROPERTIES, LLC
To: AT&T INTELLECTUAL PROPERTY II, L.P.
Reel/Frame 046415/0777 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2018
From: AT&T CORP.
To: AT&T PROPERTIES, LLC
Reel/Frame 046599/0386 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2018
From: AT&T INTELLECTUAL PROPERTY I, L.P.
To: PROSPER TECHNOLOGY, LLC
Reel/Frame 046556/0096 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2005
From: AKINPELU, AKINWALE A.; KALRA, ARJUN D.
To: AT&T CORP.
Reel/Frame 016908/0681 →