IP Library Granted Patent US 9,390,122
Granted Patent B2
US 9,390,122 · App. 14/796,259 · Granted Jul 12, 2016

Tree comparison to manage progressive data store switchover with assured performance

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 9,390,122
App. No.
14/796,259
Granted
Jul 12, 2016
Kind
B2
Abstract

Technologies are generally provided for progressive key value store switchover by evaluating a maturity of a migrated data store and allowing piecewise switching of substructure area query servicing from an origin data store to a destination data store. In some examples, abstractions of origin and destination tree structures may be compared to each other in order to generate an evaluation metric at substantially reduced performance evaluation load. The evaluation metric may target performance sampling while assuring a desired performance level with localized query servicing switchover. Piecewise data transfer may also be optionally enabled such that overall storage can be similar to the storage of a single data store copy while reducing an impact on existing data store services.

Claims (55)

1. A method to progressively migrate key value stores through tree comparison, the method comprising:

receiving abstracted data on an origin tree structure associated with an origin key value store and a corresponding destination tree structure associated with a destination key value store, wherein the abstracted data does not include actual data from the origin tree structure and the destination tree structure;

comparing the origin tree structure with the destination tree structure, wherein the comparison is based on the abstracted data, to determine whether the origin tree structure is replicated above a dynamic threshold in the destination tree structure;

in response to a determination that the origin tree structure is replicated above the dynamic threshold in the destination tree structure, directing queries to the destination key value store, adjusting the dynamic threshold based on results from the queries directed to the destination key value store, and removing data that is duplicated in the destination key value store from the origin key value store; and

in response to a determination that the origin tree structure is not replicated above the dynamic threshold in the destination tree structure, directing queries to the origin tree structure and copying data from the origin tree structure to the destination tree structure to mature a next segment of the destination tree structure.

2. The method of claim 1 , wherein receiving abstracted data on the origin tree structure associated with the origin key value store and the corresponding destination tree structure associated with the destination key value store comprises:

receiving data on a segment of the origin tree structure and a corresponding segment of the destination tree structure.

3. The method of claim 2 , further comprising:

storing segment information in a switchover table.

4. The method of claim 3 , wherein directing queries to the destination key value store comprises:

determining queries for the corresponding segment of the destination tree structure to direct to the destination key value store employing the switchover table.

5. The method of claim 4 , further comprising:

identifying queries for segments of the destination tree structure distinct from the corresponding segment to direct to the origin key value store; and

directing the identified queries to the origin key value store.

6. The method of claim 1 , further comprising:

directing the queries to one of the origin key value store and the destination key value store by moving a query from a user queue to one of an origin queue and a destination queue depending on whether the origin tree structure is replicated above the threshold in the destination tree structure.

7. The method of claim 6 , further comprising:

directing the queries from a user queue to one of an origin queue and a destination queue, wherein

the user queue resides at one of an origin datacenter, an destination datacenter, and a third party migration service provider,

the origin queue resides at the origin datacenter,

the destination queue resides at one of the destination datacenter and the third party migration service provider, and

the directing is performed at one of the origin datacenter, the destination datacenter, and the third party migration service provider.

8. The method of claim 1 , wherein comparing the origin tree structure with the destination tree structure comprises:

performing sample testing on areas indicating targeted tree similarity.

9. The method of claim 1 , wherein comparing the origin tree structure with the destination tree structure comprises:

performing comprehensive performance testing on the destination tree structure.

10. A system to progressively migrate key value stores through tree comparison, the system comprising:

an origin key value store with an associated origin tree structure;

a destination key value store with an associated destination tree structure, wherein the destination tree structure corresponds to the origin tree structure; and

a server comprising:

a memory configured to store instructions; and

a processor configured to execute a switchover manager within a migration application in conjunction with the stored instructions, the switchover manager configured to:

retrieve abstracted data on the origin tree structure from the origin key value store and the corresponding destination tree structure from the destination key value store, wherein the abstracted data does not include actual data from the origin tree structure and the destination tree structure;

