# US 10,871,997 B2 · System and method for routing computing workloads based on proximity

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

- Number: US 10,871,997 B2
- Document ID: US10871997B2
- Status: Granted
- Kind: B2
- Application number: 15/616,640
- Filed: 2017-06-07
- Published: 2017-09-28
- Granted: 2020-12-22
- Earliest claimed: 2014-12-09
- Assignees: Cirba IP Inc.
- Applicants: Cirba IP Inc.
- Inventors: Henry Jurgens; Mikhail Kouznetsov; Andrew Derek Hillier; Tom Yuyitung
- Web page: https://patentgrep.com/patent/US10871997B2

## CPC

- G06F 9/5033: {considering data affinity}
- G06F 9/46: Multiprogramming arrangements
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- H04L 67/1001: for accessing one among a plurality of replicated servers
- H04L 67/1021: based on client or server locations
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system and method are provided for routing workloads in an information technology infrastructure using models of same. The method includes determining at least one proximity group of workloads; determining at least one proximity zone in the infrastructure for routing each proximity group; and determining a workload routing solution subject to one or more constraints defined by one or more proximity based rules.

## Claims

### Claim 1

A method of routing application instances in an information technology infrastructure, the method comprising:
defining, from a plurality of workloads, a plurality of groups of workloads, each workload in a same group having similar hosting requirements, each different group of workloads capable of having different hosting requirements than another group of workloads;
determining at least one application model from the groups of workloads;
determining an infrastructure proximity zone model comprising a plurality of physical or logical infrastructure zones, each zone comprising a grouping of infrastructure defined by a boundary for keeping groups of workloads together or apart, wherein boundaries of the infrastructure zones are defined by performance or resiliency characteristics of the infrastructure,
wherein the infrastructure zones include both Performance zones and resiliency zones, where a performance zone corresponds to infrastructure located in the same physical or logical location for higher performance and a resiliency zone corresponds to infrastructure not located in the same physical or logical location for higher resiliency;
computing a workload routing solution based on the at least one application model and the infrastructure proximity zone model, wherein the routing solution specifies a placement of each group of workloads into a corresponding infrastructure zone of the infrastructure zones that satisfies their performance or resiliency requirements based on corresponding performance and resiliency characteristics of the infrastructure zone model,
wherein the computing includes the evaluation of available capacity in the infrastructure zones; and
deploying the workloads in the groups to the infrastructure in the infrastructure zones of the information technology infrastructure according to the workload routing solution.

### Claim 2 (depends on 1)

The method of claim 1, wherein computing the workload routing solution comprises using one or more proximity-based rules.

### Claim 3 (depends on 1)

The method of claim 1, wherein computing the workload routing solution comprises selecting infrastructure with the most capacity available or a lower cost.

### Claim 4 (depends on 1)

The method of claim 1, wherein computing the workload routing solution comprises:
sorting the groups based on a routing priority; and
determining the workload routing solution by evaluating placement of the groups against the infrastructure zones in priority order and iterating until there are no more workloads to route.

### Claim 5 (depends on 2)

The method of claim 2, further comprising determining a primary proximity group and corresponding proximity zone type based on the one or more proximity-based rules.

### Claim 6 (depends on 1)

The method of claim 1, wherein computing the workload routing Solution comprises considering one or more of workload-infrastructure compatibility, and available capacity.

### Claim 7 (depends on 2)

The method of claim 2, wherein the one or more proximity-based rules comprise at least one of: an affinity rule, an anti-affinity rule, and a group-level anti-affinity rule.

### Claim 8 (depends on 1)

The method of claim 1, wherein at least one of the plurality of infrastructure zones corresponds to one or more of a pod, a cabinet, a data center, a blade chassis, and a blade server in the infrastructure.

### Claim 9 (depends on 1)

The method of claim 1, further comprising selecting from a plurality of different levels of physical hierarchy of infrastructure.

### Claim 10 (depends on 5)

The method of claim 5, wherein the primary proximity group and the corresponding zone type are determined based on a highest level affinity rule.

### Claim 11 (depends on 1)

The method of claim 1, wherein one or more constraints used in generating the workload routing solution comprises at least one constraint on the relative placements for groups of workloads in the infrastructure.

### Claim 12 (depends on 1)

The method of claim 1, wherein the performance requirements comprise ensuring that all workloads in the sub-group have high network performance.

### Claim 13 (depends on 1)

The method of claim 1, wherein the resilience requirements comprise ensuring that different zones are kept apart to avoid a single point of failure.

### Claim 14

