Internet Engineering Task Force (IETF) T. Burbridge Request for Comments: 8193 P. Eardley Category: Standards Track BT ISSN: 2070-1721 M. Bagnulo Universidad Carlos III de Madrid J. Schoenwaelder Jacobs University Bremen August 2017
Internet Engineering Task Force (IETF) T. Burbridge Request for Comments: 8193 P. Eardley Category: Standards Track BT ISSN: 2070-1721 M. Bagnulo Universidad Carlos III de Madrid J. Schoenwaelder Jacobs University Bremen August 2017
Information Model for Large-Scale Measurement Platforms (LMAPs)
大型测量平台(LMAPs)的信息模型
Abstract
摘要
This Information Model applies to the Measurement Agent within an LMAP framework. As such, it outlines the information that is configured or preconfigured on the Measurement Agent or exists in communications with a Controller or Collector within an LMAP framework. The purpose of such an Information Model is to provide a protocol- and device-independent view of the Measurement Agent that can be implemented via one or more Control and Report Protocols.
此信息模型适用于LMAP框架内的度量代理。因此,它概述了在测量代理上配置或预配置的信息,或存在于与LMAP框架内的控制器或收集器的通信中的信息。这种信息模型的目的是提供可通过一个或多个控制和报告协议实现的测量代理的协议和设备独立视图。
Status of This Memo
关于下段备忘
This is an Internet Standards Track document.
这是一份互联网标准跟踪文件。
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.
本文件是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被互联网工程指导小组(IESG)批准出版。有关互联网标准的更多信息,请参见RFC 7841第2节。
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc8193.
有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问http://www.rfc-editor.org/info/rfc8193.
Copyright Notice
版权公告
Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved.
版权所有(c)2017 IETF信托基金和确定为文件作者的人员。版权所有。
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(http://trustee.ietf.org/license-info)自本文件出版之日起生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。从本文件中提取的代码组件必须包括信托法律条款第4.e节中所述的简化BSD许可证文本,并提供简化BSD许可证中所述的无担保。
Table of Contents
目录
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 3. Notation . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. LMAP Information Model . . . . . . . . . . . . . . . . . . . 6 4.1. Preconfiguration Information . . . . . . . . . . . . . . 10 4.1.1. Definition of ma-preconfig-obj . . . . . . . . . . . 11 4.2. Configuration Information . . . . . . . . . . . . . . . . 12 4.2.1. Definition of ma-config-obj . . . . . . . . . . . . . 13 4.3. Instruction Information . . . . . . . . . . . . . . . . . 14 4.3.1. Definition of ma-instruction-obj . . . . . . . . . . 17 4.3.2. Definition of ma-suppression-obj . . . . . . . . . . 17 4.4. Logging Information . . . . . . . . . . . . . . . . . . . 19 4.4.1. Definition of ma-log-obj . . . . . . . . . . . . . . 20 4.5. Capability and Status Information . . . . . . . . . . . . 21 4.5.1. Definition of ma-capability-obj . . . . . . . . . . . 21 4.5.2. Definition of ma-capability-task-obj . . . . . . . . 21 4.5.3. Definition of ma-status-obj . . . . . . . . . . . . . 22 4.5.4. Definition of ma-status-schedule-obj . . . . . . . . 23 4.5.5. Definition of ma-status-action-obj . . . . . . . . . 24 4.5.6. Definition of ma-status-suppression-obj . . . . . . . 26 4.5.7. Definition of ma-status-interface-obj . . . . . . . . 27 4.6. Reporting Information . . . . . . . . . . . . . . . . . . 28 4.6.1. Definition of ma-report-obj . . . . . . . . . . . . . 29 4.6.2. Definition of ma-report-result-obj . . . . . . . . . 30 4.6.3. Definition of ma-report-conflict-obj . . . . . . . . 32 4.6.4. Definition of ma-report-table-obj . . . . . . . . . . 32 4.6.5. Definition of ma-report-row-obj . . . . . . . . . . . 33 4.7. Common Objects: Schedules . . . . . . . . . . . . . . . . 33 4.7.1. Definition of ma-schedule-obj . . . . . . . . . . . . 35 4.7.2. Definition of ma-action-obj . . . . . . . . . . . . . 36
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 3. Notation . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. LMAP Information Model . . . . . . . . . . . . . . . . . . . 6 4.1. Preconfiguration Information . . . . . . . . . . . . . . 10 4.1.1. Definition of ma-preconfig-obj . . . . . . . . . . . 11 4.2. Configuration Information . . . . . . . . . . . . . . . . 12 4.2.1. Definition of ma-config-obj . . . . . . . . . . . . . 13 4.3. Instruction Information . . . . . . . . . . . . . . . . . 14 4.3.1. Definition of ma-instruction-obj . . . . . . . . . . 17 4.3.2. Definition of ma-suppression-obj . . . . . . . . . . 17 4.4. Logging Information . . . . . . . . . . . . . . . . . . . 19 4.4.1. Definition of ma-log-obj . . . . . . . . . . . . . . 20 4.5. Capability and Status Information . . . . . . . . . . . . 21 4.5.1. Definition of ma-capability-obj . . . . . . . . . . . 21 4.5.2. Definition of ma-capability-task-obj . . . . . . . . 21 4.5.3. Definition of ma-status-obj . . . . . . . . . . . . . 22 4.5.4. Definition of ma-status-schedule-obj . . . . . . . . 23 4.5.5. Definition of ma-status-action-obj . . . . . . . . . 24 4.5.6. Definition of ma-status-suppression-obj . . . . . . . 26 4.5.7. Definition of ma-status-interface-obj . . . . . . . . 27 4.6. Reporting Information . . . . . . . . . . . . . . . . . . 28 4.6.1. Definition of ma-report-obj . . . . . . . . . . . . . 29 4.6.2. Definition of ma-report-result-obj . . . . . . . . . 30 4.6.3. Definition of ma-report-conflict-obj . . . . . . . . 32 4.6.4. Definition of ma-report-table-obj . . . . . . . . . . 32 4.6.5. Definition of ma-report-row-obj . . . . . . . . . . . 33 4.7. Common Objects: Schedules . . . . . . . . . . . . . . . . 33 4.7.1. Definition of ma-schedule-obj . . . . . . . . . . . . 35 4.7.2. Definition of ma-action-obj . . . . . . . . . . . . . 36
4.8. Common Objects: Channels . . . . . . . . . . . . . . . . 37 4.8.1. Definition of ma-channel-obj . . . . . . . . . . . . 38 4.9. Common Objects: Task Configurations . . . . . . . . . . . 38 4.9.1. Definition of ma-task-obj . . . . . . . . . . . . . . 40 4.9.2. Definition of ma-option-obj . . . . . . . . . . . . . 40 4.10. Common Objects: Registry Information . . . . . . . . . . 41 4.10.1. Definition of ma-registry-obj . . . . . . . . . . . 41 4.11. Common Objects: Event Information . . . . . . . . . . . . 41 4.11.1. Definition of ma-event-obj . . . . . . . . . . . . . 42 4.11.2. Definition of ma-periodic-obj . . . . . . . . . . . 44 4.11.3. Definition of ma-calendar-obj . . . . . . . . . . . 44 4.11.4. Definition of ma-one-off-obj . . . . . . . . . . . . 46 4.11.5. Definition of ma-immediate-obj . . . . . . . . . . . 47 4.11.6. Definition of ma-startup-obj . . . . . . . . . . . . 47 4.11.7. Definition of ma-controller-lost-obj . . . . . . . . 47 4.11.8. Definition of ma-controller-connected-obj . . . . . 47 5. Example Execution . . . . . . . . . . . . . . . . . . . . . . 48 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 49 7. Security Considerations . . . . . . . . . . . . . . . . . . . 50 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 50 8.1. Normative References . . . . . . . . . . . . . . . . . . 50 8.2. Informative References . . . . . . . . . . . . . . . . . 51 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 52 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 53
4.8. Common Objects: Channels . . . . . . . . . . . . . . . . 37 4.8.1. Definition of ma-channel-obj . . . . . . . . . . . . 38 4.9. Common Objects: Task Configurations . . . . . . . . . . . 38 4.9.1. Definition of ma-task-obj . . . . . . . . . . . . . . 40 4.9.2. Definition of ma-option-obj . . . . . . . . . . . . . 40 4.10. Common Objects: Registry Information . . . . . . . . . . 41 4.10.1. Definition of ma-registry-obj . . . . . . . . . . . 41 4.11. Common Objects: Event Information . . . . . . . . . . . . 41 4.11.1. Definition of ma-event-obj . . . . . . . . . . . . . 42 4.11.2. Definition of ma-periodic-obj . . . . . . . . . . . 44 4.11.3. Definition of ma-calendar-obj . . . . . . . . . . . 44 4.11.4. Definition of ma-one-off-obj . . . . . . . . . . . . 46 4.11.5. Definition of ma-immediate-obj . . . . . . . . . . . 47 4.11.6. Definition of ma-startup-obj . . . . . . . . . . . . 47 4.11.7. Definition of ma-controller-lost-obj . . . . . . . . 47 4.11.8. Definition of ma-controller-connected-obj . . . . . 47 5. Example Execution . . . . . . . . . . . . . . . . . . . . . . 48 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 49 7. Security Considerations . . . . . . . . . . . . . . . . . . . 50 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 50 8.1. Normative References . . . . . . . . . . . . . . . . . . 50 8.2. Informative References . . . . . . . . . . . . . . . . . 51 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 52 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 53
A large-scale measurement platform is a collection of components that work in a coordinated fashion to perform measurements from a large number of vantage points. A typical use case is the execution of broadband measurements [RFC7536]. The main components of a large-scale measurement platform are the Measurement Agents (MAs), the Controller(s), and the Collector(s).
大型测量平台是以协调方式工作的组件集合,用于从大量有利位置执行测量。典型的用例是执行宽带测量[RFC7536]。大型测量平台的主要组件是测量代理(MAs)、控制器和收集器。
The MAs are the elements actually performing the measurements. The MAs are controlled by exactly one Controller at a time, and the Collectors gather the results generated by the MAs. In a nutshell, the normal operation of a large-scale measurement platform starts 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 MAs execute the instructions from a Controller, and once they have done so, they report the results of the measurements to one or more Collectors. The overall framework for a large-scale measurement platform as used in this document is described in detail in [RFC7594].
MAs是实际执行测量的元件。MAs一次只由一个控制器控制,收集器收集MAs生成的结果。简而言之,大型测量平台的正常运行始于控制器指示一组一个或多个MAs在某个时间点执行一组一个或多个测量任务。MAs执行来自控制器的指令,一旦执行完毕,就会将测量结果报告给一个或多个采集器。[RFC7594]详细描述了本文件中使用的大型测量平台的总体框架。
A large-scale measurement platform involves basically three types of protocols, namely, a Control Protocol (or Protocols) between a Controller and the MAs, a Report Protocol (or Protocols) between the MAs and the Collector(s), and several measurement protocols between the MAs and Measurement Peers (MPs), used to actually perform the measurements. In addition, some information is required to be configured on the MA prior to any communication with a Controller.
大型测量平台基本上涉及三种类型的协议,即控制器和MAs之间的控制协议、MAs和采集器之间的报告协议,以及MAs和测量对等点(MPs)之间的多个测量协议,用于实际执行测量。此外,在与控制器进行任何通信之前,需要在MA上配置一些信息。
This document defines the Information Model for both the Control and Report Protocols along with Preconfiguration Information that is required on the MA before communicating with the Controller, broadly named as the LMAP Information Model. The measurement protocols are out of the scope of this document.
本文件定义了控制和报告协议的信息模型,以及与控制器通信前MA上所需的预配置信息,广义上称为LMAP信息模型。测量协议不在本文件范围内。
As defined in [RFC3444], the LMAP Information Model defines the concepts involved in a large-scale measurement platform at a high level of abstraction, independent of any specific implementation or actual protocol used to exchange the information. It is expected that the proposed Information Model can be used with different protocols in different measurement platform architectures and across different types of MA devices (e.g., home gateway, smartphone, PC, or router). A YANG data model implementing the Information Model can be found in [RFC8194].
如[RFC3444]中所定义,LMAP信息模型定义了大规模测量平台在高抽象级别上涉及的概念,与用于交换信息的任何特定实现或实际协议无关。预计提议的信息模型可以在不同的测量平台架构和不同类型的MA设备(例如,家庭网关、智能手机、PC或路由器)中与不同的协议一起使用。实现信息模型的YANG数据模型可在[RFC8194]中找到。
The definition of an Information Model serves a number of purposes:
信息模型的定义有多种用途:
1. To guide the standardization of one or more Control and Report protocols and data models
1. 指导一个或多个控制和报告协议及数据模型的标准化
2. To enable high-level interoperability between different Control and Report Protocols by facilitating translation between their respective data models such that a Controller could instruct sub-populations of MAs using different protocols
2. 通过促进不同控制和报告协议各自数据模型之间的转换,实现不同控制和报告协议之间的高级互操作性,以便控制器可以使用不同协议指示MAs的子群体
3. To form agreement of what information needs to be held by an MA and passed over the Control and Report interfaces and support the functionality described in the LMAP framework
3. 就MA需要持有并通过控制和报告接口传递的信息达成一致,并支持LMAP框架中描述的功能
4. To enable existing protocols and data models to be assessed for their suitability as part of a large-scale measurement system
4. 使现有协议和数据模型能够作为大规模测量系统的一部分进行适用性评估
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“建议”、“不建议”、“可”和“可选”在所有大写字母出现时(如图所示)应按照BCP 14[RFC2119][RFC8174]所述进行解释。
This document uses a notation similar to a programming language to define the properties of the objects of the Information Model. An optional property is enclosed by square brackets, [ ], and a list property is 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 n means no upper bound.
本文档使用类似于编程语言的符号来定义信息模型对象的属性。可选属性由方括号[]括起,列表属性由尖括号中的两个数字表示,<m..n>,其中m表示最小值,n表示最大值。n的符号*表示没有上限。
The object definitions use several base types that are defined as follows:
对象定义使用以下几种基本类型:
int A type representing signed or unsigned integer numbers. This Information Model does not define a precision nor does it make a distinction between signed and unsigned number ranges. This type is also used to represent enumerations.
int表示有符号或无符号整数的类型。此信息模型不定义精度,也不区分有符号和无符号数字范围。此类型还用于表示枚举。
boolean A type representing a boolean value.
布尔值表示布尔值的类型。
string A type representing a human-readable string consisting of a (possibly restricted) subset of Unicode and ISO/IEC 10646 [ISO.10646] characters.
字符串表示由Unicode和ISO/IEC 10646[ISO.10646]字符(可能受限)子集组成的人类可读字符串的类型。
datetime A type representing a date and time using the Gregorian calendar. The datetime format MUST conform to RFC 3339 [RFC3339].
datetime使用公历表示日期和时间的类型。日期时间格式必须符合RFC 3339[RFC3339]。
uuid A type representing a Universally Unique IDentifier (UUID) as defined in RFC 4122 [RFC4122]. The UUID values are expected to be unique within an installation of a large-scale measurement system.
uuid表示RFC 4122[RFC4122]中定义的通用唯一标识符(uuid)的类型。UUID值在安装大型测量系统时应是唯一的。
uri A type representing a Uniform Resource Identifier as defined in STD 66 [RFC3986].
uri表示STD 66[RFC3986]中定义的统一资源标识符的类型。
ip-address A type representing an IP address. This type supports both IPv4 and IPv6 addresses.
ip地址表示ip地址的类型。此类型同时支持IPv4和IPv6地址。
counter A non-negative integer that monotonically increases. Counters may have discontinuities, and they are not expected to persist across restarts.
计数器是单调递增的非负整数。计数器可能具有不连续性,并且它们不会在重新启动期间持续存在。
credentials An opaque type representing credentials needed by a cryptographic mechanism to secure communication. Data models must expand this opaque type as needed and required by the security protocols utilized.
凭据一种不透明类型,表示加密机制为确保通信安全所需的凭据。数据模型必须根据所使用的安全协议的需要和要求扩展这种不透明类型。
data An opaque type representing data obtained from measurements.
数据表示从测量中获得的数据的不透明类型。
Names of objects are generally assumed to be unique within an implementation.
通常假定对象的名称在实现中是唯一的。
The information described herein relates to the information stored, received, or transmitted by a Measurement Agent as described within the LMAP framework [RFC7594]. As such, some subsets of this Information Model are applicable to the measurement Controller and Collector and to any device management system that preconfigures the Measurement Agent. The information described in these models will be transmitted by protocols using interfaces between the Measurement Agent and such systems according to a data model.
本文描述的信息涉及由测量代理存储、接收或传输的信息,如LMAP框架[RFC7594]中所述。因此,此信息模型的某些子集适用于测量控制器和采集器以及预配置测量代理的任何设备管理系统。根据数据模型,这些模型中描述的信息将通过使用测量代理和此类系统之间接口的协议进行传输。
The Information Model is divided into six aspects. Firstly, the grouping of information facilitates reader understanding. Secondly, the particular groupings chosen are expected to map to different protocols or different transmissions within those protocols.
信息模型分为六个方面。首先,信息分组有助于读者理解。其次,期望所选择的特定分组映射到不同的协议或这些协议内的不同传输。
1. Preconfiguration Information. Information preconfigured on the Measurement Agent prior to any communication with other components of the LMAP architecture (i.e., the Controller, the Collector, and Measurement Peers), specifically detailing how to communicate with a Controller and whether the device is enabled to participate as an MA.
1. 预配置信息。在与LMAP体系结构的其他组件(即控制器、采集器和测量对等方)进行任何通信之前,在测量代理上预配置的信息,具体详细说明如何与控制器通信以及设备是否能够作为MA参与。
2. Configuration Information. Update of the Preconfiguration Information during the registration of the MA or subsequent communication with the Controller, along with the configuration of further parameters about the MA (rather than the Measurement Tasks it should perform) that were not mandatory for the initial communication between the MA and a Controller.
2. 配置信息。在MA注册或随后与控制器通信期间更新预配置信息,以及MA和控制器之间初始通信不强制要求的有关MA的其他参数配置(而不是其应执行的测量任务)。
3. Instruction Information. Information that is received by the MA from the Controller pertaining to the Measurement Tasks that should be executed. This includes the Task execution Schedules (other than the Controller communication Schedule supplied as Configuration or Preconfiguration Information) and related information such as the Task Configuration, communication Channels to Collectors, and Event information. It also includes Task Suppression information that is used to override normal Task execution.
3. 指令信息。MA从控制器接收的与应执行的测量任务有关的信息。这包括任务执行计划(作为配置或预配置信息提供的控制器通信计划除外)和相关信息,如任务配置、到收集器的通信通道和事件信息。它还包括用于覆盖正常任务执行的任务抑制信息。
4. Logging Information. Information transmitted from the MA to the Controller detailing the results of any configuration operations along with error and Status Information from the operation of the MA.
4. 日志信息。从MA传输至控制器的信息,详细说明任何配置操作的结果以及MA操作的错误和状态信息。
5. Capability and Status Information. Information on the general status and capabilities of the MA. For example, the set of measurements that are supported on the device.
5. 能力和状态信息。有关MA的一般状态和能力的信息。例如,设备上支持的一组测量值。
6. Reporting Information. Information transmitted from the MA to one or more Collectors, including measurement results and the context in which they were conducted.
6. 报告信息。从MA传输到一个或多个采集器的信息,包括测量结果和进行测量的环境。
In addition, the MA may hold further information not described herein, which may be optionally transferred to or from other systems including the Controller and Collector. One example of information in this category is subscriber or line information that may be extracted by a Task and reported by the MA in the reporting communication to a Collector.
此外,MA可以保存本文中未描述的进一步信息,这些信息可以可选地传输到包括控制器和收集器的其他系统或从其他系统传输。该类别中的信息的一个示例是用户或线路信息,其可由任务提取并由MA在向收集器的报告通信中报告。
It should also be noted that the MA may be in communication with other management systems that may be responsible for configuring and retrieving information from the MA device. Such systems, where available, can perform an important role in transferring the Preconfiguration Information to the MA or enabling/disabling the measurement functionality of the MA.
还应当注意,MA可以与负责配置和从MA设备检索信息的其他管理系统通信。此类系统(如可用)可在将预配置信息传输至MA或启用/禁用MA的测量功能方面发挥重要作用。
The granularity of data transmitted in each operation of the Control and Report Protocols is not dictated by the Information Model. For example, the Instruction object may be delivered in a single operation. Alternatively, Schedules and Task Configurations may be separated or even each Schedule/Task Configuration may be delivered individually. Similarly, the Information Model does not dictate whether data is read, write, or read/write. For example, some Control Protocols may have the ability to read back Configuration and Instruction Information that has been previously set on the MA. Lastly, while some protocols may simply overwrite information (for example, refreshing the entire Instruction Information), other protocols may have the ability to update or delete selected items of information.
在控制和报告协议的每个操作中传输的数据的粒度不是由信息模型决定的。例如,指令对象可以在单个操作中传递。或者,计划和任务配置可以分开,甚至每个计划/任务配置可以单独交付。类似地,信息模型并不规定数据是读、写还是读/写。例如,一些控制协议可能具有读回先前在MA上设置的配置和指令信息的能力。最后,虽然某些协议可能只是覆盖信息(例如,刷新整个指令信息),但其他协议可能具有更新或删除选定信息项的能力。
The information modeled by the six aspects of the Information Model is supported by a number of common information objects. These objects are also described later in this document and are comprised of:
由信息模型的六个方面建模的信息由许多公共信息对象支持。这些对象也将在本文档后面介绍,包括:
a. Schedules. A set of Schedules tells the MA to execute Actions. An Action of a Schedule leads to the execution of a Task. Without a Schedule, no Task (including measurements or reporting or communicating with the Controller) is ever executed. Schedules are used within the Instruction to specify what Tasks should be performed, when, and how to direct their results. A Schedule is also used within the Preconfiguration and Configuration Information in order to execute the Task or Tasks required to communicate with the Controller. A specific Schedule can only be active once. Attempts to start a Schedule while the same Schedule is still running will fail.
a. 时间表。一组时间表告诉MA执行操作。计划的操作导致任务的执行。如果没有时间表,则不会执行任何任务(包括测量、报告或与控制器通信)。指令中使用计划来指定应执行的任务、时间以及如何指导其结果。为了执行与控制器通信所需的一个或多个任务,在预配置和配置信息中还使用了一个计划。特定计划只能激活一次。在同一计划仍在运行时尝试启动该计划将失败。
b. Channels. A set of Channel objects are used to communicate with a number of endpoints (i.e., the Controller and Collectors). Each Channel object contains the information required for the communication with a single endpoint such as the target location and security details.
b. 频道。一组通道对象用于与多个端点(即控制器和采集器)通信。每个通道对象包含与单个端点通信所需的信息,例如目标位置和安全详细信息。
c. Task Configurations. A set of Task Configurations is used to configure the Tasks that are run by the MA. This includes the registry entries for the Task and any configuration parameters, represented as Task Options. Task Configurations are referenced from a Schedule in order to specify what Tasks the MA should execute.
c. 任务配置。一组任务配置用于配置MA运行的任务。这包括任务的注册表项和以任务选项表示的任何配置参数。任务配置从计划中引用,以指定MA应执行的任务。
d. Events. A set of Event objects that can be referenced from the Schedules. Each Schedule always references exactly one Event object that determines when the Schedule is executed. An Event object specifies either a singleton or a series of Events that indicate when Tasks should be executed. A commonly used kind of Event object is the Timing object. For Event objects specifying a series of Events, it is generally a good idea to configure an end time and to refresh the end time as needed to ensure that MAs that lose connectivity to their Controller do not continue executing Schedules forever.
d. 事件。可以从明细表中引用的一组事件对象。每个计划始终只引用一个事件对象,该对象确定计划的执行时间。事件对象指定一个事件或一系列事件,指示任务应在何时执行。一种常用的事件对象是计时对象。对于指定一系列事件的事件对象,通常最好配置结束时间并根据需要刷新结束时间,以确保与控制器失去连接的MA不会永远继续执行计划。
Figure 1 illustrates the structure in which these common information objects are referenced. The references are achieved by each object (Task Configuration, Event) being given a short textual name that is used by other objects. The objects shown in parenthesis are part of 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 Configurations but are similarly referenced using a short text name.
图1说明了引用这些公共信息对象的结构。引用是通过给每个对象(任务配置、事件)一个简短的文本名称来实现的,该名称由其他对象使用。括号中显示的对象是明细表内部对象结构的一部分。通道未显示在图表中,因为它们仅被选定的任务配置用作选项,但使用简短的文本名称类似地引用。
Schedule |-- triggered by --> Event | |-- executes --> Action 1 | |-- using --> Task Configuration | | | `-- feeding to --> Destination Schedule : : `-- executes --> Action N |-- using --> Task Configuration | `-- feeding to --> Destination Schedule
Schedule |-- triggered by --> Event | |-- executes --> Action 1 | |-- using --> Task Configuration | | | `-- feeding to --> Destination Schedule : : `-- executes --> Action N |-- using --> Task Configuration | `-- feeding to --> Destination Schedule
Figure 1: Relationship between Schedules, Events, Actions, Task Configurations, and Destination Schedules
图1:计划、事件、操作、任务配置和目标计划之间的关系
The primary function of an MA is to execute Schedules. A Schedule, which is triggered by an Event, executes a number of Actions. An Action refers to a configured Task, and it may feed results to a Destination Schedule. Both Actions and configured Tasks can provide parameters, represented as Action Options and Task Options.
MA的主要功能是执行计划。由事件触发的计划执行许多操作。操作引用已配置的任务,它可以将结果提供给目标计划。操作和配置的任务都可以提供参数,表示为操作选项和任务选项。
Tasks can implement a variety of different functions. While in terms of the Information Model, all Tasks have the same structure, it can help conceptually to think of different Task categories:
任务可以实现各种不同的功能。虽然就信息模型而言,所有任务都具有相同的结构,但从概念上考虑不同的任务类别会有所帮助:
1. Measurement Tasks measure some aspect of network performance or traffic. They may also capture contextual information from the MA device or network interfaces such as the device type or interface speed.
1. 测量任务测量网络性能或流量的某些方面。它们还可以从MA设备或网络接口捕获上下文信息,例如设备类型或接口速度。
2. Data Transfer Tasks support the communication with a Controller and Collectors:
2. 数据传输任务支持与控制器和采集器的通信:
A. Reporting Tasks report the results of Measurement Tasks to Collectors
A.报告任务向收集器报告测量任务的结果
B. One or more Control Tasks implement the Control Protocol and communicate with the Controller
B.一个或多个控制任务执行控制协议并与控制器通信
3. Data Analysis Tasks can exist to analyze data from other Measurement Tasks locally on the MA.
3. 可以存在数据分析任务,以便在MA上本地分析来自其他测量任务的数据。
4. Data Management Tasks may exist to cleanup, filter, or compress data on the MA such as Measurement Task results.
4. 数据管理任务可能用于清理、过滤或压缩MA上的数据,如测量任务结果。
Figure 1 indicates that Actions can produce data that is fed into Destination Schedules. This can by used by Actions implementing Measurement Tasks to feed measurement results to a Schedule that 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 the 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.
图1表明,操作可以生成数据,并将其馈送到目标计划中。这可由执行度量任务的操作使用,以将度量结果提供给触发执行报告任务的操作的计划。如果目标计划使用顺序或流水线执行模式,则馈送到目标计划的数据由目标计划的第一个操作消耗;如果目标计划使用并行执行模式,则馈送到目标计划的数据由目标计划的所有操作消耗。
This information is the minimal information that needs to be preconfigured to the MA in order for it to successfully communicate with a Controller during the registration process. Some of the Preconfiguration Information elements are repeated in the Configuration Information in order to allow an LMAP Controller to update these items. The Preconfiguration Information also contains some elements that are not under the control of the LMAP framework (such as the device identifier and device security credentials).
该信息是需要预先配置到MA的最小信息,以便在注册过程中与控制器成功通信。在配置信息中重复一些预配置信息元素,以便允许LMAP控制器更新这些项目。预配置信息还包含一些不受LMAP框架控制的元素(例如设备标识符和设备安全凭据)。
This Preconfiguration Information needs to include a URL of the initial Controller from where Configuration Information can be communicated along with the security information required for the communication, including the certificate of the Controller (or the certificate of the Certification Authority that was used to issue the certificate for the Controller). All this is expressed as a Channel. While multiple Channels may be provided in the Preconfiguration Information, they must all be associated with a single Controller (e.g., over different interfaces or network protocols).
该预配置信息需要包括初始控制器的URL,从该URL可以传输配置信息以及通信所需的安全信息,包括控制器的证书(或用于为控制器颁发证书的证书颁发机构的证书)。所有这些都表示为一个通道。虽然预配置信息中可能提供多个通道,但它们都必须与单个控制器关联(例如,通过不同的接口或网络协议)。
Where the MA pulls information from the Controller, the Preconfiguration Information also needs to contain the timing of the communication with the Controller as well as the nature of the communication itself (such as the protocol and data to be transferred). The timing is represented as an Event that invokes a Schedule that executes the Task(s) responsible for communication with the Controller. It is this Task (or Tasks) that implements the Control Protocol between the MA and the Controller and utilizes the Channel information. The Task(s) may take additional parameters, as defined by a Task Configuration.
在MA从控制器提取信息的情况下,预配置信息还需要包含与控制器的通信的定时以及通信本身的性质(例如要传输的协议和数据)。计时表示为调用调度的事件,该调度执行负责与控制器通信的任务。正是此任务(或多个任务)实现MA和控制器之间的控制协议并利用信道信息。任务可以采用任务配置定义的其他参数。
Even where information is pushed to the MA from the Controller (rather than pulled by the MA), a Schedule still needs to be supplied. In this case, the Schedule will simply execute a Controller listener Task when the MA is started. A Channel is still required for the MA to establish secure communication with the Controller.
即使信息从控制器推送到MA(而不是由MA拉),仍然需要提供时间表。在这种情况下,当MA启动时,调度将只执行控制器侦听器任务。MA仍然需要一个通道来与控制器建立安全通信。
It can be seen that these Channels, Schedules, and Task Configurations for the initial communication between the MA and its Controller are no different in terms of the Information Model to any other Channel, Schedule, or Task Configuration that might execute a Measurement Task or report the measurement results (as described later).
可以看出,MA与其控制器之间的初始通信的这些信道、调度和任务配置在信息模型方面与可能执行测量任务或报告测量结果(如下文所述)的任何其他信道、调度或任务配置没有区别。
The MA may be preconfigured with an MA-ID or may use a Device ID in the first Controller contact before it is assigned an MA-ID. The Device ID may be a Media Access Control (MAC) address or some other device identifier expressed as a URI. If the MA-ID is not provided at this stage, then it must be provided by the Controller during Configuration.
MA可以用MA-ID预配置,或者可以在分配MA-ID之前在第一控制器联系人中使用设备ID。设备ID可以是媒体访问控制(MAC)地址或表示为URI的某个其他设备标识符。如果在此阶段未提供MA-ID,则必须在配置期间由控制器提供。
object { [uuid ma-preconfig-agent-id;] ma-task-obj ma-preconfig-control-tasks<1..*>; ma-channel-obj ma-preconfig-control-channels<1..*>; ma-schedule-obj ma-preconfig-control-schedules<1..*>; [uri ma-preconfig-device-id;] credentials ma-preconfig-credentials; } ma-preconfig-obj;
object { [uuid ma-preconfig-agent-id;] ma-task-obj ma-preconfig-control-tasks<1..*>; ma-channel-obj ma-preconfig-control-channels<1..*>; ma-schedule-obj ma-preconfig-control-schedules<1..*>; [uri ma-preconfig-device-id;] credentials ma-preconfig-credentials; } ma-preconfig-obj;
The ma-preconfig-obj describes information that needs to be available to the MA in order to bootstrap communication with a Controller. The ma-preconfig-obj consists of the following elements:
ma PREFORFIG obj描述了ma需要获得的信息,以便引导与控制器的通信。ma预配置obj由以下元件组成:
ma-preconfig-agent-id: An optional UUID uniquely identifying the Measurement Agent.
ma预配置代理id:唯一标识测量代理的可选UUID。
ma-preconfig-control-tasks: An unordered set of Task objects.
ma预配置控制任务:一组无序的任务对象。
ma-preconfig-control-channels: An unordered set of Channel objects.
ma预配置控制通道:一组无序的通道对象。
ma-preconfig-control-schedules: An unordered set of scheduling objects.
ma预配置控制计划:一组无序的计划对象。
ma-preconfig-device-id: An optional identifier for the device.
ma预配置设备id:设备的可选标识符。
ma-preconfig-credentials: The security credentials used by the Measurement Agent.
ma预配置凭据:度量代理使用的安全凭据。
During registration or at any later point at which the MA contacts the Controller (or vice versa), the choice of Controller, details for the timing of communication with the Controller, or parameters for the communication Task(s) can be changed (as captured by the Channels, Schedules, and Task Configurations objects). For example, the preconfigured Controller (specified as a Channel or Channels) may be overridden with a specific Controller that is more appropriate to the MA device type, location, or characteristics of the network (e.g., access technology type or broadband product). The initial communication Schedule may be overridden with one more relevant to routine communications between the MA and the Controller.
在注册期间或在MA与控制器联系的任何稍后点(反之亦然),可以更改控制器的选择、与控制器通信的定时细节或通信任务的参数(由通道、时间表和任务配置对象捕获)。例如,预配置的控制器(指定为一个或多个信道)可由更适合于网络的MA设备类型、位置或特征(例如,接入技术类型或宽带产品)的特定控制器覆盖。初始通信时间表可由一个或多个与MA和控制器之间的常规通信相关的时间表覆盖。
While some Control Protocols may only use a single Schedule, other protocols may use several Schedules (and related Data Transfer Tasks) to update the Configuration Information, transfer the Instruction Information, transfer Capability and Status Information, and send other information to the Controller such as log or error notifications. Multiple Channels may be used to communicate with the same Controller over multiple interfaces (e.g., to send Logging Information over a different network).
虽然一些控制协议可能只使用一个计划,但其他协议可能使用多个计划(和相关数据传输任务)来更新配置信息、传输指令信息、传输能力和状态信息,以及向控制器发送其他信息,如日志或错误通知。多个通道可用于通过多个接口与同一控制器通信(例如,通过不同网络发送日志信息)。
In addition, the MA will be given further items of information that relate specifically to the MA rather than the measurements it is to conduct or how to report results. The assignment of an identifier to the Measurement Agent is mandatory. If the Measurement Agent Identifier was not optionally provided during the preconfiguration, then one must be provided by the Controller during Configuration. Optionally, a Group-ID may also be given that identifies a group of interest to which that MA belongs. For example, the group could represent an ISP, broadband product, technology, market classification, geographic region, or a combination of multiple such characteristics. Additional flags control whether the MA-ID or the Group-ID are included in Reports. The reporting of a Group-ID without the MA-ID may allow the MA to remain anonymous, which may be particularly useful to prevent tracking of mobile MA devices.
此外,将向MA提供更多与MA相关的信息,而不是其将进行的测量或如何报告结果。必须为测量代理分配标识符。如果在预配置期间未选择性地提供测量代理标识符,则控制器必须在配置期间提供一个。可选地,还可以给出标识该MA所属的感兴趣的组的组ID。例如,该集团可以代表ISP、宽带产品、技术、市场分类、地理区域或多种此类特征的组合。其他标志控制报告中是否包含MA-ID或组ID。报告没有MA-ID的组ID可以允许MA保持匿名,这对于防止跟踪移动MA设备可能特别有用。
Optionally, an MA can also be configured to stop executing any Instruction Schedule if the Controller is unreachable. This can be used as a fail-safe to stop Measurement and other Tasks from being conducted when there is doubt that the Instruction Information is still valid. This is simply represented as a time window in seconds since the last communication with the Controller, after which an Event is generated that can trigger the suspension of Instruction Schedules. The appropriate value of the time window will depend on
可选地,如果控制器不可访问,MA也可以配置为停止执行任何指令调度。当怀疑指令信息仍然有效时,可将其用作故障保护,以停止执行测量和其他任务。这只是表示为自上次与控制器通信以来的时间窗口(以秒为单位),之后会生成一个事件,该事件可触发指令计划的暂停。时间窗口的适当值取决于
the specified communication Schedule with the Controller and the duration for which the system is willing to tolerate continued operation with potentially stale Instruction Information.
与控制器的指定通信计划,以及系统愿意容忍可能失效的指令信息继续运行的持续时间。
While Preconfiguration Information is persistent upon a device reset or power cycle, the persistency of the Configuration Information may be device dependent. Some devices may revert back to their preconfiguration state upon reboot or factory reset, while other devices may store all Configuration and Instruction Information in persistent storage. A Controller can check whether an MA has the latest Configuration and Instruction Information by examining the Capability and Status Information for the MA.
虽然预配置信息在设备复位或电源循环时是持久的,但配置信息的持久性可能取决于设备。一些设备可能会在重新启动或出厂重置后恢复到其预配置状态,而其他设备可能会将所有配置和指令信息存储在永久性存储器中。控制器可以通过检查MA的能力和状态信息来检查MA是否具有最新的配置和指令信息。
object { uuid ma-config-agent-id; ma-task-obj ma-config-control-tasks<1..*>; ma-channel-obj ma-config-control-channels<1..*>; ma-schedule-obj ma-config-control-schedules<1..*>; credentials ma-config-credentials; [string ma-config-group-id;] [string ma-config-measurement-point;] [boolean ma-config-report-agent-id;] [boolean ma-config-report-group-id;] [boolean ma-config-report-measurement-point;] [int ma-config-controller-timeout;] } ma-config-obj;
object { uuid ma-config-agent-id; ma-task-obj ma-config-control-tasks<1..*>; ma-channel-obj ma-config-control-channels<1..*>; ma-schedule-obj ma-config-control-schedules<1..*>; credentials ma-config-credentials; [string ma-config-group-id;] [string ma-config-measurement-point;] [boolean ma-config-report-agent-id;] [boolean ma-config-report-group-id;] [boolean ma-config-report-measurement-point;] [int ma-config-controller-timeout;] } ma-config-obj;
The ma-config-obj consists of the following elements:
ma config obj由以下元素组成:
ma-config-agent-id: A UUID uniquely identifying the Measurement Agent.
ma配置代理id:唯一标识度量代理的UUID。
ma-config-control-tasks: An unordered set of Task objects.
ma配置控制任务:一组无序的任务对象。
ma-config-control-channels: An unordered set of Channel objects.
ma配置控制通道:一组无序的通道对象。
ma-config-control-schedules: An unordered set of scheduling objects.
ma配置控制调度:一组无序的调度对象。
ma-config-credentials: The security credentials used by the Measurement Agent.
ma配置凭据:度量代理使用的安全凭据。
ma-config-group-id: An optional identifier of the group of Measurement Agents this Measurement Agent belongs to.
ma config group id:此测量代理所属测量代理组的可选标识符。
ma-config-measurement-point: An optional identifier for the measurement point indicating where the Measurement Agent is located on a path (see [RFC7398] for further details).
ma配置测量点:测量点的可选标识符,指示测量代理在路径上的位置(有关更多详细信息,请参阅[RFC7398])。
ma-config-report-agent-id: An optional flag indicating whether the Agent Identifier (ma-config-agent-id) is included in reports. The default value is true.
ma配置报告代理id:一个可选标志,指示报告中是否包含代理标识符(ma配置代理id)。默认值为true。
ma-config-report-group-id: An optional flag indicating whether the Group-ID (ma-config-group-id) is included in reports. The default value is false.
ma-config-report-group-id: An optional flag indicating whether the Group-ID (ma-config-group-id) is included in reports. The default value is false.translate error, please retry
ma-config-report-measurement-point: An optional flag indicating whether the measurement point (ma-config-measurement-point) should be included in reports. The default value is false.
ma配置报告测量点:一个可选标志,指示测量点(ma配置测量点)是否应包含在报告中。默认值为false。
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).
ma配置控制器超时:每次与控制器成功接触后都会启动计时器。当计时器达到控制器超时(以秒为单位)时,将引发一个事件,指示与控制器的连接已丢失(请参阅ma控制器丢失obj)。
The Instruction Information Model has four sub-elements:
指令信息模型有四个子元素:
1. Instruction Task Configurations
1. 指令任务配置
2. Report Channels
2. 报道渠道
3. Instruction Schedules
3. 教学计划
4. Suppression
4. 压制
The Instruction supports the execution of all Tasks on the MA except those that deal with communication with the Controller (specified in Configuration or Preconfiguration Information). The Tasks are configured in Instruction Task Configurations and included by reference in the Actions of Instruction Schedules that specify when to execute them. The results can be communicated to other Schedules, or a Task may implement a Reporting Protocol and communicate results over Report Channels. Suppression is used to temporarily stop the execution of new Tasks as specified by the Instruction Schedules (and optionally to stop ongoing Tasks).
该指令支持在MA上执行所有任务,但与控制器通信的任务除外(在配置或预配置信息中指定)。任务在指令任务配置中配置,并通过引用包含在指令计划的操作中,这些操作指定何时执行任务。结果可以传递给其他计划,或者任务可以实现报告协议并通过报告通道传递结果。抑制用于临时停止指令计划指定的新任务的执行(也可以选择停止正在进行的任务)。
A Task Configuration is used to configure the mandatory and optional parameters of a Task. It also serves to instruct the MA about the Task including the ability to resolve the Task to an executable and to specify the schema for the Task parameters.
任务配置用于配置任务的必需和可选参数。它还用于向MA指示任务,包括将任务解析为可执行文件以及为任务参数指定模式的能力。
A Report Channel defines how to communicate with a single remote system specified by a URL. A Report Channel is used to send results to a single Collector but is no different in terms of the Information Model to the Control Channel used to transfer information between the MA and the Controller. Several Report Channels can be defined to enable results to be split or duplicated across different destinations. A single Channel can be used by multiple (reporting) Task Configurations to transfer data to the same Collector. A single Reporting Task Configuration can also be included in multiple Schedules. For example, a single Collector may receive data at three different cycle rates, with one Schedule reporting hourly, another reporting daily, and a third specifying that results should be sent immediately for on-demand Measurement Tasks. Alternatively, multiple Report Channels can be used to send Measurement Task results to different Collectors. The details of the Channel element is described later as it is common to several objects.
报告通道定义如何与URL指定的单个远程系统通信。报告通道用于将结果发送到单个收集器,但在信息模型方面与用于在MA和控制器之间传输信息的控制通道没有区别。可以定义多个报告通道,以便在不同的目标之间拆分或复制结果。多个(报告)任务配置可以使用单个通道将数据传输到同一采集器。单个报告任务配置也可以包含在多个计划中。例如,单个采集器可能以三种不同的周期速率接收数据,其中一个计划每小时报告一次,另一个每天报告一次,第三个指定应立即发送按需测量任务的结果。或者,可以使用多个报告通道将测量任务结果发送到不同的收集器。通道元素的详细信息将在后面描述,因为它对于多个对象是通用的。
Instruction Schedules specify which Actions to execute according to a given triggering Event. An Action extends a configured Task with additional specific parameters. An Event can trigger the execution of a single Action, or it can trigger a repeated series of Actions. The Schedule also specifies how to link output data from Tasks to other Schedules.
指令计划指定根据给定触发事件执行哪些操作。操作使用其他特定参数扩展已配置的任务。事件可以触发单个操作的执行,也可以触发一系列重复的操作。该计划还指定如何将任务的输出数据链接到其他计划。
Measurement Suppression information is used to override the Instruction Schedule and temporarily stop measurements or other Tasks from running on the MA for a defined or indefinite period. While conceptually measurements can be stopped by simply removing them from the Measurement Schedule, splitting out separate information on Measurement Suppression allows this information to be updated on the MA on a different timing cycle or protocol implementation to the Measurement Schedule. It is also considered that it will be easier
测量抑制信息用于覆盖指令计划,并在定义的或不确定的时间段内暂时停止测量或其他任务在MA上运行。虽然概念上可以通过简单地将测量从测量计划中移除来停止测量,但是分离出关于测量抑制的单独信息允许在测量计划的不同定时周期或协议实现上在MA上更新该信息。人们还认为这样做会更容易
for a human operator to implement a temporary explicit Suppression rather than having to move to a reduced Schedule and then roll back at a later time.
人工操作员执行临时显式抑制,而不必移动到缩减的时间表,然后在以后回滚。
It should be noted that Control Schedules and Tasks cannot be suppressed as evidenced by the lack of Suppression information in the Configuration. The Control Schedule must only reference Tasks listed as Control Tasks (i.e., within the Configuration Information).
应注意的是,控制计划和任务不能被抑制,因为配置中缺少抑制信息。控制计划必须仅引用列为控制任务的任务(即,在配置信息中)。
A single Suppression object is able to enable/disable a set of Instruction Tasks that are tagged for Suppression. This enables fine-grained control on which Tasks are suppressed. Suppression of both matching Actions and Measurement Schedules is supported. Support for disabling specific Actions allows malfunctioning or misconfigured Tasks or Actions that have an impact on a particular part of the network infrastructure (e.g., a particular Measurement Peer) to be targeted. Support for disabling specific Schedules allows for particularly heavy cycles or sets of less essential Measurement Tasks to be suppressed quickly and effectively. Note that Suppression has no effect on either Controller Tasks or Controller Schedules.
单个抑制对象能够启用/禁用标记为抑制的一组指令任务。这样可以对抑制的任务进行细粒度控制。支持同时抑制匹配操作和测量计划。对禁用特定操作的支持允许针对对网络基础设施的特定部分(例如,特定测量对等点)有影响的故障或错误配置的任务或操作。对禁用特定计划的支持允许快速有效地抑制特别重的周期或一组不太重要的测量任务。请注意,抑制对控制器任务或控制器计划都没有影响。
Suppression stops new Tasks from executing. In addition, the Suppression information also supports an additional boolean that is used to select whether ongoing Tasks are also to be terminated.
抑制将停止执行新任务。此外,抑制信息还支持用于选择是否也要终止正在进行的任务的附加布尔值。
Unsuppression is achieved through either overwriting the Measurement Suppression information (e.g., changing 'enabled' to False) or through the use of an end time such that the Measurement Suppression will no longer be in effect beyond this time.
取消抑制是通过覆盖测量抑制信息(例如,将“启用”更改为False)或通过使用结束时间来实现的,以便测量抑制在该时间之后不再有效。
The goal when defining these four different elements is to allow each part of the Information Model to change without affecting the other three elements. For example, it is envisaged that the Report Channels and the set of Task Configurations will be relatively static. The Instruction Schedule, on the other hand, is likely to be more dynamic, as the measurement panel and test frequency are changed for various business goals. Another example is that measurements can be suppressed with a Suppression command without removing the existing Instruction Schedules that would continue to apply after the Suppression expires or is removed. In terms of the communication between the MA and its Controller, this can reduce the data overhead. It also encourages the reuse of the same standard Task Configurations and Reporting Channels to help ensure consistency and reduce errors.
定义这四个不同元素的目的是允许信息模型的每个部分都发生更改,而不影响其他三个元素。例如,预计报告通道和任务配置集将相对静态。另一方面,由于测量面板和测试频率因不同的业务目标而改变,指令计划可能更具动态性。另一个例子是,可以使用抑制命令抑制测量,而无需删除抑制过期或删除后将继续应用的现有指令计划。就MA与其控制器之间的通信而言,这可以减少数据开销。它还鼓励重用相同的标准任务配置和报告通道,以帮助确保一致性并减少错误。
object { ma-task-obj ma-instruction-tasks<0..*>; ma-channel-obj ma-instruction-channels<0..*>; ma-schedule-obj ma-instruction-schedules<0..*>; [ma-suppression-obj ma-instruction-suppressions<0..*>;] } ma-instruction-obj;
object { ma-task-obj ma-instruction-tasks<0..*>; ma-channel-obj ma-instruction-channels<0..*>; ma-schedule-obj ma-instruction-schedules<0..*>; [ma-suppression-obj ma-instruction-suppressions<0..*>;] } ma-instruction-obj;
An ma-instruction-obj consists of the following elements:
ma指令obj由以下元素组成:
ma-instruction-tasks: A possibly empty unordered set of Task objects.
ma指令任务:一组可能为空的无序任务对象。
ma-instruction-channels: A possibly empty unordered set of Channel objects.
ma指令通道:可能为空的无序通道对象集。
ma-instruction-schedules: A possibly empty unordered set of Schedule objects.
ma指令调度:一组可能为空的无序调度对象。
ma-instruction-suppressions: An optional possibly empty unordered set of Suppression objects.
ma指令抑制:可选的可能为空的无序抑制对象集。
object { string ma-suppression-name; [ma-event-obj ma-suppression-start;] [ma-event-obj ma-suppression-end;] [string ma-suppression-match<0..*>;] [boolean ma-suppression-stop-running;] } ma-suppression-obj;
object { string ma-suppression-name; [ma-event-obj ma-suppression-start;] [ma-event-obj ma-suppression-end;] [string ma-suppression-match<0..*>;] [boolean ma-suppression-stop-running;] } ma-suppression-obj;
The ma-suppression-obj controls the Suppression of Schedules or Actions and consists of the following elements:
ma抑制obj控制计划或动作的抑制,包括以下元素:
ma-suppression-name: A name uniquely identifying a Suppression.
ma抑制名称:唯一标识抑制的名称。
ma-suppression-start: The optional Event indicating when Suppression starts. If not present, the Suppression starts immediately, i.e., as if the value would be 'immediate'.
ma抑制启动:指示抑制启动时间的可选事件。如果不存在,则立即开始抑制,即,该值将为“立即”。
ma-suppression-end: The optional Event indicating when Suppression ends. If not present, the Suppression does not have a defined end, i.e., the Suppression remains for an indefinite period of time.
ma抑制结束:指示抑制结束时间的可选事件。如果不存在,则抑制没有定义的结束,即抑制将无限期保留。
ma-suppression-match: An optional and possibly empty unordered set of match patterns. The 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. Pattern matching is done using a glob style pattern (see below).
ma抑制匹配:可选且可能为空的无序匹配模式集。抑制将应用于在其ma计划抑制标记中具有匹配值的所有计划(及其操作),以及在其ma操作抑制标记中具有匹配值的所有操作。模式匹配是使用glob样式的模式完成的(见下文)。
ma-suppression-stop-running: An optional boolean indicating whether Suppression will stop any running matching Schedules or Actions. The default value for this boolean is false.
ma suppression stop running:一个可选布尔值,指示suppression是否将停止任何正在运行的匹配计划或操作。此布尔值的默认值为false。
Glob style pattern matching is following POSIX.2 fnmatch() [POSIX.2] without special treatment of file paths:
Glob样式的模式匹配遵循POSIX.2 fnmatch()[POSIX.2],无需对文件路径进行特殊处理:
* matches a sequence of characters ? matches a single character [seq] matches any character in seq [!seq] matches any character not in seq
* 匹配字符序列?匹配单个字符[seq]匹配seq中的任何字符[!seq]匹配不在seq中的任何字符
A backslash followed by a character matches the following character. In particular:
后跟字符的反斜杠与以下字符匹配。特别地:
\* matches * \? matches ? \\ matches \
\*匹配*\?匹配?\\火柴\
A sequence seq may be a sequence of characters (e.g., [abc]) or a range of characters (e.g., [a-c]).
序列seq可以是字符序列(例如,[abc])或字符范围(例如,[A-c])。
The MA may report on the success or failure of Configuration or Instruction communications from the Controller. In addition, further operational logs may be produced during the operation of the MA, and updates to Capabilities may also be reported. Reporting this information is achieved in exactly the same manner as scheduling any other Task. We make no distinction between a Measurement Task conducting an active or passive network measurement and one that solely retrieves static or dynamic information from the MA such as Capabilities or Logging Information. One or more logging Tasks can be programmed or configured to capture subsets of the Logging Information. These logging Tasks are then executed by Schedules, which also specify that the resultant data is to be transferred over the Controller Channels.
MA可报告来自控制器的配置或指令通信的成功或失败。此外,在MA运行期间可能会生成更多的运行日志,并且还可能会报告能力的更新。报告此信息的方式与安排任何其他任务的方式完全相同。我们不区分执行主动或被动网络测量的测量任务和仅从MA检索静态或动态信息(如能力或日志信息)的测量任务。可以对一个或多个日志任务进行编程或配置,以捕获日志信息的子集。然后,这些日志记录任务由调度执行,调度还指定结果数据将通过控制器通道传输。
The type of Logging Information will fall into three different categories:
记录信息的类型将分为三类:
1. Success/failure/warning messages in response to information updates from the Controller. Failure messages could be produced due to some inability to receive or parse the Controller communication or if the MA is not able to act as instructed. For example:
1. 响应控制器信息更新的成功/失败/警告消息。由于无法接收或解析控制器通信或MA无法按照指示操作,可能会产生故障消息。例如:
* "Measurement Schedules updated OK"
* “测量计划更新正常”
* "Unable to parse JSON"
* “无法分析JSON”
* "Missing mandatory element: Measurement Timing"
* “缺少必需元素:测量时间”
* "'Start' does not conform to schema - expected datetime"
* “'Start'不符合架构-预期的日期时间”
* "Date specified is in the past"
* “指定的日期为过去”
* "'Hour' must be in the range 1..24"
* “'Hour'必须在1..24范围内”
* "Schedule A refers to non-existent Measurement Task Configuration"
* “计划A引用了不存在的测量任务配置”
* "Measurement Task Configuration X registry, entry Y not found"
* 测量任务配置X注册表,未找到条目Y
* "Updated Measurement Task Configurations do not include M used by Measurement Schedule N"
* “更新的测量任务配置不包括测量计划N使用的M”
2. Operational updates from the MA. For example:
2. MA的操作更新。例如:
* "Out of memory: cannot record result"
* “内存不足:无法记录结果”
* "Collector 'collector.example.com' not responding"
* “收集器'Collector.example.com'没有响应”
* "Unexpected restart"
* “意外重新启动”
* "Suppression timeout"
* “抑制超时”
* "Failed to execute Measurement Task Configuration H"
* “无法执行测量任务配置H”
3. Status updates from the MA. For example:
3. MA的状态更新。例如:
* "Device interface added: eth3"
* “已添加设备接口:eth3”
* "Supported measurements updated"
* “支持的度量值已更新”
* "New IP address on eth0: xxx.xxx.xxx.xxx"
* “eth0上的新IP地址:xxx.xxx.xxx.xxx”
This Information Model document does not detail the precise format of Logging Information since it is to a large extent protocol and MA specific. However, some common information can be identified.
此信息模型文档没有详细说明日志信息的精确格式,因为它在很大程度上是协议和MA特定的。但是,可以识别一些常见信息。
object { uuid ma-log-agent-id; datetime ma-log-event-time; int ma-log-code; string ma-log-description; } ma-log-obj;
object { uuid ma-log-agent-id; datetime ma-log-event-time; int ma-log-code; string ma-log-description; } ma-log-obj;
The ma-log-obj models the generic aspects of a logging object and consists of the following elements:
ma log obj对日志对象的一般方面进行建模,并由以下元素组成:
ma-log-agent-id: A uuid uniquely identifying the Measurement Agent.
ma日志代理id:唯一标识度量代理的uuid。
ma-log-event-time: The date and time of the Event reported in the logging object.
ma日志事件时间:日志对象中报告的事件的日期和时间。
ma-log-code: A machine-readable code describing the Event.
ma日志代码:描述事件的机器可读代码。
ma-log-description: A human-readable description of the Event.
ma日志描述:事件的可读描述。
The MA will hold Capability Information that can be retrieved by a Controller. Capabilities include the device interface details available to Measurement Tasks as well as the set of Measurement Tasks/Roles (specified by registry entries) that are actually installed or available on the MA. Status Information includes the times that operations were last performed such as contacting the Controller or producing Reports.
MA将保存可由控制器检索的能力信息。功能包括测量任务可用的设备接口详细信息,以及MA上实际安装或可用的测量任务/角色集(由注册表项指定)。状态信息包括上次执行操作的时间,如联系控制器或生成报告。
object { string ma-capability-hardware; string ma-capability-firmware; string ma-capability-version; [string ma-capability-tags<0..*>;] [ma-capability-task-obj ma-capability-tasks<0..*>;] } ma-capability-obj;
object { string ma-capability-hardware; string ma-capability-firmware; string ma-capability-version; [string ma-capability-tags<0..*>;] [ma-capability-task-obj ma-capability-tasks<0..*>;] } ma-capability-obj;
The ma-capability-obj provides information about the Capabilities of the Measurement Agent and consists of the following elements:
ma能力obj提供有关测量代理能力的信息,包括以下要素:
ma-capability-hardware: A description of the hardware of the device the Measurement Agent is running on.
ma capability hardware:对运行测量代理的设备硬件的描述。
ma-capability-firmware: A description of the firmware of the device the Measurement Agent is running on.
ma能力固件:对运行测量代理的设备固件的描述。
ma-capability-version: The version of the Measurement Agent.
ma能力版本:测量代理的版本。
ma-capability-tags: An optional unordered set of tags that provide additional information about the Capabilities of the Measurement Agent.
ma能力标签:一组可选的无序标签,提供有关度量代理能力的附加信息。
ma-capability-tasks: An optional unordered set of capability objects for each supported Task.
ma能力任务:每个受支持任务的可选无序能力对象集。
object { string ma-capability-task-name; ma-registry-obj ma-capability-task-functions<0..*>; string ma-capability-task-version; } ma-capability-task-obj;
object { string ma-capability-task-name; ma-registry-obj ma-capability-task-functions<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能力任务obj提供有关任务能力的信息,包括以下要素:
ma-capability-task-name: A name uniquely identifying a Task.
ma能力任务名称:唯一标识任务的名称。
ma-capability-task-functions: A possibly empty unordered set of registry entries identifying functions this Task implements.
ma能力任务函数:一组可能为空的无序注册表项,用于标识此任务实现的函数。
ma-capability-task-version: The version of the Measurement Task.
ma能力任务版本:度量任务的版本。
object { uuid ma-status-agent-id; [uri ma-status-device-id;] datetime ma-status-last-started; ma-status-interface-obj ma-status-interfaces<0..*>; [ma-status-schedule-obj ma-status-schedules<0..*>;] [ma-status-suppression-obj ma-status-suppressions<0..*>;] } ma-status-obj;
object { uuid ma-status-agent-id; [uri ma-status-device-id;] datetime ma-status-last-started; ma-status-interface-obj ma-status-interfaces<0..*>; [ma-status-schedule-obj ma-status-schedules<0..*>;] [ma-status-suppression-obj ma-status-suppressions<0..*>;] } ma-status-obj;
The ma-status-obj provides Status Information about the Measurement Agent and consists of the following elements:
ma status obj提供有关测量代理的状态信息,包括以下元素:
ma-status-agent-id: A uuid uniquely identifying the Measurement Agent.
ma状态代理id:唯一标识测量代理的uuid。
ma-status-device-id: A URI identifying the device.
ma状态设备id:标识设备的URI。
ma-status-last-started: The date and time the Measurement Agent last started.
ma状态上次启动:测量代理上次启动的日期和时间。
ma-status-interfaces: An unordered set of network interfaces available on the device.
ma状态接口:设备上可用的一组无序网络接口。
ma-status-schedules: An optional unordered set of status objects for each Schedule.
ma状态计划:每个计划的可选无序状态对象集。
ma-status-suppressions: An optional unordered set of status objects for each Suppression.
ma状态抑制:每个抑制的可选无序状态对象集。
object { string ma-status-schedule-name; string ma-status-schedule-state; int ma-status-schedule-storage; counter ma-status-schedule-invocations; counter ma-status-schedule-suppressions; counter ma-status-schedule-overlaps; counter ma-status-schedule-failures; datetime ma-status-schedule-last-invocation; [ma-status-action-obj ma-status-schedule-actions<0..*>;] } ma-status-schedule-obj;
object { string ma-status-schedule-name; string ma-status-schedule-state; int ma-status-schedule-storage; counter ma-status-schedule-invocations; counter ma-status-schedule-suppressions; counter ma-status-schedule-overlaps; counter ma-status-schedule-failures; datetime ma-status-schedule-last-invocation; [ma-status-action-obj ma-status-schedule-actions<0..*>;] } ma-status-schedule-obj;
The ma-status-schedule-obj provides Status Information about the status of a Schedule and consists of the following elements:
ma状态计划obj提供有关计划状态的状态信息,包括以下元素:
ma-status-schedule-name: The name of the Schedule this status object refers to.
ma状态计划名称:此状态对象引用的计划的名称。
ma-status-schedule-state: The state of the Schedule. The value 'enabled' indicates that the Schedule is currently enabled. The value 'suppressed' indicates that the Schedule is currently suppressed. The value 'disabled' indicates that the Schedule is currently disabled. The value 'running' indicates that the Schedule is currently running.
ma状态计划状态:计划的状态。值“enabled”表示计划当前已启用。值“抑制”表示计划当前被抑制。值“disabled”表示计划当前已禁用。值“running”表示计划当前正在运行。
ma-status-schedule-storage: The amount of secondary storage (e.g., allocated in a file system) holding temporary data allocated to the Schedule in bytes. This object reports the amount of allocated physical storage and not the storage used by logical data records. Data models should use a 64-bit integer type.
ma状态计划存储:保存分配给计划的临时数据(以字节为单位)的辅助存储量(例如,在文件系统中分配)。此对象报告分配的物理存储量,而不是逻辑数据记录使用的存储量。数据模型应使用64位整数类型。
ma-status-schedule-invocations Number of invocations of this Schedule. This counter does not include suppressed invocations or invocations that were prevented due to an overlap with a previous invocation of this Schedule.
ma状态计划调用此计划的调用次数。此计数器不包括受抑制的调用或由于与此计划的上一次调用重叠而被阻止的调用。
ma-status-schedule-suppressions Number of suppressed executions of this Schedule.
ma状态计划抑制此计划的抑制执行次数。
ma-status-schedule-overlaps Number of executions prevented due to overlaps with a previous invocation of this Schedule.
ma状态计划与由于与此计划的上一次调用重叠而阻止的执行数重叠。
ma-status-schedule-failures Number of failed executions of this Schedule. A failed execution is an execution where at least one Action failed.
ma状态计划失败执行此计划失败的次数。失败执行是指至少一个操作失败的执行。
ma-status-schedule-last-invocation: The date and time of the last invocation of this Schedule.
ma status schedule last invocation:此计划最后一次调用的日期和时间。
ma-status-schedule-actions: An optional ordered list of status objects for each Action of the Schedule.
ma状态计划操作:计划中每个操作的状态对象的可选有序列表。
object { string ma-status-action-name; string ma-status-action-state; int ma-status-action-storage; counter ma-status-action-invocations; counter ma-status-action-suppressions; counter ma-status-action-overlaps; counter ma-status-action-failures; datetime ma-status-action-last-invocation; datetime ma-status-action-last-completion; int ma-status-action-last-status; string ma-status-action-last-message; datetime ma-status-action-last-failed-completion; int ma-status-action-last-failed-status; string ma-status-action-last-failed-message; } ma-status-action-obj;
object { string ma-status-action-name; string ma-status-action-state; int ma-status-action-storage; counter ma-status-action-invocations; counter ma-status-action-suppressions; counter ma-status-action-overlaps; counter ma-status-action-failures; datetime ma-status-action-last-invocation; datetime ma-status-action-last-completion; int ma-status-action-last-status; string ma-status-action-last-message; datetime ma-status-action-last-failed-completion; int ma-status-action-last-failed-status; string ma-status-action-last-failed-message; } ma-status-action-obj;
The ma-status-action-obj provides Status Information about an Action of a Schedule and consists of the following elements:
ma status action obj提供有关计划的操作的状态信息,包括以下元素:
ma-status-action-name: The name of the Action of a Schedule this status object refers to.
ma status action name:此状态对象引用的计划的操作名称。
ma-status-action-state: The state of the Action. The value 'enabled' indicates that the Action is currently enabled. The value 'suppressed' indicates that the Action is currently suppressed. The value 'disabled' indicates that the Action is currently disabled. The value 'running' indicates that the Action is currently running.
ma状态操作状态:操作的状态。值“enabled”表示操作当前已启用。值“抑制”表示当前已抑制该操作。值“disabled”表示当前已禁用该操作。值“running”表示操作当前正在运行。
ma-status-action-storage: The amount of secondary storage (e.g., allocated in a file system) holding temporary data allocated to the Action in bytes. This object reports the amount of allocated physical storage and not the storage used by logical data records. Data models should use a 64-bit integer type.
ma状态操作存储:保存分配给操作的临时数据的辅助存储量(例如,在文件系统中分配的存储量),以字节为单位。此对象报告分配的物理存储量,而不是逻辑数据记录使用的存储量。数据模型应使用64位整数类型。
ma-status-action-invocations Number of invocations of this Action. This counter does not include suppressed invocations or invocations that were prevented due to an overlap with a previous invocation of this Action.
ma状态操作调用此操作的调用次数。此计数器不包括受抑制的调用或由于与此操作的上一次调用重叠而被阻止的调用。
ma-status-action-suppressions Number of suppressed executions of this Action.
ma status action SUPPORSIONS此操作被抑制的执行次数。
ma-status-action-overlaps Number of executions prevented due to overlaps with a previous invocation of this Action.
ma status操作与由于与此操作的上一次调用重叠而阻止的执行数重叠。
ma-status-action-failures Number of failed executions of this Action.
ma状态操作失败执行此操作失败的次数。
ma-status-action-last-invocation: The date and time of the last invocation of this Action.
ma status action last invocation:上次调用此操作的日期和时间。
ma-status-action-last-completion: The date and time of the last completion of this Action.
ma状态操作上次完成:此操作上次完成的日期和时间。
ma-status-action-last-status: The status code returned by the last execution of this Action.
ma status action last status:上次执行此操作返回的状态代码。
ma-status-action-last-message: The status message produced by the last execution of this Action.
ma status action last message:上次执行此操作时生成的状态消息。
ma-status-action-last-failed-completion: The date and time of the last failed completion of this Action.
ma status action last failed completion:上次未能完成此操作的日期和时间。
ma-status-action-last-failed-status: The status code returned by the last failed execution of this Action.
ma status action last failed status:上次执行此操作失败时返回的状态代码。
ma-status-action-last-failed-message: The status message produced by the last failed execution of this Action.
ma status action last failed message:上次执行此操作失败时生成的状态消息。
object { string ma-status-suppression-name; string ma-status-suppression-state; } ma-status-suppression-obj;
object { string ma-status-suppression-name; string ma-status-suppression-state; } ma-status-suppression-obj;
The ma-status-suppression-obj provides Status Information about the status of a Suppression and consists of the following elements:
ma状态抑制obj提供关于抑制状态的状态信息,包括以下元素:
ma-status-suppression-name: The name of the Suppression this status object refers to.
ma状态抑制名称:此状态对象所指抑制的名称。
ma-status-suppression-state: The state of the Suppression. The value 'enabled' indicates that the Suppression is currently enabled. The value 'active' indicates that the Suppression is currently active. The value 'disabled' indicates that the Suppression is currently disabled.
ma状态抑制状态:抑制的状态。值“enabled”表示抑制当前已启用。“激活”值表示抑制当前处于激活状态。值“disabled”(已禁用)表示抑制当前已禁用。
object { string ma-status-interface-name; string ma-status-interface-type; [int ma-status-interface-speed;] [string ma-status-interface-link-layer-address;] [ip-address ma-status-interface-ip-addresses<0..*>;] [ip-address ma-status-interface-gateways<0..*>;] [ip-address ma-status-interface-dns-servers<0..*>;] } ma-status-interface-obj;
object { string ma-status-interface-name; string ma-status-interface-type; [int ma-status-interface-speed;] [string ma-status-interface-link-layer-address;] [ip-address ma-status-interface-ip-addresses<0..*>;] [ip-address ma-status-interface-gateways<0..*>;] [ip-address ma-status-interface-dns-servers<0..*>;] } ma-status-interface-obj;
The ma-status-interface-obj provides Status Information about network interfaces and consists of the following elements:
ma状态接口obj提供有关网络接口的状态信息,由以下元素组成:
ma-status-interface-name: A name uniquely identifying a network interface.
ma状态接口名称:唯一标识网络接口的名称。
ma-status-interface-type: The type of the network interface.
ma状态接口类型:网络接口的类型。
ma-status-interface-speed: An optional indication of the speed of the interface (measured in bits per second).
ma状态接口速度:接口速度的可选指示(以位/秒为单位)。
ma-status-interface-link-layer-address: An optional link-layer address of the interface.
ma状态接口链路层地址:接口的可选链路层地址。
ma-status-interface-ip-addresses: An optional ordered list of IP addresses assigned to the interface.
ma状态接口ip地址:分配给接口的ip地址的可选有序列表。
ma-status-interface-gateways: An optional ordered list of gateways assigned to the interface.
ma状态接口网关:分配给接口的可选有序网关列表。
ma-status-interface-dns-servers: An optional ordered list of DNS servers assigned to the interface.
ma状态接口dns服务器:分配给接口的dns服务器的可选有序列表。
At a point in time specified by a Schedule, the MA will execute Tasks that communicate a set of measurement results to the Collector. These Reporting Tasks will be configured to transmit Task results over a specified Report Channel to a Collector.
在时间表指定的时间点,MA将执行将一组测量结果传送给收集器的任务。这些报告任务将配置为通过指定的报告通道将任务结果传输到收集器。
It should be noted that the output from Tasks does not need to be sent to communication Channels. It can alternatively, or additionally, be sent to other Tasks on the MA. This facilitates using a first Measurement Task to control the operation of a later Measurement Task (such as first probing available line speed and then adjusting the operation of a video testing measurement) and also to allow local processing of data to output alarms (e.g., when performance drops from earlier levels). Of course, subsequent Tasks also include Tasks that implement the Reporting Protocol(s) and transfer data to one or more Collectors.
应该注意的是,任务的输出不需要发送到通信通道。也可以将其发送到MA上的其他任务。这有助于使用第一个测量任务来控制后续测量任务的操作(例如,首先探测可用线路速度,然后调整视频测试测量的操作),并允许本地处理数据以输出警报(例如,当性能从早期水平下降时)。当然,后续任务还包括实现报告协议并将数据传输到一个或多个收集器的任务。
The Report generated by a Reporting Task is structured hierarchically to avoid repetition of report header and Measurement Task Configuration information. The report starts with the timestamp of the report generation on the MA and details about the MA including the optional Measurement Agent Identifier and Group-ID (controlled by the Configuration Information).
报告任务生成的报告采用分层结构,以避免重复报告标题和测量任务配置信息。报告以MA上报告生成的时间戳和MA的详细信息开始,包括可选的测量代理标识符和组ID(由配置信息控制)。
Much of the report information is optional and will depend on the implementation of the Reporting Task and any parameters defined in the Task Configuration for the Reporting Task. For example, some Reporting Tasks may choose not to include the Measurement Task Configuration or Action parameters, while others may do so dependent on the Controller setting a configurable parameter in the Task Configuration.
许多报告信息是可选的,取决于报告任务的实施情况以及报告任务的任务配置中定义的任何参数。例如,一些报告任务可能会选择不包括测量任务配置或动作参数,而其他任务可能会根据控制器在任务配置中设置的可配置参数来执行。
It is possible for a Reporting Task to send just the report header (datetime and optional Agent Identifier and/or Group-ID) if no measurement data is available. Whether to send such empty reports again is dependent on the implementation of the Reporting Task and potential Task Configuration parameter.
如果没有可用的度量数据,报告任务可以只发送报告头(datetime和可选的代理标识符和/或组ID)。是否再次发送此类空报告取决于报告任务和潜在任务配置参数的实现。
The handling of measurement data on the MA before generating a Report and transfer from the MA to the Collector is dependent on the implementation of the device, MA, and/or scheduled Tasks and not defined by the LMAP standards. Such decisions may include limits to the measurement data storage and what to do when such available storage becomes depleted. It is generally suggested that implementations running out of storage stop executing new Measurement Tasks and retain old measurement data.
在生成报告并从MA传输到收集器之前,MA上测量数据的处理取决于设备、MA和/或计划任务的实施,而不是LMAP标准的定义。此类决策可能包括对测量数据存储的限制,以及当此类可用存储耗尽时应采取的措施。通常认为,存储空间不足的实现会停止执行新的测量任务,并保留旧的测量数据。
No context information, such as line speed or broadband product are included within the report header information as this data is reported by individual Tasks at the time they execute. Either a Measurement Task can report contextual parameters that are relevant to that particular measurement or specific Tasks can be used to gather a set of contextual and environmental data at certain times independent of the Reporting Schedule.
报告头信息中不包含上下文信息,如线路速度或宽带产品,因为这些数据是由单个任务在执行时报告的。测量任务可以报告与特定测量相关的上下文参数,或者可以使用特定任务在特定时间收集上下文和环境数据集,而不依赖于报告时间表。
After the report header information, the results are reported grouped according to different Measurement Task Configurations. Each Task section optionally starts with replicating the Measurement Task Configuration information before the result headers (titles for data columns) and the result data rows. The Options reported are those used for the scheduled execution of the Measurement Task and therefore include the Options specified in the Task Configuration as well as additional Options specified in the Action. The Action Options are appended to the Task Configuration Options in exactly the same order as they were provided to the Task during execution.
在报告标题信息之后,根据不同的测量任务配置对结果进行分组报告。每个任务部分可选地从复制结果标题(数据列标题)和结果数据行之前的度量任务配置信息开始。报告的选项是用于计划执行测量任务的选项,因此包括任务配置中指定的选项以及操作中指定的其他选项。操作选项附加到任务配置选项的顺序与执行期间提供给任务的顺序完全相同。
The result row data includes a time for the start of the measurement and optionally an end time where the duration also needs to be considered in the data analysis.
结果行数据包括开始测量的时间和可选的结束时间,其中持续时间也需要在数据分析中考虑。
Some Measurement Tasks may optionally include an indication of the cross-traffic although the definition of cross-traffic is left up to each individual Measurement Task. Some Measurement Tasks may also output other environmental measures in addition to cross-traffic such as CPU utilization or interface speed.
一些测量任务可以选择性地包括交叉流量的指示,尽管交叉流量的定义留给每个单独的测量任务。除了交叉流量(如CPU利用率或接口速度)外,一些测量任务还可能输出其他环境测量。
Whereas the Configuration and Instruction Information represent information transmitted via the Control Protocol, the Report represents the information that is transmitted via the Report Protocol. It is constructed at the time of sending a report and represents the inherent structure of the information that is sent to the Collector.
配置和指令信息表示通过控制协议传输的信息,而报告表示通过报告协议传输的信息。它在发送报告时构造,表示发送给收集器的信息的固有结构。
object { datetime ma-report-date; [uuid ma-report-agent-id;] [string ma-report-group-id;] [string ma-report-measurement-point;] [ma-report-result-obj ma-report-results<0..*>;] } ma-report-obj;
object { datetime ma-report-date; [uuid ma-report-agent-id;] [string ma-report-group-id;] [string ma-report-measurement-point;] [ma-report-result-obj ma-report-results<0..*>;] } ma-report-obj;
The ma-report-obj provides the metadata of a single report and consists of the following elements:
ma报告obj提供单个报告的元数据,由以下元素组成:
ma-report-date: The date and time when the report was sent to a Collector.
ma报告日期:报告发送给催收员的日期和时间。
ma-report-agent-id: An optional uuid uniquely identifying the Measurement Agent.
ma报告代理id:唯一标识度量代理的可选uuid。
ma-report-group-id: An optional identifier of the group of Measurement Agents this Measurement Agent belongs to.
ma报告组id:此测量代理所属测量代理组的可选标识符。
ma-report-measurement-point: An optional identifier for the measurement point indicating where the Measurement Agent is located on a path (see [RFC7398] for further details).
ma报告测量点:测量点的可选标识符,指示测量代理在路径上的位置(有关更多详细信息,请参阅[RFC7398])。
ma-report-results: An optional and possibly empty unordered set of result objects.
ma报告结果:可选且可能为空的无序结果对象集。
object { string ma-report-result-schedule-name; string ma-report-result-action-name; string ma-report-result-task-name; [ma-option-obj ma-report-result-options<0..*>;] [string ma-report-result-tags<0..*>;] datetime ma-report-result-event-time; datetime ma-report-result-start-time; [datetime ma-report-result-end-time;] [string ma-report-result-cycle-number;] int ma-report-result-status; [ma-report-conflict-obj ma-report-result-conflicts<0..*>;] [ma-report-table-obj ma-report-result-tables<0..*>;] } ma-report-result-obj;
object { string ma-report-result-schedule-name; string ma-report-result-action-name; string ma-report-result-task-name; [ma-option-obj ma-report-result-options<0..*>;] [string ma-report-result-tags<0..*>;] datetime ma-report-result-event-time; datetime ma-report-result-start-time; [datetime ma-report-result-end-time;] [string ma-report-result-cycle-number;] int ma-report-result-status; [ma-report-conflict-obj ma-report-result-conflicts<0..*>;] [ma-report-table-obj ma-report-result-tables<0..*>;] } ma-report-result-obj;
The ma-report-result-obj provides the metadata of a result report of a single executed Action. It consists of the following elements:
ma报告结果obj提供单个已执行操作的结果报告的元数据。它由以下要素组成:
ma-report-result-schedule-name: The name of the Schedule that produced the result.
ma报告结果计划名称:生成结果的计划的名称。
ma-report-result-action-name: The name of the Action in the Schedule that produced the result.
ma报告结果操作名称:计划中生成结果的操作的名称。
ma-report-result-task-name: The name of the Task that produced the result.
ma报告结果任务名称:生成结果的任务的名称。
ma-report-result-options: An optional ordered joined list of options provided by the Task object and the Action object when the Action was started.
ma报告结果选项:启动操作时任务对象和操作对象提供的可选有序联接选项列表。
ma-report-result-tags: An optional unordered set of tags. This is the joined set of tags provided by the Task object, Action object, and Schedule object when the Action was started.
ma报告结果标记:可选的无序标记集。这是启动操作时任务对象、操作对象和计划对象提供的一组连接标记。
ma-report-result-event-time: The date and time of the Event that triggered the Schedule of the Action that produced the reported result values. The date and time does not include any added randomization.
ma报告结果事件时间:触发生成报告结果值的操作计划的事件的日期和时间。日期和时间不包括任何附加的随机化。
ma-report-result-start-time: The date and time of the start of the Action that produced the reported result values.
ma报告结果开始时间:生成报告结果值的操作开始的日期和时间。
ma-report-result-end-time: An optional date and time indicating when the Action finished.
ma报告结果结束时间:可选日期和时间,指示操作完成的时间。
ma-report-result-cycle-number: An optional cycle number derived from ma-report-result-event-time. It is the time closest to ma-report-result-event-time that is a multiple of the ma-event-cycle-interval of the Event that triggered the execution of the Schedule. The value is only present in an ma-report-result-obj if the Event that triggered the execution of the Schedule has a defined ma-event-cycle-interval. The cycle number is represented in the format YYYYMMDD.HHMMSS where YYYY represents the year, MM the month (1..12), DD the day of the months (01..31), HH the hour (00..23), MM the minute (00..59), and SS the second (00..59). The cycle number is using Coordinated Universal Time (UTC).
ma报告结果周期号:从ma报告结果事件时间派生的可选周期号。最接近ma报告结果事件时间的时间是触发计划执行的事件的ma事件周期间隔的倍数。如果触发计划执行的事件具有定义的ma事件周期间隔,则该值仅出现在ma报告结果obj中。周期编号以YYYYMMDD.HHMMSS格式表示,其中YYYY表示年份,MM表示月份(1..12),DD表示月份中的日期(01..31),HH表示小时(00..23),MM表示分钟(00..59),SS表示秒(00..59)。循环编号使用协调世界时(UTC)。
ma-report-result-status: The status code returned by the execution of the Action.
ma报告结果状态:执行操作返回的状态代码。
ma-report-result-conflicts: A possibly empty set of conflict Actions that might have impacted the measurement results being reported.
ma报告结果冲突:可能影响报告的度量结果的一组可能为空的冲突操作。
ma-report-result-tables: An optional and possibly empty unordered set of result tables.
ma报告结果表:可选且可能为空的无序结果表集。
object { string ma-report-conflict-schedule-name; string ma-report-conflict-action-name; string ma-report-conflict-task-name; } ma-report-conflict-obj;
object { string ma-report-conflict-schedule-name; string ma-report-conflict-action-name; string ma-report-conflict-task-name; } ma-report-conflict-obj;
The ma-report-conflict-obj provides the information about a conflicting Action that might have impacted the measurement results. It consists of the following elements:
ma报告冲突obj提供了有关可能影响测量结果的冲突操作的信息。它由以下要素组成:
ma-report-result-schedule-name: The name of the Schedule that may have impacted the result.
ma报告结果计划名称:可能影响结果的计划的名称。
ma-report-result-action-name: The name of the Action in the Schedule that may have impacted the result.
ma报告结果操作名称:计划中可能影响结果的操作的名称。
ma-report-result-task-name: The name of the Task that may have impacted the result.
ma报告结果任务名称:可能影响结果的任务的名称。
object { [ma-registry-obj ma-report-table-functions<0..*>;] [string] ma-report-table-column-labels<0..*>;] [ma-report-row-obj ma-report-table-rows<0..*>;] } ma-report-table-obj;
object { [ma-registry-obj ma-report-table-functions<0..*>;] [string] ma-report-table-column-labels<0..*>;] [ma-report-row-obj ma-report-table-rows<0..*>;] } ma-report-table-obj;
The ma-report-table-obj represents a result table and consists of the following elements:
ma报告表obj代表一个结果表,由以下元素组成:
ma-report-table-functions: An optional and possibly empty unordered set of registry entries identifying the functions for which results are reported.
ma报告表函数:一组可选且可能为空的无序注册表项,用于标识报告结果的函数。
ma-report-table-column-labels: An optional and possibly empty ordered list of column labels.
ma报告表列标签:列标签的可选且可能为空的有序列表。
ma-report-table-rows: A possibly empty ordered list of result rows.
ma报告表行:结果行的可能为空的有序列表。
object { data ma-report-row-values<0..*>; } ma-report-row-obj;
object { data ma-report-row-values<0..*>; } ma-report-row-obj;
The ma-report-row-obj represents a result row and consists of the following elements:
ma报告行obj表示结果行,由以下元素组成:
ma-report-row-values: A possibly empty ordered list of result values. When present, it contains an ordered list of values that align to the set of column labels for the report.
ma报告行值:结果值的可能为空的有序列表。如果存在,它将包含与报表的列标签集对齐的有序值列表。
A Schedule specifies the execution of a single or repeated series of Actions. An Action extends a configured Task with additional specific parameters. Each Schedule contains basically two elements: an ordered list of Actions to be executed and an Event object triggering the execution of the Schedule. The Schedule states what Actions to run (with what configuration) and when to run the Actions. A Schedule may optionally have an Event that stops the execution of the Schedule or a maximum duration after which a Schedule is stopped.
计划指定执行单个或重复的一系列操作。操作使用其他特定参数扩展已配置的任务。每个计划基本上包含两个元素:要执行的操作的有序列表和触发计划执行的事件对象。计划说明要运行哪些操作(使用什么配置)以及何时运行这些操作。计划可以选择具有停止计划执行的事件,或者具有停止计划的最长持续时间。
Multiple Actions contained as an ordered list of a single Measurement Schedule will be executed according to the execution mode of the Schedule. In sequential mode, Actions will be executed sequentially and in parallel mode, all Actions will be executed concurrently. In pipelined mode, data produced by one Action is passed to the subsequent Action. Actions contained in different Schedules execute in parallel with such conflicts being reported in the Reporting Information where necessary. If two or more Schedules have the same start time, then the two will execute in parallel. There is no mechanism to prioritize one Schedule over another or to mutex scheduled Tasks.
将根据计划的执行模式执行包含为单个测量计划的有序列表的多个操作。在顺序模式下,操作将按顺序执行;在并行模式下,所有操作将同时执行。在流水线模式下,一个操作产生的数据被传递给后续操作。不同计划中包含的操作与报告信息中报告的此类冲突并行执行(如有必要)。如果两个或多个计划具有相同的开始时间,则这两个计划将并行执行。没有一种机制可以将一个日程安排优先于另一个日程安排,或者将安排的任务互斥。
As well as specifying which Actions to execute, the Schedule also specifies how to link the data outputs from each Action to other Schedules. Specifying this within the Schedule allows the highest level of flexibility since it is even possible to send the output from different executions of the same Task Configuration to different
除了指定要执行的操作外,计划还指定如何将每个操作的数据输出链接到其他计划。在计划中指定此选项允许最高级别的灵活性,因为它甚至可以将同一任务配置的不同执行的输出发送到不同的服务器
destinations. A single Task producing multiple different outputs is expected to properly tag the different results. An Action receiving the output can then filter the results based on the tag if necessary. For example, a Measurement Task might report routine results to a data Reporting Task in a Schedule that communicates hourly via the broadband interface, but it also outputs emergency conditions via an alarm Reporting Task in a different Schedule communicating immediately over a General Packet Radio Service (GPRS) Channel. Note that Task-to-Task data transfer is always specified in association with the scheduled execution of the sending Task -- there is no need for a corresponding input specification for the receiving Task. While it is likely that an MA implementation will use a queue mechanism between the Schedules or Actions, this Information Model does not mandate or define a queue. The Information Model, however, reports the storage allocated to Schedules and Actions so that storage usage can be monitored. Furthermore, it is recommended that MA implementations by default retain old data and stop the execution of new Measurement Tasks if the MA runs out of storage capacity.
目的地。一个任务产生多个不同的输出,可以正确标记不同的结果。如果需要,接收输出的操作可以根据标记过滤结果。例如,测量任务可能会在通过宽带接口每小时通信的时间表中向数据报告任务报告常规结果,但它也会在通过通用分组无线业务(GPRS)信道立即通信的不同时间表中通过报警报告任务输出紧急情况。请注意,任务到任务的数据传输始终与发送任务的计划执行相关联——接收任务不需要相应的输入规范。虽然MA实现可能会在计划或操作之间使用队列机制,但此信息模型并不强制或定义队列。但是,信息模型会报告分配给计划和操作的存储,以便监视存储使用情况。此外,建议MA实现在默认情况下保留旧数据,并在MA耗尽存储容量时停止执行新的测量任务。
When specifying the Task to execute within the Schedule, i.e., creating an Action, it is possible to add to the Option parameters. This allows the Task Configuration to determine the common characteristics of a Task, while selected parameters (e.g., the test target URL) are defined within as Option parameters of the Action in the Schedule. A single Task's Configuration can even be used multiple times in the same Schedule with different additional parameters. This allows for efficiency in creating and transferring the Instruction. Note that the semantics of what happens if an Option is defined multiple times (in either the Task Configuration, the Action, or both) is not standardized and will depend upon the Task. For example, some Tasks may legitimately take multiple values for a single parameter.
当指定要在计划内执行的任务(即创建操作)时,可以添加到选项参数中。这允许任务配置确定任务的公共特征,而所选参数(例如,测试目标URL)在计划中定义为操作的选项参数。单个任务的配置甚至可以在具有不同附加参数的同一计划中多次使用。这样可以提高创建和传输指令的效率。请注意,如果一个选项被多次定义(在任务配置、操作或两者中),则所发生的事情的语义没有标准化,将取决于任务。例如,某些任务可以合法地为单个参数获取多个值。
Where Options are specified in both the Action and the Task Configuration, the Action Options are appended to those specified in the Task Configuration.
如果在操作和任务配置中都指定了选项,则操作选项将附加到任务配置中指定的选项之后。
Example: An Action of a Schedule references a single Measurement Task Configuration for measuring UDP latency. It specifies that results are to be sent to a Schedule with a Reporting Action. This Reporting Task of the Reporting Action is executed by a separate Schedule that specifies that it should run hourly at 5 minutes past the hour. When run, this Reporting Action takes the 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 the Collector over the Report Channel specified within its own Schedule.
示例:计划的操作引用单个测量任务配置来测量UDP延迟。它指定将结果发送到具有报告操作的计划。报告操作的此报告任务由单独的计划执行,该计划指定它应每小时在一小时后5分钟运行。运行时,此报告操作将获取UDP延迟测量任务生成的数据以及要包含在小时报告中的任何其他数据,并通过在其自己的计划中指定的报告通道将其传输到收集器。
Schedules and Actions may optionally also be given tags that are included in result reports sent to a Collector. In addition, Schedules can be given Suppression tags that may be used to select Schedules and Actions for Suppression.
还可以选择为计划和操作指定标记,这些标记包含在发送给收集器的结果报告中。此外,可以为明细表指定抑制标记,这些标记可用于选择要抑制的明细表和操作。
object { string ma-schedule-name; ma-event-obj ma-schedule-start; [ma-event-obj ma-schedule-end;] [int ma-schedule-duration;] ma-action-obj ma-schedule-actions<0..*>; string ma-schedule-execution-mode; [string ma-schedule-tags<0..*>;] [string ma-schedule-suppression-tags<0..*>;] } ma-schedule-obj;
object { string ma-schedule-name; ma-event-obj ma-schedule-start; [ma-event-obj ma-schedule-end;] [int ma-schedule-duration;] ma-action-obj ma-schedule-actions<0..*>; string ma-schedule-execution-mode; [string ma-schedule-tags<0..*>;] [string ma-schedule-suppression-tags<0..*>;] } ma-schedule-obj;
The ma-schedule-obj is the main scheduling object. It consists of the following elements:
ma调度obj是主要调度对象。它由以下要素组成:
ma-schedule-name: A name uniquely identifying a scheduling object.
ma计划名称:唯一标识计划对象的名称。
ma-schedule-start: An Event object indicating when the Schedule starts.
ma计划开始:指示计划开始时间的事件对象。
ma-schedule-end: An optional Event object controlling the forceful termination of scheduled Actions. When the Event occurs, all Actions of the Schedule will be forced to terminate gracefully.
ma schedule end:一个可选的事件对象,控制计划动作的强制终止。当事件发生时,计划的所有操作都将被迫优雅地终止。
ma-schedule-duration: An optional duration in seconds for the Schedule. All Actions of the Schedule will be forced to terminate gracefully after the duration number of seconds past the start of the Schedule.
ma计划持续时间:计划的可选持续时间(秒)。计划的所有操作将在超过计划开始的持续时间秒数后强制正常终止。
ma-schedule-actions: A possibly empty ordered list of Actions to invoke when the Schedule starts.
ma schedule actions:计划启动时要调用的操作的可能为空的有序列表。
ma-schedule-execution-mode: Indicates whether the Actions should be executed sequentially, in parallel, or in a pipelined mode (where data produced by one Action is passed to the subsequent Action). The default execution mode is pipelined.
ma schedule execution mode(ma计划执行模式):指示是按顺序、并行还是以流水线模式执行操作(其中一个操作生成的数据传递给后续操作)。默认的执行模式是管道化的。
ma-schedule-tags: An optional unordered set of tags that are reported together with the measurement results to a Collector.
ma计划标记:一组可选的无序标记,与测量结果一起报告给收集器。
ma-schedule-suppression-tags: An optional unordered set of Suppression tags that are used to select Schedules to be suppressed.
ma计划抑制标记:一组可选的无序抑制标记,用于选择要抑制的计划。
object { string ma-action-name; string ma-action-config-task-name; [ma-option-obj ma-action-task-options<0..*>;] [string ma-action-destinations<0..*>;] [string ma-action-tags<0..*>;] [string ma-action-suppression-tags<0..*>;] } ma-action-obj;
object { string ma-action-name; string ma-action-config-task-name; [ma-option-obj ma-action-task-options<0..*>;] [string ma-action-destinations<0..*>;] [string ma-action-tags<0..*>;] [string ma-action-suppression-tags<0..*>;] } ma-action-obj;
The ma-action-obj models a Task together with its Schedule-specific Task Options and Destination Schedules. It consists of the following elements:
ma action obj对任务及其特定于计划的任务选项和目标计划进行建模。它由以下要素组成:
ma-action-name: A name uniquely identifying an Action of a scheduling object.
ma操作名称:唯一标识调度对象操作的名称。
ma-action-config-task-name: A name identifying the configured Task to be invoked by the Action.
ma action config task name:标识要由操作调用的已配置任务的名称。
ma-action-task-options: An optional and possibly empty ordered list of options (name-value pairs) that are passed to the Task by appending them to the options configured for the Task object.
ma action task options(动作任务选项):通过将选项(名称-值对)附加到为任务对象配置的选项,传递给任务的选项(名称-值对)的可选且可能为空的有序列表。
ma-action-destinations: An optional and possibly empty unordered set of names of Destination Schedules that consume output produced by this Action.
ma action destinations:使用此操作生成的输出的目标计划的可选且可能为空的无序名称集。
ma-action-tags: An optional unordered set of tags that are reported together with the measurement results to a Collector.
ma动作标签:一组可选的无序标签,与测量结果一起报告给收集器。
ma-action-suppression-tags: An optional unordered set of Suppression tags that are used to select Actions to be suppressed.
ma动作抑制标记:一组可选的无序抑制标记,用于选择要抑制的动作。
A Channel defines a bidirectional communication mechanism between the MA and a Controller or Collector. Multiple Channels can be defined to enable results to be split or duplicated across different Collectors.
信道定义了MA和控制器或采集器之间的双向通信机制。可以定义多个通道,以便在不同的收集器之间分割或复制结果。
Each Channel contains the details of the remote endpoint (including location and security credential information such as a certificate). The timing of when to communicate over a Channel is specified by the Schedule, which executes the corresponding Control or Reporting Task. The certificate can be the digital certificate associated to the Fully Qualified Domain Name (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 Transport Layer Security (TLS)). In order to establish a secure Channel, the MA will use its own security credentials (in the Configuration Information) and the given credentials for the individual Channel endpoint.
每个通道都包含远程端点的详细信息(包括位置和安全凭据信息,如证书)。通过通道进行通信的时间由时间表指定,时间表执行相应的控制或报告任务。证书可以是与URL中的完全限定域名(FQDN)关联的数字证书,也可以是用于为目标URL的FQDN颁发证书的证书颁发机构的证书(稍后将使用传输层安全性(TLS)等通信协议检索该证书)。为了建立安全通道,MA将使用其自身的安全凭据(在配置信息中)和单个通道端点的给定凭据。
As with the Task Configurations, each Channel is also given a text name by which it can be referenced as a Task Option.
和任务配置一样,每个通道也有一个文本名称,通过该名称可以将其作为任务选项引用。
Although the same in terms of information, Channels used for communication with the Controller are referred to as Control Channels whereas Channels to Collectors are referred to as Report Channels. Hence, Control Channels will be referenced from Control Tasks executed by a Control Schedule, whereas Report Channels will be referenced from within Reporting Tasks executed by an Instruction Schedule.
尽管在信息方面相同,但用于与控制器通信的信道称为控制信道,而到收集器的信道称为报告信道。因此,控制通道将从控制计划执行的控制任务中引用,而报告通道将从指令计划执行的报告任务中引用。
Multiple interfaces are also supported. For example, the Reporting Task could be configured to send some results over GPRS. This is especially useful when such results indicate the loss of connectivity on a different network interface.
还支持多个接口。例如,报告任务可以配置为通过GPRS发送一些结果。当这些结果表明不同网络接口上的连接丢失时,这尤其有用。
Example: A Channel used for reporting results may specify that results are to be sent to the URL (https://collector.example.org/ report/), using the appropriate digital certificate to establish a secure Channel.
示例:用于报告结果的通道可以指定将结果发送到URL(https://collector.example.org/ 报告/),使用适当的数字证书建立安全通道。
object { string ma-channel-name; url ma-channel-target; credentials ma-channel-credentials; [string ma-channel-interface-name;] } ma-channel-obj;
object { string ma-channel-name; url ma-channel-target; credentials ma-channel-credentials; [string ma-channel-interface-name;] } ma-channel-obj;
The ma-channel-obj consists of the following elements:
ma信道obj由以下元件组成:
ma-channel-name: A unique name identifying the Channel object.
ma通道名称:标识通道对象的唯一名称。
ma-channel-target: A URL identifying the target Channel endpoint.
ma通道目标:标识目标通道端点的URL。
ma-channel-credentials: The security credentials needed to establish a secure Channel.
ma通道凭据:建立安全通道所需的安全凭据。
ma-channel-interface-name: An optional name of the network interface to be used. If not present, the IP protocol stack will select a suitable interface.
ma通道接口名称:要使用的网络接口的可选名称。如果不存在,IP协议栈将选择合适的接口。
Conceptually, each Task Configuration defines the parameters of a Task that the MA may perform at some point in time. It does not by itself actually instruct the MA to perform them at any particular time (this is done by a Schedule). Tasks can be Measurement Tasks (i.e., those Tasks actually performing some type of passive or active measurement) or any other scheduled activity performed by the MA such as transferring information to or from the Controller and Collectors. Other examples of Tasks may include data manipulation or processing Tasks conducted on the MA.
从概念上讲,每个任务配置定义了MA在某个时间点可能执行的任务的参数。它本身并不实际指示MA在任何特定时间执行这些操作(这是通过时间表完成的)。任务可以是测量任务(即,那些实际执行某种类型的被动或主动测量的任务)或由MA执行的任何其他预定活动,例如向控制器和采集器传输信息或从控制器和采集器传输信息。任务的其他示例可包括在MA上执行的数据操作或处理任务。
A Measurement Task Configuration is the same in information terms to any other Task Configuration. Both Measurement and non-Measurement Tasks may have registry entries to enable the MA to uniquely identify the Task it should execute and retrieve the schema for any parameters that may be passed to the Task. Registry entries are specified as a URI and can therefore be used to identify the Task within a namespace or point to a web or local file location for the Task information. As mentioned previously, these URIs may be used to identify the Measurement Task in a public namespace such as the to-be-created IPPM registry described in [IPPM-REG].
测量任务配置在信息方面与任何其他任务配置相同。测量任务和非测量任务都可能具有注册表项,以使MA能够唯一地标识其应执行的任务,并检索可能传递给任务的任何参数的模式。注册表项被指定为URI,因此可用于标识命名空间中的任务,或指向任务信息的web或本地文件位置。如前所述,这些URI可用于在公共名称空间(如[IPPM-REG]中描述的待创建IPPM注册表)中标识度量任务。
Example: A Measurement Task Configuration may configure a single Measurement Task for measuring UDP latency. The Measurement Task Configuration could define the destination port and address for the measurement as well as the duration, internal packet timing strategy, and other parameters (for example, a stream for one hour and sending one packet every 500 ms). It may also define the output type and possible parameters (for example, the output type can be the 95th percentile mean) where the Measurement Task accepts such parameters. It does not define when the Task starts (this is defined by the Schedule element), so it does not by itself instruct the MA to actually perform this Measurement Task.
示例:测量任务配置可以配置单个测量任务来测量UDP延迟。测量任务配置可以定义测量的目的地端口和地址以及持续时间、内部分组定时策略和其他参数(例如,一个小时的流和每500ms发送一个分组)。它还可以定义输出类型和可能的参数(例如,输出类型可以是95%的平均值),其中测量任务接受此类参数。它没有定义任务开始的时间(这是由Schedule元素定义的),因此它本身没有指示MA实际执行此度量任务。
The Task Configuration will include a local short name for reference by a Schedule. Task Configurations may also refer to registry entries as described above. In addition, the Task can be configured through a set of configuration Options. The nature and number of these Options will depend upon the Task. These Options are expressed as name-value pairs, although the 'value' may be a structured object instead of a simple string or numeric value. The implementation of these name-value pairs will vary between data models.
任务配置将包括本地短名称,以供计划参考。任务配置也可以引用如上所述的注册表项。此外,可以通过一组配置选项配置任务。这些选项的性质和数量将取决于任务。这些选项表示为名称-值对,尽管“值”可能是结构化对象,而不是简单的字符串或数值。这些名称-值对的实现因数据模型而异。
An Option that must be present for Reporting Tasks is the Channel reference specifying how to communicate with a Collector. This is included in the Task Options and will have a value that matches a Channel name that has been defined in the Instruction. Similarly, Control Tasks will have a similar Option with the value set to a specified Control Channel.
报告任务必须提供的一个选项是指定如何与收集器通信的通道引用。这包含在任务选项中,其值将与指令中定义的通道名称相匹配。类似地,控制任务将有一个类似的选项,其值设置为指定的控制通道。
A Reporting Task might also have a flag parameter, defined as an Option, to indicate whether to send a report without measurement results if there is no measurement result data pending to be transferred to the Collector. In addition, many Tasks will receive (as a parameter) information about which interface to use.
报告任务还可能有一个标志参数(定义为选项),用于指示如果没有待传输到收集器的测量结果数据,是否发送没有测量结果的报告。此外,许多任务将接收(作为参数)有关要使用哪个接口的信息。
In addition, the Task Configuration may optionally also be given tags that can carry a Measurement Cycle ID. The purpose of this ID is to easily identify a set of measurement results that have been produced by Measurement Tasks with comparable Options. This ID could be manually incremented or otherwise changed when an Option change is implemented, which could mean that two sets of results should not be directly compared.
此外,任务配置还可以可选地提供带有测量周期ID的标签。该ID的目的是方便地识别具有可比选项的测量任务产生的一组测量结果。当实施选项更改时,可以手动增加或以其他方式更改此ID,这可能意味着不应直接比较两组结果。
object { string ma-task-name; ma-registry-obj ma-task-functions<0..*>; [ma-option-obj ma-task-options<0..*>;] [string ma-task-tags<0..*>;] } ma-task-obj;
object { string ma-task-name; ma-registry-obj ma-task-functions<0..*>; [ma-option-obj ma-task-options<0..*>;] [string ma-task-tags<0..*>;] } ma-task-obj;
The ma-task-obj defines a configured Task that can be invoked as part of an Action. A configured Task can be referenced by its name, and it contains a possibly empty set of URIs to link to registry entries. Options allow the configuration of Task parameters (in the form of name-value pairs). The ma-task-obj consists of the following elements:
ma任务obj定义了可作为操作的一部分调用的已配置任务。配置的任务可以通过其名称引用,并且它包含一组可能为空的URI以链接到注册表项。选项允许配置任务参数(以名称-值对的形式)。ma任务obj由以下要素组成:
ma-task-name: A name uniquely identifying a configured Task object.
ma任务名称:唯一标识已配置任务对象的名称。
ma-task-functions: A possibly empty unordered set of registry entries identifying the functions of the configured Task.
ma任务函数:一组可能为空的无序注册表项,用于标识已配置任务的函数。
ma-task-options: An optional and possibly empty ordered list of options (name-value pairs) that are passed to the configured Task.
ma任务选项:传递给已配置任务的选项(名称-值对)的可选且可能为空的有序列表。
ma-task-tags: An optional unordered set of tags that are reported together with the measurement results to a Collector.
ma任务标记:一组可选的无序标记,与测量结果一起报告给收集器。
object { string ma-option-name; [object ma-option-value;] } ma-option-obj;
object { string ma-option-name; [object ma-option-value;] } ma-option-obj;
The ma-option-obj models a name-value pair and consists of the following elements:
ma选项obj为名称-值对建模,由以下元素组成:
ma-option-name: The name of the option.
ma选项名称:选项的名称。
ma-option-value: The optional value of the option.
ma选项值:选项的可选值。
The ma-option-obj is used to define Task Configuration Options. Task Configuration Options are generally Task specific. For Tasks associated with an entry in a registry, the registry may define well-
ma选项obj用于定义任务配置选项。任务配置选项通常是特定于任务的。对于与注册表项关联的任务,注册表可以定义-
known option names (e.g., the so-called parameters in the to-be-created IPPM metric registry described in [IPPM-REG]). Control and Reporting Tasks need to know the Channel they are going to use. The common option name for specifying the Channel is "channel" where the option's value refers to the name of an ma-channel-obj.
已知选项名称(例如,[IPPM-REG]中描述的待创建IPPM度量注册表中的所谓参数)。控制和报告任务需要知道他们将要使用的通道。用于指定通道的常用选项名称为“通道”,其中选项的值指的是ma通道obj的名称。
Tasks and Actions can be associated with entries in a registry. A registry object refers to an entry in a registry (identified by a URI), and it may define a set of roles.
任务和操作可以与注册表中的条目相关联。注册表对象引用注册表中的一个条目(由URI标识),它可以定义一组角色。
object { uri ma-registry-uri; [string ma-registry-role<0..*>;] } ma-registry-obj;
object { uri ma-registry-uri; [string ma-registry-role<0..*>;] } ma-registry-obj;
The ma-registry-obj refers to an entry of a registry, and it defines the associated role(s). The ma-registry-obj consists of the following elements:
ma注册表obj是指注册表的一个条目,它定义了相关的角色。ma注册表obj由以下元素组成:
ma-registry-uri: A URI identifying an entry in a registry.
ma注册表uri:标识注册表项的uri。
ma-registry-role: An optional and possibly empty unordered set of roles for the identified registry entry.
ma注册表角色:已标识注册表项的可选且可能为空的无序角色集。
The Event information object used throughout the Information Models can initially take one of several different forms. Additional forms may be defined later in order to bind the execution of Schedules to additional Events. The initially defined Event forms are:
在整个信息模型中使用的事件信息对象最初可以采用几种不同的形式之一。以后可能会定义其他表单,以便将计划的执行绑定到其他事件。最初定义的事件形式包括:
1. Periodic Timing: Emits multiple Events periodically according to an interval time defined in seconds
1. 周期计时:根据以秒为单位定义的间隔时间周期性地发出多个事件
2. Calendar Timing: Emits multiple Events according to a calendar-based pattern, e.g., 22 minutes past each hour of the day on weekdays
2. 日历计时:根据基于日历的模式发出多个事件,例如,工作日一天中每小时过去22分钟
3. One-Off Timing: Emits one Event at a specific date and time
3. 一次性计时:在特定日期和时间发出一个事件
4. Immediate: Emits one Event as soon as possible
4. 立即:尽快发出一个事件
5. Startup: Emits an Event whenever the MA is started (e.g., at device startup)
5. 启动:每当MA启动时(例如,在设备启动时)发出事件
6. Controller Lost: Emits an Event when connectivity to the Controller has been lost
6. 控制器丢失:当与控制器的连接丢失时发出事件
7. Controller Connected: Emits an Event when connectivity to the Controller has been established or re-established
7. 控制器已连接:当与控制器的连接已建立或重新建立时发出事件
Optionally, each of the Event options may also specify a randomness that should be evaluated and applied separately to each indicated Event. This randomness parameter defines a uniform interval in seconds over which the start of the Task is delayed from the starting times specified by the Event object.
可选地,每个事件选项还可以指定应单独评估并应用于每个指示事件的随机性。此随机性参数定义了一个统一的时间间隔(以秒为单位),在此时间间隔内,任务的开始从事件对象指定的开始时间延迟。
Both the periodic and calendar timing objects allow for a series of Actions to be executed. While both have an optional end time, it is best practice to always configure an end time and refresh the information periodically to ensure that lost MAs do not continue their Tasks forever.
周期和日历计时对象都允许执行一系列操作。虽然两者都有可选的结束时间,但最佳做法是始终配置结束时间并定期刷新信息,以确保丢失的MAs不会永远继续其任务。
Startup Events are only created on device startup, not when a new Instruction is transferred to the MA. If scheduled Task execution is desired both on the transfer of the Instruction and on device restart, then both the Immediate and Startup timing needs to be used in conjunction.
启动事件仅在设备启动时创建,而不是在新指令传输到MA时创建。如果在指令传输和设备重启时都需要执行计划任务,则需要同时使用即时和启动计时。
The datetime format used for all elements in the Information Model MUST conform to RFC 3339 [RFC3339].
用于信息模型中所有元素的日期时间格式必须符合RFC 3339[RFC3339]。
object { string ma-event-name; union { ma-periodic-obj ma-event-periodic; ma-calendar-obj ma-event-calendar; ma-one-off-obj ma-event-one-off; ma-immediate-obj ma-event-immediate; ma-startup-obj ma-event-startup; ma-controller-lost-obj ma-event-controller-lost; ma-controller-connected-obj ma-event-controller-connected; } [int ma-event-random-spread;] [int ma-event-cycle-interval;] } ma-event-obj;
object { string ma-event-name; union { ma-periodic-obj ma-event-periodic; ma-calendar-obj ma-event-calendar; ma-one-off-obj ma-event-one-off; ma-immediate-obj ma-event-immediate; ma-startup-obj ma-event-startup; ma-controller-lost-obj ma-event-controller-lost; ma-controller-connected-obj ma-event-controller-connected; } [int ma-event-random-spread;] [int ma-event-cycle-interval;] } ma-event-obj;
The ma-event-obj is the main Event object. Event objects are identified by a name. A generic Event object itself contains a more specific Event object. The set of specific Event objects should be extensible. The initial set of specific Event objects is further described below. The ma-event-obj also includes an optional uniform random spread that can be used to randomize the start times of Schedules triggered by an Event. The ma-event-obj consists of the following elements:
ma事件obj是主要事件对象。事件对象由名称标识。一般事件对象本身包含一个更具体的事件对象。特定事件对象集应该是可扩展的。下面将进一步描述特定事件对象的初始集合。ma事件obj还包括可选的均匀随机排列,可用于随机化事件触发的计划的开始时间。ma事件obj由以下元素组成:
ma-event-name: The name uniquely identifies an Event object. Schedules refer to Event objects by this name.
ma事件名称:唯一标识事件对象的名称。计划使用此名称引用事件对象。
ma-event-periodic: The ma-event-periodic is present for periodic timing objects.
ma事件周期性:周期性定时对象存在ma事件周期性。
ma-event-calendar: The ma-event-calendar is present for calendar timing objects.
ma事件日历:为日历计时对象提供ma事件日历。
ma-event-one-off: The ma-event-one-off is present for one-off timing objects.
ma事件一次关闭:ma事件一次关闭适用于一次性计时对象。
ma-event-immediate: The ma-event-immediate is present for immediate Event objects.
ma事件立即事件:立即事件对象存在ma事件立即事件。
ma-event-startup: The ma-event-startup is present for startup Event objects.
ma事件启动:启动事件对象存在ma事件启动。
ma-event-controller-lost: The ma-event-controller-lost is present for connectivity to Controller lost Event objects.
ma事件控制器丢失:ma事件控制器丢失用于与控制器丢失事件对象的连接。
ma-event-controller-connected: The ma-event-controller-connected is present for connectivity to Controller established Event objects.
已连接ma事件控制器:已连接的ma事件控制器用于连接控制器建立的事件对象。
ma-event-random-spread: The optional ma-event-random-spread adds a random delay defined in seconds to the Event object. No random delay is added if ma-event-random-spread does not exist.
ma事件随机扩展:可选的ma事件随机扩展将以秒为单位定义的随机延迟添加到事件对象。如果ma事件随机传播不存在,则不添加随机延迟。
ma-event-cycle-interval: The optional ma-event-cycle-interval defines the duration of the time interval in seconds that is used to calculate cycle numbers. No cycle number is calculated if ma-event-cycle-interval does not exist.
ma事件周期间隔:可选的ma事件周期间隔定义用于计算周期数的时间间隔的持续时间(以秒为单位)。如果不存在ma事件周期间隔,则不计算周期数。
object { [datetime ma-periodic-start;] [datetime ma-periodic-end;] int ma-periodic-interval; } ma-periodic-obj;
object { [datetime ma-periodic-start;] [datetime ma-periodic-end;] int ma-periodic-interval; } ma-periodic-obj;
The ma-periodic-obj timing object has an optional start and an optional end time plus a periodic interval. Schedules using an ma-periodic-obj are started periodically between the start and end time. The ma-periodic-obj consists of the following elements:
ma周期obj定时对象具有可选的开始和结束时间加上周期间隔。使用ma定期obj的计划在开始和结束时间之间定期启动。ma周期obj由以下元素组成:
ma-periodic-start: The optional date and time at which Schedules using this object are first started. If not present, it defaults to immediate.
ma定期启动:使用此对象的计划首次启动的可选日期和时间。如果不存在,则默认为立即。
ma-periodic-end: The optional date and time at which Schedules using this object are last started. If not present, it defaults to indefinite.
ma周期结束:上次启动使用此对象的计划的可选日期和时间。如果不存在,则默认为不确定。
ma-periodic-interval: The interval defines the time in seconds between two consecutive starts of Tasks.
ma周期间隔:该间隔定义了两次连续开始任务之间的时间(以秒为单位)。
Calendar timing supports the routine execution of Schedules at specific times and/or on specific dates. It can support more flexible timing than periodic timing since the execution of Schedules does not have to be uniformly spaced. For example, a calendar timing could support the execution of a Measurement Task every hour between 6 pm and midnight on weekdays only.
日历计时支持在特定时间和/或特定日期执行计划。它可以支持比周期性计时更灵活的计时,因为时间表的执行不必均匀间隔。例如,日历计时仅支持在工作日下午6点到午夜之间每小时执行一次测量任务。
Calendar timing is also required to perform measurements at meaningful times in relation to network usage (e.g., at peak times). If the optional time zone offset is not supplied, then local system time is assumed. This is essential in some use cases to ensure consistent peak-time measurements as well as supporting MA devices
在与网络使用相关的有意义的时间(例如高峰时间)执行测量时,还需要日历计时。如果未提供可选时区偏移,则假定为本地系统时间。在某些用例中,这对于确保一致的峰值时间测量以及支持MA设备至关重要
that may be in an unknown time zone or to roam between different time zones (but know their own time zone information such as through the mobile network).
可能位于未知时区或在不同时区之间漫游(但知道自己的时区信息,如通过移动网络)。
The calendar elements within the calendar timing do not have defaults in order to avoid accidental high-frequency execution of Tasks. If all possible values for an element are desired, then the wildcard * is used.
日历计时中的日历元素没有默认值,以避免意外频繁执行任务。如果需要元素的所有可能值,则使用通配符*。
object { [datetime ma-calendar-start;] [datetime ma-calendar-end;] [string ma-calendar-months<0..*>;] [string ma-calendar-days-of-week<0..*>;] [string ma-calendar-days-of-month<0..*>;] [string ma-calendar-hours<0..*>;] [string ma-calendar-minutes<0..*>;] [string ma-calendar-seconds<0..*>;] [int ma-calendar-timezone-offset;] } ma-calendar-obj;
object { [datetime ma-calendar-start;] [datetime ma-calendar-end;] [string ma-calendar-months<0..*>;] [string ma-calendar-days-of-week<0..*>;] [string ma-calendar-days-of-month<0..*>;] [string ma-calendar-hours<0..*>;] [string ma-calendar-minutes<0..*>;] [string ma-calendar-seconds<0..*>;] [int ma-calendar-timezone-offset;] } ma-calendar-obj;
ma-calendar-start: The optional date and time at which Schedules using this object are first started. If not present, it defaults to immediate.
ma calendar start:首次启动使用此对象的计划的可选日期和时间。如果不存在,则默认为立即。
ma-calendar-end: The optional date and time at which Schedules using this object are last started. If not present, it defaults to indefinite.
ma calendar end:上次启动使用此对象的计划的可选日期和时间。如果不存在,则默认为不确定。
ma-calendar-months: The optional set of months (1-12) on which Tasks scheduled using this object are started. The wildcard * means all months. If not present, it defaults to no months.
ma日历月:启动使用此对象计划的任务的可选月集(1-12)。通配符*表示所有月份。如果不存在,则默认为无月份。
ma-calendar-days-of-week: The optional set of days of a week ("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") on which Tasks scheduled using this object are started. The wildcard * means all days of the week. If not present, it defaults to no days.
ma日历周天数:一周中的可选天数集(“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”),使用此对象计划的任务将在这些天数上启动。通配符*表示一周中的所有日子。如果不存在,则默认为无天。
ma-calendar-days-of-month: The optional set of days of a month (1-31) on which Tasks scheduled using this object are started. The wildcard * means all days of a month. If not present, it defaults to no days.
ma日历月天数:一个月(1-31)中的可选天数集,使用此对象计划的任务将在其上启动。通配符*表示一个月的所有天数。如果不存在,则默认为无天。
ma-calendar-hours: The optional set of hours (0-23) on which Tasks scheduled using this object are started. The wildcard * means all hours of a day. If not present, it defaults to no hours.
ma日历小时数:启动使用此对象计划的任务的可选小时数集(0-23)。通配符*表示一天中的所有时间。如果不存在,则默认为无小时。
ma-calendar-minutes: The optional set of minutes (0-59) on which Tasks scheduled using this object are started. The wildcard * means all minutes of an hour. If not present, it defaults to no minutes.
ma日历分钟数:启动使用此对象计划的任务的可选分钟数集(0-59)。通配符*表示一小时内的所有分钟。如果不存在,则默认为无分钟。
ma-calendar-seconds: The optional set of seconds (0-59) on which Tasks scheduled using this object are started. The wildcard * means all seconds of an hour. If not present, it defaults to no seconds.
ma日历秒数:启动使用此对象计划的任务的可选秒数集(0-59)。通配符*表示一小时内的所有秒数。如果不存在,则默认为无秒。
ma-calendar-timezone-offset: The optional time zone offset in minutes. If not present, it defaults to the system's local time zone.
ma日历时区偏移:以分钟为单位的可选时区偏移。如果不存在,则默认为系统的本地时区。
If a day of the month is specified that does not exist in the month (e.g., the 29th of February), then those values are ignored.
如果指定了一个月中不存在的日期(例如,2月29日),则忽略这些值。
object { datetime ma-one-off-time; } ma-one-off-obj;
object { datetime ma-one-off-time; } ma-one-off-obj;
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 date and time. The ma-one-off-obj consists of the following elements:
ma一次性obj定时对象指定固定时间点。使用ma一次性obj的计划在指定日期和时间启动一次。ma一次性obj由以下元件组成:
ma-one-off-time: The date and time at which Schedules using this object are started.
ma一次性时间:开始使用此对象的计划的日期和时间。
object { // empty } ma-immediate-obj;
object { // empty } ma-immediate-obj;
The ma-immediate-obj Event object has no further information elements. Schedules using an ma-immediate-obj are started as soon as possible.
ma立即obj事件对象没有进一步的信息元素。尽快启动使用ma立即obj的计划。
object { // empty } ma-startup-obj;
object { // empty } ma-startup-obj;
The ma-startup-obj Event object has no further information elements. Schedules or Suppressions using an ma-startup-obj are started at MA initialization time.
ma startup obj事件对象没有其他信息元素。使用ma启动obj的计划或抑制在ma初始化时启动。
object { // empty } 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), a ma-controller-lost-obj Event is generated. This Event may be used to start a Suppression.
ma控制器丢失obj事件对象没有进一步的信息元素。ma控制器丢失obj表示与控制器的连接已丢失。这是由每次成功接触控制器后启动的计时器确定的。当计时器达到控制器超时(以秒为单位)时,将生成ma控制器丢失obj事件。此事件可用于启动抑制。
object { // empty } ma-controller-connected-obj;
object { // empty } ma-controller-connected-obj;
The ma-controller-connected-obj Event object has no further information elements. The ma-controller-connected-obj indicates that connectivity to the Controller has been established again after it was lost. This Event may be used to end a Suppression.
ma控制器连接的obj事件对象没有其他信息元素。ma控制器连接obj表示在控制器丢失后已再次建立与控制器的连接。此事件可用于结束抑制。
The example execution has two Event sources, E1 and E2, and three Schedules, S1, S2, and S3. The Schedule S3 is started by Events of Event source E2 while the Schedules S1 and S2 are both started by Events of the Event source E1. The Schedules S1 and S2 have two Actions each, and Schedule S3 has a single Action. The Event source E2 has no randomization while the Event source E1 has the randomization r.
示例执行有两个事件源E1和E2,以及三个计划S1、S2和S3。调度S3由事件源E2的事件启动,而调度S1和S2均由事件源E1的事件启动。计划S1和S2各有两个动作,计划S3有一个动作。事件源E2没有随机化,而事件源E1具有随机化r。
Figure 2 shows a possible timeline of an execution. The time T is progressing downwards. The dotted vertical line indicates progress of time while a dotted horizontal line indicates which Schedules are triggered by an Event. Lines of tildes indicate data flowing from an Action to another Schedule. Actions within a Schedule are named A1, A2, etc.
图2显示了一个可能的执行时间表。时间T是向下的。垂直虚线表示时间进度,水平虚线表示由事件触发的计划。波浪线表示从一个动作到另一个日程表的数据流。明细表中的动作被命名为A1、A2等。
E2 E1 T S1 S2 S3 sequential parallel pipelined : e0 + : : e0+r + .......... + .......... ++ : | A1 A1 || A2 : + |+ ~~~~~~~> : | A2 | : | + ~~~~~~~~> : + ~~~~~~~~~~~~~~~~~~~~~> : : e1 + : e1+r + .......... + .......... ++ : | A1 A1 || : | +|~~~~~~~> : | | A2 : + +~~~~~~~> : | A2 : + ~~~~~~~~~~~~~~~~~~~~> e0 + ................................... + : | A1 e3 + | e3+r + .......... + .......... ++ | : | A1 A1 || A2 | : + ++ ~~~~~~> | : | A2 + : + ~~~~~~~~~~~~~~~~~~~~> V
E2 E1 T S1 S2 S3 sequential parallel pipelined : e0 + : : e0+r + .......... + .......... ++ : | A1 A1 || A2 : + |+ ~~~~~~~> : | A2 | : | + ~~~~~~~~> : + ~~~~~~~~~~~~~~~~~~~~~> : : e1 + : e1+r + .......... + .......... ++ : | A1 A1 || : | +|~~~~~~~> : | | A2 : + +~~~~~~~> : | A2 : + ~~~~~~~~~~~~~~~~~~~~> e0 + ................................... + : | A1 e3 + | e3+r + .......... + .......... ++ | : | A1 A1 || A2 | : + ++ ~~~~~~> | : | A2 + : + ~~~~~~~~~~~~~~~~~~~~> V
Figure 2: Example Execution
图2:示例执行
Note that implementations must handle possible concurrency issues. In the example execution, Action A1 of Schedule S3 is consuming the data that has been forwarded to Schedule S3 while additional data is arriving from Action A2 of Schedule S2.
注意,实现必须处理可能的并发问题。在示例执行中,调度S3的动作A1正在使用已转发到调度S3的数据,同时来自调度S2的动作A2的附加数据正在到达。
This document does not require any IANA actions.
本文件不要求IANA采取任何行动。
This Information Model deals with information about the control and reporting of the Measurement Agent. There are broadly two security considerations for such an Information Model. Firstly, the Information Model has to be sufficient to establish secure communication Channels to the Controller and Collector such that other information can be sent and received securely. Additionally, any mechanisms that the Network Operator or other device administrator employs to preconfigure the MA must also be secure to protect unauthorized parties from modifying Preconfiguration Information. These mechanisms are important to ensure that the MA cannot be hijacked, for example, to participate in a distributed denial-of-service attack.
此信息模型处理有关度量代理的控制和报告的信息。对于这样一个信息模型,大致有两个安全注意事项。首先,信息模型必须足以建立到控制器和收集器的安全通信通道,以便安全地发送和接收其他信息。此外,网络运营商或其他设备管理员用于预配置MA的任何机制也必须是安全的,以保护未经授权方不修改预配置信息。这些机制对于确保MA不会被劫持(例如,参与分布式拒绝服务攻击)非常重要。
The second consideration is that no mandated information items should pose a risk to confidentiality or privacy given such secure communication Channels. For this latter reason, items such as the MA context and MA-ID are left optional and can be excluded from some deployments. This may, for example, allow the MA to remain anonymous and for information about location or other context that might be used to identify or track the MA to be omitted or blurred. Implementations and deployments should also be careful about exposing device-ids when this is not strictly needed.
第二个考虑因素是,鉴于此类安全通信渠道,任何强制性信息项目都不应对保密性或隐私构成风险。出于后一个原因,MA上下文和MA-ID等项是可选的,可以从某些部署中排除。例如,这可以允许MA保持匿名,并且允许省略或模糊关于可能用于识别或跟踪MA的位置或其他上下文的信息。实现和部署还应注意在不严格需要时公开设备ID。
An implementation of this Information Model should support all the security and privacy requirements associated with the LMAP Framework [RFC7594]. In addition, users of this Information Model are advised to choose identifiers for Group-IDs, tags, or names of Information Model objects (e.g., configured Tasks, Schedules, or Actions) that do not reveal any sensitive information to people authorized to process measurement results but who are not authorized to know details about the Measurement Agents that were used to perform the measurement.
此信息模型的实现应支持与LMAP框架相关的所有安全和隐私要求[RFC7594]。此外,建议此信息模型的用户为组ID、标记或信息模型对象的名称(例如,配置的任务、计划或操作)选择标识符不向有权处理测量结果但无权了解用于执行测量的测量代理详细信息的人员透露任何敏感信息。
[ISO.10646] International Organization for Standardization, "Information Technology - Universal Coded Character Set (UCS)", ISO Standard 10646:2014, September 2014.
[ISO.10646]国际标准化组织,“信息技术-通用编码字符集(UCS)”,ISO标准10646:2014,2014年9月。
[POSIX.2] The Open Group, "Standard for Information Technology - Portable Operating System Interface (POSIX(R)) Base Specifications, Issue 7", IEEE Standard 1003.1, 2016 Edition, DOI, 10.1109/IEEESTD.2016.7582338, September 2016.
[POSIX.2]开放组,“信息技术标准-便携式操作系统接口(POSIX(R))基本规范,第7期”,IEEE标准1003.12016版,DOI,10.1109/IEEESTD.2016.7582338,2016年9月。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>.
[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,DOI 10.17487/RFC2119,1997年3月<https://www.rfc-editor.org/info/rfc2119>.
[RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet: Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002, <https://www.rfc-editor.org/info/rfc3339>.
[RFC3339]Klyne,G.和C.Newman,“互联网上的日期和时间:时间戳”,RFC 3339,DOI 10.17487/RFC3339,2002年7月<https://www.rfc-editor.org/info/rfc3339>.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, DOI 10.17487/RFC3986, January 2005, <https://www.rfc-editor.org/info/rfc3986>.
[RFC3986]Berners Lee,T.,Fielding,R.,和L.Masinter,“统一资源标识符(URI):通用语法”,STD 66,RFC 3986,DOI 10.17487/RFC3986,2005年1月<https://www.rfc-editor.org/info/rfc3986>.
[RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally Unique IDentifier (UUID) URN Namespace", RFC 4122, DOI 10.17487/RFC4122, July 2005, <https://www.rfc-editor.org/info/rfc4122>.
[RFC4122]Leach,P.,Mealling,M.和R.Salz,“通用唯一标识符(UUID)URN名称空间”,RFC 4122,DOI 10.17487/RFC4122,2005年7月<https://www.rfc-editor.org/info/rfc4122>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8174]Leiba,B.,“RFC 2119关键词中大写与小写的歧义”,BCP 14,RFC 8174,DOI 10.17487/RFC8174,2017年5月<https://www.rfc-editor.org/info/rfc8174>.
[IPPM-REG] Bagnulo, M., Claise, B., Eardley, P., Morton, A., and A. Akhter, "Registry for Performance Metrics", Work in Progress, draft-ietf-ippm-metric-registry-12, June 2017.
[IPPM-REG]Bagnulo,M.,Claise,B.,Eardley,P.,Morton,A.,和A.Akhter,“绩效指标注册”,在建工程,草案-ietf-IPPM-metric-Registry-12,2017年6月。
[RFC3444] Pras, A. and J. Schoenwaelder, "On the Difference between Information Models and Data Models", RFC 3444, DOI 10.17487/RFC3444, January 2003, <https://www.rfc-editor.org/info/rfc3444>.
[RFC3444]Pras,A.和J.Schoenwaeld,“关于信息模型和数据模型之间的差异”,RFC 3444,DOI 10.17487/RFC3444,2003年1月<https://www.rfc-editor.org/info/rfc3444>.
[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, <https://www.rfc-editor.org/info/rfc7398>.
[RFC7398]Bagnulo,M.,Burbridge,T.,Crawford,S.,Eardley,P.,和A.Morton,“宽带性能大规模测量的参考路径和测量点”,RFC 7398,DOI 10.17487/RFC7398,2015年2月<https://www.rfc-editor.org/info/rfc7398>.
[RFC7536] Linsner, M., Eardley, P., Burbridge, T., and F. Sorensen, "Large-Scale Broadband Measurement Use Cases", RFC 7536, DOI 10.17487/RFC7536, May 2015, <https://www.rfc-editor.org/info/rfc7536>.
[RFC7536]Linsner,M.,Eardley,P.,Burbridge,T.,和F.Sorensen,“大规模宽带测量用例”,RFC 7536,DOI 10.17487/RFC7536,2015年5月<https://www.rfc-editor.org/info/rfc7536>.
[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, <https://www.rfc-editor.org/info/rfc7594>.
[RFC7594]Eardley,P.,Morton,A.,Bagnulo,M.,Burbridge,T.,Aitken,P.,和A.Akhter,“宽带性能的大规模测量框架(LMAP)”,RFC 7594,DOI 10.17487/RFC7594,2015年9月<https://www.rfc-editor.org/info/rfc7594>.
[RFC8194] Schoenwaelder, J. and V. Bajpai, "A YANG Data Model for LMAP Measurement Agents", RFC 8194, DOI 10.17487/RFC8194, August 2017, <http://www.rfc-editor.org/info/rfc8194>.
[RFC8194]Schoenwaeld,J.和V.Bajpai,“LMAP测量代理的杨氏数据模型”,RFC 8194,DOI 10.17487/RFC8194,2017年8月<http://www.rfc-editor.org/info/rfc8194>.
Acknowledgements
致谢
Several people contributed to this specification by reviewing early draft versions and actively participating in the LMAP Working Group (apologies to those unintentionally omitted): Vaibhav Bajpai, Michael Bugenhagen, Timothy Carey, Alissa Cooper, Kenneth Ko, Al Morton, Dan Romascanu, Henning Schulzrinne, Andrea Soppera, Barbara Stark, and Jason Weil.
一些人通过审查早期版本草案和积极参与LMAP工作组(对无意遗漏的人表示歉意)对此规范做出了贡献:Vaibhav Bajpai、Michael Bugenhagen、Timothy Carey、Alissa Cooper、Kenneth Ko、Al Morton、Dan Romascanu、Henning Schulzrinne、Andrea Soppera、Barbara Stark、,还有杰森·威尔。
Marcelo Bagnulo, Trevor Burbridge, Philip Eardley, and Juergen Schoenwaelder worked in part on the Leone research project, which received funding from the European Union Seventh Framework Programme [FP7/2007-2013] under grant agreement number 317647.
Marcelo Bagnulo、Trevor Burbridge、Philip Eardley和Juergen Schoenwaeld参与了塞拉利昂研究项目,该项目获得了欧盟第七框架计划[FP7/2007-2013]的资助,资助协议编号为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.
Juergen Schoenwaeld的部分资金来自Flamingo,这是一个卓越网络项目(ICT-318488),由欧盟委员会在其第七个框架计划下支持。
Authors' Addresses
作者地址
Trevor Burbridge BT Adastral Park, Martlesham Heath Ipswich IP5 3RE United Kingdom
Trevor Burbridge BT Adastral Park,Martlesham Heath Ipswich,英国IP5
Email: trevor.burbridge@bt.com
Email: trevor.burbridge@bt.com
Philip Eardley BT Adastral Park, Martlesham Heath Ipswich IP5 3RE United Kingdom
Philip Eardley BT Adastral Park,Martlesham Heath Ipswich IP5 3英国
Email: philip.eardley@bt.com
Email: philip.eardley@bt.com
Marcelo Bagnulo Universidad Carlos III de Madrid Av. Universidad 30 Leganes, Madrid 28911 Spain
马德里卡洛斯三世大学。西班牙马德里勒加内斯30大学28911
Email: marcelo@it.uc3m.es
Email: marcelo@it.uc3m.es
Juergen Schoenwaelder Jacobs University Bremen Campus Ring 1 Bremen 28759 Germany
德国不来梅大学不来梅校区环1 Juergen Schoenwaeld Jacobs大学
Email: j.schoenwaelder@jacobs-university.de
Email: j.schoenwaelder@jacobs-university.de