perfsonar-dev - Re: data/metadata relationships
Subject: perfsonar development work
List archive
- From: Maciej Glowiak <>
- To: "Jeff W. Boote" <>
- Cc:
- Subject: Re: data/metadata relationships
- Date: Wed, 02 Aug 2006 09:54:08 +0200
- Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA CXBIWXMAAEU1AABFNQF8gVf5AAAAB3RJTUUH1QYQDjo6uEWvwgAAAM5JREFUGNNN0LFqAkEUheGj KRZsfATrvENgYyH4APabxwgWGUUQC99BsNDCInUq7VImbbDZ0kayxBXMuN7jvTuKVh//mZlmQKZ1 EhQ8GAVgZECspEBdWQHRjR70KlgFKkoUaCw3ijSYQ4n5HfBK4a4jDcdDQPol/80Sr9BxZOOL4Fmr Jq8VBx7eopaSPvWGOm67fqol3j1q0XNs7Nk2cs6MU6gPNzf+ZGKQX4Ek8H6rAnFZnXB2vJxJcv8g C2P+WzL4tD+Txc4KydrIkh+eAdo01QbjQ84vAAAAAElFTkSuQmCC
- Organization: Poznan Supercomputing and Networking Center
hi Jeff,
Jeff W. Boote wrote:
wrote:
Author: mac Date: 2006-08-01 10:17:42 -0400 (Tue, 01 Aug 2006) New Revision:
1504
Modified: trunk/perfsonar/src/org/perfsonar/commons/messages/Request.java Log: Few changes made.
MH doesn't change anything in output requests unless there are multiple
responses in one Message. So, if ServiceEngine is run only once for entire
Message (one data trigger), response message is sent without any changes. If
SE was run multiple times, then _0, _1, _2 suffixes will be added to metadata
and data identifiers.
I think this will cause multiple metadata elements that actually refer to the same set of information. Especially given the chaining possibilities.
Think about the RRD MA case where you have a single 'base' metadata indicating the interface information, and then two others chained to it specifying different directions. And two data triggers pointing at these. With this solution, the request for the data for that interface will return a minimum of 4 metadata elements instead of 3. (Could even be more if the service returns all 3 metadata in each service engine response instead of just the two metadata that the data trigger refers to.) The 'base' will not be the same for the two sets of data. I think this could be surprising for clients.
That said, I don't have a better solution unless we constrain services to make metadata id's unique... Then the message handler could just be holding them in a cache and ignore duplicates.
My worry is that a client could easily be counting on determining which data it is looking at by seeing which metadata is referenced. From a client perspective, I would want to be able to see how different pieces of data related to each other in as easy of a way as possible. I think your current solution breaks those relationships.
Can anyone think of another solution? (Is it too burdensome to enforce this uniqueness requirement?) Is any one else worried about the response data no longer having relationship structure maintained?
jeff
Jeff,
The solution with _number has been used for more than 2 months.
1. As you remember, we didn't have generic Message Handler, so everybody wrote his own MH. I had to write one for Lookup Service and tried to make it quite generic. Then Roman used it for his MAs, but of course everybody may use his own MH for his own service.
2. Your case with one common metadata:
--------------------------------------------------
<message>
<metadata id="a"/>
<metadata id="b" metadataIdRef="a"/>
<metadata id="c" metadataIdRef="c"/>
<data metadataIdRef="b"/>
<data metadataIdRef="c"/>
</message>
--------------------------------------------------
must be split for two sub-requests if we want to run Service Engine
separate for each data trigger. That's work for both MAs now and for
LS (except LSRegister which has its own simple Message Handler)
3. Service output is not divided into pieces, so request message from
pt.2 will cause running Service Engine two times:
a) request to SE
--------------------------------------------------
<message>
<metadata id="a"/>
<metadata id="b" metadataIdRef="a"/>
<data metadataIdRef="b"/>
</message>
--------------------------------------------------
b) request to SE
--------------------------------------------------
<message>
<metadata id="a"/>
<metadata id="c" metadataIdRef="c"/>
<data metadataIdRef="c"/>
</message>
--------------------------------------------------
and Service Engine will return similar set of metadatas and datas
with the same identifiers, for instance:
a) response from SE
--------------------------------------------------
<message>
<metadata id="X"/>
<data metadataIdRef="X"/>
</message>
--------------------------------------------------
b) response from SE
--------------------------------------------------
<message>
<metadata id="X"/>
<data metadataIdRef="X"/>
</message>
--------------------------------------------------
Now, ho do you combine these two into one response message? By
changing identifiers...
So the response message will look like:
--------------------------------------------------
<message>
<metadata id="X_1"/>
<data metadataIdRef="X_1"/>
<metadata id="X_2"/>
<data metadataIdRef="X_2"/>
</message>
--------------------------------------------------
And as I said, it works fine. Of course Message handler may be more
intelligent, but it'd need big effort to implement it, and the final
effect may also not be satisfied.
Maciej
--
--------------------------------------------------------------------
| Maciej Glowiak Network Research and Development ||
|
Poznan Supercomputing and Networking Center ||
| (+48 61) 858 2024 http://monstera.man.poznan.pl/ ||
====================================================================
- r1504 - trunk/perfsonar/src/org/perfsonar/commons/messages, svnlog, 08/01/2006
- data/metadata relationships, Jeff W. Boote, 08/01/2006
- Re: data/metadata relationships, Maciej Glowiak, 08/02/2006
- Re: [pS-dev] Re: data/metadata relationships, Maciej Glowiak, 08/02/2006
- Re: data/metadata relationships, Jeff W. Boote, 08/02/2006
- Re: [pS-dev] Re: data/metadata relationships, Vedrin Jeliazkov, 08/07/2006
- Re: [pS-dev] Re: data/metadata relationships, Jeff W. Boote, 08/23/2006
- Re: [pS-dev] Re: data/metadata relationships, Jeff W. Boote, 08/23/2006
- Re: [pS-dev] Re: data/metadata relationships, Jeff W. Boote, 08/23/2006
- Re: [pS-dev] Re: data/metadata relationships, Vedrin Jeliazkov, 08/07/2006
- Re: data/metadata relationships, Maciej Glowiak, 08/02/2006
- data/metadata relationships, Jeff W. Boote, 08/01/2006
Archive powered by MHonArc 2.6.16.