Object storage in cloud with reference counting using versions
First Claim
Patent Images
1. A data storage apparatus, comprising:
- an interface, for communicating with a cloud-based object storage system having a built-in versioning mechanism that assigns version numbers to objects stored therein, each object stored in the cloud-based object storage system comprising a corresponding value and corresponding object metadata; and
one or more processors, configured to;
receive data for storage from one or more workloads;
to calculate a hash value over an object of the received data;
to identify whether an object corresponding to the calculated hash value is stored in the object storage system;
to send the object of the received data to the cloud-based object storage system for storage, in cases in which a corresponding object was not identified in the cloud-based object storage system; and
in cases in which a corresponding object was identified in the cloud-based object storage system, to send to the cloud-based object storage system an update metadata command related to the corresponding object, the update metadata command when received by the cloud-based object storage system forcing the built-in versioning mechanism of the cloud-based object storage system to;
update the corresponding object metadata of the corresponding object identified in the cloud-based object storage system; and
issue a new version number for the corresponding updated object metadata, wherein the new version number serves as a reference count for the corresponding object identified in the cloud-based storage system, the corresponding object identified in the cloud-based storage system having content identical to the object of the received data.
4 Assignments
0 Petitions
Accused Products
Abstract
A data storage apparatus includes an interface and one or more processors. The interface is configured for communicating with a cloud-based object storage system having a built-in versioning mechanism that assigns version numbers to objects stored therein. The one or more processors are configured to receive data for storage from one or more workloads, to store the data as objects in the cloud-based object storage system, and to update and record reference counts for at least some of the objects, by forcing the built-in versioning mechanism of the cloud-based object storage system to update the version numbers so as to match the reference counts.
24 Citations
21 Claims
-
1. A data storage apparatus, comprising:
-
an interface, for communicating with a cloud-based object storage system having a built-in versioning mechanism that assigns version numbers to objects stored therein, each object stored in the cloud-based object storage system comprising a corresponding value and corresponding object metadata; and one or more processors, configured to; receive data for storage from one or more workloads; to calculate a hash value over an object of the received data; to identify whether an object corresponding to the calculated hash value is stored in the object storage system; to send the object of the received data to the cloud-based object storage system for storage, in cases in which a corresponding object was not identified in the cloud-based object storage system; and in cases in which a corresponding object was identified in the cloud-based object storage system, to send to the cloud-based object storage system an update metadata command related to the corresponding object, the update metadata command when received by the cloud-based object storage system forcing the built-in versioning mechanism of the cloud-based object storage system to; update the corresponding object metadata of the corresponding object identified in the cloud-based object storage system; and issue a new version number for the corresponding updated object metadata, wherein the new version number serves as a reference count for the corresponding object identified in the cloud-based storage system, the corresponding object identified in the cloud-based storage system having content identical to the object of the received data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for data storage, comprising:
-
receiving data for storage from one or more workloads; calculating a hash value over an object of the received data; identifying whether a cloud-based object storage system, having a built-in versioning mechanism that assigns version numbers to the objects stored therein, stores an object corresponding to the calculated hash value, each object stored in the cloud-based object storage system comprising a corresponding value and corresponding object metadata; sending the object of the received data to the cloud-based object storage system for storage, when a corresponding object was not identified in the cloud-based object storage system; and when a corresponding object was identified in the cloud-based object storage system, sending to the cloud-based object storage system an update metadata command related to the corresponding object, the update metadata command when received by the cloud-based object storage system forcing the built-in versioning mechanism of the cloud-based object storage system to; update the corresponding object metadata of the corresponding object identified in the cloud-based object storage system; and issue a new version number for the corresponding updated object metadata, wherein the new version number serves as a reference count for the corresponding object identified in the cloud-based storage system, the corresponding object identified in the cloud-based storage system having content identical to the object of the received data. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
Specification