rfc-8193

Information Model for Large-Scale Measurement Platforms (LMAPs)

T. Burbridge, P. Eardley, M. Bagnulo, J. Schoenwaelder
date2017-08 streamIETF areaops wglmap statusPROPOSED STANDARD pages53 canonicalhttps://www.rfc-editor.org/rfc/rfc8193 doi10.17487/RFC8193
This Information Model applies to the Measurement Agent within an LMAP framework. As such, it outlines the information that is configured or preconfigured on the Measurement Agent or exists in communications with a Controller or Collector within an LMAP framework. The purpose of such an Information Model is to provide a protocol- and device-independent view of the Measurement Agent that can be implemented via one or more Control and Report Protocols.

Extracted elements (31)

design-rationale §4.2

An MA may report a Group-ID in place of the MA-ID so that the MA remains anonymous, which is especially useful to prevent tracking of mobile MA devices while still allowing aggregate analysis by group.

measurement, privacy

design-rationale §4.3

Instruction Information is split into four independent elements (Task Configurations, Report Channels, Schedules, Suppressions) so each can be updated independently without affecting the others, reducing data overhead and supporting different update cycles.

measurement

design-rationale §4.3

Suppression is a separate object distinct from Instruction Schedules so that measurements can be temporarily halted and then automatically resumed without removing or modifying the underlying Schedule, and can be delivered on a different timing or protocol than the Schedule itself.

measurement

design-rationale §4.7.1

The default Schedule execution mode is pipelined so that data produced by one Action flows directly into the subsequent Action; sequential and parallel modes are alternatives to accommodate non-pipeline Task chaining patterns.

measurement

interoperability-note §1

A YANG data model implementing this Information Model is defined in RFC 8194; implementors seeking a concrete protocol-level binding for the Control and Report Protocols should refer to that companion document.

measurement, yang

normative-requirement §4.2 MUST

A Measurement Agent is controlled by exactly one Controller at a time. If the MA-ID is not provided during preconfiguration, it MUST be provided by the Controller during the Configuration phase.

measurement

normative-requirement §4 MUST NOT

A specific Schedule can only be active once; attempts to start a Schedule while the same Schedule is still running will fail (effectively MUST NOT overlap).

measurement

normative-requirement §4 SHOULD

For Event objects specifying a series of Events, it is generally a good idea to configure an end time and refresh it as needed, so that MAs that lose connectivity to their Controller do not continue executing Schedules forever.

measurement

normative-requirement §4.7 RECOMMENDED

It is RECOMMENDED that MA implementations by default retain old measurement data and stop executing new Measurement Tasks when the MA runs out of storage capacity.

measurement

normative-requirement §4.3 MUST NOT

Suppression has no effect on Controller Tasks or Controller Schedules; Control Schedules and Tasks cannot be suppressed, as evidenced by the absence of Suppression information in the Configuration object.

measurement

normative-requirement §3 MUST

The datetime type used throughout the LMAP Information Model MUST conform to RFC 3339.

measurement

protocol-element §4.7.2

The ma-action-obj associates a named configured Task with schedule-specific options (appended to Task Configuration options), an optional set of Destination Schedule names that receive the Action's output, and optional tags and suppression-tags.

measurement

protocol-element §4.5.1

The ma-capability-obj advertises MA hardware, firmware, and version information along with an optional list of supported Task capabilities (ma-capability-task-obj), each carrying the task name, version, and registry function entries it implements.

measurement

protocol-element §4.8.1

The ma-channel-obj defines a bidirectional communication endpoint (Controller or Collector), holding the remote location, security credentials, and optionally the certificate of the Controller or its CA for use with TLS.

measurement, security

protocol-element §4.2.1

The ma-config-obj carries Configuration Information from the Controller, including a mandatory MA UUID (ma-config-agent-id), updated control tasks/channels/schedules, credentials, optional group-id, measurement-point identifier, boolean report flags, and a controller-timeout in seconds.

