perfsonar-dev - Re: [pS-dev] Lookup Service Benchmarking
Subject: perfsonar development work
List archive
- From: "Vedrin Jeliazkov" <>
- To: Maciej Glowiak <>
- Cc: "Jeff W. Boote" <>, "Joe Metzger" <>, <>, "Roman Lapacz" <>
- Subject: Re: [pS-dev] Lookup Service Benchmarking
- Date: Mon, 07 Aug 2006 12:05:13 +0300
Hi Maciej,
Many thanks for those example LS queries. We hope to have LS integration
implemented in the next release of perfsonarUI. We'll come back to you if we
have any further questions.
Kind regards,
Vedrin
Maciej Glowiak
<>
wrote:
> Ups... Forgotten attachment... :)
> Maciej
>
>
>
>
> Maciej Glowiak napisal(a):
> > Hi All Testers :)
> >
> > I prepared an example storage file. It contains FOUR lookup infos:
> > three MAs (Pionier, ACAD and test one) and one Topology Service
> > (without data elements).
> > All together have 202 interfaces (data elements)
> >
> > The file is too small for testing, but perfect for developing XQueries.
> >
> > File is attached to this e-mail.
> >
> > To all XQueries namespaces declaration instructions should be added:
> >
> > -----------------------------------------------------------------------
> > declare namespace nmwgt="http://ggf.org/ns/nmwg/topology/2.0/";
> > declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";
> > declare namespace
> > psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";
> > declare namespace
> > perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";
> > declare namespace
> > netutil="http://ggf.org/ns/nmwg/characteristic/utilization/2.0/"
> > -----------------------------------------------------------------------
> >
> > but I omitted them in the examples:
> >
> >> 1) get the addresses of services, registered in the LS;
> >
> >
>
-------------------------------------------------------------------------------
>
> >
> > (: get the addresses of services, registered in the LS; :)
> >
> > for $m in /nmwg:store/nmwg:metadata
> > let $s := $m/perfsonar:subject/psservice:service
> > let $accessPoint := $s/psservice:accessPoint
> > return data($accessPoint)
> >
>
-------------------------------------------------------------------------------
>
> >
> >
> >> 2) get the addresses of services, registered in the LS and having a
> >> given type
> >> (e.g. utilization MA, Hades MA, etc.);
> >
> >
> >
>
-------------------------------------------------------------------------------
>
> >
> > (: get the addresses of services, registered in the LS and having a
> > given type :)
> > (: e.g. utilization MA, Hades MA, etc. :)
> >
> > for $m in /nmwg:store/nmwg:metadata
> > let $s := $m/perfsonar:subject/psservice:service
> > let $accessPoint := $s/psservice:accessPoint
> > where contains($s/psservice:serviceType,'MA')
> > return data($accessPoint)
> >
>
-------------------------------------------------------------------------------
>
> >
> >
> >
> >> 3) get the addresses of services, registered in the LS, having a given
> >> type
> >> and providing info for a given data point (e.g. IP interface address);
> >
> >
>
-------------------------------------------------------------------------------
>
> >
> > (: get the addresses of services, registered in the LS, having a given
> > type :)
> > (: and providing info for a given data point e.g. IP interface address
> > :)
> >
> > (: -- with only a part of address :)
> >
> > for $m in /nmwg:store/nmwg:metadata
> > let $s := $m/perfsonar:subject/psservice:service
> > let $accessPoint := $s/psservice:accessPoint
> > let $d :=
> > /nmwg:store/nmwg:data[@metadataIdRef=data($m/@id)]
> >
> > where contains($s/psservice:serviceType,'MA') (: given type :)
> > and contains($d//nmwgt:ifAddress, '194.141.') (: IP interface
> > address :)
> >
> > return data($accessPoint)
> >
>
-------------------------------------------------------------------------------
>
> >
> >
> >
>
-------------------------------------------------------------------------------
>
> >
> > (: get the addresses of services, registered in the LS, having a given
> > type :)
> > (: and providing info for a given data point e.g. IP interface address
> > :)
> >
> > (: -- with full address :)
> >
> > for $m in /nmwg:store/nmwg:metadata
> > let $s := $m/perfsonar:subject/psservice:service
> > let $accessPoint := $s/psservice:accessPoint
> > let $d :=
> > /nmwg:store/nmwg:data[@metadataIdRef=data($m/@id)]
> >
> > where contains($s/psservice:serviceType,'MA') (: given type :)
> > and $d//nmwgt:ifAddress[text()='194.141.252.49'] (: IP
> > interface address :)
> >
> > return data($accessPoint)
> >
>
-------------------------------------------------------------------------------
>
> >
> >
> >
> >
> >> 4) get the full list of data points for a given service;
> >
> >
>
-------------------------------------------------------------------------------
>
> >
> > (: get the full list of data points for a given service :)
> >
> > for $m in /nmwg:store/nmwg:metadata
> > let $s := $m/perfsonar:subject/psservice:service
> > let $accessPoint := $s/psservice:accessPoint
> > let $d :=
> > /nmwg:store/nmwg:data[@metadataIdRef=data($m/@id)]
> > let $datas :=
> > for $i in $d
> > return <nmwg>{$i/nmwg:metadata}</nmwg>
> > where contains($s/psservice:serviceType,'MA') (: given type :)
> > and $datas != ''
> >
> > return
> > <service><accessPoint>{data($accessPoint)}</accessPoint>{$datas}</service>
> >
>
-------------------------------------------------------------------------------
>
> >
> >
> >
>
-------------------------------------------------------------------------------
>
> >
> > (: get the full list of data points for a given service :)
> > (: -- with additional condition for data - IP interface address :)
> >
> > for $m in /nmwg:store/nmwg:metadata
> > let $s := $m/perfsonar:subject/psservice:service
> > let $accessPoint := $s/psservice:accessPoint
> > let $d :=
> > /nmwg:store/nmwg:data[@metadataIdRef=data($m/@id)]
> > let $datas :=
> > for $i in $d
> > where contains($i//nmwgt:ifAddress,'10.1.2.3') (: IP
> > interface address :)
> > return <nmwg>{$i/nmwg:metadata}</nmwg>
> > where contains($s/psservice:serviceType,'MA') (: given
> > type :)
> > and $datas != ''
> >
> > return
> > <service><accessPoint>{data($accessPoint)}</accessPoint>{$datas}</service>
> >
>
-------------------------------------------------------------------------------
>
> >
> >
> >
> >> 5) get the full list of data points for all registered services;
> >
> >
>
-------------------------------------------------------------------------------
>
> >
> > /
> >
>
-------------------------------------------------------------------------------
>
> >
> >
> > but it shouldn't be used. It returns all database :)
> >
> > Of course these are only examples. Tags such as <service><accessPoint>
> > and so on may be replaced by NMWG-tags or any others.
> >
> >> Query (1) is mandatory. Query (2) would be perhaps sufficient for
> >> making the
> >> current MA.conf in perfsonarUI obsolete. Query (3) would greatly
> >> simplify (and
> >> probably make faster) path visualization, because the clients would
> >> not have
> >> to query a range of other services for each successive hop. Queries
> >> (4) and
> >> (5) might be desirable in some cases (e.g. when drawing maps), but
> >> perhaps
> >> they could be run much less often, because of the expected performance
> >> impact
> >> on the LS itself.
> >
> > Vedrin, do you need any other queries that could be useful for the client?
> >
> > Best regards
> >
> > Maciej
> >
> >
> >
> >
>
- Re: [pS-dev] Lookup Service Benchmarking, Jeff W. Boote, 08/01/2006
- <Possible follow-up(s)>
- Re: [pS-dev] Lookup Service Benchmarking, Maciej Glowiak, 08/04/2006
- Re: [pS-dev] Lookup Service Benchmarking, Maciej Glowiak, 08/04/2006
- Re: [pS-dev] Lookup Service Benchmarking, Vedrin Jeliazkov, 08/07/2006
- Re: [pS-dev] Lookup Service Benchmarking, Maciej Glowiak, 08/04/2006
Archive powered by MHonArc 2.6.16.