draft-ietf-lmap-information-model-13.txt   draft-ietf-lmap-information-model-14.txt 
Network Working Group T. Burbridge Network Working Group T. Burbridge
Internet-Draft P. Eardley Internet-Draft P. Eardley
Intended status: Standards Track BT Intended status: Standards Track BT
Expires: May 21, 2017 M. Bagnulo Expires: June 18, 2017 M. Bagnulo
Universidad Carlos III de Madrid Universidad Carlos III de Madrid
J. Schoenwaelder J. Schoenwaelder
Jacobs University Bremen Jacobs University Bremen
November 17, 2016 December 15, 2016
Information Model for Large-Scale Measurement Platforms (LMAP) Information Model for Large-Scale Measurement Platforms (LMAP)
draft-ietf-lmap-information-model-13 draft-ietf-lmap-information-model-14
Abstract Abstract
This Information Model applies to the Measurement Agent within a This Information Model applies to the Measurement Agent within a
Large-Scale Measurement Platform. As such it outlines the Large-Scale Measurement Platform. As such it outlines the
information that is (pre-)configured on the Measurement Agent or information that is (pre-)configured on the Measurement Agent or
exists in communications with a Controller or Collector within an exists in communications with a Controller or Collector within an
LMAP framework. The purpose of such an Information Model is to LMAP framework. The purpose of such an Information Model is to
provide a protocol and device independent view of the Measurement provide a protocol and device independent view of the Measurement
Agent that can be implemented via one or more Control and Report Agent that can be implemented via one or more Control and Report
skipping to change at page 1, line 47 skipping to change at page 1, line 47
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 21, 2017. This Internet-Draft will expire on June 18, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 7, line 24 skipping to change at page 7, line 24
Schedule is still running will fail. Schedule is still running will fail.
2. Channels. A set of Channel objects are used to communicate with 2. Channels. A set of Channel objects are used to communicate with
a number of endpoints (i.e., the Controller and Collectors). a number of endpoints (i.e., the Controller and Collectors).
Each Channel object contains the information required for the Each Channel object contains the information required for the
communication with a single endpoint such as the target location communication with a single endpoint such as the target location
and security details. and security details.
3. Task Configurations. A set of Task Configurations is used to 3. Task Configurations. A set of Task Configurations is used to
configure the Tasks that are run by the MA. This includes the configure the Tasks that are run by the MA. This includes the
registry entries for the Task and any configuration parameters. registry entries for the Task and any configuration parameters,
Task Configurations are referenced from a Schedule in order to represented as Task Options. Task Configurations are referenced
specify what Tasks the MA should execute. from a Schedule in order to specify what Tasks the MA should
execute.
4. Events. A set of Event objects that can be referenced from the 4. Events. A set of Event objects that can be referenced from the
Schedules. Each Schedule always references exactly one Event Schedules. Each Schedule always references exactly one Event
object that determines when the schedule is executed. An Event object that determines when the schedule is executed. An Event
object specifies either a singleton or series of events that object specifies either a singleton or series of events that
indicate when Tasks should be executed. A commonly used kind of indicate when Tasks should be executed. A commonly used kind of
Event objects are Timing objects. Event objects are Timing objects.
Figure 1 illustrates the structure in which these common information Figure 1 illustrates the structure in which these common information
objects are referenced. The references are achieved by each object objects are referenced. The references are achieved by each object
skipping to change at page 9, line 40 skipping to change at page 9, line 40
certificate of the Certification Authority which was used to issue certificate of the Certification Authority which was used to issue
the certificate for the Controller). All this is expressed as a the certificate for the Controller). All this is expressed as a
Channel. While multiple Channels may be provided in the Pre- Channel. While multiple Channels may be provided in the Pre-
Configuration Information they must all be associated with a single Configuration Information they must all be associated with a single
Controller (e.g., over different interfaces or network protocols). Controller (e.g., over different interfaces or network protocols).
Where the MA pulls information from the Controller, the Pre- Where the MA pulls information from the Controller, the Pre-
Configuration Information also needs to contain the timing of the Configuration Information also needs to contain the timing of the
communication with the Controller as well as the nature of the communication with the Controller as well as the nature of the
communication itself (such as the protocol and data to be communication itself (such as the protocol and data to be
transferred). The timing is given as a Schedule that executes the transferred). The timing is represented as an Event that invokes a
Task(s) responsible for communication with the Controller. It is Schedule that executes the Task(s) responsible for communication with
this Task (or Tasks) that implement the Control protocol between the the Controller. It is this Task (or Tasks) that implement the
MA and the Controller and utilises the Channel information. The Control protocol between the MA and the Controller and utilises the
Task(s) may take additional parameters in which case a Task Channel information. The Task(s) may take additional parameters, as
Configuration can also be included. defined by a Task Configuration.
Even where information is pushed to the MA from the Controller Even where information is pushed to the MA from the Controller
(rather than pulled by the MA), a Schedule still needs to be (rather than pulled by the MA), a Schedule still needs to be
supplied. In this case the Schedule will simply execute a Controller supplied. In this case the Schedule will simply execute a Controller
listener task when the MA is started. A Channel is still required listener Task when the MA is started. A Channel is still required
for the MA to establish secure communication with the Controller. for the MA to establish secure communication with the Controller.
It can be seen that these Channels, Schedules and Task Configurations It can be seen that these Channels, Schedules and Task Configurations
for the initial MA-Controller communication are no different in terms for the initial MA-Controller communication are no different in terms
of the Information Model to any other Channel, Schedule or Task of the Information Model to any other Channel, Schedule or Task
Configuration that might execute a Measurement Task or report the Configuration that might execute a Measurement Task or report the
measurement results (as described later). measurement results (as described later).
The MA may be pre-configured with an MA ID, or may use a Device ID in The MA may be pre-configured with an MA ID, or may use a Device ID in
the first Controller contact before it is assigned an MA ID. The the first Controller contact before it is assigned an MA ID. The
skipping to change at page 13, line 48 skipping to change at page 13, line 48
2. Report Channels 2. Report Channels
3. Instruction Schedules 3. Instruction Schedules
4. Suppression 4. Suppression
The Instruction supports the execution of all Tasks on the MA except The Instruction supports the execution of all Tasks on the MA except
those that deal with communication with the Controller (specified in those that deal with communication with the Controller (specified in
(pre-)configuration information). The Tasks are configured in (pre-)configuration information). The Tasks are configured in
Instruction Task Configurations and included by reference in Instruction Task Configurations and included by reference in the
Instruction Schedules that specify when to execute them. The results Actions of Instruction Schedules that specify when to execute them.
can be communicated to other Schedules or a Task may implement a The results can be communicated to other Schedules or a Task may
Reporting Protocol and communicate results over Report Channels. implement a Reporting Protocol and communicate results over Report
Suppression is used to temporarily stop the execution of new Tasks as Channels. Suppression is used to temporarily stop the execution of
specified by the Instruction Schedules (and optionally to stop new Tasks as specified by the Instruction Schedules (and optionally
ongoing Tasks). to stop ongoing Tasks).
A Task Configuration is used to configure the mandatory and optional A Task Configuration is used to configure the mandatory and optional
parameters of a Task. It also serves to instruct the MA about the parameters of a Task. It also serves to instruct the MA about the
Task including the ability to resolve the Task to an executable and Task including the ability to resolve the Task to an executable and
specifying the schema for the Task parameters. specifying the schema for the Task parameters.
A Report Channel defines how to communicate with a single remote A Report Channel defines how to communicate with a single remote
system specified by a URL. A Report Channel is used to send results system specified by a URL. A Report Channel is used to send results
to a single Collector but is no different in terms of the Information to a single Collector but is no different in terms of the Information
Model to the Control Channel used to transfer information between the Model to the Control Channel used to transfer information between the
skipping to change at page 37, line 49 skipping to change at page 37, line 49
instead of a simple string or numeric value. The implementation of instead of a simple string or numeric value. The implementation of
these name-value pairs will vary between data models. these name-value pairs will vary between data models.
An Option that must be present for Reporting Tasks is the Channel An Option that must be present for Reporting Tasks is the Channel
reference specifying how to communicate with a Collector. This is reference specifying how to communicate with a Collector. This is
included in the task options and will have a value that matches a included in the task options and will have a value that matches a
channel name that has been defined in the Instruction. Similarly channel name that has been defined in the Instruction. Similarly
Control Tasks will have a similar option with the value set to a Control Tasks will have a similar option with the value set to a
specified Control Channel. specified Control Channel.
A Reporting Task might also have a flag parameter to indicate whether A Reporting Task might also have a flag parameter, defined as an
to send a report without measurement results if there is no Option, to indicate whether to send a report without measurement
measurement result data pending to be transferred to the Collector. results if there is no measurement result data pending to be
transferred to the Collector. In addition many tasks will also take
In addition many tasks will also take as a parameter which interface as a parameter which interface to operate over.
to operate over.
In addition the Task Configuration may optionally also be given tags In addition the Task Configuration may optionally also be given tags
that can carry a Measurement Cycle ID. The purpose of this ID is to that can carry a Measurement Cycle ID. The purpose of this ID is to
easily identify a set of measurement results that have been produced easily identify a set of measurement results that have been produced
by Measurement Tasks with comparable Options. This ID could be by Measurement Tasks with comparable Options. This ID could be
manually incremented or otherwise changed when an Option change is manually incremented or otherwise changed when an Option change is
implemented which could mean that two sets of results should not be implemented which could mean that two sets of results should not be
directly compared. directly compared.
3.9.1. Definition of ma-task-obj 3.9.1. Definition of ma-task-obj
skipping to change at page 49, line 29 skipping to change at page 49, line 29
Aitken, P., and A. Akhter, "A Framework for Large-Scale Aitken, P., and A. Akhter, "A Framework for Large-Scale
Measurement of Broadband Performance (LMAP)", RFC 7594, Measurement of Broadband Performance (LMAP)", RFC 7594,
DOI 10.17487/RFC7594, September 2015, DOI 10.17487/RFC7594, September 2015,
<http://www.rfc-editor.org/info/rfc7594>. <http://www.rfc-editor.org/info/rfc7594>.
8.2. Informative References 8.2. Informative References
[I-D.ietf-ippm-metric-registry] [I-D.ietf-ippm-metric-registry]
Bagnulo, M., Claise, B., Eardley, P., Morton, A., and A. Bagnulo, M., Claise, B., Eardley, P., Morton, A., and A.
Akhter, "Registry for Performance Metrics", draft-ietf- Akhter, "Registry for Performance Metrics", draft-ietf-
ippm-metric-registry-07 (work in progress), July 2016. ippm-metric-registry-10 (work in progress), November 2016.
[I-D.ietf-lmap-yang] [I-D.ietf-lmap-yang]
Schoenwaelder, J. and V. Bajpai, "A YANG Data Model for Schoenwaelder, J. and V. Bajpai, "A YANG Data Model for
LMAP Measurement Agents", draft-ietf-lmap-yang-05 (work in LMAP Measurement Agents", draft-ietf-lmap-yang-08 (work in
progress), July 2016. progress), November 2016.
[RFC3444] Pras, A. and J. Schoenwaelder, "On the Difference between [RFC3444] Pras, A. and J. Schoenwaelder, "On the Difference between
Information Models and Data Models", RFC 3444, DOI 10 Information Models and Data Models", RFC 3444, DOI 10
.17487/RFC3444, January 2003, .17487/RFC3444, January 2003,
<http://www.rfc-editor.org/info/rfc3444>. <http://www.rfc-editor.org/info/rfc3444>.
[RFC7398] Bagnulo, M., Burbridge, T., Crawford, S., Eardley, P., and [RFC7398] Bagnulo, M., Burbridge, T., Crawford, S., Eardley, P., and
A. Morton, "A Reference Path and Measurement Points for A. Morton, "A Reference Path and Measurement Points for
Large-Scale Measurement of Broadband Performance", RFC Large-Scale Measurement of Broadband Performance", RFC
7398, DOI 10.17487/RFC7398, February 2015, 7398, DOI 10.17487/RFC7398, February 2015,
 End of changes. 11 change blocks. 
30 lines changed or deleted 30 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/