Distributed Computing

Similar documents
Appendix A - Glossary(of OO software term s)

Distributed Environments. CORBA, JavaRMI and DCOM

Performance Evaluation of Java And C++ Distributed Applications In A CORBA Environment

Today: Distributed Objects. Distributed Objects

Chapter 16. Layering a computing infrastructure

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

Advanced Topics in Operating Systems

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

CHAPTER - 4 REMOTE COMMUNICATION

Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture

System types. Distributed systems

Client/Server-Architecture

1.264 Lecture 16. Legacy Middleware

Irbid National University, Irbid, Jordan. 1. The concept of distributed corporate systems

Distributed Systems Middleware

Message Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1

DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK. UNIT I PART A (2 marks)

Chapter 15: Distributed Communication. Sockets Remote Procedure Calls (RPCs) Remote Method Invocation (RMI) CORBA Object Registration

Lecture 5: Object Interaction: RMI and RPC

Distributed Middleware. Distributed Objects

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

Distributed Objects. Object-Oriented Application Development

1/9/13. + The Transaction Concept. Transaction Processing. Multiple online users: Gives rise to the concurrency problem.

MaanavaN.Com DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING QUESTION BANK

5 Distributed Objects: The Java Approach

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

CSE 530A ACID. Washington University Fall 2013

Last Class: Network Overview. Today: Distributed Systems

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV

Distributed Systems Principles and Paradigms

As related works, OMG's CORBA (Common Object Request Broker Architecture)[2] has been developed for long years. CORBA was intended to realize interope

Transaction Management: Concurrency Control, part 2

Locking for B+ Trees. Transaction Management: Concurrency Control, part 2. Locking for B+ Trees (contd.) Locking vs. Latching

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

Jargons, Concepts, Scope and Systems. Key Value Stores, Document Stores, Extensible Record Stores. Overview of different scalable relational systems

What are Transactions? Transaction Management: Introduction (Chap. 16) Major Example: the web app. Concurrent Execution. Web app in execution (CS636)

Administration Naive DBMS CMPT 454 Topics. John Edgar 2

Introduction & RMI Basics. CS3524 Distributed Systems Lecture 01

Transaction Management: Introduction (Chap. 16)

CORBA (Common Object Request Broker Architecture)

Lecture 06: Distributed Object

Communication. Distributed Systems Santa Clara University 2016

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

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

CHAPTER 3 RECOVERY & CONCURRENCY ADVANCED DATABASE SYSTEMS. Assist. Prof. Dr. Volkan TUNALI

Today CSCI Remote Method Invocation (RMI) Distributed Objects

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

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Scott Meder Senior Regional Sales Manager

Application Servers in E-Commerce Applications

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

UNIT 4 CORBA 4/2/2013 Middleware 59

Deccansoft Software Services. J2EE Syllabus

RPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call

Transactum Business Process Manager with High-Performance Elastic Scaling. November 2011 Ivan Klianev

Smart Client Offline Data Caching and Synchronization

PART B UNIT II COMMUNICATION IN DISTRIBUTED SYSTEM PART A

DCOM CORBA EJB DCOM CORBA CORBA EJB DCOM EJB

DS 2009: middleware. David Evans

RIKA: Component Architectures

Written by: Dave Matuszek

Advanced Lectures on knowledge Engineering

Today: Distributed Middleware. Middleware

Database Management System

Distributed Technologies - overview & GIPSY Communication Procedure

Distributed Programming with RMI. Overview CORBA DCOM. Prepared By: Shiba R. Tamrakar

John Edgar 2

RMI. Remote Method Invocation. 16-Dec-16

TRANSACTION PROPERTIES

Chapter 4 Remote Procedure Calls and Distributed Transactions

Communication and Distributed Processing

Database Systems. Announcement

Remote Invocation Vladimir Vlassov and Johan Montelius

Introduction to Transaction Management

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Database Management Systems Introduction to DBMS

Introduction. Example Databases

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

Challenges in component based programming. Lena Buffoni

Object Interaction. Object Interaction. Introduction. Object Interaction vs. RPCs (2)

OBJECT-RELATIONAL COMPONENT APPROACHES: A COMPARISON

ITS. MySQL for Database Administrators (40 Hours) (Exam code 1z0-883) (OCP My SQL DBA)

Dr. Robert N. M. Watson

October/November 2009

JDBC Today C HAPTER 1 INTRODUCTION

Lecture X: Transactions

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems

Introduction to Web Services & SOA

Introduction to Data Management. Lecture #18 (Transactions)

Desarrollo de Aplicaciones en Red RMI. Introduction. Considerations. Considerations. RMI architecture

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

Lecture 3: Synchronous Interaction Patterns Traditional Middleware

RPC and RMI. 2501ICT Nathan

