# US 10,455,045 B2 · Automatic data replica manager in distributed caching and data processing systems

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

- Number: US 10,455,045 B2
- Document ID: US10455045B2
- Status: Granted
- Kind: B2
- Application number: 15/408,328
- Filed: 2017-01-17
- Published: 2018-03-08
- Granted: 2019-10-22
- Earliest claimed: 2016-09-06
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Zhengyu Yang; Jiayin Wang; Thomas David Evans
- Web page: https://patentgrep.com/patent/US10455045B2

## CPC

- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- G06F 9/00: Arrangements for program control, e.g. control units (program control for peripheral devices G06F13/10)
- H04L 41/0668: by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
- 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/5022: by giving priorities, e.g. assigning classes of service
- H04L 41/5025: by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
- H04L 43/0852: Delays
- H04L 43/0888: Throughput
- H04L 43/16: Threshold monitoring
- H04L 67/1001: for accessing one among a plurality of replicated servers
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method of data storage includes determining a latency distance from a primary node to each of two or more replica nodes, choosing a preferred replica node of the two or more replica nodes based on the determined latency distances, and write-caching data into the preferred replica node.

## Claims

### Claim 1

A method for enabling fault tolerance of a datacenter cluster caching system having one or more replica nodes in the same tier, the method comprising:
detecting a failure of the datacenter cluster;
performing load balancing among nodes of the datacenter cluster in accordance with the detected failure by moving data among storage tiers of the nodes; and
migrating replica data from a first replica node in the datacenter cluster to a second replica node in the datacenter cluster by:
writing new incoming data on the second replica node; and
maintaining unchanged cached data on the first replica node,
wherein the load balancing is performed without pausing a subsystem corresponding to the detected failure, and without copying an entirety of a dataset of a node of the datacenter cluster corresponding to the detected failure.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
evicting victim data from a solid-state drive of a primary node;
receiving the new incoming data at the primary node;
writing the new incoming data to a hard disk drive of the primary node; and
removing the victim data from a solid-state drive of the first replica node.

### Claim 3 (depends on 1)

The method of claim 1, wherein the detected failure comprises a virtual machine crash on a primary node of the datacenter cluster, the method further comprising:
writing dirty data from a solid-state drive of the primary node to a hard disk drive of the primary node;
maintaining the dirty data in a solid-state drive of a replica node;
flagging the dirty data in the solid-state drive of the replica node as nondirty;
restarting the crashed virtual machine on the primary node; and
forwarding incoming I/O requests to the solid-state drive of the primary node and to the solid-state drive of the replica node.

### Claim 4 (depends on 1)

The method of claim 1, wherein the detected failure comprises a cache device failure on a primary node of the datacenter cluster such that information cannot be written to the primary node, the method further comprising:
writing dirty data from a solid-state drive of a replica node of the datacenter cluster to a hard disk drive of the primary node;
maintaining the dirty data in the solid-state drive of the replica node;
flagging the dirty data as nondirty;
broadcasting the information to associated nodes of the datacenter cluster; and
writing back dirty data from respective solid-state drives of the associated nodes of the datacenter cluster to respective hard disk drives of the associated nodes.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
flagging data in the solid-state drives of the associated nodes with a nondirty flag;
replacing the solid-state drive on the primary node;
continuing to write incoming I/O requests to the solid-state drive of the primary node and the solid-state drive of the replica node; and
writing new replica data from the associated nodes to the solid-state drive of the primary node.

### Claim 6 (depends on 1)

The method of claim 1, wherein the detected failure comprises a cache device failure on the first replica node of the datacenter cluster, the method further comprising:
disconnecting a primary node of the datacenter cluster;
writing back dirty data from a solid-state drive of the primary node to a hard disk drive of the primary node;
finding a remote second replica node of the datacenter cluster;
storing the dirty data in a solid-state drive of the second replica node;
flagging the dirty data in the solid-state drive of the second replica node as nondirty; and
continuing to write incoming I/O requests to the solid-state drive of the primary node and the solid-state drive of the second replica node.

### Claim 7 (depends on 6)

The method of claim 6, wherein finding a remote second replica node of the datacenter cluster comprises using a dynamic evaluation process.

### Claim 8 (depends on 1)

The method of claim 1, wherein the detected failure comprises a communication failure between a primary node of the datacenter cluster and a first replica node of the datacenter cluster, the method further comprising:
writing back dirty data from a solid-state drive of the primary node to a hard disk drive of the primary node;
finding a second replica node to replace the first replica node;
writing I/O requests to a solid-state drive of the primary node and a solid-state drive of the second replica node; and
broadcasting to all nodes of the datacenter cluster a request to release all old replica data corresponding to the first replica node.

### Claim 9 (depends on 8)

The method of claim 8, wherein finding the second replica node comprises using a dynamic evaluation process.
