Using reflective features to support mobile users

Size: px
Start display at page:

Download "Using reflective features to support mobile users"

Transcription

1 Using reflective features to support mobile users V.Marangozova, F.Boyer Laboratoire /Projet INRIA SIRAC, INRIA/INPG/UJF, France ( Replication is a technique that allows the construction of applications ensuring normal execution regardless of the mobile users connection state. To satisfy application-specific requirements as well as different computing environment constraints, both replica management and connection/disconnection processes should be adaptable. This paper presents how reflective features can be used to meet this objective. Our reflective support is an extension of the Java environment which provides the notion of adaptable objects able to dynamically modify their behavior. 1 Motivations 1.1 General observations The continuously increasing user mobility and the appearance of various mobile devices such as PDAs, portable computers, etc. presents new challenges to the area of distributed applications. One of the major problems faced is disconnection. In order that mobile users could use normally their computing environments regardless of their state of connection, programmers need an adapted support allowing the creation of distributed applications capable of adapting and executing in disconnected mode. In this paper we present our approach to providing such a support. The disconnection management is based on component replication and respectively reconciliation. The disconnections we consider are not hazardous and due to network fluctuation but are explicitly launched by the users. Our opinion is that the management of an application's data and/or code at transitions (disconnections and reconnections) should be specific to the application. This is explained by our belief that a generic replication and reconciliation protocol cannot satisfy the needs of all types of applications. To attain this objective, we believe that it is essential for the mobile users support to be adaptable. Adaptability is needed both at the application and at the middleware level. As far as the application is concerned we think that there should be means of adapting both the data and the code to be replicated. The contents of the replicated data should be defined by following some application-specific rules. We can cite a simple example of a user of an agenda wanting to take away the list of his rendez-vous during the two weeks of his absence and not the list for all the year. The adaptations concerning the code which is to be downloaded on the user's device before disconnection may address the right to access some operations (forbid some operations on shared data during the disconnection) or change the execution of operations whose behavior must be connection-dependent. The validation of a reservation is for example an operation which needs the global context available only in connected mode and therefore cannot be executed in the same way during disconnection. Middleware adaptations are also needed in order to support application execution in different computer environments characterized by different computational constraints. The adaptation can consist of simplifying or even suppressing the transaction management. It can address the persistency service and consist in using data stored in local files rather than managed in a database (a database is a memory-consuming application which is a problem for PDAs). Finally, the adaptation can also concern the communication protocols. 1.2 Approach We believe that a reflective approach is a uniform way to achieve the goals of adaptability and specificity. At the middleware level, a reflective architecture can adapt itself to a given configuration, either by replacing some parts of code or by adding new functionalities [BP97]. Instead of having to manage an important number of system versions and choose the most appropriate one at loading time, a reflective architecture allows the building a minimal system which can be dynamically extended with more or less independent services [BR2000], also called aspects in other systems [KLM+97]. In our context this is applied literally. Having in mind the complexity of distributed applications, the various parameters of configuration, the diversity of mobile devices and the infinity of users' preferences and ways of utilization, it is not realistic to have all the versions pre-programmed and available. In order to prepare the work in disconnected mode and to take into account the specificity of the working environment (the device), the specificity of the application (internal logic)

2 and the specific preferences of the mobile user (possibly given at the moment of disconnection) we need a reflective architecture which can adapt dynamically. At the application level, the adaptation of the code and the data can be managed by specific interposition objects that intercept the calls to the objects of the application. This is indeed a good way to separate the functional code from the management of the application properties such as persistency, security, replication, etc. Such interposition objects are often application-specific. However, they are generally static i.e they are fixed to correspond to only one type of computing environment and do not support adaptation. It is the reason why we are currently working on the relevance of building interposition objects with reflective features. This would allow the application's behavior to be adapted according to the properties of the computing environment. In the following of this paper we present the way we use reflective mechanisms to build an adaptable middleware. This middleware allows the application's behavior to be dynamically adapted and supports mobile users through the replication of objects. The middleware architecture is presented in section 2, while the principles of the management of mobile users are explained in section 3. 2 The JavaPod reflective architecture The architecture we use as a support for mobile users is called JavaPod and is inspired by the Enterprise Java Beans platform architecture [EJB]. The main difference with EJB is that JavaPod provides a more important degree of adaptability as explained in the following. 2.1 Adaptable objects Adaptable objects are the basic reflective entities used by JavaPod. An adaptable object (Figure 1) is composed of a totally ordered set of objects (subobjects). The first sub-object in this order is called extensible object while the others are extensions. While the extensible object is invariant, any of its extensions can be added, removed or replaced dynamically. A method call on an adaptable object is executed by the last (in the considered order) sub-object. If there is no sub-object which implements the method, the call fails. Any extension has the ability to call the same method on the lower level sub-object. In other words, an extension can add new methods on the extensible object, or modify the existing ones. Client N() N() Extension e Extensible object o Figure 1 : Adaptable object (o < e) T This composition model is made available through an extension of the Java language, called ejava. In ejava, an extensible object is a Java object extending the ExtensibleObject class. In the same way, an extension is a Java object extending the Extension class. The following example illustrates the basic mechanisms provided by ejava. The object of class C can be dynamically modified with an extension such as D, through a call to the addextension(new D()) method defined in ExtensibleObject objects. class C extends ExtensibleObject { private int value; public int getvalue () { return value;} public void setvalue (int value){ this.value = value; } public void printvalue () { System.out.println(value); } } class D extends Extension { public void printvalue () { System.out.print("the value is"); super.printvalue(); } public void addvalue (int value) { int oldvalue = ((C)this).getValue(); ((C)this).setValue( oldvalue+value);} } //the cast (C) is possible because class D is an extension of class C 2.2 The JavaPod architecture A JavaPod application is composed of a set of components. A component is a non-distributed entity consisting of a graph of objects which may be adaptable or not, according to the developer s needs. Components are associated with containers, which represent their system view.

3 A container encapsulates a component i.e. it intercepts any communication between the component and the external world. A container is more precisely an adaptable structure, composed of adaptable stubs and skeletons which can manage the incoming and outgoing communications according to some application-dependent constraints. Containers are executed within Servers, which act as providers of services such as communication protocols, persistence, replication, security. A server is itself programmed as an adaptable object. container server S1 container server S2 Figure 2 : The JavaPod architecture 3 Support for disconnected users The main idea of our proposal is to enable the application s programmer to define explicitly the replication/ reconciliation protocol for a given application and to connect this application-dependent part to a generic support whose adaptations during transitions (connections/disconnections) are also controlled by the programmer. As our support for mobile users is based on replication, we present in Section 3.1 the principles of the replication management. In section 3.2 we discuss how ejava extensions and thus reflexivity are used to ensure a normal working environment in disconnected mode. 3.1 Replication management Replication units While the replication of fine-grained objects would be inefficient, JavaPod allows to consider the replication of components (clusters of objects) which are the basic units of construction of an application. The different replicas of a given component C may have different contents. However, they all provide the same interface. This allows to program calls to components without worrying about their replication state. Replication model We use a one master- many slaves replication model. There is one master replica per component and it coordinates replicas creation, placement, deletion and reconciliation. For the moment we consider masters as fixed entities which do not migrate. Replication management at the application level In order to reflect the application s specificity in the creation and reconciliation of replicas, we propose that a particular interface (ReplicableComponent, Figure 3) is implemented by components. Basically the methods are ComponentClone(...) for creating a specific replica and ComponentMerge(...) for application-specific reconciliation. This upcall mechanism will come as a complement to the and thus adapt it to the application s semantics. Although at the moment we think of this interface and its implementation as being fixed during the implementation of the application, we can imagine to implement it as an adaptable object and allow the programmer to choose different extensions (depending on the user s preferences) at different disconnections. Thus the replication strategy would become adaptable while remaining specific to the application. When we talk of adaptation of the replicas contents, we refer mainly to the data manipulated by the component. This allows the user to take away only the data he needs. For the moment we are not considering the possibility of mechanisms allowing a user to open a component and to replicate only a part of its operations. This feature could be considered if we are interested in rendering the components lighter by replicating only the treatments wanted by the user. Component ComponentClone(...) ComponentMerge(...) Figure 3 : Interface ReplicableComponent To allow the user to explicitly request a disconnection, we think of providing a disconnect operation in the interface of the application. This operation would start the process of replication and thus of adaptation to the new environment and may be interactive. The user can be requested to give his preferences and choose to use the data to be replicated. It is this dialogue which will be used to define the components needed to be replicated. Calls can then be made to the in order to create the corresponding replicas. At reconnection time, an operation connect should take into account different possibilities of interaction. In the case of a demand for reconciliation, the modified content of a component will be merged with the master by using the methods programmed specifically in the ReplicableComponent interface. To identify the modified content, the support could be aided by the information

4 given at disconnection and concerning the mode of utilization. (If a method is forbidden for a user, there are no modifications due to calls to this method.) The reconciliation is not necessarily followed by a destruction of the local replicas. The user may wish to continue working in disconnected mode. The connect operation can also be used in order to complete a local configuration of the application and create additional replicas. In this case, we will use the same mechanisms as explained above. Replication management at the middleware level There are several important points to consider about replication management at the middleware level. First, the communication between application s components is depending on the connection context. In connected mode this communication is mostly distributed (for example RMI), while in disconnected mode replicas communicate locally. This is one of the features to be adapted while switching the mode. With the JavaPod reflective architecture this is to be done using the capacity to dynamically adapt a container s stubs and make them reference the local replicas. The references used depend on the connection context. Locally we will use the replicas local references, while in a distributed context, the only valid references would be those of the master components. The switching from local to global references and vice versa is done only when needed (changing of context for example) by using a bijective mapping. The services and protocols used either implicitly or explicitly by the application have to be adapted too. For instance, the transaction service may be absent during disconnection, the transactions being performed at reconciliation time. The change of the persistency service, as we ve already mentioned it in the introduction of this paper, is also an example of the adaptation needs. Adaptations are also to be made at reconnection. The system has to be adapted to the distributed context. Knowing that this context could be different from the one used before disconnection, the readaptation is not necessarily a restore of a connected state. Figure 4 presents schematically the replication management support. It shows the communications between the and a component which are used for the application specific replication/reconciliation protocol. There are also the list of server s extensions (, etc.) as well as the stubs of communication allowing adaptations thanks to the JavaPod reflective capacities. Replication Service ComponentClone(...) ComponentMerge(...) Persistency Service adaptable stub Server Figure 4 : Replication support 3.2 Managing disconnected users: an example We will illustrate the operation of the proposed support by an example of a shared agenda. The agenda is managing reservations and is located on a server. The reservations are stored in a database. While connected, the user accesses the agenda through a user interface (UI, Figure 5) executed on the client s machine (e.g an applet). The user can create reservations or demand to see the reservations for a given period of time (a month for example). When this happens, a component Month is created and becomes part of the application. It is not compulsory for the database or for the newly created components Month to reside on the same server as the component agenda. UI Agenda January Client C Server S Figure 5 : Client and Server in connected mode At disconnection time, the user chooses to keep the data corresponding to the reservations for the month of January. The disconnect() operation then calls the createreplica(...) method of the of the client s server for the components to be replicated, in our example the root component agenda and the component representing the month January. The communicates with the Replication Service of Server S, which addresses the specific clone methods provided by the two components to get their replica content. The has then to adapt the UI and namely his stubs and skeletons in order to use the local

5 replicas. The communication between the replicated components (agenda and month January) is also to be local even if the master components are possibly distributed. UI In our example, the two stubs for communicating with the agenda and the month component, as well as the stub between the agenda and the month, are adapted to reference the local replicas. 4 Related work The idea of allowing the application's programmer to define the process of data reconciliation at reconnection has been explored in other projects such as Bayou [TTP+95]. Compared to our proposal, Bayou addresses file replication at the server side for availability reasons. Others projects have tried to support disconnected work at the file system level ([Sat96], etc.). They have addressed the problems of data prefetching and optimistic concurrency control. There are systems or middlewares which use reflective features for providing a [KIG96]. However, at our knowledge, they do not really address the same objectives, mainly because they provide replication in order to increase the efficiency and the availability of an application. Finally, other projects such as Rover [JLT+95] define an architecture for allowing work to be done in the presence of network disconnections. One major difference with our proposal is that Rover objects are specifically programmed, and communicate through a specific access manager. Moreover, the problem of adapting the middleware to the constraints of a client's host is not addressed. In general, the using of reflective features in distributed systems is becoming more and more attractive because there is a need to provide open middlewares which can be adapted to the environment, to the application and to the users needs [BCR+97, Led99]. 5 Conclusion Agenda January adapted stub Figure 6 : Client in Disconnected mode In this paper we presented our framework enabling the construction of applications supporting disconnected mode of work. Disconnection is supported through replication and we allow the definition of application specific replication/reconciliation protocols. Reflection is used in order to effect the needed adaptations (both the application and the middleware levels) at disconnection and reconnection times. We expect to provide an intelligent support which could be easily adapted to various types of applications. We are actually working on our first prototype and plan experimentations with different applications. Some interesting issues to consider in the future include for example support for unpredictable disconnections. Acknowledgments We wish to thank Eric Bruneton for the valuable discussions concerning reflection and replication issues as well as for his remarks helping the redaction of this paper. References [BCR+97] G.Blair, G.Coulson, P.Robin, M. Papathomas, An Architecture for Next Generation Middleware, In Proc. Of Middleware 98, Springer-Verlag, Septembre 1998 [BR2000] E.Bruneton and M.Riveill, JavaPod: une plate-forme à composants adaptable et extensible, INRIA research rapport 3850, January 2000 [EJB] Entreprise JavaBeans, produects/ejb [JLT+95] A.Joseph, A.deLespinasse, J.Tauber et all. Rover: A Toolkit for Mobile Information Access, In Proc. of the Fifteenth ACM Symposium on Operating Systems Principles (SOSP), Copper Mountain Resort, CO, 1995 [KIG96] J.Kleinöder, M.Golm MetaJava: An Efficient Run-Time Meta Architecture for Java. In Proc. of the International Workshop on Object Orientation in Operating Systems - IWOOS 96, October 1996, IEEE 1996 [KLM+97] G.Kiczales, J.Lamping, A.Mendhekar et all. Aspect-Oriented Programming, ECOOP 97, Jyväskylä, Finland, June 1997 [Led99] T.Ledoux, OpenCorba: a Reflective Open Broker, Reflection 99, Saint-Malo, France, July 1999 [Sat96] M.Satyanarayanan, Mobile Information Access, In IEEE Personal Communications p.26-33, February 1996 [TTP+95] D.Terry, M.Theimer, K.Petersen et all. Managing update conflicts in a weakly connected replicated storage system, In Proc. of the Fifteenth ACM Symposium on Operating Systems Principles (SOSP), Copper Mountain Resort, CO, 1995

m() super.m (execution path) extension f n() f.m n() o.m extension e m() n() m() extensible object o composite object (o < e < f)

m() super.m (execution path) extension f n() f.m n() o.m extension e m() n() m() extensible object o composite object (o < e < f) Reective implementation of non-functional properts with the JavaPod component platform Eric Bruneton, Michel Riveill SIRAC Project (INPG-UJF-INRIA) INRIA, 655 av. de l'europe, 38330 Montbonnot Saint-Martin,

More information

Many distributed programming. Java Programming

Many distributed programming. Java Programming Java Programming A Configurable RMI Mechanism for Sharing Distributed Java Objects Javanaise is a remote method invocation mechanism that extends the functionality of Java RMI by allowing dynamic caching

More information

Dynamic Adaptability of Services in Enterprise JavaBeans Architecture

Dynamic Adaptability of Services in Enterprise JavaBeans Architecture 1. Introduction Dynamic Adaptability of Services in Enterprise JavaBeans Architecture Zahi Jarir *, Pierre-Charles David **, Thomas Ledoux ** zahijarir@ucam.ac.ma, {pcdavid, ledoux}@emn.fr (*) Faculté

More information

Disconnected Operations in Mobile Environments

Disconnected Operations in Mobile Environments Disconnected Operations in Mobile Environments Denis Conan, Sophie Chabridon and Guy Bernard Institut National des Télécommunications 9, rue Charles Fourier 91011 Évry cedex, France Denis.Conan Sophie.Chabridon

More information

Advanced Topics in Operating Systems

Advanced Topics in Operating Systems Advanced Topics in Operating Systems MSc in Computer Science UNYT-UoG Dr. Marenglen Biba 8-9-10 January 2010 Lesson 10 01: Introduction 02: Architectures 03: Processes 04: Communication 05: Naming 06:

More information

Today: Distributed Objects. Distributed Objects

Today: Distributed Objects. Distributed Objects Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.

More information

A Grid-Enabled Component Container for CORBA Lightweight Components

A Grid-Enabled Component Container for CORBA Lightweight Components A Grid-Enabled Component Container for CORBA Lightweight Components Diego Sevilla 1, José M. García 1, Antonio F. Gómez 2 1 Department of Computer Engineering 2 Department of Information and Communications

More information

Example File Systems Using Replication CS 188 Distributed Systems February 10, 2015

Example File Systems Using Replication CS 188 Distributed Systems February 10, 2015 Example File Systems Using Replication CS 188 Distributed Systems February 10, 2015 Page 1 Example Replicated File Systems NFS Coda Ficus Page 2 NFS Originally NFS did not have any replication capability

More information

A Context Based Storage System for Mobile Computing Applications

A Context Based Storage System for Mobile Computing Applications A Context Based Storage System for Mobile Computing Applications Sharat Khungar Jukka Riekki {firstname.lastname}@ee.oulu.fi Department of Electrical and Information Engineering and Infotech Oulu P.O.BOX

More information

CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY

CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY SUN CERTIFICATION CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY TABLE OF CONTENTS Introduction..............................................

More information

Application Servers G Session 11 - Sub-Topic 2 Using Enterprise JavaBeans. Dr. Jean-Claude Franchitti

Application Servers G Session 11 - Sub-Topic 2 Using Enterprise JavaBeans. Dr. Jean-Claude Franchitti Application Servers G22.3033-011 Session 11 - Sub-Topic 2 Using Enterprise JavaBeans Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences

More information

BRANCH:IT FINAL YEAR SEVENTH SEM SUBJECT: MOBILE COMPUTING UNIT-IV: MOBILE DATA MANAGEMENT

BRANCH:IT FINAL YEAR SEVENTH SEM SUBJECT: MOBILE COMPUTING UNIT-IV: MOBILE DATA MANAGEMENT - 1 Mobile Data Management: Mobile Transactions - Reporting and Co Transactions Kangaroo Transaction Model - Clustering Model Isolation only transaction 2 Tier Transaction Model Semantic based nomadic

More information

Reflective Java and A Reflective Component-Based Transaction Architecture

Reflective Java and A Reflective Component-Based Transaction Architecture Reflective Java and A Reflective Component-Based Transaction Architecture Zhixue Wu APM Ltd., Poseidon House, Castle Park, Cambridge CB3 0RD UK +44 1223 568930 zhixue.wu@citrix.com ABSTRACT In this paper,

More information

A NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING

A NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING A NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING Güray YILMAZ 1 and Nadia ERDOĞAN 2 1 Dept. of Computer Engineering, Air Force Academy, 34807 Yeşilyurt, İstanbul, Turkey 2 Dept. of

More information

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication

More information

Transaction Management in EJBs: Better Separation of Concerns With AOP

Transaction Management in EJBs: Better Separation of Concerns With AOP Transaction Management in EJBs: Better Separation of Concerns With AOP Johan Fabry Vrije Universiteit Brussel, Pleinlaan 2 1050 Brussel, Belgium Johan.Fabry@vub.ac.be March 8, 2004 1 Introduction The long-term

More information

Javanaise: distributed shared objects for Internet cooperative applications

Javanaise: distributed shared objects for Internet cooperative applications Javanaise: distributed shared objects for Internet cooperative applications D. Hagimont, D. Louvegnies Contact person: Daniel Hagimont Postal address: INRIA Rhône-Alpes 655, avenue de l'europe 38330 Montbonnot

More information

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems On Object Orientation as a Paradigm for General Purpose Distributed Operating Systems Vinny Cahill, Sean Baker, Brendan Tangney, Chris Horn and Neville Harris Distributed Systems Group, Dept. of Computer

More information

Java Framework for Database-Centric Web Site Engineering

Java Framework for Database-Centric Web Site Engineering Java Framework for Database-Centric Web Site Engineering Beat Signer, Michael Grossniklaus and Moira C. Norrie fsigner, grossniklaus, norrieg@inf.ethz.ch Institute for Information Systems ETH Zurich CH-8092

More information

Black-Box Program Specialization

Black-Box Program Specialization Published in Technical Report 17/99, Department of Software Engineering and Computer Science, University of Karlskrona/Ronneby: Proceedings of WCOP 99 Black-Box Program Specialization Ulrik Pagh Schultz

More information

Software Components and Distributed Systems

Software Components and Distributed Systems Software Components and Distributed Systems INF5040/9040 Autumn 2017 Lecturer: Eli Gjørven (ifi/uio) September 12, 2017 Outline Recap distributed objects and RMI Introduction to Components Basic Design

More information

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS Distributed Objects Figure 10-1. Common organization of a remote

More information

WORLD WIDE NEWS GATHERING AUTOMATIC MANAGEMENT

WORLD WIDE NEWS GATHERING AUTOMATIC MANAGEMENT WORLD WIDE NEWS GATHERING AUTOMATIC MANAGEMENT Luís Veiga and Paulo Ferreira {luis.veiga, paulo.ferreira } @ inesc.pt INESC, Rua Alves Redol, 9 - Lisboa -1000 Lisboa - Portugal Abstract The world-wide-web

More information

Mobile NFS. Fixed NFS. MFS Proxy. Client. Client. Standard NFS Server. Fixed NFS MFS: Proxy. Mobile. Client NFS. Wired Network.

Mobile NFS. Fixed NFS. MFS Proxy. Client. Client. Standard NFS Server. Fixed NFS MFS: Proxy. Mobile. Client NFS. Wired Network. On Building a File System for Mobile Environments Using Generic Services F. Andre M.T. Segarra IRISA Research Institute IRISA Research Institute Campus de Beaulieu Campus de Beaulieu 35042 Rennes Cedex,

More information

PSD1B Advance Java Programming Unit : I-V. PSD1B- Advance Java Programming

PSD1B Advance Java Programming Unit : I-V. PSD1B- Advance Java Programming PSD1B Advance Java Programming Unit : I-V PSD1B- Advance Java Programming 1 UNIT I - SYLLABUS Servlets Client Vs Server Types of Servlets Life Cycle of Servlets Architecture Session Tracking Cookies JDBC

More information

COMPONENT BASED TECHNOLOGY (IT-1401)

COMPONENT BASED TECHNOLOGY (IT-1401) COMPONENT BASED TECHNOLOGY (IT-1401) TWO MARK QUESTIONS: UNIT-I 1. Define software component. A software component is a system element offering a predefined serviceable to communicate with other components.

More information

Synopsis by: Stephen Roberts, GMU CS 895, Spring 2013

Synopsis by: Stephen Roberts, GMU CS 895, Spring 2013 Using Components for Architecture-Based Management The Self-Repair case Sylvain Sicard Université Joseph Fourier, Grenoble, France, Fabienne Boyer Université Joseph Fourier, Grenoble, France, Noel De Palma

More information

Disconnected Operation in a Mobile Computation System

Disconnected Operation in a Mobile Computation System Disconnected Operation in a Mobile Computation System Marco T. de O. Valente, Roberto da S. Bigonha, Mariza A. da S. Bigonha, Antonio A.F. Loureiro Department of Computer Science University of Minas Gerais

More information

Understanding Impact of J2EE Applications On Relational Databases. Dennis Leung, VP Development Oracle9iAS TopLink Oracle Corporation

Understanding Impact of J2EE Applications On Relational Databases. Dennis Leung, VP Development Oracle9iAS TopLink Oracle Corporation Understanding Impact of J2EE Applications On Relational Databases Dennis Leung, VP Development Oracle9iAS TopLink Oracle Corporation J2EE Apps and Relational Data J2EE is one of leading technologies used

More information

Today CSCI Coda. Naming: Volumes. Coda GFS PAST. Instructor: Abhishek Chandra. Main Goals: Volume is a subtree in the naming space

Today CSCI Coda. Naming: Volumes. Coda GFS PAST. Instructor: Abhishek Chandra. Main Goals: Volume is a subtree in the naming space Today CSCI 5105 Coda GFS PAST Instructor: Abhishek Chandra 2 Coda Main Goals: Availability: Work in the presence of disconnection Scalability: Support large number of users Successor of Andrew File System

More information

C-ANIS: a Contextual, Automatic and Dynamic Service-Oriented Integration Framework

C-ANIS: a Contextual, Automatic and Dynamic Service-Oriented Integration Framework C-ANIS: a Contextual, Automatic and Dynamic Service-Oriented Integration Framework Noha Ibrahim, Frédéric Le Mouël and Stéphane Frénot {noha.ibrahim, frederic.le-mouel, stephane.frenot}@insa-lyon.fr ARES

More information

Chapter 1: Distributed Information Systems

Chapter 1: Distributed Information Systems Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier

More information

Design and Implementation of High Performance and Availability Java RMI Server Group

Design and Implementation of High Performance and Availability Java RMI Server Group Design and Implementation of High Performance and Availability Java RMI Group 1. Introduction Tianjing Xu University of Auckland, Auckland, New Zealand txu012@ec.auckland.ac.nz Nowadays, providing high

More information

DESIGN PATTERN - INTERVIEW QUESTIONS

DESIGN PATTERN - INTERVIEW QUESTIONS DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions

More information

Transaction Processing in a Mobile Computing Environment with Alternating Client Hosts *

Transaction Processing in a Mobile Computing Environment with Alternating Client Hosts * Transaction Processing in a Mobile Computing Environment with Alternating Client Hosts * Sven Buchholz, Thomas Ziegert and Alexander Schill Department of Computer Science Dresden University of Technology

More information

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs Gilles Ardourel, Marianne Huchard To cite this version: Gilles Ardourel, Marianne Huchard. Teaching Encapsulation and

More information

Framework of an Application-Aware Adaptation Scheme for Disconnected Operations

Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee and Young-Koo Lee Department of Computer Engineering,

More information

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2 Chapter 1: Distributed Information Systems Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 1 Design

More information

Cloud Computing and Hadoop Distributed File System. UCSB CS170, Spring 2018

Cloud Computing and Hadoop Distributed File System. UCSB CS170, Spring 2018 Cloud Computing and Hadoop Distributed File System UCSB CS70, Spring 08 Cluster Computing Motivations Large-scale data processing on clusters Scan 000 TB on node @ 00 MB/s = days Scan on 000-node cluster

More information

Distributed Collaboration - Assignment 3: Replicated N-User IM

Distributed Collaboration - Assignment 3: Replicated N-User IM Distributed Collaboration - Assignment 3: Replicated N-User IM Date Assigned: Sep 24, 2009 1-user IM Completion Date: Oct 1, 2009 N-user IM Completion Date: Thu Oct 15, 2009 Deleted: 8 Objectives: Implement

More information

Policy Analysis and Verification by Graph Transformation Tools

Policy Analysis and Verification by Graph Transformation Tools GraBaTs 04 Preliminary Version Policy Analysis and Verification by Graph Transformation Tools Yujie Zhao and Francesco Parisi-Presicce George Mason University - USA Abstract Policies are used to control

More information

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR 2011 2012(ODD SEMESTER) QUESTION BANK SUBJECT CODE / NAME: IT1402-MIDDLEWARE TECHNOLOGIES YEAR/SEM : IV / VII UNIT

More information

This is the published version of a paper presented at Workshop on Innovative Mobile Applications of Context (IMAC) at MobileHCI 2006, Espoo, Finland.

This is the published version of a paper presented at Workshop on Innovative Mobile Applications of Context (IMAC) at MobileHCI 2006, Espoo, Finland. http://www.diva-portal.org This is the published version of a paper presented at Workshop on Innovative Mobile Applications of Context (IMAC) at MobileHCI 2006, Espoo, Finland. Citation for the original

More information

Building a Single Distributed File System from Many NFS Servers -or- The Poor-Man s Cluster Server

Building a Single Distributed File System from Many NFS Servers -or- The Poor-Man s Cluster Server Building a Single Distributed File System from Many NFS Servers -or- The Poor-Man s Cluster Server Dan Muntz Hewlett-Packard Labs 1501 Page Mill Rd, Palo Alto CA 94304, USA dmuntz@hpl.hp.com Tel: +1-650-857-3561

More information

Dynamic Data Replication and Consistency in Mobile Environments

Dynamic Data Replication and Consistency in Mobile Environments Dynamic Data Replication and Consistency in Mobile Environments Abdelkrim Beloued, Jean-Marie Gilliot, Maria-Teresa Segarra, Françoise André MDS2005 - Grenoble 29/11/2005 1 Overview Applications (Phone

More information

Integration of Non-Functional Properties in Containers

Integration of Non-Functional Properties in Containers Integration of Non-Functional Properties in Containers Denis Conan, Erik Putrycz Nicolas Farcet, Miguel DeMiguel Institut National des Télécommunications THALES 9, rue Charles Fourier Corporate Research

More information

15-498: Distributed Systems Project #1: Design and Implementation of a RMI Facility for Java

15-498: Distributed Systems Project #1: Design and Implementation of a RMI Facility for Java 15-498: Distributed Systems Project #1: Design and Implementation of a RMI Facility for Java Dates of Interest Assigned: During class, Friday, January 26, 2007 Due: 11:59PM, Friday, February 13, 2007 Credits

More information

Oracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010

Oracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010 Oracle Tuxedo CORBA Technical Articles 11g Release 1 (11.1.1.1.0) March 2010 Oracle Tuxedo CORBA Technical Articles, 11g Release 1 (11.1.1.1.0) Copyright 1996, 2010, Oracle and/or its affiliates. All rights

More information

1 From Distributed Objects to Distributed Components

1 From Distributed Objects to Distributed Components From Distributed Objects to Distributed : the Olan Approach Luc Bellissard, Michel Riveill BP 53, F 38041 Grenoble Cedex 9, FRANCE Phone: (33) 76 61 52 78 Fax: (33) 76 61 52 52 Email: Luc.Bellissard@imag.fr

More information

SMART RESOURCE PROTOTYPE ENVIRONMENT V. 2.0 DELIVERABLE 2.3

SMART RESOURCE PROTOTYPE ENVIRONMENT V. 2.0 DELIVERABLE 2.3 IOG SMART RESOURCE PROTOTYPE ENVIRONMENT V. 2.0 DELIVERABLE 2.3 Technical report SmartResource: Proactive Self-Maintained Resources in Semantic Web 12/13/2005 University of Jyväskylä Agora Center Author:

More information

Coping with Conflicts in an Optimistically Replicated File System

Coping with Conflicts in an Optimistically Replicated File System Coping with Conflicts in an Optimistically Replicated File System Puneet Kumar School of Computer Science Carnegie Mellon University 1. Introduction Coda is a scalable distributed Unix file system that

More information

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services MTAT.03.229 Enterprise System Integration Lecture 2: Middleware & Web Services Luciano García-Bañuelos Slides by Prof. M. Dumas Overall view 2 Enterprise Java 2 Entity classes (Data layer) 3 Enterprise

More information

Limitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component

Limitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component Limitations of Object-Based Middleware Object-Oriented programming is a standardised technique, but Lack of defined interfaces between objects It is hard to specify dependencies between objects Internal

More information

Patterns Of Enterprise Application Architecture

Patterns Of Enterprise Application Architecture Patterns Of Enterprise Application Architecture Lecture 11-12 - Outlines Overview of patterns Web Presentation Patterns Base Patterns Putting It All Together References Domain Logic Patterns Domain Model

More information

Authoring and Maintaining of Educational Applications on the Web

Authoring and Maintaining of Educational Applications on the Web Authoring and Maintaining of Educational Applications on the Web Denis Helic Institute for Information Processing and Computer Supported New Media ( IICM ), Graz University of Technology Graz, Austria

More information

With IBM BPM 8.5.5, the features needed to express both BPM solutions and case management oriented solutions comes together in one offering.

With IBM BPM 8.5.5, the features needed to express both BPM solutions and case management oriented solutions comes together in one offering. Case Management With the release of IBM BPM 8.5.5, case management capabilities were added to the product. It must be noted that these functions are only available with IBM BPM Advanced and the Basic Case

More information

one.world Towards a System Architecture for Pervasive Computing

one.world Towards a System Architecture for Pervasive Computing Towards a System Architecture for Pervasive Computing Robert Grimm, Janet Davis, Ben Hendrickson, Eric Lemar, Tom Anderson, Brian Bershad, Gaetano Borriello, David Wetherall University of Washington Vision

More information

A Protection Scheme for Mobile Agents on Java

A Protection Scheme for Mobile Agents on Java A Protection Scheme for Mobile Agents on Java D. Hagimont 1, L. Ismail 2 SIRAC Project (IMAG-INRIA) INRIA, 655 av. de l Europe, 38330 Montbonnot Saint-Martin, France Internet: {Daniel.Hagimont, Leila.Ismail}@imag.fr

More information

Browsing the World in the Sensors Continuum. Franco Zambonelli. Motivations. all our everyday objects all our everyday environments

Browsing the World in the Sensors Continuum. Franco Zambonelli. Motivations. all our everyday objects all our everyday environments Browsing the World in the Sensors Continuum Agents and Franco Zambonelli Agents and Motivations Agents and n Computer-based systems and sensors will be soon embedded in everywhere all our everyday objects

More information

Using AOP to build complex data centric component frameworks

Using AOP to build complex data centric component frameworks Using AOP to build complex data centric component frameworks Tom Mahieu, Bart Vanhaute, Karel De Vlaminck, Gerda Janssens, Wouter Joosen Katholieke Universiteit Leuven Computer Science Dept. - Distrinet

More information

Issues in Distributed Architecture

Issues in Distributed Architecture Issues in Distributed Architecture Simon Roberts Simon.Roberts@earthlink.net Simon Roberts Issues in Distributed Architecture Page 1 Why Do We Need Architecture? Network programming systems usually aren't

More information

Why Consider Implementation-Level Decisions in Software Architectures?

Why Consider Implementation-Level Decisions in Software Architectures? 1. Abstract Why Consider Implementation-Level Decisions in Software Architectures? Nikunj Mehta Nenad Medvidović Marija Rakić {mehta, neno, marija}@sunset.usc.edu Department of Computer Science University

More information

Knowledge- Based System CORBA ORB

Knowledge- Based System CORBA ORB The Role of Network Trac Statistics in Devising Object Migration Policies Ivan Marsic and Kanth S.L. Jonnalagadda CAIP Center, Rutgers University Piscataway, NJ 08855{1390 fmarsic,kanthg@caip.rutgers.edu

More information

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan. Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan Reading List Remote Object Invocation -- Tanenbaum Chapter 2.3 CORBA

More information

Distributed Systems 8L for Part IB. Additional Material (Case Studies) Dr. Steven Hand

Distributed Systems 8L for Part IB. Additional Material (Case Studies) Dr. Steven Hand Distributed Systems 8L for Part IB Additional Material (Case Studies) Dr. Steven Hand 1 Introduction The Distributed Systems course covers a wide range of topics in a variety of areas This handout includes

More information

Advanced Java Programming

Advanced Java Programming Advanced Java Programming Length: 4 days Description: This course presents several advanced topics of the Java programming language, including Servlets, Object Serialization and Enterprise JavaBeans. In

More information

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently. Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise

More information

The dialog tool set : a new way to create the dialog component

The dialog tool set : a new way to create the dialog component The dialog tool set : a new way to create the dialog component Guilaume Texier, Laurent Guittet, Patrick Girard LISI/ENSMA Téléport 2 1 Avenue Clément Ader - BP 40109 86961 Futuroscope Chasseneuil Cedex

More information

3C05 - Advanced Software Engineering Thursday, April 29, 2004

3C05 - Advanced Software Engineering Thursday, April 29, 2004 Distributed Software Architecture Using Middleware Avtar Raikmo Overview Middleware What is middleware? Why do we need middleware? Types of middleware Distributed Software Architecture Business Object

More information

Models, Tools and Transformations for Design and Evaluation of Interactive Applications

Models, Tools and Transformations for Design and Evaluation of Interactive Applications Models, Tools and Transformations for Design and Evaluation of Interactive Applications Fabio Paternò, Laila Paganelli, Carmen Santoro CNUCE-C.N.R. Via G.Moruzzi, 1 Pisa, Italy fabio.paterno@cnuce.cnr.it

More information

System types. Distributed systems

System types. Distributed systems System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors

More information

Jironde: A Flexible Framework for Making Components Transactional

Jironde: A Flexible Framework for Making Components Transactional Jironde: A Flexible Framework for Making Components Transactional Marek Prochazka INRIA Rhône-Alpes 665, avenue de l Europe, Montbonnot, 38334 Saint Ismier Cedex, France Marek.Prochazka@inrialpes.fr Abstract.

More information

PARA++ : C++ Bindings for Message Passing Libraries

PARA++ : C++ Bindings for Message Passing Libraries PARA++ : C++ Bindings for Message Passing Libraries O. Coulaud, E. Dillon {Olivier.Coulaud, Eric.Dillon}@loria.fr INRIA-lorraine BP101, 54602 VILLERS-les-NANCY, FRANCE Abstract The aim of Para++ is to

More information

Making Distributed Transactions Resilient to Intermittent Network Connections

Making Distributed Transactions Resilient to Intermittent Network Connections Making Distributed Transactions Resilient to Intermittent Connections Nuno Santos and Paulo Ferreira INESC-ID/IST Distributed Systems Group Rua Alves Redol n o 9, 1-29 Lisboa [nuno.santos, paulo.ferreira]@inesc-id.pt

More information

Communication. Distributed Systems Santa Clara University 2016

Communication. Distributed Systems Santa Clara University 2016 Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces

More information

A short introduction to Web Services

A short introduction to Web Services 1 di 5 17/05/2006 15.40 A short introduction to Web Services Prev Chapter Key Concepts Next A short introduction to Web Services Since Web Services are the basis for Grid Services, understanding the Web

More information

MODELS OF DISTRIBUTED SYSTEMS

MODELS OF DISTRIBUTED SYSTEMS Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between

More information

Verteilte Systeme (Distributed Systems)

Verteilte Systeme (Distributed Systems) Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 4: Operating System Support Processes and

More information

Java Enterprise Edition

Java Enterprise Edition Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data

More information

Domain-Driven Development with Ontologies and Aspects

Domain-Driven Development with Ontologies and Aspects Domain-Driven Development with Ontologies and Aspects Submitted for Domain-Specific Modeling workshop at OOPSLA 2005 Latest version of this paper can be downloaded from http://phruby.com Pavel Hruby Microsoft

More information

Engineering CORBA-based Distributed Systems

Engineering CORBA-based Distributed Systems Engineering CORBA-based Distributed Systems Ramón Juanes +, Fernando Bellas *, Nieves Rodríguez * and Ángel Viña * + Departamento de Electrónica y Sistemas, Universidad Alfonso X El Sabio, Madrid, CP/

More information

Jarcler: Aspect-Oriented Middleware for Distributed Software in Java

Jarcler: Aspect-Oriented Middleware for Distributed Software in Java Jarcler: Aspect-Oriented Middleware for Distributed Software in Java Muga Nishizawa Shigeru Chiba Dept. of Mathematical and Computing Sciences Tokyo Institute of Technology Email: {muga,chiba@csg.is.titech.ac.jp

More information

02 - Distributed Systems

02 - Distributed Systems 02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/58 Definition Distributed Systems Distributed System is

More information

02 - Distributed Systems

02 - Distributed Systems 02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/60 Definition Distributed Systems Distributed System is

More information

EMF Temporality. Jean-Claude Coté Éric Ladouceur

EMF Temporality. Jean-Claude Coté Éric Ladouceur EMF Temporality Jean-Claude Coté Éric Ladouceur 1 Introduction... 3 1.1 Dimensions of Time... 3 3 Proposed EMF implementation... 4 3.1 Modeled Persistence... 4 3.2 Modeled Temporal API... 5 3.2.1 Temporal

More information

Model Composition Directives

Model Composition Directives Model Composition Directives Greg Straw, Geri Georg, Eunjee Song, Sudipto Ghosh, Robert France, and James M. Bieman Department of Computer Science Colorado State University, Fort Collins, CO, 80523 {straw,

More information

Non-functional capability-based access control in the Java environment

Non-functional capability-based access control in the Java environment Non-functional capability-based access control in the Java environment D. Hagimont 1, N. De Palma 2 1 INRIA Rhône-Alpes, 655 avenue de l Europe, 38334 Saint-Ismier Cedex, France Daniel.Hagimont@inrialpes.fr

More information

THE TASK-TO-PRESENTATION-DIALOG MAPPING PROBLEM

THE TASK-TO-PRESENTATION-DIALOG MAPPING PROBLEM THE TSK-TO-PRESENTTION-LOG MPNG PROBLEM Quentin Limbourg and Jean Vanderdonckt Université catholique de Louvain, Place des Doyens, 1 B-1348 Louvain-la-Neuve, Belgium {Limbourg, Vanderdonckt}@isys.ucl.ac.be

More information

Do! environment. DoT

Do! environment. DoT The Do! project: distributed programming using Java Pascale Launay and Jean-Louis Pazat IRISA, Campus de Beaulieu, F35042 RENNES cedex Pascale.Launay@irisa.fr, Jean-Louis.Pazat@irisa.fr http://www.irisa.fr/caps/projects/do/

More information

The etrice Eclipse Project Proposal

The etrice Eclipse Project Proposal The etrice Eclipse Project Proposal Dipl.-Ing. Thomas Schütz, Protos Software GmbH Eclipse Embedded Day 2010, Stuttgart Agenda Motivation Scope of etrice ROOM Language Codegenerators Middleware Realization

More information

Dynamically Provisioning Distributed Systems to Meet Target Levels of Performance, Availability, and Data Quality

Dynamically Provisioning Distributed Systems to Meet Target Levels of Performance, Availability, and Data Quality Dynamically Provisioning Distributed Systems to Meet Target Levels of Performance, Availability, and Data Quality Amin Vahdat Department of Computer Science Duke University 1 Introduction Increasingly,

More information

A Top-Down Visual Approach to GUI development

A Top-Down Visual Approach to GUI development A Top-Down Visual Approach to GUI development ROSANNA CASSINO, GENNY TORTORA, MAURIZIO TUCCI, GIULIANA VITIELLO Dipartimento di Matematica e Informatica Università di Salerno Via Ponte don Melillo 84084

More information

USING MUL TIVERSION WEB SERVERS FOR DATA-BASED SYNCHRONIZATION OF COOPERATIVE WORK

USING MUL TIVERSION WEB SERVERS FOR DATA-BASED SYNCHRONIZATION OF COOPERATIVE WORK USING MUL TIVERSION WEB SERVERS FOR DATA-BASED SYNCHRONIZATION OF COOPERATIVE WORK Jarogniew Rykowski Department of Information Technology The Poznan University of Economics Mansfolda 4 60-854 Poznan,

More information

Figure 1: Overview of Introspection 2

Figure 1: Overview of Introspection 2 MD is for Meta-Data ajd27@cornell.edu January 19, 2000 1 Introduction This document describes a proposed structure for the molecular dynamics code in order to permit objects to describe their member variables

More information

COURSE 9 DESIGN PATTERNS

COURSE 9 DESIGN PATTERNS COURSE 9 DESIGN PATTERNS CONTENT Applications split on levels J2EE Design Patterns APPLICATION SERVERS In the 90 s, systems should be client-server Today, enterprise applications use the multi-tier model

More information

JAYARAM. COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli (An approved by AICTE and Affiliated to Anna University)

JAYARAM. COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli (An approved by AICTE and Affiliated to Anna University) Estd: 1994 Department of Computer Science and Engineering Subject code : IT1402 Year/Sem: IV/VII Subject Name JAYARAM COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli - 621014 (An approved

More information

Hadoop Distributed File System(HDFS)

Hadoop Distributed File System(HDFS) Hadoop Distributed File System(HDFS) Bu eğitim sunumları İstanbul Kalkınma Ajansı nın 2016 yılı Yenilikçi ve Yaratıcı İstanbul Mali Destek Programı kapsamında yürütülmekte olan TR10/16/YNY/0036 no lu İstanbul

More information

Implementation Principles of File Management System for Omega Parallel DBMS *

Implementation Principles of File Management System for Omega Parallel DBMS * Implementation Principles of File Management System for Omega Parallel DBMS * Mikhail L. Zymbler Chelyabinsk State University Russia mzym@cgu.chel.su Leonid B. Sokolinsky Chelyabinsk State University Russia

More information

Cost Reduction of Replicated Data in Distributed Database System

Cost Reduction of Replicated Data in Distributed Database System Cost Reduction of Replicated Data in Distributed Database System 1 Divya Bhaskar, 2 Meenu Department of computer science and engineering Madan Mohan Malviya University of Technology Gorakhpur 273010, India

More information

3.4 Data-Centric workflow

3.4 Data-Centric workflow 3.4 Data-Centric workflow One of the most important activities in a S-DWH environment is represented by data integration of different and heterogeneous sources. The process of extract, transform, and load

More information