measurement

protocol-element §4.11.1

The ma-event-obj and its subtypes (periodic, calendar, one-off, immediate, startup, controller-lost, controller-connected) define the triggers for Schedule execution; each Schedule references exactly one Event object.

measurement

protocol-element §4.3.1

The ma-instruction-obj carries the complete set of Instruction Information from the Controller: unordered sets of Task objects, Channel objects, Schedule objects, and an optional set of Suppression objects.

measurement

protocol-element §4.4.1

The ma-log-obj models generic logging information transmitted from the MA to the Controller, containing the MA UUID, an event datetime, a machine-readable code, and a human-readable description.

measurement

protocol-element §4.1.1

The ma-preconfig-obj describes the minimal information preconfigured on the MA before any Controller contact, comprising at least one control Task, one or more Channels (including Controller URL and certificate), one or more Schedules, optional device-id URI, and security credentials.

measurement, security

protocol-element §4.6.3

The ma-report-conflict-obj records the schedule name, action name, and task name of a concurrent Action that may have impacted a reported measurement result, enabling post-hoc data quality assessment.

measurement

protocol-element §4.6.1

The ma-report-obj is the top-level report transmitted to a Collector, containing a mandatory generation timestamp (ma-report-date), optional MA UUID, group-id, measurement-point identifier, and an unordered set of per-action result objects.

measurement

protocol-element §4.6.2

The ma-report-result-obj carries per-action result metadata: schedule/action/task names, joined options and tags, event/start/end times, an optional cycle-number in YYYYMMDD.HHMMSS UTC format, a status code, conflict references, and tabular result data.

measurement

protocol-element §4.7.1

The ma-schedule-obj is the primary scheduling object containing a unique name, a mandatory start Event, optional end Event and duration in seconds, an ordered list of Actions, an execution mode (sequential/parallel/pipelined), and optional tags and suppression-tags.

measurement

protocol-element §4.5.7

The ma-status-interface-obj exposes per-network-interface status including name, type, optional speed in bps, optional link-layer address, and ordered lists of IP addresses, gateways, and DNS servers.

measurement

protocol-element §4.3.2

The ma-suppression-obj controls temporary suppression of Schedules or Actions; it carries a unique name, optional start/end Events, a glob-pattern match list (POSIX fnmatch style without path semantics), and an optional boolean to stop currently running matching tasks.

measurement

protocol-element §4.9.1

The ma-task-obj and ma-option-obj define a Task Configuration with registry entries identifying the executable, plus ordered name-value option pairs; Action options are appended to Task Configuration options in report output.

measurement

security-consideration §4.8

Each Channel carries security credentials for mutual authentication between the MA and Controller/Collector; the Channel may hold the Controller's TLS certificate or the certificate of the issuing CA, allowing certificate validation before communication begins.

measurement, security

security-consideration §4.2.1

The ma-config-controller-timeout field implements a fail-safe: when the controller-timeout interval elapses without a successful Controller contact, a controller-lost Event is raised that can trigger suspension of Instruction Schedules, preventing stale instructions from executing indefinitely.

measurement, security

state-machine §4.5.4

A Schedule has four states reported in ma-status-schedule-obj: 'enabled' (waiting), 'running' (currently executing), 'suppressed' (suppression active), and 'disabled'. Counters track invocations, suppressions, overlaps, and failures.

measurement

state-machine §4.5.6

A Suppression object has three states in ma-status-suppression-obj: 'enabled' (configured but start Event not yet reached), 'active' (currently suppressing matched Schedules/Actions), and 'disabled'.

measurement

state-machine §4.5.5

An Action mirrors Schedule states with four values in ma-status-action-obj: 'enabled', 'running', 'suppressed', and 'disabled'. Additional fields record last-invocation, last-completion, last-status, last-message, last-failed-completion, last-failed-status, and last-failed-message.

measurement