Title: tt dafea
1DBGlobe IST-2001-32645
WP4 Querying and Information Discovery INRIA
(Serge Abiteboul)
Proactive initiative on Global Computing (GC)
Future and Emerging Technologies (FET)
The roots of innovation
2Main choices
- Main technical issues for querying in the DbGlobe
context - Exchange of information between PMOs
- Management of distribution and replication
- provides support for proxy, caching
- Requirement use standards
- XML
- XML query languages (XPATH, Xquery, XOQL)
- Web services (SOAP)
- Proposed solution Active XML
- Discovery of information linked to discovery of
services, see WP1
3Outline 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 Sigmod03a
- Motivation mobile devices with limited resources
- Contributions
- Controlling service invocations Sigmod03b
- Motivations
- A technique based on typing
- Conclusion
4Active 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
5AXML Documents
- ltknownAuctions ID"peer10"gt
- ltcategory name"Toys"gt
- ltscgteBay.net/getOffers("Toys")lt/scgt
- ltauction id"1254" gt
- ltheldBygteBay.netlt/heldBygt
- ltitemgtPink pantherlt/itemgt
- lt/auctiongt
- ltscgtbabel.org/translate("Czech", "English",
- ltscgtcrystal.cz/getToys()lt/scgt)lt/scgt
- ltscgtpeer25/getAuctions(../_at_name)lt/scgt
- lt/categorygt ...
- ltsc frequency"once" gtgetMyAuctions()lt/scgt
- lt/knownAuctionsgt
- 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 ltscgt 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 WP3)
6 AXML Services
- let closeAuction(a) be
- for b in a/bid
- where b/amount max(a/bid/amount)
- return
- ltsc mode"immediate" frequency"once"gt
- notifyWinner(b/who, a/aID, b/amount)
- lt/scgt
- ltstatusgtclosedlt/statusgt
- 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.
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.
7AXML Architecture
- Technical environment
- SUNs 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
8Example A number of PMOs engaged in auctions
- Each PMO proposes auctions
- Document myauctions.xml with the PMOs items and
their current bids - Services offered
- getLocalAuctions(),
- status(auctionId)
- Each PMO bids on auctions
- Document mybids.xml with the PMOs bids
- Service offered
- bid(PMO,auctionId, amount)
- bidUpTo(PMO, auctionId, 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 getAllAuctions()
- When an auction closes, the winner is notified.
- VLDB02 demo
9Distribution and replication
10Motivation
- 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.
11Example
- A user has a PDA, and is in Colorado.
- We could let her call the ski portal services,
- We would rather replicate on her PDA the relevant
data and services, so that they can be called
locally.
- A national US ski portal
- Contains information about ski resorts, hotels.
- Provides services to query this information.
- Issues
- Data / services should be replicated ?
- 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
12Contributions
- 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
SIGMOD03
13Controlling service invocation
14Controlling service invocation
- Active XML peers call each others services,
therefore they exchange AXML documents, that may
contain service calls.
(A)XML documents
- 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)
- How do we control it?
SOAP service
SOAP client
15Controlling service invocation why?
- For security reasons or capabilities, e.g.
- I dont trust this service/domain
- I dont have the right credentials to invoke it,
or it costs money. - I dont know how to deal with a service call,
because I dont 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.
16How 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
SIGMOD03
17Conclusion
- 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
18Thank you.