V ERSION CONSISTENCY IMPLEMENTATION. C ONTENTS Apache Tuscany VcContainer Domain manager VcContainer communication 2.

Slides:



Advertisements
Similar presentations
Wei Lu 1, Kate Keahey 2, Tim Freeman 2, Frank Siebenlist 2 1 Indiana University, 2 Argonne National Lab
Advertisements

Design Validation CSCI 5801: Software Engineering.
MIT Lincoln Laboratory A Service-Oriented Approach to Application Development Robert Darneille & Gary Schorer WPI MQP Presentations ICS Group 10 October.
Version-consistent Dynamic Reconfiguration of Component-based Distributed Systems Authors: Xiaoxing May, Luciano Baresi, Carlo Ghezzi, et. al. ABSTRACT.
Sergei Komarov. DNS  Mechanism for IP hostname resolution  Globally distributed database  Hierarchical structure  Comprised of three components.
1 Transactions and Web Services. 2 Web Environment Web Service activities form a unit of work, but ACID properties are not always appropriate since Web.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Scalable Content-aware Request Distribution in Cluster-based Network Servers Jianbin Wei 10/4/2001.
Copyright © 2006, ZapThink, LLC 1 Achieving the “5 Nines” of Business Continuity in SOA Applications Jason Bloomberg Senior Analyst ZapThink, LLC.
Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony L. T.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Tutorials 2 A programmer can use two approaches when designing a distributed application. Describe what are they? Communication-Oriented Design Begin with.
Honors Compilers Addressing of Local Variables Mar 19 th, 2002.
Component-Based Software Engineering Introducing the Bank Example Paul Krause.
1 Distributed Systems: Distributed Process Management – Process Migration.
Object Oriented Analysis and Design Using the UML
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
Client/Server Software Architectures Yonglei Tao.
Testing RAVEN Helmut Neukirchen Faculty of Industrial Engineering, Mechanical Engineering and Computer Science University of Iceland, Reykjavík, Iceland.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Module 3: Table Selection
INTRODUCING SCA Byungwook Cho Nov.2007.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
1 Guide to Novell NetWare 6.0 Network Administration Chapter 11.
German National Research Center for Information Technology Research Institute for Computer Architecture and Software Technology German National Research.
AUTOBUILD Build and Deployment Automation Solution.
DISTRIBUTED DATABASES IN ADBMS Shilpa Seth
Identify steps for understanding and solving the
CCAN: Cache-based CAN Using the Small World Model Shanghai Jiaotong University Internet Computing R&D Center.
SafetyNet: improving the availability of shared memory multiprocessors with global checkpoint/recovery Daniel J. Sorin, Milo M. K. Martin, Mark D. Hill,
NOVA Networked Object-based EnVironment for Analysis P. Nevski, A. Vaniachine, T. Wenaus NOVA is a project to develop distributed object oriented physics.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Release Management Configuration management. Release Management Goal Coordinate the processes through the project development life cycle Ensure the.
Module 11 Session 11.1 Visual 1 Module 11 Executing and Controlling the Work Session 11.1 Managing Execution: Executing and Controlling the Work.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
Simulation of the OLSRv2 Protocol First Report Presentation.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Getting Started with OPC.NET OPC.NET Software Client Interface Client Base Server Base OPC Wrapper OPC COM Server Server Interface WCF Alternate.
Main Issues Three major issues that we are concerned with in sensor networks are – Clustering Routing and Security To be considered against the backdrop.
Ronny Krashinsky Erik Machnicki Software Cache Coherent Shared Memory under Split-C.
OO Methodology Elaboration Iteration 2 - Design Patterns -
Memory Hierarchy Adaptivity An Architectural Perspective Alex Veidenbaum AMRM Project sponsored by DARPA/ITO.
Plethora: Infrastructure and System Design. Introduction Peer-to-Peer (P2P) networks: –Self-organizing distributed systems –Nodes receive and provide.
NOVA A Networked Object-Based EnVironment for Analysis “Framework Components for Distributed Computing” Pavel Nevski, Sasha Vanyashin, Torre Wenaus US.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
L.T.E :: Learning Through Experimenting Using google-svn for MtM Docs Development Denis Thibault Version 3.2 Mar 12 th, 2009.
Chapter 4 Version 1 Virtual LANs. Introduction By default, switches forward broadcasts, this means that all segments connected to a switch are in one.
Security Architecture of qmail and Postfix Authors: Munawar Hafiz Ralph E. Johnson Prepared by Geoffrey Foote CSC 593 Secure Software Engineering Seminar.
EbiTrack Architecture Version 1.0 September 24, 2012.
Software Development Life Cycle (SDLC)
Linux Operations and Administration
Introduction to business component technologies. Component definitions Szyperski: A software component is a unit of composition with contractually specified.
310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION SOFTWARE ENGINEERING SOFTWARE ENGINEERING.
Vignesh Ravindran Sankarbala Manoharan. Infrastructure As A Service (IAAS) is a model that is used to deliver a platform virtualization environment with.
Chapter pages1 Distributed Process Management Chapter 14.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
Ext JS - Direct Bridging The Gap A DMSBT Presentation By Timothy Chandler.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Using Digital Signature with DNS. DNS structure Virtually every application uses the Domain Name System (DNS). DNS database maps: –Name to IP address.
Software Verification and Validation
Self Healing and Dynamic Construction Framework:
Configuration Management with Azure Automation DSC
CAE-SCRUB for Incorporating Static Analysis into Peer Reviews
Chapter 4: Threads.
Page Replacement.
SDLC Model A framework that describes the activities performed at each stage of a software development project.
IBM C IBM Big Data Engineer. You want to train yourself to do better in exam or you want to test your preparation in either situation Dumpspedia’s.
Update on a few activities And many things to do
GoF Patterns Ch. 26.
Presentation transcript:

