Warning: These documents are under active development and subject to change (version 2.1.0-beta).
The latest release documents are at: https://purl.dataone.org/architecture

Use Case 10 - MN Status ReportsΒΆ

Revisions
View document revision history.
Goal
Coordinating Node checks “liveness” of all Member Nodes - checks ping, service x, load, space, bandwidth, transaction rate, ...
Summary

As part of the infrastructure monitoring process, a CN checks on the “liveness” of all Member Nodes. This operation will be performed with moderate frequency (perhaps in the order of once every few minutes). The “lite” version of this use case, implemented for V0.3, is a simple ping to each Member Node. Later, more in-depth status information will be retrieved from Member Nodes using the MN_health.getStatus() method.

The responses from the MNs should report sufficient metrics to gauge their performance in absolute terms and also relative to other MNs. See MN_health.getStatus() for those metrics.

Actors
CN, MN
Preconditions
  • CNs are operational
  • MN is registered
Triggers
  • Timed interval
  • Registration change (not for V0.3)
Post Conditions
  • Status metadata is updated at CNs
../../_images/10_seq.png

Figure 1. Interactions for use case 10. These interactions describe a synchronous process for generating a report. Most likely, a better mechanism would be for a background process to be accumulating the necessary statistics from Member Nodes, then the generateReport function would operate on the accumulated data rather than forcing a fresh copy.