Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
Agents & Mobile Agents.
Mobile Agents Mouse House Creative Technologies Mike OBrien.
Database System Concepts and Architecture
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
1 Secure Dynamic Reconfiguration of Scalable Systems with Mobile Agents Fabio Kon, Binny Gill, Manish Anand, Roy Campbell, and M. Dennis Mickunas
Silberschatz and Galvin  Operating System Concepts Module 16: Distributed-System Structures Network-Operating Systems Distributed-Operating.
Distributed System Structures Network Operating Systems –provide an environment where users can access remote resources through remote login or file transfer.
Remote Procedure Call Design issues Implementation RPC programming
Processes: Code Migration Chapter 3 Will Cameron CSC 8530 Dr. Schragger.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Context-based Information Sharing and Authorization in Mobile Ad Hoc Networks Incorporating QoS Constraints Sanjay Madria, Missouri University of Science.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Learning Objectives Understanding the difference between processes and threads. Understanding process migration and load distribution. Understanding Process.
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
AgentOS: The Agent-based Distributed Operating System for Mobile Networks Salimol Thomas Department of Computer Science Illinois Institute of Technology,
Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Summary for Chapter 5 --Distributed Process Scheduling
Summary :- Distributed Process Scheduling Prepared BY:- JAYA KALIDINDI.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Distributed Process Implementation
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Chapter 1: Introduction to Web
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
CSC 322 Operating Systems Concepts Lecture - 4: by Ahmed Mumtaz Mustehsan Special Thanks To: Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Communication Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Kingdom of Saudi Arabia Ministry of Higher Education Al-Imam Muhammad Ibn Saud Islamic University College of Computer and Information Sciences Chapter.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
 Remote Procedure Call (RPC) is a high-level model for client-sever communication.  It provides the programmers with a familiar mechanism for building.
1 Process migration n why migrate processes n main concepts n PM design objectives n design issues n freezing and restarting a process n address space.
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
Summary :-Distributed Process Scheduling Prepared By:- Monika Patel.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Distributed System Concepts and Architectures Services
Shuman Guo CSc 8320 Advanced Operating Systems
Mobile Agents For Mobile Computing Department Of Computer Science – Dartmouth College Robert Gray David Kotz Saurab Nog Daniela Rus George Cybenko.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
Building Preservation Environments with Data Grid Technology Reagan W. Moore Presenter: Praveen Namburi.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
C HAPTER 5.4 DISTRIBUTED PROCESS IMPLEMENTAION By: Nabina Pradhan 10/09/2013.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Module 4 Remote Login.
CHAPTER 3 Architectures for Distributed Systems
University of Technology
Mobile Agents.
Processes Chapter 3.
Initial job submission and monitoring efforts with JClarens
Chapter 2: Operating-System Structures
Processes Chapter 3.
Processes Chapter 3.
Chapter 2: Operating-System Structures
Presentation transcript:

Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi

OUTLINE Logical Model of Local and Remote Processes Application Scenarios Remote Service Remote Execution Process Migration Mobile Agents References

Logical Model [1] Front end Stub Processes facilitate the creation of and communication between processes. Stub Processes serve as a logical link making the physical boundary between the local and remote processes transparent.

Application Scenarios [1] There are three significant application scenarios depending on how request messages are interpreted. Remote Service – Interpreted as a request for known service at the remote site. Remote Execution – Contain a program to be executed at the remote site. Process Migration – Represent a process being migrated to the remote site for continuing execution.

REMOTE SERVICE Its primary application : resource sharing in distributed systems. Request message for remote service can be generated at three different software levels. As remote procedure calls at the language level As remote commands at the operating system level As interpretive messages at the application level

Remote Procedure Calls At the Language Level [3] At language level for remote service requests Most suitable model : RPC It is service oriented and provides both access and location transparency At the System Level, There are some frequently used commands that need to invoke remote objects. These commands can be built in as part of the command shell and recognized by the local operating system. Example: rsh host –l user ls in Unix can list the home directory files of the user, user on a remote host machine, host.

Remote Commands at the Operating System Level [3] User Want to send message Remote host Some user-defined operations at remote host invoke Remote commands are limited only to shell commands. The concept can be generalized to process messages. Stub process at Server site has capability of -- Interpreting messages sent from client stub -- invoking respective operations Based on the content of message Example is ftp. The stubs are the ftp daemon processes. They interpret messages such as get and put for downloading and uploading files.

Interpretive Messages at the Application Level Remote operations are initiated by Remote procedure calls, remote commands and interpretive messages Constrained to Services that are supported at the remote host Primary Implementation Issues I/O Redirection Security Client stub Server stub copies Client process’ standard input to the remote command Standard output and error of the remote command to client process copies Access to remote resources required authorization