V ERSION CONSISTENCY IMPLEMENTATION

C ONTENTS Apache Tuscany VcContainer Domain manager VcContainer communication 2

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

D YNAMIC UPDATES Goal: implementing a framework to execute dynamic update of component-based systems verify the correctness of version consistency algorithm 4

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

C OMPONENT - BASED DISTRIBUTED SYSTEMS Static configuration of an example CBDS 6

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

O UR CONCERNS Local dynamic dependences maintaining Dependences management Transaction ID allocation Component lifecycle management On-demand setup Achieving freeness 8

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

O UR CONCERNS Local dynamic dependences maintaining Dependences management Transaction ID allocation Component lifecycle management On-demand setup Achieving freeness 10

M ANAGEMENT OF DEPENDENCES When a transaction starts When a transaction is running When a transaction ends 11

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

W HEN A TRANSACTION STARTS When root transaction T0 starts, setting up is needed 13

W HEN A TRANSACTION STARTS Portal need to create future arcs Setting up future T0T0 T0T0 14

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

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

W HEN A TRANSACTION IS RUNNING When root transaction T0 is running, processing is needed 17

W HEN A TRANSACTION IS RUNNING Update future arc Progressing past T0T0 18

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

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

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

M ANAGEMENT OF DEPENDENCES When a transaction starts When a transaction is running When a transaction ends update local dependences notify parent component 22

W HEN A TRANSACTION ENDS Transaction T0 ends 23

W HEN A TRANSACTION ENDS Update arcs Cleaning up past T0T0 T0T0 T0T0 T0T0 24

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

V C CONTAINER A business component and its related VC modules are wrapped in a VcContainer as a single node 26

O UR CONCERNS Local dynamic dependences maintaining Dependences management Transaction ID allocation Component lifecycle management On-demand setup Achieving freeness 27

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

F UTURE WORK Maintaining local dynamic dependences Management of dependences Allocation of unique transaction ID Component lifecycle management On-demand setup Achieving freeness 29

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

O N - DEMAND SETUP Dynamic configuration management could introduce significant overhead Solution: a configuration can be set up on-demand 31

A CHIEVING FREENESS 32