Regular Expression to Deterministic Finite Automata
Adaptive Parallelization of Queries over Dependent Web Service Calls
1. Adaptive Parallelization of Queries over Dependent Web Service Calls Manivasakan Sabesan and Tore Risch Uppsala Database Laboratory Dept. of Information Technology Uppsala University Sweden
2.
3. WSMED System (Web Service MEDiator) WSMED OWF 1 WSDL metadata 1 WS Operation 1 WS Operation n WS Operation 1 WS Operation m WS 1 WS n WSDL metadata n SOAP call Import metadata SQL Query OWF n Automatically generated O peration W rapper F unction(OWF) makes web services queryable. Meta store 1 3 3 1 2
4.
5.
6.
7.
8.
9.
10. Query Processing in WSMED Parallel query plan SQL query Calculus Generator Parallel pipeliner Plan function generator Central plan creator Plan splitter Phase 1 Phase 2
12. Plan Splitting and Plan Function Generation - Phase2 <city, state2> γ GetPlacesWithin(Atlanta’, st1, 15.0, ‘City’) γ concat(city,’, ‘, state2) <str > PF1 PF1(Charstring st1) -> Stream of Charstring str γ GetPlaceList(str,100,’true’) <pl, st> PF2 PF2(Charstring str) -> Stream of <Charstring pl, Charstring st>
13. WSMED Process Tree q i - query process (i=0,1,......n) Level 2 q0 q1 q3 q4 q2 PF1 GetAllStates PF2 q5 q8 q7 q6 Coordinator Level 1 Query1
14. Make Parallel Pipeline < str > < st1 > FF_APPLYLP( PF2, 3,str ) <pl, st> γ GetAllStates() FF_ APPLYP( PF1, 2, st1 ) Manually set fanouts on both levels
15.
16.
17.
18.
19.
20.
21.
22.
23.
24. .......... 2. A monitoring cycle for a non-leaf query process is defined when number of received end-of-call messages equal to number of children. 2.1 After the first monitoring cycle A FF_APPLYP adds p new child processes - an add stage . 3. When an added node has several levels of children, the init stages of A FF_APPLYP s in the children will produce a binary sub–tree . q0 q1 q3 q4 q2 q5 Coordinator Level 1 q7 q9 q8 q10 Level 2 q6 q11
25. ...... 4. A FF_APPLYP records per monitoring cycle i the average time t i to produce an incoming tuple from the children. 4.1 If t i decreases more than a threshold ( 25% ) the add stage is rerun. 4.2 If t i increases we either stop or run a drop stage that drops one child and its children. q0 q1 q3 q4 q2 q5 Coordinator Level 1 q12 q10 Level 2 q6 q11
We have developed a system , WSMED, provides general query capabilities over data accessible through web services by reading WSDL meta-data descriptions. WSDL uri is given to import meta data to its local store. While importing the meta data it automatically creates OWF as declarative function and looks like regular table. OWF makes web service operation query able. Users then view these OWF using a GUI and it illustrates the signatures of OWFs. Now users can make SQL queries , considering these OWF as regular relations, calling any web service without any programming.
A common need to search information through data providing web services , with out any side effects, returning set of objects for a given set of parameters.
By starting separate query processes each calling a plan function for different parameter tuples
The views can be queried with SQL
Central plan – heuristic cost model- web service signature- assuming web service call is expensive Sequential execution is slow.
Multilevel execution plans generated with several layers of parallelism – process tree fanout central query plan to parallel query plan coordinator initiates communication between child processes and ships plan functions. Then it stream of different parameter tuples results delivered as streams from child processes
End of call message
In these case of queries it is close to a homogenousfanout tree. Properties of web services are unknown