Code Migration Russell T. Potee, III. Overview Why Code Migration? Code Migration Models Migration and Handling Resources Heterogeneous Systems Migration.

Slides:



Advertisements
Similar presentations
Processes. 1/19/ Processes Modern systems can have many operations occurring at the same time. Most applications require one or more processes to.
Advertisements

Towards Remote Policy Enforcement for Runtime Protection of Mobile Code Using Trusted Computing Xinwen Zhang Francesco Parisi-Presicce Ravi Sandhu
Agents & Mobile Agents.
Mobile Agents Mouse House Creative Technologies Mike OBrien.
M. Muztaba Fuad Masters in Computer Science Department of Computer Science Adelaide University Supervised By Dr. Michael J. Oudshoorn Associate Professor.
Virtualization and Cloud Computing. Definition Virtualization is the ability to run multiple operating systems on a single physical system and share the.
Processes: Code Migration Chapter 3 Will Cameron CSC 8530 Dr. Schragger.
The Mobile Code Paradigm and Its Security Issues Anthony Chan and Michael Lyu September 27, 1999.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Managing Server.
Cloud Computing Part #3 Zigmunds Buliņš, Mg. sc. ing 1.
Describe the concept of lightweight process (LWP) and the advantages to using LWPs Lightweight process (LWP) lies in a hybrid form of user-level & kernel-level.
1 DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 3 Processes Skip
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Threads Clients Servers Code Migration Software Agents Summary
EECS122 - UCB 1 CS 194: Distributed Systems Processes, Threads, Code Migration Computer Science Division Department of Electrical Engineering and Computer.
Computer Science Lecture 8, page 1 CS677: Distributed OS Code and Process Migration Motivation How does migration occur? Resource migration Agent-based.
Multimedia Services based on Mobile Agent
Processes After today’s lecture, you are asked to know The basic concept of thread and process. What are the advantages of using multi-threaded client.
Computer Science Lecture 7, page 1 CS677: Distributed OS Multiprocessor Scheduling Will consider only shared memory multiprocessor Salient features: –One.
CS 603 Threads, Processes, and Agents March 18, 2002.
Communication in Distributed Systems –Part 2
The Mobile Code Paradigm and Its Security Issues Anthony Chan September 13, 1999.
Processes After today’s lecture, you are asked to know The basic concept of thread and process. What are the advantages of using multi-threaded client.
Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania.
Processes After today’s lecture, you are asked to know The basic concept of thread and process. What are the advantages of using multi-threaded client.
Give an example to show the advantages to using multithreaded Clients See page 142 of the core book (Tanebaum 2002).
Processes.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Distributed Process Implementation
Introduction to Java CSIS 3701: Advanced Object Oriented Programming.
Computer Engineering Department Distributed Systems Course
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Web Application Access to Databases. Logistics Test 2: May 1 st (24 hours) Extra office hours: Friday 2:30 – 4:00 pm Tuesday May 5 th – you can review.
Processes, Threads and Virtualization
Introduction to Java CSIS 3701: Advanced Object Oriented Programming.
Introduction to the Java Virtual Machine 井民全. JVM (Java Virtual Machine) the environment in which the java programs execute The specification define an.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
University of Houston-Clear Lake Proprietary© 1997 Evolution of Programming Languages Basic cycle of improvement –Experience software difficulties –Theory.
Computer Science Lecture 8, page 1 CS677: Distributed OS Last Class Threads –User-level, kernel-level, LWPs Multiprocessor Scheduling –Cache affinity –Preemption.
Processes Chapter 3. Table of Contents Multithreading Clients and Servers Code Migration Software Agents (special topic)
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 18: Protection Goals of Protection Objects and Domains Access Matrix Implementation.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia.
Mobile Agents Babak Esfandiari. Types of Applications Dynamic load balancing. Dynamic service deployment. Intermittently connected systems.
Computer Science Lecture 7, page 1 CS677: Distributed OS Multiprocessor Scheduling Will consider only shared memory multiprocessor Salient features: –One.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed (Operating) Systems -Virtualization- -Server Design Issues- -Process and Code Migration- Computer Engineering Department Distributed Systems.
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
1 Introduction Read D&D Sec 1.8; Sec 1.13 THE Java tutorial -
Problem On a regular basis we use: –Java applets –JavaScript –ActiveX –Shockwave Notion of ubiquitous computing.
Processes, Threads and Virtualization Chapter The role of processes in distributed systems.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
C HAPTER 5.4 DISTRIBUTED PROCESS IMPLEMENTAION By: Nabina Pradhan 10/09/2013.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Processes Chapter 3.
File System Implementation
Alternatives to Mobile Agents
Introduction
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Chapter 9.3 Security Access Control
Processes Chapter 3.
Mobile Agents M. L. Liu.
D’Agents: A Mobile-Agent System
Prof. Leonardo Mostarda University of Camerino
Processes Chapter 3.
Processes Chapter 3.
Process/Code Migration and Cloning
Presentation transcript:

