IP Library Granted Patent US 9,229,890
Granted Patent B2
US 9,229,890 · App. 13/457,497 · Granted Jan 5, 2016

Method and a system for integrating data from a source to a destination

Inventors: Sandeep Jain (Palo Alto, CA); Prakash Chandra Tiwary (Gurgaon, IN)
Assignees: SANDEEP JAIN; PRAKASH CHANDRA TIWARY
G06F13/22G06F17/30008G06F17/30575
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,229,890
App. No.
13/457,497
Granted
Jan 5, 2016
Kind
B2
Abstract

The embodiments herein provide a system and a method for integrating a data from a source to a destination. The method comprises generating a global-id, setting an event-id corresponding to an entity id in the global id, polling a data from a source, sorting changes of a source system based on a time of update and an entity id, creating and comparing an old as of state value and a new as of state value for each field for each update in the entity in the source and destination to detect a conflict on an entity, sending a time of update in the entity and a revision id of a change to the destination, comparing the global id with an event id for each entity at the destination to detect a presence of an entity in the destination and processing an entity at the destination based an event id.

Claims (35)

1. A method for integrating data from a source system to a destination system, said method comprising the following steps:

generating a global-id by concatenating a source system name corresponding to an entity, and a corresponding entity project id and a corresponding entity id;

setting an event-id corresponding to the entity id present in the global id;

polling data from a plurality of entities of the source system;

sorting a plurality of updates to the plurality of entities of the source system based on a time of update and a corresponding entity id;

creating au old state value for each update on each of the plurality of entities in the source system;

creating a new state value for each update on each of a plurality of entities in the destination system;

sending an event to the destination system with the old state value and the new state value for each of a plurality of entities;

comparing the old state value and the new state value for each of the updates to detect a conflicts on the plurality of entities in the destination system;

sending a time of update of the plurality of entities and a revision id of a change to the destination system;

comparing the global id with the event id for each entity, at the source system to detect a presence of the corresponding entity in the destination system;

processing the plurality of entities at the destination system based on the event id; and

synchronizing the entities at the destination system with the corresponding entities at the source system.

2. The method according to claim 1 wherein the step of processing the entity at the destination system comprises the following steps:

executing a main transaction process for the entity, said main transaction process having the same global id as the entity thereof, and wherein the main transaction process is an update process for the entity;

dividing the update process for the entity into a plurality of sub transactions;

assigning a sub-step number to each sub transaction the update process;

comparing a time of revision of a last update value in the source system with time of revision of a last update value in the destination system;

processing the entity at the destination system based on a comparison of the time revision of the last update value in the source system with the time of revision of the last update value in the destination system; and

creating a new entity with an event id equal to the global id, when no entity is found in the destination, system with said global id.

3. The method of claim 2 , wherein a step of processing the entity at the destination system based on a comparison of the time of revision of the last update value in the source system with the time of revision of the last update value in the destination system, further comprises the following steps:

updating the entity at the destination system, when the time of revision of the last update value in the source system is greater than the time of revision of the last update value in the destination system and the global id is equal to the event id of the entity;

comparing the sub-step number assigned to a sub transaction corresponding to a last update process in the source System with the sub-step number assigned to a sub transaction corresponding to a last update process in the destination system, when the time of revision of the last update value in the source system is smaller than or equal to the time of revision of the last update value in the destination system; and

performing a sub transaction of the update process.

4. The method as claimed in claim 3 , wherein the step of performing a sub transaction of the update process comprises:

processing a sub transaction of the update process, when the sub-step number assigned to a sub transaction corresponding to the last update process in the source system is greater than the sub-step number assigned to a sub transaction corresponding to the last update process in the destination system; and

proceeding to the next step in the update process when the sub-step number assigned to a sub transaction corresponding to the last update process in the source system is smaller than the sub-step number assigned to a sub transaction corresponding to the last update process in the destination system.

5. The method as claimed in claim 1 , wherein the step of creating an old value for each update in the entity in the source system comprises the following steps:

initializing a temporary variable for each field, for each update in the entity in the source system;

fetching all updates for the entity in the source system from a history of the source system created on or after an initial time;

iterating all updates for the entity in the source system in a descending order of update time for the entity in the source system, wherein the temporary variable of each field for each update in the source system is assigned as the old value.

6. The method of claim 1 , wherein a step of creating a new value for each field, for each update in the entity in the destination system comprises the following steps:

initializing a temporary variable for each field, for each update in the entity in the destination system;

fetching all updates for the entity in the destination system from a history of the destination system created on or after an initial time;

iterating all updates for the entity in the destination system in descending order of update time for the entity in the destination system, wherein the temporary variable of each field in each update in the destination is assigned as the new state value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2022
From: JAIN, SANDEEP; TIWARY, PRAKASH CHANDRA
To: OPSHUB INC.
Reel/Frame 061723/0463 →
Continuity (2)
Provisional Application 61480291 · Apr 28, 2011
Related Publication 20130117229A1 · May 9, 2013