Download presentation
Presentation is loading. Please wait.
Published byOctavia Miles Modified over 9 years ago
1
V ERSION CONSISTENCY IMPLEMENTATION
2
C ONTENTS Apache Tuscany VcContainer Domain manager VcContainer communication 2
3
D YNAMIC UPDATES Dynamic update of software systems is often desired, sometimes required How to achieve version consistency is one of the key challenges Version Consistency Intuitively, any extant transaction, with all its (direct and indirect) sub-transactions, is executed as if entirely in the old or entirely in the new configuration. 3
4
D YNAMIC UPDATES Goal: implementing a framework to execute dynamic update of component-based systems verify the correctness of version consistency algorithm 4
5
T ECHNOLOGIES Varieties of technologies is available SCA specification defines a common programming model for different technologies Apache Tuscany is an open source implementation of SCA, it’s stable and makes component-based development much more easier 5
6
C OMPONENT - BASED DISTRIBUTED SYSTEMS Static configuration of an example CBDS 6
7
C OMPONENT - BASED DISTRIBUTED SYSTEMS Runtime Portal component Tuscany components communicate via endpoint service endpoint: the service a components expose reference endpoint Interceptor handles messages passing through it transaction, security, … 7
8
O UR CONCERNS Local dynamic dependences maintaining Dependences management Transaction ID allocation Component lifecycle management On-demand setup Achieving freeness 8
9
M AINTAINING LOCAL DEPENDENCES We need to maintain following local dependences future/past arcs entering current component InArcsRegistry future/past arcs leaving current component OutArcsRegistry sub transaction and its root transaction TransactionRegistry 9
10
O UR CONCERNS Local dynamic dependences maintaining Dependences management Transaction ID allocation Component lifecycle management On-demand setup Achieving freeness 10
11
M ANAGEMENT OF DEPENDENCES When a transaction starts When a transaction is running When a transaction ends 11
12
M ANAGEMENT OF DEPENDENCES When a transaction starts create future arcs store future arcs notify parent/sub components When a transaction is running When a transaction ends 12
13
W HEN A TRANSACTION STARTS When root transaction T0 starts, setting up is needed 13
14
W HEN A TRANSACTION STARTS Portal need to create future arcs Setting up future T0T0 T0T0 14
15
W HEN A TRANSACTION STARTS Notify algorithm module that T0 starts; create future arcs to Auth and Proc component add future arcs to OutArcsRegistry notify Auth and Proc that a future arc is created 15
16
M ANAGEMENT OF DEPENDENCES When a transaction starts When a transaction is running update local future/past OutArcsRegistry notify sub component to update their InArcsRegistry identify root and its sub transaction When a transaction ends 16
17
W HEN A TRANSACTION IS RUNNING When root transaction T0 is running, processing is needed 17
18
W HEN A TRANSACTION IS RUNNING Update future arc Progressing past T0T0 18
19
W HEN A TRANSACTION IS RUNNING update related future arc in OutArcsRegistry notify Auth that future arc of T0 needs to be updated Notify algorithm module that T0 is running and Auth component will not be used 19
20
I DENTIFICATION OF ROOT TRANSACTION When root transaction T0 is initiated on Portal, how does sub-transactions T1 on Auth component know its root transaction? 20
21
I DENTIFICATION OF ROOT TRANSACTION Define a trace interceptor to add root transaction ID T0 to the message that is passing through it to resolve message to get root transaction T0, and map current sub transaction root(T1)=T0 21
22
M ANAGEMENT OF DEPENDENCES When a transaction starts When a transaction is running When a transaction ends update local dependences notify parent component 22
23
W HEN A TRANSACTION ENDS Transaction T0 ends 23
24
W HEN A TRANSACTION ENDS Update arcs Cleaning up past T0T0 T0T0 T0T0 T0T0 24
25
W HEN A TRANSACTION ENDS update related future arc in OutArcsRegistry notify Auth that future arc of T0 needs to be updated Notify algorithm module that T0 ends and all components will not be used 25
26
V C CONTAINER A business component and its related VC modules are wrapped in a VcContainer as a single node 26
27
O UR CONCERNS Local dynamic dependences maintaining Dependences management Transaction ID allocation Component lifecycle management On-demand setup Achieving freeness 27
28
A LLOCATION OF TRANSACTION ID In one domain, for each transaction, it should have an unique ID define a domain manager component allocate and destroy transaction ID 28
29
F UTURE WORK Maintaining local dynamic dependences Management of dependences Allocation of unique transaction ID Component lifecycle management On-demand setup Achieving freeness 29
30
C OMPONENT LIFECYCLE MANAGEMENT When a component needs dynamic update, it must be deactivated and messages it receiving must be cached. When dynamic update is done, the component should be activated 30
31
O N - DEMAND SETUP Dynamic configuration management could introduce significant overhead Solution: a configuration can be set up on-demand 31
32
A CHIEVING FREENESS 32
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.