IP Library Granted Patent US 9,641,452
Granted Patent B2
US 9,641,452 · App. 14/553,306 · Granted May 2, 2017

Resolving a convex optimization problem to optimize network traffic in a distributed system

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,641,452
App. No.
14/553,306
Granted
May 2, 2017
Kind
B2
Abstract

Techniques are disclosed herein for managing network bandwidth in a distributed system having multiple endpoints that upload data to a central server or server cluster. One embodiment provides a computer-implemented method that includes receiving a logical topology of the network that is determined based on network measurements. The method further includes resolving a convex optimization problem over the logical topology to determine a bandwidth allocation scheme for the endpoints uploading data. In addition, the method includes controlling bandwidth consumption by the endpoints based on the determined bandwidth allocation scheme.

Claims (62)

1. A computer-implemented method for optimizing network bandwidth allocation in a distributed system having multiple endpoints that upload data to a central server or server cluster, the method comprising:

receiving a logical topology of the network that is determined based on network measurements;

resolving a convex optimization problem over the logical topology to determine a bandwidth allocation scheme for the endpoints uploading data, wherein resolving the convex optimization problem includes minimizing a utility function subject to constraints that consumed bandwidths of traffic flows of the endpoints for links of the logical topology of the network associated with the endpoints is less than or equal to available bandwidths of the links, over the consumed bandwidths of traffic flows greater than or equal to zero; and

controlling bandwidth consumption by the endpoints based on the determined bandwidth allocation scheme.

2. The method of claim 1 , wherein the utility function is fair in time consumed by the endpoints in uploading data.

3. The method of claim 2 , wherein the utility function has form

U

(

X

i

)

=

W

i

X

i

,

where X i is the consumed bandwidth for endpoint i, and W i is the total task workload for a given endpoint i.

4. The method of claim 3 , wherein the constraints include XA≦C, over X i ≧0, where A is a 0-1 matrix having elements A ij =1 if a router r of a given endpoint i satisfies jεr, j being a link in the network, and A ij =0 otherwise, where X is a vector X={X 1 , X 2 , . . . , X [I] } representing consumed bandwidths of all traffic flows, X i being a consumed bandwidth of traffic flows for endpoint i, and where C={C 1 , C 2 , . . . , C [J] } is a vector of available bandwidths with C j being the available bandwidth of link j.

5. The method of claim 4 , wherein resolving the convex optimization problem includes resolving the Karush-Kuhn-Tucker (KKT) conditions of:

∇ U T −μ T A= 0

μ j ( C j −X*A j )=0 for jεJ

X*A<C, X*≧ 0, μ≧0.

6. The method of claim 1 , wherein the bandwidth consumption is controlled by at least one of throttling uploading rates at the endpoints or limiting the rate of traffic flows at routers.

7. The method of claim 1 , wherein the network measurements are passively collected based on packets transmitted by the endpoints to the central server or server cluster.

8. The method of claim 1 , wherein the logical topology is determined by comparing the network measurements of each pair of endpoints to identify whether the pair of endpoints shares a bottleneck.

9. A non-transitory computer-readable storage medium embodying computer program instructions for managing network bandwidth in a distributed system having multiple endpoints that upload data to a central server or server cluster, the computer program instructions implementing operations comprising:

receiving a logical topology of the network that is determined based on network measurements;

resolving a convex optimization problem over the logical topology to determine a bandwidth allocation scheme for the endpoints uploading data, wherein resolving the convex optimization problem includes minimizing a utility function subject to constraints that consumed bandwidths of traffic flows of the endpoints for links of the logical topology of the network associated with the endpoints is less than or equal to available bandwidths of the links, over the consumed bandwidths of traffic flows greater than or equal to zero; and

controlling bandwidth consumption by the endpoints based on the determined bandwidth allocation scheme.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the utility function is fair in time consumed by the endpoints in uploading data.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the utility function has form

U

(

X

i

)

=

W

i

X

i

,

where X i is the consumed bandwidth for endpoint i, and W i is the total task workload for a given endpoint i.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the constraints include XA≦C, over X i ≧0, where A is a 0-1 matrix having elements A ij =1 if a router r of a given endpoint i satisfies jεr, j being a link in the network, and A ij =0 otherwise, where X is a vector X={X 1 , X 2 , . . . , X [I] } representing consumed bandwidths of all traffic flows, X i being a consumed bandwidth of traffic flows for endpoint i, and where C={C 1 , C 2 , . . . , C [J] } is a vector of available bandwidths with C j being the available bandwidth of link j.

13. The non-transitory computer-readable storage medium of claim 12 , wherein resolving the convex optimization problem includes resolving the Karush-Kuhn-Tucker (KKT) conditions of:

∇ U T −μ T A= 0

μ j ( C j −X*A j )=0 for jεJ

X*A<C, X*≧ 0, μ≧0.

14. The non-transitory computer-readable storage medium of claim 9 , wherein the bandwidth consumption is controlled by at least one of throttling uploading rates at the endpoints or limiting the rate of traffic flows at routers.

15. The non-transitory computer-readable storage medium of claim 9 , wherein the network measurements are passively collected based on packets transmitted by the endpoints to the central server or server cluster.

16. The non-transitory computer-readable storage medium of claim 9 , wherein the logical topology is determined by comparing the network measurements of each pair of endpoints to identify whether the pair of endpoints shares a bottleneck.

17. A system, comprising:

a processor; and

a memory, wherein the memory includes a program configured for execution by the processor to perform operations for managing network bandwidth in a distributed system having multiple endpoints that upload data to a central server or server cluster, the operations comprising:

receiving a logical topology of the network that is determined based on network measurements,

resolving a convex optimization problem over the logical topology to determine a bandwidth allocation scheme for the endpoints uploading data, wherein resolving the convex optimization problem includes minimizing a utility function subject to constraints that consumed bandwidths of traffic flows of the endpoints for links of the logical topology of the network associated with the endpoints is less than or equal to available bandwidths of the links, over the consumed bandwidths of traffic flows greater than or equal to zero, and

controlling bandwidth consumption by the endpoints based on the determined bandwidth allocation scheme.

18. The system of claim 17 ,

wherein the utility function is fair in time consumed by the endpoints in uploading data.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2014
From: LU, SHENG; VASETSKY, LEONID; CHEN, MING; CHEN, ZHIKAI; LIU, KAN
To: VMWARE, INC.
Reel/Frame 034263/0198 →