IP Library › Granted Patent US 9,602,355
Granted Patent B2
US 9,602,355 · App. 13/955,494 · Granted Mar 21, 2017

Network interface with adjustable rate

Inventors: Stefano Binetti (Monza, IT); Luca Della Chiesa (Concorezzo, IT); Gary Nicholl (Ontario, CA); Walid Wakim (Aurora, IL); Theodore Kupfer (Tulpenweg, GE); Mohammed I. Tatar (Kanata, CA); Cedrik K. Begin (Ottawa, CA)
Assignee: Cisco Technology, Inc.
H04L41/0896H04L12/4641H04L49/354
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 9,602,355
App. No.
13/955,494
Filed
Jul 31, 2013
Granted
Mar 21, 2017
Kind
B2
Art Unit
2474
USPC
370/468
Abstract

A method, system, and computer-readable medium for a network interface with adjustable rate are disclosed. For example, one method involves receiving a request to activate a virtual lane of an interface, where the request is received by a first node. The interface is configured to facilitate data communication between the first node and a second node, and the interface includes a plurality of virtual lanes that include at least one active virtual lane, and at least one inactive virtual lane. The method also involves, in response to receiving the request, negotiating with the second node to select an additional virtual lane from the at least one inactive virtual lane. The method involves activating the additional virtual lane. After the activating, the first node and the second node are configured to use the active virtual lane(s) and the additional virtual lane for data communication.

Claims (134)

1. A method, comprising:

receiving a request to activate a virtual lane of an interface, wherein

the request is received by a first node,

the first node is configured to receive the request from a second node by virtue of the interface being configured to facilitate a data communication between the first node and the second node,

the interface is configured to support a plurality of virtual lanes, and

the plurality of virtual lanes comprise

at least one active virtual lane, and

at least one inactive virtual lane;

in response to receiving the request, causing the first node to negotiate with the second node, wherein

the causing the first node to negotiate comprises

negotiating a bandwidth to be used for the data communication by negotiating a number of virtual lanes,

the bandwidth is less than or equal to a physical bandwidth of the interface,

the negotiating operates to select an additional virtual lane from the at least one inactive virtual lane, and

the negotiating is performed to facilitate provision of the bandwidth by the interface;

in response to a successful negotiation, activating the additional virtual lane, wherein

after the activating, the first node is configured to communicate with the second node using the at least one active virtual lane and the additional virtual lane for the data communication; and

in response to an unsuccessful negotiation, continuing communication using only the at least one active virtual lane for the data communication.

2. The method of claim 1 , wherein

the request is received via the at least one active virtual lane, and

the negotiating is performed using the at least one active virtual lane.

3. The method of claim 1 , wherein

the first node is configured to transmit a respective marker in each of the at least one active virtual lane,

each respective marker indicates alignment information for a portion of data transmitted by a respective active virtual lane, and

the negotiating comprises

using a marker of one of the at least one active virtual lane to transmit negotiating information, wherein

the negotiating is based on the negotiating information.

4. The method of claim 1 , wherein the negotiating comprises:

transmitting an alignment request to a second node, wherein

the alignment request requests alignment of the additional virtual lane.

5. The method of claim 4 , wherein the negotiating further comprises:

determining whether an alignment response is received from the second node, wherein

the alignment response indicates alignment of the additional virtual lane by the second node, and

the activating the additional virtual lane is performed in response to a determination that the alignment response is received from the second node.

6. The method of claim 1 , further comprising:

prior to the receiving the request,

determining a bandwidth for the at least one active virtual lane and a bandwidth for the at least one inactive virtual lane.

7. The method of claim 1 , further comprising:

prior to the receiving the request,

determining whether to activate a virtual lane of the interface, and

in response to a determination to activate a virtual lane, generating the request to activate the virtual lane.

8. The method of claim 1 , wherein

the interface is implemented using one or more physical lanes, and

the request is generated in response to a determination that the physical bandwidth has increased, wherein

the physical bandwidth represents a bandwidth of the one or more physical lanes.

9. The method of claim 1 , wherein

the bandwidth characterizes a maximum amount of data that is configured to be communicated between the first node and the second node,

prior to the activating, the interface is characterized by a first bandwidth,

after the activating, the interface is characterized by a second bandwidth, and

the second bandwidth is larger than the first bandwidth.

10. The method of claim 1 , wherein

the interface is further configured to transport a data stream between the first node and the second node,

prior to the activating, the data stream is transported by the at least one active virtual lane, and

after the activating, the data stream is transported by the at least one active virtual lane and the additional virtual lane.

11. The method of claim 1 , further comprising:

receiving a deactivation request to deactivate one of virtual lanes of the interface, wherein

the deactivation request is received by the first node; and

in response to receiving the deactivation request, negotiating deactivation with the second node, wherein

negotiation of the deactivation operates to select a first active virtual lane from one or more active virtual lanes of the interface, and

deactivating the first active virtual lane.

12. The method of claim 11 , wherein

the interface is implemented using one or more physical lanes, and

the deactivation request is generated in response to a determination that a bandwidth of the one or more physical lanes has decreased.

