IP Library Granted Patent US 8,775,505
Granted Patent B2
US 8,775,505 · App. 12/799,900 · Granted Jul 8, 2014

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 8,775,505
App. No.
12/799,900
Granted
Jul 8, 2014
Kind
B2
Abstract

Event routing in a distributed computing system with distributed data management is optimized by communicating an event affecting 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 (34)

1. A method comprising:

receiving, by a primary server process executing on one or more computers, registration data from a second server process, the primary server process storing a datum and being configured to communicate with the second server process to provide services related to the datum, the registration data including a server identifier identifying the second server process and an indication that one or more application processes associated with the second server process each have an interest in one or more events affecting the datum;

storing a respective identifier of each of the one or more application processes and a representation of the interest in an application interest register associated with the second server process;

storing the registration data in an event register associated with the primary server process, the event register being different from the application interest register;

upon receiving, by the primary server process, an event affecting the datum, filtering the event register, including determining, according to the server identifier in the registration data, that the second server process is associated with at least one application process that is interested in the event;

in response to the determining, routing, by the primary server, the event to the second server process;

upon receiving the event, notifying, by the second server process, each of the one or more application processes of the event according to each identifier stored in the application interest register; and

notifying, by the primary server process, a backup server process of the event, the backup server process providing redundant storage for said datum.

2. The method of claim 1 wherein the interest is expressed as a regular expression, a list of data keys, or a structured query language (SQL) statement.

3. The method of claim 1 , wherein the primary server process executes in a virtual machine (VM) operating on the one or more computers.

4. The method of claim 1 , further comprising routing event from the backup server process to the second server process based on a copy of the event register, the copy of the event register being associated with the backup server process.

5. A non-transitory computer readable medium storing instructions operable to cause one or more computers to perform operations comprising:

receiving, by a primary server process executing on the one or more computers, registration data from a second server process, the primary server process storing a datum and being configured to communicate with the second server process to provide services related to the datum, the registration data including a server identifier identifying the second server process and an indication that one or more application processes associated with the second server process each have an interest in one or more events affecting the datum;

storing a respective identifier of each of the one or more application processes and a representation of the interest in an application interest register associated with the second server process;

storing the registration data in an event register associated with the primary server process, the event register being different from the application interest register;

upon receiving, by the primary server process, an event affecting the datum, filtering the event register, including determining, according to the server identifier in the registration data, that the second server process is associated with at least one application process that is interested in the event;

in response to the determining, routing, by the primary server, the event to the second server process;

upon receiving the event, notifying, by the second server process, each of the one or more application processes of the event according to each identifier stored in the application interest register; and

notifying, by the primary server process, a backup server process of the event, the backup server process providing redundant storage for said datum.

6. The non-transitory computer readable medium of claim 5 , wherein the interest is expressed as a regular expression, a list of data keys, or a structured query language (SQL) statement.

7. The non-transitory computer readable medium of claim 5 , the operations comprising routing event from the backup server process to the second server process based on a copy of the event register, the copy of the event register being associated with the backup server process.

8. A computer system comprising:

one or more computers; and

a non-transitory computer readable medium storing instructions operable to cause the one or more computers to perform operations comprising:

receiving, by a primary server process executing on the one or more computers registration data from a second server process, the primary server process storing a datum and being configured to communicate with the second server process to provide services related to the datum, the registration data including a server identifier identifying the second server process and an indication that one or more application processes associated with the second server process each have an interest in one or more events affecting the datum;

storing a respective identifier of each of the one or more application processes and a representation of the interest in an application interest register associated with the second server process;

storing the registration data in an event register associated with the primary server process, the event register being different from the application interest register;

upon receiving, by the primary server process, an event affecting the datum, filtering the event register, including determining, according to the server identifier in the registration data, that the second server process is associated with at least one application process that is interested in the event;

in response to the determining, routing, by the primary server, the event to the second server process;

upon receiving the event, notifying, by the second server process, each of the one or more application processes of the event according to each identifier stored in the application interest register; and

notifying, by the primary server process, a backup server process of the event, the backup server process providing redundant storage for said datum.

9. The computer system of claim 8 , wherein the interest is expressed as a regular expression, a list of data keys, or a structured query language (SQL) statement.

10. The computer system of claim 8 , wherein the primary server process executes in a virtual machine (VM) operating on the one or more computers.

11. The computer system of claim 8 , comprising routing event from the backup server process to the second server process based on a copy of the event register, the copy of the event register being associated with the backup server process.

Assignments (5)
MERGER Recorded May 20, 2026
From: PIVOTAL SOFTWARE, INC.
To: VMWARE LLC
Reel/Frame 075614/0184 →
CHANGE OF NAME Recorded Mar 28, 2014
From: GOPIVOTAL, INC.
To: PIVOTAL SOFTWARE, INC.
Reel/Frame 032566/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2013
From: VMWARE, INC.
To: GOPIVOTAL, INC.
Reel/Frame 030682/0694 →
MERGER Recorded May 4, 2011
From: GEMSTONE SYSTEMS, INC.
To: VMWARE, INC.
Reel/Frame 026221/0770 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2010
From: SCHUCHARDT, BRUCE J.; GINGADE, ANILKUMAR M.; MENON, SUDHIR
To: GEMSTONE SYSTEMS, INC.
Reel/Frame 024392/0038 →