IP Library Granted Patent US 10,169,385
Granted Patent B2
US 10,169,385 · App. 15/270,337 · Granted Jan 1, 2019

Managing replicated data

Inventors: Billy S. Brewer (Ewa Beach, HI); Kavita Chavda (Roswell, GA); Nagapramod S. Mandagere (San Jose, CA); Ramani R. Routray (San Jose, CA)
Assignee: International Business Machines Corporation
G06F17/30321G06F11/1458G06F11/3409G06F17/3053G06F17/30312G06F17/30336G06F17/30345G06F17/30528G06F17/30554G06F17/30575G06F17/30619G06F17/30622G06F17/30687G06F2201/81
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 10,169,385
App. No.
15/270,337
Granted
Jan 1, 2019
Kind
B2
Abstract

An approach for managing replicated data is presented. A current usage of resources in a system and a threshold usage of the resources are determined. Based on inter-replica correlation(s) and inter-data correlation(s) specified by a unified replication metadata model, a proper subset of replicas included in a plurality of replicas is indexed by (i) if the current usage is less than the threshold usage, determining an expected additional resource usage due to performing an indexing task online and based on the expected additional resource usage, determining a resource affinity score for performing the indexing task online, or (ii) if the current usage is greater than or equal to the threshold usage, determining an expected resource usage due to performing the indexing task offline and based on the expected resource usage, determining a resource affinity score for performing the indexing task offline.

Claims (81)

1. A method of managing replicated data, the method comprising the steps of:

a computer determining a current usage of resources in a system and a threshold usage of the resources;

based on inter-replica correlation(s) and inter-data correlation(s) specified by a unified replication metadata model, the computer indexing a proper subset of replicas included in a plurality of replicas generated for the system, wherein the step of indexing the proper subset includes:

if the current usage is less than the threshold usage, the computer determining an expected additional resource usage due to performing an indexing task online, and based on the expected additional resource usage, the computer determining a resource affinity score for performing the indexing task online; and

if the current usage is greater than or equal to the threshold usage, the computer determining an expected resource usage due to performing the indexing task offline and based on the expected resource usage, the computer determining a resource affinity score for performing the indexing task offline;

the computer receiving a query to locate a data item in at least one replica included in the plurality of replicas; and

based on (i) a unified content index generated as a result of the step of indexing, (ii) the unified replication metadata model, and (iii) the received query, the computer determining candidate replica(s) and corresponding confidence score(s), the confidence score(s) indicating respective likelihood(s) that the candidate replica(s) include the data item, and the candidate replica(s) being included in the plurality of replicas, wherein the step of determining the candidate replica(s) and the corresponding confidence score(s) includes the steps of:

based on the unified content index, the computer determining first replica(s) included in the proper subset of replicas that are exact matches to the query;

for second replica(s) that are not exact matches to the query, the computer determining respective temporal distance(s) and respective percent change(s) in the system between the second replica(s) and the first replica(s) that are exact matches to the query;

for the second replica(s) that are not exact matches to the query, the computer identifying respective nearest neighbor(s) as respective first replica(s) having minimum(s) of the respective temporal distance(s) and respective percent change(s);

based on the minimum(s) of the temporal distance(s) and percent change(s), the computer determining confidence score(s) of the second replica(s);

the computer sorting the second replica(s) based on the confidence score(s) of the second replica(s); and

the computer directing a device to present the sorted second replica(s) to a user.

2. The method of claim 1 , further comprising the steps of:

the computer receiving first metadata specifying the inter-data correlation(s), which are correlation(s) between sets of replicated data in a first set of replicas;

the computer receiving second metadata specifying the inter-replica correlation(s), which are correlation(s) between replicas included in a second set of replicas; and

the computer receiving third metadata specifying data-replica correlation(s), which are correlation(s) between set(s) of replicated data and respective replica(s) included in a third set of replicas, the first, second and third sets of replicas being included in the plurality of replicas generated for the system; and

the computer generating a unified replication metadata model specifying (i) the inter-data correlation(s) based on the first metadata, (ii) the inter-replica correlation(s) based on the second metadata, and (iii) the data-replica correlation(s) based on the third metadata.

3. The method of claim 1 , further comprising the steps of:

based on the inter-replica and inter-data correlation(s) specified by the unified replication metadata model, the computer determining indexer(s) to use for the indexing of the proper subset of replicas; and

based on the inter-replica and inter-data correlation(s) specified by the unified replication metadata model, the computer determining a prioritized order of indexing tasks included in the step of indexing the proper subset of replicas.

