# US 2020/0401567 A1 · Object Storage System with Versioned Meta Objects

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

- Number: US 2020/0401567 A1
- Document ID: US20200401567A1
- Status: Published application
- Kind: A1
- Application number: 16/447,366
- 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/US20200401567A1

## CPC

- G06F 16/113: {Details of archiving (lifecycle management in storage systems G06F3/0649; point-in-time backing up or restoration of persistent data G06F11/1446)}
- G06F 16/219: {Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477)}
- G06F 16/164: {File meta data generation}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Example object storage systems, meta object generators, and methods provide versioned meta objects for internal operational data that may be replicated between data object stores. A meta object may be generated that includes meta object data, such as internal operational data. A meta object identifier may be assigned to the meta object. A first version identifier may be associated with the meta object data and a second version identifier may be associated with a marker for the meta object, where the marker prevents exposure as a user data object.

## Claims

### Claim 1

A system, comprising:
a first object data store configured to store a plurality of data objects; and
a meta object generator configured to:
generate a meta object, wherein the meta object includes:
meta object data;
a meta object identifier assigned to the meta object;
a first version identifier associated with a first version of the meta object data; and
a second version identifier associated with a marker for the meta object, wherein the marker prevents exposure as a user data object; and
store the meta object in the first object data store.

### Claim 2 (depends on 1)

The system of claim 1, further comprising:
a metadata store associated with the first object data store and configured to store configuration data for the first object data store, wherein the meta object generator is further configured to select the meta object data from the configuration data.

### Claim 3 (depends on 2)

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

### Claim 4 (depends on 1)

The system of claim 1, further comprising:
a replication manager configured to replicate the meta object and user data objects from the first object data store to a second object data store.

### Claim 5 (depends on 1)

The system of claim 1, wherein the meta object generator is further configured to use a version control function to determine the first version identifier and the second version identifier.

### Claim 6 (depends on 5)

The system of claim 5, wherein the version control function for the second version identifier is configured to increase a timestamp value for the marker to determine the second version identifier.

### Claim 7 (depends on 1)

The system of claim 1, wherein the marker is a delete marker.

### Claim 8 (depends on 1)

The system of claim 1, wherein the meta object generator is further configured to:
receive a configuration change for updated configuration data for the first object data store;
generate an updated meta object, wherein the updated meta object includes:
updated meta object data based on the updated configuration data;
the meta object identifier assigned to the meta object;
a third version identifier associated with the updated meta object data; and
a fourth version identifier associated with an updated marker for the meta object, wherein the updated marker prevents exposure as a user data object; and
store the updated meta object in the first object data store.

### Claim 9 (depends on 1)

The system of claim 1, further comprising:
a storage interface configured to:
receive a user data request including the meta object identifier; and
return, responsive to the marker, an error message.

### Claim 10

A computer-implemented method, comprising:
selecting meta object data for a meta object;
assigning a meta object identifier to the meta object;
assigning a first version identifier associated with a first version of the meta object data;
assigning a second version identifier associated with a marker for the meta object, wherein the marker prevents exposure as a user data object; and
storing the meta object in a first object data store including a plurality of data objects.

### Claim 11 (depends on 10)

The computer-implemented method of claim 10, further comprising:
storing configuration data in a metadata store associated with the first object data store, wherein selecting the meta object data includes selecting the meta object data from the configuration data.

### Claim 12 (depends on 11)

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

### Claim 13 (depends on 10)

The computer-implemented method of claim 10, further comprising:
replicating the meta object and the user data objects from the first object data store to a second object data store.

### Claim 14 (depends on 10)

The computer-implemented method of claim 10, wherein:
assigning the first version identifier uses a version control function; and
assigning the second version identifier uses the version control function.

### Claim 15 (depends on 14)

The computer-implemented method of claim 14, wherein assigning the second version identifier includes increasing a timestamp value for the marker to determine the second version identifier.

### Claim 16 (depends on 10)

The computer-implemented method of claim 10, wherein the marker is a delete marker.

### Claim 17 (depends on 10)

The computer-implemented method of claim 10, further comprising
receiving a configuration change for updated configuration data for the first object data store;
generating an updated meta object, wherein the updated meta object includes:
updated meta object data based on the updated configuration data;
the meta object identifier assigned to the meta object;
a third version identifier associated with the updated meta object data; and
a fourth version identifier associated with an updated marker for the meta object, wherein the marker prevents exposure as a user data object; and
storing the updated meta object in the first object data store.

### Claim 18 (depends on 10)

The computer-implemented method of claim 10, further comprising:
receiving a user data request including the meta object identifier; and
returning, responsive to the marker, an error message.

### Claim 19

A system, comprising:
a first object data store including a plurality of user data objects;
means for selecting meta object data for a meta object;
means for assigning a meta object identifier to the meta object;
means for assigning a first version identifier associated with a first version of the meta object data;
means for assigning a second version identifier associated with a marker for the meta object, wherein the marker prevents exposure as a user data object; and
means for storing the meta object in the first object data store.

### Claim 20 (depends on 19)

The system of claim 19, further comprising:
means for receiving a configuration change for updated configuration data for the first object data store;
means for generating an updated meta object, wherein the updated meta object includes:
updated meta object data based on the updated configuration data;
the meta object identifier assigned to the meta object;
a third version identifier associated with the updated meta object data; and
a fourth version identifier associated with an updated marker for the meta object, wherein the marker prevents exposure as a user data object; and
means for storing the updated meta object in the first object data store.
