IP Library Granted Patent US 11,507,592
Granted Patent B2
US 11,507,592 · App. 16/777,882 · Granted Nov 22, 2022

Methods and systems for adapting multiple key-value stores

Inventors: Zhengyu Yang (San Diego, CA); Thomas Edward Rainey, III (Escondido, CA); Michael Kurt Gehlen (San Diego, CA); Ping Terence Wong (San Diego, CA); Venkatraman Balasubramanian (Tempe, AZ); Olufogorehan Adetayo Tunde-Onadele (Raleigh, NC); Nithya Ramakrishnan (San Diego, CA); T. David Evans (San Diego, CA); Clay Mayers (San Diego, CA)
G06F16/258G06F16/2272G06F16/278G06F16/86G06F16/9014G06F16/116G06F16/119
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,507,592
App. No.
16/777,882
Filed
Jan 30, 2020
Granted
Nov 22, 2022
Kind
B2
Art Unit
2166
USPC
707/756
Abstract

A method of adapting a first key-value store to a second key-value store may include determining a conversion strategy based on one or more characteristics of the first key-value store and one or more characteristics of the second key-value store, converting the second key-value store to a converted key-value store based on the conversion strategy, and mapping the first key-value store to the converted key-value store based on a mapping function. The converted key-value store may be accessed on-the-fly. A data storage system may include a key-value interface configured to provide access to a lower key-value store, and a key-value adapter coupled to the key-value interface and configured to adapt an upper key-value store to the lower key-value store, wherein the key-value adapter may be configured to adapt at least two different types of the upper key-value store to the lower key-value store.

Claims (35)

1. A method comprising:

determining a conversion strategy based on one or more characteristics of a first key-value store and one or more characteristics of a second key-value store;

converting the second key-value store to a converted key-value store based on the conversion strategy; and

mapping the first key-value store to the converted key-value store based on a mapping function;

wherein the determining the conversion strategy comprises:

comparing a key set space size for the first key-value store to a key set space size for the second key-value store; and

comparing a value length limit of the first key-value store to a value length limit of the second key-value store.

2. The method of claim 1 , wherein the determining the conversion strategy further comprises comparing a data storage capacity of the first key-value store to a data storage capacity of the second key-value store.

3. The method of claim 1 , wherein the determining the conversion strategy further comprises determining whether the second key-value store can borrow adequate key space from its value space.

4. The method of claim 1 , wherein the determining the conversion strategy further comprises determining whether the second key-value store can borrow adequate value space from its key space.

5. A method comprising:

determining a conversion strategy based on one or more characteristics of a first key-value store and one or more characteristics of a second key-value store;

converting the second key-value store to a converted key-value store based on the conversion strategy; and

mapping the first key-value store to the converted key-value store based on a mapping function;

wherein the conversion strategy comprises borrowing resources within the second key-value store.

6. The method of claim 5 , wherein the conversion strategy further comprises a packing arrangement.

7. The method of claim 5 , wherein the conversion strategy further comprises a sharding arrangement.

8. A method comprising:

determining a conversion strategy based on one or more characteristics of a first key-value store and one or more characteristics of a second key-value store;

converting the second key-value store to a converted key-value store based on the conversion strategy; and

mapping the first key-value store to the converted key-value store based on a mapping function;

wherein the conversion strategy comprises scaling out the second key-value store.

9. A method comprising:

determining a conversion strategy based on one or more characteristics of a first key-value store and one or more characteristics of a second key-value store;

converting the second key-value store to a converted key-value store based on the conversion strategy; and

mapping the first key-value store to the converted key-value store based on a mapping function;

wherein the conversion strategy comprises scaling out the second key-value store in combination with a second conversion strategy.

10. A method comprising:

determining a conversion strategy based on one or more characteristics of a first key-value store and one or more characteristics of a second key-value store;

converting the second key-value store to a converted key-value store based on the conversion strategy;

mapping the first key-value store to the converted key-value store based on a mapping function; and

expanding a key set space size for the first key-value store.

11. The method of claim 10 , wherein:

the conversion strategy is based on the expanded key set space size for the first key-value store; and

the converted key-value store is configured to store multiple versions of key-value pairs of the first key-value store based on the expanded key set size space.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2023
From: YANG, ZHENGYU; RAINEY, THOMAS EDWARD, III; GEHLEN, MICHAEL KURT; WONG, PING TERENCE; BALASUBRAMANIAN, VENKATRAMAN; TUNDE-ONADELE, OLUFOGOREHAN ADETAYO; RAMAKRISHNAN, NITHYA; EVANS, T. DAVID; MAYERS, CLAY
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 063878/0205 →
Continuity (2)
Provisional Application 62926418 · Oct 25, 2019
Related Publication 20210124754A1 · Apr 29, 2021