| US 7,526,551 B1 | ||
| System and method for highly available timer service in a J2EE cluster | ||
| Akm N. Islam, Santa Clara, Calif. (US); Sreeram Duvur, Fremont, Calif. (US); Satish C. Viswanatham, San Francisco, Calif. (US); Kenneth D. Saks, Mountain View, Calif. (US); Kenneth Ebbs, Los Altos, Calif. (US); and Mark A. Basler, Milpitas, Calif. (US) | ||
| Assigned to Sun Microsystems, Inc., Santa Clara, Calif. (US) | ||
| Filed on Oct. 01, 2003, as Appl. No. 10/676,635. | ||
| Int. Cl. G06F 15/173 (2006.01) | ||
| U.S. Cl. 709—226 [709/225; 709/219; 709/229; 370/252; 370/386; 370/242; 370/216] | 18 Claims |

| 1. A system, comprising:
a plurality of servers in a cluster, wherein each server comprises a respective timer service of a plurality of timer services
and is configured to execute one or more application instances; and
a failure detection service operable to detect a failure in the plurality of servers in the cluster;
wherein each given timer service of said plurality of timer services is operable to:
service timer requests from the one or more application instances on the respective server that comprises said given timer
service;
in response to the failure detection service detecting a failure of an other timer service of said plurality of timer services
on an other server of said plurality of servers, take over one or more pending timer requests of the other timer service,
wherein, prior to the failure detection service detecting said failure, said one or more pending timer requests are designated
to be serviced by said other timer service in the cluster;
wherein upon taking over the one or more pending timer requests from said other timer service, the given timer service is
operable to service said one or more pending timer requests by providing one or more missed timer notifications to one or
more of the application instances, wherein each given timer service configured to take over the one or more pending timer
requests from said other timer service is operable to service said one or more pending timer requests by delivering one or
more missed timer notifications to a fail-over application instance; and
service the one or more pending timer requests taken over by the given timer service.
|