4. The method of claim 1 , further comprising the step of the computer receiving event monitoring data that indicates change(s) in the system, wherein the step of indexing the proper subset of replicas includes the steps of:

based on the unified replication metadata model, the computer determining temporal distances from the replicas in the proper subset of replicas to respective fully indexed replicas included in the plurality of replicas;

based on the received event monitoring data, the computer determining measures indicating respective amounts of change in the system between timestamps of the replicas in the proper subset of replicas and respective nearest fully indexed replicas included in the plurality of replicas; and

determining index expectation scores for the respective replicas based on the temporal distances and the measures indicating amounts of change in the system.

5. The method of claim 1 , wherein the step of indexing the proper subset of replicas includes the steps of:

the computer determining index updates by determining keyword-to-replica mappings; and

the computer generating the unified content index based on the index updates.

6. The method of claim 5 , wherein the step of determining the index updates includes the steps of:

the computer determining index expectation scores for respective replicas in the proper subset of replicas; and

the computer sorting the proper subset of replicas based in part on the index expectation scores for the respective replicas.

7. The method of claim 5 , wherein the step of determining the index updates includes the steps of:

the computer determining resource affinity scores for respective replicas in the proper subset of replicas; and

the computer sorting the proper subset of replicas based in part on the resource affinity scores for the respective replicas.

8. The method of claim 1 , further comprising the step of:

providing at least one support service for at least one of creating, integrating, hosting, maintaining, and deploying computer-readable program code in the computer, the program code being executed by a processor of the computer to implement the steps of determining the current usage of resources and the threshold usage of the resources, indexing the proper subset of replicas, receiving the query to locate the data item in the at least one replica, and determining the candidate replica(s) and the corresponding confidence score(s).

9. A computer program product, comprising a computer-readable, tangible storage device and a computer-readable program code stored in the computer-readable, tangible storage device, the computer-readable program code containing instructions that are executed by a central processing unit (CPU) of a computer system to implement a method of managing replicated data, the method comprising the steps of:

the computer system determining a current usage of resources in a system and a threshold usage of the resources;

based on inter-replica correlation(s) and inter-data correlation(s) specified by a unified replication metadata model, the computer system indexing a proper subset of replicas included in a plurality of replicas generated for the system, wherein the step of indexing the proper subset includes:

if the current usage is less than the threshold usage, the computer system determining an expected additional resource usage due to performing an indexing task online, and based on the expected additional resource usage, the computer system determining a resource affinity score for performing the indexing task online; and

if the current usage is greater than or equal to the threshold usage, the computer system determining an expected resource usage due to performing the indexing task offline and based on the expected resource usage, the computer system determining a resource affinity score for performing the indexing task offline;

the computer system receiving a query to locate a data item in at least one replica included in the plurality of replicas; and

based on (i) a unified content index generated as a result of the step of indexing, (ii) the unified replication metadata model, and (iii) the received query, the computer system determining candidate replica(s) and corresponding confidence score(s), the confidence score(s) indicating respective likelihood(s) that the candidate replica(s) include the data item, and the candidate replica(s) being included in the plurality of replicas, wherein the step of determining the candidate replica(s) and the corresponding confidence score(s) includes the steps of:

based on the unified content index, the computer system determining first replica(s) included in the proper subset of replicas that are exact matches to the query;

for second replica(s) that are not exact matches to the query, the computer system determining respective temporal distance(s) and respective percent change(s) in the system between the second replica(s) and the first replica(s) that are exact matches to the query;

for the second replica(s) that are not exact matches to the query, the computer system identifying respective nearest neighbor(s) as respective first replica(s) having minimum(s) of the respective temporal distance(s) and respective percent change(s);

based on the minimum(s) of the temporal distance(s) and percent change(s), the computer system determining confidence score(s) of the second replica(s);

the computer system sorting the second replica(s) based on the confidence score(s) of the second replica(s); and

the computer system directing a device to present the sorted second replica(s) to a user.

10. The computer program product of claim 9 , wherein the method further comprises the steps of:

the computer system receiving first metadata specifying the inter-data correlation(s), which are correlation(s) between sets of replicated data in a first set of replicas;

the computer system receiving second metadata specifying the inter-replica correlation(s), which are correlation(s) between replicas included in a second set of replicas; and

the computer system receiving third metadata specifying data-replica correlation(s), which are correlation(s) between set(s) of replicated data and respective replica(s) included in a third set of replicas, the first, second and third sets of replicas being included in the plurality of replicas generated for the system; and

