Patent ID: 7519652

Claim:
A fault-tolerant computer system including a distributed application server comprising: a cluster of two or more application server nodes in a peer configuration, the application server nodes deployed on one or more computing devices, wherein there is no single point of failure in the cluster; a cluster membership message stream having as membership each node; and one or more additional message streams, the one or more additional message streams each having as members one or more of the nodes, wherein each node maintains a continuous view of the membership of each message stream it is a member of, by receiving messages on the message stream that indicate changes in stream membership as nodes join and leave the cluster; wherein the cluster membership message stream and the one or more additional message streams each comprise a plurality of messages propagated through the associated nodes, wherein the application server implements a plurality of distributed functions as a set of deterministic local functions in the nodes on the application server, the local functions being associated with a set of the message streams, wherein each node provides the same set of functions as every other node, and wherein upon receipt of an event by the cluster, the cluster processes the event using distributed functions associated with the individual nodes and using local functions that determine which of the message streams the event should be assigned based on message stream associations, a local history of events accepted and processed so far, and rules for event processing and load balancing.