IP Library Granted Patent US 9,892,186
Granted Patent B2
US 9,892,186 · App. 15/182,947 · Granted Feb 13, 2018

User initiated replication in a synchronized object replication system

Inventors: Shay H. Akirav (Petach-Tikva, IL); Yariv Bachar (Kibbutz Ma'abarot, IL); Ron Edelstein (Tel Aviv, IL); Asaf Levy (Rishon Le Zion, IL); Oded Sonin (Omer, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F17/30581G06F11/1451G06F11/1464G06F17/30327G06F17/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,892,186
App. No.
15/182,947
Granted
Feb 13, 2018
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. 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. One of the selected objects is retrieved in an ordered manner from the snapshot. An object identification (ID) and a state ID are sent to the target destination and used to locate and compare the selected object with a current state of the selected object in the target destination.

Claims (34)

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,

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,

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 adding the snapshot replication job to an end of a replication queue to await execution for the synchronized object replication; and

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.

3. 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.

4. The system of claim 3 , 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.

5. 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.

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 an actual synchronized state of the selected objects.

7. 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.

8. 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 non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:

an 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;

an 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; and

an 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.

9. The computer program product of claim 8 , further including an executable portion for adding the snapshot replication job to an end of a replication queue to await execution for the synchronized object replication; and

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.

10. The computer program product of claim 8 , further including an 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.

11. The computer program product of claim 10 , further including an 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.

12. The computer program product of claim 8 , further including an 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.

13. The computer program product of claim 8 , further including an 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.

14. The computer program product of claim 8 , further including an 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 15, 2016
From: AKIRAV, SHAY H.; BACHAR, YARIV; EDELSTEIN, RON; LEVY, ASAF; SONIN, ODED
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038919/0049 →
Continuity (2)
Continuation 13489383 · Jun 5, 2012
Related Publication 20160292253A1 · Oct 6, 2016