# US 11,115,292 B2 · Dynamic slice bandwidth multiplexing based on slice priority

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,115,292 B2
- Document ID: US11115292B2
- Status: Granted
- Kind: B2
- Application number: 16/722,784
- Filed: 2019-12-20
- Published: 2021-03-04
- Granted: 2021-09-07
- Earliest claimed: 2019-08-26
- Assignees: VMware, Inc.
- Applicants: Vmware, Inc.
- Inventors: Robert Kidd; Raja Kommula; Jeremy Tidemann; Constantine Polychronopoulos; Marc Andre Bordeleau; Edward Choh; Ojas Gupta; Georgios Oikonomou; Mingjie Zhao
- Web page: https://patentgrep.com/patent/US11115292B2

## CPC

- H04L 41/5022: by giving priorities, e.g. assigning classes of service
- H04L 41/0897: by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
- H04L 41/5006: Creating or negotiating SLA contracts, guarantees or penalties
- H04L 41/5025: by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
- H04L 45/507: {Label distribution}
- H04L 45/64: using an overlay routing layer
- H04L 47/805: {QOS or priority aware}
- H04L 49/101: using crossbar or matrix
- H04W 28/20: Negotiating bandwidth
- H04W 28/24: Negotiating SLA [Service Level Agreement]; Negotiating QoS [Quality of Service]
- H04W 76/12: Setup of transport tunnels
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

In a slice-based network, slice multiplexers can be used to anchor inter-cloud tunnels across different clouds in a slice path. The slice multiplexers can dynamically change a total allocated bandwidth of an outer tunnel and reconfigure relative slice bandwidths of inner tunnels. This can result in an optimized bandwidth allocation that enforces slice priorities, maintains required SLA performance levels, and minimizes total allocated bandwidth on the network connection. The dynamic changes can be based on slice priority levels, total number of slices, and historical slice throughput.

## Claims

### Claim 1

A method for slice-based quality of service (“QoS”), comprising:
creating a network connection between first and second slice multiplexers at different clouds;
determining that a first slice is utilizing less bandwidth across the network connection than allotted by a service level agreement (“SLA”);
based on the determination, reconfiguring a first slice multiplexer to increase an allowed bandwidth of a second slice and decrease an allowed bandwidth of the first slice, wherein the increase and decrease is based on relative slice priority levels of the first and second slices;
comparing a current bandwidth of the network connection to a total allowed bandwidth, wherein the current bandwidth accounts for the first and second slices; and
based on the comparison, changing the total allowed bandwidth of the network connection by setting limits at the first and second slice multiplexers, wherein the slice priority levels of the first and second slices is factored into determining the changed total allowed bandwidth.

### Claim 2 (depends on 1)

The method of claim 1, further comprising setting a crossbar switch to route packets between multiple slice multiplexers including the first slice multiplexer, wherein the routing depends on a slice path for the packets.

### Claim 3 (depends on 1)

The method of claim 1, wherein the network connection is an intercloud tunnel having an outer tunnel and multiple inner tunnels, the inner tunnels corresponding to different slices,
wherein the change to the total allowed bandwidth applies to the outer tunnel, and
wherein the decrease and increase of bandwidth for the first and second slices, respectively, applies to at least some of the inner tunnels.

### Claim 4 (depends on 1)

The method of claim 1, wherein the network connection includes a path through an MPLS network, and wherein links are changed to reroute the network connection based on which links reach bandwidth capacity.

### Claim 5 (depends on 1)

The method of claim 1, wherein the changed total allowed bandwidth is also based on historical slice throughput.

### Claim 6 (depends on 1)

The method of claim 1, further comprising mirroring the reconfiguration and changed total bandwidth of the first slice multiplexer at the second slice multiplexer.

### Claim 7 (depends on 1)

The method of claim 1, wherein the changed total allowed bandwidth is further based on a number of slices passing through the network connection.

### Claim 8

