ASAP 2.7 Extension Manual

Implementing the ASAP Extension in an Application
HP NonStop ASAP Extension Manual425265-004
4-4
Domain Name Uniqueness
Domain names must be unique.
Domain names must follow the Balanced Tree Design on page 4-4.
Domain Name Uniqueness
To ensure domain name uniqueness, ASAPX stores all domain names in a Domain
table file in its database subvolume. One record is added to the table during the
registration process for each domain.
When a process registers a domain, ASAPX reads the Domain table to determine if the
domain was already registered:
If another process registered the domain, the registration request fails with a
duplicate domain error.
If the same process previously registered the domain, ASAPX assumes that the
process failed and restarted within a statistics-gathering interval. ASAPX calculates
downtime for the domain and, unless it restarts in a different processor, reallocates
it to the same memory location it had before.
Balanced Tree Design
To ensure proper state reporting and propagation in ASAP, OEM, and OIL, you must
design domain names using a balanced tree approach. The OEM OIL uses a
hierarchical tree to display domains. At the top of the tree is the node, followed by the
APP entity level, then by the various levels in the domain name you define. Do not
define domain names such that entities exist at the level above any other entity.
For example, if you register these three domain names with ASAP you create an
unbalanced tree:
Atm\Chicago\$Atmx1
Atm\Chicago\$Atmx2
Atm\Chicago
A domain (Atm\Chicago) exists at the level above the other two domains. This
introduces ambiguity into state propagation because states from lower levels ($Atmx1,
$Atmx2) are propagated to the upper level (Chicago). You cannot know if alerts come
from the two lower level domains or the domain at the upper level.
In this example, qualify the Atm\Chicago domain with another level to balance the tree;
for example, Atm\Chicago\$Atmx3. If the domain does not belong at the level of the
other two domains, give it a unique second level name to remove it from the branch of
the tree containing the other two names; for example, Atm\Chicago-Atmx3.