1 A Flexible and Secure Deployment Framework for Distributed Applications Alan Dearle, Graham Kirby, Andrew McCarthy and Juan Carlos Diaz y Carballo School.

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

Network II.5 simulator ..
12 October 2011 Andrew Brown IMu Technology EMu Global Users Group 12 October 2011 IMu Technology.
Service Oriented Architecture for Mobile Applications Swarupsingh Baran University of North Carolina Charlotte.
Database System Concepts and Architecture
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
Distributed Application Management Using PLuSH Jeannie Albrecht, Christopher Tuttle, Alex C. Snoeren, and Amin Vahdat UC San Diego CSE {jalbrecht, ctuttle,
Interpret Application Specifications
Chapter 1: Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University.
The Architecture of Transaction Processing Systems
AgentOS: The Agent-based Distributed Operating System for Mobile Networks Salimol Thomas Department of Computer Science Illinois Institute of Technology,
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
The Open Grid Service Architecture (OGSA) Standard for Grid Computing Prepared by: Haoliang Robin Yu.
3.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 3: Introducing Active Directory.
Theories and Frameworks for Ubiquitous Computing Alan Dearle School of Computer Science University of St Andrews.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
System Design/Implementation and Support for Build 2 PDS Management Council Face-to-Face Mountain View, CA Nov 30 - Dec 1, 2011 Sean Hardman.
Microsoft ® Application Virtualization 4.6 Infrastructure Planning and Design Published: September 2008 Updated: February 2010.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
11 REVIEWING MICROSOFT ACTIVE DIRECTORY CONCEPTS Chapter 1.
WORKFLOW IN MOBILE ENVIRONMENT. WHAT IS WORKFLOW ?  WORKFLOW IS A COLLECTION OF TASKS ORGANIZED TO ACCOMPLISH SOME BUSINESS PROCESS.  EXAMPLE: Patient.
Chapter 10 Architectural Design
The Design Discipline.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Object and component “wiring” standards This presentation reviews the features of software component wiring and the emerging world of XML-based standards.
1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus.
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
An Introduction to Software Architecture
Microsoft Active Directory(AD) A presentation by Robert, Jasmine, Val and Scott IMT546 December 11, 2004.
COMP 410 & Sky.NET May 2 nd, What is COMP 410? Forming an independent company The customer The planning Learning teamwork.
SITools Enhanced Use of Laboratory Services and Data Romain Conseil
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
Replication & EJB Graham Morgan. EJB goals Ease development of applications –Hide low-level details such as transactions. Provide framework defining the.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
© 2004 Mercury Computer Systems, Inc. FPGAs & Software Components Graham Bardouleau & Jim Kulp Mercury Computer Systems, Inc. High Performance Embedded.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Mobile Agents For Mobile Computing Department Of Computer Science – Dartmouth College Robert Gray David Kotz Saurab Nog Daniela Rus George Cybenko.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
June 13-15, 2007Policy 2007 Infrastructure-aware Autonomic Manager for Change Management H. Abdel SalamK. Maly R. MukkamalaM. Zubair Department of Computer.
 Distributed Database Concepts  Parallel Vs Distributed Technology  Advantages  Additional Functions  Distribution Database Design  Data Fragmentation.
Nanbor Wang, Balamurali Ananthan Tech-X Corporation Gerald Gieraltowski, Edward May, Alexandre Vaniachine Argonne National Laboratory 2. ARCHITECTURE GSIMF:
Vignesh Ravindran Sankarbala Manoharan. Infrastructure As A Service (IAAS) is a model that is used to deliver a platform virtualization environment with.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Introduction to Core Database Concepts Getting started with Databases and Structure Query Language (SQL)
Building Preservation Environments with Data Grid Technology Reagan W. Moore Presenter: Praveen Namburi.
Chapter 29: Program Security Dr. Wayne Summers Department of Computer Science Columbus State University
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
The Open Grid Service Architecture (OGSA) Standard for Grid Computing
Distribution and components
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Mobile Agents.
Chapter 29: Program Security
Cloud-Enabling Technology
Presentation transcript:

1 A Flexible and Secure Deployment Framework for Distributed Applications Alan Dearle, Graham Kirby, Andrew McCarthy and Juan Carlos Diaz y Carballo School of Computer Science University of St Andrews, North Haugh, St Andrews, Fife KY16 9SS, Scotland {al, graham, ajm,

2 Overview ■ This paper describes an implemented system which is designed to support the deployment of applications offering distributed services, comprising a number of distributed components.

3 Requirements ■ An architectural description of: software components hosts Interconnections ■ The ability to enact the architectural description: the ability to install and execute code on remote hosts a security mechanism ■ Support for component implementation using standard programming languages and appropriate programming models ■ The ability for components to interface with off-the-shelf components already deployed

4 Cingal Computational Model The bundle is the only user- level entity that may be executed in Cingal Bundles are passive, consisting of a closure of code and data and a set of bindings naming the data. ■ Each bundle carries an authentication element with attributes entity and signature. The entity identifies the bundle using a globally unique identifier (GUID) implemented via an MD5 key. Bundles are passive, consisting of a closure of code and data and a set of bindings naming the data. The data section of a bundle, known as its payload, comprises data with each datum having a unique id attribute. In the example the bundle carries one datum named ToDoList It is common for bundles to carry other bundles in their payload, in order to install bundles in the store or fire them in other machines. What about these? Cingal supports asynchronous message-oriented inter-machine communication via channels. The machine channel is used to communicate with the machine infrastructure The default channel is used to communicate with the bundle running within the machine Cingal also supports named channels between entities Using named channels, individual executing bundles are isolated from the specifics of what components are connected to them This isolation permits channels to be connected, disconnected and reconnected independently of the running program The connection manager is responsible for the management of named channels. It maintains an associative mapping of names to channels

5 A Cingal Bundle <AUTHENTICATION entity=" df7447eb91509" signature="DQoew3rasZ…9wu9ySLGU"/> MamF2YS9sYW5nL09ia… Lvcxk3wnAIUN…

6 Application Deployment ■ The Cingal system provides the infrastructure for deploying components on arbitrary suitably enabled hosts. ■ However, additional infrastructure is needed to: ➔ describe distributed architectures, and ➔ deploy components from the description ■ This infrastructure comprises a description language, a deployment engine, and various mobile code documents and tools.

7 Deployment Descriptor Documents ■ The description language is an XML schema ■ Each DDD contains an architectural description of an application, comprising: a set of autonomous software components the hosts on which they are to execute the interconnections between them ■ The deployment engine takes a DDD as input ■ It deploys the components described in the DDD on the appropriate hosts ■ These application components are pushed to the hosts as Cingal bundles ■ The deployment engine also pushes various tools to the hosts to carry out local deployment tasks in situ ■ These tools are also transferred as Cingal bundles.

8 A DDD <SOURCEdeployment="PrimaryServer" channel="DownstreamCache" /> <DESTINATIONdeployment="CachingServer" channel="UpstreamServer" />

9 Tools ■ The three primary tools are: installers, runners and wirers. An installer installs an arbitrary number of payload bundles into the store of the destination thin server. A runner starts the execution of a number of bundles previously installed in the store. A wirer is responsible for making concrete connections between pairs of components using the named channel mechanism.

10 State Transitions ■ Under control of these tools, each application component on a thin server moves between the following states: installed: when the bundle has been installed into the store running: when the bundle has been fired and started computation; any reads or writes on named channels will block since they are not connected wired: when the bundle has started computation and all named channels have been connected to other components

11 Installing DDD

12 Running

13 Wiring

14 Related work – Deladas & Autonomic constraintset randc = constraintset { // 1 router or client per host forall host h in deployment ( card(instancesof Router in h) = 1 or card(instancesof Client in h) = 1 ) // every client connects to at least 1 router forall Client c in deployment ( exists Router r in deployment ( c.out connectsto r.cin c.in connectsto r.cout ) ) // every router connects to at most 2 clients forall Router r in deployment ( card(Client c connectedto r) <= 2 ) // every router connects to at least 1 other router forall Router r1 in deployment ( exists Router r2 in deployment ( r1.rout connectsto r2.rin r1.rin connectsto r2.rout r1 != r2 ) ) // routers are reachable from each other forall Router r1,r2 in deployment ( reachable(r1, r2) ) }

15 Conclusions ■ The Cingal infrastructure permits bundles to be deployed in arbitrary geographic locations from conventional machines ■ The runtime infrastructure abstracts over host-specific differences yielding a homogeneous run-time environment for deployed components ■ The store and binder support content addressed storage which permits code and data to be stored with no possibility of ambiguous retrieval ■ Deployment Description Documents support the specification of distributed architectures ■ The deployment engine technology combined with the thin server infrastructure permits distributed deployments to be realised into running instances of component based architectures ■ The process of deployment from specification through to having a connected collection of running components on distributed hosts is totally automated. ■ A number of novel evolution mechanisms are provided by the architecture: the ability to remotely update components flexible binding between components distributed architectures may be re-arranged by unbinding and reconnecting named channels ■ The security mechanisms provided by Cingal prevent unauthorised entities from firing bundles on hosts on which they do not have privilege