IP Library Granted Patent US 9,015,114
Granted Patent B2
US 9,015,114 · App. 13/842,833 · Granted Apr 21, 2015

Data synchronization in a cloud infrastructure

Inventors: Ramkrishna Chatterjee (Nashua, NH); Ramesh Vasudevan (Los Altos, CA); Anjani Kalyan Prathipati (Union City, CA); Gopalan Arun (Saratoga, CA)
Assignee: Oracle International Corporation
G06Q30/0633G06Q10/06315G06F17/30174G06Q30/0635G06F17/30575H04L41/00H04L43/0876H04L47/70H04L41/50H04L63/20G06Q10/0633H04L41/5041H04L41/5064
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,015,114
App. No.
13/842,833
Granted
Apr 21, 2015
Kind
B2
Abstract

A synchronization infrastructure that synchronizes data stored between components in a cloud infrastructure system is described. A first component in the cloud infrastructure system may store subscription information related to a subscription order which may in turn be utilized by a second component in the cloud infrastructure system to orchestrate the provisioning of services and resources for the order placed by the customer. The synchronization architecture utilizes transactionally consistent checkpoints that describe the state of the data stored in the components to synchronize the data between these components.

Claims (37)

1. A method comprising:

storing, by a first computing device of one or more computing devices comprising a cloud infrastructure system, a subscription order related to one or more services subscribed to by a customer, the service selected from one or more services provided by the cloud infrastructure system;

identifying, by the first computing device, one or more rows in a first data table having one or more checkpoint numbers that are greater than a first checkpoint number;

identifying, by the first computing device, from the one or more identified rows, a row with the maximum checkpoint number;

storing, by the first computing device, the maximum checkpoint number; and

transferring, by the first computing device, the one or more identified rows to a second computing device in the cloud infrastructure system, wherein information in the one or more identified rows is utilized by the second computing device to process the subscription order for the customer in the cloud infrastructure system.

2. The method of claim 1 wherein the one or more checkpoint numbers are identifiers that identity a state of data stored by the first computing device.

3. The method of claim 1 wherein identifying the one or more rows in the first data table comprises determining if the one or more checkpoint numbers in the one or more rows have changed with respect to a run time stored in the first computing device.

4. The method of claim 3 , wherein the run time identifies a time at which a last data synchronization operation was executed in the first computing device.

5. The method of claim 1 wherein transferring the one or more identified rows comprises transferring a new run number and a new run time related to the one or more identified rows to the second computing device.

6. The method of claim 1 further comprising receiving, by the second computing device, the one or more identified rows from the first computing device, wherein the one or more identified rows comprise a new run number and a new run time.

7. The method of claim 6 further comprising updating, by the second computing device, in a first interface table in the second computing device, the one or more identified rows, the new run number and the new run time.

8. A system comprising:

one or more computing devices configurable to provide one or more services;

a memory configurable to store subscription order information related to a subscription order ordering one or more services from the set of services; and

wherein a first computing device from the one or more computing devices is configurable to:

identify one or more rows in a first data table having one or more checkpoint numbers that are greater than a first checkpoint number;

identify from the one or more identified rows, a row with the maximum checkpoint number;

store the maximum checkpoint number; and

transfer the one or more identified rows to a second computing device from the one or more computing devices, wherein information in the one or more identified rows is utilized by the second computing device to process the subscription order for the customer in the cloud infrastructure system.

9. The system of claim 8 wherein the first computing device is configured to identify the one or more rows in the first data table by determining if the one or more checkpoint numbers in the one or more rows have changed with respect to a run time stored in the first computing device.

10. The system of claim 9 , wherein the run time identifies a time at which a last data synchronization operation was executed in the first computing device.

11. The system of claim 8 wherein the first computing device is configured to transfer the one or more identified rows by transferring a new run number and a new run time related to the one or more identified rows to the second computing device.

12. The system of claim 8 wherein the second computing device is configured to receive the one or more identified rows from the first computing device, wherein the one or more identified rows comprise a new run number and a new run time and update in a first interface table in the second computing device, the one or more identified rows, the new run number and the new run time.

13. The system of claim 12 wherein the second computing device is configured to identify one or more rows in one or more interface tables having a run number greater than a first run number recorded in a runs table for the first interface table in the second computing device.

14. The system of claim 13 wherein the second computing device is configured to identify a run number with the maximum value and store the run number with the maximum value in the runs table.

15. A computer-readable memory storing a plurality of instructions executable by one or more processors, the plurality of instructions comprising:

instructions that cause at least one processor from the one or more processors to store subscription order information related to a subscription order ordering one or more services from a set of services;

instructions that cause at least one processor from the one or more processors to identify one or more rows in a first data table having one or more checkpoint numbers that are greater than a first checkpoint number;

instructions that cause at least one processor from the one or more processors to identify from the one or more identified rows, a row with the maximum checkpoint number;

instructions that cause at least one processor from the one or more processors to store the maximum checkpoint number; and

instructions that cause at least one processor from the one or more processors to transfer the one or more identified rows to a second computing device, wherein information in the one or more identified rows is utilized by the second computing device to process the subscription order for the customer.

16. The computer-readable memory of claim 15 wherein the one or more checkpoint numbers are identifiers that identity a state of data stored by the first computing device.

17. The computer-readable memory of claim 15 wherein the instructions that cause at least one processor from the one or more processors to identify the one or more rows in the first data table comprise instructions to determine if the one or more checkpoint numbers in the one or more rows have changed with respect to a run time stored in a first computing device.

18. The computer-readable memory of claim 17 wherein the run time identifies a time at which a last data synchronization operation was executed in the first computing device.

19. The computer-readable memory of claim 15 wherein the instructions that cause at least one processor from the one or more processors to transfer the one or more identified rows comprise instructions to transfer a new run number and a new run time related to the one or more identified rows to the second computing device.

20. The computer-readable memory of claim 15 wherein the instructions comprise instructions to receive, by the second computing device, the one or more identified rows from a first computing device, wherein the one or more identified rows comprise a new run number and a new run time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2013
From: CHATTERJEE, RAMKRISHNA; VASUDEVAN, RAMESH; PRATHIPATI, ANJANI KALYAN; ARUN, GOPALAN
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 031061/0333 →
Continuity (4)
Provisional Application 61698413 · Sep 7, 2012
Provisional Application 61698459 · Sep 7, 2012
Provisional Application 61785299 · Mar 14, 2013
Related Publication 20140074788A1 · Mar 13, 2014