System and method for stateless, fault tolerance and load balanced data collection using overlay namespaces
AssigneeBMC Software, Inc.
InventorsSudhir Sangra, Geert De Peuter
Life of this patent
Estimating the term…
Abstract
Systems, methods and computer readable media that provide stateless fault tolerance and load balanced data collection using overlay namespaces are described. A cluster is used. Each node of the cluster may be a monitoring system. A data provider process may run on each node in the cluster. Each node has an overlay namespace which comprises one or more links to namespaces on other nodes, and local viewpoints of those linked namespaces. When a node detects a resource waiting to be monitored, it queries other nodes to determine whether object creation for that resource is allowed. It creates an object only if no other node is creating or has created an object for that resource.
Claims20
A resource monitoring method, comprising:
- detecting, by at least one processor, a resource to be monitored by a first monitoring node in a resource monitoring cluster, the resource monitoring cluster having a plurality of monitoring nodes including at least the first monitoring node and a second monitoring node,
- wherein the first monitoring node has a namespace including an overlay namespace and a local namespace, the local namespace including at least one first object of a first monitored resource by the first monitoring node, the overlay namespace including links to namespaces of other monitoring nodes in the resource monitoring cluster including a link to a namespace of the second monitoring node, the link including a local viewpoint of the namespace of the second monitoring node providing at least one second object of a second monitored resource by the second monitoring node;
- issuing, by the at least one processor, a creation request for creating an object for the resource to be monitored by the first monitoring node to the plurality of monitoring nodes having linked namespaces in the overlap namespace;
- receiving, by the at least one processor, responses to the creation request from the plurality of monitoring nodes having the linked namespaces in the overlap namespace;
- determining, by the at least one processor, the allowability of the creation request based on the responses;
- creating, by the at least one processor, the object for the resource to be monitored by the first monitoring mode if determined to be allowable;
- and
- mapping, by the at least one processor, the created object to the local namespace of the first monitoring node.
A system for monitoring a resource, the system comprising:
- at least one processor;
- a non-transitory computer-readable storage medium including instructions executable by the at least one processor, the instructions configured to implement,
- a monitoring agent configured to detect a resource to be monitored by a first monitoring node in a resource monitoring cluster, the resource monitoring cluster having a plurality of monitoring nodes including at least the first monitoring node and a second monitoring node,
- wherein the first monitoring node has a namespace including an overlay namespace and a local namespace, the local namespace including at least one first object of a first monitored resource by the first monitoring node, the overlay namespace including links to namespaces of other monitoring nodes in the resource monitoring cluster including a link to a namespace of the second monitoring node, the link including a local viewpoint of the namespace of the second monitoring node providing at least one second object of a second monitored resource by the second monitoring node;
- the monitoring agent configured to issue a creation request for creating an object for the resource to be monitored by the first monitoring node to the plurality of monitoring nodes having linked namespaces in the overlap namespace;
- the monitoring agent configured to receive responses to the creation request from the plurality of monitoring nodes having the linked namespaces in the overlap namespace;
- the monitoring agent configured to determine the allowability of the creation request based on the responses;
- the monitoring agent configured to create the object for the resource to be monitored by the first monitoring mode if determined to be allowable;
- and
- the monitoring agent configured to map the created object to the local namespace of the first monitoring node.
A non-transitory computer-readable medium storing instructions that when executed cause at least one processor to monitor a resource, the instructions comprising instructions to:
- detect a resource to be monitored by a first monitoring node in a resource monitoring cluster, the resource monitoring cluster having a plurality of monitoring nodes including at least the first monitoring node and a second monitoring node,
- wherein the first monitoring node has a namespace including an overlay namespace and a local namespace, the local namespace including at least one first object of a first monitored resource by the first monitoring node, the overlay namespace including links to namespaces of other monitoring nodes in the resource monitoring cluster including a link to a namespace of the second monitoring node, the link including a local viewpoint of the namespace of the second monitoring node providing at least one second object of a second monitored resource by the second monitoring node;
- issue a creation request for creating an object for the resource to be monitored by the first monitoring node to the plurality of monitoring nodes having linked namespaces in the overlap namespace;
- receive responses to the creation request from the plurality of monitoring nodes having the linked namespaces in the overlap namespace;
- determine the allowability of the creation request based on the responses;
- create the object for the resource to be monitored by the first monitoring mode if determined to be allowable;
- and
- map the created object to the local namespace of the first monitoring node.
Dependencies are inferred from the claim text.