Skip to Content.
Sympa Menu

perfsonar-dev - Re: [pS-dev] New Characteristic Namespaces (Summary)

Subject: perfsonar development work

List archive

Re: [pS-dev] New Characteristic Namespaces (Summary)


Chronological Thread 
  • From: Roman Lapacz <>
  • To: "Jeff W. Boote" <>
  • Cc: , perfsonar-dev <>
  • Subject: Re: [pS-dev] New Characteristic Namespaces (Summary)
  • Date: Wed, 01 Aug 2007 12:05:33 +0200

Jeff W. Boote wrote:

I would still *much* rather we go back to including the entire chain in these communications, that way we are guaranteed to not lose anything. If we are going to treat the entire key as opaque, then it really shouldn't matter what is on the inside, although I am still against the idea of including two sets of parameters because it is not very natural in my opinion ('cooking' is 'cooking' no matter what end result looks like). Does the RRDMA use the above example now? (your interface docs seem to show everything being in one nmwg:parameters block, if you are changing things please let me know for interop purposes).

I would like to second this desire to maintain the chaining. Part of Jason's proposal that I don't think has been highlighted enough yet is that the metadata in the response have a reference back to the metadata in the request. This is how a client can easily determine which part of their request the given data/metadata is responding to. This mapping only works if the chaining from the request is reflected back in the response.

Right, but in case of using a key a metadata chain does not have to be included and analyzed in the request because that key represents that chain.


Once upon a time, the RRD MA returned the actual metadata from the request (in a more filled-out form). Now, it seems to only respond with a single metadata holding the key. It is not clear to me how a client is supposed to know what this is in response to if more than one data set is requested (since the key should be opaque). Since this is obviously working, I must be missing something. :)


Example metadata key response from java rrd ma:

<?xml version="1.0" encoding="UTF-8"?>
<nmwg:message id="msg1_resp" messageIdRef="msg1"
type="MetadataKeyResponse" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
<nmwg:metadata id="meta1">
<netutil:subject id="subj1" xmlns:netutil="http://ggf.org/ns/nmwg/characteristic/utilization/2.0/";>
<nmwgt:interface xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";>
<nmwgt:hostName>test-hostName</nmwgt:hostName>
<nmwgt:ifName>test-0</nmwgt:ifName>
<nmwgt:ifDescription>test descripyion</nmwgt:ifDescription>
<nmwgt:ifAddress type="ipv4">10.1.2.3</nmwgt:ifAddress>
<nmwgt:direction>in</nmwgt:direction>
<nmwgt:authRealm>TestRealm</nmwgt:authRealm>
<nmwgt:capacity>1000BaseT</nmwgt:capacity>
</nmwgt:interface>
</netutil:subject>
<nmwg:parameters id="localhost.-19982803:113fca7fc94:-7fe7">
<nmwg:parameter name="supportedEventType">http://ggf.org/ns/nmwg/characteristic/utilization/2.0</nmwg:parameter>
</nmwg:parameters>
</nmwg:metadata>
<nmwg:data id="data1" metadataIdRef="meta1">
<nmwg:key id="localhost.-19982803:113fca7fc94:-7fd9">
<select:parameters id="param1" xmlns:select="http://ggf.org/ns/nmwg/ops/select/2.0/";>
<nmwg:parameter name="consolidationFunction">AVERAGE</nmwg:parameter>
<nmwg:parameter name="resolution">60</nmwg:parameter>
<nmwg:parameter name="startTime">1121472000</nmwg:parameter>
<nmwg:parameter name="endTime">1121904000</nmwg:parameter>
</select:parameters>
<nmwg:parameters id="localhost.-19982803:113fca7fc94:-7fd8">
<nmwg:parameter name="dataSource">bytes</nmwg:parameter>
<nmwg:parameter name="dataSourceMaxValue">10000000</nmwg:parameter>
<nmwg:parameter name="dataSourceStep">300</nmwg:parameter>
<nmwg:parameter name="file">/geant2_java-rrd-ma/samples/rrd/test.rrd</nmwg:parameter>
<nmwg:parameter name="eventType" value="http://ggf.org/ns/nmwg/characteristic/utilization/2.0"/>
<nmwg:parameter name="dataSourceMinValue">0</nmwg:parameter>
<nmwg:parameter name="dataSourceType">ABSOLUTE</nmwg:parameter>
<nmwg:parameter name="dataSourceHeartbeat">400</nmwg:parameter>
<nmwg:parameter name="valueUnits">Bps</nmwg:parameter>
</nmwg:parameters>
</nmwg:key>
</nmwg:data>
</nmwg:message>



Example of setup data response where the key has been used in the request:

<?xml version="1.0" encoding="UTF-8"?>
<nmwg:message id="msg3_resp" messageIdRef="msg3"
type="SetupDataResponse" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
<nmwg:metadata id="2">
<nmwg:key id="localhost.-19982803:113fca7fc94:-7f49">
<select:parameters id="param1" xmlns:select="http://ggf.org/ns/nmwg/ops/select/2.0/";>
<nmwg:parameter name="consolidationFunction">AVERAGE</nmwg:parameter>
<nmwg:parameter name="resolution">60</nmwg:parameter>
<nmwg:parameter name="startTime">1121472000</nmwg:parameter>
<nmwg:parameter name="endTime">1121904000</nmwg:parameter>
</select:parameters>
<nmwg:parameters id="param1">
<nmwg:parameter name="dataSource">bytes</nmwg:parameter>
<nmwg:parameter name="file">/geant2_java-rrd-ma/samples/rrd/test.rrd</nmwg:parameter>
</nmwg:parameters>
</nmwg:key>
</nmwg:metadata>
<nmwg:data id="localhost.-19982803:113fca7fc94:-7f3e" metadataIdRef="2">
<nmwg:datum timeType="unix" timeValue="1121558400"
value="189.25857952114652" valueUnits="unknown"/>
<nmwg:datum timeType="unix" timeValue="1121644800"
value="157.6300922870065" valueUnits="unknown"/>
<nmwg:datum timeType="unix" timeValue="1121731200"
value="341.2686134412051" valueUnits="unknown"/>
<nmwg:datum timeType="unix" timeValue="1121817600"
value="376.50555043698813" valueUnits="unknown"/>
<nmwg:datum timeType="unix" timeValue="1121904000"
value="320.4919869209144" valueUnits="unknown"/>
</nmwg:data>
</nmwg:message>


A client application should have a map to assign a key to a certain metadata. (In case of two sub-requests there would be additional metadata and data elements chained)

Roman



Archive powered by MHonArc 2.6.16.

Top of Page