A non-transitory, computer-readable medium comprising instructions that are executed by a processor to perform stages for slice-based quality of service (“QoS”), the stages comprising:
creating a network connection between first and second slice multiplexers at different clouds;
determining that a first slice is utilizing less bandwidth across the network connection than allotted by a service level agreement (“SLA”);
based on the determination, reconfiguring a first slice multiplexer to increase an allowed bandwidth of a second slice and decrease an allowed bandwidth of the first slice, wherein the increase and decrease is based on relative slice priority levels of the first and second slices;
comparing a current bandwidth of the network connection to a total allowed bandwidth, wherein the current bandwidth accounts for the first and second slices; and
based on the comparison, changing the total allowed bandwidth of the network connection by setting limits at the first and second slice multiplexers, wherein the slice priority levels of the first and second slices is factored into determining the changed total allowed bandwidth.

### Claim 9 (depends on 8)

The non-transitory, computer-readable medium of claim 8, the stages further comprising setting a crossbar switch to route packets between multiple slice multiplexers including the first slice multiplexer, wherein the routing depends on a slice path for the packets.

### Claim 10 (depends on 8)

The non-transitory, computer-readable medium of claim 8, wherein the network connection is an intercloud tunnel having an outer tunnel and multiple inner tunnels, the inner tunnels corresponding to different slices,
wherein the change to the total allowed bandwidth applies to the outer tunnel, and
wherein the decrease and increase of bandwidth for the first and second slices, respectively, applies to at least some of the inner tunnels.

### Claim 11 (depends on 8)

The non-transitory, computer-readable medium of claim 8, wherein the network connection includes a path through an MPLS network, and wherein links are changed to reroute the network connection based on which links reach bandwidth capacity.

### Claim 12 (depends on 8)

The non-transitory, computer-readable medium of claim 8, wherein the changed total allowed bandwidth is also based on historical slice throughput.

### Claim 13 (depends on 8)

The non-transitory, computer-readable medium of claim 8, the stages further comprising mirroring the reconfiguration and changed total bandwidth of the first multiplexer the second slice multiplexer.

### Claim 14 (depends on 8)

The non-transitory, computer-readable medium of claim 8, wherein the changed total allowed bandwidth is further based on a number of slices passing through the network connection.

### Claim 15

A system for slice-based quality of service (“QoS”), comprising:
a non-transitory, computer-readable medium containing instructions; and
a processor that executes the instructions to perform stages comprising:
creating a network connection between first and second slice multiplexers at different clouds;
determining that a first slice is utilizing less bandwidth across the network connection than allotted by a service level agreement (“SLA”);
based on the determination, reconfiguring a first slice multiplexer to increase an allowed bandwidth of a second slice and decrease an allowed bandwidth of the first slice, wherein the increase and decrease is based on relative slice priority levels of the first and second slices;
comparing a current bandwidth of the network connection to a total allowed bandwidth, wherein the current bandwidth accounts for the first and second slices; and
based on the comparison, changing the total allowed bandwidth of the network connection by setting limits at the first and second slice multiplexers, wherein the slice priority levels of the first and second slices is factored into determining the changed total allowed bandwidth.

### Claim 16 (depends on 15)

The system of claim 15, the stages further comprising setting a crossbar switch to route packets between multiple slice multiplexers including the first slice multiplexer, wherein the routing depends on a slice path for the packets.

### Claim 17 (depends on 15)

The system of claim 15, wherein the network connection is an intercloud tunnel having an outer tunnel and multiple inner tunnels, the inner tunnels corresponding to different slices,
wherein the change to the total allowed bandwidth applies to the outer tunnel, and
wherein the decrease and increase of bandwidth for the first and second slices, respectively, applies to at least some of the inner tunnels.

### Claim 18 (depends on 15)

The system of claim 15, wherein the network connection includes a path through an MPLS network, and wherein links are changed to reroute the network connection based on which links reach bandwidth capacity.

### Claim 19 (depends on 15)

The system of claim 15, wherein the changed total allowed bandwidth is also based on historical slice throughput.

### Claim 20 (depends on 15)

The system of claim 15, wherein the changed total allowed bandwidth is further based on a number of slices passing through the network connection.
