This documentation supports the 20.08 (12.1) version of BMC Discovery.To view an earlier version of the product, select the version from the Product version menu.

Runtime Environment node


A Runtime Environment node represents an instance of a runtime environment on a Host, for example a Java Virtual Machine or a .NET runtime. Where possible, versions of Runtime Environments are retrieved and stored. They are created, maintained and destroyed by patterns. Runtime Environment nodes always have a relationship to the Pattern node corresponding to their maintaining pattern.

Why a Runtime Environment and not an SI?

Software Instances represent pieces of software running on a host. A Runtime Environment represents something supporting running software. For example, Weblogic is represented by an SI, and Java by a Runtime Environment node. However, it is still important to keep track of the supporting Runtime Environments and their versions as some might require updates.

Runtime Environment lifecycle

The lifecycle of a Runtime Environment node depends upon the details of the pattern that maintains it. This is determined by a combination of the pattern trigger condition, whether the pattern specifies an explicit key for the Runtime Environment and the logic contained in the pattern itself. In all cases, if a pattern is deleted, the Runtime Environment nodes it is maintaining are immediately destroyed (as are all other nodes it might be maintaining).

Creation/update

If a pattern triggers on a Directly Discovered Data node, such as a Discovered Process node, it might choose whether to specify keys for the Runtime Environment nodes it creates and maintains. If a key is specified then the decision whether to create a new Runtime Environment node or to update an existing one depends on the key. If a Runtime Environment node with the specified key exists, that node is updated, even if the node was previously maintained by a different pattern. In this case, the pattern takes over as the maintainer of the Runtime Environment. If a node with the specified key does not exist, a new Runtime Environment node is created. In both cases, the Runtime Environment node is linked to the pattern with a maintainer relationship.

If a key for the Runtime Environment node is not specified by the pattern, the system creates or updates a group Runtime Environment with an automatically generated key. The key is based upon the key of the Host upon which the Runtime Environment is running, the specified type of the Runtime Environment and, optionally, a key group that can be used to separate the nodes into a number of groups. The count attribute is set to the number of instances in the group identified in the collection of Directly Discovered Data. Each time the host is scanned, the count attribute is changed to represent the number of instances seen in that scan.

Removal

A Runtime Environment node can be destroyed either manually or automatically.

To remove a Runtime Environment node manually, find the necessary Runtime Environment, select it in the list and pick Destroy from the Actions list.

Automatic removal happens according to the following scenario.
 The age_count attribute of the Runtime Environment node contains information about when the Runtime Environment node was last confirmed by its maintaining pattern. If the age_count is positive, it represents the number of consecutive scans of the Host node in which the Runtime Environment was confirmed. If the age_count is negative, it represents the number of consecutive scans in which the Runtime Environment node was not confirmed. The last_update_success and last_update_failure attributes contain the date and time at which the Runtime Environment node was last confirmed, and not confirmed, respectively.

The default aging strategy only applies to Runtime Environment nodes created from patterns triggering on the following node kinds and maintaining the Runtime Environments:

  • DiscoveredProcess
  • DiscoveredService
  • DiscoveredSoftware

If the Runtime Environment node is triggered on anything else, for example, a discovered file, then aging must be implemented in the pattern using a removal block.

If the pattern does not have a removal block, Runtime Environment nodes are removed using an aging strategy based on the age_count and last_update_success attributes. The default aging parameters are the same as for a Software-Instance-node, that is, if a Runtime Environment node has not been seen for at least 7 scans, over a period of at least 10 days, it is destroyed. The parameters can be changed in the options, see Configuring-model-maintenance-settings for more information.

If the pattern maintaining a node does have a removal block, the block can override the default aging scheme to destroy its nodes either earlier or later than normal. For TKU patterns, refer to the documentation accompanying each pattern for details of special removal behavior.

Regardless of the presence or absence of a removal block in the pattern, if the Host corresponding to a DDD-triggered Runtime Environment node is destroyed, the Runtime Environment node is immediately destroyed (see How nodes get removed).

Runtime Environment nodes currently represent Java or .NET. The different technologies and discovery techniques lead to the following differences in their removal:

  • Java is grouped by command line; it has aging behavior like any grouped Software Instance.
  • .NET is based on package information, so it has authoritative removal.

It is possible for other triggers to be used. If any other trigger is used, BMC Discovery has no automatic removal behavior. Patterns must be used to explicitly destroy any Runtime Environment nodes created as a result of other triggers.

Runtime Environment node attributes

The attributes of a Runtime Environment node are described in the table below.The [confluence_table-plus] macro is a standalone macro and it cannot be used inline. Click on this message for details.

Runtime Environment node relationships

The attributes and relationships of a Runtime Environment node are described in the tables below.The [confluence_table-plus] macro is a standalone macro and it cannot be used inline. Click on this message for details.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*