IP Library Granted Patent US 7,580,415
Granted Patent B2
US 7,580,415 · App. 11/116,885 · Granted Aug 25, 2009

Aggregation of hybrid network resources operable to support both offloaded and non-offloaded connections

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,580,415
App. No.
11/116,885
Granted
Aug 25, 2009
Kind
B2
Abstract

A computer system has an aggregated plurality of hybrid network resources. The hybrid resources support both offloaded connections with a first set of clients and conventional connections with a second set of clients. The conventional and offloaded connections are established through a common physical connection to a network. A unique protocol address is assigned to each of two or more active ones of the resources. A virtual layer2 device is exported for each of the two or more active resources. The assigned protocol addresses are exposed to a protocol stack residing in the operating system of the computer system. Each of the assigned protocol addresses are exposed through and associated with the virtual device exported for the one of the active resources to which the protocol address is assigned. One or more of the conventional connections are established with the second set of clients through the active resources and their respective virtual devices.

Claims (94)

1. A method of aggregating a plurality of hybrid network resources of a computer system, the hybrid resources for supporting offloaded connections with a first set of clients and for supporting conventional connections with a second set of clients, the conventional and offloaded connections established through a common physical connection of each of the resources to a network, said method comprising:

assigning a unique protocol address to each of two or more active ones of the hybrid network resources;

exporting a virtual layer2 device for each of the two or more active resources;

exposing the assigned protocol addresses to a protocol stack residing in the operating system of the computer system, each of the assigned protocol addresses being exposed through and associated with the virtual device exported for the one of the active resources to which the protocol address is assigned; and

establishing one or more of the conventional connections with the second set of clients through the active resources and their respective virtual devices.

2. The method of claim 1 wherein each of the established conventional connections has a local endpoint comprising the one of the exposed protocol addresses corresponding to the virtual device through which the connection is established.

3. A method of aggregating a plurality of hybrid network resources of a computer system, the resources for supporting offloaded connections with a first set of clients and for supporting conventional connections with a second set of clients, the conventional and offloaded connections established through a common physical connection of each of the resources to a network, said method comprising:

assigning a unique protocol address to each of two or more active ones of the resources;

exporting a virtual layer2 device for each of the two or more active resources;

exposing the assigned protocol addresses to a protocol stack residing in the operating system of the computer system, each of the assigned protocol addresses being exposed through and associated with the virtual device exported for the one of the active resources to which the protocol address is assigned;

establishing one or more of the conventional connections with the second set of clients through the active resources and their respective virtual devices; and

establishing offloaded connections through protocol offload devices of the active resources.

4. The method of claim 3 wherein:

each of the established conventional connections has a local endpoint comprising the one of the exposed protocol addresses corresponding to the virtual device through which the connection is established; and

each of the established offloaded connections has a local endpoint comprising the protocol address assigned to the one of the active resources over which the connection is established.

5. The method of claim 3 wherein at least one of the plurality of resources is operable as a standby resource, said method further comprising:

failing over to the at least one standby resource in response to the failure of one of the active resources, said failing over further comprising:

coupling the at least one standby resource with the virtual device exported for the failed active resource; and

notifying the second set of clients that the assigned protocol address and the corresponding virtual device exported for the failed active resource is now associated with the at least one standby resource.

6. The method of claim 5 wherein said failing over further comprises:

suspending data transfer over all offloaded connections having an endpoint comprising the protocol address assigned to the failed active resource;

transferring the suspended connections and their respective connection states to the at least one standby resource; and

notifying the first set of clients that the assigned protocol address previously assigned to the failed active resource is now associated with the at least one standby resource.

7. The method of claim 3 further comprising:

for each of the exported virtual devices:

load-balancing over the plurality of resources data transmitted to the second set of clients over conventional connections established through that exported virtual device, said load-balancing further comprising:

establishing a transmit load-balance (TLB) team for each of the virtual devices exported for the plurality of resources; and

distributing the transmitted data among the plurality of resources on a conversation-by-conversation basis.

8. The method of claim 7 wherein at least one of the plurality of resources is operable as a standby, said load-balancing further comprising:

associating the virtual device exported for a failed active resource with a different one of the active resources;

notifying the second set of clients that the protocol address of the virtual device associated with the different active resource is associated with the different active resource's MAC address; and

redistributing the conversations previously assigned to the failed active resource to the remaining active resources including the at least one standby resource.

9. A computer system having an aggregated plurality of hybrid network resources, the resources for supporting offloaded connections with a first set of clients and for supporting conventional connections with a second set of clients, the conventional and offloaded connections established through a common physical connection of each of the resources to a network, said system comprising:

means for assigning a unique protocol address to two or more active ones of the hybrid network resources;

means for exporting a virtual layer2 device for each of the two or more active resources;

means for exposing the assigned protocol addresses to a protocol stack residing in the operating system of the computer system, each of the assigned protocol addresses being exposed through and associated with the virtual device exported for the one of the active resources to which the protocol address is assigned; and

means for establishing one or more of the conventional connections with the second set of clients through the active resources and their respective virtual devices.

10. The computer system of claim 9 wherein each of the plurality of resources comprises a protocol offload device, said computer system further comprising means for establishing offloaded connections through the protocol offload devices of the active resources.

11. The computer system of claim 10 wherein at least one of the plurality of resources is operable as a standby and for which a virtual device has not been exported.

12. The computer system of claim 11 further comprising means for failing over to the at least one standby resource in response to the failure of one of the active resources, said means for failing over further comprising:

means for coupling the at least one standby resource with the virtual device exported for the failed active resource; and

means for notifying the second set of clients that the assigned protocol address and the corresponding virtual device exported for the failed active resource is now associated with the at least one standby resource.

