IP Library Granted Patent US 8,612,385
Granted Patent B2
US 8,612,385 · App. 12/254,842 · Granted Dec 17, 2013

Database replication system

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 8,612,385
App. No.
12/254,842
Granted
Dec 17, 2013
Kind
B2
Abstract

A method and apparatus for updating a slave system in a multi-master replication network is provided. The method involves executing a first event on a first master system within the multi-master replication network and executing a second event on a second master system in the multi-master replication network, where the first event and the second event are identical. The method further involves selecting an event from the first event and the second event and executing the selected event on a slave system.

Claims (42)

1. A method for executing an event in a multi-master replication network, comprising:

monitoring events executed on a first master system in a multi-master replication network and identifying occurrence of a first event executed on the first master system;

replicating the first event to a second master system in the multi-master replication network and executing the replicated first event on the second master system as a second event;

monitoring events executed on the second master system and identifying occurrence of the second event executed on the second master system;

determining the first event and the second event to be identical;

selecting, by a slave system, a first occurring event of the first event and the second event for execution on the slave system in the multi-master replication network without selecting the other event of the first event and the second event for execution on the slave system in response to determining that the first event and second event are identical, the slave system is a slave of both the first master system and the second master system, and selecting the first occurring event comprises:

designating the first master system as an originating system based on the first master system receiving a request from a client system to execute the first event, and

identifying the selected first occurring event based on the originating system; and

executing, by the slave system, the selected event.

2. The method of claim 1 , further comprising:

forwarding the selected first occurring event by an intermediate system to the slave system prior to executing the selected first occurring event on the slave system.

3. The method of claim 1 , wherein execution of the first event on the first master system comprises modifying a first data repository associated with the first master system, wherein execution of the second event on the second master system comprises modifying a second data repository associated with the second master system, and wherein executing the selected first occurring event on the slave system comprises modifying a third data repository associated with the slave system.

4. The method of claim 3 , wherein the slave system receives the selected first occurring event using a MySQL protocol.

5. The method of claim 4 , wherein the data repository associated with the slave system comprises a MySQL database, and wherein modifying the data repository associated with the slave system comprises updating the MySQL database based on the information.

6. An apparatus for executing an event in a multi-master replication network comprising:

one or more subsystems implemented at least partially in hardware, configured to monitor events executed on a first master system in a multi-master network and identify occurrence of a first event executed on the first master system;

one or more subsystems implemented at least partially in hardware, configured to replicate the first event to a second master system in the multi-master replication network and execute the replicated first event on the second master system as a second event;

one or more subsystems implemented at least partially in hardware, configured to monitor events executed on the second master system and identify occurrence of the second event executed on the second master system;

one or more subsystems implemented at least partially in hardware, configured to determine the first event and the second event to be identical;

one or more subsystems implemented at least partially in hardware, configured to select, by a slave system, a first occurring event of the first event and the second event for execution on the slave system without selecting the other event of the first event and the second event for execution on the slave system in response to determination that the first event and the second event are identical, the slave system is a slave of both the first master system and the second master system, and selection of the first occurring event comprises:

one or more subsystems implemented at least partially in hardware, configured to designate the first master system as an originating system based on the first master system receiving a request from a client system to execute the first event, and

one or more subsystems implemented at least partially in hardware, configured to identify the selected first occurring event based on the originating system; and

one or more subsystems implemented at least partially in hardware, configured to execute, by the slave system, the selected event.

7. The apparatus of claim 6 , further comprising:

one or more subsystems implemented at least partially in hardware, configured to forward the selected first occurring event to the slave system prior to the slave system executing the selected first occurring event.

8. The apparatus of claim 6 , wherein execution of the first event by the first master system comprises modifying a first data repository associated with the first master system, wherein execution of the second event by the second master system comprises modifying a second data repository associated with the second master system, and wherein execution of the selected first occurring event by the slave system comprises modifying a third data repository associated with the slave system.

9. The apparatus of claim 8 , wherein the slave system obtains the selected first occurring event using a MySQL protocol.

10. The apparatus of claim 9 , wherein the data repository associated with the slave system comprises a MySQL database, and wherein modifying the data repository associated with the slave system comprises updating the MySQL database based on the information.

11. A non-transitory computer readable medium storing software instructions for executing an event in a multi-master replication network, the software instructions comprising:

monitoring events executed on a first master system in a multi-master replication network and identifying occurrence of a first event executed on the first master system;

replicating the first event to a second master system in the multi-master replication network and executing the replicated first event on the second master system as a second event;

monitoring events executed on the second master system and identifying occurrence of the second event executed on the second master system;

determining the first event and the second event to be identical;

selecting, by a slave system, a first occurring event of the first event and the second event for execution on the slave system in the multi-master replication network without selecting the other event of the first event and the second event for execution on the slave system in response to determining that the first event and second event are identical, the slave system is a slave of both the first master system and the second master system, and selecting the first occurring event comprises:

designating the first master system as an originating system based on the first master system receiving a request from a client system to execute the first event, and

identifying the selected first occurring event based on the originating system; and

executing, by the slave system, the selected event.

12. The non-transitory computer readable medium of claim 11 , wherein the instructions further comprises:

forwarding the selected first occurring event by an intermediate system to the slave system prior to executing the selected first occurring event on the slave system.

13. The non-transitory computer readable medium of claim 11 , wherein execution of the first event on the first master system comprises modifying a first data repository associated with the first master system, wherein execution of the second event on the second master system comprises modifying a second data repository associated with the second master system, and wherein executing the selected first occurring event on the slave system comprises modifying a third data repository associated with the slave system.

14. The non-transitory computer readable medium of claim 13 , wherein the slave system receives the selected first occurring event using a MySQL protocol.

15. The non-transitory computer readable medium of claim 14 , wherein the data repository associated with the slave system comprises a MySQL database, and wherein modifying the data repository associated with the slave system comprises updating the MySQL database based on the information.

Assignments (10)
CHANGE OF NAME Recorded Sep 27, 2024
From: TIVO SOLUTIONS INC.
To: ADEIA MEDIA SOLUTIONS INC.
Reel/Frame 069067/0510 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 25, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: TIVO SOLUTIONS INC.
Reel/Frame 051109/0969 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
CHANGE OF NAME Recorded Feb 14, 2017
From: TIVO INC.
To: TIVO SOLUTIONS INC.
Reel/Frame 041714/0500 →
SECURITY INTEREST Recorded Dec 7, 2016
From: TIVO SOLUTIONS INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041076/0051 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2008
From: SCHINE, GABRIEL
To: TIVO INC.
Reel/Frame 021725/0589 →