Q.1. (a) [4 marks] List and briefly explain four reasons why resource sharing is beneficial.

Similar documents
Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Lecture 5: Object Interaction: RMI and RPC

Lecture 5: RMI etc. Servant. Java Remote Method Invocation Invocation Semantics Distributed Events CDK: Chapter 5 TVS: Section 8.3

COMMUNICATION IN DISTRIBUTED SYSTEMS

MODELS OF DISTRIBUTED SYSTEMS

MODELS OF DISTRIBUTED SYSTEMS

Remote Invocation. Today. Next time. l Overlay networks and P2P. l Request-reply, RPC, RMI

Structured communication (Remote invocation)

Lecture 06: Distributed Object

Distributed Systems Theory 4. Remote Procedure Call. October 17, 2008

Last Class: RPCs. Today:

Distributed Systems. The main method of distributed object communication is with remote method invocation

Chapter 5: Distributed objects and remote invocation

ITEC 350: Introduction To Computer Networking Midterm Exam #2 Key. Fall 2008

3. (a) What is bridge? Explain the operation of a LAN bridge from to (b) Explain the operation of transparent bridge.

Communication. Distributed Systems Santa Clara University 2016

Interprocess Communication Tanenbaum, van Steen: Ch2 (Ch3) CoDoKi: Ch2, Ch3, Ch5

CHAPTER - 4 REMOTE COMMUNICATION

03 Remote invoaction. Request-reply RPC. Coulouris 5 Birrel_Nelson_84.pdf RMI

C 1. Recap: Finger Table. CSE 486/586 Distributed Systems Remote Procedure Call. Chord: Node Joins and Leaves. Recall? Socket API

RMI: Design & Implementation

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

Communication in Distributed Systems

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

Chapter 5 Remote Invocation. Gandeva Bayu Satrya, ST., MT. Telematics Labz. Informatics Department Telkom

Fundamental Issues. System Models and Networking Chapter 2,3. System Models. Architectural Model. Middleware. Bina Ramamurthy

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

DISTRIBUTED OBJECTS AND REMOTE INVOCATION

Operating System Support

Interprocess Communication

BEng. (Hons) Telecommunications. Examinations for / Semester 2

Contents. Java RMI. Java RMI. Java RMI system elements. Example application processes/machines Client machine Process/Application A

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

May Gerd Liefländer System Architecture Group Universität Karlsruhe (TH), System Architecture Group