13. The computer system of claim 12 wherein said means for failing over further comprising:

means for suspending data transfer over all offloaded connections having an endpoint comprising the protocol address assigned to the failed active resource;

means for transferring the suspended connections and their respective connection states to the at least one standby resource; and

means for notifying the first set of clients that the assigned protocol address previously assigned to the failed active resource is now associated with the at least one standby resource.

14. The computer system of claim 9 further comprising:

for each of the exported virtual devices, means for load-balancing over the plurality of resources data transmitted to the second set of clients over conventional connections established through that exported virtual device.

15. The computer system of claim 14 wherein:

said means for load-balancing further comprises means for establishing a transmit load-balance (TLB) team for each of the exported virtual devices; and

means for distributing the transmitted data among the plurality of resources on a conversation-by-conversation basis.

16. The computer system of claim 15 further comprising:

means for associating the virtual device exported for a failed active resource with a different one of the active resources;

means for notifying the second set of clients that the protocol address of the virtual device associated with the different active resource is associated with the different active resource's MAC address; and

means for redistributing the conversations previously assigned to the failed active resource to the remaining active resources.

17. The computer system of claim 15 further comprising means for redistributing the conversations previously assigned to the failed active resource to the remaining active resources of the TLB teams in response to failure of one of the active resources and its exported virtual device.

18. The computer system of claim 15 wherein at least one of the plurality of resources is operable to be a standby, said computer system further comprising:

means for associating the virtual device exported for a failed active resource with the at least one standby resource;

means for notifying the second set of clients that the protocol address of the virtual device associated with the at least one standby resource is associated with the at least one standby resource's MAC address; and

means for redistributing the conversations previously assigned to the failed active resource to the at least one standby resource.

19. A method of aggregating a plurality of hybrid network resources of a computer system, the hybrid resources for supporting offloaded connections with a first set of clients and for supporting conventional connections with a second set of clients, the hybrid resources each containing a protocol offload device, the conventional and offloaded connections established through a common physical connection of each of the resources to a network, said method comprising:

assigning a unique protocol address to each of two or more active ones of the hybrid network resources;

exporting a virtual layer2 device for each of the two or more active resources;

exposing the assigned protocol addresses to a protocol stack residing in the operating system of the computer system, each of the assigned protocol addresses being exposed through and associated with the virtual device exported for the one of the active resources to which the protocol address is assigned;

establishing one or more of the conventional connections with the second set of clients through the active resources and their respective virtual devices; and

establishing offloaded connections through the protocol offload devices of the active resources, each of the established offloaded connections having a local endpoint comprising the protocol address assigned to the one of the active resources over which the connection is established.

20. The method of claim 19 wherein the one of the assigned protocol addresses comprising the local endpoint for each of the offloaded connections is chosen based on connection-balancing policy.

21. The method of claim 19 wherein at least one of the plurality of resources is operable as a standby and for which a virtual device has not been exported.

22. The method of claim 21 further comprising failing over to the at least one standby resource in response to the failure of one of the active resources.

23. The method of claim 22 wherein said failing over further comprises:

coupling the at least one standby resource with the virtual device exported for the failed active resource; and

notifying the second set of clients that the assigned protocol address and the corresponding virtual device exported for the failed active resource is now associated with the at least one standby resource.

24. The method of claim 23 wherein said notifying further comprises broadcasting an ARP request associating the protocol address previously assigned to the failed active resource with a MAC address identifying the one of the one or more standby resources.

25. The method of claim 22 wherein said failing over further comprises:

suspending data transfer over all offloaded connections having an endpoint comprising the protocol address assigned to the failed active resource; and

transferring the suspended connections and their respective connection states to the at least one standby resource.

26. The method of claim 25 wherein said failing over further comprises notifying the first set of clients that the assigned protocol address previously assigned to the failed active resource is now associated with the at least one standby resource.

27. The method of claim 26 wherein said notifying further comprises broadcasting an ARP request associating the protocol address previously assigned to the failed active resource with a MAC address identifying the one of the one or more standby resources.

28. The method of claim 19 further comprising for each of the exported virtual devices, load-balancing over the plurality of resources data transmitted to the second set of clients over conventional connections established through that exported virtual device.

29. The method of claim 28 wherein:

said load-balancing further comprises establishing a transmit load-balance (TLB) team for each of the virtual devices exported for the plurality of resources; and

the active resource for which each of the virtual devices are exported acts as primary resource for each team.

30. The method of claim 28 wherein said load-balancing further comprises distributing the transmitted data among the plurality of resources on a conversation-by-conversation basis.

31. The method of claim 30 wherein said distributing further comprises assigning data frames for transmission to each of the plurality of resources based on destination protocol addresses of the frames.

32. The method of claim 30 wherein said distributing further comprises assigning data frames for transmission to each of the plurality of resources based on destination MAC addresses of the frames.

33. The method of claim 29 further comprising:

associating the virtual device exported for a failed active resource with a different one of the active resources;

notifying the second set of clients that the protocol address of the virtual device associated with the different active resource is associated with a MAC address of the different active resource; and

redistributing the conversations previously assigned to the failed active resource to the remaining active resources.

34. The method of claim 29 wherein one of the active resources and its exported virtual device fail, said method further comprising redistributing the conversations previously assigned to the failed active resource to the remaining active resources of the TLB teams.

35. The method of claim 29 wherein at least one of the plurality of resources is operable to be a standby, said method further comprising:

associating the virtual device exported for a failed active resource with the at least one standby resource;

notifying the second set of clients that the protocol address of the virtual device associated with the at least one standby resource is associated with the at least one standby resource's MAC address; and

redistributing the conversations previously assigned to the failed active resource to the at least one standby resource.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 055360/0424 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →