Patent ID: 7028030

Claim:
A computer implemented method for updating a data item in a cluster of application servers, comprising: processing an update request on an application server of a cluster of application servers, the application server storing a local copy of a data item at a local cache to be used in processing the request; sending a predicated update request to a database containing the data item, whereby the database updates the data item if the local copy at the local cache is current with the data item before the update, and whereby the database does not update the data item if the local copy is not current with the data item before the update; requesting a current copy of the data item for the application server and sending another predicated update if the local copy is not current with the data item in the database, the step of requesting a current copy and sending another predicated update continuing until the database updating the data item and the method being terminated; and notifying other application servers in the cluster of application servers that the data has been updated, further comprising at least one of the additional limitations (a)–(f) (a) multicasting an update message to the other application servers in the cluster of application servers that might be storing a local copy of the data item, as part of the notifying step; (b) multicasting a version number for the data item to the other application servers in the cluster of application servers after the data item is updated, as part of the notifying step; (c) contacting one of the other application servers in the cluster of application servers by a point-to-point connection to indicate that the data item has been updated, as part of the notifying step; (d) heartbeating the version number for the data item to the other application servers in the cluster of application servers after the data item is updated, as part of the notifying step; (e) dropping a local copy of the data item on one of the other application servers in the cluster of application servers after being notified that the data item has been updated; (f) requesting an updated copy of the data item to one of the other application servers in the cluster of application servers after being notified that the data item has been updated.