Distributed Systems CS 15-440 Project 1: File Storage and Access Kit (FileStack) Recitation 1, Aug 29, 2013 Dania Abed Rabbou and Mohammad Hammoud.

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Distributed Object & Remote Invocation Vidya Satyanarayanan.
Remote Method Invocation
CORBA - Common Object Request Broker Architecture.
Network Programming Chapter 11 Lecture 6. Networks.
Remote Object Invocation
Advanced Java Class Network Programming. Network Protocols Overview Levels of Abstraction –HTTP protocol: spoken by Web Servers and Web Clients –TCP/IP:
Tutorials 2 A programmer can use two approaches when designing a distributed application. Describe what are they? Communication-Oriented Design Begin with.
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
Sockets  Defined as an “endpoint for communication.”  Concatenation of IP address + port.  Used for server-client communication.  Server waits for.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Component-Based Software Engineering Introducing the Bank Example Paul Krause.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Application Layer PART VI.
Integration case study Week 8 – Lecture 1. Enrolment request (Workstation) Application server Database server Database New University Student Record System.
Communication in Distributed Systems –Part 2
Client-Server Communication Sockets Remote Procedure Calls Remote Method Invocation (Java)
Java Socket Programming and Java RMI CS Recitation 1, Sep 8, 2011 Majd F. Sakr, Vinay Kolar, Mohammad Hammoud.
Distributed Systems Architecture Presentation II Presenters Rose Kit & Turgut Tezir.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 12 Communicating over.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
A Distributive Server Alberto Pareja-Lecaros. Introduction Uses of distributive computing - High powered applications - Ever-expanding server so there’s.
Silberschatz, Galvin, and Gagne  1999 Applied Operating System Concepts Chapter 15: Distributed Communication Sockets Remote Procedure Calls (RPCs) Remote.
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
IT 344: Operating Systems Winter 2008 Module 19 Networking & Remote Procedure Call (RPC) Chia-Chi Teng CTB 265.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 43 Remote Method Invocation.
CSE 451: Operating Systems Winter 2015 Module 22 Remote Procedure Call (RPC) Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Page 1 Remote Procedure Calls Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
The Proxy Pattern SE-2811 Dr. Mark L. Hornick 1. The Proxy Pattern has many variations, but in general: The Proxy Pattern uses an proxy object as a surrogate.
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
Distributed Systems CS Project 2: FileStack Synchronization and Replication Recitation 6, Oct. 2, 2014 Dania Abed Rabbou and Mohammad Hammoud.
Distributed Systems CS Project 1: File Storage and Access Kit (FileStack) Recitation 1, Aug 29, 2013 Dania Abed Rabbou and Mohammad Hammoud.
Distributed objects and remote invocation Pages
1 RMI Russell Johnston Communications II. 2 What is RMI? Remote Method Invocation.
CSC 480 Software Engineering Lab 6 – RMI Nov 8, 2002.
Computer Science Lecture 4, page 1 CS677: Distributed OS Last Class: RPCs RPCs make distributed computations look like local computations Issues: –Parameter.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Distributed Storage Middleware To build a distributed web storage service for small files; To provides RESTFUL interface to access files and directories.
1 K. Salah Application Layer Module K. Salah Network layer duties.
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 29 Remote Method.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Client-Server Communication
Distributed Computing
Remote Method Invocation
What is RMI? Remote Method Invocation
Socket Programming Cal Poly Pomona Young CS380.
Java Socket Programming and Java RMI CS
Network and Distributed Programming in Java
CSE 451: Operating Systems Winter 2006 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Autumn 2003 Lecture 16 RPC
CSE 451: Operating Systems Winter 2007 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Chapter 40 Remote Method Invocation
Remote Procedure Call (invocation) RPC
CSE 451: Operating Systems Winter 2004 Module 19 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Chapter 46 Remote Method Invocation
Chapter 46 Remote Method Invocation
CSE 451: Operating Systems Winter 2003 Lecture 16 RPC
CSE 451: Operating Systems Messaging and Remote Procedure Call (RPC)
Presentation transcript:

Distributed Systems CS Project 1: File Storage and Access Kit (FileStack) Recitation 1, Aug 29, 2013 Dania Abed Rabbou and Mohammad Hammoud

Logistics Solo project Programming Language: Java Design Document Due Date: Sept. 9, 2013 Project Due Date: Sept. 25, 2013 Q&A: Piazza, Office Hours, & Appointments

Learning Objective Apply the knowledge of client-server communication and Remote Method Invocation (RMI) to build a Distributed File System (DFS)

Distributed File System (DFS)  Why File Systems?  To organize data (as files)  To provide a means for applications to store, access, and modify data  Why Distributed File Systems (DFSs)?  Sharing and managing data in distributed systems  Big data continues to grow  A DFS can hold sheer volumes of data (contrary to a local file system) and provide access to these data to many clients dispersed across networks

Entities & Architecture Storage Servers (SSs) Each SS stores files in its local file system (in a temporary directory) Naming Server (NS) NS stores metadata, which maps files to storage servers (much like DNS) Clients Perform operations on files (e.g., list, read, write etc.) Architecture Based on client-server architecture

Client Operations Operations on files/directories: CreateFile, CreateDirectory, Read, Write, Size, List, Delete, IsDirectory Auxiliary operation: getStorage Ideally, SSs must handle all file operations In our case, NS handles some, to maintain integrity and reduce communication overhead

Communication (1) Registration (2) Duplicate Files, Create, Delete (3) CreateFile, CreateDirectory, IsDirectory, Delete, List, GetStorage (4) Results, Storage Server (5) Read, Write, Size (6) Results Request-Reply Communication Paradigm

Communication via Sockets A Socket is an end-point of communication that is identified by an IP address and port number A client sends requests to a server using a client socket A server receives clients’ requests via a listening socket

Communication via Sockets (cont’d.) Listening Socket Service Socket Client Socket

Implicit Communication using RMI We refer to the act of “performing an operation” as “invoking a method” RMI library makes remote method invocations appear to be local method invocations Client Local File System Read”abc” Data Client abc Storage Server RMI’s Provided Transparency RMI’s Reality P P Read”abc” Data Network

Stubs and Skeletons invoke implementer method SKELETON Stub.read(“abc”) Is read defined in the remote Interface? YES NO invoke implementer method STUB