# US 12,015,536 B2 · Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds

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

- Number: US 12,015,536 B2
- Document ID: US12015536B2
- Status: Granted
- Kind: B2
- Application number: 17/569,523
- Filed: 2022-01-06
- Published: 2022-12-22
- Granted: 2024-06-18
- Earliest claimed: 2021-06-18
- Assignees: VMware, Inc.
- Applicants: VMware LLC
- Inventors: Raghav Kempanna; Rajagopal Sreenivasan; Sudarshana Kandachar Sridhara Rao; Kumara Parameshwaran; Vipin Padmam Ramesh
- Web page: https://patentgrep.com/patent/US12015536B2

## CPC

- H04L 43/0888: Throughput
- H04L 43/0894: Packet rate
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 41/5009: Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
- H04L 41/5019: Ensuring fulfilment of SLA
- H04L 43/08: Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L 43/50: Testing arrangements
- H04L 41/046: comprising network management agents or mobile agents therefor
- H04L 43/06: Generation of reports
- H04L 43/0817: by checking functioning
- H04L 43/16: Threshold monitoring
- H04L 47/76: using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Some embodiments of the invention provide a method of deploying first and second tenant deployable elements to a set of one or more public clouds, the first and second tenant deployable elements being different types of elements. The method identifies first and second sets of performance metrics respectively for first and second sets of candidate resource elements to use to deploy the first and second tenant deployable elements, the two sets of performance metrics being different sets of metrics because the first and second tenant deployable elements being different types of elements, the first set of performance metrics having at least one metric that is not included in the second set of performance metrics. The method uses the different sets of metrics evaluate the first and second sets of candidate resource elements, in order to select one of the first set of candidate resource elements for the first tenant deployable element and to select one of the second set of candidate resource elements for the second tenant deployable element. The method deploys the first and second tenant deployable elements in the set of PCDs by using the selected candidate resource elements.

## Claims

### Claim 1

A method of deploying first and second tenant deployable elements to a set of one or more public clouds, the first and second tenant deployable elements being different types of elements, the method comprising:
identifying first and second sets of performance metrics respectively for first and second sets of candidate resource elements to use to deploy the first and second tenant deployable elements, the two sets of performance metrics being different sets of metrics because the first and second tenant deployable elements being different types of elements, said first and second sets of performance metrics each comprising at least one metric from a group of metrics that comprises throughput, packets per second, connections per second, requests per second, transactions per second, transmission control protocol (TCP) synchronization message arrival rate, number of open TCP connections, and number of established TCP connections, and the first set of performance metrics having at least one metric that is not included in the second set of performance metrics, the first set of performance metrics being associated with the first set of candidate resource element, the second set of performance metrics being associated with the second set of candidate resource element;
using the different sets of metrics evaluate the first and second sets of candidate resource elements, in order to select one of the first set of candidate resource elements for the first tenant deployable element and to select one of the second set of candidate resource elements for the second tenant deployable element;
deploying the first and second tenant deployable elements in the set of PCDs by using the selected candidate resource elements.

### Claim 2 (depends on 1)

The method of claim 1, wherein the different candidate resource elements in the first set of candidate resource elements comprise at least two candidate resource elements in two different public clouds.

### Claim 3 (depends on 2)

The method of claim 2, wherein the different candidate resource elements in the first set of candidate resource elements further comprise at least two different sub-types of candidate resource elements in a first public cloud.

### Claim 4 (depends on 3)

The method of claim 3, wherein the first tenant deployable element is a workload or service machine for execution on a host computer, and the different sub-types of candidate resource elements perform a set of operations of the workload or service machine but consume different amounts of resource of the host computer, the host-computer resources comprising at least one of the host-computer processor, the host-computer memory, host-computer storage and host-computer ingress/egress bandwidth.

### Claim 5 (depends on 1)

The method of claim 1, wherein the different candidate resource elements in the first set of candidate resource elements comprise at least two candidate resource elements in one public cloud.

### Claim 6 (depends on 1)

The method of claim 1, wherein the first tenant deployable element is a workload machine while the second tenant deployable element is a service machine.

