Providing change notifications to an entity-regarding a change of a specific type to data in a relational database
First Claim
1. A computer-implemented method for providing change notifications to an entity-regarding a change of a specific type to data in a relational database, said method comprising:
- receiving entity registration information from an entity requesting notification of data change events in a relational database, said registration information comprising information identifying said entity, information regarding whether the entity is registered as a durable entity or non-durable entity, and information that specifies a specific type of change to data in the relational database for which notification is requested;
monitoring for an occurrence of said specific type of change to data in the relational database;
providing change notification data to said entity, by storing said change notification data in a queue, regarding a change in said relational database of said specific type for which notification is requested, wherein said queue comprises additional change notification information items, each of said additional change notification information items corresponding to said entity;
deleting any of said additional change notification information in said queue corresponding to said entity, when said entity is registered as a non-durable entity and a connection to said entity is terminated;
when said entity is registered as a durable entity;
determining that a connection to said entity is terminated;
determining that a new connection to said entity exists; and
providing said additional change notification information items corresponding to said entity using said new connection;
persistently maintaining the entity registration information for said entity across a plurality of sessions, if said entity is registered as a durable entity; and
removing the entity registration for said entity after termination of a session for which the entity registration information was created, if said entity is registered as a non-durable entity.
2 Assignments
0 Petitions
Accused Products
Abstract
A framework for data change notification includes a notification queue storing event notifications. Client applications can request event information regarding various data change events. For example, a client application can subscribe, via one or more APIs, to receive event information. The framework allows for session specific event notification mechanisms as well as durable event notification mechanisms that can be preserved across client sessions as well as server restarts. Innovative aspects of this invention include guaranteed delivery of event notifications, APIs to allow applications get summary of past events on the subscribed objects, automatic garbage collection/cleanup of notifications when a client session terminates.
-
Citations
11 Claims
-
1. A computer-implemented method for providing change notifications to an entity-regarding a change of a specific type to data in a relational database, said method comprising:
-
receiving entity registration information from an entity requesting notification of data change events in a relational database, said registration information comprising information identifying said entity, information regarding whether the entity is registered as a durable entity or non-durable entity, and information that specifies a specific type of change to data in the relational database for which notification is requested; monitoring for an occurrence of said specific type of change to data in the relational database; providing change notification data to said entity, by storing said change notification data in a queue, regarding a change in said relational database of said specific type for which notification is requested, wherein said queue comprises additional change notification information items, each of said additional change notification information items corresponding to said entity; deleting any of said additional change notification information in said queue corresponding to said entity, when said entity is registered as a non-durable entity and a connection to said entity is terminated; when said entity is registered as a durable entity; determining that a connection to said entity is terminated; determining that a new connection to said entity exists; and providing said additional change notification information items corresponding to said entity using said new connection; persistently maintaining the entity registration information for said entity across a plurality of sessions, if said entity is registered as a durable entity; and removing the entity registration for said entity after termination of a session for which the entity registration information was created, if said entity is registered as a non-durable entity. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system implemented at least in part on a processor, comprising:
-
subscription table storage storing entity registration information regarding an entity requesting notification of a change event in a database, said registration information comprising information identifying said entity, information regarding whether said entity is registered as a durable entity or a non-durable entity, and change information regarding at least one change definition, said change definition defining one or more possible changes to said database for which notification is requested by said entity; a notification dispatcher, said notification dispatcher operatively connected to said subscription table storage, said notification dispatcher operatively connected to said database, and said notification dispatcher querying said database for database changes pertaining to said change definitions and receiving data regarding a pertinent change; and a notifier, operatively connected to said notification dispatcher, said notifier operatively connected to said entity, said notifier providing at least one notification regarding said pertinent change to said entity during a current session for which the entity registration information was created, wherein; said notifier comprises a queue storing at least one of said at least one notification regarding said pertinent change; said queue receives queries from said entity; said provision of at least one notification regarding said pertinent change is in response to said query; the entity registration information for said entity is persistently maintained in the subscription table storage after termination of the current session, if said entity is registered as a durable entity; and the entity registration for said entity is removed from the subscription table storage after termination of the current session, if said entity is registered as a non-durable entity. - View Dependent Claims (7)
-
-
8. A computer-readable storage medium comprising computer-executable instructions that are executable by a computer for performing the steps of:
-
receiving entity registration information from an entity requesting notification of data changes in a relational database, said registration information comprising information identifying said entity, information regarding whether said entity is registered as a durable entity or a non-durable entity, and information that specifies a specific type of change to data in the relational database for which notification is requested; monitoring for an occurrence of said specific type of change to data in the relational database; providing change notification data to said entity, by storing said change notification data in a queue, regarding a change in said relational database of said specific type for which notification is requested, wherein said queue comprises additional change notification information items, each of said additional change notification information items corresponding to said entity; deleting any of said additional change notification information in said queue corresponding to said entity, when said entity is registered as a non-durable entity and a connection to said entity is terminated; when said entity is registered as a durable entity; determining that a connection to said entity is terminated; determining that a new connection to said entity exists; and providing said additional change notification information items corresponding to said entity using said new connection; persistently maintaining the entity registration information for said entity across a plurality of sessions, if said entity is registered as a durable entity; and removing the entity registration for said entity after termination of a session for which the entity registration information was created, if said entity is registered as a non-durable entity. - View Dependent Claims (9, 10, 11)
-
Specification