the computer system generating a unified replication metadata model specifying (i) the inter-data correlation(s) based on the first metadata, (ii) the inter-replica correlation(s) based on the second metadata, and (iii) the data-replica correlation(s) based on the third metadata.

11. The computer program product of claim 9 , wherein the method further comprises the steps of:

based on the inter-replica and inter-data correlation(s) specified by the unified replication metadata model, the computer system determining indexer(s) to use for the indexing of the proper subset of replicas; and

based on the inter-replica and inter-data correlation(s) specified by the unified replication metadata model, the computer system determining a prioritized order of indexing tasks included in the step of indexing the proper subset of replicas.

12. A computer system comprising:

a central processing unit (CPU);

a memory coupled to the CPU; and

a computer-readable storage device coupled to the CPU, the storage device containing instructions that are executed by the CPU via the memory to implement a method of managing replicated data, the method comprising the steps of:

the computer system determining a current usage of resources in a system and a threshold usage of the resources;

based on inter-replica correlation(s) and inter-data correlation(s) specified by a unified replication metadata model, the computer system indexing a proper subset of replicas included in a plurality of replicas generated for the system, wherein the step of indexing the proper subset includes:

if the current usage is less than the threshold usage, the computer system determining an expected additional resource usage due to performing an indexing task online, and based on the expected additional resource usage, the computer system determining a resource affinity score for performing the indexing task online; and

if the current usage is greater than or equal to the threshold usage, the computer system determining an expected resource usage due to performing the indexing task offline and based on the expected resource usage, the computer system determining a resource affinity score for performing the indexing task offline;

the computer system receiving a query to locate a data item in at least one replica included in the plurality of replicas; and

based on (i) a unified content index generated as a result of the step of indexing, (ii) the unified replication metadata model, and (iii) the received query, the computer system determining candidate replica(s) and corresponding confidence score(s), the confidence score(s) indicating respective likelihood(s) that the candidate replica(s) include the data item, and the candidate replica(s) being included in the plurality of replicas, wherein the step of determining the candidate replica(s) and the corresponding confidence score(s) includes the steps of:

based on the unified content index, the computer system determining first replica(s) included in the proper subset of replicas that are exact matches to the query;

for second replica(s) that are not exact matches to the query, the computer system determining respective temporal distance(s) and respective percent change(s) in the system between the second replica(s) and the first replica(s) that are exact matches to the query;

for the second replica(s) that are not exact matches to the query, the computer system identifying respective nearest neighbor(s) as respective first replica(s) having minimum(s) of the respective temporal distance(s) and respective percent change(s);

based on the minimum(s) of the temporal distance(s) and percent change(s), the computer system determining confidence score(s) of the second replica(s);

the computer system sorting the second replica(s) based on the confidence score(s) of the second replica(s); and

the computer system directing a device to present the sorted second replica(s) to a user.

13. The computer system of claim 12 , wherein the method further comprises the steps of:

the computer system receiving first metadata specifying the inter-data correlation(s), which are correlation(s) between sets of replicated data in a first set of replicas;

the computer system receiving second metadata specifying the inter-replica correlation(s), which are correlation(s) between replicas included in a second set of replicas; and

the computer system receiving third metadata specifying data-replica correlation(s), which are correlation(s) between set(s) of replicated data and respective replica(s) included in a third set of replicas, the first, second and third sets of replicas being included in the plurality of replicas generated for the system; and

the computer system generating a unified replication metadata model specifying (i) the inter-data correlation(s) based on the first metadata, (ii) the inter-replica correlation(s) based on the second metadata, and (iii) the data-replica correlation(s) based on the third metadata.

14. The computer system of claim 12 , wherein the method further comprises the steps of:

based on the inter-replica and inter-data correlation(s) specified by the unified replication metadata model, the computer system determining indexer(s) to use for the indexing of the proper subset of replicas; and

based on the inter-replica and inter-data correlation(s) specified by the unified replication metadata model, the computer system determining a prioritized order of indexing tasks included in the step of indexing the proper subset of replicas.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2016
From: BREWER, BILLY S.; CHAVDA, KAVITA; MANDAGERE, NAGAPRAMOD S.; ROUTRAY, RAMANI R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039801/0057 →
Continuity (4)
Continuation 14806147 · Jul 22, 2015
Continuation 14509096 · Oct 8, 2014
Continuation 13683370 · Nov 21, 2012
Related Publication 20170011080A1 · Jan 12, 2017