Method and structure for autonomic application differentiation/specialization
AssigneeInternational Business Machines Corporation
InventorBrian Goodman
Life of this patent
Estimating the term…
Abstract
A method (and structure) of at least one of implementing, for deploying, an enterprise application, includes, for the set of instructions defining the enterprise application, a mechanism that allows the enterprise application to autonomously exercise at least one of a node differentiation and a task specialization.
Claims45
A method of at least one of designing, for implementing, and deploying an enterprise application, said method comprising:
- including, in a set of instructions comprising said enterprise application, a mechanism allowing said enterprise application to autonomously exercise at least one of a node differentiation and a task specialization.
A signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to execute an enterprise application, said instructions comprising:
- a module allowing said enterprise application to autonomously exercise at least one of a node differentiation and a task specialization.
A computer, comprising:
- attribute of a central processing unit (CPU);
- and
- a random access memory (RAM) storing a set of machine-readable instructions being executed by said CPU,
- wherein said set of machine-readable instructions comprises an enterprise application, and said enterprise application further comprises a mechanism allowing said enterprise application to autonomously exercise at least one of a node differentiation and a task specialization.
A method for differentiating, in an autonomic fashion, one of a plurality of nodes of identical makeup on an interconnected system, said method comprising:
- connecting to a common message bus;
- transmitting a message on a common message bus to establish a presence and to determine a current environment;
- conducting an election process to determine a primary node among said plurality of nodes;
- and
- sending a configuration message to all said nodes currently connected to said common message bus.
The method according to 19, wherein each said node comprises a multiple application capable of communicating on a local bus.
The method according to 19, wherein said common message bus comprises one of:
- a message queuing server;
- a publish/subscribe server;
- a random access memory (RAM) bus;
- a Transmission Control Protocol/Internet Protocol (TCP/IP) bus;
- and
- a hardware bus.
The method according to 19, wherein said transmitted message is formatted in a self-describing markup language.
The method according to 19, wherein said determining said current environment comprises one or more of:
- detecting an existing master;
- detecting an existence of a local node network;
- detecting an existence of a quantity of current nodes;
- and
- detecting an attribute unique to the environment accessible to said nodes.
The method according to 19, wherein said election is performed by one of determining an outcome of a random event and selecting a particular element out of a set.
The method according to 19, wherein the configuration sent to each of the nodes is identified as being for a specific node.
The method according to 19, wherein the configuration sent to each of the nodes comprise instructions to perform follow-on tasks.
The method according to 27, wherein the follow-on tasks include a task of transferring code from a second system to the node system for installation and configuration.
A method for detecting leader failure through distributed monitoring, said method comprising:
- a first node and a second node each respectively detecting a third node as being a leader node;
- said first node independently monitoring the third node by requesting a presence indication;
- said second node independently monitoring the third node by requesting a presence indication;
- said second node determining that the presence of the third node has been compromised;
- and
- said second node communicating to other nodes, including said first node, that said third node is compromised.
The method according to 29, wherein a plurality of leaders is specified, one leader being specified for each of different domains, a domain comprising an area of understanding wherein only one leader of such domain exists.
The method according to 29, wherein a method used by said first node for monitoring said third node differs from a method used by said second node.
The method according to 29, wherein each node monitors all other nodes regardless of leader status.
The method according to 29, wherein all nodes are interconnected but not via a same common message bus.
The method according to 29, wherein said presence comprises a summation of a complex state.
The method according to 29, wherein said detection of said compromised third node is determined using a predefined metric.
The method according to 38, wherein said determining occurs through one of:
- determining a result of a collective simulated random event;
- rules involving a current environment of said nodes;
- and
- a result of querying a different system.
A method of holding an n-way election using a publish/subscribe bus, said method comprising:
- a first node connecting to said publish/subscribe bus;
- a second node connecting to said publish/subscribe bus;
- said first node initiating an election over said publish/subscribe bus;
- said second node and a third node receiving the election message over said publish subscribe bus;
- said first node, said second node, and said third node sending messages over said publish/subscribe bus;
- and
- determining the current community by using an algorithm held on each said node.
A method of deploying multiple instances of substantially identical code modules, said method comprising:
- in each said code module, providing specific code instructions for:
- an agreed-upon election process;
- an extensible configuration capability;
- and
- a task allocation message format,
- wherein said specific code instructions provide an autonomic application differentiation for a leader election, and an elected leader thereinafter assigns configurations and tasks to all currently-deployed said multiple instances of substantially identical code modules.
A method of creating a sortable unique identifier for each of a plurality of interconnected nodes, said method comprising:
- using one or more preselected attributes that describe said nodes;
- and
- sorting said one or more preselected attributes to establish a ranking of said nodes.
The method according to 42, wherein the unique identifier is made up of self-describing markup language (XML).
The method according to 42, wherein the attributes describing a given node include any of:
- random access memory (RAM) size, central processing unit (CPU) speed, disk space, network bandwidth, model number, geographic location or other environmental condition.
A method of at least one of designing, implementing, and deploying an enterprise application, said method comprising:
- including, in a set of instructions comprising said enterprise application, a mechanism allowing said enterprise application to autonomously exercise at least one of a node differentiation and a task specialization.
Dependencies are inferred from the claim text.