Automated self-forming, self-healing configuration permitting substitution of software agents to effect a live repair of a system implemented on hardware processors
First Claim
1. An automated self-healing configuration for use with automated equipment establishing a distributed network incorporating nodes, comprising:
- computer readable media and uniquely identifiable elements comprising at least in part hardware, said elements cooperating to accomplish at least one task, each said element having at least one function, each said element able to communicate with any other of said elements via at least one link in a flat architecture,wherein when a said element is instantiated, it automatically finds its own connections, and automatically forms an efficient communication hierarchy as semi-optimal decision trees for fast, efficient and reliable communication; and
computer readable media incorporating at least one hierarchical architecture superimposed on said flat architecture to specify which said links are employed in a particular scenario,wherein said superimposed hierarchical architecture automates said decision trees to minimize communication from a lowest level said node to a highest level said node, andwherein said configuration automatically maintains self-ascertained necessary connections and a hierarchy if one or more said nodes are removed or overloaded, andwherein at least a specified one of said elements assumes at least one function of any said element that is compromised during operation of said configuration, andwherein said elements are not required to share data resources, andwherein said configuration makes available for sharing only relevant time-sensitive data to minimize information overload.
1 Assignment
0 Petitions
Accused Products
Abstract
A configuration for use with a processor that incorporates a suite of “flat” hardware architecture and superimposes thereon a self-forming, self-healing, hierarchical architecture implemented in software. Embodiments may be employed in various applications, such as maintaining network integrity. In one embodiment, a building security monitoring network provides for automated network agents to each be capable of communication with any other automated agents on a network at network startup. Shortly after network initialization, the software architecture is superimposed on the flat hardware architecture, re-arranging communication links to provide an efficient hierarchy of control and substituting working agents for compromised agents as necessary in the network. All of this is done in a “live” network, not requiring shutdown, or even reduced operation to accomplish. This “dual” architecture (hierarchical software and flat hardware) provides excellent reliability in those “layered” network applications requiring near total reliability, such as security surveillance.
31 Citations
24 Claims
-
1. An automated self-healing configuration for use with automated equipment establishing a distributed network incorporating nodes, comprising:
-
computer readable media and uniquely identifiable elements comprising at least in part hardware, said elements cooperating to accomplish at least one task, each said element having at least one function, each said element able to communicate with any other of said elements via at least one link in a flat architecture, wherein when a said element is instantiated, it automatically finds its own connections, and automatically forms an efficient communication hierarchy as semi-optimal decision trees for fast, efficient and reliable communication; and computer readable media incorporating at least one hierarchical architecture superimposed on said flat architecture to specify which said links are employed in a particular scenario, wherein said superimposed hierarchical architecture automates said decision trees to minimize communication from a lowest level said node to a highest level said node, and wherein said configuration automatically maintains self-ascertained necessary connections and a hierarchy if one or more said nodes are removed or overloaded, and wherein at least a specified one of said elements assumes at least one function of any said element that is compromised during operation of said configuration, and wherein said elements are not required to share data resources, and wherein said configuration makes available for sharing only relevant time-sensitive data to minimize information overload. - 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)
wherein said HSHN agents form said decision trees; wherein at least one said ANATS agent maintains a directory of existing said HSHN agents, and wherein when a request is made to said ANATS agent by one said agent for information about a said HSHN agent of a certain type, said ANATS agent sends said directory entry for said HSHN agent of a certain type to said requesting agent, and wherein after said directory entry is made, a countdown counter is started, and wherein after a pre-specified time elapses after said counter is started, the status of said directory entry is moved to the next lower status and said timer is re-started, and wherein a hierarchy of said status from high to low is “
exists,”
“
unconfirmed,” and
“
non-existent,” andwherein a “
grace copy”
is an unconfirmed entry.
-
-
15. Rules for implementing the configuration of claim 14 in which said ANATS agent employs said rules in order of priority, said rules comprising:
-
if said directory entry timer of a said existing HSHN agent reaches zero and it is an “
unconfirmed”
said directory entry, remove said HSHN agent from said directory;if said directory entry timer of a said existing HSHN agent reaches zero and said entry is not a “
grace copy,”
send a verification request to said existing HSHN agent and establish said entry in said directory as “
unconfirmed;
”if a said HSHN agent sends an “
IamHere”
message, add said HSHN agent to said directory and if there is an existing copy of a listing or a said “
grace copy”
of a listing remove said existing copy or said “
grace copy” and
send an “
ANATSConfirm”
message; andif a said HSHN agent sends an “
AgentFromType”
message, return the next instance of the requested type of said HSHN agent in an “
AgentFromTypeResponse”
message.
-
-
16. The rules of claim 15 in which ANATS rules for said HSHN agents further comprise:
-
a first rule that if said ANATS agent has not acknowledged existence of said HSHN agent and said timer has not expired, wait for a response; wherein each said agent has a perception of its environment including other said agents existing therein; a second rule that if said ANATS agent has not acknowledged existence of said HSHN agent and said timer has expired, send a message to said ANATS agent and start a wait timer; if a confirmation is received from said ANATS agent, set an acknowledgement flag to ignore said first and second rules; and if said ANATS agent requests proof of the existence of a said HSHN agent, reset said acknowledgement flag to activate said second rule, wherein if said HSHN agent is incapacitated, after said timer expires said ANATS agent changes the status of said HSHN agent to “
non-existent” and
removes said HSHN agent from said directory.
-
-
17. The rules of claim 16 in which parent processing rules for said HSHN agents comprise:
-
if said state of said parent HSHN agent is “
unconfirmed” and
a message is sent to said parent HSHN agent, wait for a response;if said state of said parent HSHN agent is “
non-existent”
request a new name from said ANATS agent;if said state of said parent HSHN agent goes to “
unconfirmed”
send a message to said parent HSHN agent for confirmation;if said ANATS agent sends a name of said parent HSHN agent and the current said state of said parent HSHN agent is “
nada”
, replace the current said parent HSHN agent with a new said parent HSHN agent and set the status of said new parent HSHN agent to “
unconfirmed” and
send a message to said new parent HSHN agent for confirmation;if said current parent HSHN agent replies, set the status of said current parent HSHN agent to “
exists;
” andif said current parent HSHN agent requests confirmation of existence of said new parent HSHN agent, set said state of said new parent HSHN agent to “
unconfirmed” and
send a message to said new parent HSHN agent for confirmation.
-
-
18. The rules of claim 17 in which parent processing rules for said HSHN agents further comprise rules for child said HSHN agents comprising:
-
if said state of a said child HSHN agent goes to “
non-existent”
remove said child HSHN agent from said directory list of said parent HSFIIN agent;if said state of a said child HSHN agent goes to “
unconfirmed”
send a request for a child verification message to said child HSHN agent;if a said child HSHN agent sends a message to said parent HSHN agent, if said parent HSHN agent is in a said state “
exists,”
said parent HSHN agent adds said child HSHN agent to said directory list of said parent HSHN agent with the state “
exists” and
removes prior entries of said child HSHN agent and said parent HSHN agent responds to said child HSHN agent with a confirmation message.
-
-
19. The configuration of claim 14 further comprising a load balancing function implemented in said software.
-
20. The configuration of claim 5 in which at least one of said hierarchical architectures has at least two levels.
-
21. The configuration of claim 20 in which said agents may be added or subtracted to at least one of said levels via at least one self-forming attribute provided in said software.
-
22. The configuration of claim 21 in which said configuration permits changes thereto without need for interrupting operation of said configuration.
-
23. The configuration of claim 21 in which said configuration is scalable, wherein selected said hierarchical levels may be changed via said software to alter the number of said nodes via said self-forming function implemented in said software.
-
24. The configuration of claim 21 in which said elements further comprise at least in part physically mobile hardware.
Specification