# US 12,591,465 B2 · Function as a service fusion deployment

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

- Number: US 12,591,465 B2
- Document ID: US12591465B2
- Status: Granted
- Kind: B2
- Application number: 18/352,757
- Filed: 2023-07-14
- Published: 2025-01-16
- Granted: 2026-03-31
- Earliest claimed: 2023-07-14
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Yair Yotam; Boris Shpilyuck; Igor Dubrovsky
- Web page: https://patentgrep.com/patent/US12591465B2

## CPC

- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F 2209/501: Performance criteria
- G06F 2209/5022: Workload threshold
- G06F 2209/503: Resource availability
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system can determine that a first containerized function invokes a second containerized function. The system can identify a first number of instances of the first containerized function, and a second number of instances of the second containerized function. The system can determine a first cost of executing the first number of instances of the first containerized function, and the second number of instances of the second containerized function, wherein the first cost comprises a first computer memory cost, a first computer storage cost, and a first service level agreement violation cost. The system can determine a second cost associated with executing a third number of instances of a third container that comprises the first function and the second function. The system can, in response to determining that the second cost is less than the first cost, execute the third number of instances of the third container.

## Claims

### Claim 1

A system, comprising:
a processor; and
a memory coupled to the processor, comprising instructions that, in response to execution by the processor, cause the system to perform operations, comprising:
determining that a first containerized function of a group of containerized functions invokes a second containerized function of the group of containerized functions, wherein the first containerized function comprises a first container hosting a first function, and wherein the second containerized function comprises a second container hosting a second function;
identifying a first number of instances of the first containerized function, wherein the instances of the first number are configured to be executed;
identifying a second number of instances of the second containerized function, wherein the instances of the second number are configured to be executed, and wherein the first number of instances differs from the second number of instances;
determining a first cost of executing the first number of instances of the first containerized function, and the second number of instances of the second containerized function, wherein the first cost comprises a first computer memory cost, a first computer storage cost, and a first service level agreement violation cost;
determining a second cost associated with executing a third number of instances of a third container that comprises the first function and the second function, wherein the third number of instances corresponds to whichever of the first number of instances and the second number of instances is greater, and wherein the second cost comprises a second computer memory cost, a second computer storage cost, and a second service level agreement violation cost;
in response to determining that the second cost is less than the first cost,
executing the third number of instances of the third container,
directing a first call to invoke the first function to the third number of instances of the third container, and
directing a second call to invoke the second function to the third number of instances of the third container.

### Claim 2 (depends on 1)

The system of claim 1, wherein the operations further comprise:
in response to determining that the first cost is less than the second cost,
refraining from executing the third number of instances of the third container,
directing the first call to invoke the first function to the first number of instances of the first containerized function, and
directing the second call to invoke the second function to the second number of instances of the second containerized function.

### Claim 3 (depends on 1)

The system of claim 1, wherein the first number of instances of the first containerized function corresponds to processing a number of invocations of a computer service, and wherein the second number of instances of the second containerized function corresponds to processing the number of invocations of the computer service.

### Claim 4 (depends on 3)

The system of claim 3, wherein the first number of instances of the first containerized function is greater than the second number of instances of the second containerized function, and wherein the third number of instances of the third container comprises a surplus of instances of the second function relative to processing the number of invocations of the computer service.

### Claim 5 (depends on 4)

The system of claim 4, wherein executing the surplus of instances of the second function consumes computing resources.

### Claim 6 (depends on 1)

The system of claim 1, wherein a first amount of time is associated with executing the first function in a first instance of the first number of instances of the first containerized function sequentially with executing the second function in a second instance of the second number of instances of the second containerized function,
wherein a second amount of time is associated with executing the first function in a third instance of the third number of instances of the third container sequentially with executing the second function in the third instance of the third number of instances of the third container,
wherein the first amount of time is greater than the second amount of time, and
wherein the first service level agreement violation cost is greater than the second service level agreement violation cost.

### Claim 7 (depends on 6)

The system of claim 6, wherein the first amount of time comprises a third amount of time associated with a cold start of executing the second function in the second instance of the second number of instances of the second containerized function.

### Claim 8 (depends on 7)

The system of claim 7, wherein the operations further comprise:
determining the third amount of time associated with the cold start of executing the second function in the second instance of the second number of instances of the second containerized function based on historical data generated from having executed the second function in the past.

### Claim 9

A method, comprising:
identifying, by a system comprising a processor, a first number of instances of a first container that is configured to be executed, and a second number of instances of a second container that is configured to be executed, wherein the first container comprises a first function, wherein the second container comprises a second function, and wherein the first function invokes the second function;
determining, by the system, a first cost associated with first computing resources consumed and first service level agreement violations that correspond to executing the first number of instances of the first container and the second number of instances of the second container;
determining, by the system, a second cost associated with second computing resources consumed and second service level agreement violations that correspond to executing a third container that comprises the first function and the second function; and
in response to determining that the second cost is less than the first cost, executing, by the system, a third number of instances of the third container.

### Claim 10 (depends on 9)

The method of claim 9, wherein executing the third number of instances of the third container comprises:
directing a first call to invoke the first function to the third number of instances of the third container; and
directing a second call to invoke the second function to the third number of instances of the third container.

### Claim 11 (depends on 9)

The method of claim 9, wherein determining the second cost comprises:
determining, by the system, the second cost based on a third cost associated with computer memory resource consumption of the third number of instances of the third container.

### Claim 12 (depends on 9)

The method of claim 9, wherein determining the second cost comprises:
determining, by the system, the second cost based on a third cost associated with storage resource consumption of the third number of instances of the third container.

### Claim 13 (depends on 9)

The method of claim 9, wherein determining the second cost comprises:
determining, by the system, the second cost based on first historical data of first past computing resource consumption of the first number of instances of the first container, and based on second historical data of second past computing resource consumption of the second number of instances of the second container.

### Claim 14 (depends on 9)

The method of claim 9, wherein executing the third number of instances of the third container comprises:
accessing first source code of the first function from a repository;
accessing second source code of the second function from the repository;
packaging the first source code and the second source code into an image that comprises the third container in which the first source code and the second source code are configured to execute; and
deploying the image to produce the third number of instances of the third container.

### Claim 15 (depends on 9)

The method of claim 9, wherein executing the third number of instances of the third container comprises:
terminating the first number of instances of the first container; and
terminating the second number of instances of the second container.

### Claim 16 (depends on 9)

The method of claim 9, wherein executing the third number of instances of the third container comprises:
deploying the third container by a continuous integration and continuous deployment component.

### Claim 17

A non-transitory computer-readable medium comprising instructions that, in response to execution, cause a system comprising a processor to perform operations, comprising:
identifying a first container that is configured to be executed, and a second container that is configured to be executed, wherein the first container comprises a first function, wherein the second container comprises a second function, and wherein the first function invokes the second function;
determining a first expenditure associated with executing the first container and the second container;
determining a second expenditure associated with executing a third container that comprises the first function and the second function; and
in response to determining that the second expenditure is less than the first expenditure, executing at least one instance of the third container.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the operations further comprise:
in response to determining that the first expenditure is less than the second expenditure, refraining from executing the at least one instance of the third container.

### Claim 19 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the second expenditure is determined based on an amount of memory and storage associated with executing each of the first function and the second function, and a number of instances of the at least one instance of the third container.

### Claim 20 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the first expenditure is determined based on an amount of time associated with a cold start of an instance of the first container or the second container, and a rate of occurrence of the cold start.
