| < 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.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||