Distributed Systems Lecture 2 1. External Data Representation and Marshalling (Sec. 4.3) Request reply protocol (failure modes) (Sec. 4.

Remote Invocation. Today. Next time. l Indirect communication. l Request-reply, RPC, RMI

Student ID: CS457: Computer Networking Date: 5/8/2007 Name:

PART B UNIT II COMMUNICATION IN DISTRIBUTED SYSTEM PART A

Configuring MWTM to Run with Various Networking Options

Project 1: Remote Method Invocation CSE 291 Spring 2016

416 Distributed Systems. RPC Day 2 Jan 12, 2018

Asynchronous and Synchronous Messaging with Web Services and XML Ronald Schmelzer Senior Analyst ZapThink, LLC

5 Distributed Objects: The Java Approach

CSci Introduction to Distributed Systems. Communication: RPC

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

User Datagram Protocol

A Report on RMI and RPC Submitted by Sudharshan Reddy B

Remote Invocation. To do. Request-reply, RPC, RMI. q Today q. q Next time: Indirect communication

Networks and distributed computing

416 Distributed Systems. RPC Day 2 Jan 11, 2017

Today: Distributed Objects. Distributed Objects

Networked Systems and Services, Fall 2018 Chapter 4. Jussi Kangasharju Markku Kojo Lea Kutvonen

Distributed Objects SPL/ SPL 201 / 0 1

Distributed Systems Inter-Process Communication (IPC) in distributed systems

Cloud FastPath: Highly Secure Data Transfer

DS 2009: middleware. David Evans

Introduction and Overview Socket Programming Lower-level stuff Higher-level interfaces Security. Network Programming. Samuli Sorvakko/Nixu Oy

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

No, the bogus packet will fail the integrity check (which uses a shared MAC key).!

Java RMI Middleware Project

TECHNICAL NOTE. Oracle Protocol Agent Overview. Version 2.5 TECN04_SG2.5_

RPC and RMI. 2501ICT Nathan

Today CSCI Remote Method Invocation (RMI) Distributed Objects

Handout 20 - Quiz 2 Solutions

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

02 - Distributed Systems

Chapter 3: Client-Server Paradigm and Middleware

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,

Advanced Topics in Operating Systems

Actual4Test. Actual4test - actual test exam dumps-pass for IT exams

CS 640 Introduction to Computer Networks Spring 2009

CAS 703 Software Design

(a) Which of these two conditions (high or low) is considered more serious? Justify your answer.

Distributed Middleware. Distributed Objects

Programming Assignment 3: Transmission Control Protocol

4:40pm - 6:10pm (90 min)

Distributed Systems Principles and Paradigms. Distributed Object-Based Systems. Remote distributed objects. Remote distributed objects

Slides for Chapter 5: Remote Invocation

Verteilte Systeme (Distributed Systems)

Networking interview questions

Chapter 5 Distributed Objects and Remote Invocation

Operation Manual AAA RADIUS HWTACACS H3C S5500-EI Series Ethernet Switches. Table of Contents

SHORT NOTES / INTEGRATION AND MESSAGING

Questions and Answers. A. RMI allows us to invoke a method of java object that executes on another machine.

Distributed Object-Based. Systems. Chapter 9

Operating Systems Design Exam 3 Review: Spring Paul Krzyzanowski

SUN. Java Platform Enterprise Edition 6 Web Services Developer Certified Professional

Communication Paradigms

Student ID: CS457: Computer Networking Date: 5/8/2007 Name:

vcloud Director User's Guide

Distributed Systems Principles and Paradigms

(2½ hours) Total Marks: 75

Distributed Technologies - overview & GIPSY Communication Procedure

Distributed Systems. 5. Remote Method Invocation

INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY

Chapter 5: Remote Invocation. Copyright 2015 Prof. Amr El-Kadi

DISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: Lecture 7: Middleware. Slide 1. Slide 3. Message-oriented: MIDDLEWARE

Distributed Information Processing

Avi Networks Technical Reference (16.3)

02 - Distributed Systems

Transcription:

Q.1. (a) [4 marks] List and briefly explain four reasons why resource sharing is beneficial. Reduces cost by allowing a single resource for a number of users, rather than a identical resource for each user. Facilitates interactions among users, e.g. through a shared file system. Increases capacity, e.g. by allowing otherwise unused local disk space to be used remotely. Increases availability, e.g. through redundancy of resources.

(b) [1 marks] In the context of distributed systems, what is meant by the term independent failure? Components can fail separately, leaving others still running. Faults in the network result in the isolation of the computers that are connected to it, but that doesn t mean that they stop running. The crash of a program is not immediately made known to the other components with which it communicates.

Q.3. (a) [4 marks] Draw a high level architecture diagram for each of the following architectural models and briefly explain each diagram: i. Client/Server

Q.3. (a) [4 marks] Draw a high level architecture diagram for each of the following architectural models and briefly explain each diagram: ii. Peer-to-Peer

Q.3. (a) [4 marks] Draw a high level architecture diagram for each of the following architectural models and briefly explain each diagram: iii. A service provided by multiple servers

Q.3. (a) [4 marks] Draw a high level architecture diagram for each of the following architectural models and briefly explain each diagram: ii. Proxy server

(b) [4 marks] Draw an interaction diagram to explain the RRA protocol. Explain the diagram. Explain what problem(s) the RRA protocol solves that the RR protocol does not. Client Server The RRA protocol acknowledges the response message Allows the server to discard cached/stored results when a response acknowledgement is received

(c) [2 marks] Consider a client/server system where the server is sending a stream of temperature readings to the client. Each temperature reading is a 32bit floating point number. Design a format for the stream, using either a well-known data representation, or your own representation. Explain your design exactly, so that a third person could implement it without ambiguity. Binary stream: First byte indicates number of temperature readings to follow (0 to 255), next 4 bytes correspond to a reading until the number of readings has been reached, last byte indicates whether the stream should be closed (0) or whether more readings will follow. Other options: JSON XML

Q.4. (a) [4 marks] Answer the following questions about Java RMI: i. Can objects be created remotely? Explain your answer. Objects cannot be directly created remotely, i.e. with the new command, but a servant factory object can be used to indirectly create an object on a remote machine. ii. iii. Explain the difference between a local invocation and a remote invocation. If two Java Virtual Machines are on the same physical machine, and invocation is made between them, is this local or remote? A local invocation takes place between objects within the same Java virtual machine; whereas a remote invocation takes place between objects on different Java virtual machines. If the two Java virtual machines are on the same physical machine, it is still considered a remote invocation. What is a remote reference? Explain how an object obtains a remote reference. A remote reference is a reference to an object that is not within the local Java virtual machine. An object can obtain a remote reference by accessing the registry process, knowing the objects name.

(b) [2 marks] Explain the following aspects of a publish subscribe system: i. Event ii. iii. iv. A change of state that is of interest. Notification Information regarding an event that is sent to a subscriber. Subscriber Express interest in particular events and get notified when they occur. Publisher Publish/send structured events to an event service.

Q.5. (a) [2 marks] Explain what is a persistent asynchronous invocation and describe an example application that would benefit from this technique. A persistent asynchronous invocation tries indefinitely to perform the invocation, until it is known to have succeeded or failed, or until the application cancels the invocation. Generally, it will continue to be attempted over a long period of time if errors occurs. E.g. sending an SMS from a mobile phone in the presence of connection problems.

(b) [2 marks] Explain what is meant by process migration. Explain two major complications with process migration. The transfer of an executing process from one node to another. It involves suspending the execution of the running process, capturing it s state within the kernel, and transferring it to another machine to resume it s execution. Complications: The local and remote machine may not share the same instruction set. The process may have references to resources that are bound to the local machine.

(c) [4 marks] Apart from actual network delay, list and briefly explain four factors that contribute to the delay incurred when making an RMI call. Marshalling and unmarshalling: Involve copying and converting data and create a significant overhead as the amount of data grows. Data copying: Message data is copied several times in the course of an RMI (across the user kernel boundary, across each protocol layer, between the network interface and kernel buffers). Packet initialization: Initializing protocol headers and trailers, including checksums. The cost is therefore proportional, in part, to the amount of data sent. Thread scheduling and context switching: Several context switches are made during an RMI, as stubs invoke the kernel s communication operations or one or more server threads are scheduled.

Q.6. (a) [3 marks] List and briefly explain three worst-case assumptions when designing a secure system. All communications between processes can be copied, modified and retransmitted. Attackers can obtain information that they should not and can pretend to be a legitimate party. All of the source code is known to the attacker. Knowing the source code can help the attacker discover vulnerabilities. The attacker has unlimited computing resources.

(b) [4 marks] Explain what is a digital certificate, including what is the basic technique used to create a digital certificate, and what is a certificate chain. A digital certificate is a document containing a statement signed by a principal. It binds information together, like a principal s id with its public key, and is digitally signed by a certificate authority. Sara creates a digital signature by encrypting a digest of the data to be signed with her private key. Certificate chain: A series of certificates where each certificate's signature is authenticated by the subsequent certificate

Q.8. [3 marks] Before DNS, a single file was used to store all name information for computers on the Internet. This file was downloaded by everyone on the Internet on a daily basis, from the well known host that provided it. List and briefly explain three problems with this approach, that prompted people to develop DNS. Scalability Difficulty to maintain Availability

Q.9. [5 marks] Consider an image-resizing service. Clients submit an image to the service along with a resize factor and the service returns the image scaled by the resize factor. The service is expected to act in real time { e.g. for images of less than 1 megabyte in size the service should respond in less than 500ms for 99% of the requests. Also, the system should provide 99.9% availability in a month, meaning that the system is rarely unavailable. Using your knowledge of distributed systems, propose an overall approach for this system, draw an architecture diagram, and explain the protocol that you propose. Your approach should address the common challenges of a distributed system and specially the challenges suggested above. Explain how it does so. Your answer should be less than one page. Emphasis is on the architecture of the system that is best suited to provide availability and low response times. E.g. a multi-server architecture I/O servers Worker servers TCP or UDP? Why? Message format?