IP Library Granted Patent US 10,574,528
Granted Patent B2
US 10,574,528 · App. 15/811,329 · Granted Feb 25, 2020

Network multi-source inbound quality of service methods and systems

Inventors: Ajit Ramachandra Mayya (Saratoga, CA); Parag Pritam Thakore (Los Gatos, CA); Stephen Craig Connors (San Jose, CA); Steven Michael Woo (Los Altos, CA); Sunil Mukundan (Chennai, IN); Mukamala Swaminathan Srihari (Chennai, IN)
Assignee: NICIRA, INC.
H04L41/0896H04L43/0876
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,528
App. No.
15/811,329
Granted
Feb 25, 2020
Kind
B2
Abstract

A computerized method useful for implementing a Multi-Source Inbound QoS (Quality of Service) process in a computer network includes the step of calculating a current usage rate of a provider entity. The provider entity is classified by a network traffic priority; implementing a fair sharing policy among a set of provider entities. The method includes the step of adjusting any excess bandwidth among a set of provider entities. The method includes the step of implementing link sharing at a provider-entity level.

Claims (31)

1. A method for implementing a multi-source inbound QoS (Quality of Service) process for use on network traffic transmitted from a set of provider entities to a particular receiver entity in a computer network, wherein each of the provider entities in the set of provider entities shares at least one link with the particular receiver entity, the method comprising:

at the particular receiver entity,

receiving, from each provider entity in the set of provider entities, at least one usage score based on a quantity of network traffic transmitted by the provider entity to the receiver entity, wherein the particular receiver entity receives from a particular provider entity (i) a first usage score that relates to a quantity of network traffic transmitted by the particular provider entity at a first priority level and (ii) a second usage score that relates to a quantity of network traffic transmitted by the particular provider entity at a second priority level that is different from the first priority level;

storing the received usage scores in a bandwidth accumulator;

based on the stored usage scores, calculating a current usage rate for each provider entity in the set of provider entities in order to determine bandwidth needs for each provider entity; and

allocating bandwidth for the priority levels to each provider entity of the set of provider entities based on the determined bandwidth needs.

2. The method of claim 1 , wherein the at least one usage score received from each provider entity in the set of provider entities comprises a total requirement for the provider entity to send computer network traffic to the particular receiver entity without dropping any data packets.

3. The method of claim 1 , wherein the calculated current usage rate of each provider entity in the set of provider entities comprises a sum of all received usage scores stored in the bandwidth accumulator from any particular provider entity.

4. The method of claim 1 further comprising implementing a provider-entity-level link-sharing policy for each provider entity in the set of provider entities by configuring a link scheduler at each provider entity such that path selection policies are honored.

5. The method of claim 1 , wherein network traffic is transmitted at one of a high-priority level, a normal-priority level, and a low-priority level.

6. The method of claim 5 further comprising calculating a usage score for each network traffic priority level, wherein the usage score for a particular network traffic priority level is the sum of all received usage scores at the particular network traffic priority level.

7. The method of claim 1 further comprising:

when the determined bandwidth needs for a particular provider entity are less than a total link bandwidth specified for the receiver entity, allocating the total determined amount of needed bandwidth to the particular provider entity; and

when the determined bandwidth needs for the particular provider entity are greater than a total link bandwidth specified for the receiver entity, allocating, for each network traffic priority level, a minimum required bandwidth to the particular provider entity.

8. The method of claim 1 further comprising computing a minimum required bandwidth for a provider entity by dividing the total link bandwidth specified for the receiver entity by a number of provider entities in the set of provider entities.

9. The method of claim 1 , wherein each provider entity in the set of provider entities comprises any one of (i) a multipath protocol endpoint, (ii) an Internet host, and (iii) a multipath hub in an enterprise datacenter.

10. The method of claim 1 further comprising when excess bandwidth is found after allocating bandwidth for the priority levels to each provider entity of the set of provider entities, allocating the excess bandwidth among the set of provider entities.

11. The method of claim 10 , wherein allocating the excess bandwidth among the set of provider entities comprises:

iterating through each provider entity and assigning the excess bandwidth to a first provider entity that still requires more bandwidth.

12. A computer system comprising:

a set of one or more processing units; and

a non-transitory machine readable medium storing a program which when executed by at least one of the processing units, implements a multi-source inbound Quality of Service (QoS) process for use on network traffic transmitted from a set of provider entities to a particular receiver entity in a computer network, wherein each of the provider entities in the set of provider entities shares at least one link with the particular receiver entity, the program comprising a set of instructions for:

at the particular receiver entity:

receiving, from each provider entity in the set of provider entities, at least one usage score based on a quantity of network traffic transmitted by the provider entity to the receiver entity, wherein the particular receiver entity receives from a particular provider entity (i) a first usage score that relates to a quantity of network traffic transmitted by the particular provider entity at a first priority level and (ii) a second usage score that relates to a quantity of network traffic transmitted by the particular provider entity at a second priority level that is different from the first priority level;

storing the received usage scores in a bandwidth accumulator;

based on the stored usage scores, calculating a current usage rate for each provider entity in the set of provider entities in order to determine bandwidth needs for each provider entity;

allocating bandwidth for the priority levels to each provider entity of the set of provider entities based on the determined bandwidth needs.

13. The computerized system of claim 12 , wherein the at least one usage score received from each provider entity in the set of provider entities comprises a total requirement for the provider entity to send computer network traffic to the particular receiver entity without dropping any data packets.

14. The computerized system of claim 12 , wherein the calculated current usage rate of each provider entity in the set of provider entities comprises a sum of all received usage scores stored in the bandwidth accumulator from any particular provider entity.

15. The computerized system of claim 12 , wherein the program comprises a set of instructions for implementing a provider-entity-level link-sharing policy for each provider entity in the set of provider entities by configuring a link scheduler at each provider entity such that path selection policies are honored.

16. The computerized system of claim 12 , wherein each provider entity in the set of provider entities comprises any one of (i) a multipath protocol endpoint, (ii) an Internet host, and (iii) a multipath hub in an enterprise datacenter.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2025
From: VMWARE, LLC
To: VELOCLOUD NETWORKS, LLC
Reel/Frame 072326/0693 →
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2018
From: VELOCLOUD NETWORKS, LLC
To: NICIRA, INC.
Reel/Frame 046942/0279 →
CHANGE OF NAME Recorded Sep 4, 2018
From: VELOCLOUD NETWORKS, INC.
To: VELOCLOUD NETWORKS, LLC
Reel/Frame 047012/0891 →
NUNC PRO TUNC ASSIGNMENT Recorded Sep 4, 2018
From: MAYYA, AJIT RAMACHANDRA; THAKORE, PARAG PRITAM; CONNORS, STEPHEN CRAIG; WOO, STEVEN MICHAEL; MUKUNDAN, SUNIL; SRIHARI, MUKAMALA SWAMINATHAN
To: VELOCLOUD NETWORKS, INC
Reel/Frame 046781/0619 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2018
From: VELOCLOUD NETWORKS, LLC
To: NICIRA, INC.
Reel/Frame 045987/0703 →
Cited By (24)
US 12,355,655 US 12,368,676 US 12,375,403 US 12,401,544 US 12,425,332 US 12,425,335 US 12,425,347 US 12,425,395 US 12,483,968 US 12,489,672 US 12,506,678 US 12,507,120 US 12,507,148 US 12,507,153 US 12,526,183 US 12,549,465 US 12,563,438 US 12,568,039 US 12,587,468 US 12,603,827 US 12,603,848 US 12,632,330 US 12,652,217 US 12,659,719