a731d048c11dd8448053647119e6a832.ppt
- Количество слайдов: 18
DBGlobe IST-2001 -32645 WP 4 Querying and Information Discovery INRIA (Serge Abiteboul) Future and Emerging Technologies (FET) Proactive initiative on: Global Computing (GC) The roots of innovation DBGlobe (IST-2001 -32645) 1
Main choices • Main technical issues for querying in the Db. Globe context – Exchange of information between PMOs – Management of distribution and replication • provides support for proxy, caching • Requirement: use standards – XML query languages (XPATH, Xquery, XOQL) – Web services (SOAP) • Proposed solution: Active XML • Discovery of information: linked to discovery of services, see WP 1 DBGlobe (IST-2001 -32645) 2
Outline for Active XML • Active XML: data integration and querying platform – The AXML language – AXML peers : repository + Web client + Web server – System architecture • Distribution and replication [Sigmod’ 03 a] – Motivation: mobile devices with limited resources – Contributions • Controlling service invocations [Sigmod’ 03 b] – Motivations – A technique based on typing • Conclusion DBGlobe (IST-2001 -32645) 3
Active XML • XML document with embedded calls to Web services – Intensional information – Dynamic information • AXML peer (e. g. , a PMO) – Repository: stores (A)XML data – Client: calls Web services – Server: support for queries over repository data • Foundations: to be further investigated – Deductive databases and fixpoint logic – Tree automata – Rewriting systems DBGlobe (IST-2001 -32645) 4
AXML Documents <known. Auctions ID="peer 10"> <category name="Toys"> <sc>e. Bay. net/get. Offers("Toys")</sc> <auction id="1254" > <held. By>e. Bay. net</held. By> <item>Pink panther</item> </auction> … <sc>babel. org/translate("Czech", "English", <sc>crystal. cz/get. Toys()</sc> <sc>peer 25/get. Auctions([. . /@name]) </sc> </category>. . . <sc frequency="once" >get. My. Auctions()</sc> … </known. Auctions> May contain calls to any SOAP Web service Are enriched by each service call's results The returned nodes are inserted as siblings of the corresponding <sc> element Activation of calls and data lifespan are controlled • frequency: when is the service called ? • validity: how long is the retrieved data kept ? • mode: immediate or lazy ? Push and pull modes (see WP 3) DBGlobe (IST-2001 -32645) 5
AXML Services A simple, declarative way to create Wef services… • A service operation is specified as a query with parameters. • It may query (local) AXML documents. • It is made available on the Web using the SOAP protocol. let close. Auction($a) be for $b in $a/bid where $b/amount = max($a/bid/amount) return <sc mode="immediate" frequency="once"> notify. Winner($b/who, $a/a. ID, $b/amount) </sc> <status>closed</status> Basic AXML services are compatible with current standards for Web services invocation. … which allows for new, powerful features. • Intentional parameters and results: AXML documents (containing service calls) can be exchanged. • Continuous services send back a stream of answers (SOAP messages) to the caller. Used in AXML documents, AXML services are powerful tools for data integration and querying. DBGlobe (IST-2001 -32645) 6
AXML Architecture AXML peer S 2 AXML peer S 1 Query processor read update query Evaluator read update AXML document store service call SOAP consults SOAP wrapper AXML SOAP service descriptions XML AXML service result AXML peer S 3 SOAP service SOAP client Technical environment: • SUN’s Java SDK 1. 4 (includes XML parser, XPath processor, XSLT engine) • Apache Tomcat 4. 0 servlet engine • Apache Axis SOAP toolkit 1. 0 beta 3 • X-OQL query processor, persistant DOM repository • JSP-based user interface, using JSTL 1. 0 standard tag library DBGlobe (IST-2001 -32645) 7
Example: A number of PMOs engaged in auctions • Each PMO proposes auctions: – Document myauctions. xml with the PMO’s items and their current bids – Services offered: • get. Local. Auctions(), • status(auction. Id) • Each PMO bids on auctions: – Document mybids. xml with the PMO’s bids – Service offered: • bid(PMO, auction. Id, amount) • bid. Up. To(PMO, auction. Id, increment, limit) • Each PMO knows about other PMOs’ auctions: – Document allauctions. xml contains calls to other PMOs that transitively retrieve their known auctions. – Service offered : get. All. Auctions() • When an auction closes, the winner is notified. VLDB’ 02 demo DBGlobe (IST-2001 -32645) 8
Distribution and replication DBGlobe (IST-2001 -32645) 9
Motivation • PMOs have limited resources: • Storage space • Computation power • Network bandwidth • Therefore, we would like to: – distribute the load among PMOs, by: • Using distributed services (AXML does it !) • Distributing documents across several devices – replicate documents and services, to allow for “local” computation. DBGlobe (IST-2001 -32645) 10
Example • A national US ski portal : – Contains information about ski resorts, hotels. – Provides services to query this information. • A user has a PDA, and is in Colorado. • We could let her call the ski portal services, • Issues : • We would rather replicate on her PDA the relevant – Data / services should be data and services, so that replicated ? they can be called locally. – How to adapt the replicated code ? – The PDA has limited resources / capabilities, therefore: • We need a cost model to choose what to replicate • Control the use of replication DBGlobe (IST-2001 -32645) 11
Contributions • We developed: – A data model for AXML with distribution and replication – A location-aware extension of XQuery to handle distributed/replicated data and services. – A cost model for the peer-to-peer context, measuring the “observable performance” of each peer – A replication algorithm (based on the cost model) that determines • What data/services need to be copied ? • How to adapt the service code ? • Implementation work is about to start. • A paper describing the results, to appear in SIGMOD’ 03 DBGlobe (IST-2001 -32645) 12
Controlling service invocation DBGlobe (IST-2001 -32645) 13
Controlling service invocation • Active XML peers call each other’s services, therefore they exchange AXML documents, that may contain service calls. AXML peer S 2 AXML peer S 1 SOAP • When such a document is exchanged, the services calls it contains can be invoked : – by the sender (before sending the document) – or the receiver (after receiving it) • SOAP (A)XML documents AXML peer S 3 SOAP service SOAP client service call service result How do we control it? DBGlobe (IST-2001 -32645) 14
Controlling service invocation: why? • For security reasons or capabilities, e. g. : – I don’t trust this service/domain – I don’t have the right credentials to invoke it, or it costs money. – I don’t know how to deal with a service call, because I don’t know Active XML ! • Decide where to perform some calls: – It may be better to have a proxy perform all the calls on behalf of a PDA – Improve performances • … and many others. DBGlobe (IST-2001 -32645) 15
How we do it: With types ! • WSDL : Web services description language (XML schema) • We extended it to include service calls • We provide algorithms to decide “to call or not to call” – It finds which service calls should be invoked – This is an inherently recursive process, since these calls may return data that contains service calls • Foundations: alternating tree automata techniques – General problem still open – progress • A prototype has been implemented • A paper describing the results, to appear in SIGMOD’ 03 DBGlobe (IST-2001 -32645) 16
Conclusion • Active XML Version 1 is out • Extensions of AXML to fit DBGlobe requirements: – Design of distribution & replication; implementation has started – Design of the control of call invocation; has been implemented and is now being integrated • Work on optimization has progressed – Very complex issue – Involves many facets of optimization of distributed databases + novel issues – More work needed • AXML PMO on a small device – Implementation for coming year DBGlobe (IST-2001 -32645) 17
Thank you. DBGlobe (IST-2001 -32645) 18
a731d048c11dd8448053647119e6a832.ppt