REMOTE EXECUTION [1] Remote operation initiated by client is created by the client Message sent from client to server is client program to be executed at the server Remote Execution or Processor Pool model – Selected host may be a system with specific resources for load sharing. Selected host System with specific resources for resource sharing Remote Service System with purpose of load sharing Remote Execution Implementation issue Load sharing algorithm location independence system heterogeneity protection and security

Load Sharing Algorithm [4] Practical Implementation Each Process server maintains list of registered hosts. First step is to select remote host Client process server indicate Resource requirement to process server at remote site If authenticated and its resource request can be met, Server grants permission for remote execution

LOCATION INDEPENDENCE Process created by remote execution require Coordination to accomplish common task So, it is necessary to support logical view for the processes Each remote process is represented by an agent process at the originating host

SYSTEM HETEROGENEITY If remote execution is invoked on heterogeneous host It is necessary to recompile the program Overhead may be too high Solution Use canonical machine-independent intermediate language for program execution.

PROTECTION AND SECURITY Remote executionpowerful Foreign code image can be Trojan horse To Achieve Protection and Security, Accept only remote execution in source or intermediate codes Language used to describe a remote execution could be restricted to exclude potential problems Run-time checking of parameters and stack overflow is also necessary to protect the integrity of the remote hosts

PROCESS MIGRATION [2] Process P1 : Execution suspended Source Site Destination Site Execution Resumed : Process P1 Transfer of control Time Freezing time

LINK REDIRECTION [2] Transfer of address space Source node Destination node Suspended Migration decision resumed Freezing time Transfer of address space Source node Destination node Suspended Migration decision resumed Freezing time Total FreezingPretransferring Merits: easy implementation Demerits:long delay time Merits: freezing time reduce Demerits:total time extended

MESSAGE FORWARDING Three types of messages: 1. Received when the process execution is stopped on the source node and has not restarted on the destination node 2. Received on the source node after the execution started on destination node 3. Sent to the migrant process after it started execution on destination node

MESSAGE FORWARDING [2] Sender Origin Dest 1 Dest 2 Receiver Migrate Migrate again Resend Resend again Sender Origin Dest 1 Dest 2 Receiver Migrate Migrate again Resending messages Ask origin site Send Forward Messages of type 1 and 2 are either dropped or negatively ack-ed, the sender is notified and it needs to locate the migrant process Origin node keeps the info on the current location of the process created there, all messages are sent to origin which forwards them to migrant process

MESSAGE FORWARDING [2] Sender Origin Dest 1 Dest 2 Receiver Migrate Migrate again Link traversal Link Send Forward Send Messages are queued and sent to destination node as part of migration procedure Link is left on source node to redirect messages, link contains the system- wide unique id of a process and its last known location

MESSAGE FORWARDING Sender Origin Dest 1 Dest 2 Receiver Migrate Migrate again Link Update Send New location Send New location Send Current location During the transfer the source node sends the notification (link update) of the transfer to all the nodes to which the process communicates: Messages are forwarded by the source node Messages are sent directly to the destination node

MOBILE AGENTS [5] It is composition of computer software and data which is able to move from one computer to another autonomously and continue its execution on the destination computer. It refers to a process that can transport its state from one environment to another, with its data intact Mobile agents can decide when and where to move next When a mobile agent decides to move, it saves its own state and transports this saved state to next host and resume execution from the saved state. Common applications include: Resource availability, discovery, monitoring Information retrieval Network management Dynamic software deployment

Mobile Agents A mobile agent visits a collection of ORBs. In each ORB along its path, it can install new components on the disk, dynamically link new components, inspect the state and configuration of the ORB and the applications on top of it, reconfigure ORBs and applications.

A Flexible Framework Different NetworkBrokers support different agent flavors. For example: simple, lightweight, script-based agents (carrying data and DCP commands only). powerful, heavyweight, Java-based agents (carrying data, bytecode, and dynamic state, taking autonomous decisions). Simple agents are suitable for PDAs, embedded systems.

Reconfiguration with Mobile Agents SysAdmins use a GUI to build agents for reconfiguration inspection GUI is used to 1. Build distribution graph 2. Select reconfiguration and inspection commands 3. Visualize results.

Process Migration vs. Mobile Agents Process MigrationMobile Agents Navigational Autonomy Migration decision is made by system. Agents decide where and where to go Code ExecutionPrograms are fully compiled and executed in native mode. Most agents are coded in Java and are interpreted by their execution engine. Strong/Weak Migration Execution is resumed where it has been suspended. Java-based agents resume their execution from the top of a given method. I/O StateLong-term I/Os are forwarded to processes migrated to the destination. Agents relinquish I/O connections every time they depart for their next destination.

References 1. Distributed operating system and algorithms Randy chow, Theodore Johnson 2. A Framework for Process Migration in Software DSM Environments ieeexplore.ieee.org/iel5/6662/17807/ pdf …. ( 2000 ) 3. pdf pdf

Thank You!!