# US 2024/0201889 A1 · Threading of replication based on data type

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

- Number: US 2024/0201889 A1
- Document ID: US20240201889A1
- Status: Published application
- Kind: A1
- Application number: 18/588,808
- Filed: 2024-02-27
- Published: 2024-06-20
- Earliest claimed: 2021-02-05
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Deepak VERMA; Kesavan SHANMUGAM; Michael Gregory MONTWILL
- Web page: https://patentgrep.com/patent/US20240201889A1

## CPC

- G06F 3/065: {Replication mechanisms}
- G06F 16/275: {Synchronous replication}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0683: {Plurality of storage devices}
- G06F 9/3851: {from multiple instruction streams, e.g. multistreaming}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Replication of data from a primary computing system to a secondary computing system. The replication is single-threaded or multi-threaded depending on one or more characteristics of the data to be replicated. As an example, the characteristics could include the type of data being replicated and/or the variability on that data. Also, the multi-threading capabilities of the primary and secondary computing systems are determined. Then, based on the identified one or more characteristics of the data, the primary computing system decides whether to perform multi-threaded replication and the multi-threading parameters of the replication based on the one or more characteristics of that data, as well as on the multi-threading capabilities of the primary and secondary computing system.

## Claims

### Claim 1

A computing system that performs a replication to a second computing system, the computing system comprising:
at least one processor; and
at least one computer-readable hardware storage device that stores instructions that are executable by the at least one processor to cause the computing system to:
identify a characteristic of data that is to be replicated to the second computing system;
facilitate an agreement with the second computing system regarding a number of buffers to use during an operation comprising a multi-threaded replication;
communicate a parameter that is associated with the operation comprising the multi-threaded replication to the second computing system; and
cause the multi-threaded replication of the data to be performed using the multi-threading parameter, wherein the multi-threaded replication is based on the characteristic of the data.

### Claim 2 (depends on 1)

The computing system of claim 1, wherein at least one of the computing system or the second computing system is a virtual machine.

### Claim 3 (depends on 1)

The computing system of claim 1, wherein at least one of the computing system or the second computing system is a physical system.

### Claim 4 (depends on 1)

The computing system of claim 1, wherein the characteristic includes a data type of the data.

### Claim 5 (depends on 1)

The computing system of claim 1, wherein a first buffer included among said buffers is partitioned into multiple parts.

### Claim 6 (depends on 1)

The computing system of claim 1, wherein an amount of memory that is used in performing the multi-threaded replication is determined based on whichever one of the computing system or the second computing system has a smaller amount of available memory.

### Claim 7 (depends on 1)

The computing system of claim 1, wherein the characteristic of the data includes a variability of the data.

### Claim 8

A method for performing a replication from a computing system to a second computing system, the method comprising:
identifying a characteristic of data that is to be replicated to the second computing system;
facilitating an agreement with the second computing system regarding a number of buffers to use during an operation comprising a multi-threaded replication;
communicating a parameter that is associated with the operation comprising the multi-threaded replication to the second computing system; and
causing the multi-threaded replication of the data to be performed using the multi-threading parameter, wherein the multi-threaded replication is based on the characteristic of the data.

### Claim 9 (depends on 8)

The method of claim 8, wherein the characteristic is one of a type of the data or a variability of the data.

### Claim 10 (depends on 8)

The method of claim 8, wherein the method further includes determining a multi-threading capability of the second computing system.

### Claim 11 (depends on 8)

The method of claim 8, wherein the method further includes determining a multi-threading capability of the computing system.

### Claim 12 (depends on 8)

The method of claim 8, wherein the multi-threaded replication involves a full replication of the data.

### Claim 13 (depends on 8)

The method of claim 8, wherein a least a data range of the data is subjected to the multi-threaded replication.

### Claim 14 (depends on 8)

The method of claim 8, wherein the computing system initiates the multi-threaded replication in response to a request from the second computing system.

### Claim 15 (depends on 8)

The method of claim 8, wherein the characteristic includes a variability in size of a partitionable portion of the data.

### Claim 16

One or more hardware storage devices that store instructions that are executable by one or more processors to cause the one or more processors to:
identify a characteristic of data that is to be replicated to a second computing system;
facilitate an agreement with the second computing system regarding a number of buffers to use during an operation comprising a multi-threaded replication;
communicate a parameter that is associated with the operation comprising the multi-threaded replication to the second computing system; and
cause the multi-threaded replication of the data to be performed using the multi-threading parameter, wherein the multi-threaded replication is based on the characteristic of the data.

### Claim 17 (depends on 16)

The one or more hardware storage devices of claim 16, wherein the parameter includes a number of threads to use when performing the multi-threaded replication.

### Claim 18 (depends on 16)

The one or more hardware storage devices of claim 16, wherein the second computing system is a virtual machine.

### Claim 19 (depends on 16)

The one or more hardware storage devices of claim 16, wherein the second computing system is a physical machine.

### Claim 20 (depends on 16)

The one or more hardware storage devices of claim 16, wherein the characteristic includes a variability in size of a partitionable portion of the data.
