130 likes | 253 Views
HEPTOX 1 : Marrying XML and Heterogeneity in Your P2P Databases. Angela Bonifati (Icar CNR, Italy), Elaine Q.Chang, Laks V.S.Lakshmanan, Terence Ho, Rachel Pottinger, Shuan Wang and Ting Wang (UBC, Canada). 1 HEPTOX stands for “ Heterogeneous Peers Talk! ”.
E N D
HEPTOX1: Marrying XML and Heterogeneity in Your P2P Databases Angela Bonifati (Icar CNR, Italy), Elaine Q.Chang, Laks V.S.Lakshmanan, Terence Ho, Rachel Pottinger, Shuan Wang and Ting Wang (UBC, Canada) 1 HEPTOX stands for “Heterogeneous Peers Talk!”
Motivations for Marrying XML and Heterogeneity in P2P Databases • Peers contain similar and relatedXML data • Each peer wants to keep its own schema and yet needs to be mapped to others’ schemas [cfr. LenzeriniTutorial@PODS02] • autonomy, flexibility are important in P2P • a global mediated schema is unfeasible • Queries are still formulated against one (e.g. local) schema • Need to transparently cross the different schemas • Previous work [Clio, Hyperion, Piazza] could only handle limited heterogeneity
A P2P Network of Heterogeneous Hospitals .... Peer1 Peern Peer2 DTD1 DTDn DTD2 ... ... ... Event Admission Pulmonary Coronary ... Problem Date ID InsName ...
Heterogeneity and XML data: an example • Consider a P2P network of hospitals and an unfortunate patient moving among them: • Option#1: the patient carries his/her own files and query translation is done manually • It is error-prone, and unfeasible with several moves and with frequent joining/leaving of peers • Option#2: the hospital db admin manually writes the mappings • It is not that easy to find a person who knows the rule machinery that well!
Heterogeneity and XML data: an example • Option#3: the hospital db admin provides informal arrows/boxes correspondences w.r.t. a set of acquaintances: • Users/applications do not know the underlying mappings machinery and can keep it simple • A peer’s entering the network is a lightweight operation
Event Date Problem Pulmonary Coronary Admission Mappings in hospital schemas • XML mappings in HePToX are specified informally by arrows and boxes which encode: • Data/Metadata correspondences • Structure correspondences • The informal mappings are translated to Datalog-like mapping rules. • Data/Metadata conflicts are not dealt with in previous works: • Addressed in HepToX
Demo scenarios • Doctors: track patients • Patients: access their data • Insurance Companies: define the policy for a set of patients • Etc.
HepToX Contributions • GUI for specifying correspondences (arrows/boxes) • Datalog-like mapping language for working with complex XML trees • Rule Inference algorithm for producing the Datalog-like mapping rules • Query Translation algorithm based on those mappings that works for a significant subset of XQuery (TPs with joins) • Our “Data Exchange” semantics, which differs from GAV and LAV mappings
Demo Screenshots 1/2 Schema Mappings By Boxes/Arrows and Corresponding Datalog-like Rules
Demo Screenshots 2/2 Details of Query Translation Algorithm (for each pair <TP, MR>)
On HEPTOX implementation • The demo shows the following features: • Draw mappings and show the generation of rules • Show the query translation algorithm at work • Show a real network emulation with Emulab • HEPTOX is implemented in Java: • Uses QizX [QizX] as the underlying XQuery engine • FreePastry as the underlying P2P protocol • Emulab as the real network emulation environment • It consists of ~10,000 lines of code
Come visit our demo booth: This afternoon 14:00-15:30 &Thursday 14:00-15:30