# US 12,112,214 B2 · Predicting expansion failures and defragmenting cluster resources

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

- Number: US 12,112,214 B2
- Document ID: US12112214B2
- Status: Granted
- Kind: B2
- Application number: 18/355,033
- Filed: 2023-07-19
- Published: 2023-11-09
- Granted: 2024-10-08
- Earliest claimed: 2020-06-12
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Shandan Zhou; Saurabh Agarwal; Karthikeyan Subramanian; Thomas Moscibroda; Paul Naveen Selvaraj; Sandeep Ramji; Sorin Iftimie; Nisarg Sheth; Wanghai Gu; Ajay Mani; Si Qin; Yong Xu; Qingwei Lin
- Web page: https://patentgrep.com/patent/US12112214B2

## CPC

- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- G06F 3/0607: {by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/505: {considering the load}
- G06F 11/008: {Reliability or availability analysis}
- G06F 11/0709: {in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems}
- G06F 11/076: {by exceeding a count or rate limit, e.g. word- or bit count limit}
- G06F 11/3006: {where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50)}
- G06F 11/301: {where the computing system is a virtual computing platform, e.g. logically partitioned systems (virtual machines G06F9/45533; logical partitioning of resources G06F9/5077)}
- G06F 11/3433: {for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029)}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present disclosure relates to systems, methods, and computer readable media for predicting expansion failures and implementing defragmentation instructions based on the predicted expansion failures and other signals. For example, systems disclosed herein may apply a failure prediction model to determine an expansion failure prediction associated with an estimated likelihood that deployment failures will occur on a node cluster. The systems disclosed herein may further generate defragmentation instructions indicating a severity level that a defragmentation engine may execute on a cluster level to prevent expansion failures while minimizing negative customer impacts. By uniquely generating defragmentation instructions for each node cluster, a cloud computing system can minimize expansion failures, increase resource capacity, reduce costs, and provide access to reliable services to customers.

## Claims

### Claim 1

A method, comprising:
identifying a plurality of feature signals associated with a grouping of server nodes;
determining one or more expansion failure metrics for the grouping of server nodes based on the identified plurality of feature signals, at least one of the expansion failure metrics including an expansion failure prediction for a set of deployments on the grouping of server nodes;
generating defragmentation instructions applicable to the grouping of server nodes based on the one or more expansion failure metrics, the defragmentation instructions indicating a defragmentation severity level for performing one or more defragmentation actions on the grouping of server nodes; and
providing the defragmentation instructions to a server device associated with the grouping of server nodes, wherein providing the defragmentation instructions to the server device causes the server device to perform the one or more defragmentation actions on server nodes of the grouping of server nodes.

### Claim 2 (depends on 1)

The method of claim 1, wherein the grouping of server nodes includes a grouping of network devices within a hierarchical structure of a cloud computing system.

### Claim 3 (depends on 1)

The method of claim 1, wherein the plurality of feature signals includes one or more of:
a current availability of empty server nodes within the grouping of server nodes;
a difference between a current core utilization on the grouping of server nodes and a total capacity of compute cores on the grouping of server nodes; or
a fragmentation metric based on a ratio of available compute cores in a set of server nodes and a total number of compute cores on the set of server nodes.

### Claim 4 (depends on 3)

The method of claim 3, wherein the plurality of feature signals includes one or more of:
property log signals including characteristics associated with hardware types of the grouping of server nodes and virtual machine types deployed on the grouping of server nodes; or
event log signals including update request information associated with the set of deployments on the grouping of server nodes.

### Claim 5 (depends on 1)

The method of claim 1, wherein the expansion failure prediction includes a risk classification for the grouping of server nodes, the risk classification indicating an estimated probability that the set of deployments on the grouping of server nodes will experience one or more expansion failures within a threshold period of time.

### Claim 6 (depends on 5)

The method of claim 5, wherein the risk classification includes a risk category from a plurality of possible risk categories, each of the risk categories corresponding to a different defragmentation severity level for performing the one or more defragmentation actions on the grouping of server nodes.

### Claim 7 (depends on 1)

The method of claim 1, wherein the one or more expansion failure metrics further includes one or more of:
an indication of one or more expansion failures that have occurred within a threshold period of time; or
a current availability of empty server nodes within the grouping of server nodes.

### Claim 8 (depends on 1)

