IP Library Granted Patent US 8,898,113
Granted Patent B2
US 8,898,113 · App. 13/683,370 · Granted Nov 25, 2014

Managing replicated data

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 8,898,113
App. No.
13/683,370
Granted
Nov 25, 2014
Kind
B2
Abstract

An approach for managing replicated data is presented. Metadata is received specifying inter-data correlation(s), inter-replica correlation(s), and data-replica correlation(s) among replicas generated for a system. A unified replication metadata model specifying the correlations is generated. Based on the inter-replica correlation(s), a proper subset of the replicas is selected. Based on the inter-replica and inter-data correlation(s), the selected proper subset of replicas is indexed to generate a unified content index. A query is received to locate a data item in at least one of the replicas. Based on the unified content index, the unified replication metadata model, and the query, candidate replica(s) and corresponding confidence score(s) are determined. The confidence score(s) indicate respective likelihood(s) that the candidate replica(s) include the data item.

Claims (91)

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

a computer receiving first metadata specifying 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 inter-replica correlation(s), which are correlation(s) between replicas included in a second set of replicas;

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 a plurality of replicas generated for a system;

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

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

based on the inter-replica correlation(s) specified by the unified replication metadata model, the computer selecting a proper subset of replicas included in the plurality of replicas;

based on the inter-replica and inter-data correlation(s) specified by the unified replication metadata model, the computer indexing the selected proper subset of replicas to generate a unified content index, wherein the step of indexing the selected 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, wherein the step of determining the index updates includes the steps of:

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

the computer sorting the selected proper subset of replicas based on the respective index expectation scores and the respective resource affinity scores, and

wherein the step of determining the resource affinity scores for respective replicas in the selected proper subset of replicas includes the steps of:

if the current usage is less than the threshold usage, then 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, then 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 the unified content index, the unified replication metadata model, and 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) included in the plurality of replicas.

2. 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 selected 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 selected proper subset of replicas.

3. 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 determining the index expectation scores for respective replicas in the selected 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 selected 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 replicas in the selected proper subset of replicas and respective nearest fully indexed replicas included in the plurality of replicas; and

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

4. The method of claim 1 , 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 determines 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); and

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

5. 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 carried out 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 receiving first metadata specifying 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 inter-replica correlation(s), which are correlation(s) between replicas included in a second set of replicas;

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 a plurality of replicas generated for a system;

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

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

based on the inter-replica correlation(s) specified by the unified replication metadata model, the computer system selecting a proper subset of replicas included in the plurality of replicas;

based on the inter-replica and inter-data correlation(s) specified by the unified replication metadata model, the computer system indexing the selected proper subset of replicas to generate a unified content index, wherein the step of the computer system indexing the selected proper subset of replicas includes the steps of:

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

the computer system generating the unified content index based on the index updates,

wherein the step of determining the index updates includes the steps of:

the computer system determining index expectation scores and resource affinity scores for respective replicas in the selected proper subset of replicas; and

the computer system sorting the selected proper subset of replicas based on the respective index expectation scores and the respective resource affinity scores, and

wherein the step of determining the resource affinity scores for respective replicas in the selected proper subset of replicas includes the steps of:

if the current usage is less than the threshold usage, then 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, then 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 the unified content index, the unified replication metadata model, and 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) included in the plurality of replicas.

6. The program product of claim 5 , 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 selected 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 selected proper subset of replicas.

7. The program product of claim 5 , wherein the method further comprises the step of the computer system receiving event monitoring data that indicates change(s) in the system, wherein the step of determining the index expectation scores for respective replicas in the selected proper subset of replicas includes the steps of:

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

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

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

8. The program product of claim 5 , 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 determines 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); and

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

9. A process for supporting computing infrastructure, the process comprising:

providing at least one support service for at least one of creating, integrating, hosting, maintaining, and deploying computer-readable code in a computer system comprising a processor, wherein the processor carries out instructions contained in the code causing the computer system to perform a method of managing replicated data, the method comprising the steps of:

the computer system receiving first metadata specifying 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 inter-replica correlation(s), which are correlation(s) between replicas included in a second set of replicas;

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 a plurality of replicas generated for a system;

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

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

based on the inter-replica correlation(s) specified by the unified replication metadata model, the computer system selecting a proper subset of replicas included in the plurality of replicas;

based on the inter-replica and inter-data correlation(s) specified by the unified replication metadata model, the computer system indexing the selected proper subset of replicas to generate a unified content index, wherein the step of the computer system indexing the selected proper subset of replicas includes the steps of:

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

the computer system generating the unified content index based on the index updates,

wherein the step of determining the index updates includes the steps of:

the computer system determining index expectation scores and resource affinity scores for respective replicas in the selected proper subset of replicas; and

the computer system sorting the selected proper subset of replicas based on the respective index expectation scores and the respective resource affinity scores, and

wherein the step of determining the resource affinity scores for respective replicas in the selected proper subset of replicas includes the steps of:

if the current usage is less than the threshold usage, then 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, then 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 the unified content index, the unified replication metadata model, and 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) included in the plurality of replicas.

10. The process 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 selected 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 selected proper subset of replicas.

11. The process of claim 9 , wherein the method further comprises the step of the computer system receiving event monitoring data that indicates change(s) in the system, wherein the step of determining the index expectation scores for respective replicas in the selected proper subset of replicas includes the steps of:

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

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

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

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 Nov 21, 2012
From: BREWER, BILLY S.; CHAVDA, KAVITA; MANDAGERE, NAGAPRAMOD S.; ROUTRAY, RAMANI R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 029337/0341 →