Chapter 5: Distributed objects and remote invocation

JAVA RMI. Remote Method Invocation

Chapter 1 Introduction

5. Distributed Transactions. Distributed Systems Prof. Dr. Alexander Schill

Middleware: Challenges and Evolution from Procedural to Service Orientation

Outline. EEC-681/781 Distributed Computing Systems. The OSI Network Architecture. Inter-Process Communications (IPC) Lecture 4

Transcription:

Distributed Computing 1 Why distributed systems: Benefits & Challenges The Sydney Olympic game system: see text page 29-30 Divide-and-conquer Interacting autonomous systems Concurrencies Transactions 2 1

How to get it working Open systems, standards, protocols Message passing Distributed objects technology: e.g. CORBA (multi-language technology) RMI (Java-based technology) COM (Microsoft) future technologies and standards (?) 3 Reminder: Client-Server Example Server program which instantiate server socket that listens to a specific port Client program creates socket which connects to the server socket of the specified URL Exchanging string messages following a specific format (protocol) Synchronous vs. asynchronous message passing (see threads bellow) Ince,, Figure 4.1 4 2

RMI: Remote Method Invocation See Ince,, chapter 9 Java technology that hides the details of communication In object-oriented oriented computing we generate objects and call methods for objects. It should not matter where the objects and methods reside: the system should send objects over the network or execute methods on a different computer if necessary. java.rmi package Extending RemoteObject RMI compiler _Skel.class & _Stub.class_ 5 Developing a remote object system using RMI involves the following steps: 1. Develop the interface that describes the services provided by the e remote object(s). 2. Implement the server code by developing a class which implements the remote interface. This class can contain the code which registers s the object with the RMI registry as described here; however, the code can be placed in another class. Compile the code. 3. Implement the code for the client which uses the RMI registry to connect to the remote object. Compile the code. 4. Run the RMI compiler on the remote class in order to generate the e stubs and skeletons and then make them available to the client and the server. 5. Run the RMI registry on the server. 6. Execute the class file associated with the server. The remote object that is associated with the server is now ready for receiving messages from f code running on other computers. 7. Execute the class file associated with any client. This will hook k into the remote object that was made available and carry out the processing that was required. Ince,, chapter 9 6 3

CORBA (Common Request Broker Architecture) See Ince,, Chapter 10 OMG: Standardization of distributed object technology Is around for many years but has not become the widely supported standard as hoped for Language independent IDL: Interface Definition Language CORBA services: name, concurrencies, security, time, etc. Commercial & free ORB products 7 A contemporary tiered e-commerce e architecture Legacy Systems 8 4

Concurrencies Thread: chunk of code that can be executed in parallel (independent) of other chunks of code. A scheduler supervises the execution of threads. In a distributed system we relay on independent processes, for example, we might have to wait for some requested data. In the meantime we could use the processor time for other tasks that might be pending. Good distributed systems are multi-threaded Parallel computing: `utilization of multiple processors 9 Concurrency Control Problem User A Read total: $100 Joint Account $100 User B Read total: $100 Take out $50 Take out $50 Write total $50 $50 Write total This wouldn t be very good for the Bank! 10 5

Concurrencies and Locks If a thread depends on some data that should not be modified by another thread during its processing, then we have to lock that data. Client-servers: Write locks, read locks, and dead locks (time limits, lock manager, ) Database servers: Row-, page-, table-, database-locking 11 Example: Distributed Database Reminder: Relational database: series of tables that can contain links Functions of a database server: To interpret SQL statements To optimize queries To prevent the errors from concurrent access To ensure internal consistency (referential integrity) To detect and act upon deadlock To administer security To administer backup and recovery. A distributed database is one whose tables are distributed among a number of networked computers Issues: downloading, data replication, fragmentation 12 6

Transaction Processing A transaction is defined as a series of reads and writes of database objects (Ramakrishnan( Ramakrishnan,, pg. 524) How a DBMS handles transactions is important for concurrency control and recovery 13 ACID Transaction Model Four important properties of transactions: 1. Atomic: each transaction is either carried out completely or not t at all 2. Consistent: each transaction must preserve consistency of the database 3. Isolated: transactions are not affected by concurrent transactions 4. Durable: once a transactions has been completed, its effects should persist, even if the system crashes 14 7

Transaction Concurrency Why do we want concurrent transactions? What are the problems with concurrent transactions? What is the simplest way to handle concurrent transactions? A schedule is a potential execution sequence for the actions in a set of transactions 15 Sequence of operations Transactions ACID: Atomicity, Consistency, Isolation, Durability Server transactions vs. concurrent transactions Transaction monitors e.g. Sun s Enterprise JavaBeans interfaces classes containers servers transaction monitor 16 8