# US 8,543,864 B2 · Apparatus and method of performing error recovering process in asymmetric clustering file system

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

- Number: US 8,543,864 B2
- Document ID: US8543864B2
- Status: Granted
- Kind: B2
- Application number: 12/971,167
- Filed: 2010-12-17
- Published: 2011-06-23
- Granted: 2013-09-24
- Earliest claimed: 2009-12-18
- Assignees: Electronics and Telecommunications Research Institute
- Applicants: Sang-Min Lee; Young-Kyun Kim; Han Namgoong
- Inventors: Sang-Min Lee; Young-Kyun Kim; Han Namgoong
- Web page: https://patentgrep.com/patent/US8543864B2

## CPC

- G06F 11/1092: {Rebuilding, e.g. when physically replacing a failing disk}
- G06F 2211/1028: Distributed, i.e. distributed RAID systems with parity
- G06F 2211/1059: Parity-single bit-RAID5, i.e. RAID 5 implementations
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present invention relates to an apparatus and method of performing an error recovery process in an asymmetric clustering file system that has higher efficiency in data recovery when a data server in an asymmetric clustering file system fails than a method of processing the data recovery in the metadata server. The present invention includes receiving a chunk list requiring recovery by a data server included in the other data server groups than a data server group including a failed data server among a plurality of data server groups, requesting chunk data necessary for recovering an erroneous chunk from a data server in the other data server groups to the other data servers than the failed data server in the data server group, and recovering the erroneous chunk based on the chunk data by the data server in the other data server group.

## Claims

### Claim 1

A method of performing an error recovery process in an asymmetric clustering file system, comprising:
dividing a plurality of data servers into a plurality of data server groups, each data server group including at least one data server;
receiving a chunk list requiring recovery by a one or more data servers included in data server groups other than a data server group including a failed data server among the plurality of data server groups;
requesting chunk data necessary for recovering an erroneous chunk from the one or more data servers in the data server groups other than the data server group including the failed data server; and
recovering the erroneous chunk based on the chunk data by the one or more data servers in the other data server groups.

### Claim 2 (depends on 1)

The method of claim 1, wherein each of the plurality of data server groups includes a plurality of data servers, whose number is equal to a summed value of the number of file data divided in the unit of chunk for a file stored from a client and the number of parities for error recovery for the file data.

### Claim 3 (depends on 1)

The method of claim 1, wherein the chunk list includes a chunk identifier requiring recovery, a chunk identifier in which recovery data is stored, and a chunk information list necessary for recovery, for each of one or more disk identifier.

### Claim 4 (depends on 3)

The method of claim 3, wherein the chunk identifier necessary for recovery is identification information of a chunk selected among chunks stored in the failed data server.

### Claim 5 (depends on 3)

The method of claim 3, wherein the chunk identifier in which the recovery data is stored is identification information of a chunk that is to be newly stored after the erroneous chunk is recovered.

### Claim 6 (depends on 3)

The method of claim 3, wherein the chunk information list necessary for recovery is a list of chunk information on data and parity necessary for recovering the erroneous chunk.

### Claim 7 (depends on 6)

The method of claim 6, wherein the chunk information includes an IP address of a data server storing a chunk, a disk identifier, and chunk identifier information.

### Claim 8 (depends on 1)

The method of claim 1, further comprising after the recovering, transmitting a recovery complete message from the data server in the other data server groups to a metadata server.

### Claim 9 (depends on 1)

The method of claim 1, further comprising storing recovery data generated by recovering the erroneous chunk in the chunk list by the data server in the other data server groups.

### Claim 10 (depends on 1)

The method of claim 1, further comprising upon receiving a writing request from a client, performing a process corresponding to the writing request, by the data server in the other data server group.

### Claim 11 (depends on 10)

The method of claim 10, wherein the performing the writing request process includes confirming whether a corresponding chunk exists in the chunk list based on the writing request; and writing and storing data to the corresponding chunk if the corresponding chunk does not exist in the chunk list.

### Claim 12 (depends on 11)

The method of claim 11, further comprising after the storing, notifying the completion of recovery to the metadata server.

### Claim 13 (depends on 11)

The method of claim 11, wherein the performing the writing request process includes,
if the corresponding chunk exist in the chunk list, and the recovery of the corresponding chunk is in progress, cancelling the recovery and deleting the corresponding chunk information from the chunk list; and
storing data according to the writing request to a corresponding chunk.

### Claim 14 (depends on 11)

The method of claim 11, wherein the performing the writing request process further includes,
if the corresponding chunk exist in the chunk list, and the recovery of the corresponding chunk is not started, deleting the corresponding chunk information from the chunk list; and
storing data according to the writing request to a corresponding chunk.

### Claim 15

An apparatus of performing an erroneous recovery process in an asymmetric clustering file system containing a plurality of data servers divided into a plurality of data server groups, each data server group including at least one data server, comprising:
a receiving unit that receives a chunk list requiring recovery from a metadata server;
a recovering unit that recovers an erroneous chunk based on chunk data necessary for recovering the erroneous chunk; and
a controller that requests the chunk data to one or more data servers data server groups other than a data server group including a failed data and transmits the received chunk data to the recovering unit.

### Claim 16 (depends on 15)

The apparatus of claim 15, wherein the chunk list includes a chunk identifier requiring recovery, a chunk identifier in which recovery data is stored, and a chunk information list necessary for recovery, for each of one or more disk identifier.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the chunk identifier necessary for recovery is identification information of a chunk selected among chunks stored in the failed data server.

### Claim 18 (depends on 16)

The apparatus of claim 16, wherein the chunk identifier in which the recovery data is stored is identification information of a chunk that is to be newly stored after the erroneous chunk is recovered.

### Claim 19 (depends on 16)

The apparatus of claim 16, wherein the chunk information list necessary for recovery is a list of chunk information on data and parity necessary for recovering the erroneous chunk.

### Claim 20 (depends on 15)

The apparatus of claim 15, wherein the controller transmits a recovery complete message to the metadata server when the recovery is complete by the recovering unit.