A non-transitory computer readable storage medium comprising computer executable instructions for routing application instances in an information technology infrastructure, the computer executable instructions comprising instructions for:
defining, from a plurality of workloads, a plurality of groups of workloads, each workload in a same group having similar hosting requirements, each different group of workloads capable of having different hosting requirements than another group of workloads;
determining at least one application model from the groups of workloads;
determining an infrastructure proximity zone model comprising a plurality of physical or logical infrastructure zones, each zone comprising a grouping of infrastructure defined by a boundary for keeping groups of workloads together or apart, wherein boundaries of the infrastructure zones are defined by performance or resiliency characteristics of the infrastructure,
wherein the infrastructure zones include both performance zones and resiliency zones, where a performance zone corresponds to infrastructure located in the same physical or logical location for higher performance and a resiliency zone corresponds to infrastructure not located in the same physical or logical location for higher resiliency;
computing a workload routing solution based on the at least one application model and the infrastructure proximity zone model, wherein the routing solution specifies a placement of each group of workloads into a corresponding infrastructure zone of the infrastructure zones that satisfies their performance or resiliency requirements based on corresponding performance and resiliency characteristics of the infrastructure zone model,
wherein the computing includes the evaluation of available capacity in the infrastructure zones; and
deploying the workloads in the groups to the infrastructure in the infrastructure zones of the information technology infrastructure according to the workload routing solution.

### Claim 15

A system comprising one or more processors and memory, the memory comprising computer executable instructions for routing application instances in an information technology infrastructure, the computer executable instructions comprising instructions for:
defining, from a plurality of workloads, a plurality of groups of workloads, each workload in a same group having similar hosting requirements, each different group of workloads capable of having different hosting requirements than another group of workloads;
determining at least one application model from the groups of workloads;
determining an infrastructure proximity zone model comprising a plurality of physical or logical infrastructure zones, each zone comprising a grouping of infrastructure defined by a boundary for keeping groups of workloads together or apart, wherein boundaries of the infrastructure zones are defined by performance or resiliency characteristics of the infrastructure,
wherein the infrastructure zones include both performance zones and resiliency zones, where a performance zone corresponds to infrastructure located in the same physical or logical location for higher performance and a resiliency zone corresponds to infrastructure not located in the same physical or logical location for higher resiliency;
computing a workload routing solution based on the at least one application model and the infrastructure proximity zone model, wherein the routing solution specifies a placement of each group of workloads into a corresponding infrastructure zone of the infrastructure zones that satisfies their performance or resiliency requirements based on corresponding performance and resiliency characteristics of the infrastructure zone model,
wherein the computing includes the evaluation of available capacity in the infrastructure zones; and
deploying the workloads in the groups to the infrastructure in the infrastructure zones of the information technology infrastructure according to the workload routing solution.

### Claim 16 (depends on 15)

The system of claim 15, wherein computing the workload routing solution comprises using one or more proximity-based rules.

### Claim 17 (depends on 15)

The system of claim 15, wherein computing the workload routing solution comprises selecting infrastructure with the most capacity available or a lower cost.

### Claim 18 (depends on 15)

The system of claim 15, wherein computing the workload routing solution comprises:
sorting the groups based on a routing priority; and
determining the workload routing solution by evaluating placement of the groups against the infrastructure zones in priority order and iterating until there are no more workloads to route.

### Claim 19 (depends on 16)

The system of claim 16, further comprising instructions for determining a primary proximity group and corresponding proximity zone type based on the one or more proximity-based rules.

### Claim 20 (depends on 15)

The system of claim 15, wherein computing the workload routing solution comprises considering one or more of workload-infrastructure compatibility, and available capacity.

### Claim 21 (depends on 16)

The system of claim 16, wherein the one or more proximity-based rules comprise at least one of: an affinity rule, an anti-affinity rule, and a group-level anti-affinity rule.

### Claim 22 (depends on 15)

The system of claim 15, wherein at least one of the plurality of infrastructure zones corresponds to one or more of a pod, a cabinet, a data center, a blade chassis, and a blade server in the infrastructure.

### Claim 23 (depends on 15)

The system of claim 15, further comprising instructions for selecting from a plurality of different levels of physical hierarchy of infrastructure.

### Claim 24 (depends on 19)

The system of claim 19, wherein the primary proximity group and the corresponding zone type are determined based on a highest level affinity rule.

### Claim 25 (depends on 15)

The system of claim 15, wherein one or more constraints used in generating the workload routing solution comprises at least one constraint on the relative placements for groups of workloads in the infrastructure.

### Claim 26 (depends on 15)

The system of claim 15, wherein the performance requirements comprise ensuring that all workloads in the sub-group have high network performance.

### Claim 27 (depends on 15)

The system of claim 15, wherein the performance requirements comprise ensuring that all workloads in the sub-group have high network performance.
