IP Library Granted Patent US 10,574,536
Granted Patent B2
US 10,574,536 · App. 16/059,398 · Granted Feb 25, 2020

Capacity engineering in distributed computing systems

Inventors: Zhao Cheng (Bellevue, WA); Muhammad Muntazir Mehdi (Redmond, WA); Nikolaj Skallerud Bjorner (Woodinville, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L41/12G06F9/50H04L41/0803H04L41/0823H04L41/142H04L41/147H04L41/16H04L45/02
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,574,536
App. No.
16/059,398
Granted
Feb 25, 2020
Kind
B2
Abstract

Improved network optimization and scaling are provided by combining optimization of traffic engineering and network topologies. Sets of minimal link capacities are determined based on the constraints of network topology, network demand, and failure modes. The optimization problem is reframed to allow for simultaneous optimization across all failure modes, reducing or eliminating overprovisioning in link capacity allocation by utilizing convex optimization solvers and techniques.

Claims (45)

1. A computer system comprising:

one or more processors; and

one or more hardware storage devices having stored thereon instructions that are executable by the one or more processors to configure the computer system to generate one or more sets of minimal link capacities and identify a particular set of minimal link capacities, including instructions that are executable to configure the computer system to perform at least the following:

obtain network traffic demand for a network, the network traffic demand describing a link capacity that the network needs to support;

obtain a plurality of different network topologies for the network, each network topology describing a different configuration of links and devices for the network;

obtain a plurality of failure scenarios for the network, including obtaining at least one failure scenario corresponding to each of the plurality of different network topologies, each failure scenario describing how the links and devices in the corresponding network topology can fail;

generate a group of sets of minimal link capacities for the plurality of different network topologies, including generating a set of optimized minimal link capacities for each of the plurality of different network topologies, by analyzing the network using an optimization technique that determines the set of optimized minimal link capacities for the network topology based on the network traffic demand for the network, the at least one failure scenario for the network topology, and the configuration of links and devices described for the network topology, each generated set of optimized minimal link capacities capable of meeting all network demands across all obtained failure scenarios for the network topology;

identify a particular set of minimal link capacities from the group of sets of minimal link capacities, based on one or more predetermined optimality criteria;

identify a particular network topology corresponding to the identified particular set of minimal link capacities; and

provide the particular set of optimized minimal link capacities and the corresponding particular network topology.

2. The computer system of claim 1 , wherein the optimization technique is a convex optimization technique.

3. The computer system of claim 1 , wherein the optimization technique is configured to simultaneously solve for each set of optimized minimal link capacities for the plurality of failure scenarios.

4. The computer system of claim 1 , wherein at least one failure scenario comprises a requirement on a number of link failures in one or more network topologies of the plurality of different network topologies.

5. The computer system of claim 1 , wherein at least one network topology of the plurality of different network topologies comprises a plurality of copies of at least one common design pattern.

6. The computer system of claim 1 , wherein a first predetermined optimality criterion of the one or more predetermined optimality criteria is a minimum net change in network resources and wherein identifying the particular set of minimal link capacities comprises at least comparing a net change in network resources of each network topology corresponding to each set of minimal link capacities of the group of sets of minimal link capacities.

7. The computer system of claim 6 , wherein identifying the particular set of minimal link capacities further comprises identifying the particular set of minimal link capacities as a first set of minimal link capacities that satisfies the first predetermined optimality criterion.

8. The computer system of claim 6 , wherein the minimum net change in network resources is based at least in part on a monetary cost associated with modifying the network based on a first network topology of the plurality of different network topologies.

9. The computer system of claim 1 , wherein each of the plurality of different network topologies is associated with one or more shared risk link groups that each comprises a group of a plurality of network links that would fail if one link of the group fails.

10. The computer system of claim 1 , wherein at least one failure scenario is associated with a service level agreement.

11. A computer system comprising:

one or more processors; and

one or more hardware storage devices having stored thereon instructions that are executable by the one or more processors to configure the computer system to perform network optimization and automatic network scaling in the network using global optimization across topology design and traffic engineering for the network, including instructions that are executable to configure the computer system to perform at least the following:

obtain network traffic demand for the network, the network traffic demand describing a link capacity that the network needs to support;

obtain a plurality of different network topologies for the network, each network topology describing a different configuration of links and devices for the network;

obtain a plurality of failure scenarios for the network, including obtaining at least one failure scenario corresponding to each of the plurality of different network topologies, each failure scenario describing how the links and devices in the corresponding network topology can fail;

generate a group of sets of minimal link capacities for the plurality of different network topologies, including generating a set of optimized minimal link capacities for each of the plurality of different network topologies, by analyzing the network using an optimization technique that determines the set of optimized minimal link capacities for the network topology based on the network traffic demand for the network, the at least one failure scenario for the network topology, and the configuration of links and devices described for the network topology, each generated set of optimized minimal link capacities capable of meeting all network demands across all obtained failure scenarios for the network topology;

identify a particular set of minimal link capacities from the group of sets of minimal link capacities, based on one or more predetermined optimality criteria;

identify a particular network topology corresponding to the identified particular set of minimal link capacities; and

create an updated network by updating the network based on the particular set of minimal link capacities.

12. The computer system of claim 11 , wherein the optimization technique is a convex optimization technique.

13. The computer system of claim 11 , wherein the optimization technique is configured to simultaneously solve for each set of minimal link capacities for the plurality of failure scenarios.

14. The computer system of claim 11 , wherein creating the updated network comprises at least requisitioning new network resources defined in the network topology corresponding to the particular set of minimal link capacities.

15. The computer system of claim 11 , wherein each of the plurality of different network topologies is associated with one or more shared risk link groups that each comprises a group of a plurality of network links that would fail if one link of the group fails.

16. The computer system of claim 11 , wherein at least one failure scenario is associated with a service level agreement.

17. A method, implemented at a computer system that includes one or more processors, for network optimization and automatic network scaling in a network using global optimization across topology design and traffic engineering for the network, the method comprising:

obtaining network traffic demand for the network, the network traffic demand describing a link capacity that the network needs to support;

obtaining a plurality of different network topologies for the network, each network topology describing a different configuration of links and devices for the network;

obtaining a plurality of failure scenarios for the network, including obtaining at least one failure scenario corresponding to each of the plurality of different network topologies, each failure scenario describing how the links and devices in the corresponding network topology can fail;

generating a group of sets of minimal link capacities for the plurality of different network topologies, including generating a set of optimized minimal link capacities for each of the plurality of different network topologies, by analyzing the network using an optimization technique that determines the set of optimized minimal link capacities for the network topology based on the network traffic demand for the network, the at least one failure scenario for the network topology, and the configuration of links and devices described for the network topology, each generated set of optimized minimal link capacities capable of meeting all network demands across all obtained failure scenarios for the network topology;

identifying a particular set of minimal link capacities from the group of sets of minimal link capacities, based on one or more predetermined optimality criteria;

identifying a particular network topology corresponding to the identified particular set of minimal link capacities; and

creating an updated network by updating the network based on the particular set of minimal link capacities.

18. The method of claim 17 , wherein the optimization technique is a convex optimization technique.

19. The method of claim 17 , wherein the optimization technique is configured to simultaneously solve for each set of minimal link capacities for the plurality of failure scenarios.

20. The method of claim 17 , wherein creating the updated network comprises at least requisitioning new network resources defined in the network topology corresponding to the particular set of minimal link capacities.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2018
From: CHENG, ZHAO; MEHDI, MUHAMMAD MUNTAZIR; BJORNER, NIKOLAJ SKALLERUD
To: MICROSOFT TECHNOLOGY LICENSING, LLC.
Reel/Frame 046601/0983 →
Continuity (2)
Provisional Application 62636105 · Feb 27, 2018
Related Publication 20190268234A1 · Aug 29, 2019