# US 2020/0401313 A1 · Object Storage System with Priority Meta Object Replication

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

- Number: US 2020/0401313 A1
- Document ID: US20200401313A1
- Status: Published application
- Kind: A1
- Application number: 16/447,321
- Filed: 2019-06-20
- Published: 2020-12-24
- Earliest claimed: 2019-06-20
- Assignees: Western Digital Technologies, Inc.
- Applicants: Western Digital Technologies, Inc.
- Inventors: Tomy Ammuthan Cheru; Carl D'Halluin; Ameet Pyati
- Web page: https://patentgrep.com/patent/US20200401313A1

## CPC

- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/065: {Replication mechanisms}
- G06F 3/0614: {Improving the reliability of storage systems}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0683: {Plurality of storage devices}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Example object storage systems, replication managers, and methods provide meta objects for priority replication of configuration data between data object stores. A meta object may be generated that includes configuration data. Data objects are selected for replication from a first replication queue. Meta objects associated with the data objects in the first replication queue are replicated, independent of the first replication queue, between object data stores.

## Claims

### Claim 1

A system, comprising:
a first object data store;
a second object data store;
a metadata store associated with the first object data store and configured to store configuration data for the first object data store;
a meta object generator configured to generate a meta object, wherein the meta object includes meta object data selected from the configuration data; and
a replication manager configured to:
select data objects from a first replication queue;
replicate the selected data objects from the first object data store to the second object data store; and
replicate, independent of the first replication queue, the meta object from the first object data store to the second object data store.

### Claim 2 (depends on 1)

The system of claim 1, wherein:
the first object data store is configured to store a plurality of data objects in a data object bucket;
the meta object data includes bucket configuration data; and
the selected data objects includes user data objects stored in the data object bucket.

### Claim 3 (depends on 1)

The system of claim 1, further comprising:
a storage interface configured to:
receive a configuration change for updated configuration data for the first object data store;
responsive to receiving the configuration change, generate a meta object work item; and
send the meta object work item to the replication manager, wherein replicating the meta object is based on the meta object work item.

### Claim 4 (depends on 1)

The system of claim 1, wherein the replication manager is further configured to:
add the meta object to a second replication queue; and
select, responsive to adding the meta object to the second replication queue, the meta object from the second replication queue for replication before selecting data objects in the first replication queue for replication.

### Claim 5 (depends on 1)

The system of claim 1, further comprising:
a first replication engine configured to replicate, responsive to the replication manager, the selected data objects from the first replication queue; and
a priority replication engine configured to replicate, responsive to the replication manager, the meta object.

### Claim 6 (depends on 5)

The system of claim 5, wherein the priority replication engine includes at least one dedicated processing thread for priority processing of meta object replication.

### Claim 7 (depends on 1)

The system of claim 1, further comprising:
a storage interface configured to:
receive a configuration change for updated configuration data for the first object data store;
initiate, responsive to the configuration change, the meta object generator to generate an updated meta object; and
initiate, responsive to the configuration change, the replication manager to replicate the updated meta object from the first object data store to the second object data store.

### Claim 8 (depends on 7)

The system of claim 7, wherein the replication manager is configured to execute, responsive to the configuration change, a put operation of the updated meta object to the second object data store to replicate the updated meta object.

### Claim 9 (depends on 1)

The system of claim 1, further comprising:
a scheduler configured to:
select a predetermined interval for meta object updates, wherein the meta object generator is further configured to periodically generate, at the predetermined interval, updated meta objects including changed configuration data.

### Claim 10

A computer-implemented method, comprising:
generating a meta object, wherein the meta object includes meta object data selected from configuration data for a first object data store;
selecting, using a first replication queue, data objects from the first object data store;
replicating selected data objects from the first object data store to a second object data store; and
replicating, independent of the first replication queue, the meta object from the first object data store to the second object data store.

### Claim 11 (depends on 10)

The computer-implemented method of claim 10, further comprising:
configuring the first object data store to store the data objects and the meta object in a data object bucket, wherein:
the meta object data includes bucket configuration data; and
the selected data objects includes user data objects stored in the data object bucket.

### Claim 12 (depends on 10)

The computer-implemented method of claim 10, further comprising:
intercepting a configuration change for updated configuration data for the first object data store; and
generating, responsive to intercepting the configuration change, a meta object work item, wherein replicating the meta object is based on the meta object work item.

### Claim 13 (depends on 10)

The computer-implemented method of claim 10, further comprising:
adding the meta object to a second replication queue; and
selecting, responsive to adding the meta object to the second replication queue, the meta object from the second replication queue for replication before selecting data objects in the first replication queue for replication.

### Claim 14 (depends on 10)

The computer-implemented method of claim 10, wherein:
replicating the selected data objects from the first replication queue uses a first replication engine; and
replicating the meta object uses a priority replication engine.

### Claim 15 (depends on 14)

The computer-implemented method of claim 14, wherein the priority replication engine includes at least one dedicated processing thread for priority processing of meta object replication.

### Claim 16 (depends on 10)

The computer-implemented method of claim 10, further comprising:
intercepting a configuration change for updated configuration data for the first object data store;
initiating, responsive to the configuration change, generating an updated meta object; and
replicating, responsive to the configuration change, the updated meta object from the first object data store to the second object data store.

### Claim 17 (depends on 16)

The computer-implemented method of claim 16, wherein replicating the updated meta object includes executing a put operation of the updated meta object to the second object data store.

### Claim 18 (depends on 10)

The computer-implemented method of claim 10, further comprising:
selecting a predetermined interval for meta object updates; and
periodically generating, at the predetermined interval, updated meta objects including changed configuration data.

### Claim 19

A system, comprising:
a first object data store;
a metadata store associated with the first object data store and configured to store configuration data for the first object data store;
means for generating a meta object, wherein the meta object includes meta object data selected from the configuration data for a first object data store;
means for selecting, using a first replication queue, data objects from the first object data store;
means for replicating selected data objects from the first object data store to a second object data store; and
means for replicating, independent of the first replication queue, the meta object from the first object data store to the second object data store.

### Claim 20 (depends on 19)

The system of claim 19, further comprising:
means for adding the meta object to a second replication queue; and
means for selecting, responsive to adding the meta object to the second replication queue, the meta object from the second replication queue for replication before selecting data objects in the first replication queue for replication.
