150 likes | 226 Views
JXTA for Astronomical Image Retrieval S Johnstone, P Contreras and F Murtagh. Motivation: to support scalable and robust search and retrieval from distributed image databases.
E N D
JXTA for Astronomical Image RetrievalS Johnstone, P Contreras and F Murtagh • Motivation: to support scalable and robust search and retrieval from distributed image databases. • Our objective: to support resolution scale in distributed image databases (i.e. resolution and region of interest based retrieval), as a basis for global or ensemble study of “information thermodynamics” (Kubiatowicz, 2003) and systems displaying “highly organized tolerance” (Doyle and Carlson, 2000; Murtagh et al., 2002). • We use VO protocols (I) VOTable, and (2) NVO’s Simple Image Access Prototype specification, based on (3) JXTA P2P transport from Sun Microsystems.
Net Provider peer Request peer Image Repository 1. search (Jxta query) 1. search 2. content advertisement 2. content advertisement Multi- resolution 3. Image service request 3. service request 4. compress file (CMS) 4. compress file image compression required content
Provider peer Client peer Net 1. search (Jxta query) 2. sql query (JDBC) DB 3. DB response 4. advertisement 4. create advertisement 5. send content selection 6. content selected 7. send content (CMS) required content
Request Peer Provider Peer Net 1. ServiceQueryMessage Image Mosaic Service A 2.ServiceQueryMessage = ImageMosaic 1. ServiceQueryMessage Pointed Image-Archive Service 2. ServiceQueryMessage = PointedImageArchive B 3. SIAP -Query DB 4. VOTable Response C 5. CMS Retrieval DB 6. File/Image
This image shows that the peer named SecondPeer has registered that they can provide a Pointed Image Archive Service within the group, 'NVOService'.
A user on the peer CMSTest has clicked the 'NVO Search' button and we see displayed the 'NVO:Services' window where they have clicked the 'Check for Services' button and have found the Pointed Image Archive service registered by the peer 'SecondPeer‘.
The user has selected the 'Issue Query' button on the 'NVO:Services' window after having chosen to use the Pointed Image Archive service. They are presented with the 'NVO:Pointed Image Archive Query' window where they may enter the parameters for searching. The parameters here are the minimum requirements for an NVO query according to the Simple Image Access prototype specification. The results will be displayed at the bottom.
The query parameters are displayed and the results obtained are shown in the list at the Bottom. Note: The values used for the search are example values taken from the SimpleImage Access Prototype specification.
User has selected the file that they wish to download and the save dialog is displayed.
XML - The following additional XML messages are used in the implementation ServiceQueryMessage: Very simple message. This is what the requesting peer sends in order to get back a list of the registered services for the group. <?xml version="1.0"?> <!DOCTYPE ServiceQueryMessage> <ServiceQueryMessage> <Description> No Data required in this Query as all peers will return a list of all registered handlers </Description> </ServiceQueryMessage>
ServiceResponse: A provider peer sends this response to a ServiceQueryMessage. In the handlers field is a list of all the handlers registered for the group. The receiving peer takes out of this only the handler names starting with 'NVO:' <?xml version="1.0"?> <!DOCTYPE ServiceResponse> <ServiceResponse> <Response> <Count> 5 </Count> <Handlers> urn:jxta:uuid-DEADBEEFDEAFBAB AFEEDBABE0000000305,urn:jxta:uuid-DEADBEEFDEAFB ABAFEEDB ABE0000000705Monitor,JxtaPipeResolver,NVO:PointedServiceHandler, NVO: ServiceMessageHandler </Handlers> </Response> </ServiceResponse> Note: Each of these XML messages are wrapped in a JXTA resolver message before being sent. This is the case with all of the following XML messages as well.
PointedImageQueryMessage: This is the XML for the query sent in the screenshot attached shown (M82 should be RA 9 55 52.19, Dec +69 40 48.8) <?xml version="1.0"?> <!DOCTYPE PointedImageQuery> <PointedImageQuery> <Query> <ROI> <RightAccension> 12.821 </RightAccension> <Declination> -33.4 </Declination> <Size> 0.3 </Size> <Intersect> COVERS </Intersect> </ROI> <Format> <Mime> image/fits </Mime> <Types> png </Types> </Format> </Query> </PointedImageQuery>
This query is sent to all peers with a registered NVO:PointedServiceHandler. As stated in the Simple Image Access Prototype Specification the response that these peers should send should be a VOTable. A VOTable holds a lot of data regarding each result obtained meaning that when the user is shown the results of their query they may see all of the relevant data regarding the images returned and so may select the image that best suits them. (Only the image file name is displayed in the implemented demo).
The VOTable results returned by SecondPeer in response to the above query is <?xml version="1.0"?> <!DOCTYPE VOTable> <VOTable> <RESOURCE> <INFO name="QUERY_STATUS" value="OK"> </INFO> <TABLE name="SEARCH_RESULTS"> <DESCRIPTION> Basic Archive Search Results </DESCRIPTION> <FIELD name="Image_Title" ucd="VOX:Image_Title" datatype="char" arraysize="*"> </FIELD> <FIELD name="Right_Accension" ucd="POS_EQ_RA_MAIN" datatype="double"> </FIELD> <FIELD name="Declination" ucd="POS_EQ_DEC_MAIN" datatype="double"> </FIELD> <FIELD name="N_AXES" ucd="VOX:Image_Naxes" datatype="int"> </FIELD> <FIELD name="N_AXIS" ucd="VOX:Image_Naxis" datatype="int" arraysize="*"> </FIELD> <FIELD name="Scale" ucd="VOX:Image_Scale" datatype="double" arraysize="*"> </FIELD> <FIELD name="Format" ucd="VOX:Image_Format" datatype="char" arraysize="*"> </FIELD> <DATA> <TABLEDATA> <TR> <TD> m82_heao_300_150.fits </TD> <TD> 12.821 </TD> <TD> -33.4 </TD> <TD> 3 </TD> <TD> 3 </TD> <TD> 1.0 </TD> <TD> image/fits </TD> <TD> {name=m82_heao_300_150.fits;cid=md5:8c07d7eed1863 ba6ce0ec0f97beb7a66;length= 373091;description=;address=jxta://uuid-59616261646162614A78746150325033EDDB 1DAD0C21444F827AB92 C6E0B301703/CMS/uuid-EED3567208E1441D9E53B9ED11CB730F02} </TD> </TR> <TR> <TD> m82_dss_512_1422.fits </TD> <TD> 12.821 </TD> <TD> -33.4 </TD> <TD> 3 </TD> <TD> 3 </TD> <TD> 1.0 </TD> <TD> image/fits </TD> <TD> {name=m82_dss_512_1422.fits;cid=md5:88be85b952b4520ff 350a1bc45daf83c;length= 1057758;description=;address=jxta://uuid-59616261646162614A78746150325033EDD B1DAD0C21444F827AB92C6E0B301703/CMS/uuid-EED3567208E 1441D9E53B9ED11CB730F02} </TD> </TR> </TABLEDATA> </DATA> </TABLE> </RESOURCE> </VOTable>
References P Contreras, S Johnstone, F Murtagh and K Englmeier, “Distributed multimedia content with P2P JXTA technology”, submitted to HCI-2003, Crete, 2003. P. Contreras, F. Johnstone and F. Murtagh, “Peer-to-peer based retrieval from distributed image stores: demonstrator using JXTA”, online proceedings iAstro workshop, Strasbourg, November 2002, www.iAstro.org J. Doyle and J.M. Carlson, “Power laws, highly optimized tolerance, and generalized source coding”, Physical Review Letters, 84, 5656-5659, 2000. J. Kubiatowicz, “Extracting guarantees from chaos”, Communications of of the ACM, 46 (2), 33-38, 2003. F. Murtagh, J.L. Starck and M. Louys, “Distributed visual information management in astronomy”, Computing in Science and Engineering, 4 (6), 14-23, 2002.