Files
nm_request.rnc
nm_subject.rnc
nm_params.rnc
nm_tool.rnc
nm_timeinfo.rnc
nm_statistic.rnc
nm_extend.rnc
default namespace = "http://www.ggf.org/namespaces/2004/08/gridNetworkMonitoring"
include "nm_subject.rnc"
include "nm_params.rnc"
include "nm_tool.rnc"
include "nm_timeinfo.rnc"
include "nm_statistic.rnc"
include "nm_extend.rnc"
start =
element networkMeasurementRequest { NetworkMeasurementRequest }
NetworkMeasurementRequest =
element request { Request }+,
attribute version { token }?
Request =
## The requested characteristic
element characteristic { token },
## The subject of the measurement(s) to be returned
element subject { ( element node { Node } | element path { Path } ), Report},
## The methodology to employ
element methodology { Methodology }?,
## A request for statistics to be returned
element statistics { Statistics }?,
## The maximum number of measurements to be returned
attribute maxResults { token | xsd:positiveInteger }?,
## If false, new measurements should not be made to satisfy this request
attribute allowNewMeasurements { xsd:boolean }?,
## If true, everything that can be reported, should be, otherwise individual report attributes are used
attribute reportEverything { xsd:boolean }?
Methodology =
## The endpoint to which the parameters apply FIXME: does this work?
element endpoint { Endpoint },
## The measurement(s) should have been made using this tool, if this element is present
element tool { Tool }?,
## The measurement(s) must have been made in this time period
element when { TimeInformation },
## Tool parameters
element parameterSet { ParameterSet }*
Endpoint = token
Required = attribute required { xsd:boolean }?
Report = attribute report { xsd:boolean}?
namespace local = ""
default namespace tns =
"http://www.ggf.org/namespaces/2004/08/gridNetworkMonitoring"
grammar {
Address =
## Host address
element host { token },
## Port
element port { xsd:short }?,
## IP version
attribute version { token }
## A node
Node =
element address { Address },
element name { string }?
## A path between two nodes
Path =
element source { Node }?,
element destination { Node }?
}
namespace local = ""
default namespace tns =
"http://www.ggf.org/namespaces/2004/08/gridNetworkMonitoring"
grammar {
ParameterSet =
## The duration of the test
element duration { xsd:double, attribute units { token }, ParameterAttributes }*,
## Type of packets being sent
## Size of packets sent on network
element packetSize { xsd:int, attribute units { token }, ParameterAttributes }*,
## Number of packets sent on network
element numPackets { xsd:int, attribute units { token }, ParameterAttributes }*,
## What algorithm is used to space packets
element packetSpacing { ( token "poisson" | token "periodic" ), ParameterAttributes }*,
## Time between test packets, in seconds (for periodic tests)
element packetGap { xsd:double, attribute units { token }, ParameterAttributes }*,
## IP version
element protocolID { token, ParameterAttributes }*,
## Type of service (IP precedence)
element tos { xsd:short, ParameterAttributes }*,
## Differentiated services code point
element dscp { xsd:byte, ParameterAttributes }*,
## IPv6 option for QoS
element flowLabel { xsd:byte, ParameterAttributes }*,
## Threshold used to distinguish between a large finite delay and loss
element lossThreshold { xsd:int, attribute units { token }, ParameterAttributes }*,
## Amount of test traffic
element numBytes { xsd:int, attribute units { token }, ParameterAttributes }*,
## Are bytes moving memory to memory or disk to disk*
element includesDisk { xsd:boolean, ParameterAttributes }*,
## Size of TCP buffers used
element tcpBufferSize { xsd:int, attribute units { token }, ParameterAttributes }*,
## Reno, Vegas, HSTCP, ScalableTCP, etc
element tcpType { token, ParameterAttributes }*,
## Number of parallel streams
element numStreams { xsd:unsignedShort, ParameterAttributes }*,
## Additional user-defined parameters
element other { Extensibility, ParameterAttributes }
## Attributes that apply to all (or nearly all) parameters
ParameterAttributes =
## If true, this parameter is required, otherwise it is optional
Required,
## If true, the value of this parameter should be reported in the response
attribute report { xsd:boolean}?,
## If "min", the parameter should be at least the given value; if "max", the parameter should be at most the given value; if "exact", the parameter should be exactly this value.
attribute range { token }?
}
namespace local = ""
default namespace tns =
"http://www.ggf.org/namespaces/2004/08/gridNetworkMonitoring"
grammar {
## The tool and optional command lines to use
Tool =
attribute required { xsd:boolean }?,
element name { token },
element major { xsd:int }?,
element minor { xsd:int }?,
element release { token }?,
element buildDate{ xsd:date }?,
element vendor { text }?,
element versionString { text }?,
element sourceCommandLine { ToolCommandLine }?,
element destCommandLine { ToolCommandLine }?
ToolCommandLine =
element arg { text }+ |
element line { text }
}
namespace local = ""
default namespace tns =
"http://www.ggf.org/namespaces/2004/08/gridNetworkMonitoring"
grammar {
TimeInformation =
element time { token | xsd:double }?,
element plusTimeTolerance { token | xsd:double }?,
element minusTimeTolerance { token | xsd:double }?,
element testingInterval { token | xsd:double }?
}
namespace local = ""
default namespace tns =
"http://www.ggf.org/namespaces/2004/08/gridNetworkMonitoring"
grammar {
## These elements indicate a request for various statistical summaries of data
Statistics =
## The interval provides a hint to the service as to the interval between measurements required if it is to make new measurements
attribute interval { token | xsd:double }*,
## Request the raw data
element raw { empty }?,
element count { empty, StatisticsAttributes }*,
element min { empty, StatisticsAttributes }*,
element mean { empty, StatisticsAttributes }*,
element median { empty, StatisticsAttributes }*,
element max { empty, StatisticsAttributes }*,
element stddev { empty, StatisticsAttributes }*,
element percentile { empty, attribute n { xsd:double }, StatisticsAttributes }*,
element confidence { empty, attribute n { xsd:double }, StatisticsAttributes }*
StatisticsAttributes =
## The interval over which the statistic is generated
## Whether it is a requirement or not that this statistic be reported. Default is false.
Required
}
namespace local = ""
default namespace tns =
"http://www.ggf.org/namespaces/2004/08/gridNetworkMonitoring"
Extensibility = element * - ( tns:* | local:* ) { text }*