13. The method of claim 1 , wherein

the bandwidth is provided by a bandwidth of the at least one active virtual lane and a bandwidth of the additional virtual lane.

14. The method of claim 1 , wherein selection of the additional virtual lane comprises:

selection of a media access control module from a plurality of media access control modules.

15. An apparatus comprising:

one or more processors;

a control module of a first node, executable by the one or more processors, wherein

the control module is configured to

detect whether a request to activate a virtual lane of an interface is received, wherein

the first node is configured to receive the request from a second node by virtue of the interface being configured to facilitate a data communication between the first node and the second node,

the interface is configured to support a plurality of virtual lanes, and

the plurality of virtual lanes comprise

 at least one active virtual lane, and

 at least one inactive virtual lane,

in response to a detection of the request,

cause the first node to negotiate with the second node, wherein

 the control module is configured to

 negotiate a bandwidth to be used for the data communication by negotiating a number of virtual lanes,

 select an additional virtual lane from the at least one inactive virtual lane in order to facilitate provision of the number of virtual lanes by the interface, and

 the bandwidth is less than or equal to a physical bandwidth of the interface,

in response to a successful negotiation, activate the additional virtual lane, wherein

the control module is configured to activate the additional virtual lane by performing an activation of the additional virtual lane, and

in response to an unsuccessful negotiation, continue communication using only the at least one active virtual lane for the data communication; and

a transmit and receive (TR) module of the first node, wherein

the TR module is configured to

in response to activation of the additional virtual lane, use the at least one active virtual lane and the additional virtual lane for the data communication, and

otherwise, use only the at least one active virtual lane for the data communication.

16. The apparatus of claim 15 , wherein

the control module is configured to receive the request by the TR module using the at least one active virtual lane, and

the control module is configured to negotiate by virtue of the TR module being configured to use the at least active one virtual lane.

17. The apparatus of claim 15 , wherein

the TR module is configured to transmit a respective marker in each of the at least one active virtual lane,

each respective marker indicates alignment information for a portion of data transmitted by a respective active virtual lane, and

the control module is configured to negotiate by virtue of being configured to

use a marker of one of the at least one active virtual lane to transmit negotiating information, wherein

the control module is configured to negotiate based on the negotiating information.

18. The apparatus of claim 15 , wherein

the interface is implemented using one or more physical lanes, and

the request is generated in response to a determination that the physical bandwidth has increased, wherein

the physical bandwidth represents a bandwidth of the one or more physical lanes.

19. A computer program product comprising:

a plurality of instructions, comprising

a first set of instructions, executable on a computer system, configured to receive a request to activate a virtual lane of an interface, wherein the request is received by a first node,

the first node is configured to receive the request from a second node by virtue of the interface being configured to facilitate a data communication between the first node and the second node,

the interface is configured to support a plurality of virtual lanes, and

the plurality of virtual lanes comprise

at least one active virtual lane, and

at least one inactive virtual lane,

a second set of instructions, executable on the computer system, configured to, in response to receiving the request, cause the first node to negotiate with the second node, wherein

the second set of instructions comprises

a first subset of instructions, executable on the computer system, configured to negotiate a bandwidth to be used for the data communication by negotiating a number of virtual lanes,

the bandwidth is less than or equal to a physical bandwidth of the interface,

the second set of instructions operates to select an additional virtual lane from the at least one inactive virtual lane,

the second set of instructions are configured to facilitate provision of the bandwidth by the interface, and

a third set of instructions, executable on the computer system, configured to,

in response to a successful negotiation, activate the additional virtual lane, wherein

the third set of instructions is configured to activate the additional virtual lane by performing an activation of the additional virtual lane, and

after the activation, the first node is configured to communicate with the second node using the at least one active virtual lane and the additional virtual lane for the data communication, and

in response to an unsuccessful negotiation, continue communication using only the at least one active virtual lane for the data communication; and

a non-transitory computer-readable storage medium, wherein the instructions are encoded in the non-transitory computer-readable storage medium.

20. The computer program product of claim 19 , wherein

the request is received via the at least one active virtual lane, and

the second set of instructions use the at least one active virtual lane.

21. The computer program product of claim 19 , wherein

the first node is configured to transmit a respective marker in each of the at least one active virtual lane,

each respective marker indicates alignment information for a portion of data transmitted by a respective active virtual lane, and

the second set of instructions use a marker of one of the at least one active virtual lane to transmit negotiating information, wherein

the second set of instructions are configured to negotiate based on the negotiating information.

22. The computer program product of claim 19 , wherein

the interface is implemented using one or more physical lanes, and

the request is generated in response to a determination that the physical bandwidth has increased, wherein

the physical bandwidth represents a bandwidth of the one or more physical lanes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2013
From: BINETTI, STEFANO; CHIESA, LUCA DELLA; NICHOLL, GARY; WAKIM, WALID; KUPFER, THEODOR; TATAR, MOHAMMED I.; BEGIN, CEDRIK K.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 031796/0909 →
Continuity (1)
Related Publication 20150036694A1 · Feb 5, 2015