Patent ID: 7836031

Claim:
A client-server system, including a processing unit and system memory, that detects a change in a registered database on the server and notifies a client application on the client of the change, comprising: a client comprising: a first client application that instantiates a table dependency object having a unique identifier and specifying a first database table of one or more database tables on the server, the table dependency object being associated with a dependency object; the dependency object that registers with a notification runtime service by providing the unique identifier of the table dependency object, and that notifies the first client application of changes to the first database table; and the notification runtime service that, in response to the registration, provides a delivery address to the dependency object, and in response to receiving notifications of changes to a database table, notifies the appropriate dependency object of the change; wherein the dependency object uses the table dependency object to register the first client application to receive notification of changes to the first database table by providing the first database table name, the unique identifier, and the delivery address to a listeners table; a server comprising: the listeners table that stores registration information representing client applications that are registered to receive notifications of changes to the one or more database tables, wherein the registration information includes an entry for the first client application including the first database table name, the unique identifier, and the deliver address; the one or more database tables; a trigger that is invoked in response to a change that occurs to the first database table of the one or more database tables, the trigger providing the name of the first database table that was changed to the listeners table, wherein upon receiving the name, the listeners table searches the registration information to locate any entries that include the name of the first database table, and upon locating the entry corresponding to the first client application, notifies a notification delivery service by providing the corresponding unique identifier and delivery address of the located entry; the notification delivery service that, upon receiving the corresponding unique identifier and delivery address of the located entry, notifies the notification runtime service of the change to the first database table by sending the unique identifier to the delivery address.