summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc9675.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc9675.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc9675.txt')
-rw-r--r--doc/rfc/rfc9675.txt2673
1 files changed, 2673 insertions, 0 deletions
diff --git a/doc/rfc/rfc9675.txt b/doc/rfc/rfc9675.txt
new file mode 100644
index 0000000..9e64c53
--- /dev/null
+++ b/doc/rfc/rfc9675.txt
@@ -0,0 +1,2673 @@
+
+
+
+
+Internet Engineering Task Force (IETF) E. Birrane, III
+Request for Comments: 9675 S. Heiner
+Category: Informational E. Annis
+ISSN: 2070-1721 JHU/APL
+ November 2024
+
+
+ Delay-Tolerant Networking Management Architecture (DTNMA)
+
+Abstract
+
+ The Delay-Tolerant Networking (DTN) architecture describes a type of
+ challenged network in which communications may be significantly
+ affected by long signal propagation delays, frequent link
+ disruptions, or both. The unique characteristics of this environment
+ require a unique approach to network management that supports
+ asynchronous transport, autonomous local control, and a small
+ footprint (in both resources and dependencies) so as to deploy on
+ constrained devices.
+
+ This document describes a DTN Management Architecture (DTNMA)
+ suitable for managing devices in any challenged environment but, in
+ particular, those communicating using the DTN Bundle Protocol (BP).
+ Operating over BP requires an architecture that neither presumes
+ synchronized transport behavior nor relies on query-response
+ mechanisms. Implementations compliant with this DTNMA should expect
+ to successfully operate in extremely challenging conditions, such as
+ over unidirectional links and other places where BP is the preferred
+ transport.
+
+Status of This Memo
+
+ This document is not an Internet Standards Track specification; it is
+ published for informational purposes.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Not all documents
+ approved by the IESG are candidates for any level of Internet
+ Standard; see Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ https://www.rfc-editor.org/info/rfc9675.
+
+Copyright Notice
+
+ Copyright (c) 2024 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Revised BSD License text as described in Section 4.e of the
+ Trust Legal Provisions and are provided without warranty as described
+ in the Revised BSD License.
+
+Table of Contents
+
+ 1. Introduction
+ 1.1. Purpose
+ 1.2. Scope
+ 1.3. Organization
+ 2. Terminology
+ 3. Challenged Network Overview
+ 3.1. Challenged Network Constraints
+ 3.2. Topology and Service Implications
+ 3.2.1. Tiered Management
+ 3.2.2. Remote and Local Manager Associations
+ 3.3. Management Special Cases
+ 4. Desirable Design Properties
+ 4.1. Dynamic Architectures
+ 4.2. Hierarchically Modeled Information
+ 4.3. Adaptive Push of Information
+ 4.4. Efficient Data Encoding
+ 4.5. Universal, Unique Data Identification
+ 4.6. Runtime Data Definitions
+ 4.7. Autonomous Operation
+ 5. Current Remote Management Approaches
+ 5.1. SNMP and SMI Models
+ 5.1.1. The SMI Modeling Language
+ 5.1.2. SNMP and Transport
+ 5.2. XML-Infoset-Based Protocols and YANG Data Models
+ 5.2.1. The YANG Modeling Language
+ 5.2.2. NETCONF Protocol and Transport
+ 5.2.3. RESTCONF Protocol and Transport
+ 5.2.4. CORECONF Protocol and Transport
+ 5.3. gRPC Network Management Interface (gNMI)
+ 5.3.1. The Protobuf Modeling Language
+ 5.3.2. gRPC Protocol and Transport
+ 5.4. Intelligent Platform Management Interface (IPMI)
+ 5.5. Autonomic Networking
+ 5.6. Deep Space Autonomy
+ 6. Motivation for New Features
+ 7. Reference Model
+ 7.1. Important Concepts
+ 7.2. Model Overview
+ 7.3. Functional Elements
+ 7.3.1. Managed Applications and Services
+ 7.3.2. DTNMA Agent (DA)
+ 7.3.3. Managing Applications and Services
+ 7.3.4. DTNMA Manager (DM)
+ 7.3.5. Pre-Shared Definitions
+ 8. Desired Services
+ 8.1. Local Monitoring and Control
+ 8.2. Local Data Fusion
+ 8.3. Remote Configuration
+ 8.4. Remote Reporting
+ 8.5. Authorization
+ 9. Logical Autonomy Model
+ 9.1. Overview
+ 9.2. Model Characteristics
+ 9.3. Data Value Representation
+ 9.4. Data Reporting
+ 9.5. Command Execution
+ 9.6. Predicate Autonomy Rules
+ 10. Use Cases
+ 10.1. Notation
+ 10.2. Serialized Management
+ 10.3. Intermittent Connectivity
+ 10.4. Open-Loop Reporting
+ 10.5. Multiple Administrative Domains
+ 10.6. Cascading Management
+ 11. IANA Considerations
+ 12. Security Considerations
+ 13. Informative References
+ Acknowledgements
+ Authors' Addresses
+
+1. Introduction
+
+ This document describes a logical, informational Delay-Tolerant
+ Networking Management Architecture (DTNMA) suitable for operating
+ devices in a challenged architecture, such as those communicating
+ using the DTN Bundle Protocol version 7 (BPv7) [RFC9171].
+
+ Challenged networks have certain properties that differentiate them
+ from other kinds of networks. These properties, outlined in
+ Section 2.2.1 of [RFC7228], include lacking end-to-end IP
+ connectivity, having "serious interruptions" to end-to-end
+ connectivity, and exhibiting delays longer than can be tolerated by
+ end-to-end synchronization mechanisms (such as TCP).
+
+ These challenged network properties can be caused by a variety of
+ factors such as physical constraints (e.g., long signal propagation
+ delays and frequent link disruptions), administrative policies (e.g.,
+ quality-of-service prioritization, service-level agreements, and
+ traffic management and scheduling), and off-nominal behaviors (e.g.,
+ active attackers and misconfigurations). Since these challenges are
+ not solely caused by sparseness, instances of challenged networks
+ will persist even in increasingly connected environments.
+
+ The DTN architecture, described in [RFC4838], has been designed for
+ data exchange in challenged networks. Just as the DTN architecture
+ requires new capabilities for transport and transport security,
+ special consideration is needed for the operation of devices in a
+ challenged network.
+
+1.1. Purpose
+
+ This document describes how challenged network properties affect the
+ operation of devices in such networks. This description is presented
+ as a logical architecture formed from a union of best practices for
+ operating devices deployed in challenged environments.
+
+ One important practice captured in this document is the concept of
+ self-operation. Self-operation involves operating a device without
+ human interactivity, without system-in-the-loop synchronous
+ functions, and without a synchronous underlying transport layer.
+ This means that devices determine their own schedules for data
+ reporting, determine their own operational configuration, and perform
+ their own error discovery and mitigation.
+
+1.2. Scope
+
+ This document includes the information necessary to document existing
+ practices for operating devices in a challenged network in the
+ context of a logical architecture. A logical architecture describes
+ the logical operation of a system by identifying components of the
+ system (such as in a reference model), the behaviors they enable, and
+ use cases describing how those behaviors result in the desired
+ operation of the system.
+
+ Logical architectures are not functional architectures. Therefore,
+ any functional design for achieving desired behaviors is out of scope
+ for this document. The set of architectural principles presented
+ here is not meant to completely specify interfaces between
+ components.
+
+ The selection of any particular transport or network layer is outside
+ of the scope of this document. The DTNMA does not require the use of
+ any specific protocol such as IP, BP, TCP, or UDP. In particular,
+ the DTNMA design does not presume the use of BPv7, IPv4, or IPv6.
+
+ | NOTE: As BPv7 is the preferred transport for networks
+ | conforming to the DTN architecture, the DTNMA should be
+ | considered for any BPv7 network deployment. However, the DTNMA
+ | may also be used in other networks that have similar needs for
+ | this particular style of self-operation. For this reason, the
+ | DTNMA does not require the use of BPv7 to transport management
+ | information.
+
+ Network features such as naming, addressing, routing, and
+ communications security are out of scope for the DTNMA. It is
+ presumed that any operational network communicating DTNMA messages
+ would implement these services for any payloads carried by that
+ network.
+
+ The interactions between and amongst the DTNMA and other management
+ approaches are outside of the scope of this document.
+
+1.3. Organization
+
+ The following nine sections provide details regarding the DTNMA.
+
+ Terminology: Section 2 identifies terms fundamental to understanding
+ DTNMA concepts. Whenever possible, these terms align in both word
+ selection and meaning with their use in other management
+ protocols.
+
+ Challenged Network Overview: Section 3 describes important aspects
+ of challenged networks and necessary approaches for their
+ management.
+
+ Desirable Design Properties: Section 4 defines those properties of
+ the DTNMA needed to operate within the constraints of a challenged
+ network. These properties are similar to the specification of
+ system-level requirements of a DTN management solution.
+
+ Current Remote Management Approaches: Section 5 provides a brief
+ overview of existing remote management approaches. Where
+ possible, the DTNMA adopts concepts from these approaches.
+
+ Motivation for New Features: Section 6 provides an overall
+ motivation for this work. It also explains why a management
+ architecture for challenged networks is useful and necessary.
+
+ Reference Model: Section 7 defines a reference model that can be
+ used to analyze the DTNMA independently of an implementation or
+ implementation architecture. This model identifies the logical
+ components of the system and the high-level relationships and
+ behaviors amongst those components.
+
+ Desired Services: Section 8 identifies and defines the DTNMA
+ services provided to network and mission operators.
+
+ Logical Autonomy Model: Section 9 provides an example data model
+ that can be used to analyze DTNMA control and data flows. This
+ model is based on the DTNMA reference model.
+
+ Use Cases: Section 10 presents multiple use cases accommodated by
+ the DTNMA. Each use case is presented as a set of control and
+ data flows referencing the DTNMA reference model and logical
+ autonomy model.
+
+2. Terminology
+
+ This section defines terminology that is either unique to the DTNMA
+ or necessary for understanding the concepts defined in this
+ specification.
+
+ Timely Data Exchange: The ability to communicate information between
+ two (or more) entities within a required period of time. In some
+ cases, a 1-second exchange may not be timely; in other cases, a
+ 1-hour exchange may be timely.
+
+ Local Operation: The operation of a device by an application co-
+ resident on that device. Local operators are applications running
+ on a device, and there might be one or more of these applications
+ working independently or as one to perform the local operations
+ function. Absent error conditions, local operators are always
+ expected to be available to the devices they manage.
+
+ Remote Operation: The operation of a device by an application
+ running on a separate device. Remote operators communicate with
+ operated devices over a network. Remote operators are not always
+ expected to be available to the devices they operate.
+
+ DTN Management: The management, monitoring, and control of a device
+ that does not depend on stateful connections, timely data exchange
+ of management messages, or system-in-the-loop synchronous
+ functions. DTN management is accomplished as a fusion of local
+ operation and remote operation techniques; remote operators manage
+ the configuration of local operators who provide monitoring and
+ control of their co-resident devices.
+
+ DTNMA Agent (DA): A role associated with a managed device
+ responsible for reporting performance data, accepting policy
+ directives, performing autonomous local control, error handling,
+ and data validation. DAs exchange information with DTNMA Managers
+ (DMs) operating on the same device and/or on remote devices in the
+ network. A DA is a type of local operator.
+
+ DTNMA Manager (DM): A role associated with a managing device
+ responsible for configuring the behavior of, and eventually
+ receiving information from, DAs. DMs interact with one or more
+ DAs located on the same device and/or on remote devices in the
+ network. A DM is a type of remote operator.
+
+ Controls: Procedures run by a DA to change the behavior,
+ configuration, or state of an application or protocol managed by
+ that DA. These include procedures to manage the DA itself, such
+ as having the DA produce performance reports or applying new
+ management policies.
+
+ Externally Defined Data (EDD): Typed information made available to a
+ DA by its hosting device but not computed directly by the DA
+ itself.
+
+ Data Report: A typed, ordered collection of data values gathered by
+ one or more DAs and provided to one or more DMs. Reports comply
+ with the format of a given data report schema.
+
+ Data Report Schema: A named, ordered collection of data elements
+ that represent the schema of a data report.
+
+ Rule: Unit of autonomous specification that provides a stimulus-
+ response relationship between time or state on a DA and the
+ actions or operations to be run as a result of that time or state.
+
+3. Challenged Network Overview
+
+ The DTNMA provides network management services able to operate in
+ challenged network environments for which the DTN architecture was
+ created. This section describes what is meant by the term
+ "challenged network", the important properties of such a network, and
+ observations on impacts to management approaches.
+
+3.1. Challenged Network Constraints
+
+ Constrained networks are defined as networks where "some of the
+ characteristics pretty much taken for granted with link layers in
+ common use in the Internet at the time of writing are not attainable"
+ [RFC7228]. This broad definition captures a variety of potential
+ issues relating to physical, technical, and regulatory constraints on
+ message transmission. Constrained networks typically include nodes
+ that regularly reboot or are otherwise turned off for long periods of
+ time, transmit at low or asynchronous bitrates, and/or have very
+ limited computational resources.
+
+ Separately, a challenged network is defined as one that "has serious
+ trouble maintaining what an application would today expect of the
+ end-to-end IP model" [RFC7228]. Links in such networks may be
+ impacted by attenuation, propagation delays, mobility, occultation,
+ and other limitations imposed by energy and mass considerations.
+ Therefore, systems relying on such links cannot guarantee timely end-
+ to-end data exchange.
+
+ | NOTE: Because challenged networks might not provide services
+ | expected of the end-to-end IP model, devices in such networks
+ | might not implement networking stacks associated with the end-
+ | to-end IP model. This means that devices might not include
+ | support for certain transport protocols (TCP/QUIC/UDP), web
+ | protocols (HTTP), or internetworking protocols (IPv4/IPv6).
+
+ By these definitions, a "challenged" network is a special type of
+ "constrained" network, where constraints prevent timely end-to-end
+ data exchange. As such, "All challenged networks are constrained
+ networks ... but not all constrained networks are challenged networks
+ ... Delay-Tolerant Networking (DTN) has been designed to cope with
+ challenged networks" [RFC7228].
+
+ Solutions that work in constrained networks might not be solutions
+ that work in challenged networks. In particular, challenged networks
+ exhibit the following properties that impact the way in which the
+ function of network management is considered.
+
+ * Timely end-to-end data exchange cannot be guaranteed to exist at
+ any given time between any two nodes.
+
+ * Latencies on the order of seconds, hours, or days must be
+ tolerated.
+
+ * Managed devices cannot be guaranteed to always be powered so as to
+ receive ad hoc management requests (even requests with
+ artificially extended timeout values).
+
+ * Individual links may be unidirectional.
+
+ * Bidirectional links may have asymmetric data rates.
+
+ * The existence of external infrastructure, services, systems, or
+ processes such as a Domain Name System (DNS) or a Certificate
+ Authority (CA) cannot be guaranteed.
+
+3.2. Topology and Service Implications
+
+ The set of constraints that might be present in a challenged network
+ impacts both the topology of the network and the services active
+ within that network.
+
+ Operational networks handle cases where nodes join and leave the
+ network over time. These topology changes may or may not be planned,
+ they may or may not represent errors, and they may or may not impact
+ network services. Challenged networks differ from other networks not
+ in the presence of topological change but in the likelihood that
+ impacts to topology result in impacts to network services.
+
+ The difference between topology impacts and service impacts can be
+ expressed in terms of connectivity. Topological connectivity usually
+ refers to the existence of a path between an application message
+ source and destination. Service connectivity, alternatively, refers
+ to the existence of a path between a node and one or more services
+ needed to process -- often just in time -- application messaging.
+ Examples of service connectivity include access to infrastructure
+ services such as a Domain Name System (DNS) or a CA.
+
+ In networks that might be partitioned most of the time, it is less
+ likely that a node would concurrently access both an application
+ endpoint and one or more network service endpoints. For this reason,
+ network services in a challenged network should be designed to allow
+ for asynchronous operation. Accommodating this use case often
+ involves the use of local caching, pre-placing information, and not
+ hard-coding message information at a source that might change when a
+ message reaches its destination.
+
+ | NOTE: One example of rethinking services in a challenged
+ | network is the securing of BPv7 bundles. The Bundle Protocol
+ | Security (BPSec) [RFC9172] security extensions to BPv7 do not
+ | encode security destinations when applying security. Instead,
+ | BPSec requires nodes in a network to identify themselves as
+ | security verifiers or acceptors when receiving and processing
+ | secured messages.
+
+3.2.1. Tiered Management
+
+ Network operations and management approaches need to adapt to the
+ topology and service impacts encountered in challenged networks. In
+ particular, the roles and responsibilities of "managers" and "agents"
+ need to be different than what would be expected of unchallenged
+ networks.
+
+ When connectivity to a manager cannot be guaranteed, agents will need
+ to rely on locally available information and local autonomy to react
+ to changes at the node. When an agent uses local autonomy for self-
+ operation, it acts as a local operator serving as a proxy for an
+ absent remote operator.
+
+ Therefore, the role of a "manager" must become one of a remote
+ operator generating configurations and other essential updates for
+ the local operator "agents" that are co-resident on a managed device.
+
+ This approach creates a two-tiered management architecture. The
+ first tier is the management of the local operator configuration
+ using any one of a variety of standard mechanisms, models, and
+ protocols. The second tier is the operation of the local device
+ through the local operator.
+
+ The DTNMA defines the DTNMA Manager (DM) as a remote operator
+ application and the DTNMA Agent (DA) as an agent acting as a local
+ operator application. In this model, which is illustrated in
+ Figure 1, the DM and DA can be viewed as applications, with the DM
+ producing new configurations and the DA receiving those
+ configurations from an underlying management mechanism.
+
+ _
+ /
+ / +------------+ +-----------+ Local +---------+
+ TIER / | DM (Remote | | DA (Local | Operation | Managed |
+ 2 \ | Operator) | | Operator) | <---------> | Apps |
+ MGMT \ +------------+ +-----------+ +---------+
+ \_ ^ ^
+ | configs | configs
+ _ | |
+ / V V
+ / +------------+ Remote +------------+
+ TIER / | Management | Management | Management |
+ 1 \ | Client | <----------> | Server |
+ MGMT \ +------------+ +------------+
+ \_
+
+ Figure 1: Two-Tiered Management Architecture
+
+ In this approach, the configurations produced by the DM are based on
+ the DA features and associated data model. How those configurations
+ are transported between the DM and the DA, and how results are
+ communicated back from the DA to the DM, can be accomplished using
+ whatever mechanism is most appropriate for the network and the device
+ platforms -- for example, the use of a Network Configuration Protocol
+ (NETCONF), RESTCONF, or Simple Network Management Protocol (SNMP)
+ server on the managed device to provide configurations to a DA.
+
+3.2.2. Remote and Local Manager Associations
+
+ In addition to disconnectivity, topological change can alter the
+ associations amongst managed and managing devices. Different
+ managing devices might be active in a network at different times or
+ in different partitions. Managed devices might communicate with
+ some, all, or none of these managing devices as a function of their
+ own local configuration and policy.
+
+ | NOTE: These concepts relate to practices in conventional
+ | networks. For example, supporting multiple managing devices is
+ | similar to deploying multiple instances of a network service
+ | such as a DNS server or CA node. Selecting from a set of
+ | managing devices is similar to a sensor node's practice of
+ | electing cluster heads to act as privileged nodes for data
+ | storage and exfiltration.
+
+ Therefore, a network management architecture for challenged networks
+ should:
+
+ 1. Support a many-to-many association amongst managing and managed
+ devices, and
+
+ 2. Allow "control from" and "reporting to" managing devices to
+ function independently of one another.
+
+3.3. Management Special Cases
+
+ The following special cases illustrate some of the operational
+ situations that can be encountered in the management of devices in a
+ challenged network.
+
+ One-Way Management: A managed device can only be accessed via a
+ unidirectional link or via a link whose duration is shorter than a
+ single round-trip propagation time. Results of this management
+ may come back at a different time, over a different path, and/or
+ as observable from out-of-band changes to device behavior.
+
+ Summary Data: A managing device might only receive summary data
+ regarding a managed device's state because a link or path is
+ constrained by capacity or reliability.
+
+ Bulk Historical Reporting: A managing device receives a large volume
+ of historical report data for a managed device. This can occur
+ when a managed device rejoins a network or has temporary access to
+ a high-capacity link (or path) between itself and the managing
+ device.
+
+ Multiple Managers: A managed device tracks multiple managers in the
+ network and communicates with them as a function of time, local
+ state, or network topology. This scenario would also apply to
+ challenged networks that interconnect two or more unchallenged
+ networks such that managed and managing devices exist in different
+ networks.
+
+ These special cases highlight the need for managed devices to operate
+ without presupposing a dedicated connection to a single managing
+ device. Managing devices in a challenged network might never expect
+ a reply to a command, and communications from managed devices may be
+ delivered much later than the events being reported.
+
+4. Desirable Design Properties
+
+ This section describes those design properties that are desirable
+ when defining a management architecture operating across challenged
+ links in a network. These properties ensure that network management
+ capabilities are retained even as delays and disruptions in the
+ network scale. Ultimately, these properties are the driving design
+ principles for the DTNMA.
+
+ | NOTE: These properties may influence the design, construction,
+ | and adaptation of existing management tools for use in
+ | challenged networks. For example, the properties of the DTN
+ | architecture [RFC4838] resulted in the development of BPv7
+ | [RFC9171] and BPSec [RFC9172]. Implementing the DTNMA model
+ | may result in the construction of new management data models,
+ | policy expressions, and/or protocols.
+
+4.1. Dynamic Architectures
+
+ The DTNMA should be agnostic to the underlying physical topology,
+ transport protocols, security solutions, and supporting
+ infrastructure of a given network. Due to the likelihood of
+ operating in a frequently partitioned environment, the topology of a
+ network may change over time. Attempts to stabilize an architecture
+ around individual nodes can result in a brittle management framework
+ and the creation of congestion points during periods of connectivity.
+
+ The DTNMA should not prescribe any association between a DM and a DA
+ other than those defined in this document. There should be no
+ logical limitation on the number of DMs that can control a DA, the
+ number of DMs that a DA should report to, or any requirement that a
+ DM and DA relationship imply a pair.
+
+ | NOTE: Practical limitations on the relationships between and
+ | amongst DMs and DAs will exist as a function of the
+ | capabilities of networked devices. These limitations derive
+ | from processing and storage constraints, performance
+ | requirements, and other engineering factors. Implementors of
+ | managed and managing devices must account for these limitations
+ | in their device designs.
+
+4.2. Hierarchically Modeled Information
+
+ The DTNMA should use data models to define the syntactic and semantic
+ contracts for data exchange between a DA and a DM. A given model
+ should have the ability to "inherit" the contents of other models to
+ form hierarchical data relationships.
+
+ | NOTE: The term "data model" in this context refers to a schema
+ | that defines a contract between a DA and a DM regarding how
+ | information is represented and validated.
+
+ Many network management solutions use data models to specify the
+ semantic and syntactic representation of data exchanged between
+ managed and managing devices. The DTNMA is not different in this
+ regard; information exchanged between DAs and DMs should conform to
+ one or more predefined, normative data models.
+
+ A common best practice when defining a data model is to make it
+ cohesive. A cohesive model is one that includes information related
+ to a single purpose such as managing a single application or
+ protocol. When applying this practice, it is not uncommon to develop
+ a large number of small data models that, together, describe the
+ information needed to manage a device.
+
+ Another best practice for data model development is the use of
+ inclusion mechanisms to allow one data model to include information
+ from another data model. This ability to include a data model avoids
+ repeating information in different data models. When one data model
+ includes information from another data model, there is an implied
+ model hierarchy.
+
+ Data models in the DTNMA should allow for the construction of both
+ cohesive models and hierarchically related models. These data models
+ should be used to define all sources of information that can be
+ retrieved, configured, or executed in the DTNMA. These actions would
+ include supporting DA autonomy functions such as parameterization,
+ filtering, and event-driven behaviors. These models will be used to
+ both implement interoperable autonomy engines on DAs and define
+ interoperable report parsing mechanisms on DMs.
+
+ | NOTE: While data model hierarchies can result in a more concise
+ | data model, arbitrarily complex nesting schemes can also result
+ | in very verbose encodings. Where possible, data identification
+ | schemes should be constructed that allow for both hierarchical
+ | data and highly compressible data identification.
+
+4.3. Adaptive Push of Information
+
+ DAs in the DTNMA should determine when to push information to DMs as
+ a function of their local state.
+
+ "Pull" management mechanisms require a managing device to send a
+ query to a managed device and then wait for a response to that
+ specific query. This practice implies some knowledge synchronization
+ between entities (which may be as simple as knowing when a managed
+ device might be powered). However, challenged networks cannot
+ guarantee timely round-trip data exchange. For this reason, pull
+ mechanisms should be avoided in the DTNMA.
+
+ "Push" mechanisms, in this context, indicate the ability of DAs to
+ leverage local autonomy to determine when and what information should
+ be sent to which DMs. The push is considered adaptive because a DA
+ determines what information to push (and when) as an adaptation to
+ changes to the DA's internal state. Once pushed, information might
+ still be queued, pending connectivity of the DA to the network.
+
+ Even in cases where a round-trip exchange can occur, pull mechanisms
+ increase the overall amount of traffic in the network and preclude
+ the use of autonomy at managed devices. So, even when pull
+ mechanisms are feasible, they should not be considered a pragmatic
+ alternative to push mechanisms.
+
+4.4. Efficient Data Encoding
+
+ Messages exchanged between a DA and a DM in the DTNMA should be
+ defined in a way that allows for efficient on-the-wire encoding.
+ DTNMA design decisions that result in smaller message sizes should be
+ preferred over those that result in larger message sizes.
+
+ There is a relationship between message encoding and message
+ processing time at a node. Messages with few or no encodings may
+ simplify node processing, whereas more compact encodings may require
+ additional activities to generate/parse encoded messages. Generally,
+ compressing a message takes processing time at the sender and
+ decompressing a message takes processing time at a receiver.
+ Therefore, there is a design trade-off between minimizing message
+ sizes and minimizing node processing.
+
+ There is a significant advantage to smaller DTNMA message sizes in a
+ challenged network. Smaller messages require shorter periods of
+ viable transmission for communication, they incur less retransmission
+ cost, and they consume fewer resources when persistently stored en
+ route in the network.
+
+ | NOTE: Naive approaches to minimizing message size through
+ | general-purpose compression algorithms do not produce minimal
+ | encodings. Data models can, and should, be designed for
+ | compact encoding from the beginning. Design strategies for
+ | compact encodings involve using structured data, hierarchical
+ | data models, and common substructures within data models.
+ | These strategies allow for compressibility beyond what would
+ | otherwise be achieved by computing large hash values over
+ | generalized data structures.
+
+4.5. Universal, Unique Data Identification
+
+ Data elements within the DTNMA should be uniquely identifiable so
+ that they can be individually manipulated. Further, these
+ identifiers should be universal -- the identifier for a data element
+ should be the same, regardless of role, implementation, or network
+ instance.
+
+ Identification schemes that would be relative to a specific DA or
+ specific system configuration might change over time and should be
+ avoided. Relying on relative identification schemes would require
+ resynchronizing relative state when nodes in a challenged network
+ reconnect after periods of partition. This type of resynchronization
+ should be avoided whenever possible.
+
+ | NOTE: Consider a common management technique for approximating
+ | an associative array lookup. If a managed device tracks the
+ | number of bytes passed by multiple named interfaces, then the
+ | number of bytes through a specific named interface ("int_foo")
+ | would be retrieved in the following way:
+ |
+ | 1. Query a list of ordered interface names from an agent.
+ |
+ | 2. Find the name that matches "int_foo", and infer the
+ | agent's index of "int_foo" from the ordered interface
+ | list. In this instance, assume that "int_foo" is the
+ | fourth interface in the list.
+ |
+ | 3. Query the agent (again) to now return the number of
+ | bytes passed through the fourth interface.
+ |
+ | Ignoring the inefficiency of two round-trip exchanges, this
+ | mechanism will fail if an agent implementation changes its
+ | index mapping between the first and second queries.
+ |
+ | The desired data being queried, "number of bytes through
+ | 'int_foo'", should be uniquely and universally identifiable and
+ | independent of how that data exists in any agent's custom
+ | implementation.
+
+4.6. Runtime Data Definitions
+
+ The DTNMA allows for the addition of new data elements to a data
+ model as part of the runtime operation of the management system.
+ These definitions may represent custom data definitions that are
+ applicable only for a particular device or network. Custom
+ definitions should also be able to be removed from the system during
+ runtime.
+
+ The goal of this approach is to dynamically add or remove data
+ elements to the local runtime schemas as needed, such as the
+ definition of new counters, new reports, or new rules.
+
+ The custom definition of new data from existing data (such as through
+ data fusion, averaging, sampling, or other mechanisms) provides the
+ ability to communicate desired information in as compact a form as
+ possible.
+
+ | NOTE: A DM could, for example, define a custom data report that
+ | includes only summary information about a specific operational
+ | event or as part of specific debugging. DAs could then produce
+ | this smaller report until it is no longer necessary, at which
+ | point the custom report could be removed from the management
+ | system.
+
+ Custom data elements should be calculated and used both as parameters
+ for DA autonomy and for more efficient reporting to DMs. Defining
+ new data elements allows for DAs to perform local data fusion, and
+ defining new reporting templates allows for DMs to specify desired
+ formats and generally save on link capacity, storage, and processing
+ time.
+
+4.7. Autonomous Operation
+
+ The management of applications by a DA should be achievable using
+ only knowledge local to the DA because DAs might need to operate
+ during times when they are disconnected from a DM.
+
+ DA autonomy may be used for simple automation of predefined tasks or
+ to support semi-autonomous behavior in determining when to run tasks
+ and how to configure or parameterize tasks when they are run.
+
+ Important features provided by the DA are listed below. These
+ features work together to accomplish tasks. As such, there is
+ commonality amongst their definitions and nature of their benefits.
+
+ Standalone Operation: Preconfiguration allows DAs to operate without
+ regular contact with other nodes in the network. Updates for
+ configurations remain difficult in a challenged network, but this
+ approach removes the requirement that a DM be in the loop during
+ regular operations. Preconfiguring stimuli and responses on a DA
+ during periods of connectivity allows DAs to self-manage during
+ periods of disconnectivity.
+
+ Deterministic Behavior: Operational systems might need to act in a
+ deterministic way, even in the absence of an operator in the loop.
+ Deterministic behavior allows an out-of-contact DM to predict the
+ state of a DA and to determine how a DA got into a particular
+ state.
+
+ Engine-Based Behavior: Operational systems might not be able to
+ deploy "mobile code" solutions [RFC4949] due to network bandwidth,
+ memory or processor loading, or security concerns. Engine-based
+ approaches provide configurable behavior without incurring these
+ concerns.
+
+ Authorization and Accounting: The DTNMA does not require a specific
+ underlying transport protocol, a specific network infrastructure,
+ or specific network services. Therefore, mechanisms for
+ authorization and accounting need to be present in a standard way
+ at DAs and DMs to provide these functions if the underlying
+ network does not. This is particularly true in cases where
+ multiple DMs may be active concurrently in the network.
+
+ To understand the contributions of these features to a common type of
+ behavior, consider the example of a managed device coming online with
+ a set of preinstalled configurations. In this case, the device's
+ standalone operation comes from the preconfiguration of its local
+ autonomy engine. This engine-based behavior allows the system to
+ behave in a deterministic way, and any new configurations will need
+ to be authorized before being adopted.
+
+ Features such as deterministic processing and engine-based behavior
+ are separate from (but do not preclude the use of) other Artificial
+ Intelligence (AI) and Machine Learning (ML) approaches for device
+ management.
+
+5. Current Remote Management Approaches
+
+ Several remote management solutions have been developed for both
+ local area networks and wide area networks. Their capabilities range
+ from simple configuration and report generation to complex modeling
+ of device settings, state, and behavior. All of these approaches are
+ successful in the domains for which they have been built but are not
+ all equally functional when deployed in a challenged network.
+
+ This section describes some of the well-known protocols for remote
+ management and contrasts their purposes with the desirable properties
+ of the DTNMA. The purpose of this comparison is to identify parts of
+ existing approaches that can be adopted or adapted for use in
+ challenged networks and where new capabilities should be created
+ specifically for such environments.
+
+5.1. SNMP and SMI Models
+
+ An early and widely used example of a remote management protocol is
+ SNMP, which is currently at version 3 [RFC3410]. SNMP utilizes a
+ request-response model to get and set data values within an
+ arbitrarily deep object hierarchy. Objects are used to identify data
+ such as host identifiers, link utilization metrics, error rates, and
+ counters between application software on managing and managed devices
+ [RFC3411]. Additionally, SNMP supports a model for unidirectional
+ push messages, called event notifications, based on agent-defined
+ triggering events.
+
+ SNMP relies on logical sessions with predictable round-trip latency
+ to support its pull mechanism, but a single activity is likely to
+ require many round-trip exchanges. Complex management can be
+ achieved, but only through careful orchestration of real-time, end-
+ to-end, managing-device-generated query-and-response logic.
+
+ There is existing work that uses the SNMP data model to support some
+ low-fidelity agent-side processing; this work includes using
+ "Distributed Management Expression MIB" [RFC2982] and "Definitions of
+ Managed Objects for the Delegation of Management Scripts" [RFC3165].
+ However, agent autonomy is not an SNMP mechanism, so support for a
+ local agent response to an initiating event is limited. In a
+ challenged network where the delay between a managing device
+ receiving an alert and sending a response can be significant, SNMP is
+ insufficient for autonomous event handling.
+
+5.1.1. The SMI Modeling Language
+
+ SNMP separates the representations for managed data models from
+ messaging, sequencing, and encoding between managers and agents.
+ Each data model is termed a "Management Information Base" (or "MIB")
+ [RFC3418] and uses the Structure of Management Information (SMI)
+ modeling language [RFC2578]. Additionally, the SMI itself is based
+ on the ASN.1 syntax [ASN.1], which is used not just for SMI but for
+ other, unrelated data structure specifications such as the
+ Cryptographic Message Syntax (CMS) [RFC5652]. Separating data models
+ from messaging and encoding is a best practice in remote management
+ protocols and is also necessary for the DTNMA.
+
+ Each SNMP MIB is composed of managed object definitions, each of
+ which is associated with a hierarchical Object Identifier (OID).
+ Because of the arbitrarily deep nature of MIB object trees, the size
+ of OIDs is not strictly bounded by the protocol (though it may be
+ bounded by implementations).
+
+5.1.2. SNMP and Transport
+
+ SNMPv2 [RFC3416] [RFC3417] and SNMPv3 [RFC3414] can operate over a
+ variety of transports, including plaintext UDP/IP [RFC3417], SSH/TCP/
+ IP [RFC5592], and DTLS/UDP/IP or TLS/TCP/IP [RFC6353].
+
+ SNMP uses an abstracted security model to provide authentication,
+ integrity, and confidentiality. There are options for the User-based
+ Security Model (USM) [RFC3414], which uses in-message security, and
+ the Transport Security Model (TSM) [RFC5591], which relies on the
+ transport to provide security functions and interfaces.
+
+5.2. XML-Infoset-Based Protocols and YANG Data Models
+
+ Several network management protocols, including NETCONF [RFC6241],
+ RESTCONF [RFC8040], and the Constrained Application Protocol (CoAP)
+ Management Interface (CORECONF) [CORE-COMI], share the same XML
+ Information Set [xml-infoset] for the information set's hierarchical
+ managed information and XPath expressions [XPath] to identify nodes
+ of that information model. Since they share the same information
+ model and the same data manipulation operations, together they will
+ be referred to as "*CONF" protocols. Each protocol, however,
+ provides a different encoding of that information set and its related
+ operation-specific data.
+
+ The YANG modeling language as defined in [RFC7950] is used to define
+ the data model for these management protocols. Currently, YANG
+ represents the IETF standard for defining managed information models.
+
+5.2.1. The YANG Modeling Language
+
+ The YANG modeling language defines a syntax and modular semantics for
+ organizing and accessing a device's configuration or operational
+ information. YANG allows subdividing a full managed configuration
+ into separate namespaces defined by separate YANG modules. Once a
+ module is developed, it is used (directly or indirectly) on both the
+ client and server to serve as a contract between the two. A YANG
+ module can be complex, describing a deeply nested and interrelated
+ set of data nodes, actions, and notifications.
+
+ Unlike the separation between ASN.1 syntax and module semantics from
+ higher-level SMI data model semantics as discussed in Section 5.1.1,
+ YANG defines both a text syntax and module semantics together with
+ data model semantics.
+
+ The YANG modeling language provides flexibility in the organization
+ of model objects to the model developer. YANG supports a broad range
+ of data types as noted in [RFC6991]. YANG also supports the
+ definition of parameterized Remote Procedure Calls (RPCs) and actions
+ to be executed on managed devices as well as the definition of event
+ notifications within the model.
+
+ Current *CONF notification logic allows a client to subscribe to the
+ delivery of specific containers or data nodes defined in the model,
+ on either a periodic or "on-change" basis [RFC8641]. These
+ notification events can be filtered according to XPath or subtree
+ filtering [XPath] [RFC6241] as described in Section 2.2 of [RFC8639].
+
+ The use of YANG for data modeling necessarily comes with some side
+ effects, some of which are described here.
+
+ Text Naming: Data nodes, RPCs, and notifications within a YANG data
+ model are named by a namespace-qualified, text-based path of the
+ module, submodule, container, and any data nodes such as lists,
+ leaf-lists, or leaves, without any explicit hierarchical
+ organization based on data or object type.
+
+ Existing efforts to make compressed names for YANG objects, such
+ as the YANG Schema Item iDentifiers (SIDs) as discussed in
+ Section 3.2 of [RFC9254], allow a node to be named by a globally
+ unique integer value but are still relatively verbose (up to 8
+ bytes per item) and still must be translated into text form for
+ things like instance identification (see below). Additionally,
+ when representing a tree of named instances, the child elements
+ can use differential encoding of SID integer values as "delta"
+ integers. The mechanisms for assigning SIDs and the lifecycle of
+ those SIDs are discussed in [RFC9595].
+
+ Text Values and Built-In Types: Because the original use of YANG
+ with NETCONF was to model XML Information Sets, the values and
+ built-in types are necessarily text based. JSON encoding of YANG
+ data [RFC7951] allows for optimized representations of many built-
+ in types; similarly, Concise Binary Object Representation (CBOR)
+ encoding [RFC9254] allows for different optimized representations.
+
+ In particular, the YANG built-in types support a fixed range of
+ decimal fractions (Section 9.3 of [RFC7950]) but purposefully do
+ not support floating-point numbers. There are alternatives, such
+ as the type bandwidth-ieee-float32 [RFC8294] or using the "binary"
+ type with one of the IEEE-754 encodings.
+
+ Deep Hierarchy: YANG allows for, and current YANG modules take
+ advantage of, the ability to deeply nest a model hierarchy to
+ represent complex combinations and compositions of data nodes.
+ When a model uses a deep hierarchy of nodes, this necessarily
+ means that the qualified paths to name those nodes and instances
+ are longer than they would be in a flat namespace.
+
+ Instance Identification: The node instances in a YANG module
+ necessarily use XPath expressions for identification. Some
+ identification is constrained to be strictly within the YANG
+ domain, such as "must", "when", "augment", or "deviation"
+ statements. Other identification needs to be processed by a
+ managed device -- for example, via the "instance-identifier"
+ built-in type. This means that any implementation of a managed
+ device must include XPath processing and related information model
+ handling per Section 6.4 of [RFC7950] and its referenced
+ documents.
+
+ Protocol Coupling: A significant amount of existing YANG tooling or
+ modeling presumes the use of YANG data within a management
+ protocol with specific operations available. For example, the
+ access control model defined in [RFC8341] relies on those
+ operations specific to the *CONF protocols for proper behavior.
+
+ The emergence of multiple NETCONF-derived protocols may make these
+ presumptions less problematic in the future. Work to more
+ consistently identify different types of YANG modules and their
+ use has been undertaken to disambiguate how YANG modules should be
+ treated [RFC8199].
+
+ Manager-Side Control: YANG RPCs and actions execute on a managed
+ device and generate an expected, structured response. RPC
+ execution is strictly limited to those issued by the manager.
+ Commands are executed immediately and sequentially as they are
+ received by the managed device, and there is no method to
+ autonomously execute RPCs triggered by specific events or
+ conditions.
+
+ The YANG modeling language continues to evolve as new features are
+ needed by adopting management protocols.
+
+5.2.2. NETCONF Protocol and Transport
+
+ NETCONF is a stateful, XML-encoding-based protocol that provides a
+ syntax to retrieve, edit, copy, or delete any data nodes or exposed
+ functionality on a server. It requires that underlying transport
+ protocols support long-lived, reliable, low-latency, sequenced data
+ delivery sessions. A bidirectional NETCONF session needs to be
+ established before any data transfer (or notification) can occur.
+
+ The XML exchanged within NETCONF messages is structured according to
+ YANG modules supported by the NETCONF agent, and the data nodes
+ reside within one of possibly many datastores in accordance with the
+ Network Management Datastore Architecture (NMDA) [RFC8342].
+
+ NETCONF transports are required to provide authentication, data
+ integrity, confidentiality, and replay protection. Currently,
+ NETCONF can operate over SSH/TCP/IP [RFC6242] or TLS/TCP/IP
+ [RFC7589].
+
+5.2.3. RESTCONF Protocol and Transport
+
+ RESTCONF is a stateless, JSON-encoding-based protocol that provides
+ the same operations as NETCONF, using the same YANG modules for
+ structure and the same NMDA datastores, but using RESTful exchanges
+ over HTTP. It uses HTTP methods to express its allowed operations:
+ GET, POST, PUT, PATCH, or DELETE data nodes within a datastore.
+
+ Although RESTCONF is a logically stateless protocol, it does rely on
+ state within its transport protocol to achieve behaviors such as
+ authentication and security sessions. Because RESTCONF uses the same
+ data node semantics as NETCONF, a typical activity can involve the
+ use of several sequential round trips of exchanges to first discover
+ managed device state and then act upon it.
+
+5.2.4. CORECONF Protocol and Transport
+
+ CORECONF is an emerging stateless protocol built atop CoAP [RFC7252]
+ that defines a messaging construct developed to operate specifically
+ on constrained devices and networks by limiting message size and
+ fragmentation. CoAP also implements a request-response system and
+ methods for GET, POST, PUT, and DELETE.
+
+5.3. gRPC Network Management Interface (gNMI)
+
+ Another emerging, but not IETF-affiliated, management protocol is the
+ gRPC Network Management Interface (gNMI) [gNMI], which is based on
+ gRPC messaging and uses Google protobuf data modeling.
+
+ The same limitations as those listed above for RESTCONF apply to gNMI
+ because of its reliance on synchronous HTTP exchanges and TLS for
+ normal operations, as well as the likely deep nesting of data
+ schemas. gNMI is capable of transporting JSON-encoded YANG-modeled
+ data, but how to compose such data is not yet fully standardized.
+
+5.3.1. The Protobuf Modeling Language
+
+ The data managed and exchanged via gNMI is encoded and modeled using
+ Google protobuf, an encoding and modeling syntax not affiliated with
+ the IETF (although an attempt has been made and abandoned
+ [PROTOCOL-BUFFERS]).
+
+ Because the protobuf modeling syntax is a relatively low-level syntax
+ (about the same as ASN.1 or CBOR), there are some efforts as part of
+ the OpenConfig work [gNMI] to translate YANG modules into protobuf
+ schemas (similar to translation to XML or JSON schemas for NETCONF
+ and RESTCONF, respectively), but there is no required
+ interoperability between management via gRPC or any of the *CONF
+ protocols.
+
+5.3.2. gRPC Protocol and Transport
+
+ The message encoding and exchange for gNMI, as the name implies, is
+ the gRPC protocol [gRPC]. gRPC exclusively uses HTTP/2 [RFC9113] for
+ transport and relies on some aspects specific to HTTP/2 for its
+ operations (such as HTTP trailer fields). While not mandated by
+ gRPC, when used to transport gNMI data, TLS is required for transport
+ security.
+
+5.4. Intelligent Platform Management Interface (IPMI)
+
+ A lower-level remote management protocol, intended to be used to
+ manage hardware devices and network appliances below the operating
+ system (OS), is the Intelligent Platform Management Interface (IPMI),
+ standardized in [IPMI]. The IPMI is focused on health monitoring,
+ event logging, firmware management, and Serial over LAN (SOL) remote
+ console access in a "pre-OS or OS-absent" host environment. The IPMI
+ operates over a companion Remote Management Control Protocol (RMCP)
+ for messaging, which itself can use UDP for transport.
+
+ Because the IPMI and RCMP are tailored to low-level and well-
+ connected devices within a data center, with typical workflows
+ requiring many messaging round trips or low-latency interactive
+ sessions, they are not suitable for operation over a challenged
+ network.
+
+5.5. Autonomic Networking
+
+ The future of network operations requires more autonomous behavior,
+ including self-configuration, self-management, self-healing, and
+ self-optimization. One approach to support this is termed "Autonomic
+ Networking" [RFC7575].
+
+ There is a large and growing set of work within the IETF focused on
+ developing an Autonomic Networking Integrated Model and Approach
+ (ANIMA). The ANIMA work has developed a comprehensive reference
+ model for distributing autonomic functions across multiple nodes in
+ an Autonomic Networking infrastructure [RFC8993].
+
+ This work, focused on learning the behavior of distributed systems to
+ predict future events, is an emerging network management capability.
+ This includes the development of signaling protocols such as the
+ GeneRic Autonomic Signaling Protocol (GRASP) [RFC8990] and the
+ Autonomic Control Plane (ACP) [RFC8368].
+
+ Both autonomic and challenged networks require similar degrees of
+ autonomy. However, challenged networks cannot provide the complex
+ coordination between nodes and distributed supporting infrastructure
+ necessary for the frequent data exchanges for negotiation, learning,
+ and bootstrapping associated with the above capabilities.
+
+ There is some emerging work in ANIMA as to how disconnected devices
+ might join and leave the ACP over time. However, this work is
+ addressing a different problem than that encountered by challenged
+ networks.
+
+5.6. Deep Space Autonomy
+
+ Outside of the terrestrial networking community, there are existing
+ and established remote management systems used for deep space mission
+ operations. Two examples of such systems are the New Horizons
+ mission to Pluto [NEW-HORIZONS] and the Double Asteroid Redirection
+ Test (DART) mission to the asteroid Dimorphos [DART].
+
+ The DTNMA has some heritage in the concepts of deep space autonomy,
+ but each of those mission instantiations uses mission-specific data
+ encoding, messaging, and transport as well as mission-specific (or
+ heavily mission-tailored) modeling concepts and languages. Part of
+ the goal of the DTNMA is to take the proven concepts from these
+ missions and standardize a messaging syntax as well as a modular data
+ modeling method.
+
+6. Motivation for New Features
+
+ Management mechanisms that provide the complete set of DTNMA
+ desirable properties do not currently exist. This is not surprising,
+ since autonomous management in the context of a challenged networking
+ environment is a new and emerging use case.
+
+ In particular, a management architecture is needed that integrates
+ the following motivating features.
+
+ Open-Loop Control: Freedom from a request-response architecture,
+ API, or other presumption of timely round-trip communications.
+ This is particularly important when managing networks that are not
+ built over an HTTP or TCP/TLS infrastructure.
+
+ Standard Autonomy Model: An autonomy model that allows for standard
+ expressions of policy to guarantee deterministic behavior across
+ devices and vendor implementations.
+
+ Compressible Model Structure: A data model that allows for very
+ compact encodings by defining and exploiting common structures for
+ data schemas.
+
+ Combining these new features with existing mechanisms for message
+ data exchange (such as BP), data representations (such as CBOR), and
+ data modeling languages (such as YANG) will form a pragmatic approach
+ to defining challenged network management.
+
+7. Reference Model
+
+ This section describes a reference model for analyzing network
+ management concepts for challenged networks (generally) and those
+ conforming to the DTN architecture (in particular). The goal of this
+ section is to describe how DTNMA services provide DTNMA desirable
+ properties.
+
+7.1. Important Concepts
+
+ Like other network management architectures, the DTNMA draws a
+ logical distinction between a managed device and a managing device.
+ Managed devices use a DA to manage resident applications. Managing
+ devices use a DM to both monitor and control DAs.
+
+ The terms "managing" and "managed" represent logical characteristics
+ of a device and are not, themselves, mutually exclusive. For
+ example, a managed device might, itself, also manage some other
+ device in the network. Therefore, a device may support either or
+ both of these characteristics.
+
+ The DTNMA differs from some other management architectures in three
+ significant ways, all related to the need for a device to self-manage
+ when disconnected from a managing device.
+
+ Pre-Shared Definitions: Managing and managed devices should operate
+ using pre-shared data definitions and models. This implies that
+ static definitions should be standardized whenever possible and
+ that managing and managed devices may need to negotiate
+ definitions during periods of connectivity.
+
+ Agent Self-Management: A managed device may find itself disconnected
+ from its managing device. In many challenged networking
+ scenarios, a managed device may spend the majority of its time
+ without a regular connection to a managing device. In these
+ cases, DAs manage themselves by applying pre-shared policies
+ received from managing devices.
+
+ Command-Based Interface: Managing devices communicate with managed
+ devices through a command-based interface. Instead of exchanging
+ variables, objects, or documents, a managing device issues
+ commands to be run by a managed device. These commands may create
+ or update variables, change datastores, or impact the managed
+ device in ways similar to other network management approaches.
+ The use of commands is, in part, driven by the need for DAs to
+ receive updates from both remote management devices and local
+ autonomy. The use of Controls for the implementation of commands
+ is discussed in more detail in Section 9.5.
+
+7.2. Model Overview
+
+ A DTNMA reference model is provided in Figure 2 below. In this
+ reference model, applications and services on a managing device
+ communicate with a DM that uses pre-shared definitions to create a
+ set of policy directives that can be sent to a managed device's DA
+ via a command-based interface. The DA provides local monitoring and
+ control (commanding) of the applications and services resident on the
+ managed device. The DA also performs local data fusion as necessary
+ to synthesize data products (such as reports) that can be sent back
+ to the DM when appropriate.
+
+ Managed Device Managing Device
++----------------------------+ +-----------------------------+
+| +------------------------+ | | +-------------------------+ |
+| |Applications & Services | | | | Applications & Services | |
+| +----------^-------------+ | | +-----------^-------------+ |
+| | | | | |
+| +----------v-------------+ | | +-----------v-------------+ |
+| | DTNMA +-------------+ | | | | +-----------+ DTNMA | |
+| | AGENT | Monitor and | | |Commanding | | | Policy | MANAGER | |
+| | | Control | | |<==========| | | Encoding | | |
+| | +------+-------------+ | | | | +-----------+-------+ | |
+| | |Admin | Data Fusion | | |==========>| | | Reporting | Admin | | |
+| | +------+-------------+ | | Reporting | | +-----------+-------+ | |
+| +------------------------+ | | +-------------------------+ |
++----------------------------+ +-----------------------------+
+ ^ ^
+ | Pre-Shared Definitions |
+ | +---------------------------+ |
+ +--------| - Autonomy Model |--------+
+ | - Application Data Models |
+ | - Runtime Datastores |
+ +---------------------------+
+
+ Figure 2: DTNMA Reference Model
+
+ This model preserves the familiar concept of "managers" resident on
+ managing devices and "agents" resident on managed devices. However,
+ the DTNMA model is unique in how the DM and DA operate. The DM is
+ used to preconfigure DAs in the network with management policies. It
+ is expected that the DAs, themselves, perform monitoring and control
+ functions on their own. In this way, a properly configured DA may
+ operate without a reliable connection back to a DM.
+
+7.3. Functional Elements
+
+ The reference model illustrated in Figure 2 implies the existence of
+ certain logical components whose roles and responsibilities are
+ discussed in this section.
+
+7.3.1. Managed Applications and Services
+
+ By definition, managed applications and services reside on a managed
+ device. These software entities can be controlled through some
+ interface by the DA, and their state can be sampled as part of
+ periodic monitoring. It is presumed that the DA on the managed
+ device has the proper data model, control interface, and permissions
+ to alter the configuration and behavior of these software
+ applications.
+
+7.3.2. DTNMA Agent (DA)
+
+ A DA resides on a managed device. As is the case with other network
+ management approaches, this agent is responsible for the monitoring
+ and control of the applications local to that device. Unlike other
+ network management approaches, the agent accomplishes this task
+ without a regular connection to a DM.
+
+ The DA performs three major functions on a managed device: the
+ monitoring and control of local applications, production of data
+ analytics, and the administrative control of the agent itself.
+
+7.3.2.1. Monitoring and Control
+
+ DAs monitor the status of applications running on their managed
+ device and selectively control those applications as a function of
+ that monitoring. The following components are used to perform
+ monitoring and control on an agent.
+
+ Rule Database:
+ Each DA maintains a database of policy expressions that form rules
+ regarding the behavior of the managed device. Within this
+ database, each rule regarding behavior is a tuple of a stimulus
+ and a response. Within the DTNMA, these rules are the embodiment
+ of policy expressions received from DMs and evaluated at regular
+ intervals by the autonomy engine. The rule database is the
+ collection of active rules known to the DA.
+
+ Autonomy Engine:
+ The DA autonomy engine monitors the state of the managed device,
+ looking for predefined stimuli and, when such stimuli are
+ encountered, issuing a predefined response. To the extent that
+ this function is driven by the rule database, this engine acts as
+ a policy execution engine. This engine may also be directly
+ configured by managers during periods of connectivity for actions
+ separate from those in the rule database (such as enabling or
+ disabling sets of rules). Once configured, the engine may
+ function without other access to any managing device. This engine
+ may also reconfigure itself as a function of policy.
+
+ Application Control Interfaces:
+ DAs support control interfaces for all managed applications.
+ Control interfaces are used to alter the configuration and
+ behavior of an application. These interfaces may be custom for
+ each application or as provided through a common framework,
+ protocol, or OS.
+
+7.3.2.2. Data Fusion
+
+ DAs generate new data elements as a function of the current state of
+ the managed device and its applications. These new data products may
+ take the form of individual data values or of new collections of data
+ used for reporting. The logical components responsible for these
+ behaviors are as follows.
+
+ Application Data Interfaces:
+ DAs support mechanisms by which important state is retrieved from
+ various applications resident on the managed device. These data
+ interfaces may be custom for each application or as provided
+ through a common framework, protocol, or OS.
+
+ Data Value Generators:
+ DAs may support the generation of new data values as a function of
+ other values collected from the managed device. These data
+ generators may be configured with descriptions of data values, and
+ the data values they generate may be included in the overall
+ monitoring and reporting associated with the managed device.
+
+ Report Generators:
+ DAs may, as appropriate, generate collections of data values and
+ provide them to whatever local mechanism takes responsibility for
+ their eventual transmission (or expiration and removal). Reports
+ can be generated as a matter of policy or in response to the
+ handling of critical events (such as errors) or other logging
+ needs. The generation of a report is independent of whether there
+ exists any connectivity between a DA and a DM.
+
+7.3.2.3. Administration
+
+ DAs perform a variety of administrative services in support of their
+ configuration, such as the following.
+
+ Manager Mapping:
+ The DTNMA allows for a many-to-many relationship amongst DAs and
+ DMs. A single DM may configure multiple DAs, and a single DA may
+ be configured by multiple DMs. Multiple managers may exist in a
+ network for at least the following two reasons. First, different
+ managers may exist to control different applications on a device.
+ Second, multiple managers increase the likelihood of an agent
+ encountering a manager when operating in a sparse or challenged
+ environment.
+
+ While multiple managers are needed for proper operation in a
+ dynamically partitioned network, conflicting information from
+ different managers can result. Implementations of the DTNMA
+ should consider conflict resolution mechanisms. Such mechanisms
+ might include analyzing managed content, time, agent location, or
+ other relevant information to select one manager input over other
+ manager inputs.
+
+ Data Verifiers:
+ DAs might handle large amounts of data produced by various
+ sources, to include data from local managed applications, remote
+ managers, and self-calculated values. DAs should ensure, when
+ possible, that externally generated data values have the proper
+ syntax and semantic constraints (e.g., data type and ranges) and
+ any required authorization.
+
+ Access Controllers:
+ DAs support authorized access to the management of individual
+ applications, to include the administrative management of the
+ agent itself. This means that a manager may only set policy on
+ the agent pursuant to verifying that the manager is authorized to
+ do so.
+
+7.3.3. Managing Applications and Services
+
+ Managing applications and services reside on a managing device and
+ serve as both the source of DA policy statements and the target of DA
+ reporting. They may operate with or without an operator in the loop.
+
+ Unlike management applications in unchallenged networks, these
+ applications cannot exert closed-loop control over any managed device
+ application. Instead, they exercise open-loop control by producing
+ policies that can be configured and enforced on managed devices by
+ DAs.
+
+ | NOTE: Closed-loop control in this context refers to the
+ | practice of waiting for a response from a managed device prior
+ | to issuing new commands to that device. These "loops" may be
+ | closed quickly (in milliseconds) or over much longer periods
+ | (hours, days, years). The alternative to closed-loop control
+ | is open-loop control, where the issuance of new commands is not
+ | dependent on receiving responses to previous commands.
+ | Additionally, there might not be a one-to-one mapping between
+ | commands and responses. A DA may, for example, produce a
+ | single response that represents the end state of applying
+ | multiple commands.
+
+7.3.4. DTNMA Manager (DM)
+
+ A DM resides on a managing device. This manager provides an
+ interface between various managing applications and services and the
+ DAs that enforce their policies. In providing this interface, DMs
+ translate between whatever innate interface exists to various
+ managing applications and the autonomy models used to encode
+ management policy.
+
+ The DM performs three major functions on a managing device: policy
+ encoding, reporting, and administration.
+
+7.3.4.1. Policy Encoding
+
+ DMs translate policy directives from managing applications and
+ services into standardized policy expressions that can be recognized
+ by DAs. The following logical components are used to perform this
+ policy encoding.
+
+ Application Control Interfaces:
+ DMs support control interfaces for managing applications. These
+ control interfaces are used to receive desired policy statements
+ from applications. These interfaces may be custom for each
+ application or as provided through a common framework, protocol,
+ or OS.
+
+ Policy Encoders:
+ DAs implement a standardized autonomy model comprising
+ standardized data elements. This allows the open-loop control
+ structures provided by managing applications to be represented in
+ a common language. Policy encoders perform this encoding
+ function.
+
+ Policy Aggregators:
+ DMs collect multiple encoded policies into messages that can be
+ sent to DAs over the network. This implies the proper addressing
+ of agents and the creation of messages that support store-and-
+ forward operations. It is recommended that control messages be
+ packaged using BP bundles when there may be intermittent
+ connectivity between DMs and DAs.
+
+7.3.4.2. Reporting
+
+ DMs receive reports on the status of managed devices during periods
+ of connectivity with the DAs on those devices. The following logical
+ components are needed to implement reporting capabilities on a DM.
+
+ Report Collectors:
+ DMs receive reports from DAs in an asynchronous manner. This
+ means that reports may be received out of chronological order and
+ in ways that are difficult or impossible to associate with a
+ specific policy from a managing application. DMs collect these
+ reports and extract their data in support of subsequent data
+ analytics.
+
+ Data Analyzers:
+ DMs review sets of data reports from DAs with the purpose of
+ extracting relevant data to communicate with managing
+ applications. This may include simple data extraction or may
+ include more complex processing such as data conversion, data
+ fusion, and appropriate data analytics.
+
+ Application Data Interfaces:
+ DMs support mechanisms by which data retrieved from DAs may be
+ provided back to managing devices. These interfaces may be custom
+ for each application or as provided through a common framework,
+ protocol, or OS.
+
+7.3.4.3. Administration
+
+ DMs in the DTNMA perform a variety of administrative services, such
+ as the following.
+
+ Agent Mappings:
+ The DTNMA allows DMs to communicate with multiple DAs. However,
+ not every agent in a network is expected to support the same set
+ of application data models or otherwise have the same set of
+ managed applications running. For this reason, DMs determine
+ individual DA capabilities to ensure that only appropriate
+ Controls are sent to a DA.
+
+ Data Verifiers:
+ DMs handle large amounts of data produced by various sources, to
+ include data from managing applications and DAs. DMs should
+ ensure, when possible, that data values received from DAs over a
+ network have the proper syntax and semantic constraints (e.g.,
+ data type and ranges) and any required authorization.
+
+ Access Controllers:
+ DMs should only send Controls to DAs when the manager is
+ configured with appropriate access to both the agent and the
+ applications being managed.
+
+7.3.5. Pre-Shared Definitions
+
+ A consequence of operating in a challenged environment is the
+ potential inability to negotiate information in real time. For this
+ reason, the DTNMA requires that managed and managing devices operate
+ using pre-shared definitions rather than relying on data definition
+ negotiation.
+
+ The three types of pre-shared definitions in the DTNMA are the DA
+ autonomy model, managed application data models, and any runtime data
+ shared by managers and agents.
+
+ Autonomy Model:
+ A DTNMA autonomy model represents the data elements and associated
+ autonomy structures that define the behavior of the agent autonomy
+ engine. A standardized autonomy model allows for individual
+ implementations of DAs and DMs to interoperate. A standardized
+ model also provides guidance to the design and implementation of
+ both managed and managing applications.
+
+ Application Data Models:
+ As with other network management architectures, the DTNMA
+ presupposes that managed applications (and services) define their
+ own data models. These data models include the data produced by,
+ and Controls implemented by, the application. These models are
+ expected to be static for individual applications and standardized
+ for applications implementing standard protocols.
+
+ Runtime Datastores:
+ Runtime datastores, by definition, include data that is defined at
+ runtime. As such, the data is not pre-shared prior to the
+ deployment of DMs and DAs. Pre-sharing in this context means that
+ DMs and DAs are able to define and synchronize data elements prior
+ to their operational use in the system. This synchronization
+ happens during periods of connectivity between DMs and DAs.
+
+8. Desired Services
+
+ This section describes the services provided by DTNMA components on
+ both managing and managed devices. Most of the services discussed in
+ this section attempt to provide continuous operation of a managed
+ device through periods of no connectivity with a managing device.
+
+8.1. Local Monitoring and Control
+
+ DTNMA monitoring is associated with some DA autonomy engine. The
+ term "monitoring" implies regular access to information such that
+ state changes may be acted upon within some response time period.
+
+ Predicate autonomy on a managed device should collect state
+ associated with the device at regular intervals and evaluate that
+ collected state for any changes that require a preventative or
+ corrective action. Similarly, this monitoring may cause the device
+ to generate one or more reports destined to a managing device.
+
+ Like monitoring, DTNMA control results in actions by the agent to
+ change the state or behavior of the managed device. All control in
+ the DTNMA is local control. In cases where there exists a timely
+ connection to a DM, received Controls are still evaluated and run
+ locally as part of local autonomy. In this case, the autonomy
+ stimulus is the receipt of the Control, and the response is to
+ immediately run the Control. In this way, there is never a
+ dependency on a session or other stateful exchange with any remote
+ entity.
+
+8.2. Local Data Fusion
+
+ DTNMA fusion services produce new data products from existing state
+ on the managed device. These fusion products can be anything from
+ simple summations of sampled counters to complex calculations of
+ behavior over time.
+
+ Fusion is an important service in the DTNMA because fusion products
+ are part of the overall state of a managed device. Complete
+ knowledge of this overall state is important for the management of
+ the device, and the predicates of rules on a DA may refer to fused
+ data.
+
+ In situ data fusion is an important function, as it allows for the
+ construction of intermediate summary data, the reduction of stored
+ and transmitted raw data, and possibly fewer predicates in rule
+ definitions; this type of data fusion insulates the data source from
+ conclusions drawn from that data.
+
+ The DTNMA requires fusion to occur on the managed device itself. If
+ the network is partitioned such that no connection to a managing
+ device is available, then fusion needs to happen locally. Similarly,
+ connections to a managing device might not remain active long enough
+ for round-trip data exchange or may not have the bandwidth to send
+ all sampled data.
+
+ | NOTE: The DTNMA does not restrict the storage and transmission
+ | of raw (pre-fused) data. Such raw data can be useful for
+ | debugging managed devices, understanding complex interactions
+ | and underlying conditions, and tuning for better performance
+ | and/or better outcomes.
+
+8.3. Remote Configuration
+
+ DTNMA configuration services update the local configuration of a
+ managed device with the intent of impacting the behavior and
+ capabilities of that device.
+
+ The DTNMA configuration service is unique in that the selection of
+ managed device configurations occurs as a function of the state of
+ the device. This implies that management proxies on the device store
+ multiple configuration functions that can be applied as needed
+ without consultation from a managing device.
+
+ This approach differs from other management concepts of selecting
+ from multiple datastores. DTNMA configuration functions can target
+ individual data elements and can calculate new values from local
+ device state.
+
+ When detecting stimuli, the agent autonomy engine supports a
+ mechanism for evaluating whether application monitoring data or
+ runtime data values are recent enough to indicate a change of state.
+ In cases where data has not been updated recently, it may be
+ considered stale and therefore not used to reliably indicate that
+ some stimulus has occurred.
+
+8.4. Remote Reporting
+
+ DTNMA reporting services collect information known to the managed
+ device and prepare it for eventual transmission to one or more
+ managing devices. The contents of these reports, and the frequency
+ at which they are generated, occur as a function of the state of the
+ managed device, independent of the managing device.
+
+ Once generated, it is expected that reports might be queued, pending
+ a connection back to a managing device. Therefore, reports need to
+ be differentiable as a function of the time they were generated.
+
+ | NOTE: When reports are queued pending transmission, the overall
+ | storage capacity at the queuing device needs to be considered.
+ | There may be cases where queued reports can be considered
+ | expired because they have been either queued for too long or
+ | replaced by a newer report. When a report is considered
+ | expired, it may be considered for removal and, thus, never
+ | transmitted. This consideration is expected to be part of the
+ | implementation of the queuing device and not the responsibility
+ | of the reporting function within the DTNMA.
+
+ When reports are sent to a managing device over a challenged network,
+ they may arrive out of order due to taking different paths through
+ the network or being delayed due to retransmissions. A managing
+ device should not infer meaning from the order in which reports are
+ received.
+
+ Reports may or may not be associated with a specific Control. Some
+ reports may be annotated with the Control that caused the report to
+ be generated. Sometimes, a single report will represent the end
+ state of applying multiple Controls.
+
+8.5. Authorization
+
+ Both local and remote services provided by the DTNMA affect the
+ behavior of multiple applications on a managed device and may
+ interface with multiple managing devices.
+
+ Authorization services enforce the potentially complex mapping of
+ other DTNMA services amongst managed and managing devices in the
+ network. For example, fine-grained access control can determine
+ which managing devices receive which reports, and what Controls can
+ be used to alter which managed applications.
+
+ This is particularly beneficial in networks that deal with either
+ multiple administrative entities or overlay networks that cross
+ administrative boundaries. Allowlists, blocklists, key-based
+ infrastructures, or other schemes may be used for this purpose.
+
+9. Logical Autonomy Model
+
+ An important characteristic of the DTNMA is the shift in the role of
+ a managing device. One way to describe the behavior of the agent
+ autonomy engine is to describe the characteristics of the autonomy
+ model it implements.
+
+ This section describes a logical autonomy model in terms of the
+ abstract data elements that would comprise the model. Defining
+ abstract data elements allows for an unambiguous discussion of the
+ behavior of an autonomy model without mandating a particular design,
+ encoding, or transport associated with that model.
+
+9.1. Overview
+
+ A managing autonomy capability on a potentially disconnected device
+ needs to behave in both an expressive and deterministic way.
+ Expressivity allows for the model to be configured for a wide range
+ of future situations. Determinism allows for the forensic
+ reconstruction of device behavior as part of debugging or recovery
+ efforts. It also is necessary to ensure predictable behavior.
+
+ | NOTE: The use of predicate logic and a stimulus-response system
+ | does not conflict with the use of higher-level autonomous
+ | functions or the incorporation of Machine Learning (ML).
+ | Specifically, the DTNMA deterministic autonomy model can
+ | coexist with other autonomous functions managing applications
+ | and network services.
+ |
+ | An example of such coexistence is the use of the DTNMA model to
+ | ensure that a device stays within safe operating parameters
+ | while a less deterministic ML model directs other behaviors for
+ | the device.
+
+ The DTNMA autonomy model is a rule-based model in which individual
+ rules associate a pre-identified stimulus with a preconfigured
+ response to that stimulus.
+
+ Stimuli are identified using one or more predicate logic expressions
+ that examine aspects of the state of the managed device. Responses
+ are implemented by running one or more procedures on the managed
+ device.
+
+ In its simplest form, a stimulus is a single predicate expression of
+ a condition that examines some aspect of the state of the managed
+ device. When the condition is met, a predetermined response is
+ applied. This behavior can be captured using the construct:
+
+ IF <condition 1> THEN <response 1>
+
+ In more complex forms, a stimulus may include both a common condition
+ shared by multiple rules and a specific condition for each individual
+ rule. If the common condition is not met, the evaluation of the
+ specific condition of each rule sharing the common condition can be
+ skipped. In this way, the total number of predicate evaluations can
+ be reduced. This behavior can be captured using the construct:
+
+ IF <common condition> THEN
+ IF <specific condition 1> THEN <response 1>
+ IF <specific condition 2> THEN <response 2>
+ IF <specific condition 3> THEN <response 3>
+
+ | NOTE: The DTNMA model remains a stimulus-response system,
+ | regardless of whether a common condition is part of the
+ | stimulus. However, it is recommended that implementations
+ | incorporate a common condition because of the efficiency
+ | provided by such a bulk evaluation.
+ |
+ | NOTE: One use of a stimulus "common condition" is to associate
+ | the condition with an onboard event such as the expiring of a
+ | timer or the changing of a monitored value.
+
+ The DTNMA does not prescribe when to evaluate rule stimuli.
+ Implementations may choose to evaluate rule stimuli at periodic
+ intervals (such as 1 Hz or 100 Hz). When stimuli include onboard
+ events, implementations may choose to perform an immediate evaluation
+ at the time of the event rather than waiting for a periodic
+ evaluation.
+
+ The flow of data into and out of the agent autonomy engine is
+ illustrated in Figure 3.
+
+ Managed Applications | DTNMA Agent | DTNMA Manager
+ +---------------------+--------------------------------+--------------+
+ | +---------+ |
+ | | Local | | Encoded
+ | | Rule DB |<-------------------- Policy
+ | +---------+ | Expressions
+ | ^ |
+ | | |
+ | v |
+ | +----------+ +---------+ |
+ Monitoring Data------>| Agent | | Runtime | |
+ | | Autonomy |<-->| Data- |<---- Definitions
+ Application Control<------| Engine | | store | |
+ | +----------+ +---------+ |
+ | | |
+ | +-------------------------> Reports
+ | |
+
+ Figure 3: DTNMA Autonomy Model
+
+ In the model shown in Figure 3, the autonomy engine stores the
+ combination of stimulus conditions and associated responses as a set
+ of "rules" in a rule database. This database is updated through the
+ execution of the autonomy engine and as configured from policy
+ statements received by DMs.
+
+ Stimuli are detected by examining the state of applications as
+ reported through application monitoring interfaces and through any
+ locally derived data. Local data is calculated in accordance with
+ definitions also provided by DMs as part of the runtime datastore.
+
+ Responses to stimuli may include updates to the rule database,
+ updates to the runtime datastore, Controls sent to applications, and
+ the generation of reports.
+
+9.2. Model Characteristics
+
+ There are several practical challenges to the implementation of a
+ distributed rule-based system. Large numbers of rules may be
+ difficult to understand, deconflict, and debug. Rules whose
+ conditions are given by fused or other dynamic data may require data
+ logging and reporting for deterministic offline analysis. Rule
+ differences across managed devices may lead to oscillating effects.
+ This section identifies those characteristics of an autonomy model
+ that might help implementations mitigate some of these challenges.
+
+ There are a number of ways to represent data values, and many data
+ modeling languages exist for this purpose. When considering how to
+ model data in the context of the DTNMA autonomy model, there are some
+ modeling features that should be present to enable functionality.
+ There are also some modeling features that should be prevented to
+ avoid ambiguity.
+
+ Conventional network management approaches favor flexibility in their
+ data models. The DTNMA stresses deterministic behavior that supports
+ forensic analysis of agent activities "after the fact". As such, the
+ following statements should be true of all data representations
+ relating to DTNMA autonomy.
+
+ Strong Typing: The predicates and expressions that comprise the
+ autonomy services in the DTNMA should require strict data typing.
+ This avoids errors associated with implicit data conversions and
+ helps detect misconfigurations.
+
+ Acyclic Dependency: Many dependencies exist in an autonomy model,
+ particularly when combining individual expressions or results to
+ create complex behaviors. Implementations that conform to the
+ DTNMA need to prevent circular dependencies.
+
+ Fresh Data: Autonomy models operating on data values presume that
+ their data inputs represent the actionable state of the managed
+ device. If a data value has failed to be refreshed within a time
+ period, autonomy might incorrectly infer an operational state.
+ Regardless of whether a data value has changed, DTNMA
+ implementations should provide some indicator of whether the data
+ value is "fresh", i.e., meaning that it still represents the
+ current state of the device.
+
+ Pervasive Parameterization: Where possible, autonomy model objects
+ should support parameterization to allow for flexibility in the
+ specification. Parameterization allows for the definition of
+ fewer unique model objects and also can support the substitution
+ of local device state when exercising device control or data
+ reporting.
+
+ Configurable Cardinality: The number of data values that can be
+ supported in a given implementation is finite. For devices
+ operating in challenged environments, the number of supported
+ objects may be far fewer than the number of objects that can be
+ supported by devices in well-resourced environments. DTNMA
+ implementations should define limits to the number of supported
+ objects that can be active in a system at one time, as a function
+ of the resources available to the implementation.
+
+ Control-Based Updates: The agent autonomy engine changes the state
+ of the managed device by running Controls on the device. This is
+ different from approaches where the behavior of a managed device
+ is influenced by updating configuration values, such as in a table
+ or datastore. Altering behavior via one or more Controls allows
+ checking all preconditions before making changes as well as
+ providing more granularity in the way in which the device is
+ updated. Where necessary, Controls can be defined to perform bulk
+ updates of configuration data so as not to lose that update
+ modality. One important update precondition is that the system is
+ not performing an action that would prevent the update (such as
+ currently applying a competing update).
+
+9.3. Data Value Representation
+
+ The expressive representation of simple data values is fundamental to
+ the successful construction and evaluation of predicates in the DTNMA
+ autonomy model. When defining such values, there are useful
+ distinctions regarding how values are identified and whether values
+ are generated in a way that is internal or external to the autonomy
+ model.
+
+ A DTNMA data value should combine a base type (e.g., integer, real,
+ string) representation with relevant semantic information. Base
+ types are used for proper storage and encoding. Semantic information
+ allows for additional typing, constraint definitions, and mnemonic
+ naming. This expanded definition of data values allows for better
+ predicate construction, better evaluation, and early type checking.
+
+ Data values may further be annotated based on whether their value is
+ the result of a DA calculation or the result of some external process
+ on the managed device. For example, operators may wish to know which
+ values can be updated by actions on the DA versus which values (such
+ as sensor readings) cannot be reliably changed because they are
+ calculated in a way that is external to the DA.
+
+9.4. Data Reporting
+
+ The DTNMA autonomy model should, as required, report on the state of
+ its managed device (to include the state of the model itself). This
+ reporting should be done as a function of the changing state of the
+ managed device, independent of the connection to any managing device.
+ Queuing reports allows for later forensic analysis of device
+ behavior; this feature is a desirable property of DTNMA management.
+
+ DTNMA data reporting consists of the production of some data report
+ instance conforming to a data report schema. The use of schemas
+ allows a report instance to identify the schema to which it conforms
+ instead of carrying the structure in the report itself. This
+ approach can significantly reduce the size of generated reports.
+
+ The DTNMA data reporting concept is intentionally distinct from the
+ concept of exchanging datastores across a network. It is envisioned
+ that a DA might generate a data report instance of a data report
+ schema at regular intervals or in response to local events. In this
+ model, many report schemas may be defined to capture unique, relevant
+ combinations of known data values rather than sending bulk datastores
+ off-platform for analysis.
+
+ | NOTE: It is not required that data report schemas be tabular in
+ | nature. Individual implementations might define tabular
+ | schemas for table-like data and other report schemas for more
+ | heterogeneous reporting.
+
+9.5. Command Execution
+
+ The agent autonomy engine requires that managed devices issue
+ commands on themselves as if they were otherwise being controlled by
+ a managing device. The DTNMA implements commanding through the use
+ of Controls and macros.
+
+ Controls represent parameterized, predefined procedures run by the DA
+ either as directed by the DM or as part of a rule response from the
+ DA autonomy engine. Macros represent ordered sequences of Controls.
+
+ Controls are conceptually similar to RPCs in that they represent
+ parameterized functions run on the managed device. However, they are
+ conceptually dissimilar to RPCs in that they do not have a concept of
+ a return code because they operate over an asynchronous transport.
+ The concept of a return code in an RPC implies a synchronous
+ relationship between the caller of the procedure and the procedure
+ being called, which might not be possible within the DTNMA.
+
+ The success or failure of a Control may be handled locally by the
+ agent autonomy engine. Local error handling is particularly
+ important in this architecture, given the potential for long periods
+ of disconnectivity between a DA and a DM. The failure of one or more
+ Controls is part of the state of the DA and can be used to trigger
+ rules within the DA autonomy engine.
+
+ The impact of a Control is externally observable via the generation
+ and eventual examination of data reports produced by the managed
+ device.
+
+ The failure of certain Controls might leave a managed device in an
+ undesirable state. Therefore, it is important that there be
+ consideration for Control-specific recovery mechanisms (such as a
+ rollback or safing mechanism). When a Control that is part of a
+ macro (such as in an autonomy response) fails, there may be a need to
+ implement a safe state for the managed device based on the nature of
+ the failure.
+
+ | NOTE: The use of the term "Control" in the DTNMA is derived in
+ | part from the concept of Command and Control (C2), where
+ | control implies the operational instructions undertaken to
+ | implement (or maintain) a commanded objective. The DA autonomy
+ | engine implements controls on a managed device to allow it to
+ | fulfill some commanded objective known by a (possibly
+ | disconnected) managing device.
+ |
+ | For example, a device might be commanded to maintain a safe
+ | internal thermal environment. Actions taken by a DA to manage
+ | heaters, louvers, and other temperature-affecting components
+ | are controls taken in service of that commanded objective.
+
+9.6. Predicate Autonomy Rules
+
+ As discussed in Section 9.1, the DTNMA rule-based stimulus-response
+ system associates stimulus detection with a predetermined response.
+ Rules may be categorized based on whether (1) their stimuli include
+ generic statements of managed device state or (2) they are optimized
+ to only consider the passage of time on the device.
+
+ State-based rules are those whose stimulus is based on the evaluated
+ state of the managed device. Time-based rules are a unique subset of
+ state-based rules whose stimulus is given only by a time-based event.
+ Implementations might create different structures and evaluation
+ mechanisms for these two different types of rules to achieve more
+ efficient processing on a platform.
+
+10. Use Cases
+
+ Using the autonomy model defined in Section 9, this section describes
+ flows through sample configurations conforming to the DTNMA. These
+ use cases illustrate remote configuration, local monitoring and
+ control, support for multiple DMs, and data fusion.
+
+10.1. Notation
+
+ The use cases presented in this section are documented with a
+ shorthand notation to describe the types of data sent between
+ managers and agents. This notation, outlined in Table 1, leverages
+ the definitions of the autonomy model components defined in
+ Section 9.
+
+ +==============+=======================================+===========+
+ | Term | Definition | Example |
+ +==============+=======================================+===========+
+ | EDD# | Externally Defined Data -- a data | EDD1, |
+ | | value defined in a way that is | EDD2 |
+ | | external to the DA. | |
+ +--------------+---------------------------------------+-----------+
+ | V# | Variable -- a data value defined in a | V1 = EDD1 |
+ | | way that is internal to the DA. | + 7 |
+ +--------------+---------------------------------------+-----------+
+ | EXPR | Predicate expression -- used to | V1 > 5 |
+ | | define a rule stimulus. | |
+ +--------------+---------------------------------------+-----------+
+ | ID | DTNMA Object Identifier. | V1, EDD2 |
+ +--------------+---------------------------------------+-----------+
+ | ACL# | Enumerated Access Control List. | ACL1 |
+ +--------------+---------------------------------------+-----------+
+ | DEF(ACL, ID, | Define "ID" from expression. Allow | DEF(ACL1, |
+ | EXPR) | DMs in ACL to see this ID. | V1, EDD1 |
+ | | | + EDD2) |
+ +--------------+---------------------------------------+-----------+
+ | PROD(P, ID) | Produce "ID" according to predicate | PROD(1s, |
+ | | P. P may be a time period (1 second, | EDD1) |
+ | | or 1s) or an expression (EDD1 > 10). | |
+ +--------------+---------------------------------------+-----------+
+ | RPT(ID) | A report instance containing data | RPT(EDD1) |
+ | | named "ID". | |
+ +--------------+---------------------------------------+-----------+
+
+ Table 1: Terminology
+
+ These notations do not imply any implementation approach. They only
+ provide a succinct syntax for expressing the data flows in the use
+ case diagrams in the remainder of this section.
+
+10.2. Serialized Management
+
+ This nominal configuration shows a single DM interacting with
+ multiple DAs. The control flow for this scenario is outlined in
+ Figure 4.
+
+ +-----------+ +---------+ +---------+
+ | DTNMA | | DTNMA | | DTNMA |
+ | Manager A | | Agent A | | Agent B |
+ +----+------+ +----+----+ +----+----+
+ | | |
+ |-----PROD(1s, EDD1)--->| | (1)
+ |----------------------------PROD(1s, EDD1)-->|
+ | | |
+ | | |
+ |<-------RPT(EDD1)------| | (2)
+ |<----------------------------RPT(EDD1)-------|
+ | | |
+ | | |
+ |<-------RPT(EDD1)------| |
+ |<----------------------------RPT(EDD1)-------|
+ | | |
+ | | |
+ |<-------RPT(EDD1)------| |
+ |<----------------------------RPT(EDD1)-------|
+ | | |
+
+ Figure 4: Serialized Management Control Flow
+
+ In a serialized management scenario, a single DM interacts with
+ multiple DAs.
+
+ In this figure, DM A sends a policy to DAs A and B to report the
+ value of an EDD (EDD1) every second (step 1). Each DA receives this
+ policy and configures their respective autonomy engines for this
+ production. Thereafter (step 2), each DA produces a report
+ containing data element EDD1; each such report is then sent back to
+ the DM.
+
+ This behavior continues without any additional communications from
+ the DM.
+
+10.3. Intermittent Connectivity
+
+ Building on the nominal configuration discussed in Section 10.2, this
+ scenario shows a challenged network in which connectivity between DA
+ B and the DM is temporarily lost. The control flow for this case is
+ outlined in Figure 5.
+
+ +-----------+ +---------+ +---------+
+ | DTNMA | | DTNMA | | DTNMA |
+ | Manager A | | Agent A | | Agent B |
+ +----+------+ +----+----+ +----+----+
+ | | |
+ |-----PROD(1s, EDD1)--->| | (1)
+ |----------------------------PROD(1s, EDD1)-->|
+ | | |
+ | | |
+ |<-------RPT(EDD1)------| | (2)
+ |<----------------------------RPT(EDD1)-------|
+ | | |
+ | | |
+ |<-------RPT(EDD1)------| |
+ |<----------------------------RPT(EDD1)-------|
+ | | |
+ | | |
+ |<-------RPT(EDD1)------| |
+ | | RPT(EDD1)| (3)
+ | | |
+ | | |
+ |<-------RPT(EDD1)------| |
+ | | RPT(EDD1)| (4)
+ | | |
+ | | |
+ |<-------RPT(EDD1)------| |
+ |<----------------RPT(EDD1), RPT(EDD1)--------| (5)
+ | | |
+
+ Figure 5: Challenged Management Control Flow
+
+ In a challenged network, DAs store reports, pending a transmit
+ opportunity.
+
+ In this figure, DM A sends a policy to DAs A and B to produce an EDD
+ (EDD1) every second (step 1). Each DA receives this policy and
+ configures their respective autonomy engines for this production.
+ Produced reports are transmitted when there is connectivity between
+ the DA and DM (step 2).
+
+ At some point, DA B loses the ability to transmit in the network
+ (steps 3 and 4). During this time period, DA B continues to produce
+ reports, but they are queued for transmission. This queuing might be
+ done by the DA itself or by a supporting transport such as BP.
+ Eventually (and before the next scheduled production of EDD1), DA B
+ is able to transmit in the network again (step 5), and all queued
+ reports are sent at that time. DA A maintains connectivity with the
+ DM during steps 3-5 and continues to send reports as they are
+ generated.
+
+10.4. Open-Loop Reporting
+
+ This scenario illustrates the DTNMA open-loop control paradigm, where
+ DAs manage themselves in accordance with policies provided by DMs and
+ provide reports to DMs based on these policies.
+
+ The control flow shown in Figure 6 includes an example of data
+ fusion, where multiple policies configured by a DM result in a single
+ report from a DA.
+
+ +-----------+ +---------+ +---------+
+ | DTNMA | | DTNMA | | DTNMA |
+ | Manager A | | Agent A | | Agent B |
+ +----+------+ +----+----+ +----+----+
+ | | |
+ |-----PROD(1s, EDD1)--->| | (1)
+ |----------------------------PROD(1s, EDD1)-->|
+ | | |
+ | | |
+ |<-------RPT(EDD1)------| | (2)
+ |<----------------------------RPT(EDD1)-------|
+ | | |
+ | | |
+ |----------------------------PROD(1s, EDD2)-->| (3)
+ | | |
+ | | |
+ |<-------RPT(EDD1)------| |
+ |<-------------------------RPT(EDD1, EDD2)----| (4)
+ | | |
+ | | |
+ |<-------RPT(EDD1)------| |
+ |<-------------------------RPT(EDD1, EDD2)----|
+ | | |
+
+ Figure 6: Consolidated Management Control Flow
+
+ A many-to-one mapping between management policy and device state
+ reporting is supported by the DTNMA.
+
+ In this figure, DM A sends a policy statement in the form of a rule
+ to DAs A and B, which instructs the DAs to produce a report for EDD1
+ every second (step 1). Each DA receives this policy, which is stored
+ in its respective rule database, and configures its autonomy engine.
+ Reports are transmitted by each DA when produced (step 2).
+
+ At a later time, DM A sends an additional policy to DA B, requesting
+ the production of a report for EDD2 every second (step 3). This
+ policy is added to DA B's rule database.
+
+ Following this policy update, DA A will continue to produce EDD1, and
+ DA B will produce both EDD1 and EDD2 (step 4). However, DA B may
+ provide these values to the DM in a single report rather than as two
+ independent reports. In this way, there is no direct mapping between
+ the consolidated reports sent by DA B (from step 4 onwards) and the
+ two different policies sent to DA B (steps 1 and 3) that produce the
+ information included in those consolidated reports.
+
+10.5. Multiple Administrative Domains
+
+ The managed applications on a DA may be controlled by different
+ administrative entities in a network. The DTNMA allows DAs to
+ communicate with multiple DMs in the network, such as in cases where
+ there is one DM per administrative domain.
+
+ Whenever a DM sends a policy expression to a DA, that policy
+ expression may be associated with authorization information. One
+ method of representing this is an ACL.
+
+ The use of an ACL in this use case does not imply that the DTNMA
+ requires ACLs to annotate policy expressions. ACLs and their
+ representation in this context are for example purposes only.
+
+ The ability of one DM to access the results of policy expressions
+ configured by some other DM will be limited to the authorization
+ annotations of those policy expressions.
+
+ An example of multi-manager authorization is illustrated in Figure 7.
+
+ +-----------+ +---------+ +-----------+
+ | DTNMA | | DTNMA | | DTNMA |
+ | Manager A | | Agent A | | Manager B |
+ +-----+-----+ +----+----+ +-----+-----+
+ | | |
+ |--DEF(ACL1, V1, EDD1*2)-->|<---DEF(ACL2, V2, EDD2*2)---| (1)
+ | | |
+ |---PROD(1s, V1)---------->|<---PROD(1s, V2)------------| (2)
+ | | |
+ |<--------RPT(V1)----------| | (3)
+ | |--------RPT(V2)------------>|
+ |<--------RPT(V1)----------| |
+ | |--------RPT(V2)------------>|
+ | | |
+ | |<---PROD(1s, V1)------------| (4)
+ | | |
+ | |---ERR(V1 not permitted)--->|
+ | | |
+ |--DEF(NULL, V3, EDD3*3)-->| | (5)
+ | | |
+ |---PROD(1s, V3)---------->| | (6)
+ | | |
+ | |<----PROD(1s, V3)-----------|
+ | | |
+ |<--------RPT(V3)----------|--------RPT(V3)------------>| (7)
+ |<--------RPT(V1)----------| |
+ | |--------RPT(V2)------------>|
+ |<-------RPT(V3)-----------|--------RPT(V3)------------>|
+ |<-------RPT(V1)-----------| |
+ | |--------RPT(V2)------------>|
+
+ Figure 7: Multiplexed Management Control Flow
+
+ Multiple DMs may interface with a single DA, particularly in complex
+ networks.
+
+ In this figure, both DM A and DM B send policies to DA A (step 1).
+ DM A defines a variable (V1) whose value is given by the mathematical
+ expression (EDD1 * 2) and is associated with an ACL (ACL1) that
+ restricts access to V1 to DM A only. Similarly, DM B defines a
+ variable (V2) whose value is given by the mathematical expression
+ (EDD2 * 2) and is associated with an ACL (ACL2) that restricts access
+ to V2 to DM B only.
+
+ Both DM A and DM B also send policies to DA A to report on the values
+ of their variables at 1-second intervals (step 2). Since DM A can
+ access V1 and DM B can access V2, there is no authorization issue
+ with these policies, and they are both accepted by the autonomy
+ engine on DA A. DA A produces reports as expected, sending them to
+ their respective managers (step 3).
+
+ Later (step 4), DM B attempts to configure DA A to also report to it
+ the value of V1. Since DM B does not have authorization to view this
+ variable, DA A does not include this in the configuration of its
+ autonomy engine; instead, some indication of a permission error is
+ included in any regular reporting back to DM B.
+
+ DM A also sends a policy to DA A (step 5) that defines a variable
+ (V3) whose value is given by the mathematical expression (EDD3 * 3)
+ and is not associated with an ACL, indicating that any DM can access
+ V3. In this instance, both DM A and DM B can then send policies to
+ DA A to report the value of V3 (step 6). Since there is no
+ authorization restriction on V3, these policies are accepted by the
+ autonomy engine on DA A, and reports are sent to both DM A and DM B
+ over time (step 7).
+
+10.6. Cascading Management
+
+ There are times when a single network device may serve as both a DM
+ for other DAs in the network and, itself, as a device managed by
+ someone else. This may be the case on nodes serving as gateways or
+ proxies. The DTNMA accommodates this case by allowing a single
+ device to run both a DA and a DM.
+
+ An example of this configuration is illustrated in Figure 8.
+
+ ---------------------------------------
+ | Node B |
+ | |
+ +-----------+ | +-----------+ +---------+ | +---------+
+ | DTNMA | | | DTNMA | | DTNMA | | | DTNMA |
+ | Manager A | | | Manager B | | Agent B | | | Agent C |
+ +---+-------+ | +-----+-----+ +----+----+ | +----+----+
+ | | | | | |
+ |----------DEF(NULL, V0, EDD1 + EDD2)-->| | | (1)
+ |-------------PROD(1s, V0)------------->| | |
+ | | | | | |
+ | | |-PROD(1s, EDD1)-->| | | (2)
+ | | |--------------------PROD(1s, EDD2)-->| (2)
+ | | | | | |
+ | | | | | |
+ | | |<----RPT(EDD1)----| | | (3)
+ | | |<--------------------RPT(EDD2)-------| (3)
+ | | | | | |
+ |<-------------RPT(V0)------------------| | | (4)
+ | | | | | |
+ | | | | | |
+ | |
+ | |
+ ---------------------------------------
+
+ Figure 8: Cascading Management Control Flow
+
+ A device can operate as both a DM and a DA.
+
+ In this example, we presume that DA B is able to sample a given EDD
+ (EDD1) and that DA C is able to sample a different EDD (EDD2). Node
+ B houses DM B (which controls DA C) and DA B (which is controlled by
+ DM A). DM A must periodically receive some new value that is
+ calculated as a function of both EDD1 and EDD2.
+
+ First, DM A sends a policy to DA B to define a variable (V0) whose
+ value is given by the mathematical expression (EDD1 + EDD2) without a
+ restricting ACL. Further, DM A sends a policy to DA B to report on
+ the value of V0 every second (step 1).
+
+ DA B needs the ability to monitor both EDD1 and EDD2 to produce V0.
+ DA B is able to sample EDD1, so DM B sends a policy to DA B to report
+ on the value of EDD1. However, the only way to receive EDD2 values
+ is to have them reported back to Node B by DA C and included in the
+ Node B runtime datastores. Therefore, DM B also sends a policy to DA
+ C to report on the value of EDD2 (step 2).
+
+ DA B receives the policy in its autonomy engine and produces reports
+ on the value of EDD2 every second. Similarly, DA C receives the
+ policy in its autonomy engine and produces reports on the value of
+ EDD2 every second (step 3).
+
+ DA B may locally sample EDD1 and EDD2 and uses that to compute values
+ of V0 and report on those values at regular intervals to DM A (step
+ 4).
+
+ While a trivial example, the mechanism of associating fusion with the
+ DA function rather than the DM function scales with fusion
+ complexity. Within the DTNMA, DAs and DMs are not required to be
+ separate software implementations. There may be a single software
+ application running on Node B implementing both DM B and DA B roles.
+
+11. IANA Considerations
+
+ This document has no IANA actions.
+
+12. Security Considerations
+
+ Security within a DTNMA exists in at least the following two layers:
+ security in the data model and security in the messaging and encoding
+ of the data model.
+
+ Data model security refers to the validity and accessibility of data
+ elements. For example, a data element might be available to certain
+ DAs or DMs in a system, whereas the same data element may be hidden
+ from other DAs or DMs. Both verification and authorization
+ mechanisms at DAs and DMs are important to achieve this type of
+ security.
+
+ | NOTE: One way to provide finer-grained application security is
+ | through the use of ACLs that would be defined as part of the
+ | configuration of DAs and DMs. It is expected that many common
+ | data model tools provide mechanisms for the definition of ACLs
+ | and best practices for their operational use.
+
+ The exchange of information between and amongst DAs and DMs in the
+ DTNMA is expected to be accomplished through some secured messaging
+ transport.
+
+13. Informative References
+
+ [ASN.1] ITU-T, "Information technology - Abstract Syntax Notation
+ One (ASN.1): Specification of basic notation", ITU-T
+ Recommendation X.680, ISO/IEC 8824-1:2021, February 2021,
+ <https://www.itu.int/rec/T-REC-X.680>.
+
+ [CORE-COMI]
+ Veillette, M., Ed., van der Stok, P., Ed., Pelov, A., Ed.,
+ Bierman, A., and C. Bormann, Ed., "CoAP Management
+ Interface (CORECONF)", Work in Progress, Internet-Draft,
+ draft-ietf-core-comi-19, 3 November 2024,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-core-
+ comi-19>.
+
+ [DART] Tropf, B. T., Haque, M., Behrooz, N., and C. Krupiarz,
+ "The DART Autonomy System", DOI 10.1109/SMC-
+ IT56444.2023.00020, August 2023,
+ <https://ieeexplore.ieee.org/abstract/document/10207457>.
+
+ [gNMI] Borman, P., Hines, M., Lebsack, C., Morrow, C., Shaikh,
+ A., Shakir, R., Li, W., and D. Loher, "gRPC Network
+ Management Interface (gNMI)", Version 10.0, May 2023,
+ <https://www.openconfig.net/docs/gnmi/gnmi-
+ specification/>.
+
+ [gRPC] gRPC Authors, "gRPC Documentation", 2024,
+ <https://grpc.io/docs/>.
+
+ [IPMI] Intel, Hewlett-Packard, NEC, and Dell, "Intelligent
+ Platform Management Interface Specification, Second
+ Generation", Version 2.0, October 2013,
+ <https://www.intel.la/content/dam/www/public/us/en/
+ documents/specification-updates/ipmi-intelligent-platform-
+ mgt-interface-spec-2nd-gen-v2-0-spec-update.pdf>.
+
+ [NEW-HORIZONS]
+ Moore, R. C., "Autonomous safeing and fault protection for
+ the New Horizons mission to Pluto", Acta Astronautica,
+ Volume 61, Issues 1-6, June-August 2007, Pages 398-405,
+ DOI 10.1016/j.actaastro.2007.01.009, August 2007,
+ <https://www.sciencedirect.com/science/article/pii/
+ S0094576507000604>.
+
+ [PROTOCOL-BUFFERS]
+ Stuart, S. and R. Fernando, "Encoding rules and MIME type
+ for Protocol Buffers", Work in Progress, Internet-Draft,
+ draft-rfernando-protocol-buffers-00, 8 October 2012,
+ <https://datatracker.ietf.org/doc/html/draft-rfernando-
+ protocol-buffers-00>.
+
+ [RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J.
+ Schoenwaelder, Ed., "Structure of Management Information
+ Version 2 (SMIv2)", STD 58, RFC 2578,
+ DOI 10.17487/RFC2578, April 1999,
+ <https://www.rfc-editor.org/info/rfc2578>.
+
+ [RFC2982] Kavasseri, R., Ed., "Distributed Management Expression
+ MIB", RFC 2982, DOI 10.17487/RFC2982, October 2000,
+ <https://www.rfc-editor.org/info/rfc2982>.
+
+ [RFC3165] Levi, D. and J. Schoenwaelder, "Definitions of Managed
+ Objects for the Delegation of Management Scripts",
+ RFC 3165, DOI 10.17487/RFC3165, August 2001,
+ <https://www.rfc-editor.org/info/rfc3165>.
+
+ [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart,
+ "Introduction and Applicability Statements for Internet-
+ Standard Management Framework", RFC 3410,
+ DOI 10.17487/RFC3410, December 2002,
+ <https://www.rfc-editor.org/info/rfc3410>.
+
+ [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An
+ Architecture for Describing Simple Network Management
+ Protocol (SNMP) Management Frameworks", STD 62, RFC 3411,
+ DOI 10.17487/RFC3411, December 2002,
+ <https://www.rfc-editor.org/info/rfc3411>.
+
+ [RFC3414] Blumenthal, U. and B. Wijnen, "User-based Security Model
+ (USM) for version 3 of the Simple Network Management
+ Protocol (SNMPv3)", STD 62, RFC 3414,
+ DOI 10.17487/RFC3414, December 2002,
+ <https://www.rfc-editor.org/info/rfc3414>.
+
+ [RFC3416] Presuhn, R., Ed., "Version 2 of the Protocol Operations
+ for the Simple Network Management Protocol (SNMP)",
+ STD 62, RFC 3416, DOI 10.17487/RFC3416, December 2002,
+ <https://www.rfc-editor.org/info/rfc3416>.
+
+ [RFC3417] Presuhn, R., Ed., "Transport Mappings for the Simple
+ Network Management Protocol (SNMP)", STD 62, RFC 3417,
+ DOI 10.17487/RFC3417, December 2002,
+ <https://www.rfc-editor.org/info/rfc3417>.
+
+ [RFC3418] Presuhn, R., Ed., "Management Information Base (MIB) for
+ the Simple Network Management Protocol (SNMP)", STD 62,
+ RFC 3418, DOI 10.17487/RFC3418, December 2002,
+ <https://www.rfc-editor.org/info/rfc3418>.
+
+ [RFC4838] Cerf, V., Burleigh, S., Hooke, A., Torgerson, L., Durst,
+ R., Scott, K., Fall, K., and H. Weiss, "Delay-Tolerant
+ Networking Architecture", RFC 4838, DOI 10.17487/RFC4838,
+ April 2007, <https://www.rfc-editor.org/info/rfc4838>.
+
+ [RFC4949] Shirey, R., "Internet Security Glossary, Version 2",
+ FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007,
+ <https://www.rfc-editor.org/info/rfc4949>.
+
+ [RFC5591] Harrington, D. and W. Hardaker, "Transport Security Model
+ for the Simple Network Management Protocol (SNMP)",
+ STD 78, RFC 5591, DOI 10.17487/RFC5591, June 2009,
+ <https://www.rfc-editor.org/info/rfc5591>.
+
+ [RFC5592] Harrington, D., Salowey, J., and W. Hardaker, "Secure
+ Shell Transport Model for the Simple Network Management
+ Protocol (SNMP)", RFC 5592, DOI 10.17487/RFC5592, June
+ 2009, <https://www.rfc-editor.org/info/rfc5592>.
+
+ [RFC5652] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70,
+ RFC 5652, DOI 10.17487/RFC5652, September 2009,
+ <https://www.rfc-editor.org/info/rfc5652>.
+
+ [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
+ and A. Bierman, Ed., "Network Configuration Protocol
+ (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
+ <https://www.rfc-editor.org/info/rfc6241>.
+
+ [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
+ Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
+ <https://www.rfc-editor.org/info/rfc6242>.
+
+ [RFC6353] Hardaker, W., "Transport Layer Security (TLS) Transport
+ Model for the Simple Network Management Protocol (SNMP)",
+ STD 78, RFC 6353, DOI 10.17487/RFC6353, July 2011,
+ <https://www.rfc-editor.org/info/rfc6353>.
+
+ [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types",
+ RFC 6991, DOI 10.17487/RFC6991, July 2013,
+ <https://www.rfc-editor.org/info/rfc6991>.
+
+ [RFC7228] Bormann, C., Ersue, M., and A. Keranen, "Terminology for
+ Constrained-Node Networks", RFC 7228,
+ DOI 10.17487/RFC7228, May 2014,
+ <https://www.rfc-editor.org/info/rfc7228>.
+
+ [RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained
+ Application Protocol (CoAP)", RFC 7252,
+ DOI 10.17487/RFC7252, June 2014,
+ <https://www.rfc-editor.org/info/rfc7252>.
+
+ [RFC7575] Behringer, M., Pritikin, M., Bjarnason, S., Clemm, A.,
+ Carpenter, B., Jiang, S., and L. Ciavaglia, "Autonomic
+ Networking: Definitions and Design Goals", RFC 7575,
+ DOI 10.17487/RFC7575, June 2015,
+ <https://www.rfc-editor.org/info/rfc7575>.
+
+ [RFC7589] Badra, M., Luchuk, A., and J. Schoenwaelder, "Using the
+ NETCONF Protocol over Transport Layer Security (TLS) with
+ Mutual X.509 Authentication", RFC 7589,
+ DOI 10.17487/RFC7589, June 2015,
+ <https://www.rfc-editor.org/info/rfc7589>.
+
+ [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
+ RFC 7950, DOI 10.17487/RFC7950, August 2016,
+ <https://www.rfc-editor.org/info/rfc7950>.
+
+ [RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG",
+ RFC 7951, DOI 10.17487/RFC7951, August 2016,
+ <https://www.rfc-editor.org/info/rfc7951>.
+
+ [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
+ Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
+ <https://www.rfc-editor.org/info/rfc8040>.
+
+ [RFC8199] Bogdanovic, D., Claise, B., and C. Moberg, "YANG Module
+ Classification", RFC 8199, DOI 10.17487/RFC8199, July
+ 2017, <https://www.rfc-editor.org/info/rfc8199>.
+
+ [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger,
+ "Common YANG Data Types for the Routing Area", RFC 8294,
+ DOI 10.17487/RFC8294, December 2017,
+ <https://www.rfc-editor.org/info/rfc8294>.
+
+ [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration
+ Access Control Model", STD 91, RFC 8341,
+ DOI 10.17487/RFC8341, March 2018,
+ <https://www.rfc-editor.org/info/rfc8341>.
+
+ [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
+ and R. Wilton, "Network Management Datastore Architecture
+ (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018,
+ <https://www.rfc-editor.org/info/rfc8342>.
+
+ [RFC8368] Eckert, T., Ed. and M. Behringer, "Using an Autonomic
+ Control Plane for Stable Connectivity of Network
+ Operations, Administration, and Maintenance (OAM)",
+ RFC 8368, DOI 10.17487/RFC8368, May 2018,
+ <https://www.rfc-editor.org/info/rfc8368>.
+
+ [RFC8639] Voit, E., Clemm, A., Gonzalez Prieto, A., Nilsen-Nygaard,
+ E., and A. Tripathy, "Subscription to YANG Notifications",
+ RFC 8639, DOI 10.17487/RFC8639, September 2019,
+ <https://www.rfc-editor.org/info/rfc8639>.
+
+ [RFC8641] Clemm, A. and E. Voit, "Subscription to YANG Notifications
+ for Datastore Updates", RFC 8641, DOI 10.17487/RFC8641,
+ September 2019, <https://www.rfc-editor.org/info/rfc8641>.
+
+ [RFC8990] Bormann, C., Carpenter, B., Ed., and B. Liu, Ed., "GeneRic
+ Autonomic Signaling Protocol (GRASP)", RFC 8990,
+ DOI 10.17487/RFC8990, May 2021,
+ <https://www.rfc-editor.org/info/rfc8990>.
+
+ [RFC8993] Behringer, M., Ed., Carpenter, B., Eckert, T., Ciavaglia,
+ L., and J. Nobre, "A Reference Model for Autonomic
+ Networking", RFC 8993, DOI 10.17487/RFC8993, May 2021,
+ <https://www.rfc-editor.org/info/rfc8993>.
+
+ [RFC9113] Thomson, M., Ed. and C. Benfield, Ed., "HTTP/2", RFC 9113,
+ DOI 10.17487/RFC9113, June 2022,
+ <https://www.rfc-editor.org/info/rfc9113>.
+
+ [RFC9171] Burleigh, S., Fall, K., and E. Birrane, III, "Bundle
+ Protocol Version 7", RFC 9171, DOI 10.17487/RFC9171,
+ January 2022, <https://www.rfc-editor.org/info/rfc9171>.
+
+ [RFC9172] Birrane, III, E. and K. McKeever, "Bundle Protocol
+ Security (BPSec)", RFC 9172, DOI 10.17487/RFC9172, January
+ 2022, <https://www.rfc-editor.org/info/rfc9172>.
+
+ [RFC9254] Veillette, M., Ed., Petrov, I., Ed., Pelov, A., Bormann,
+ C., and M. Richardson, "Encoding of Data Modeled with YANG
+ in the Concise Binary Object Representation (CBOR)",
+ RFC 9254, DOI 10.17487/RFC9254, July 2022,
+ <https://www.rfc-editor.org/info/rfc9254>.
+
+ [RFC9595] Veillette, M., Ed., Pelov, A., Ed., Petrov, I., Ed.,
+ Bormann, C., and M. Richardson, "YANG Schema Item
+ iDentifier (YANG SID)", RFC 9595, DOI 10.17487/RFC9595,
+ July 2024, <https://www.rfc-editor.org/info/rfc9595>.
+
+ [xml-infoset]
+ Cowan, J., Ed. and R. Tobin, Ed., "XML Information Set
+ (Second Edition)", W3C Recommendation REC-xml-infoset-
+ 20040204, February 2004,
+ <https://www.w3.org/TR/2004/REC-xml-infoset-20040204/>.
+
+ [XPath] Robie, J., Ed., Dyck, M., Ed., and J. Spiegel, Ed., "XML
+ Path Language (XPath) 3.1", March 2017,
+ <https://www.w3.org/TR/2017/REC-xpath-31-20170321/>.
+ Latest version available at
+ <https://www.w3.org/TR/xpath-31/>.
+
+Acknowledgements
+
+ Brian Sipos of the Johns Hopkins University Applied Physics
+ Laboratory (JHU/APL) provided excellent technical review of the DTNMA
+ concepts presented in this document and additional information
+ related to existing network management techniques.
+
+Authors' Addresses
+
+ Edward J. Birrane, III
+ The Johns Hopkins University Applied Physics Laboratory
+ Email: Edward.Birrane@jhuapl.edu
+
+
+ Sarah Heiner
+ The Johns Hopkins University Applied Physics Laboratory
+ Email: Sarah.Heiner@jhuapl.edu
+
+
+ Emery Annis
+ The Johns Hopkins University Applied Physics Laboratory
+ Email: Emery.Annis@jhuapl.edu