| < draft-ietf-lmap-information-model-06.txt | draft-ietf-lmap-information-model-07.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: January 4, 2016 M. Bagnulo | Expires: May 4, 2016 M. Bagnulo | |||
| Universidad Carlos III de Madrid | Universidad Carlos III de Madrid | |||
| J. Schoenwaelder | J. Schoenwaelder | |||
| Jacobs University Bremen | Jacobs University Bremen | |||
| July 3, 2015 | November 1, 2015 | |||
| Information Model for Large-Scale Measurement Platforms (LMAP) | Information Model for Large-Scale Measurement Platforms (LMAP) | |||
| draft-ietf-lmap-information-model-06 | draft-ietf-lmap-information-model-07 | |||
| 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 MA or exists in | information that is (pre-)configured on the MA or exists in | |||
| communications with a Controller or Collector within an LMAP | communications with a Controller or Collector within an LMAP | |||
| framework. The purpose of such an Information Model is to provide a | framework. The purpose of such an Information Model is to provide a | |||
| protocol and device independent view of the MA that can be | protocol and device independent view of the MA that can be | |||
| implemented via one or more Control and Report protocols. | implemented via one or more Control and Report protocols. | |||
| skipping to change at page 1, line 46 ¶ | skipping to change at page 1, line 46 ¶ | |||
| 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 January 4, 2016. | This Internet-Draft will expire on May 4, 2016. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2015 IETF Trust and the persons identified as the | Copyright (c) 2015 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 2, line 29 ¶ | skipping to change at page 2, line 29 ¶ | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Notation . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Notation . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3. LMAP Information Model . . . . . . . . . . . . . . . . . . . 4 | 3. LMAP Information Model . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.1. Pre-Configuration Information . . . . . . . . . . . . . . 8 | 3.1. Pre-Configuration Information . . . . . . . . . . . . . . 8 | |||
| 3.1.1. Definition of ma-preconfig-obj . . . . . . . . . . . 9 | 3.1.1. Definition of ma-preconfig-obj . . . . . . . . . . . 9 | |||
| 3.2. Configuration Information . . . . . . . . . . . . . . . . 10 | 3.2. Configuration Information . . . . . . . . . . . . . . . . 10 | |||
| 3.2.1. Definition of ma-config-obj . . . . . . . . . . . . . 11 | 3.2.1. Definition of ma-config-obj . . . . . . . . . . . . . 11 | |||
| 3.3. Instruction Information . . . . . . . . . . . . . . . . . 12 | 3.3. Instruction Information . . . . . . . . . . . . . . . . . 13 | |||
| 3.3.1. Definition of ma-instruction-obj . . . . . . . . . . 14 | 3.3.1. Definition of ma-instruction-obj . . . . . . . . . . 15 | |||
| 3.3.2. Definition of ma-suppression-obj . . . . . . . . . . 15 | 3.3.2. Definition of ma-suppression-obj . . . . . . . . . . 16 | |||
| 3.4. Logging Information . . . . . . . . . . . . . . . . . . . 16 | 3.4. Logging Information . . . . . . . . . . . . . . . . . . . 17 | |||
| 3.4.1. Definition of ma-log-obj . . . . . . . . . . . . . . 17 | 3.4.1. Definition of ma-log-obj . . . . . . . . . . . . . . 18 | |||
| 3.5. Capability and Status Information . . . . . . . . . . . . 17 | 3.5. Capability and Status Information . . . . . . . . . . . . 18 | |||
| 3.5.1. Definition of ma-status-obj . . . . . . . . . . . . . 18 | 3.5.1. Definition of ma-capability-obj . . . . . . . . . . . 19 | |||
| 3.5.2. Definition of ma-task-status-obj . . . . . . . . . . 18 | 3.5.2. Definition of ma-capability-task-obj . . . . . . . . 19 | |||
| 3.5.3. Definition of ma-interface-obj . . . . . . . . . . . 19 | 3.5.3. Definition of ma-status-obj . . . . . . . . . . . . . 20 | |||
| 3.6. Reporting Information . . . . . . . . . . . . . . . . . . 20 | 3.5.4. Definition of ma-status-schedule-obj . . . . . . . . 20 | |||
| 3.6.1. Definition of ma-report-obj . . . . . . . . . . . . . 22 | 3.5.5. Definition of ma-status-action-obj . . . . . . . . . 21 | |||
| 3.6.2. Definition of ma-report-task-obj . . . . . . . . . . 23 | 3.5.6. Definition of ma-interface-obj . . . . . . . . . . . 22 | |||
| 3.6.3. Definition of ma-report-row-obj . . . . . . . . . . . 23 | 3.6. Reporting Information . . . . . . . . . . . . . . . . . . 23 | |||
| 3.7. Common Objects: Schedules . . . . . . . . . . . . . . . . 24 | 3.6.1. Definition of ma-report-obj . . . . . . . . . . . . . 25 | |||
| 3.7.1. Definition of ma-schedule-obj . . . . . . . . . . . . 25 | 3.6.2. Definition of ma-report-task-obj . . . . . . . . . . 25 | |||
| 3.7.2. Definition of ma-action-obj . . . . . . . . . . . . . 26 | 3.6.3. Definition of ma-report-row-obj . . . . . . . . . . . 26 | |||
| 3.8. Common Objects: Channels . . . . . . . . . . . . . . . . 27 | 3.7. Common Objects: Schedules . . . . . . . . . . . . . . . . 27 | |||
| 3.8.1. Definition of ma-channel-obj . . . . . . . . . . . . 28 | 3.7.1. Definition of ma-schedule-obj . . . . . . . . . . . . 28 | |||
| 3.9. Common Objects: Task Configurations . . . . . . . . . . . 28 | 3.7.2. Definition of ma-action-obj . . . . . . . . . . . . . 29 | |||
| 3.9.1. Definition of ma-task-obj . . . . . . . . . . . . . . 30 | 3.8. Common Objects: Channels . . . . . . . . . . . . . . . . 30 | |||
| 3.9.2. Definition of ma-option-obj . . . . . . . . . . . . . 30 | 3.8.1. Definition of ma-channel-obj . . . . . . . . . . . . 30 | |||
| 3.10. Common Objects: Event Information . . . . . . . . . . . . 31 | 3.9. Common Objects: Task Configurations . . . . . . . . . . . 31 | |||
| 3.10.1. Definition of ma-event-obj . . . . . . . . . . . . . 32 | 3.9.1. Definition of ma-task-obj . . . . . . . . . . . . . . 33 | |||
| 3.10.2. Definition of ma-periodic-obj . . . . . . . . . . . 33 | 3.9.2. Definition of ma-option-obj . . . . . . . . . . . . . 33 | |||
| 3.10.3. Definition of ma-calendar-obj . . . . . . . . . . . 33 | ||||
| 3.10.4. Definition of ma-one-off-obj . . . . . . . . . . . . 35 | 3.10. Common Objects: Registry Information . . . . . . . . . . 34 | |||
| 3.10.5. Definition of ma-immediate-obj . . . . . . . . . . . 35 | 3.10.1. Definition of ma-metric-registry-obj . . . . . . . . 34 | |||
| 3.10.6. Definition of ma-startup-obj . . . . . . . . . . . . 36 | 3.11. Common Objects: Event Information . . . . . . . . . . . . 34 | |||
| 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 36 | 3.11.1. Definition of ma-event-obj . . . . . . . . . . . . . 35 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 36 | 3.11.2. Definition of ma-periodic-obj . . . . . . . . . . . 37 | |||
| 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 37 | 3.11.3. Definition of ma-calendar-obj . . . . . . . . . . . 37 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 37 | 3.11.4. Definition of ma-one-off-obj . . . . . . . . . . . . 39 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 37 | 3.11.5. Definition of ma-immediate-obj . . . . . . . . . . . 39 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 37 | 3.11.6. Definition of ma-startup-obj . . . . . . . . . . . . 40 | |||
| Appendix A. Open Issues . . . . . . . . . . . . . . . . . . . . 37 | 3.11.7. Definition of ma-controller-lost-obj . . . . . . . . 40 | |||
| Appendix B. Non-editorial Changes since -05 . . . . . . . . . . 38 | 3.11.8. Definition of ma-controller-ok-obj . . . . . . . . . 40 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 38 | 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 40 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 40 | ||||
| 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 41 | ||||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 41 | ||||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 41 | ||||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 42 | ||||
| Appendix A. Non-editorial Changes since -06 . . . . . . . . . . 42 | ||||
| Appendix B. Non-editorial Changes since -05 . . . . . . . . . . 43 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 43 | ||||
| 1. Introduction | 1. Introduction | |||
| A large-scale measurement platform is a collection of components that | A large-scale measurement platform is a collection of components that | |||
| work in a coordinated fashion to perform measurements from a large | work in a coordinated fashion to perform measurements from a large | |||
| number of vantage points. The main components of a large-scale | number of vantage points. The main components of a large-scale | |||
| measurement platform are the Measurement Agents (hereafter MAs), the | measurement platform are the Measurement Agents (hereafter MAs), the | |||
| Controller(s) and the Collector(s). | Controller(s) and the Collector(s). | |||
| The MAs are the elements actually performing the measurements. The | The MAs are the elements actually performing the measurements. The | |||
| MAs are controlled by exactly one Controller at a time and the | MAs are controlled by exactly one Controller at a time and the | |||
| Collectors gather the results generated by the MAs. In a nutshell, | Collectors gather the results generated by the MAs. In a nutshell, | |||
| the normal operation of a large-scale measurement platform starts | the normal operation of a large-scale measurement platform starts | |||
| with the Controller instructing a set of one or more MAs to perform a | with the Controller instructing a set of one or more MAs to perform a | |||
| set of one or more Measurement Tasks at a certain point in time. The | set of one or more Measurement Tasks at a certain point in time. The | |||
| MAs execute the instructions from a Controller, and once they have | MAs execute the instructions from a Controller, and once they have | |||
| done so, they report the results of the measurements to one or more | done so, they report the results of the measurements to one or more | |||
| Collectors. The overall framework for a Large Measurement platform | Collectors. The overall framework for a Large Measurement platform | |||
| as used in this document is described in detail in | as used in this document is described in detail in [RFC7594]. | |||
| [I-D.ietf-lmap-framework]. | ||||
| A large-scale measurement platform involves basically three types of | A large-scale measurement platform involves basically three types of | |||
| protocols, namely, a Control protocol (or protocols) between a | protocols, namely, a Control protocol (or protocols) between a | |||
| Controller and the MAs, a Report protocol (or protocols) between the | Controller and the MAs, a Report protocol (or protocols) between the | |||
| MAs and the Collector(s) and several measurement protocols between | MAs and the Collector(s) and several measurement protocols between | |||
| the MAs and Measurement Peers (MPs), used to actually perform the | the MAs and Measurement Peers (MPs), used to actually perform the | |||
| measurements. In addition some information is required to be | measurements. In addition some information is required to be | |||
| configured on the MA prior to any communication with a Controller. | configured on the MA prior to any communication with a Controller. | |||
| This document defines the information model for both Control and the | This document defines the information model for both Control and the | |||
| skipping to change at page 4, line 45 ¶ | skipping to change at page 4, line 51 ¶ | |||
| properties of the objects of the information model. An optional | properties of the objects of the information model. An optional | |||
| property is enclosed by square brackets, [ ], and a list property is | property is enclosed by square brackets, [ ], and a list property is | |||
| indicated by two numbers in angle brackets, <m..n>, where m indicates | indicated by two numbers in angle brackets, <m..n>, where m indicates | |||
| the minimal number of values, and n is the maximum. The symbol * for | the minimal number of values, and n is the maximum. The symbol * for | |||
| n means no upper bound. | n means no upper bound. | |||
| 3. LMAP Information Model | 3. LMAP Information Model | |||
| The information described herein relates to the information stored, | The information described herein relates to the information stored, | |||
| received or transmitted by a Measurement Agent as described within | received or transmitted by a Measurement Agent as described within | |||
| the LMAP framework [I-D.ietf-lmap-framework]. As such, some subsets | the LMAP framework [RFC7594]. As such, some subsets of this | |||
| of this information model are applicable to the measurement | information model are applicable to the measurement Controller, | |||
| Controller, Collector and any device management system that pre- | Collector and any device management system that pre-configures the | |||
| configures the Measurement Agent. The information described in these | Measurement Agent. The information described in these models will be | |||
| models will be transmitted by protocols using interfaces between the | transmitted by protocols using interfaces between the Measurement | |||
| Measurement Agent and such systems according to a Data Model. | Agent and such systems according to a Data Model. | |||
| For clarity the information model is divided into six sections: | For clarity the information model is divided into six sections: | |||
| 1. Pre-Configuration Information. Information pre-configured on the | 1. Pre-Configuration Information. Information pre-configured on the | |||
| Measurement Agent prior to any communication with other | Measurement Agent prior to any communication with other | |||
| components of the LMAP architecture (i.e., the Controller, | components of the LMAP architecture (i.e., the Controller, | |||
| Collector and Measurement Peers), specifically detailing how to | Collector and Measurement Peers), specifically detailing how to | |||
| communicate with a Controller and whether the device is enabled | communicate with a Controller and whether the device is enabled | |||
| to participate as an MA. | to participate as an MA. | |||
| skipping to change at page 7, line 19 ¶ | skipping to change at page 7, line 25 ¶ | |||
| commonly used kind of Event objects are Timing objects. | commonly used kind of 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 | |||
| (Task Configuration, Event) being given a short textual name that is | (Task Configuration, Event) being given a short textual name that is | |||
| used by other objects. The objects shown in parenthesis are part of | used by other objects. The objects shown in parenthesis are part of | |||
| the internal object structure of a Schedule. Channels are not shown | the internal object structure of a Schedule. Channels are not shown | |||
| in the diagram since they are only used as an option by selected Task | in the diagram since they are only used as an option by selected Task | |||
| Configurations but are similarly referenced using a short text name. | Configurations but are similarly referenced using a short text name. | |||
| Schedule | Schedule | |||
| |------> Event | |--- triggered by ---> Event | |||
| |------> Action 1 | | | |||
| | |------> Task Configuration | |--- executes ---> Action 1 | |||
| | `------> Destination Schedule | | |--- using ---> Task Configuration | |||
| : | | | | |||
| : | | `--- feeding to ---> Destination Schedule | |||
| `------> Action N | : | |||
| |------> Task Configuration | : | |||
| `------> Destination Schedule | `--- exceutes ---> Action N | |||
| |--- using ---> Task Configuration | ||||
| | | ||||
| `----feeding to --> Destination Schedule | ||||
| Figure 1: Relationship between Schedules, Events, Actions, Task | Figure 1: Relationship between Schedules, Events, Actions, Task | |||
| Configurations, and Destination Schedules | Configurations, and Destination Schedules | |||
| It should be clear that the top-level behavior of an MA is simply to | It should be clear that the top-level behavior of an MA is simply to | |||
| execute Schedules. Every Action referenced by a Schedule is defined | execute Schedules. Every Action contained in a Schedule is defined | |||
| as a Task. As such, these Actions are configured through Task | as a Task. As such, these Actions are configured through Task | |||
| Configurations and executed according to the Event object referenced | Configurations and executed according to the Event object referenced | |||
| by the Schedule in which they appear. Note, however, that Actions | by the Schedule in which they appear. Note, however, that Actions | |||
| can have Action specific parameters. | can have Action specific parameters. | |||
| Tasks can implement a variety of different types of actions. While | Tasks can implement a variety of different types of Actions. While | |||
| in terms of the Information Model, all Tasks have the same structure, | in terms of the Information Model, all Tasks have the same structure, | |||
| it can help conceptually to think of different Task categories: | it can help conceptually to think of different Task categories: | |||
| 1. Measurement Tasks measure some aspect of network performance or | 1. Measurement Tasks measure some aspect of network performance or | |||
| traffic. They may also capture contextual information from the | traffic. They may also capture contextual information from the | |||
| MA device or network interfaces such as the device type or | MA device or network interfaces such as the device type or | |||
| interface speed. | interface speed. | |||
| 2. Data Transfer Tasks | 2. Data Transfer Tasks | |||
| A. Reporting Tasks report the results of Measurement Tasks to | A. Reporting Tasks report the results of Measurement Tasks to | |||
| Collectors | Collectors | |||
| B. Control Task(s) implement the Control Protocol and | B. Control Task(s) implement the Control Protocol and | |||
| communicate with the Controller. Depending on the Control | communicate with the Controller. | |||
| Protocol there may be a number of specialist tasks such as: | ||||
| Configuration Task; Instruction Task; Suppression Task; | ||||
| Capabilities Task; Logging Task etc. | ||||
| 3. Data Analysis Tasks can exist to analyse data from other | 3. Data Analysis Tasks can exist to analyse data from other | |||
| Measurement Tasks locally on the MA | Measurement Tasks locally on the MA | |||
| 4. Data Management Tasks may exist to clean-up, filter or compress | 4. Data Management Tasks may exist to clean-up, filter or compress | |||
| data on the MA such as Measurement Task results | data on the MA such as Measurement Task results | |||
| Figure 1 indicates that Actions can produce data that is fed into | Figure 1 indicates that Actions can produce data that is fed into | |||
| Destination Schedules. This can by used by Actions implementing | Destination Schedules. This can by used by Actions implementing | |||
| Measurement Tasks to feed measurement results to a Schedule that | Measurement Tasks to feed measurement results to a Schedule that | |||
| triggers Actions implementing Reporting Tasks. | triggers Actions implementing Reporting Tasks. Data fed to a | |||
| Destination Schedule is consumed by the first Action of the | ||||
| Destination Schedule if the Destination Schedule is using sequential | ||||
| or pipelined execution mode and it is consumed by all Actions of the | ||||
| Destination Schedule if the Destination Schedule is using parallel | ||||
| execution mode. | ||||
| 3.1. Pre-Configuration Information | 3.1. Pre-Configuration Information | |||
| This information is the minimal information that needs to be pre- | This information is the minimal information that needs to be pre- | |||
| configured to the MA in order for it to successfully communicate with | configured to the MA in order for it to successfully communicate with | |||
| a Controller during the registration process. Some of the Pre- | a Controller during the registration process. Some of the Pre- | |||
| Configuration Information elements are repeated in the Configuration | Configuration Information elements are repeated in the Configuration | |||
| Information in order to allow an LMAP Controller to update these | Information in order to allow an LMAP Controller to update these | |||
| items. The pre-configuration information also contains some elements | items. The pre-configuration information also contains some elements | |||
| that are not under the control of the LMAP framework (such as the | that are not under the control of the LMAP framework (such as the | |||
| skipping to change at page 9, line 26 ¶ | skipping to change at page 9, line 39 ¶ | |||
| 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 | |||
| Device ID may be a MAC address or some other device identifier | Device ID may be a MAC address or some other device identifier | |||
| expressed as a URI. If the MA ID is not provided at this stage then | expressed as a URI. If the MA ID is not provided at this stage then | |||
| it must be provided by the Controller during Configuration. | it must be provided by the Controller during Configuration. | |||
| 3.1.1. Definition of ma-preconfig-obj | 3.1.1. Definition of ma-preconfig-obj | |||
| object { | object { | |||
| [uuid ma-agent-id;] | [uuid ma-preconfig-agent-id;] | |||
| ma-task-obj ma-control-tasks<1..*>; | ma-task-obj ma-preconfig-control-tasks<1..*>; | |||
| ma-channel-obj ma-control-channels<1..*>; | ma-channel-obj ma-preconfig-control-channels<1..*>; | |||
| ma-schedule-obj ma-control-schedules<1..*>; | ma-schedule-obj ma-preconfig-control-schedules<1..*>; | |||
| [uri ma-device-id;] | [uri ma-preconfig-device-id;] | |||
| credentials ma-credentials; | credentials ma-preconfig-credentials; | |||
| } ma-preconfig-obj; | } ma-preconfig-obj; | |||
| The ma-preconfig-obj is essentially a subset of the ma-config-obj | The ma-preconfig-obj is essentially a subset of the ma-config-obj | |||
| described below. The ma-preconfig-obj consists of the following | described below. The ma-preconfig-obj consists of the following | |||
| elements: | elements: | |||
| ma-agent-id: An optional uuid uniquely identifying the | ma-preconfig-agent-id: An optional uuid uniquely identifying | |||
| measurement agent. | the measurement agent. | |||
| ma-control-tasks: A collection of tasks objects. | ma-preconfig-control-tasks: An unordered set of tasks objects. | |||
| ma-control-channels: A collection of channel objects. | ma-preconfig-control-channels: An unordered set of channel objects. | |||
| ma-control-schedules: A collection of scheduling objects. | ma-preconfig-control-schedules: An unordered set of scheduling | |||
| objects. | ||||
| ma-device-id: An optional identifier for the device. | ma-preconfig-device-id: An optional identifier for the | |||
| device. | ||||
| ma-credentials: The security credentials used by the | ma-preconfig-credentials: The security credentials used by the | |||
| measurement agent. | measurement agent. | |||
| 3.2. Configuration Information | 3.2. Configuration Information | |||
| During registration or at any later point at which the MA contacts | During registration or at any later point at which the MA contacts | |||
| the Controller (or vice-versa), the choice of Controller, details for | the Controller (or vice-versa), the choice of Controller, details for | |||
| the timing of communication with the Controller or parameters for the | the timing of communication with the Controller or parameters for the | |||
| communication Task(s) can be changed (as captured by the Channels, | communication Task(s) can be changed (as captured by the Channels, | |||
| Schedules and Task Configurations objects). For example the pre- | Schedules and Task Configurations objects). For example the pre- | |||
| configured Controller (specified as a Channel or Channels) may be | configured Controller (specified as a Channel or Channels) may be | |||
| over-ridden with a specific Controller that is more appropriate to | over-ridden with a specific Controller that is more appropriate to | |||
| skipping to change at page 11, line 23 ¶ | skipping to change at page 12, line 4 ¶ | |||
| Configuration and Instruction information by examining the Capability | Configuration and Instruction information by examining the Capability | |||
| and Status information for the MA. | and Status information for the MA. | |||
| It should be noted that control schedules and tasks cannot be | It should be noted that control schedules and tasks cannot be | |||
| suppressed as evidenced by the lack of suppression information in the | suppressed as evidenced by the lack of suppression information in the | |||
| Configuration. The control schedule must only reference tasks listed | Configuration. The control schedule must only reference tasks listed | |||
| as control tasks (i.e., within the Configuration information). Any | as control tasks (i.e., within the Configuration information). Any | |||
| suppress-by-default flag against control tasks will be ignored. | suppress-by-default flag against control tasks will be ignored. | |||
| 3.2.1. Definition of ma-config-obj | 3.2.1. Definition of ma-config-obj | |||
| object { | object { | |||
| uuid ma-agent-id; | uuid ma-config-agent-id; | |||
| ma-task-obj ma-control-tasks<1..*>; | ma-task-obj ma-config-control-tasks<1..*>; | |||
| ma-channel-obj ma-control-channels<1..*>; | ma-channel-obj ma-config-control-channels<1..*>; | |||
| ma-schedule-obj ma-control-schedules<1..*>; | ma-schedule-obj ma-config-control-schedules<1..*>; | |||
| [uri ma-device-id;] | [uri ma-config-device-id;] | |||
| credentials ma-credentials; | credentials ma-config-credentials; | |||
| [string ma-group-id;] | [string ma-config-group-id;] | |||
| [boolean ma-report-agent-id;] | [string ma-config-measurement-point;] | |||
| [int ma-controller-timeout;] | [boolean ma-config-report-agent-id;] | |||
| [boolean ma-config-report-measurement-point;] | ||||
| [int ma-config-controller-timeout;] | ||||
| } ma-config-obj; | } ma-config-obj; | |||
| The ma-config-obj consists of the following elements: | The ma-config-obj consists of the following elements: | |||
| ma-agent-id: A uuid uniquely identifying the measurement | ma-config-agent-id: A uuid uniquely identifying the | |||
| agent. | measurement agent. | |||
| ma-control-tasks: A collection of task objects. | ma-config-control-tasks: An unordered set of task objects. | |||
| ma-control-channels: A collection of channel objects. | ma-config-control-channels: An unordered set of channel | |||
| objects. | ||||
| ma-control-schedules: A collection of scheduling objects. | ma-config-control-schedules: An unordered set of scheduling | |||
| objects. | ||||
| ma-device-id: An optional identifier for the device. | ma-config-device-id: An optional identifier for the | |||
| device. | ||||
| ma-credentials: The security credentials used by the | ma-config-credentials: The security credentials used by | |||
| measurement agent. | the measurement agent. | |||
| ma-group-id: An optional identifier of the group of | ma-config-group-id: An optional identifier of the | |||
| measurement agents this measurement agent | group of measurement agents this | |||
| belongs to. | measurement agent belongs to. | |||
| ma-report-agent-id: An optional flag indicating whether the | ma-config-measurement-point: An optional identifier for the | |||
| identifier (ma-agent-id) should be included | measurement point indicating | |||
| in reports. | where the measurement agent is | |||
| located on a path (see [RFC7398] | ||||
| for further details). | ||||
| ma-controller-timeout: A timer is started after each successful | ma-config-report-agent-id: An optional flag indicating | |||
| contact with a controller. When the timer | whether the identifier (ma- | |||
| reaches the controller-timeout (measured in | config-agent-id) should be | |||
| seconds), all schedules will be disabled, | included in reports. The default | |||
| i.e., no new actions will be executed (and | value is false. | |||
| hence no new tasks started). The disabled | ||||
| schedules will be reenabled automatically | ma-config-report-measurement-point: An optional flag indicating | |||
| once contact with a controller has been | whether the measurement point | |||
| established successfully again. Note that | (ma-config-measurement-point) | |||
| this will not affect the execution of | should be included in reports. | |||
| actions that are essential to establish | The default value is false. | |||
| contact with the controller or that perform | ||||
| critical housekeeping functions. | ma-config-controller-timeout: A timer is started after each | |||
| successful contact with a | ||||
| controller. When the timer | ||||
| reaches the controller-timeout | ||||
| (measured in seconds), an event | ||||
| is raised indicating that | ||||
| connectivity to the controller | ||||
| has been lost (see ma-controller- | ||||
| lost-obj). | ||||
| 3.3. Instruction Information | 3.3. Instruction Information | |||
| The Instruction information model has four sub-elements: | The Instruction information model has four sub-elements: | |||
| 1. Instruction Task Configurations | 1. Instruction Task Configurations | |||
| 2. Report Channels | 2. Report Channels | |||
| 3. Instruction Schedules | 3. Instruction Schedules | |||
| skipping to change at page 14, line 46 ¶ | skipping to change at page 15, line 39 ¶ | |||
| Instruction Schedules that would continue to apply after the | Instruction Schedules that would continue to apply after the | |||
| Suppression expires or is removed. In terms of the Controller-MA | Suppression expires or is removed. In terms of the Controller-MA | |||
| communication this can reduce the data overhead. It also encourages | communication this can reduce the data overhead. It also encourages | |||
| the re-use of the same standard Task Configurations and Reporting | the re-use of the same standard Task Configurations and Reporting | |||
| Channels to help ensure consistency and reduce errors. | Channels to help ensure consistency and reduce errors. | |||
| 3.3.1. Definition of ma-instruction-obj | 3.3.1. Definition of ma-instruction-obj | |||
| object { | object { | |||
| ma-task-obj ma-instruction-tasks<0..*>; | ma-task-obj ma-instruction-tasks<0..*>; | |||
| ma-channel-obj ma-report-channels<0..*>; | ma-channel-obj ma-instruction-channels<0..*>; | |||
| ma-schedule-obj ma-instruction-schedules<0..*>; | ma-schedule-obj ma-instruction-schedules<0..*>; | |||
| ma-suppression-obj ma-suppression; | [ma-suppression-obj ma-instruction-suppressions<0..*>;] | |||
| } ma-instruction-obj; | } ma-instruction-obj; | |||
| An ma-instruction-obj consists of the following elements: | An ma-instruction-obj consists of the following elements: | |||
| ma-task-obj: A possibly empty collection of task objects. | ma-instruction-tasks: A possibly empty unordered set of task | |||
| objects. | ||||
| ma-channel-obj: A possibly empty collection of channel objects. | ma-instruction-channels: A possibly empty unordered set of | |||
| channel objects. | ||||
| ma-schedule-obj: A possibly empty collection of schedule objects. | ma-instruction-schedules: A possibly empty unordered set of | |||
| schedule objects. | ||||
| ma-suppression-obj: A suppression object. | ma-instruction-suppressions: An optional possibly empty unordered | |||
| set of suppression objects. | ||||
| 3.3.2. Definition of ma-suppression-obj | 3.3.2. Definition of ma-suppression-obj | |||
| object { | object { | |||
| boolean ma-suppression-enabled; | string ma-suppression-name; | |||
| [ma-event-obj ma-suppression-start;] | ||||
| [ma-event-obj ma-suppression-end;] | ||||
| [string ma-suppression-tags<0..*>;] | ||||
| [boolean ma-suppression-stop-running;] | [boolean ma-suppression-stop-running;] | |||
| [datetime ma-suppression-start;] | ||||
| [datetime ma-suppression-end;] | ||||
| [string ma-suppression-task-names<0..*>;] | ||||
| [string ma-suppression-schedule-names<0..*>;] | ||||
| } ma-suppression-obj; | } ma-suppression-obj; | |||
| The ma-suppression-obj consists of the following elements: | The ma-suppression-obj controls the suppression of schedules or | |||
| actions and consists of the following elements: | ||||
| ma-suppression-enabled: A boolean indicating whether | ||||
| suppression is enabled or not. The | ||||
| default value is false. | ||||
| ma-suppression-stop-running: An optional boolean indicating | ma-suppression-name: A name uniquely identifying a | |||
| whether suppression will stop any | suppression. | |||
| running tasks. The default value for | ||||
| this boolean is false. | ||||
| ma-suppression-start: The optional date and time when | ma-suppression-start: The optional event indicating when | |||
| suppression starts. The default | suppression starts. The default value | |||
| value is 'immediate'. | is 'immediate'. | |||
| ma-suppression-end: The optional date and time when | ma-suppression-end: The optional event indicating when | |||
| suppression ends. The default value | suppression ends. The default value is | |||
| is 'indefinite'. | 'indefinite'. | |||
| ma-suppression-task-names: An optional and possibly empty | ma-suppression-tags: An optional and possibly empty | |||
| collection of task names. If not | unordered set of suppression tags. The | |||
| present, this defaults to all tasks. | suppression will apply to all schedules | |||
| and their actions that have a matching | ||||
| value in their ma-schedule-suppression- | ||||
| tags and all actions that have a | ||||
| matching value in their ma-action- | ||||
| suppression-tags. If not present, this | ||||
| defaults to all measurement schedules | ||||
| and measurement actions. | ||||
| ma-suppression-schedule-names: An optional and possibly empty | ma-suppression-stop-running: An optional boolean indicating whether | |||
| collection of schedule names. If not | suppression will stop any running | |||
| present, this defaults to all | schedules or actions. The default | |||
| schedules. | value for this boolean is false. | |||
| 3.4. Logging Information | 3.4. Logging Information | |||
| The MA may report on the success or failure of Configuration or | The MA may report on the success or failure of Configuration or | |||
| Instruction communications from the Controller. In addition further | Instruction communications from the Controller. In addition further | |||
| operational logs may be produced during the operation of the MA and | operational logs may be produced during the operation of the MA and | |||
| updates to capabilities may also be reported. Reporting this | updates to capabilities may also be reported. Reporting this | |||
| information is achieved in exactly the same manner as scheduling any | information is achieved in exactly the same manner as scheduling any | |||
| other Task. We make no distinction between a Measurement Task | other Task. We make no distinction between a Measurement Task | |||
| conducting an active or passive network measurement and one which | conducting an active or passive network measurement and one which | |||
| skipping to change at page 18, line 9 ¶ | skipping to change at page 19, line 9 ¶ | |||
| 3.5. Capability and Status Information | 3.5. Capability and Status Information | |||
| The MA will hold Capability Information that can be retrieved by a | The MA will hold Capability Information that can be retrieved by a | |||
| Controller. Capabilities include the device interface details | Controller. Capabilities include the device interface details | |||
| available to Measurement Tasks as well as the set of Measurement | available to Measurement Tasks as well as the set of Measurement | |||
| Tasks/Roles (specified by registry entries) that are actually | Tasks/Roles (specified by registry entries) that are actually | |||
| installed or available on the MA. Status information includes the | installed or available on the MA. Status information includes the | |||
| times that operations were last performed such as contacting the | times that operations were last performed such as contacting the | |||
| Controller or producing Reports. | Controller or producing Reports. | |||
| 3.5.1. Definition of ma-status-obj | 3.5.1. Definition of ma-capability-obj | |||
| object { | object { | |||
| uuid ma-agent-id; | string ma-capability-hardware; | |||
| uri ma-device-id; | string ma-capability-firmware; | |||
| string ma-hardware; | string ma-capability-version; | |||
| string ma-firmware; | [ma-capability-task-obj ma-capability-tasks<0..*>;] | |||
| string ma-version; | } ma-capability-obj; | |||
| ma-interface-obj ma-interfaces<0..*>; | ||||
| datetime ma-last-started; | The ma-capability-obj provides information about the capabilities of | |||
| [ma-task-status-obj ma-task-status<0..*>;] | the measurement agent and consists of the following elements: | |||
| ma-capability-hardware: A description of the hardware of the device | ||||
| the measurement agent is running on. | ||||
| ma-capability-firmware: A description of the firmware of the device | ||||
| the measurement agent is running on. | ||||
| ma-capability-version: The version of the measurement agent. | ||||
| ma-capability-tasks: An optional unordered set of capability | ||||
| objects for each supported task. | ||||
| 3.5.2. Definition of ma-capability-task-obj | ||||
| object { | ||||
| string ma-capability-task-name; | ||||
| ma-metric-registry-obj ma-capability-task-metrics<0..*>; | ||||
| string ma-capability-task-version; | ||||
| } ma-capability-task-obj; | ||||
| The ma-capability-task-obj provides information about the capability | ||||
| of a task and consists of the following elements: | ||||
| ma-capability-task-name: A name uniquely identifying a task. | ||||
| ma-capability-task-metrics: A possibly empty unordered set of | ||||
| registered metrics and associated roles | ||||
| this task implements. | ||||
| ma-capability-task-version: The version of the measurement task. | ||||
| 3.5.3. Definition of ma-status-obj | ||||
| object { | ||||
| uuid ma-status-agent-id; | ||||
| uri ma-status-device-id; | ||||
| datetime ma-status-last-started; | ||||
| ma-interface-obj ma-status-interfaces<0..*>; | ||||
| [ma-status-schedule-obj ma-status-schedules<0..*>;] | ||||
| } ma-status-obj; | } ma-status-obj; | |||
| The ma-status-obj provides status information about the measurement | The ma-status-obj provides status information about the measurement | |||
| agent and consists of the following elements: | agent and consists of the following elements: | |||
| ma-agent-id: A uuid uniquely identifying the measurement | ma-status-agent-id: A uuid uniquely identifying the measurement | |||
| agent. | agent. | |||
| ma-device-id: A URI identifying the device. | ma-status-device-id: A URI identifying the device. | |||
| ma-hardware: A description of the hardware of the device | ma-status-last-started: The date and time the measurement agent | |||
| the measurement agent is running on. | last started. | |||
| ma-firmware: A description of the firmware of the device | ma-status-interfaces: An unordered set of network interfaces | |||
| the measurement agent is running on. | available on the device. | |||
| ma-version: The version of the measurement agent. | ma-status-schedules: An optional unordered set of status objects | |||
| for each schedule. | ||||
| ma-interfaces: A list of network interfaces available on | 3.5.4. Definition of ma-status-schedule-obj | |||
| the device. | ||||
| ma-last-started: The date and time the measurement agent | object { | |||
| last started. | string ma-status-schedule-name; | |||
| string ma-status-schedule-state; | ||||
| datetime ma-status-schedule-last-invocation; | ||||
| [ma-status-action-obj ma-status-schedule-actions<0..*>;] | ||||
| } ma-status-schedule-obj; | ||||
| ma-task-status: An optional list of status objects for each | The ma-status-schedule-obj provides status information about that | |||
| supported task. | status of a schedule and consists of the following elements: | |||
| ma-status-schedule-name: The name of the schedule this | ||||
| status object refers to. | ||||
| ma-status-schedule-state: The state of the schedule. The | ||||
| value 'enabled' indicates that | ||||
| the schedule is currently active | ||||
| and enabled. The value | ||||
| 'suppressed' indicates that the | ||||
| schedule is currently suppressed. | ||||
| The value 'disabled' indicates | ||||
| that the schedule is currently | ||||
| disabled. | ||||
| ma-status-schedule-last-invocation: The date and time of the last | ||||
| invocation of this schedule. | ||||
| ma-status-schedule-last-invocation: The date and time of the last | ||||
| invocation of this schedule. | ||||
| ma-status-schedule-actions: An optional ordered list of | ||||
| status objects for each action of | ||||
| the schedule. | ||||
| 3.5.5. Definition of ma-status-action-obj | ||||
| 3.5.2. Definition of ma-task-status-obj | ||||
| object { | object { | |||
| string ma-task-name; | string ma-status-action-name; | |||
| uri ma-task-registry-entries<1..*>; | string ma-status-action-state; | |||
| [string ma-task-role<0..*>;] | datetime ma-status-action-last-invocation; | |||
| datetime ma-task-last-invocation; | datetime ma-status-action-last-completion; | |||
| datetime ma-task-last-completion; | int ma-status-action-last-status; | |||
| int ma-task-last-status; | string ma-status-action-last-message; | |||
| string ma-task-last-message; | datetime ma-status-action-last-failed-completion; | |||
| datetime ma-task-last-failed-completion; | int ma-status-action-last-failed-status; | |||
| int ma-task-last-failed-status; | string ma-status-action-last-failed-message; | |||
| string ma-task-last-failed-message; | } ma-status-action-obj; | |||
| } ma-task-status-obj; | ||||
| The ma-task-status-obj provides status information about a task and | The ma-status-action-obj provides status information about an action | |||
| consists of the following elements: | of a schedule and consists of the following elements: | |||
| ma-task-name: A name uniquely identifying a task. | ma-status-action-name: The name of the action of a | |||
| schedule this status object | ||||
| refers to. | ||||
| ma-task-registry-entries: A possibly empty list of URIs | ma-status-action-state: The state of the action. | |||
| identifying the metrics a measurement | The value 'enabled' | |||
| task supports. | indicates that the action is | |||
| currently active and | ||||
| enabled. The value | ||||
| 'suppressed' indicates that | ||||
| the action is currently | ||||
| suppressed. The value | ||||
| 'disabled' indicates that | ||||
| the action is currently | ||||
| disabled. | ||||
| ma-task-role: An optional and possibly empty list | ma-status-action-last-invocation: The date and time of the | |||
| of roles of a task. | last invocation of this | |||
| action. | ||||
| ma-task-last-completion: The date and time of the last | ma-status-action-last-completion: The date and time of the | |||
| completion of this task. | last completion of this | |||
| action. | ||||
| ma-task-last-status: The status code returned by the last | ma-status-action-last-status: The status code returned by | |||
| execution of this task. | the last execution of this | |||
| action. | ||||
| ma-task-last-message: The status message produced by the | ma-status-action-last-message: The status message produced | |||
| last execution of this task. | by the last execution of | |||
| this action. | ||||
| ma-task-last-failed-completion: The date and time of the last failed | ma-status-action-last-failed-completion: The date and time of the | |||
| completion of this task. | last failed completion of | |||
| this action. | ||||
| ma-task-last-failed-status: The status code returned by the last | ma-status-action-last-failed-status: The status code returned by | |||
| failed execution of this task. | the last failed execution of | |||
| this action. | ||||
| ma-task-last-failed-message: The status message produced by the | ma-status-action-last-failed-message: The status message produced | |||
| last failed execution of this task. | by the last failed execution | |||
| of this action. | ||||
| 3.5.6. Definition of ma-interface-obj | ||||
| 3.5.3. Definition of ma-interface-obj | ||||
| object { | object { | |||
| string ma-interface-name; | string ma-interface-name; | |||
| string ma-interface-type; | string ma-interface-type; | |||
| [int ma-interface-speed;] | [int ma-interface-speed;] | |||
| [string ma-interface-link-layer-address;] | [string ma-interface-link-layer-address;] | |||
| [ip-address ma-interface-ip-addresses<0..*>]; | [ip-address ma-interface-ip-addresses<0..*>;] | |||
| [ip-address ma-interface-gateways<0..*>;] | [ip-address ma-interface-gateways<0..*>;] | |||
| [ip-address ma-interface-dns-servers<0..*>;] | [ip-address ma-interface-dns-servers<0..*>;] | |||
| } ma-interface-obj; | } ma-interface-obj; | |||
| The ma-interface-obj provides status information about network | The ma-interface-obj provides status information about network | |||
| interfaces and consists of the following elements: | interfaces and consists of the following elements: | |||
| ma-interface-name: A name uniquely identifying a | ma-interface-name: A name uniquely identifying a | |||
| network interface. | network interface. | |||
| ma-interface-type: The type of the network interface. | ma-interface-type: The type of the network interface. | |||
| ma-interface-speed: An optional indication of the speed | ma-interface-speed: An optional indication of the speed | |||
| of the interface (measured in bits- | of the interface (measured in bits- | |||
| per-second). | per-second). | |||
| ma-interface-link-layer-address: An optional link-layer address of | ma-interface-link-layer-address: An optional link-layer address of | |||
| the interface. | the interface. | |||
| ma-interface-ip-addresses: An optional list of IP addresses | ma-interface-ip-addresses: An optional ordered list of IP | |||
| assigned to the interface. | addresses assigned to the | |||
| interface. | ||||
| ma-interface-gateways: An optional list of gateways | ma-interface-gateways: An optional ordered list of | |||
| assigned to the interface. | gateways assigned to the interface. | |||
| ma-interface-dns-servers: An optional list of DNS servers | ma-interface-dns-servers: An optional ordered list of DNS | |||
| assigned to the interface. | servers assigned to the interface. | |||
| 3.6. Reporting Information | 3.6. Reporting Information | |||
| At a point in time specified by a Schedule, the MA will execute a | At a point in time specified by a Schedule, the MA will execute a | |||
| task or tasks that communicate a set of measurement results to the | task or tasks that communicate a set of measurement results to the | |||
| Collector. These Reporting Tasks will be configured to transmit task | Collector. These Reporting Tasks will be configured to transmit task | |||
| results over a specified Report Channel to a Collector. | results over a specified Report Channel to a Collector. | |||
| It should be noted that the output from Tasks does not need to be | It should be noted that the output from Tasks does not need to be | |||
| sent to communication Channels. It can alternatively, or | sent to communication Channels. It can alternatively, or | |||
| skipping to change at page 22, line 31 ¶ | skipping to change at page 25, line 15 ¶ | |||
| Protocol. It is constructed at the time of sending a report and | Protocol. It is constructed at the time of sending a report and | |||
| represents the inherent structure of the information that is sent to | represents the inherent structure of the information that is sent to | |||
| the Collector. | the Collector. | |||
| 3.6.1. Definition of ma-report-obj | 3.6.1. Definition of ma-report-obj | |||
| object { | object { | |||
| datetime ma-report-date; | datetime ma-report-date; | |||
| [uuid ma-report-agent-id;] | [uuid ma-report-agent-id;] | |||
| [string ma-report-group-id;] | [string ma-report-group-id;] | |||
| [ma-report-task-obj ma-report-tasks<0..*>]; | [string ma-report-measurement-point;] | |||
| [ma-report-task-obj ma-report-tasks<0..*>;] | ||||
| } ma-report-obj; | } ma-report-obj; | |||
| The ma-report-obj provides the meta-data of a single report and | The ma-report-obj provides the meta-data of a single report and | |||
| consists of the following elements: | consists of the following elements: | |||
| ma-report-date: The date and time when the report was sent | ma-report-date: The date and time when the report was | |||
| to a collector. | sent to a collector. | |||
| ma-report-agent-id: An optional uuid uniquely identifying the | ma-report-agent-id: An optional uuid uniquely identifying | |||
| measurement agent. | the measurement agent. | |||
| ma-report-group-id: An optional identifier of the group of | ma-report-group-id: An optional identifier of the group of | |||
| measurement agents this measurement agent | measurement agents this measurement | |||
| belongs to. | agent belongs to. | |||
| ma-report-tasks: An optional and possibly empty list of | ma-report-measurement-point: An optional identifier for the | |||
| tasks result objects. | measurement point indicating where the | |||
| measurement agent is located on a path | ||||
| (see [RFC7398] for further details). | ||||
| ma-report-tasks: An optional and possibly empty | ||||
| unordered set of tasks result objects. | ||||
| 3.6.2. Definition of ma-report-task-obj | 3.6.2. Definition of ma-report-task-obj | |||
| object { | object { | |||
| string ma-report-task-name; | string ma-report-task-name; | |||
| [uri ma-report-task-registry-entries<1..*>;] | [ma-metric-registry-obj ma-report-task-metrics<0..*>;] | |||
| [ma-option-obj ma-report-task-options<0..*>]; | [ma-option-obj ma-report-task-options<0..*>;] | |||
| [ma-option-obj ma-report-task-action-options<0..*>]; | [ma-option-obj ma-report-task-action-options<0..*>;] | |||
| [string ma-report-task-cycle-id;] | [string ma-report-task-cycle-id;] | |||
| [string ma-report-task-column-labels<0..*>;] | [string ma-report-task-column-labels<0..*>;] | |||
| [ma-report-row-obj ma-report-task-rows<0..*>;] | [ma-report-row-obj ma-report-task-rows<0..*>;] | |||
| } ma-report-task-obj; | } ma-report-task-obj; | |||
| The ma-report-task-obj provides the meta-data of a result report of a | The ma-report-task-obj provides the meta-data of a result report of a | |||
| single task. It consists of the following elements: | single task. It consists of the following elements: | |||
| ma-report-task-name: A name uniquely identifying the | ma-report-task-name: A name uniquely identifying the task | |||
| task that produced the results | that produced the results being | |||
| being reported. | reported. | |||
| ma-report-task-registry-entries: An optional possibly empty list of | ma-report-task-metrics: An optional and possibly empty | |||
| URIs identifying the metrics | unordered set of registered metrics | |||
| reported. | and associated rulels that are | |||
| reported. | ||||
| ma-report-task-options: An optional list of task options | ma-report-task-options: An optional ordered list of task | |||
| provided by the task object. | options provided by the task object. | |||
| ma-report-task-action-options: An optional list of action options | ma-report-task-action-options: An optional ordered list of action | |||
| provided by the scheduling object. | options provided by the action | |||
| object. | ||||
| ma-report-task-cycle-id: An optional measurement cycle | ma-report-task-cycle-id: An optional measurement cycle | |||
| identifier. | identifier. | |||
| ma-report-task-column-labels: An optional and possibly empty list | ma-report-task-column-labels: An optional and possibly empty | |||
| of column labels. | ordered list of column labels. | |||
| ma-report-task-rows: An optional and possibly empty list | ma-report-task-rows: An optional and possibly empty | |||
| of result rows. | ordered list of result rows. | |||
| 3.6.3. Definition of ma-report-row-obj | 3.6.3. Definition of ma-report-row-obj | |||
| object { | object { | |||
| datetime ma-report-result-start-time; | datetime ma-report-row-start-time; | |||
| [datetime ma-report-result-end-time;] | [datetime ma-report-row-end-time;] | |||
| string ma-report-result-conflicts<0..*>; | string ma-report-row-conflicts<0..*>; | |||
| data ma-report-result-values<0..*>; | data ma-report-row-values<0..*>; | |||
| } ma-report-row-obj; | } ma-report-row-obj; | |||
| The ma-report-row-obj represents a result row and consists of the | The ma-report-row-obj represents a result row and consists of the | |||
| following elements: | following elements: | |||
| ma-report-result-start-time: The date and time of the start of the | ma-report-row-start-time: The date and time of the start of the | |||
| measurement task that produced the | measurement task that produced the reported | |||
| reported result values. | result values. | |||
| ma-report-result-end-time: An optional date and time indicating | ma-report-row-end-time: An optional date and time indicating when | |||
| when the measurement task that produced | the measurement task that produced the | |||
| the reported result values finished. | reported result values finished. | |||
| ma-report-result-conflicts: A possibly empty set of names of task | ma-report-row-conflicts: A possibly empty set of names of task that | |||
| that might have impacted the | might have impacted the measurement being | |||
| measurement being reported. | reported. | |||
| ma-report-result-values: A possibly empty set of result values. | ma-report-row-values: A possibly empty ordered list of result | |||
| When present, it contains an ordered | values. When present, it contains an | |||
| set of values that align to the set of | ordered list of values that align to the | |||
| column labels for the report. | set of column labels for the report. | |||
| 3.7. Common Objects: Schedules | 3.7. Common Objects: Schedules | |||
| A Schedule specifies the execution of a single or repeated series of | A Schedule specifies the execution of a single or repeated series of | |||
| Actions. An Action is a Task with additional specific parameters. | Actions. An Action is a Task with additional specific parameters. | |||
| Each Schedule contains basically two elements: a list of Actions to | Each Schedule contains basically two elements: an ordered list of | |||
| be executed and an Event object for the Schedule. The Schedule | Actions to be executed and an Event object for the Schedule. The | |||
| states what Actions to run (with what configuration) and when to run | Schedule states what Actions to run (with what configuration) and | |||
| the Actions. | when to run the Actions. | |||
| Multiple Actions in the list of a single Measurement Schedule will be | Multiple Actions contained as an ordered list of a single Measurement | |||
| executed according to the execution mode of the Schedule. In | Schedule will be executed according to the execution mode of the | |||
| sequential mode, Actions will be executed sequentially and in | Schedule. In sequential mode, Actions will be executed sequentially | |||
| parallel mode, all Actions will be executed concurrently. In | and in parallel mode, all Actions will be executed concurrently. In | |||
| pipelined mode, data produced by one Action is passed to the | pipelined mode, data produced by one Action is passed to the | |||
| subsequent Action. Actions in different Schedules execute in | subsequent Action. Actions contained in different Schedules execute | |||
| parallel with such conflicts being reported in the Reporting | in parallel with such conflicts being reported in the Reporting | |||
| Information where necessary. If two or more Schedules have the same | Information where necessary. If two or more Schedules have the same | |||
| start time, then the two will execute in parallel. There is no | start time, then the two will execute in parallel. There is no | |||
| mechanism to prioritise one schedule over another or to mutex | mechanism to prioritise one schedule over another or to mutex | |||
| scheduled tasks. | scheduled tasks. | |||
| As well as specifying which Actions to execute, the Schedule also | As well as specifying which Actions to execute, the Schedule also | |||
| specifies how to link the data outputs from each Action to other | specifies how to link the data outputs from each Action to other | |||
| Schedules. Specifying this within the Schedule allows the highest | Schedules. Specifying this within the Schedule allows the highest | |||
| level of flexibility since it is even possible to send the output | level of flexibility since it is even possible to send the output | |||
| from different executions of the same Task Configuration to different | from different executions of the same Task Configuration to different | |||
| skipping to change at page 26, line 4 ¶ | skipping to change at page 28, line 36 ¶ | |||
| results are to be sent to a Schedule with a Reporting Action. | results are to be sent to a Schedule with a Reporting Action. | |||
| This Reporting Task of the Reporting Action is executed by a | This Reporting Task of the Reporting Action is executed by a | |||
| separate Schedule that specifies that it should run hourly at 5 | separate Schedule that specifies that it should run hourly at 5 | |||
| minutes past the hour. When run this Reporting Action takes the | minutes past the hour. When run this Reporting Action takes the | |||
| data generated by the UDP latency Measurement Task as well as any | data generated by the UDP latency Measurement Task as well as any | |||
| other data to be included in the hourly report and transfers it to | other data to be included in the hourly report and transfers it to | |||
| the Collector over the Report Channel specified within its own | the Collector over the Report Channel specified within its own | |||
| Schedule. | Schedule. | |||
| 3.7.1. Definition of ma-schedule-obj | 3.7.1. Definition of ma-schedule-obj | |||
| object { | object { | |||
| string ma-schedule-name; | string ma-schedule-name; | |||
| ma-event-obj ma-schedule-event; | ma-event-obj ma-schedule-event; | |||
| ma-action-obj ma-schedule-actions<0..*>; | ma-action-obj ma-schedule-actions<0..*>; | |||
| string ma-schedule-execution-mode; | string ma-schedule-execution-mode; | |||
| [string ma-schedule-suppression-tags<0..*>;] | ||||
| } ma-schedule-obj; | } ma-schedule-obj; | |||
| The ma-schedule-obj is the main scheduling object. It consists of | The ma-schedule-obj is the main scheduling object. It consists of | |||
| the following elements: | the following elements: | |||
| ma-schedule-name: A name uniquely identifying a scheduling | ma-schedule-name: A name uniquely identifying a | |||
| object. | scheduling object. | |||
| ma-schedule-event: An event object indicating when the | ma-schedule-event: An event object indicating when the | |||
| schedule fires. | schedule fires. | |||
| ma-schedule-actions: A possibly empty list of actions to | ma-schedule-actions: A possibly empty ordered list of | |||
| invoke when the schedule fires. | actions to invoke when the schedule | |||
| fires. | ||||
| ma-schedule-execution-mode: Indicates whether the actions should be | ma-schedule-execution-mode: Indicates whether the actions should be | |||
| executed sequentially, in parallel, or in | executed sequentially, in parallel, or | |||
| a pipelined mode (where data produced by | in a pipelined mode (where data | |||
| one action is passed to the subsequent | produced by one action is passed to the | |||
| action). | subsequent action). The default | |||
| execution mode is pipelined. | ||||
| ma-schedule-suppression-tags: An optional unordered set of | ||||
| suppression tags. | ||||
| 3.7.2. Definition of ma-action-obj | 3.7.2. Definition of ma-action-obj | |||
| object { | object { | |||
| string ma-action-name; | string ma-action-name; | |||
| string ma-action-task-name; | string ma-action-config-task-name; | |||
| [ma-option-obj ma-action-task-options<0..*>]; | [ma-option-obj ma-action-task-options<0..*>;] | |||
| [string ma-action-destinations<0..*>;] | [string ma-action-destinations<0..*>;] | |||
| [string ma-action-suppression-tags<0..*>;] | ||||
| } ma-action-obj; | } ma-action-obj; | |||
| The ma-action-obj models an a task together with its schedule | The ma-action-obj models an a task together with its schedule | |||
| specific options and destination tasks. It consists of the following | specific task options and destination tasks. It consists of the | |||
| elements: | following elements: | |||
| ma-action-name: A name uniquely identifying an action of a | ma-action-name: A name uniquely identifying an action | |||
| scheduling object. | of a scheduling object. | |||
| ma-action-task-name: A name identifying the task to be invoked | ma-action-config-task-name: A name identifying the configured task | |||
| by the action. | to be invoked by the action. | |||
| ma-action-task-options: An optional and possibly empty list of | ma-action-task-options: An optional and possibly empty ordered | |||
| options (name-value pairs) that are passed | list of options (name-value pairs) that | |||
| to the task by appending them to the | are passed to the task by appending | |||
| options configured for the task object. | them to the options configured for the | |||
| task object. | ||||
| ma-action-destinations: An optional and possibly empty list of | ma-action-destinations: An optional and possibly empty | |||
| names of destination schedules that consume | unordered set of names of destination | |||
| output produced by this action. | schedules that consume output produced | |||
| by this action. | ||||
| ma-action-suppression-tags: An optional unordered set of | ||||
| suppression tags. | ||||
| 3.8. Common Objects: Channels | 3.8. Common Objects: Channels | |||
| A Channel defines a bi-directional communication channel between the | A Channel defines a bi-directional communication channel between the | |||
| MA and a Controller or Collector. Multiple Channels can be defined | MA and a Controller or Collector. Multiple Channels can be defined | |||
| to enable results to be split or duplicated across different | to enable results to be split or duplicated across different | |||
| Collectors. | Collectors. | |||
| Each Channel contains the details of the remote endpoint (including | Each Channel contains the details of the remote endpoint (including | |||
| location and security credential information such as the | location and security credential information such as the | |||
| skipping to change at page 30, line 8 ¶ | skipping to change at page 33, line 8 ¶ | |||
| In addition the Task Configuration may optionally also be given a | In addition the Task Configuration may optionally also be given a | |||
| Measurement Cycle ID. The purpose of this ID is to easily identify a | Measurement Cycle ID. The purpose of this ID is to easily identify a | |||
| set of measurement results that have been produced by Measurement | set of measurement results that have been produced by Measurement | |||
| Tasks with comparable Options. This ID could be manually incremented | Tasks with comparable Options. This ID could be manually incremented | |||
| or otherwise changed when an Option change is implemented which could | or otherwise changed when an Option change is implemented which could | |||
| mean that two sets of results should not be directly compared. | mean that two sets of results should not be directly compared. | |||
| 3.9.1. Definition of ma-task-obj | 3.9.1. Definition of ma-task-obj | |||
| object { | object { | |||
| string ma-task-name; | string ma-task-name; | |||
| uri ma-task-registry-entries<1..*>; | ma-metric-registry-obj ma-task-metrics<0..*>; | |||
| [ma-option-obj ma-task-options<0..*>]; | [ma-option-obj ma-task-options<0..*>;] | |||
| [boolean ma-task-suppress-by-default;] | [boolean ma-task-suppress-by-default;] | |||
| [string ma-task-cycle-id;] | [string ma-task-cycle-id;] | |||
| } ma-task-obj; | } ma-task-obj; | |||
| The ma-task-obj defines a task that can be invoked. A task can be | The ma-task-obj defines a configured task that can be invoked as part | |||
| referenced by its name and it contains a set of URIs to link to a | of an action. A configured task can be referenced by its name and it | |||
| metrics registry or a local specification of the task. Options allow | contains a set of URIs to link to a metrics registry or a local | |||
| the configuration of task parameter (in the form of name-value | specification of the task. Options allow the configuration of task | |||
| pairs). The ma-task-obj consists of the following elements: | parameters (in the form of name-value pairs). The ma-task-obj | |||
| consists of the following elements: | ||||
| ma-task-name: A name uniquely identifying a task | ma-task-name: A name uniquely identifying a | |||
| object. | configured task object. | |||
| ma-task-registry-entries: A possibly empty list of URIs | ma-task-metrics: A possibly empty unordered set of | |||
| identifying the metrics a measurement | registered metrics and associated roles | |||
| task supports. | the configured measurement task will | |||
| use. | ||||
| ma-task-options: A optional and possibly empty list of | ma-task-options: An optional and possibly empty ordered | |||
| options (name-value pairs) that are | list of options (name-value pairs) that | |||
| passed to the task. | are passed to the configured task. | |||
| ma-task-suppress-by-default: A boolean flag indicating whether the | ma-task-suppress-by-default: A boolean flag indicating whether this | |||
| task will be suppressed by default. | configured task will be suppressed by | |||
| The default value of the flag is true. | default. The default value of the flag | |||
| is true. | ||||
| ma-task-cycle-id: An optional measurement cycle | ma-task-cycle-id: An optional measurement cycle | |||
| identifier that can be used to identify | identifier that can be used to identify | |||
| set of measurement results that have | set of measurement results that have | |||
| been produced by tasks with comparable | been produced by this configured tasks | |||
| options. | with comparable options. | |||
| 3.9.2. Definition of ma-option-obj | 3.9.2. Definition of ma-option-obj | |||
| object { | object { | |||
| string ma-option-name; | string ma-option-name; | |||
| [object ma-option-value;] | [object ma-option-value;] | |||
| } ma-option-obj; | } ma-option-obj; | |||
| The ma-option-obj models a name-value pair and consists of the | The ma-option-obj models a name-value pair and consists of the | |||
| following elements: | following elements: | |||
| skipping to change at page 31, line 20 ¶ | skipping to change at page 34, line 25 ¶ | |||
| o Channel is used to specify the details of an endpoint for Control | o Channel is used to specify the details of an endpoint for Control | |||
| or Reporting Task communications and is detailed elsewhere in this | or Reporting Task communications and is detailed elsewhere in this | |||
| document. The common option name for specifying the channel is | document. The common option name for specifying the channel is | |||
| "channel". | "channel". | |||
| o Role is used to specify which Role the task should be performing | o Role is used to specify which Role the task should be performing | |||
| (as defined in the registry) if multiple roles are available. The | (as defined in the registry) if multiple roles are available. The | |||
| common option name for specifying the role is "role". | common option name for specifying the role is "role". | |||
| 3.10. Common Objects: Event Information | 3.10. Common Objects: Registry Information | |||
| Tasks and actions can be associated with entries in a metrics | ||||
| registry. A metric is identified by a URI and a metric may have | ||||
| associated roles. | ||||
| 3.10.1. Definition of ma-metric-registry-obj | ||||
| object { | ||||
| uri ma-metric-registry-entry; | ||||
| [string ma-metric-registry-role<0..*>;] | ||||
| } ma-metric-registry-obj; | ||||
| The ma-metric-registry-obj defines a registered metric and the | ||||
| associated role(s). The ma-metric-registry-obj consists of the | ||||
| following elements: | ||||
| ma-metric-registry-entry: A URI identifying a metric in a metric | ||||
| registry. | ||||
| ma-metric-registry-role: An optional and possibly empty unordered | ||||
| set of roles for the metric. | ||||
| 3.11. Common Objects: Event Information | ||||
| The Event information object used throughout the information models | The Event information object used throughout the information models | |||
| can initially take one of five different forms. Additional forms may | can initially take one of five different forms. Additional forms may | |||
| be defined later in order to bind the execution of schedules to | be defined later in order to bind the execution of schedules to | |||
| additional events. The initially defined five Event forms are: | additional events. The initially defined five Event forms are: | |||
| 1. Periodic Timing: Emits multiple events periodically according to | 1. Periodic Timing: Emits multiple events periodically according to | |||
| an interval time defined in milliseconds | an interval time defined in milliseconds | |||
| 2. Calendar Timing: Emits multiple events according to a calendar | 2. Calendar Timing: Emits multiple events according to a calendar | |||
| skipping to change at page 32, line 14 ¶ | skipping to change at page 35, line 42 ¶ | |||
| Startup events are only created on device startup, not when a new | Startup events are only created on device startup, not when a new | |||
| Instruction is transferred to the MA. If scheduled task execution is | Instruction is transferred to the MA. If scheduled task execution is | |||
| desired both on the transfer of the Instruction and on device restart | desired both on the transfer of the Instruction and on device restart | |||
| then both the Immediate and Startup timing needs to be used in | then both the Immediate and Startup timing needs to be used in | |||
| conjunction. | conjunction. | |||
| The datetime format used for all elements in the information model | The datetime format used for all elements in the information model | |||
| MUST conform to RFC 3339 [RFC3339]. | MUST conform to RFC 3339 [RFC3339]. | |||
| 3.10.1. Definition of ma-event-obj | 3.11.1. Definition of ma-event-obj | |||
| object { | object { | |||
| string ma-event-name; | string ma-event-name; | |||
| union { | union { | |||
| ma-periodic-obj ma-timing-periodic; | ma-periodic-obj ma-timing-periodic; | |||
| ma-calendar-obj ma-timing-calendar; | ma-calendar-obj ma-timing-calendar; | |||
| ma-one-off-obj ma-timing-one-off; | ma-one-off-obj ma-timing-one-off; | |||
| ma-immediate-obj ma-event-immediate; | ma-immediate-obj ma-event-immediate; | |||
| ma-startup-obj ma-event-startup; | ma-startup-obj ma-event-startup; | |||
| } | } | |||
| [int ma-event-random-spread;] | [int ma-event-random-spread;] | |||
| } ma-event-obj; | } ma-event-obj; | |||
| skipping to change at page 33, line 12 ¶ | skipping to change at page 37, line 5 ¶ | |||
| ma-timing-immediate: The ma-event-immediate is present for | ma-timing-immediate: The ma-event-immediate is present for | |||
| immediate event objects. | immediate event objects. | |||
| ma-timing-startup: The ma-event-startup is present for startup | ma-timing-startup: The ma-event-startup is present for startup | |||
| event objects. | event objects. | |||
| ma-timing-random-spread: The optional ma-event-random-spread adds a | ma-timing-random-spread: The optional ma-event-random-spread adds a | |||
| random delay defined in milliseconds to the | random delay defined in milliseconds to the | |||
| event object. | event object. | |||
| 3.10.2. Definition of ma-periodic-obj | 3.11.2. Definition of ma-periodic-obj | |||
| object { | object { | |||
| [datetime ma-periodic-start;] | [datetime ma-periodic-start;] | |||
| [datetime ma-periodic-end;] | [datetime ma-periodic-end;] | |||
| int ma-periodic-interval; | int ma-periodic-interval; | |||
| } ma-periodic-obj; | } ma-periodic-obj; | |||
| The ma-periodic-obj timing object has an optional start and an | The ma-periodic-obj timing object has an optional start and an | |||
| optional end time plus a periodic interval. Schedules using an ma- | optional end time plus a periodic interval. Schedules using an ma- | |||
| periodic-obj are started periodically between the start and end time. | periodic-obj are started periodically between the start and end time. | |||
| skipping to change at page 33, line 39 ¶ | skipping to change at page 37, line 32 ¶ | |||
| ma-periodic-end: The optional date and time at which | ma-periodic-end: The optional date and time at which | |||
| Schedules using this object are last | Schedules using this object are last | |||
| started. If not present it defaults to | started. If not present it defaults to | |||
| indefinite. | indefinite. | |||
| ma-periodic-interval: The interval defines the time in | ma-periodic-interval: The interval defines the time in | |||
| milliseconds between two consecutive starts | milliseconds between two consecutive starts | |||
| of tasks. | of tasks. | |||
| 3.10.3. Definition of ma-calendar-obj | 3.11.3. Definition of ma-calendar-obj | |||
| Calendar Timing supports the routine execution of Actions at specific | Calendar Timing supports the routine execution of Actions at specific | |||
| times and/or on specific dates. It can support more flexible timing | times and/or on specific dates. It can support more flexible timing | |||
| than Periodic Timing since the execution of Actions does not have to | than Periodic Timing since the execution of Actions does not have to | |||
| be uniformly spaced. For example a Calendar Timing could support the | be uniformly spaced. For example a Calendar Timing could support the | |||
| execution of a Measurement Task every hour between 6pm and midnight | execution of a Measurement Task every hour between 6pm and midnight | |||
| on weekdays only. | on weekdays only. | |||
| Calendar Timing is also required to perform measurements at | Calendar Timing is also required to perform measurements at | |||
| meaningful times in relation to network usage (e.g., at peak times). | meaningful times in relation to network usage (e.g., at peak times). | |||
| skipping to change at page 35, line 32 ¶ | skipping to change at page 39, line 26 ¶ | |||
| seconds of an hour. If not present, it | seconds of an hour. If not present, it | |||
| defaults to no seconds. | defaults to no seconds. | |||
| ma-calendar-timezone-offset: The optional timezone offest in hours. | ma-calendar-timezone-offset: The optional timezone offest in hours. | |||
| If not present, it defaults to the | If not present, it defaults to the | |||
| system's local timezone. | system's local timezone. | |||
| If a day of the month is specified that does not exist in the month | If a day of the month is specified that does not exist in the month | |||
| (e.g., 29th of Feburary) then those values are ignored. | (e.g., 29th of Feburary) then those values are ignored. | |||
| 3.10.4. Definition of ma-one-off-obj | 3.11.4. Definition of ma-one-off-obj | |||
| object { | object { | |||
| datetime ma-one-off-time; | datetime ma-one-off-time; | |||
| } ma-one-off-obj; | } ma-one-off-obj; | |||
| The ma-one-off-obj timing object specifies a fixed point in time. | The ma-one-off-obj timing object specifies a fixed point in time. | |||
| Schedules using an ma-one-off-obj are started once at the specified | Schedules using an ma-one-off-obj are started once at the specified | |||
| date and time. The ma-one-off-obj consists of the following | date and time. The ma-one-off-obj consists of the following | |||
| elements: | elements: | |||
| ma-one-off-time: The date and time at which Schedules using | ma-one-off-time: The date and time at which Schedules using | |||
| this object are started. | this object are started. | |||
| 3.10.5. Definition of ma-immediate-obj | 3.11.5. Definition of ma-immediate-obj | |||
| object { | object { | |||
| // empty | // empty | |||
| } ma-immediate-obj; | } ma-immediate-obj; | |||
| The ma-immediate-obj event object has no further information | The ma-immediate-obj event object has no further information | |||
| elements. Schedules using an ma-immediate-obj are started as soon as | elements. Schedules using an ma-immediate-obj are started as soon as | |||
| possible. | possible. | |||
| 3.10.6. Definition of ma-startup-obj | 3.11.6. Definition of ma-startup-obj | |||
| object { | object { | |||
| // empty | // empty | |||
| } ma-startup-obj; | } ma-startup-obj; | |||
| The ma-startup-obj event object has no further information elements. | The ma-startup-obj event object has no further information elements. | |||
| Schedules using an ma-startup-obj are started at MA initiation time. | Schedules or suppressions using an ma-startup-obj are started at MA | |||
| initialization time. | ||||
| 3.11.7. Definition of ma-controller-lost-obj | ||||
| object { | ||||
| // empty | ||||
| } ma-controller-lost-obj; | ||||
| The ma-controller-lost-obj event object has no further information | ||||
| elements. The ma-controller-lost-obj indicates that connectivity to | ||||
| the controller has been lost. This is determined by a timer started | ||||
| after each successful contact with a controller. When the timer | ||||
| reaches the controller-timeout (measured in seconds), an ma- | ||||
| controller-lost-obj event is generated. This event may be used to | ||||
| start a suppression. | ||||
| 3.11.8. Definition of ma-controller-ok-obj | ||||
| object { | ||||
| // empty | ||||
| } ma-controller-ok-obj; | ||||
| The ma-controller-ok-obj event object has no further information | ||||
| elements. This ma-controller-ok-obj event indicates that | ||||
| connectivity to the controller has been established again after it | ||||
| was lost. This is commonly used to end a suppression. | ||||
| 4. IANA Considerations | 4. IANA Considerations | |||
| This document makes no request of IANA. | This document makes no request of IANA. | |||
| Note to RFC Editor: this section may be removed on publication as an | Note to RFC Editor: this section may be removed on publication as an | |||
| RFC. | RFC. | |||
| 5. Security Considerations | 5. Security Considerations | |||
| skipping to change at page 37, line 11 ¶ | skipping to change at page 41, line 29 ¶ | |||
| The Information Model should support wherever relevant, all the | The Information Model should support wherever relevant, all the | |||
| security and privacy requirements associated with the LMAP Framework. | security and privacy requirements associated with the LMAP Framework. | |||
| 6. Acknowledgements | 6. Acknowledgements | |||
| The notation was inspired by the notation used in the ALTO protocol | The notation was inspired by the notation used in the ALTO protocol | |||
| specification. | specification. | |||
| Philip Eardley, Trevor Burbridge, Marcelo Bagnulo and Juergen | Philip Eardley, Trevor Burbridge, Marcelo Bagnulo and Juergen | |||
| Schoenwaelder work in part on the Leone research project, which | Schoenwaelder worked in part on the Leone research project, which | |||
| receives funding from the European Union Seventh Framework Programme | received funding from the European Union Seventh Framework Programme | |||
| [FP7/2007-2013] under grant agreement number 317647. | [FP7/2007-2013] under grant agreement number 317647. | |||
| Juergen Schoenwaelder was partly funded by Flamingo, a Network of | ||||
| Excellence project (ICT-318488) supported by the European Commission | ||||
| under its Seventh Framework Programme. | ||||
| 7. References | 7. References | |||
| 7.1. Normative References | 7.1. Normative References | |||
| [I-D.ietf-lmap-framework] | ||||
| Eardley, P., Morton, A., Bagnulo, M., Burbridge, T., | ||||
| Aitken, P., and A. Akhter, "A framework for Large-Scale | ||||
| Measurement of Broadband Performance (LMAP)", draft-ietf- | ||||
| lmap-framework-12 (work in progress), March 2015. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | |||
| RFC2119, March 1997, | ||||
| <http://www.rfc-editor.org/info/rfc2119>. | ||||
| [RFC3339] Klyne, G., Ed. and C. Newman, "Date and Time on the | [RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet: | |||
| Internet: Timestamps", RFC 3339, July 2002. | Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002, | |||
| <http://www.rfc-editor.org/info/rfc3339>. | ||||
| [RFC7594] Eardley, P., Morton, A., Bagnulo, M., Burbridge, T., | ||||
| Aitken, P., and A. Akhter, "A Framework for Large-Scale | ||||
| Measurement of Broadband Performance (LMAP)", RFC 7594, | ||||
| DOI 10.17487/RFC7594, September 2015, | ||||
| <http://www.rfc-editor.org/info/rfc7594>. | ||||
| 7.2. Informative References | 7.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-02 (work in progress), February 2015. | ippm-metric-registry-05 (work in progress), October 2015. | |||
| [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-00 (work in | LMAP Measurement Agents", draft-ietf-lmap-yang-01 (work in | |||
| progress), April 2015. | progress), July 2015. | |||
| [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, January | Information Models and Data Models", RFC 3444, DOI 10 | |||
| 2003. | .17487/RFC3444, January 2003, | |||
| <http://www.rfc-editor.org/info/rfc3444>. | ||||
| Appendix A. Open Issues | [RFC7398] Bagnulo, M., Burbridge, T., Crawford, S., Eardley, P., and | |||
| A. Morton, "A Reference Path and Measurement Points for | ||||
| Large-Scale Measurement of Broadband Performance", RFC | ||||
| 7398, DOI 10.17487/RFC7398, February 2015, | ||||
| <http://www.rfc-editor.org/info/rfc7398>. | ||||
| o Should the execution-mode have a default? If so, which one? | Appendix A. Non-editorial Changes since -06 | |||
| o Is the current handling of lost connectivity to the controller | o The default execution mode is pipelined (LI12) | |||
| sufficient? | ||||
| o There should be status objects for schedules and actions instead | o Added text to define which action consumes data in sequential, | |||
| of tasks (since what is being invoked are schedules and actions, | pipelines, and parallel execution mode (LI11) | |||
| not configured tasks). The status objects should also indicate | ||||
| whether a schedule is enabled, suppressed, disabled (e.g. due to | o Added ma-config-measurement-point, ma-report-measurement-point, | |||
| loss of controller connectivity), or disabled for any other | and ma-config-report-measurement-point to configure and report the | |||
| reason. | measurement point (LI10) | |||
| o Turned ma-suppression-obj into a list that uses a start event and | ||||
| a stop event to define the start and end of suppression; this | ||||
| unifies the handling of suppression and loss of controller | ||||
| connectivity (LI09) | ||||
| o Added ma-controller-lost-obj and ma-controller-ok-obj event | ||||
| objects (LI09) | ||||
| o Added ma-status-schedule-obj to report the status of a schedule | ||||
| and refactored ma-task-status-obj into ma-status-action-obj to | ||||
| report the status of an action (LI07, LI08) | ||||
| o Introduced a common ma-metric-registry-obj that identifies a | ||||
| metric and a set of associated roles and added this object to | ||||
| expose metric capabilities and to support the configuration of | ||||
| metrics and to report the metrics used (LI06) | ||||
| o Introduced ma-capability-obj and ma-capability-task-obj to expose | ||||
| the capabilities of a measurement agent (LI05) | ||||
| o Use 'ordered list' or 'unordered set' instead of list, collection, | ||||
| etc. (LI02) | ||||
| o Clarification that Actions are part of a Schedule (LI03) | ||||
| o Deleted terms that are not strictly needed (LI04) | ||||
| Appendix B. Non-editorial Changes since -05 | Appendix B. Non-editorial Changes since -05 | |||
| o A task can now reference multiply registry entries. | o A task can now reference multiply registry entries. | |||
| o Consistent usage of the term Action and Task. | o Consistent usage of the term Action and Task. | |||
| o Schedules are triggered by Events instead of Timings; Timings are | o Schedules are triggered by Events instead of Timings; Timings are | |||
| just one of many possible event sources. | just one of many possible event sources. | |||
| End of changes. 133 change blocks. | ||||
| 357 lines changed or deleted | 586 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/ | ||||