IP Library Granted Patent US 9,514,208
Granted Patent B2
US 9,514,208 · App. 14/024,181 · Granted Dec 6, 2016

Method and system of stateless data replication in a distributed database system

Inventors: Vekatachary Srinivasan (Sunnyvale, CA); Sunil Sayyaparaju (Vedureswaram, IN); Rajkumar Iyer (Bangalore, IN)
G06F17/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,514,208
App. No.
14/024,181
Granted
Dec 6, 2016
Kind
B2
Abstract

In one exemplary embodiment, a method includes the step of executing, with at least one processor, a main database node server in a source-database node of a source-database cluster. The main database node server manages database server operations. The main database node server communicates a source-database cluster state and a specified server operation metadata to a data-shipping daemon. The specified server operation metadata, includes an information about server operation occurring on the source-database node. Another step includes executing a data-shipping daemon in the source-database node. The data-shipping daemon receives the specified server operation metadata and stores the specified server operation metadata in a digest log. The data log includes a file of the specified server operation metadata. The data-shipping daemon reads the digest log and communicate data referred to in the specified server operation metadata in the digest log to a destination database node in a destination database cluster.

Claims (31)

1. A computerized distributed database system comprising:

a main database node server executing, with at least one processor, in a source-database node of a source-database duster, wherein the main database node server manages database server operations, and wherein the main database node server communicates a source-database cluster state and a specified server operation metadata to a data-shipping daemon, wherein the specified server operation metadata comprises an information about server operation occurring, on the source-database node;

a data-shipping daemon executing in the source-database node, wherein the data-shipping daemon comprises, and wherein the data-shipping daemon further comprises:

a failure-handling module that resumes an operation of the data-shipping daemon at a substantially current point of the digest log in the event of a recovery of the source-database node from a failed state, and that takes responsibility of shipping of data for other source-database cluster nodes which are not currently present in the source-database cluster, wherein the digest log comprises a ring-buffer,

wherein the ring-buffer comprises a most recent specified server operation metadata, and wherein the digest logger overwrites the oldest specified server operation metadata when the ring buffer is full, and

wherein the data-shipping daemon further comprises:

an event logger for receiving a database event information from the destination database node over a named pipe and for storing the database event information in an event log;

an event processor for reading the event logs and for messaging an event-queue manager to execute the asynchronous database trigger functions, and

an event-queue manager or managing an event queue, wherein the event queue, comprises a list of asynchronous database trigger functions, and wherein the event-queue manager calls an asynchronous database trigger function based on an order of the event queue;

a digest logger receiving the specified server operation metadata and storing the specified server operation metadata in a digest log, and wherein the data log comprises a file of the specified server operation metadata; and

a data shipper module reading the digest log and communicate data referred to in the specified server operation metadata in the digest log to a destination database node in a destination database cluster.

2. The computerized-database system of claim 1 , wherein the specified server operation metadata comprises a key digest comprising information about a write operation or an update operation and does not comprise a record of the write operation or the update operation.

3. The computerized-database system of claim 2 , wherein an asynchronous database trigger comprises the destination database node operation detected by the event logger via an exposed interface in a client executing in the destination database node.

4. The computerized-database system of claim 3 , wherein the event log comprises a pluggable-persistent store.

5. The computerized-database system of claim 4 , wherein the event-queue manager throttles a data shipping rates based on a dynamically configurable setting.

6. The computerized-database system of claim 1 ,

wherein the source-database node is in an active mode,

wherein the destination database node and one or more other destination nodes comprise a set of peripheral nodes, and

wherein a name of the destination database node and one or more other destination nodes is specified by a namespace section.

7. The computerized-database system of claim 6 , wherein an active-active mode conflict write resolution policy comprises a monotonically-increasing number associated incremented each time a particular record is updated and wherein a higher-generation record is selected over a lower-generation record, and wherein when at least two record generations are equal then the active-active mode conflict write resolution policy further comprises selecting a later time-stamped record over an earlier time-stamped record.

8. A method comprising:

executing, with at least one processor, a main database node server in a source-database node of a source-database cluster, wherein the main database node server manages database server operations, and wherein the main database node server communicates a source-database cluster state and a specified server operation metadata to a data-shipping daemon, wherein the specified server operation metadata comprises an information about server operation occurring on the source-database node, wherein the specified server operation metadata comprises a key digest comprising information about a write operation or an update operation and does not comprise a record associated the write operation or the update operation;

executing a data-shipping daemon in the source-database node, wherein the data-shipping daemon, wherein the data-shipping daemon resumes operating at a substantially current point of the digest log in the event of a recovery of the source database node from a failed state, wherein the data-shipping daemon receives a database event information from the destination database node over a named pipe and stores the database event information in an event log;

receives the specified server operation metadata and stores the specified server operation metadata in a digest log, and wherein the data log comprises a file of the specified server operation metadata, wherein the digest log comprise a ring-buffer, and wherein the ring-buffer comprises a most recent specified server operation metadata, and wherein the digest logger overwrites the oldest specified server operation metadata when the ring buffer is full;

reads the digest log and communicate data referred to in the specified server operation metadata in the digest log to a destination database node in a destination database cluster;

generates an event queue, wherein the event queue comprises a list of asynchronous database trigger functions; and

calls an asynchronous database trigger function based on an order of the event queue.

9. The method of claim 8 , wherein the data-shipping daemon,

reads the event bus and messages an event-queue manager to execute the asynchronous database trigger function.

10. The method of claim 9 , wherein the data-shipping daemon,

manages the event queue, wherein the event queue comprises a list of asynchronous database trigger functions, and wherein the event-queue manager calls an asynchronous database trigger function based, on an order of the event queue.

Assignments (4)
SECURITY INTEREST Recorded Sep 4, 2024
From: AEROSPIKE, INC.
To: CANADIAN IMPERIAL BANK OF COMMERCE, AS ADMINISTRATIVE AGENT
Reel/Frame 068479/0616 →
RELEASE OF SECURITY INTEREST Recorded Aug 27, 2024
From: ACQUIOM AGENCY SERVICES LLC
To: AEROSPIKE, INC.
Reel/Frame 068408/0094 →
SECURITY INTEREST Recorded Dec 29, 2021
From: AEROSPIKE, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 058502/0586 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2019
From: SRINIVASAN, VENKATACHARY; IYER, RAJKUMAR; SAYYAPARAJU, SUNIL
To: AEROSPIKE INC.
Reel/Frame 048887/0328 →
Continuity (1)
Related Publication 20150074052A1 · Mar 12, 2015