Code Migration Russell T. Potee, III

Overview Why Code Migration? Code Migration Models Migration and Handling Resources Heterogeneous Systems Migration Security

Why Code Migration? Process Migration - definition  Transfer an entire running process from one machine to another Load distribution Measured by CPU queue length or utilization Good for computational systems Reduce Network Bandwidth  Migrate part of client application to server Migrate part of client application to database server to perform many database operations Send only result across network

Why Code Migration? Reduce Network Bandwidth  Migrate part of server application to client Migrate part of database server to client to process forms on client side Reduces database operations over the network XSS - Javascript Parallelism  Mobile Agent Dynamic Configuration of Distributed Systems  Download and Initialize Code

Code Migration Framework  Code Segment Set of instructions being executed  Resource Segment References to external resources Files, printers, devices, et cetera  Execution Segment Process state Private data Stack Instruction pointer Code Migration Models

Weak Mobility  Transfer code segment and initialized data  Portable code  Predefined starting positions Java Applets Strong Mobility  Transfer includes execution segment  Process can be stopped, moved to another machine, and resumed

Code Migration Models Sender-initiated  Code transfer is initiated by machine currently executing the code  Example Uploading programs to a computational server Receiver-initiated  Transfer is initiated by machine that will execute code  Example Java applets

Handling Resources Process-to-resource binding  Binding by identifier (strong)‏ Process refers to resources by their identifiers Example  URL  Binding by value (weaker)‏ Process refers to another resource with the same value  Binding by type (weakest)‏ Process refers to local devices

Handling Resources Resource-to-machine binding  Unattached resources Can be moved easily  Data Files  Fastened resources Can be moved at high cost  Database  Fixed resources Cannot be moved  Local devices

Heterogeneous Systems Heterogeneous systems are platforms with different operating systems and/or different machine architectures Problems with heterogeneous systems is similar to those of portability Solutions  Highly portable languages Scripting languages, interpreted languages (Java)‏  Migrating computing environments  Migrating virtual machines

Migration Security Protecting mobile agents  need to protect sensitive data Three mechanisms for securing mobile agents  Read-only state Data items are signed by agent's owner  Append-only state Data can only be appended to logs  Selective reading Each data entry can only be updated by selected servers

Migration Security Protecting hosts against malicious mobile code  Sandbox Monitor specific instructions, registers, memory regions Easier to do with interpreted languages  Java sandbox  Playground Separate machines exist to execute mobile code  Code-signing  Stack introspection  Name space management

Sources Tanenbaum, A., Van Steen, M.: Distributed Systems: Principles and Paradigms, Upper Saddle River, NJ: Prentice Hall, 2007 Fuggetta, A., Picco, G.P., and Vigna, G: “Understanding Code Mobility.” IEEE Trans. Soft. Eng., May Milojicic, D., Douglis, F., Paindeveine, Y., Wheeler, R., Zhou, S.: “Process Migration.” ACM Computing Surv., Sept 2000.

Sources Clark, C., Fraser K., Hand, S., Hansen, J.G., Jul, E., Limpoch, C., Pratt, I., Warfield, A.: “Live Migration of Virtual Machines.” Proc. Second Symp. Network Systems and Design Impl., (Boston, MA). Berkley, CA: USENIX, 2005.