| < draft-burbridge-lmap-information-model-00.txt | draft-burbridge-lmap-information-model-01.txt > | |||
|---|---|---|---|---|
| Network Working Group T. Burbridge | Network Working Group T. Burbridge | |||
| Internet-Draft P. Eardley | Internet-Draft P. Eardley | |||
| Intended status: Informational British Telecom | Intended status: Informational British Telecom | |||
| Expires: January 05, 2014 M. Bagnulo | Expires: April 24, 2014 M. Bagnulo | |||
| Universidad Carlos III de Madrid | Universidad Carlos III de Madrid | |||
| J. Schoenwaelder | J. Schoenwaelder | |||
| Jacobs University | Jacobs University | |||
| July 04, 2013 | October 21, 2013 | |||
| Information Model for Large-Scale Measurement Platforms (LMAP) | Information Model for Large-Scale Measurement Platforms (LMAP) | |||
| draft-burbridge-lmap-information-model-00 | draft-burbridge-lmap-information-model-01 | |||
| 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 the 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. | |||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
| Status of This Memo | Status of this Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 05, 2014. | This Internet-Draft will expire on April 19, 2014. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2013 IETF Trust and the persons identified as the | Copyright (c) 2013 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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. LMAP Information Model . . . . . . . . . . . . . . . . . . . 3 | 2. LMAP Information Model . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. Information Structure . . . . . . . . . . . . . . . . . . 3 | 2.1. Information Structure . . . . . . . . . . . . . . . . . . 4 | |||
| 2.2. Pre-Configuration Information . . . . . . . . . . . . . . 4 | 2.2. Pre-Configuration Information . . . . . . . . . . . . . . 5 | |||
| 2.3. Configuration Information . . . . . . . . . . . . . . . . 5 | 2.3. Configuration Information . . . . . . . . . . . . . . . . 5 | |||
| 2.4. Instruction Information . . . . . . . . . . . . . . . . . 6 | 2.4. Instruction Information . . . . . . . . . . . . . . . . . 6 | |||
| 2.5. Logging Information . . . . . . . . . . . . . . . . . . . 9 | 2.5. Logging Information . . . . . . . . . . . . . . . . . . . 9 | |||
| 2.6. Status Information . . . . . . . . . . . . . . . . . . . 10 | 2.6. Status Information . . . . . . . . . . . . . . . . . . . . 10 | |||
| 2.7. Reporting Information . . . . . . . . . . . . . . . . . . 10 | 2.7. Reporting Information . . . . . . . . . . . . . . . . . . 11 | |||
| 2.8. Timing Information . . . . . . . . . . . . . . . . . . . 11 | 2.8. Channels . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 2.8.1. Periodic Timing . . . . . . . . . . . . . . . . . . . 12 | 2.9. Timing Information . . . . . . . . . . . . . . . . . . . . 13 | |||
| 2.8.2. Calendar Timing . . . . . . . . . . . . . . . . . . . 12 | 2.9.1. Periodic Timing . . . . . . . . . . . . . . . . . . . 14 | |||
| 2.8.3. One-Off Timing . . . . . . . . . . . . . . . . . . . 13 | 2.9.2. Calendar Timing . . . . . . . . . . . . . . . . . . . 14 | |||
| 2.8.4. Immediate Timing . . . . . . . . . . . . . . . . . . 13 | 2.9.3. One-Off Timing . . . . . . . . . . . . . . . . . . . . 15 | |||
| 2.8.5. Timing Randomness . . . . . . . . . . . . . . . . . . 13 | 2.9.4. Immediate Timing . . . . . . . . . . . . . . . . . . . 15 | |||
| 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | 2.9.5. Timing Randomness . . . . . . . . . . . . . . . . . . 15 | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | |||
| 6. Informative References . . . . . . . . . . . . . . . . . . . 14 | 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | 6. Informative References . . . . . . . . . . . . . . . . . . . . 16 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16 | ||||
| 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 | |||
| Controllers and the Collectors. | Controllers and the Collectors. | |||
| The MAs are the elements actually performing the measurements. The | The MAs are the elements actually performing the measurements. The | |||
| MAs are controlled by one or more Controllers and the Collectors | MAs are controlled by one or more Controllers and the Collectors | |||
| gather the results generated by the MAs. In a nutshell, the normal | gather the results generated by the MAs. In a nutshell, the normal | |||
| operation of a large-scale measurement platform starts with the | operation of a large-scale measurement platform starts with the | |||
| Controller instructing a set of MAs to perform a set of measurements | Controller instructing a set of MAs to perform a set of measurements | |||
| at a certain point in time. The MAs execute the instructions from | at a certain point in time. The MAs execute the instructions from | |||
| the Controller and once they have done so they report the results of | the Controller and once they have done so they report the results of | |||
| the measurements to the Collector. The overall framework for a Large | the measurements to the Collector. The overall framework for a Large | |||
| Measurement platform is described in detail in in <xref target="I-D | Measurement platform and the terminology used in this document is | |||
| .eardley-lmap-framework" /> and the terminology used in this document | described in detail in [I-D.ietf-lmap-framework]. | |||
| is defined in [I-D.eardley-lmap-terminology]. | ||||
| A large-scale measurement platform involves basically three | A large-scale measurement platform involves basically three | |||
| protocols, namely, a Control protocol between the Controller(s) and | protocols, namely, a Control protocol between the Controller(s) and | |||
| the MAs, a Report protocol between the MAs and the Collector(s) and | the MAs, a Report protocol between the MAs and the Collector(s) and | |||
| several measurement protocols between the MAs used to actually | several measurement protocols between the MAs used to actually | |||
| perform the measurements. In addition the some information is | perform the measurements. In addition the some information is | |||
| required to be provisioned to the MA prior to any comunication with | required to be provisioned to the MA prior to any comunication with | |||
| the Controller. | the Controller. | |||
| This document defines the information model for both the Control and | This document defines the information model for both the Control and | |||
| skipping to change at page 3, line 35 ¶ | skipping to change at page 4, line 4 ¶ | |||
| As defined in [RFC3444], the LMAP IM defines the concepts involved in | As defined in [RFC3444], the LMAP IM defines the concepts involved in | |||
| a large-scale measurement platform at a high level of abstraction, | a large-scale measurement platform at a high level of abstraction, | |||
| independently of any specific implementation or actual protocol used | independently of any specific implementation or actual protocol used | |||
| to exchange the information. It is expected that the proposed | to exchange the information. It is expected that the proposed | |||
| information model can be used with different protocols in different | information model can be used with different protocols in different | |||
| measurement platform architectures and across different types of MA | measurement platform architectures and across different types of MA | |||
| device (e.g. home gateway, smartphone, PC, router etc.). | device (e.g. home gateway, smartphone, PC, router etc.). | |||
| 2. LMAP Information Model | 2. LMAP Information Model | |||
| 2.1. Information Structure | 2.1. Information Structure | |||
| 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.eardley-lmap-framework]. As such, some | the LMAP framework [I-D.ietf-lmap-framework]. As such, some subsets | |||
| subsets of this information model are applicable to the measurement | of this information model are applicable to the measurement | |||
| Controller, Collector and systems that pre-configure the Measurement | Controller, Collector and systems that pre-configure the Measurement | |||
| Agent. The information described in these models will be transmitted | Agent. The information described in these models will be transmitted | |||
| across the protocols and interfaces between the Measurement Agent and | across the protocols and interfaces between the Measurement Agent and | |||
| such systems according to a Data Model. | 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, specifically detailing how | components of the LMAP architecture, specifically detailing how | |||
| to register with a Controller | to register with a Controller | |||
| 2. Configuration Information. Information delivered to the MA on | 2. Configuration Information. Information delivered to the MA on | |||
| registration with a Controller or updated during a later | registration with a Controller or updated during a later | |||
| communication, specifically detailing how to retrieve measurement | communication, in particular detailing how to retrieve | |||
| and reporting instruction information from a Controller along | measurement and reporting instruction information from a | |||
| with information specifically about the MA | Controller along with information specifically about the MA | |||
| 3. Instruction Information. Information that is received by the MA | 3. Instruction Information. Information that is received by the MA | |||
| from the Controller pertaining to the measurement and reporting | from the Controller pertaining to the measurement and reporting | |||
| configuration. This includes measurement configuration, report | configuration. This includes measurement configuration, report | |||
| channel configuration, measurement schedules and measurement | channel configuration, measurement schedules and measurement | |||
| suppression information | suppression information | |||
| 4. Logging Information. Information transmitted from the MA to the | 4. Logging Information. Information transmitted from the MA to the | |||
| Controller detailing the results of any configuration operations | Controller detailing the results of any configuration operations | |||
| along with error and status information from the operation of the | along with error and status information from the operation of the | |||
| skipping to change at page 5, line 5 ¶ | skipping to change at page 5, line 12 ¶ | |||
| in this category is subscriber or line information that may be | in this category is subscriber or line information that may be | |||
| reported by the MA as optional fields in the reporting communication | reported by the MA as optional fields in the reporting communication | |||
| to the Collector. | to the Collector. | |||
| 2.2. Pre-Configuration Information | 2.2. 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. | a Controller during the registration process. | |||
| This pre-configuration information needs to include an address of the | This pre-configuration information needs to include an URL of the | |||
| Controller to contact along with the security information required | Controller where configuration information can be retrieved along | |||
| for the communication including the MA private and public keys and | with the security information required for the communication | |||
| the public key of the Controller. Such keys will be contained within | including the certificate of the Controller (or the certificate of | |||
| security certificates and are likely to be obtained and validated | the Certification Authority which was used to issue the certificate | |||
| through communication with a Trusted Certificate Authority. | for the Controller) as well as the timing for that communication. | |||
| All this is expressed as the Configuration Channel. In addition to | ||||
| In addition the information will describe how often to attempt | the Configuration Channel information, the MA's security information | |||
| communication with the Controller. | is configured which can be either a certificate and a private key or | |||
| a password, depending on the security solution used. | ||||
| Detail of the information model elements: | Detail of the information model elements: | |||
| 1. MA MAC: MAC Address | 1. MA MAC: MAC Address | |||
| 2. Controller: FQDN | 2. Configuration Channel: Channel | |||
| 3. MA Certificate: Certificate | 3. MA Certificate: Certificate (optional) | |||
| 4. Controller Communication Timing: Timing | 4. MA ID: random UUID (optional) | |||
| The detail of the timing object is described later since it is common | 5. MA password: string (optional) | |||
| to several parts of the information model. | ||||
| The detail of the Channel object is described later since it is | ||||
| common to several parts of the information model. | ||||
| 2.3. Configuration Information | 2.3. 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, the choice of Controller and details for the timing | the Controller, the choice of Controller and details for the timing | |||
| of communication with the Controller can be changed. For example the | of communication with the Controller can be changed. For example the | |||
| pre-configured Controller may be replaced with a specific Controller | pre-configured Controller may be replaced with a specific Controller | |||
| that is more appropriate to the MA device type, location of | that is more appropriate to the MA device type, location of | |||
| characteristics of the network (e.g. access technology type or | characteristics of the network (e.g. access technology type or | |||
| broadband product). The initial communication timing object may also | broadband product). The initial communication timing object may also | |||
| skipping to change at page 6, line 5 ¶ | skipping to change at page 6, line 15 ¶ | |||
| is mandatory. Optionally a Group ID may also be given which | is mandatory. Optionally a Group ID may also be given which | |||
| identifies a group of interest to which that MA belongs. For example | identifies a group of interest to which that MA belongs. For example | |||
| the group could represent an ISP, broadband product, technology, | the group could represent an ISP, broadband product, technology, | |||
| market classification, geographic region, or a combination of | market classification, geographic region, or a combination of | |||
| multiple such characteristics. Where the Measurement Group ID is set | multiple such characteristics. Where the Measurement Group ID is set | |||
| an additional flag (the Report MA ID flag) is required to control | an additional flag (the Report MA ID flag) is required to control | |||
| whether the Measurement Agent ID is to be reported. This allows the | whether the Measurement Agent ID is to be reported. This allows the | |||
| MA to remain anonymous which may be particularly useful to prevent | MA to remain anonymous which may be particularly useful to prevent | |||
| tracking of mobile MA devices. | tracking of mobile MA devices. | |||
| The configuration information will also contain information about | ||||
| different communication channels that the MA will have with different | ||||
| elements of the infrastructure. Each channel specifies a URL, | ||||
| security information and timing information for the communication. | ||||
| Detail of the additional information model elements: | Detail of the additional information model elements: | |||
| 1. Measurement Agent ID: String | 1. Measurement Agent ID: UUID | |||
| 2. Measurement Group ID (optional): String | 2. Measurement Group ID (optional): String | |||
| 3. Report MA ID flag (optional): Boolean | 3. Report MA ID flag (optional): Boolean | |||
| 4. Instruction Channel: Channel (DISCUSSION: shouldn't we split this | ||||
| into 4 different channels i.e. the Measurement Task Configuration | ||||
| channel, the Report Channel channel, the Measurement Schedules | ||||
| channel and the Measurement Suppression channel?) | ||||
| 5. Status Channel: Channel | ||||
| 6. Logging Channel: Channel | ||||
| 2.4. Instruction Information | 2.4. Instruction Information | |||
| The Instruction information model has four sub-elements: | The Instruction information model has four sub-elements: | |||
| 1. Measurement Task Configurations: Set | 1. Measurement Task Configurations: Set | |||
| 2. Report Channels: Set | 2. Report Channels: Set | |||
| 3. Measurement Schedules: Set | 3. Measurement Schedules: Set | |||
| skipping to change at page 7, line 15 ¶ | skipping to change at page 7, line 40 ¶ | |||
| 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 is manually incremented when | Tasks with comparable Options. This ID is manually incremented when | |||
| an Option change is implemented which could mean that two sets of | an Option change is implemented which could mean that two sets of | |||
| results should not be directly compared. | results should not be directly compared. | |||
| A Report Channel defines how to report results to a single Collector. | A Report Channel defines how to report results to a single Collector. | |||
| Several Report Channels can be defined to enable results to be split | Several Report Channels can be defined to enable results to be split | |||
| or duplicated across different report intervals or destinations. | or duplicated across different report intervals or destinations. | |||
| E.g. a single Collector may have three Report Channels, one reporting | E.g. a single Collector may have three Report Channels, one reporting | |||
| hourly, another reporting daily and a third on which to send | hourly, another reporting daily and a third on which to send | |||
| immediate results for on-demand measurement tasks. | immediate results for on-demand measurement tasks. The details of | |||
| the Channel element is described later as it is common to several | ||||
| Each Report Channel contains the details of one collector (including | objects. | |||
| location and security information such as the certificate), and the | ||||
| timing for the report i.e. when to report the results. The Report | ||||
| Channel can use the same timing information object as a Measurement | ||||
| Schedule defined later and the Controller Communication Timing | ||||
| defined earlier. There are several options, such as immediately | ||||
| after the results are obtained or at a given interval or calendar | ||||
| based cycle). As with the Measurement task Configuration, each | ||||
| Report Channel is also given a local short name by which it can be | ||||
| referenced from a Measurement Schedule. | ||||
| Example: A Report Channel may specify that results are to be sent to | ||||
| the Collector resolved by the FQDN (collector.foo.org), using the | ||||
| appropriate digital certificate to establish a secure channel. | ||||
| The Report Channel specifies that the results are to be sent | ||||
| immediately as available and not batched. | ||||
| A Measurement Schedule contains the instruction from the Controller | A Measurement Schedule contains the instruction from the Controller | |||
| to the MA to execute a single or repeated series of Measurement | to the MA to execute a single or repeated series of Measurement | |||
| Tasks. Each Measurement Schedule contains basically three elements: | Tasks. Each Measurement Schedule contains basically three elements: | |||
| a reference to a list of Measurement Task Configuration, a reference | a reference to a list of Measurement Task Configuration, a reference | |||
| to a set of one or more Report Channels, and a timing object for the | to a set of one or more Report Channels, and a timing object for the | |||
| schedule. The schedule basically states what measurement task to | schedule. The schedule basically states what measurement task to | |||
| run, how to report the results, and when to run the measurement task. | run, how to report the results, and when to run the measurement task. | |||
| Multiple measurement tasks in the list will be executed in order with | Multiple measurement tasks in the list will be executed in order with | |||
| minimal gaps. Note that the Controller can instruct the MA to report | minimal gaps. Note that the Controller can instruct the MA to report | |||
| skipping to change at page 8, line 41 ¶ | skipping to change at page 8, line 50 ¶ | |||
| 1. Measurement Task Configuration: Object | 1. Measurement Task Configuration: Object | |||
| 1. Task Name (used for referral from the Measurement | 1. Task Name (used for referral from the Measurement | |||
| Schedules): String | Schedules): String | |||
| 2. Registry Entry: URN | 2. Registry Entry: URN | |||
| 3. Options: Set (optional) | 3. Options: Set (optional) | |||
| 1. Interface name (reference by name to one of the | ||||
| Interfaces defined in the Status information): String | ||||
| 4. Measurement Cycle ID: String (optional) | 4. Measurement Cycle ID: String (optional) | |||
| 2. Report Channels: Set | 2. Report Channels: Set | |||
| 1. Report Channel: Object | 1. Report Channel: Channel | |||
| 1. Channel Name (used for referral from the Measurement | ||||
| Schedule): String | ||||
| 2. Collector: FQDN | ||||
| 3. Report Timing: Timing | ||||
| 3. Measurement Schedules: Set | 3. Measurement Schedules: Set | |||
| 1. easurement Schedule: Object | 1. Measurement Schedule: Object | |||
| 1. Schedule Name: String | 1. Schedule Name: String | |||
| 2. Measurement Task Configuration Names (reference by Name | 2. Measurement Task Configuration Names (reference by Name | |||
| to one of the measurement tasks defined in the | to one of the measurement tasks defined in the | |||
| Measurement Task Configuration set): List | Measurement Task Configuration set): List | |||
| 1. Task Name: String | 1. Task Name: String | |||
| 3. Report Channel Names (reference by Name to one of the | 3. Report Channel Names (reference by Name to one of the | |||
| skipping to change at page 9, line 46 ¶ | skipping to change at page 10, line 4 ¶ | |||
| 2.5. Logging Information | 2.5. Logging Information | |||
| The MA will report back success/failure and status information to the | The MA will report back success/failure and status information to the | |||
| Controller. These messages will fall into a number of different | Controller. These messages will fall into a number of different | |||
| categories: | categories: | |||
| 1. Success/failure messages in response to information updates from | 1. Success/failure messages in response to information updates from | |||
| the Controller. For example: | the Controller. For example: | |||
| * "Report Channel 'hourly db" configured" | * "Report Channel 'hourly db" configured" | |||
| * "Measurement Schedule does not conform to schema, Row 211" | * "Measurement Schedule does not conform to schema, Row 211" | |||
| 2. Status updates from the operation of the MA. For example: | 2. Status updates from the operation of the MA. For example: | |||
| * "out of memory: cannot record result" | * "out of memory: cannot record result" | |||
| * "Collector 'collector.example.com' not responding" | * "Collector 'collector.example.com' not responding" | |||
| Each log message will have the following Information model elements: | Each log message will have the following Information model elements: | |||
| 1. Log Time: datetime | 1. Log Time: datetime | |||
| 2. Log Event: Object | 2. Log Event: Object | |||
| 2.6. Status Information | 2.6. Status Information | |||
| In addition to the information reported by the MA through the logging | In addition to the information reported by the MA through the logging | |||
| information, the MA will hold further status information that can be | information, the MA will hold further status information that can be | |||
| retrieved by a Controller. One category of additional information | retrieved by a Controller. One category of additional information | |||
| that has not been defined in earlier sections is the availability of | that has not been defined in earlier sections is the availability of | |||
| Measurement Tasks on that MA. | Measurement Tasks on that MA. | |||
| MA Status information model elements: | MA Status information model elements: | |||
| 1. MA ID: String | 1. MA ID: String | |||
| 2. MA Device: String | 2. MA Device: String | |||
| 3. MA IP: IP Address | 3. MA hardware: String (optional) | |||
| 4. Last Measurement: datetime | 4. MA firmware: String (optional) | |||
| 5. Last Report: datetime | 5. MA software: String (optional) | |||
| 6. Last Instruction: datetime | 6. MA Interfaces: set | |||
| 7. Last Configuration: datetime | 1. If name: String | |||
| 8. Supported Measurements: Set | 2. If type: String (one of eth, wlan, TBC) | |||
| 1. Registry Entry: URN | 3. If speed: Integer (expressed in Mbps) | |||
| 4. Link Layer Address: String | ||||
| 5. IP address: Set | ||||
| 1. Protocol: String (one of v4, v6) | ||||
| 2. Address: String | ||||
| 6. Gateway: Set (optional) | ||||
| 1. Protocol: String (one of v4, v6) | ||||
| 2. Address: String | ||||
| 7. DNS server: Set (optional) | ||||
| 1. Protocol: String (one of v4, v6) | ||||
| 2. Address: String | ||||
| 7. Last Measurement: datetime | ||||
| 8. Last Report: datetime | ||||
| 9. Last Instruction: datetime | ||||
| 10. Last Configuration: datetime | ||||
| 11. Supported Measurements: Set | ||||
| 1. Registry Entry: URN | ||||
| 2. Version: String (optional) | ||||
| 2.7. Reporting Information | 2.7. Reporting Information | |||
| At a point in time specific by the Report Channel, the MA will | At a point in time specific by the Report Channel, the MA will | |||
| communicate a set of measurement results to the Collector. These | communicate a set of measurement results to the Collector. These | |||
| measurement results should be communicated within the context in | measurement results should be communicated within the context in | |||
| which they were collected. | which they were collected. | |||
| The report is structured hierarchically to avoid repetition of | The report is structured hierarchically to avoid repetition of | |||
| report, Measurement Agent and Measurement Task Configuration | report, Measurement Agent and Measurement Task Configuration | |||
| skipping to change at page 11, line 45 ¶ | skipping to change at page 12, line 37 ¶ | |||
| 1. Result Row: Object | 1. Result Row: Object | |||
| 1. Measurement Time: datetime | 1. Measurement Time: datetime | |||
| 2. Cross-traffic: Integer (optional) | 2. Cross-traffic: Integer (optional) | |||
| 3. Result Columns: List | 3. Result Columns: List | |||
| 1. Column Data | 1. Column Data | |||
| 2.8. Timing Information | 2.8. Channels | |||
| A Channel defines a communication channel between the MA and other | ||||
| element of the measurement framework i.e. with the Collector to | ||||
| report results back, to Controller to retrieve Instructions or other | ||||
| information exchanged between the parties. Several Channels can be | ||||
| defined to enable results to be split or duplicated across different | ||||
| report intervals or destinations. E.g. a single Collector may have | ||||
| three Report Channels, one reporting hourly, another reporting daily | ||||
| and a third on which to send immediate results for on-demand | ||||
| measurement tasks. | ||||
| Each Channel contains the details of the target (including location | ||||
| and security information such as the certificate), and the timing for | ||||
| the communication i.e. when to establish the communication. The | ||||
| certificate can be the digital certificate associated to the FQDN in | ||||
| the URL or it can be the certificate of the Certification Authority | ||||
| that was used to issue the certificate for the FQDN of the target URL | ||||
| (which will be retrieved later on using a communication protocol such | ||||
| as SSL). The Channel can use the same timing information object as a | ||||
| Measurement Schedule and the Controller Communication Timing defined | ||||
| earlier. There are several options, such as immediately after the | ||||
| results are obtained or at a given interval or calendar based cycle). | ||||
| As with the Measurement task Configuration, each Channel is also | ||||
| given a local short name by which it can be referenced from a | ||||
| Measurement Schedule or other elements. | ||||
| Example: A Channel using for reporting results may specify that | ||||
| results are to be sent to the URL | ||||
| (https://collector.foo.org/report/), using the appropriate digital | ||||
| certificate to establish a secure channel. The Channel specifies | ||||
| that the results are to be sent immediately as available and not | ||||
| batched. | ||||
| Channel: Object | ||||
| 1. Channel Name (used for referral from other objects ): String | ||||
| 2. Target: URL | ||||
| 3. Certificate: X.509 Certificate | ||||
| 4. Communication Timing: Timing | ||||
| 2.9. Timing Information | ||||
| The Timing information object used throughput the information models | The Timing information object used throughput the information models | |||
| can take one of four different forms: | can take one of four different forms: | |||
| 1. Periodic. Specifies a start, end and interval time in | 1. Periodic. Specifies a start, end and interval time in | |||
| milliseconds | milliseconds | |||
| 2. Calendar: Specifies a calendar based pattern - e.g. 22 minutes | 2. Calendar: Specifies a calendar based pattern - e.g. 22 minutes | |||
| past each hour of the day on weekdays | past each hour of the day on weekdays | |||
| 3. One Off: A single instance occurring at a specific time | 3. One Off: A single instance occurring at a specific time | |||
| 4. Immediate: Should occur as soon as possible | 4. Immediate: Should occur as soon as possible | |||
| Optionally each of the first three options may also specify a | Optionally each of the first three options may also specify a | |||
| randomness that should be evaluated and applied separately to each | randomness that should be evaluated and applied separately to each | |||
| indicated event. | indicated event. | |||
| 2.8.1. Periodic Timing | 2.9.1. Periodic Timing | |||
| Information model elements: | Information model elements: | |||
| 1. 1. Timing Name: String | 1. 1. Timing Name: String | |||
| 2. 2. Start: datetime (optional) | 2. 2. Start: datetime (optional) | |||
| 3. 3. End: datetime (optional) | 3. 3. End: datetime (optional) | |||
| 4. 4. Interval: Integer (in milliseconds) | 4. 4. Interval: Integer (in milliseconds) | |||
| 5. 5. Randomness: Timing Randomness (optional) | 5. 5. Randomness: Timing Randomness (optional) | |||
| 2.8.2. Calendar Timing | 2.9.2. Calendar Timing | |||
| Information model elements: | Information model elements: | |||
| 1. Timing Name: String | 1. Timing Name: String | |||
| 2. Start: datetime (optional) | 2. Start: datetime (optional) | |||
| 3. End: datetime (optional) | 3. End: datetime (optional) | |||
| 4. Months: Set (optional - default [1-12]) | 4. Months: Set (optional - default [1-12]) | |||
| skipping to change at page 13, line 4 ¶ | skipping to change at page 14, line 42 ¶ | |||
| 5. Weekdays: Set (optional - default [Mon-Sun]) | 5. Weekdays: Set (optional - default [Mon-Sun]) | |||
| 1. Weekday: String (one off Mon, Tue, Wed, Thu, Fri, Sat Sun) | 1. Weekday: String (one off Mon, Tue, Wed, Thu, Fri, Sat Sun) | |||
| 6. Days: Set (optional - default [1-31]) | 6. Days: Set (optional - default [1-31]) | |||
| 1. Day: Integer | 1. Day: Integer | |||
| 7. Hours: Set (optional - default [1-24]) | 7. Hours: Set (optional - default [1-24]) | |||
| 1. Hour:Integer | 1. Hour:Integer | |||
| 8. Minutes: Set (optional - default [1-60]) | 8. Minutes: Set (optional - default [1-60]) | |||
| 1. Minute: Integer | 1. Minute: Integer | |||
| 9. Seconds: Set (optional - default [1-60]) | 9. Seconds: Set (optional - default [1-60]) | |||
| 1. Second: Integer | 1. Second: Integer | |||
| 10. Randomness: Timing Randomness (optional) | 10. Randomness: Timing Randomness (optional) | |||
| 2.8.3. One-Off Timing | 2.9.3. One-Off Timing | |||
| Information model elements: | Information model elements: | |||
| 1. Time: datetime | 1. Time: datetime | |||
| 2. Randomness: Timing Randomness (optional) | 2. Randomness: Timing Randomness (optional) | |||
| 2.8.4. Immediate Timing | 2.9.4. Immediate Timing | |||
| The immediate timing object has no further information elements. The | The immediate timing object has no further information elements. The | |||
| measurement or report is simply to be done as soon as possible. | measurement or report is simply to be done as soon as possible. | |||
| 2.8.5. Timing Randomness | 2.9.5. Timing Randomness | |||
| The Timing randomness object specifies a random distribution that can | The Timing randomness object specifies a random distribution that can | |||
| be applied to any scheduled execution event such as a measurement or | be applied to any scheduled execution event such as a measurement or | |||
| report. The intention it to be able to spread the load on the | report. The intention it to be able to spread the load on the | |||
| Controller, Collector and network in an automated manner for a large | Controller, Collector and network in an automated manner for a large | |||
| number of Measurement Agents. The randomness is expressed as a | number of Measurement Agents. The randomness is expressed as a | |||
| distribution (e.g. Poison, Normal, Uniform etc.) along with the | distribution (e.g. Poison, Normal, Uniform etc.) along with the | |||
| spread over which the distribution should be applied. In additional | spread over which the distribution should be applied. In additional | |||
| optional upper and lower bounds can be applied to control extreme | optional upper and lower bounds can be applied to control extreme | |||
| spread of timings. | spread of timings. | |||
| Information model elements: | Information model elements: | |||
| 1. Distribution: String | 1. Distribution: String | |||
| 2. Upper Cut: Integer (optional) | 2. Upper Cut: Integer (optional) | |||
| skipping to change at page 14, line 34 ¶ | skipping to change at page 16, line 27 ¶ | |||
| for example, allow the MA to remain anonymous and for information | for example, allow the MA to remain anonymous and for information | |||
| about location or other context that might be used to identify or | about location or other context that might be used to identify or | |||
| track the MA to be ommitted or blurred. | track the MA to be ommitted or blurred. | |||
| 5. Acknowledgements | 5. Acknowledgements | |||
| 6. Informative References | 6. Informative References | |||
| [I-D.bagnulo-ippm-new-registry] | [I-D.bagnulo-ippm-new-registry] | |||
| Bagnulo, M., Burbridge, T., Crawford, S., Eardley, P., and | Bagnulo, M., Burbridge, T., Crawford, S., Eardley, P., and | |||
| A. Morton, "A registry for commonly used metrics", draft- | A. Morton, "A registry for commonly used metrics", | |||
| bagnulo-ippm-new-registry-00 (work in progress), January | draft-bagnulo-ippm-new-registry-00 (work in progress), | |||
| 2013. | January 2013. | |||
| [I-D.eardley-lmap-framework] | ||||
| Eardley, P., Burbridge, T., and A. Morton, "A framework | ||||
| for large-scale measurements", draft-eardley-lmap- | ||||
| framework-01 (work in progress), February 2013. | ||||
| [I-D.eardley-lmap-terminology] | [I-D.ietf-lmap-framework] | |||
| Eardley, P., Morton, A., Bagnulo, M., and T. Burbridge, | Eardley, P., Morton, A., Bagnulo, M., Burbridge, T., | |||
| "Terminology for Large MeAsurement Platforms (LMAP)", | Aitken, P., and A. Akhter, "A framework for large-scale | |||
| draft-eardley-lmap-terminology-01 (work in progress), May | measurement platforms (LMAP)", | |||
| 2013. | draft-ietf-lmap-framework-00 (work in progress), | |||
| October 2013. | ||||
| [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, March 1997. | |||
| [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, | |||
| 2003. | January 2003. | |||
| Authors' Addresses | Authors' Addresses | |||
| Trevor Burbridge | Trevor Burbridge | |||
| British Telecom | British Telecom | |||
| Adastral Park, Martlesham Heath | Adastral Park, Martlesham Heath | |||
| Ipswich IP5 3RE | Ipswich, IP5 3RE | |||
| UK | UK | |||
| Phone: | ||||
| Fax: | ||||
| Email: | ||||
| URI: | ||||
| Philip Eardley | Philip Eardley | |||
| British Telecom | British Telecom | |||
| Adastral Park, Martlesham Heath | Adastral Park, Martlesham Heath | |||
| Ipswich IP5 3RE | Ipswich, IP5 3RE | |||
| UK | UK | |||
| Phone: | ||||
| Fax: | ||||
| Email: | ||||
| URI: | ||||
| Marcelo Bagnulo | Marcelo Bagnulo | |||
| Universidad Carlos III de Madrid | Universidad Carlos III de Madrid | |||
| Av. Universidad 30 | Av. Universidad 30 | |||
| Leganes, Madrid 28911 | Leganes, Madrid, 28911 | |||
| Phone: | ||||
| Fax: | ||||
| Email: | ||||
| URI: | ||||
| Juergen Schoenwaelder | Juergen Schoenwaelder | |||
| Jacobs University | Jacobs University | |||
| Phone: | ||||
| Fax: | ||||
| Email: | ||||
| URI: | ||||
| End of changes. 52 change blocks. | ||||
| 113 lines changed or deleted | 199 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/ | ||||