Fast application notification in a clustered computing system
First Claim
1. A method for communicating changes about a clustered computing environment that comprises a plurality of interconnected nodes that host clustered server instances, comprising the computer-implemented steps of:
- an application client establishing one or more sessions with a server instance performing work within a cluster, said server instance being one of said clustered server instances;
wherein said application client resides outside of said cluster;
wherein said server instance is an allocation of resources of a particular node for performing said work, and said session requests performing said work;
in response to establishing a session with said server instance, said application client generating session identification information that identifies a resource and a session for which said resource performs work;
in response to a status change to said resource, generating first data that identifies said resource and second data that indicates a status of said resource;
publishing said first data and said second data to a set of one or more subscribers, including said application client, wherein said publishing transmits on an out-of-band connection that is different from a connection used by the one or more sessions; and
in response to receiving said first data and said second data over said out-of-band connection, said application client using said first data, said second data, and said session identification information to identify one or more sessions affected by said status change;
wherein the steps are performed by a plurality of computers.
1 Assignment
0 Petitions
Accused Products
Abstract
With fast notification of changes to a clustered computing system, through which a number of events are published for system state changes, applications can quickly recover and sessions can quickly be rebalanced. When a resource associated with a service experiences a change in status, such as a termination or a start/restart, a notification event is immediately published. Notification events contain information to enable subscribers to identify, based on matching a session signature, the particular sessions that are affected by the change in status, and to respond accordingly. This allows sessions to be quickly aborted and ongoing processing to be quickly terminated when a resource fails, and allows fast rebalancing of work when a resource is restarted.
91 Citations
48 Claims
-
1. A method for communicating changes about a clustered computing environment that comprises a plurality of interconnected nodes that host clustered server instances, comprising the computer-implemented steps of:
-
an application client establishing one or more sessions with a server instance performing work within a cluster, said server instance being one of said clustered server instances; wherein said application client resides outside of said cluster; wherein said server instance is an allocation of resources of a particular node for performing said work, and said session requests performing said work; in response to establishing a session with said server instance, said application client generating session identification information that identifies a resource and a session for which said resource performs work; in response to a status change to said resource, generating first data that identifies said resource and second data that indicates a status of said resource; publishing said first data and said second data to a set of one or more subscribers, including said application client, wherein said publishing transmits on an out-of-band connection that is different from a connection used by the one or more sessions; and in response to receiving said first data and said second data over said out-of-band connection, said application client using said first data, said second data, and said session identification information to identify one or more sessions affected by said status change; wherein the steps are performed by a plurality of computers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer-readable volatile or non-volatile storage medium storing one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform:
-
an application client establishing one or more sessions with a server instance performing work within a cluster, said server instance being one of said clustered server instances; wherein said application client resides outside of said cluster; wherein said server instance is an allocation of resources of a particular node for performing said work, and said session requests performing said work; in response to establishing a session with said server instance, said application client generating session identification information that identifies a resource and a session for which said resource performs work; in response to a status change to said resource, generating first data that identifies said resource and second data that indicates a status of said resource; a processor publishing said first data and said second data to a set of one or more subscribers, including said application client, wherein said publishing transmits on an out-of-band connection that is different from a connection used by the one or more sessions; and in response to receiving said first data and said second data over said out-of-band connection, said application client using said first data, said second data, and said session identification information to identify one or more sessions affected by said status change. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
Specification