IP Library Granted Patent US 9,203,692
Granted Patent B1
US 9,203,692 · App. 14/323,988 · Granted Dec 1, 2015

Optimized event routing in distributed data management

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,203,692
App. No.
14/323,988
Granted
Dec 1, 2015
Kind
B1
Abstract

Event routing in a distributed computing system with distributed data management is optimized by communicating events a datum only to either backup server processes or server processes respectively associated with an application process having an interest in an event affecting the datum.

Claims (49)

1. A method, comprising:

storing, by a primary server process executing on a first node of a distributed computing system, a data item and an event register, the event register comprising a plurality of data records, each of the data record comprising an event identifier, an application identifier, a server process identifier, an application process identifier, and an interest indicator,

wherein, in each data record:

the event identifier of the data record represents an event that may affect the data item;

the server process identifier represents a secondary server process executing on a second node of the distributed computing system, the secondary server process having registered with the primary server process;

the application process identifier represents an application process executing on the second node and being in communication with or associated with the secondary server process; and

the interest indicator indicating whether the application process requests notification when the data item is affected by the event represented by the event identifier in the data record; and

wherein at least one secondary server process represented in the event register is a backup server process; and

upon occurrence of a first event having a first event identifier, filtering the event register by the primary server process, the filtering comprising:

notifying each secondary server process represented in a data record in the event register where, as indicated by the interest indicator in the data record, an associated application process represented in the data record requests notification when the first event represented by the first event identifier affects the data item; and

notifying the backup server process regardless of values of any interest indicator associated with an identifier of the backup server process,

wherein the distributed computing system comprises one or more processors.

2. The method of claim 1 , wherein each event represented in the event register is one of a modification of the data item, a deletion of the data item, or an addition of the data item to the system.

3. The method of claim 1 , wherein the backup server process stores, on a backup node, a copy of the event register.

4. The method of claim 3 , comprising, upon failure of the primary server process, performing actions of the primary server process by the backup server process, including filtering the copy of the event register by the backup server process.

5. The method of claim 1 , wherein notifying each secondary server process and the backup server process comprises transmitting the first event to each respective server process.

6. A non-transitory storage device storing instructions operable to cause a one or more computers to perform operations comprising:

storing, by a primary server process executing on a first node of a distributed computing system, a data item and an event register, the event register comprising a plurality of data records, each of the data record comprising an event identifier, an application identifier, a server process identifier, an application process identifier, and an interest indicator,

wherein, in each data record:

the event identifier of the data record represents an event that may affect the data item;

the server process identifier represents a secondary server process executing on a second node of the distributed computing system, the secondary server process having registered with the primary server process;

the application process identifier represents an application process executing on the second node and being in communication with or associated with the secondary server process; and

the interest indicator indicating whether the application process requests notification when the data item is affected by the event represented by the event identifier in the data record; and

wherein at least one secondary server process represented in the event register is a backup server process; and

upon occurrence of a first event having a first event identifier, filtering the event register by the primary server process, the filtering comprising:

notifying each secondary server process represented in a data record in the event register where, as indicated by the interest indicator in the data record, an associated application process represented in the data record requests notification when the first event represented by the first event identifier affects the data item; and

notifying the backup server process regardless of values of any interest indicator associated with an identifier of the backup server process,

wherein the distributed computing system comprises one or more processors.

7. The non-transitory storage device of claim 6 , wherein each event represented in the event register is one of a modification of the data item, a deletion of the data item, or an addition of the data item to the system.

8. The non-transitory storage device of claim 6 , wherein the backup server process stores, on a backup node, a copy of the event register.

9. The non-transitory storage device of claim 8 , the operations comprising, upon failure of the primary server process, performing actions of the primary server process by the backup server process, including filtering the copy of the event register by the backup server process.

10. The non-transitory storage device of claim 6 , wherein notifying each secondary server process and the backup server process comprises transmitting the first event to each respective server process.

11. A distributed computing system comprising:

one or more processors;

a non-transitory storage device storing instructions operable to cause a one or more processors to perform operations comprising:

storing, by a primary server process executing on a first node of a distributed computing system, a data item and an event register, the event register comprising a plurality of data records, each of the data record comprising an event identifier, an application identifier, a server process identifier, an application process identifier, and an interest indicator,

wherein, in each data record:

the event identifier of the data record represents an event that may affect the data item;

the server process identifier represents a secondary server process executing on a second node of the distributed computing system, the secondary server process having registered with the primary server process;

the application process identifier represents an application process executing on the second node and being in communication with or associated with the secondary server process; and

the interest indicator indicating whether the application process requests notification when the data item is affected by the event represented by the event identifier in the data record; and

wherein at least one secondary server process represented in the event register is a backup server process; and

upon occurrence of a first event having a first event identifier, filtering the event register by the primary server process, the filtering comprising:

notifying each secondary server process represented in a data record in the event register where, as indicated by the interest indicator in the data record, an associated application process represented in the data record requests notification when the first event represented by the first event identifier affects the data item; and

notifying the backup server process regardless of values of any interest indicator associated with an identifier of the backup server process.

12. The system of claim 11 , wherein each event represented in the event register is one of a modification of the data item, a deletion of the data item, or an addition of the data item to the system.

13. The system of claim 11 , wherein the backup server process stores, on a backup node, a copy of the event register.

14. The system of claim 13 , the operations comprising, upon failure of the primary server process, performing actions of the primary server process by the backup server process, including filtering the copy of the event register by the backup server process.

15. The system of claim 11 , wherein notifying each secondary server process and the backup server process comprises transmitting the first event to each respective server process.

Assignments (5)
MERGER Recorded May 20, 2026
From: PIVOTAL SOFTWARE, INC.
To: VMWARE LLC
Reel/Frame 075613/0980 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2015
From: SCHUCHARDT, BRUCE; GINGADE, ANILKUMAR M.; MENON, SUDHIR
To: GEMSTONE SYSTEMS, INC.
Reel/Frame 036199/0863 →
MERGER Recorded Jul 22, 2015
From: GEMSTONE SYSTEMS, INC.
To: VMWARE, INC.
Reel/Frame 036157/0787 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2015
From: VMWARE, INC.
To: GOPIVOTAL, INC.
Reel/Frame 036157/0826 →
CHANGE OF NAME Recorded Jul 22, 2015
From: GOPIVOTAL, INC.
To: PIVOTAL SOFTWARE, INC.
Reel/Frame 036160/0352 →