IP Library › Granted Patent US 10,735,279
Granted Patent B2
US 10,735,279 · App. 15/488,334 · Granted Aug 4, 2020

Networking service level agreements for computer datacenters

Inventors: Yan Sun (Santa Clara, CA); Wei Xu (Dublin, CA); Xiaofeng Yang (Pleasanton, CA); Zhi Liu (Beijing, CN); Zhe Fu (Beijing, CN); Jun Li (Beijing, CN)
Assignee: Futurewei Technologies, Inc.
H04L41/5041G06F9/5077H04L29/08135H04L41/5006H04L41/5019H04L41/5035H04L67/10H04L67/322G06F2009/4557H04L41/0896H04L41/12
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,735,279
App. No.
15/488,334
Filed
Apr 14, 2017
Granted
Aug 4, 2020
Kind
B2
Art Unit
2447
USPC
709/226
Abstract

A service level agreement (SLA) system is provided for multi-tenant cloud computing to enable provisioning of computing instances for tenants with a networking SLA. A networking SLA may specify a bandwidth requirement, for example, between instances to be scheduled for a tenant in a datacenter. The SLA system evaluates nodes in the datacenter based on a remaining capacity of links associated with nodes implementing the networking SLA. A modular system is provided to enable integration of the SLA system into existing cloud computing infrastructures. The cloud management system may query the SLA system to determine nodes in the datacenter capable of meeting a networking SLA. The list may be ordered to indicate nodes having better capacity to fulfill the networking SLA. The cloud management system can utilize the ordered list of nodes in scheduling instance deployments for tenant requests.

Claims (43)

1. A device, comprising:

a memory storage comprising instructions; and

one or more processors in communication with the memory, the one or more processors executing the instructions to:

receive a networking service level agreement (SLA) associated with deploying a plurality of instances of computing services in a computing datacenter, the networking SLA specifying a bandwidth requirement between at least two instances;

receive from a set of nodes in the datacenter a set of offers indicating initial network resources associated with the corresponding node;

determine for the set of offers available network resources associated with meeting the SLA using the set of nodes;

determine for each of the offers in the set of offers a distance between interconnected instances of the set of offers, the distances stored in a matrix associating available network resources between the interconnected instances;

deploy the plurality of instances at a subset of nodes of the computing datacenter based on the available network resources associated with the set of offers, each offer in the set of offers from a corresponding node in the set of nodes including an indication of initial bandwidth available at the node;

determine for the set of offers the available network resources by deducting the bandwidth requirement from the initial bandwidth at each corresponding node in the set of nodes;

determine for the set of offers a remaining capacity of each link between interconnected pods after deducting the bandwidth requirement;

generate an ordered list of the set of offers based on the distance and the remaining capacity of each link, the deploying the plurality of instances being based on the ordered list; and

generate a score for each offer or subset of offers in the set offers, the score based on the distance between the interconnected pods and a cost representing network capacity to fulfill the networking SLA using the associated offer.

2. The device of claim 1 , wherein:

the subset of nodes is a second subset of nodes;

the one or more processors execute the instructions to perform a first deployment of the plurality of instances at a first subset of nodes in the computing datacenter prior to determining the available network resources; and

the one or more processors execute the instructions to deploy the plurality of instances at the second subset of nodes in the computing datacenter based on the available network resources after the first deployment, the second subset of nodes including at least one different node from the first subset of nodes.

3. The device of claim 2 , wherein the one or more processors execute the instructions to:

monitor the first deployment at the first subset of nodes to determine whether the networking SLA is satisfied; and

wherein the plurality of instances are deployed at the second subset of nodes based on the first deployment not being satisfied.

4. The device of claim 1 , wherein the one or more processors execute the instructions to:

deploy a first QoS rule for enforcement across one or more pods;

deploy a second QoS rule for enforcement across one or more virtual machines; and

deploy a third QoS rule for enforcement across one or more physical machines.

5. The device of claim 1 , wherein the one or more processors execute the instructions to:

determine available virtual network resources between instances in one physical machine to meet the bandwidth requirement using each offer; and

determine available physical network resources between instances in different physical machines to meet the bandwidth requirement using each offer.

6. The device of claim 1 , wherein the one or more processors execute the instructions to:

sort a plurality of offers, including the set of offers, based on the score for each offer or subset of offers; and

evaluate the plurality of offers by evaluating lower score offers before higher score offers in order to select a number of offers for the set of offers that have enough network resources to meet the bandwidth requirement.

7. The device of claim 6 , wherein:

the networking SLA and the set of offers are received at a cloud management system;

the one or more processors execute the instructions to transmit the plurality of offers to a service level agreement (SLA) system;

the one or more processors execute the instructions to provide the ordered list from the SLA system to the cloud management system; and

the plurality of instances are deployed by the cloud management system based on the ordered list.

8. The device of claim 7 , wherein:

the networking SLA specifies a latency requirement and a drop rate requirement;

the ordered list is generated based on the latency requirement and the drop rate requirement;

the one or more processors execute the instructions to receive a computing SLA associated with deploying the plurality of instances; and

the one or more processors execute the instructions to deploy the plurality of instances based on the computing SLA and the ordered list.

9. The device of claim 1 , wherein:

the networking SLA is associated with deploying a plurality of containers, each container including one or more of the instances of computing services.

10. The device of claim 9 , wherein:

the networking SLA is associated with deploying a plurality of pods, each pod including two or more of the containers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2017
From: SUN, YAN; XU, WEI; YANG, XIAOFENG; LIU, ZHI; FU, ZHE; LI, JUN
To: FUTUREWEI TECHNOLOGIES, INC.
Reel/Frame 042063/0973 →
Continuity (1)
Related Publication 20180302299A1 · Oct 18, 2018
Cited By (1)
US 12,683,904