IP Library Granted Patent US 9,430,542
Granted Patent B2
US 9,430,542 · App. 13/489,383 · Granted Aug 30, 2016

User initiated replication in a synchronized object replication system

Inventors: Shay Akirav (Tel Aviv, IL); Yariv Bachar (Tel Aviv, IL); Ron Edelstein (Tel Aviv, IL); Asaf Levy (Tel Aviv, IL); Oded Sonin (Tel Aviv, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F17/30575G06F17/30578
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,430,542
App. No.
13/489,383
Granted
Aug 30, 2016
Kind
B2
Abstract

A snapshot of selected objects in a source repository is created in response to the user-initiated replication. The snapshot is designated as a snapshot replication job. The snapshot replication job is added to the end of a replication queue to await execution for the synchronized object replication. Unsynchronized objects in a target destination are detected by comparing a state of the selected objects in the snapshot with a current state of the target destination at the time of execution of the snapshot replication job. The unsynchronized objects in the target destination are synchronized based upon the comparison of the state of the selected objects in the snapshot with the current state of the target destination at the time of execution of the snapshot replication job.

Claims (32)

1. A system for user initiated replication in a synchronized object replication system in a computing environment, comprising:

a processor device operable in the computing environment, wherein the processor device is adapted for:

creating a snapshot of selected objects in a source repository in response to the user initiated replication, wherein the snapshot is designated as a snapshot replication job,

adding the snapshot replication job to an end of a replication queue to await execution for the synchronized object replication,

detecting unsynchronized objects in a target destination by comparing a lightweight representative state of the selected objects in the snapshot with a current state of the target destination at the time of execution of the snapshot replication job, wherein the unsynchronized objects in the target destination are synchronized in an order they were added based upon the comparison of the lightweight representative state of the selected objects in the snapshot with the current state of the target destination at the time of execution of the snapshot replication job,

retrieving in an ordered manner at least one object of the selected objects from the snapshot,

sending an object identification (ID) and a state ID of the at least one object to the target destination,

searching for the object ID in the target destination, wherein if the object ID is located, the state ID of the at least one object is compared with a current state ID of the target destination, and

if neither the object ID exists in the target destination and the state ID of the at least one object and the current state ID of the target destination do not match, replication tasks are opened for replicating data and metadata of the at least one object to the target destination.

2. The system of claim 1 , wherein the at least one processor device is further adapted for performing one of:

if an operation occurs prior to the creating, replicating the operation prior to replication the snapshot replication job, and

if an operation occurs after the creating, replicating the operation after replicating the snapshot replication job.

3. The system of claim 2 , wherein the at least one processor device is further adapted for separating the operation into a data operation and a metadata operation, wherein the data operation is one of a write new data and deletion of old data, and the metadata operation is one of changing metadata of a node and changing a tree structure.

4. The system of claim 1 , wherein the at least one processor device is further adapted for, in conjunction with the comparison, traversing the snapshot by comparing at least one of a tree structure, data, and metadata of the snapshot with objects in the target destination.

5. The system of claim 1 , wherein the at least one processor device is further adapted for, in conjunction with the user initiated replication of the selected objects, replicating the selected objects independent of an actual synchronized state of the selected objects.

6. The system of claim 1 , wherein the at least one processor device is further adapted for, in conjunction with the user initiated replication of the selected objects, replicating the selected objects independent of at least one of a replication procedure, a protocol, a file system layout, and an implementation.

7. A computer program product for user initiated replication in a synchronized object replication system in a computing environment using a processor device, the computer program product comprising a computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:

a first executable portion for creating a snapshot of selected objects in a source repository in response to the user initiated replication, wherein the snapshot is designated as a snapshot replication job;

a second executable portion for adding the snapshot replication job to an end of a replication queue to await execution for the synchronized object replication;

a third executable portion for detecting unsynchronized objects in a target destination by comparing a lightweight representative state of the selected objects in the snapshot with a current state of the target destination at the time of execution of the snapshot replication job, wherein the unsynchronized objects in the target destination are synchronized in an order they were added based upon the comparison of the lightweight representative state of the selected objects in the snapshot with the current state of the target destination at the time of execution of the snapshot replication job; and

a fourth executable portion for performing each of:

retrieving in an ordered manner at least one object of the selected objects from the snapshot;

sending an object identification (ID) and a state ID of the at least one object to the target destination;

searching for the object ID in the target destination, wherein if the object ID is located, the state ID of the at least one object is compared with a current state ID of the target destination; and

if neither the object ID exists in the target destination and the state ID of the at least one object and the current state ID of the target destination do not match, replication tasks are opened for replicating data and metadata of the at least one object to the target destination.

8. The computer program product of claim 7 , further including a fifth executable portion for, performing one of:

if an operation occurs prior to the creating, replicating the operation prior to replication the snapshot replication job, and

if an operation occurs after the creating, replicating the operation after replicating the snapshot replication job.

9. The computer program product of claim 8 , further including a sixth executable portion for separating the operation into a data operation and a metadata operation, wherein the data operation is one of writing new data and deleting old data, and the metadata operation is one of changing metadata of a node and changing a tree structure.

10. The computer program product of claim 7 , further including a fifth executable portion for, in conjunction with the comparison, traversing the snapshot by comparing at least one of a tree structure, data, and metadata of the snapshot with objects in the target destination.

11. The computer program product of claim 7 , further including a fifth executable portion for, in conjunction with the user initiated replication of the selected objects, replicating the selected objects independent of an actual synchronized state of the selected objects.

12. The computer program product of claim 7 , further including a fifth executable portion for, in conjunction with the user initiated replication of the selected objects, replicating the selected objects independent of at least one of a replication procedure, a protocol, a file system layout, and an implementation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2012
From: AKIRAV, SHAY; BACHAR, YARIV; EDELSTEIN, RON; LEVY, ASAF; SONIN, ODED
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 028329/0336 →
Continuity (1)
Related Publication 20130325803A1 · Dec 5, 2013