IP Library › Granted Patent US 11,048,423
Granted Patent B2
US 11,048,423 · App. 16/386,505 · Granted Jun 29, 2021

Method and system for synchronizing requests related to key-value storage having different portions

Inventors: Edward Bortnikov (Haifa, IL); Eshcar Hillel (Binyamina, IL); Anastasia Braginsky (Haifa, IL); Eran Gilad (Mishmar ha-Emek, IL); Idit Keidar (Haifa, IL); Yonatan Gottesman (Haifa, IL)
Assignee: Verizon Media Inc.
G06F3/0638G06F3/0611G06F3/0656G06F3/0685G06F16/9024G06F16/9035G06F16/90348
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 11,048,423
App. No.
16/386,505
Granted
Jun 29, 2021
Kind
B2
Abstract

The present teaching relates to a method, system and programming for operating a data storage. The data storage comprises of different portions including: a first portion having a plurality of metadata objects stored therein, each of the metadata objects being associated with a filter and corresponding to a range of keys, wherein at least one of the metadata objects is associated with a data structure, and a second portion having a plurality of files stored therein, each of the plurality of files being associated with one of the plurality of metadata objects; The data storage synchronizes a scan request with respect to one or more write requests based on a parameter associated with the scan request and each of the one or more write requests.

Claims (46)

1. A system having a processor, storage, and a communication platform capable of connecting to a network for synchronizing requests related to a data storage having different portions, the system comprising a synchronization unit implemented by the processor, wherein

the data storage includes:

a first portion having a plurality of metadata objects stored therein, each of the metadata objects being associated with a filter and corresponding to a range of keys, and

a second portion having a plurality of files stored therein, each of the plurality of files being associated with one of the plurality of metadata objects,

the synchronization unit is configured to synchronize a scan request with respect to one or more write requests based on a parameter associated with the scan request and each of the one or more write requests, and

the scan request is handled upon completion of a write request which affects a value associated with a key within a key range of the scan request and the parameter associated with which has a smaller value than that of the parameter associated with the scan request.

2. The system of claim 1 , further comprising:

a scanning unit implemented by the processor and configured to receive the scan request, wherein the scan request is related to scanning the key range from one of the first portion and the second portion of the data storage.

3. The system of claim 2 further comprising:

a writing unit implemented by the processor and configured to receive the one or more write requests, wherein each of the write requests is related to modifying a value associated with a key.

4. The system of claim 1 , wherein the first portion further includes a cache having a plurality of key-value pairs stored therein.

5. The system of claim 1 , wherein each of the plurality of files includes a data log and a sorted table, and wherein the filter is partitioned into a plurality of Bloom filters, each of the plurality of Bloom filters summarizing information stored in a portion of the data log.

6. The system of claim 2 , further comprising:

a pending operations array implemented by the processor and configured to store an entry corresponding to each of the scan request and the one or more write requests, the entry including a value of the parameter associated with the corresponding request.

7. The system of claim 6 , wherein the synchronization unit is further configured to:

determine, based on the pending operations array, a subset of the one or more write requests that satisfies a first criterion related to the parameter associated with the write request, and a second criterion associated with a key whose value is to be modified by the write request; and

execute the scan request upon completion of execution of the subset of the one or more write requests.

8. The system of claim 7 , wherein the first criterion corresponds to the parameter associated with the write request having a smaller value than the parameter associated with the scan request, and the second criterion corresponds to the write request modifying value of the key included in the key range.

9. A method, implemented on a machine having at least one processor, storage, and a communication platform capable of connecting to a network for synchronizing requests related to a data storage having different portions, the method comprising:

storing in a first portion of the data storage, a plurality of metadata objects, each of the metadata objects being associated with a filter and corresponding to a range of keys;

storing in a second portion of the data storage, a plurality of files, each of the plurality of files being associated with one of the plurality of metadata objects; and

synchronizing a scan request with respect to one or more write requests based on a parameter associated with the scan request and each of the one or more write requests, wherein the scan request is handled upon completion of a write request which affects a value associated with a key within a key range of the scan request and the parameter associated with which has a smaller value than that of the parameter associated with the scan request.

10. The method of claim 9 , further comprising:

receiving the scan request, wherein the scan request is related to scanning the key range from one of the first portion and the second portion of the data storage; and

receiving the one or more write requests, wherein each of the write requests is related to modifying a value associated with a key.

11. The method of claim 9 , wherein the first portion further includes a cache having a plurality of key-value pairs stored therein.

12. The method of claim 9 , wherein each of the plurality of files includes a data log and a sorted table, and wherein the filter is partitioned into a plurality of Bloom filters, each of the plurality of Bloom filters summarizing information stored in a portion of the data log.

13. The method of claim 10 , further comprising:

storing, in a pending operations array, an entry corresponding to each of the scan request and the one or more write requests, the entry including a value of the parameter associated with the corresponding request.

14. The method of claim 13 , further comprising:

determining, based on the pending operations array, a subset of the one or more write requests that satisfies a first criterion related to the parameter associated with the write request, and a second criterion associated with a key whose value is to be modified by the write request; and

executing the scan request upon completion of execution of the subset of the one or more write requests.

15. The method of claim 14 , wherein the first criterion corresponds to the parameter associated with the write request having a smaller value than the parameter associated with the scan request, and the second criterion corresponds to the write request modifying value of the key included in the key range.

16. A machine readable and non-transitory medium having information recorded thereon for synchronizing requests related to a data storage having different portions, wherein the information, when read by the machine, causes the machine to perform:

storing in a first portion of the data storage, a plurality of metadata objects, each of the metadata objects being associated with a filter and corresponding to a range of keys,

storing in a second portion of the data storage, a plurality of files, each of the plurality of files being associated with one of the plurality of metadata objects; and

synchronizing a scan request with respect to one or more write requests based on a parameter associated with the scan request and each of the one or more write requests, wherein the scan request is handled upon completion of a write request which affects a value associated with a key within a key range of the scan request and the parameter associated with which has a smaller value than that of the parameter associated with the scan request.

17. The medium of claim 16 , further comprising:

receiving the scan request, wherein the scan request is related to scanning the key range from one of the first portion and the second portion of the data storage; and

receiving the one or more write requests, wherein each of the write requests is related to modifying a value associated with a key.

18. The medium of claim 16 , wherein each of the plurality of files includes a data log and a sorted table, and wherein the filter is partitioned into a plurality of Bloom filters, each of the plurality of Bloom filters summarizing information stored in a portion of the data log.

19. The medium of claim 16 , further comprising:

storing, in a pending operations array, an entry corresponding to each of the scan request and the one or more write requests, the entry including a value of the parameter associated with the corresponding request.

20. The medium of claim 19 , further comprising:

determining, based on the pending operations array, a subset of the one or more write requests that satisfies a first criterion related to the parameter associated with the write request, and a second criterion associated with a key whose value is to be modified by the write request; and

executing the scan request upon completion of execution of the subset of the one or more write requests.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: VERIZON MEDIA INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 057453/0431 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2019
From: BORTNIKOV, EDWARD; HILLEL, ESHCAR; BRAGINSKY, ANASTASIA; GILAD, ERAN; KEIDAR, IDIT; GOTTESMAN, YONATAN
To: OATH INC.
Reel/Frame 048909/0458 →
Continuity (1)
Related Publication 20200333968A1 · Oct 22, 2020
Cited By (1)
US 12,536,141