IP Library Granted Patent US 8,213,334
Granted Patent B2
US 8,213,334 · App. 12/040,316 · Granted Jul 3, 2012

Optimizing a physical data communications topology between a plurality of computing nodes

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 8,213,334
App. No.
12/040,316
Granted
Jul 3, 2012
Kind
B2
Abstract

Methods, apparatus, and products are disclosed for optimizing a physical data communications topology between a plurality of computing nodes, the physical data communications topology including physical links configured to connect the plurality of nodes for data communications, that include carrying out repeatedly at a predetermined pace: detecting network packets transmitted through the links between each pair of nodes in the physical data communications topology, each network packet characterized by one or more packet attributes; assigning, to each network packet, a packet weight in dependence upon the packet attributes for that network packet; determining, for each pair of nodes in the physical data communications topology, a node pair traffic weight in dependence upon the packet weights assigned to the network packets transferred between that pair of nodes; and reconfiguring the physical links between each pair of nodes in dependence upon the node pair traffic weights.

Claims (60)

1. A method of optimizing a physical data communications topology between a plurality of computing nodes, the physical data communications topology including physical links configured to connect the plurality of nodes for data communications, the method carried out repeatedly at a predetermined pace and comprising:

detecting network packets transmitted through the links between each pair of nodes in the physical data communications topology, each network packet characterized by one or more packet attributes;

assigning, to each network packet, a packet weight in dependence upon the packet attributes for that network packet;

determining, for each pair of nodes in the physical data communications topology, a node pair traffic weight in dependence upon the packet weights assigned to the network packets transferred between that pair of nodes; and

physically reconfiguring the physical links between each pair of nodes in dependence upon the node pair traffic weights;

wherein physically reconfiguring the physical links between each pair of nodes in dependence upon the node pair traffic weights further comprising:

repeatedly for each pair of nodes from the pair of nodes having the highest node pair traffic weight to the pair of nodes having the lowest node pair traffic weight:

determining whether that pair of nodes can support an additional physical link;

allocating at least one additional physical link for that pair of nodes in dependence upon the node pair traffic weights if that pair of nodes can support an additional physical link; and

linking that pair of nodes through one or more intermediary nodes if that pair of nodes cannot support an additional physical link.

2. The method of claim 1 wherein detecting network packets transmitted through the links between each pair of nodes in the physical data communications topology further comprises filtering out duplicate network packets.

3. The method of claim 1 wherein allocating at least one additional physical link for that pair of nodes in dependence upon the node pair traffic weights if that pair of nodes can support an additional physical link further comprising:

identifying a saturation magnitude for the node pair traffic weights that corresponds with a single link; and

calculating, for each pair of nodes, the number of physical links to allocate to that pair of nodes in dependence upon the node pair traffic weight for that pair of nodes and the saturation magnitude for the node pair traffic weights that corresponds with a single link.

4. The method of claim 1 wherein allocating at least one additional physical link for that pair of nodes in dependence upon the node pair traffic weights if that pair of nodes can support an additional physical link further comprising:

identifying a maximum number of links for each pair of nodes; and

allocating no more than the maximum number of links to each pair of nodes.

5. The method of claim 1 further comprising:

tracking physical link reconfiguration changes over a predetermined time period; and

determining the predetermined pace in dependence upon tracked reconfiguration changes.

6. An Apparatus for optimizing a physical data communications topology between a plurality of computing nodes, the physical data communications topology including physical links configured to connect the plurality of nodes for data communications, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions capable of carrying out repeatedly at a predetermined pace:

detecting network packets transmitted through the links between each pair of nodes in the physical data communications topology, each network packet characterized by one or more packet attributes;

assigning, to each network packet, a packet weight in dependence upon the packet attributes for that network packet;

determining, for each pair of nodes in the physical data communications topology, a node pair traffic weight in dependence upon the packet weights assigned to the network packets transferred between that pair of nodes; and

physically reconfiguring the physical links between each pair of nodes in dependence upon the node pair traffic weights;

wherein physically reconfiguring the physical links between each pair of nodes in dependence upon the node pair traffic weights further comprising:

repeatedly for each pair of nodes from the pair of nodes having the highest node pair traffic weight to the pair of nodes having the lowest node pair traffic weight:

determining whether that pair of nodes can support an additional physical link;

allocating at least one additional physical link for that pair of nodes in dependence upon the node pair traffic weights if that pair of nodes can support an additional physical link; and

linking that pair of nodes through one or more intermediary nodes if that pair of nodes cannot support an additional physical link.

7. The apparatus of claim 6 wherein detecting network packets transmitted through the links between each pair of nodes in the physical data communications topology further comprises filtering out duplicate network packets.

8. The apparatus of claim 6 wherein allocating at least one additional physical link for that pair of nodes in dependence upon the node pair traffic weights if that pair of nodes can support an additional physical link further comprising:

identifying a saturation magnitude for the node pair traffic weights that corresponds with a single link; and

calculating, for each pair of nodes, the number of physical links to allocate to that pair of nodes in dependence upon the node pair traffic weight for that pair of nodes and the saturation magnitude for the node pair traffic weights that corresponds with a single link.

9. The apparatus of claim 6 wherein allocating at least one additional physical link for that pair of nodes in dependence upon the node pair traffic weights if that pair of nodes can support an additional physical link further comprising:

identifying a maximum number of links for each pair of nodes; and

allocating no more than the maximum number of links to each pair of nodes.

10. The apparatus of claim 6 wherein the computer memory has disposed within it computer program instructions capable of:

tracking physical link reconfiguration changes over a predetermined time period; and

determining the predetermined pace in dependence upon tracked reconfiguration changes.

11. A computer program product for optimizing a physical data communications topology between a plurality of computing nodes, the physical data communications topology including physical links configured to connect the plurality of nodes for data communications, the computer program product disposed upon a non-transitory computer-readable medium, the computer program product comprising computer program instructions capable of carrying out repeatedly at a predetermined pace:

detecting network packets transmitted through the links between each pair of nodes in the physical data communications topology, each network packet characterized by one or more packet attributes;

assigning, to each network packet, a packet weight in dependence upon the packet attributes for that network packet;

determining, for each pair of nodes in the physical data communications topology, a node pair traffic weight in dependence upon the packet weights assigned to the network packets transferred between that pair of nodes; and

physically reconfiguring the physical links between each pair of nodes in dependence upon the node pair traffic weights:

wherein physically reconfiguring the physical links between each pair of nodes in dependence upon the node pair traffic weights further comprising:

repeatedly for each pair of nodes from the pair of nodes having the highest node pair traffic weight to the pair of nodes having the lowest node pair traffic weight:

determining whether that pair of nodes can support an additional physical link;

allocating at least one additional physical link for that pair of nodes in dependence upon the node pair traffic weights if that pair of nodes can support an additional physical link; and

linking that pair of nodes through one or more intermediary nodes if that pair of nodes cannot support an additional physical link.

12. The computer program product of claim 11 wherein detecting network packets transmitted through the links between each pair of nodes in the physical data communications topology further comprises filtering out duplicate network packets.

13. The computer program product of claim 11 wherein allocating at least one additional physical link for that pair of nodes in dependence upon the node pair traffic weights if that pair of nodes can support an additional physical link further comprising:

identifying a saturation magnitude for the node pair traffic weights that corresponds with a single link; and

calculating, for each pair of nodes, the number of physical links to allocate to that pair of nodes in dependence upon the node pair traffic weight for that pair of nodes and the saturation magnitude for the node pair traffic weights that corresponds with a single link.

14. The computer program product of claim 11 wherein allocating at least one additional physical link for that pair of nodes in dependence upon the node pair traffic weights if that pair of nodes can support an additional physical link further comprising:

identifying a maximum number of links for each pair of nodes; and

allocating no more than the maximum number of links to each pair of nodes.

15. The computer program product of claim 11 further comprising computer program instructions capable of:

tracking physical link reconfiguration changes over a predetermined time period; and

determining the predetermined pace in dependence upon tracked reconfiguration changes.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 034194/0291 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2008
From: BANDHOLZ, JUSTIN P; DURHAM, ZACHARY B; KERR, CLIFTON E; MAXWELL, JOSEPH E; REINBERG, KEVIN E; VERNON, KEVIN S; WEINSTEIN, PHILIP L; WEST, CHRISTOPHER C
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021180/0170 →