### Claim 7 (depends on 1)

The method of claim 1, wherein the first tenant deployable element is a workload or service machine while the second tenant deployable element is a forwarding element that has to be deployed on a machine executing on a host computer or deployed as a forwarding appliance.

### Claim 8 (depends on 1)

The method of claim 1, wherein the first set of metric does not include any metrics that is in the second set of metric types.

### Claim 9 (depends on 1)

The method of claim 1, wherein identifying the first and second sets of metrics comprises collecting the first and second sets of metrics from a cloud-analyzing framework that collects a plurality of metrics for a plurality of candidate resource elements that are deployed in a plurality of public clouds.

### Claim 10 (depends on 1)

The method of claim 1, wherein the set of public clouds comprises first and second public clouds operated by first and second cloud service providers (CSPs).

### Claim 11 (depends on 1)

The method of claim 1, wherein the first tenant deployable element is a workload virtual machine (VM), container, or Pod, while the second tenant deployable element is a forwarding element or middlebox service element.

### Claim 12 (depends on 1)

The method of claim 1, wherein the first tenant deployable element performs a first set of operations, while the second tenant deployable performs a second set of operations that is different than the first set of operations.

### Claim 13 (depends on 1)

The method of claim 1 further comprising
before the identifying, using and deploying operations for each particular tenant deployable element, receiving a request to deploy the particular tenant deployable element in a public cloud.

### Claim 14 (depends on 1)

The method of claim 1, wherein the first set of metrics comprises one or more performance metrics that are needed to evaluate deployments of tenant deployable elements of the first type, while the second set of metrics comprises one or more performance metrics that are needed to evaluate deployments of tenant deployable elements of the second type.

### Claim 15 (depends on 1)

The method of claim 1, wherein deploying the first tenant deployable element comprises using a resource element selected from a pool of pre-allocated resource elements in a public cloud to implement the first tenant deployable element.

### Claim 16

A non-transitory machine readable medium storing a program for execution by a set of processing units, the program for deploying first and second tenant deployable elements to a set of one or more public clouds, the first and second tenant deployable elements being different types of elements, the program comprising sets of instructions for:
identifying first and second sets of performance metrics respectively for first and second sets of candidate resource elements to use to deploy the first and second tenant deployable elements, the two sets of performance metrics being different sets of metrics because the first and second tenant deployable elements being different types of elements, the first set of performance metrics having at least one metric that is not included in the second set of performance metrics, the first set of performance metrics being associated with the first set of candidate resource element, the second set of performance metrics being associated with the second set of candidate resource element;
using the different sets of metrics evaluate the first and second sets of candidate resource elements, in order to select one of the first set of candidate resource elements for the first tenant deployable element and to select one of the second set of candidate resource elements for the second tenant deployable element; and
deploying the first and second tenant deployable elements in the set of PCDs by using the selected candidate resource elements.

### Claim 17 (depends on 16)

The non-transitory machine readable medium of claim 16, wherein the different candidate resource elements in the first set of candidate resource elements comprise (i) at least two candidate resource elements in two different public clouds and (ii) at least two different sub-types of candidate resource elements in a first public cloud.

### Claim 18 (depends on 17)

The non-transitory machine readable medium of claim 17, wherein the first tenant deployable element is a workload or service machine for execution on a host computer, and the different sub-types of candidate resource elements perform a set of operations of the workload or service machine but consume different amounts of resource of the host computer, the host-computer resources comprising at least one of the host-computer processor, the host-computer memory, host-computer storage and host-computer ingress/egress bandwidth.

### Claim 19 (depends on 16)

The non-transitory machine readable medium of claim 16, wherein the set of instructions for identifying the first and second sets of metrics comprises a set of instructions for collecting the first and second sets of metrics from a cloud-analyzing framework that collects a plurality of metrics for a plurality of candidate resource elements that are deployed in a plurality of public clouds.

### Claim 20 (depends on 1)

The method of claim 1, further comprising aggregating the first set of performance metrics based on PCD association and/or resource element type association.
