IP Library Granted Patent US 12,430,125
Granted Patent B2
US 12,430,125 · App. 17/546,033 · Granted Sep 30, 2025

Implementation of object versioning and consistency at scale

Inventors: Francesc Guim Bernat (Barcelona, ES); Karthik Kumar (Chandler, AZ)
Assignee: INTEL CORPORATION
G06F8/71
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,430,125
App. No.
17/546,033
Granted
Sep 30, 2025
Kind
B2
Abstract

Implementation of object versioning and consistency at scale is described. An example of a computer-readable storage medium includes instructions to receive a storage request from an object management authority to store a version of a data object at a storage appliance; generate a hash value of the data object; store the data object in a scratchpad storage; transmit a verification request for the hash value of the data object to an object versioning authority; and, upon receiving affirmative verification for the hash value, move the data object from the scratchpad storage to a media storage and transmit an acknowledgement to the object management authority.

Claims (62)

1. A non-transitory computer-readable storage medium containing instructions that, when executed by a processor, cause the processor to:

receive a storage request for a data object from an object management authority;

for a storage request to store a version of the data object at a storage appliance:

generate a hash value of the data object, and

store the data object in a scratchpad storage;

for a request to store an update to a version of the data object at the storage appliance:

store the update in the scratchpad storage,

copy the data object from the storage appliance and store the copy of the data object in the scratchpad storage,

apply the update to the data object to generate an updated data object, and

generate a hash value of the updated data object;

transmit a verification request for the hash value of the data object or updated data object to an object versioning authority; and

upon receiving affirmative verification for the hash value, move the data object or updated data object from the scratchpad storage to the storage appliance and transmit an acknowledgement to the object management authority.

2. The non-transitory computer-readable storage medium of claim 1 , wherein the storage request includes the data object, an object identification, and a version number for the data object.

3. The non-transitory computer-readable storage medium of claim 2 , further comprising instructions that, when executed by the processor, cause the processor to:

upon receiving the affirmative verification for the hash value, further updating an object versioning cache with the object identification, the version number for the data object, and the hash value.

4. The non-transitory computer-readable storage medium of claim 2 , wherein the version of the data object is one of multiple versions of the data object.

5. The non-transitory computer-readable storage medium of claim 1 , wherein the verification request is transmitted via an authenticated channel.

6. The non-transitory computer-readable storage medium of claim 1 , wherein the verification request includes identification for the data object, version number for the data object, and the generated hash value.

7. The non-transitory computer-readable storage medium of claim 1 , further containing instructions that, when executed by the processor, cause the processor to:

upon receiving a negative verification for the hash value, remove the data object or updated data object from the scratchpad storage without storing the data object or updated data object.

8. An apparatus comprising:

a processor including circuitry to verify versions of one or more data objects;

a scratchpad media for temporary storage; and

a storage appliance to store one or more data objects, wherein the apparatus is to:

receive a storage request for a data object from an object management authority;

for a storage request to store a version of the data object at the storage appliance:

generate a hash value of the data object, and

store the data object in the scratchpad storage;

for a request to store an update to a version of the data object at the storage appliance:

store the update in the scratchpad storage,

copy the data object from the storage appliance and store the copy of the data object in the scratchpad storage,

apply the update to the data object to generate an updated data object, and

generate a hash value of the updated data object;

transmit a verification request for the hash value of the data object or updated data object to an object versioning authority; and

upon receiving affirmative verification for the hash value, move the data object or updated data object from the scratchpad storage to the storage appliance and transmit an acknowledgement to the object management authority.

9. The apparatus of claim 8 , wherein the storage request includes the data object, an object identification, and a version number for the data object.

10. The apparatus of claim 9 , further comprising an object versioning cache, wherein the apparatus is further to:

upon receiving the affirmative verification for the hash value, further updating the object versioning cache with the object identification, the version number for the data object, and the hash value.

11. The apparatus of claim 9 , wherein the version of the data object is one of multiple versions of the data object.

12. The apparatus of claim 8 , wherein the verification request is transmitted via an authenticated channel.

13. The apparatus of claim 8 , wherein the verification request includes identification for the data object, version number for the data object, and the generated hash value.

14. The apparatus of claim 8 , wherein the apparatus is further to:

upon receiving a negative verification for the hash value, remove the data object or updated data object from the scratchpad storage without storing the data object or updated data object.

15. A method comprising:

receiving a storage request for a data object from an object management authority;

for a storage request to store a version of the data object at a storage appliance:

generating a hash value of the data object, and

storing the data object in a scratchpad storage;

for a request to store an update to a version of the data object at the storage appliance:

storing the update in the scratchpad storage,

copying the data object from the storage appliance and storing the copy of the data object in the scratchpad storage,

applying the update to the data object to generate an updated data object, and

generating a hash value of the updated data object;

transmitting a verification request for the hash value of the data object or updated data object to an object versioning authority; and

upon receiving affirmative verification for the hash value, move the data object or updated data object from the scratchpad storage to the storage appliance and transmit an acknowledgement to the object management authority.

16. The method of claim 15 , wherein the storage request includes the data object, an object identification, and a version number for the data object.

17. The method of claim 16 , further comprising:

upon receiving the affirmative verification for the hash value, further updating an object versioning cache with the object identification, the version number for the data object, and the hash value.

18. The method of claim 17 , wherein the verification request is transmitted via an authenticated channel.

19. The method of claim 15 , wherein the verification request includes identification for the data object, version number for the data object, and the generated hash value.

20. The method of claim 15 , further comprising:

upon receiving a negative verification for the hash value, removing the data object or updated data object from the scratchpad storage without storing the data object or updated data object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2022
From: BERNAT, FRANCESC GUIM; KUMAR, KARTHIK
To: INTEL CORPORATION
Reel/Frame 058682/0064 →
Continuity (1)
Related Publication 20220100498A1 · Mar 31, 2022
References Cited (16)
US 7693881B2 · Fischer · 2010 [cited by examiner]
US 8261085B1 · Fernandez · 2012 [cited by examiner]
US 8688991B1 · Sunil · 2014 [cited by examiner]
US 8825599B2 · Goldberg · 2014 [cited by examiner]
US 10277608B2 · Krishnamurthy · 2019 [cited by examiner]
US 10318272B1 · Manuilov · 2019 [cited by examiner]
US 20170249483A1 · Kawazu · 2017 [cited by examiner]
US 20190109711A1 · Gladwin · 2019 [cited by examiner]
US 20200382309A1 · Jayachandran · 2020 [cited by examiner]
US 20210117555A1 · Bernat · 2021 [cited by examiner]
US 20210192038A1 · Shibata · 2021 [cited by examiner]
US 20210263746A1 · Thom · 2021 [cited by examiner]
US 20210373768A1 · Padala · 2021 [cited by examiner]
US 20220027138A1 · Stevens · 2022 [cited by examiner]
CN 116243959A · 2023 [cited by applicant]
DE 102022129468A1 · 2023 [cited by applicant]