The method of claim 1, wherein the one or more expansion failure metrics includes one or more group-specific fragmentation parameters associated with a threshold performance level for the grouping of server nodes, the one or more group-specific fragmentation parameters including one or more of:
a minimum availability of empty server nodes on the grouping of server nodes; or
a target availability of empty server nodes on the grouping of server nodes.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
receiving a user input identifying the one or more group-specific fragmentation parameters,
wherein generating the defragmentation instructions comprises determining the defragmentation severity level based on a combination of the expansion failure prediction and the received user input identifying the one or more group-specific fragmentation parameters.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
identifying additional features signals for a second grouping of server nodes based on additional utilization data for the second grouping of server nodes;
determining additional expansion failure metrics for the second grouping of server nodes based on the identified additional feature signals; and
generating additional defragmentation instructions applicable to the second grouping of server nodes based on the additional expansion failure metrics.

### Claim 11 (depends on 10)

The method of claim 10, wherein the defragmentation instructions and the additional defragmentation instructions each include an indicated level of priority for performing defragmentation on the grouping of server nodes and the second grouping of server nodes, and wherein the method further comprises determining an order of implementing defragmentation actions on the grouping of server nodes and the second grouping of server nodes based on the indicated level of priority for each of the grouping of server nodes and the second grouping of server nodes.

### Claim 12 (depends on 1)

The method of claim 1, wherein the one or more defragmentation actions includes live migrating one or more services between server nodes to defragment a current computing capacity on the grouping of server nodes.

### Claim 13 (depends on 1)

The method of claim 1, wherein the one or more defragmentation actions includes live migrating one or more services to consolidate workloads on fragmented nodes to increase a number of empty nodes on the grouping of server nodes.

### Claim 14

A method, comprising:
identifying a plurality of feature signals associated with a grouping of server nodes, at least one feature signal of the plurality of feature signals including a current availability of empty server nodes within the grouping of server nodes;
determining one or more expansion failure metrics for the grouping of server nodes based on the identified plurality of feature signals, at least one of the expansion failure metrics including an expansion failure prediction for a set of deployments on the grouping of server nodes;
generating defragmentation instructions applicable to the grouping of server nodes based on the one or more expansion failure metrics, the defragmentation instructions indicating a defragmentation severity level for performing one or more defragmentation actions on the grouping of server nodes, the one or more defragmentation actions including live migrating one or more services deployed on the grouping of server nodes to increase the current availability of empty server nodes within the grouping of server nodes; and
providing the defragmentation instructions to a server device associated with the grouping of server nodes, wherein providing the defragmentation instructions to the server device causes the server device to perform the one or more defragmentation actions on server nodes of the grouping of server nodes.

### Claim 15 (depends on 14)

The method of claim 14, wherein the grouping of server nodes includes a grouping of network devices within a hierarchical structure of a cloud computing system, and wherein live-migrating the one or more services includes live-migrating one or more virtual machines on which the one or more services are hosted.

### Claim 16 (depends on 14)

The method of claim 14, wherein the plurality of feature signals further includes one or more of:
a difference between a current core utilization on the grouping of server nodes and a total capacity of compute cores on the grouping of server nodes; or
a fragmentation metric based on a ratio of available compute cores in a set of server nodes and a total number of compute cores on the set of server nodes.

### Claim 17 (depends on 14)

The method of claim 14, wherein the expansion failure prediction includes a risk classification for the grouping of server nodes, the risk classification indicating an estimated probability that the set of deployments on the grouping of server nodes will experience one or more expansion failures within a threshold period of time.

### Claim 18 (depends on 14)

The method of claim 14, wherein the one or more expansion failure metrics includes one or more group-specific fragmentation parameters associated with a threshold performance level for the grouping of server nodes, the one or more group-specific fragmentation parameters including one or more of:
a minimum availability of empty server nodes on the grouping of server nodes; or
a target availability of empty server nodes on the grouping of server nodes.

### Claim 19

A system, comprising:
one or more processors;
memory in communication with the one or more processors; and
instructions stored in the memory, the instructions being executable by the one or more processors to:
identify a plurality of feature signals associated with a grouping of server nodes;
determine one or more expansion failure metrics for the grouping of server nodes based on the identified plurality of feature signals, at least one of the expansion failure metrics including an expansion failure prediction for a set of deployments on the grouping of server nodes;
generate defragmentation instructions applicable to the grouping of server nodes based on the one or more expansion failure metrics, the defragmentation instructions indicating a defragmentation severity level for performing one or more defragmentation actions on the grouping of server nodes; and
provide the defragmentation instructions to a server device associated with the grouping of server nodes, wherein providing the defragmentation instructions to the server device causes the server device to perform the one or more defragmentation actions on server nodes of the grouping of server nodes.

### Claim 20 (depends on 19)

The system of claim 19, wherein the grouping of server nodes includes a grouping of network devices within a hierarchical structure of a cloud computing system, and wherein the one or more defragmentation actions includes live migrating one or more services to consolidate workloads on fragmented nodes to increase a number of empty nodes on the grouping of server nodes.