compare the origin tree structure with the destination tree structure, wherein the comparison is based on the abstracted data, to determine whether the origin tree structure is replicated above a dynamic threshold in the destination tree structure based on the comparison;

in response to a determination that the origin tree structure is replicated above the threshold in the destination tree structure, direct queries to the destination key value store, adjust the dynamic threshold based on results from the queries directed to the destination key value store, and remove data that is duplicated in the destination key value store from the origin key value store; and

in response to a determination that the origin tree structure is not replicated above the dynamic threshold in the destination tree structure, direct queries to the origin tree structure and copy data from the origin tree structure to the destination tree structure to mature a next segment of the destination tree structure.

11. The system of claim 10 , wherein the origin key value store resides at an origin datacenter and the destination key value store resides at a distinct destination datacenter.

12. The system of claim 11 , wherein the origin datacenter and the destination datacenter are enabled to agree to provide abstracted data to the server such that sharing of data needed for the migration is enabled while provision of actual data from the origin tree structure and the destination tree structure revealing confidential information is prevented.

13. The system of claim 11 , wherein the server resides at one of the origin datacenter, the destination datacenter, or a third party migration service provider.

14. The system of claim 10 , wherein the origin key value store and the destination key value store are associated with an origin data store and a destination data store, respectively, that reside within a same datacenter.

15. The system of claim 14 , wherein the origin data store and the destination data store are of different types.

16. The system of claim 10 , wherein the abstracted data is data associated with the origin tree structure and the corresponding destination tree structure that is abstracted by one of approximate-tree-by example, symbolic approximation, or fractal order evaluation.

17. A computer readable memory device with instructions stored thereon to progressively migrate key value stores through tree comparison, the instructions comprising:

enabling an origin datacenter comprising an origin key value store and a destination datacenter comprising a destination key value store to agree to provide abstracted data on an origin tree structure associated with the origin key value store and a corresponding destination tree structure associated with the destination key value store, wherein the abstracted data does not include actual data from the origin tree structure and the destination tree structure such that sharing of data needed for migration is enabled while a reveal of confidential information is prevented;

upon receipt of the abstracted data, comparing the origin tree structure with the destination tree structure based on the abstracted data to determine whether the origin tree structure is replicated above a dynamic threshold in the destination tree structure;

in response to a determination that the origin tree structure is replicated above the dynamic threshold in the destination tree structure, directing queries to the destination key value store, adjusting the dynamic threshold based on results from the queries directed to the destination key value store, and removing data that is duplicated in the destination key value store from the origin key value store; and

in response to a determination that the origin tree structure is not replicated above the dynamic threshold in the destination tree structure, directing queries to the origin tree structure and copying data from the origin tree structure to the destination tree structure to mature a next segment of the destination tree structure.

18. The computer readable memory device of claim 17 , wherein the instructions further comprise:

receiving data on a segment of the origin tree structure and a corresponding segment of the destination tree structure;

storing segment information in a switchover table; and

determining queries for the corresponding segment of the destination tree structure to direct to the destination key value store employing the switchover table.

19. The computer readable memory device of claim 18 , wherein the instructions further comprise:

employing Monte Carlo queries with each sub-space of the destination tree structure.

20. The computer readable memory device of claim 17 , wherein the instructions further comprise:

comparing the origin tree structure and the destination tree structure in whole or piece-wise.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Nov 29, 2023
From: CRESTLINE DIRECT FINANCE, L.P.
To: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Reel/Frame 065712/0585 →
SECURITY INTEREST Recorded Jan 29, 2019
From: EMPIRE TECHNOLOGY DEVELOPMENT LLC
To: CRESTLINE DIRECT FINANCE, L.P.
Reel/Frame 048373/0217 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2015
From: KRUGLICK, EZEKIEL
To: ARDENT RESEARCH CORPORATION
Reel/Frame 036063/0549 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2015
From: ARDENT RESEARCH CORPORATION
To: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Reel/Frame 036063/0559 →