IP Library Granted Patent US 10,616,319
Granted Patent B2
US 10,616,319 · App. 15/890,050 · Granted Apr 7, 2020

Methods and apparatus to allocate temporary protocol ports to control network load balancing

Inventors: Raja Kommula (Cupertino, CA); Raj Yavatkar (Saratoga, CA); Thayumanavan Sridhar (Sunnyvale, CA)
Assignee: VMware, Inc.
H04L67/1023H04L43/0882H04L45/245H04L47/125H04L47/726H04L29/06
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 10,616,319
App. No.
15/890,050
Granted
Apr 7, 2020
Kind
B2
Abstract

A disclosed example apparatus to manage port allocations for network load balancing includes a telematics network information collector to collect bandwidth utilizations corresponding to physical links of network paths between a source and a destination, the network paths including at least one of a link aggregation group hop or an equal cost multi-path hop; a cost calculator to determine network path costs corresponding to unused protocol ports of a physical server host based on the bandwidth utilizations; a comparator to compare the network path costs; and a port allocator to, based on the comparison, allocate one of the unused protocol ports to an application.

Claims (41)

1. An apparatus to manage port allocations for network load balancing, the apparatus comprising:

a telematics network information collector to collect bandwidth utilizations corresponding to physical links of network paths between a source and a destination, the network paths including at least one of a link aggregation group hop or an equal cost multi-path hop;

a cost calculator to determine network path costs corresponding to unused protocol ports of a physical server host based on the bandwidth utilizations;

a comparator to compare the network path costs; and

a port allocator to, based on the comparison, allocate one of the unused protocol ports to an application.

2. The apparatus as defined in claim 1 , wherein the unused protocol ports are at least one of transmission control protocol ports or user datagram protocol ports.

3. The apparatus as defined in claim 1 , wherein the cost calculator is to determine a first one of the network path costs as a sum of a first hop cost corresponding to the link aggregation group hop and a second hop cost corresponding to the equal cost multi-path hop.

4. The apparatus as defined in claim 1 , wherein the comparator is to compare the network path costs by sorting the network path costs from smallest to largest, the port allocator to allocate the one of the unused protocol ports to the application based on the one of the unused protocol ports corresponding to the least one of the network path costs.

5. The apparatus as defined in claim 1 , further including:

a hash generator to generate hash values based on the unused protocol ports; and

an egress port selector to select egress ports of switches in the network paths based on the hash values, the bandwidth utilizations corresponding to the selected egress ports.

6. The apparatus as defined in claim 1 , further including a port translator to replace an actual source protocol port in a network packet from the application with the one of the unused protocol ports as a temporary source protocol port, the network packet to be sent to the destination via a network based on the one of the unused protocol ports.

7. The apparatus as defined in claim 6 , further including a protocol port translation table to store the actual source protocol port with the temporary source protocol port.

8. An apparatus to manage port assignments for network load balancing, the apparatus comprising:

means for collecting bandwidth utilizations corresponding to physical links of network paths between a source and a destination, the network paths including at least one of a link aggregation group hop or an equal cost multi-path hop;

means for determining network path costs corresponding to unused protocol ports of a physical server host based on the bandwidth utilizations;

means for comparing the network path costs; and

means for allocating one of the unused protocol ports to an application based on the comparison.

9. The apparatus as defined in claim 8 , wherein the unused protocol ports are at least one of transmission control protocol ports or user datagram protocol ports.

10. The apparatus as defined in claim 8 , wherein the means for determining network path costs is to determine a first one of the network path costs as a sum of a first hop cost corresponding to the link aggregation group hop and a second hop cost corresponding to the equal cost multi-path hop.

11. The apparatus as defined in claim 8 , wherein the means for comparing is to compare the network path costs by sorting the network path costs from smallest to largest, the means for allocating to allocate the one of the unused protocol ports to the application based on the one of the unused protocol ports corresponding to the least one of the network path costs.

12. The apparatus as defined in claim 8 , further including:

means for generating hash values based on the unused protocol ports; and

means for selecting egress ports of switches in the network paths based on the hash values, the bandwidth utilizations corresponding to the selected egress ports.

13. The apparatus as defined in claim 8 , further including means for translating ports from an actual source protocol port in a network packet corresponding to the application to the one of the unused protocol ports as a temporary source protocol port, the network packet to be sent to the destination via a network based on the one of the unused protocol ports.

14. The apparatus as defined in claim 13 , further including means for storing the actual source protocol port with the temporary source protocol port.

15. A non-transitory computer readable storage medium comprising instructions that, when executed, cause at least one processor to:

collect bandwidth utilizations corresponding to physical links of network paths between a source and a destination, the network paths including at least one of a link aggregation group hop or an equal cost multi-path hop;

determine network path costs corresponding to unused protocol ports of a physical server host based on the bandwidth utilizations;

compare the network path costs; and

allocate one of the unused protocol ports to an application based on the comparison.

16. The non-transitory computer readable storage medium as defined in claim 15 , wherein the unused protocol ports are at least one of transmission control protocol ports or user datagram protocol ports.

17. The non-transitory computer readable storage medium as defined in claim 15 , wherein the instructions are to cause the at least one processor to determine a first one of the network path costs as a sum of a first hop cost corresponding to the link aggregation group hop and a second hop cost corresponding to the equal cost multi-path hop.

18. The non-transitory computer readable storage medium as defined in claim 15 , wherein the instructions are to cause the at least one processor to:

compare the network path costs by sorting the network path costs from smallest to largest, and

allocate the one of the unused protocol ports to the application based on the one of the unused protocol ports corresponding to the least one of the network path costs.

19. The non-transitory computer readable storage medium as defined in claim 15 , wherein the instructions are further to cause the at least one processor to:

generate hash values based on the unused protocol ports; and

select egress ports of switches in the network paths based on the hash values, the bandwidth utilizations corresponding to the selected egress ports.

20. The non-transitory computer readable storage medium as defined in claim 15 , wherein the instructions are further to cause the at least one processor to replace an actual source protocol port in a network packet from the application with the one of the unused protocol ports as a temporary source protocol port, the network packet to be sent to the destination via a network based on the one of the unused protocol ports.

21. The non-transitory computer readable storage medium as defined in claim 20 , wherein the instructions are further to cause the at least one processor to store the actual source protocol port with the temporary source protocol port.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2018
From: KOMMULA, RAJA; YAVATKAR, RAJ; SRIDHAR, THAYUMANAVAN
To: VMWARE, INC.
Reel/Frame 045644/0241 →
Continuity (1)
Related Publication 20190245915A1 · Aug 8, 2019