Legal claims defining the scope of protection, as filed with the USPTO.
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: physically reconfiguring the physical links between each pair of nodes in dependence upon node pair traffic weights, wherein: the node pair traffic weights are determined in dependence upon packet weights assigned to network packets transferred between the pair of nodes and; physically reconfiguring the physical links between each pair of nodes in dependence upon the node pair traffic weights further comprises: 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 further 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 including 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 comprises: 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 comprises: 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. 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: physically reconfiguring the physical links between each pair of nodes in dependence upon node pair traffic weights, wherein: the node pair traffic weights are determined in dependence upon packet weights assigned to network packets transferred between the pair of nodes and; physically reconfiguring the physical links between each pair of nodes in dependence upon the node pair traffic weights further comprises: 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 further comprising computer program instructions capable of: 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 including 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 comprises: 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 comprises: 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 storage medium, the computer program product comprising computer program instructions capable of carrying out repeatedly at a predetermined pace: physically reconfiguring the physical links between each pair of nodes in dependence upon node pair traffic weights, wherein: the node pair traffic weights are determined in dependence upon packet weights assigned to network packets transferred between the pair of nodes and; physically reconfiguring the physical links between each pair of nodes in dependence upon the node pair traffic weights further comprises: 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 further comprising computer program instructions capable of: 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 including 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 comprises: 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 comprises: 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.
Unknown
January 14, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.