0% found this document useful (0 votes)
19 views14 pages

Rusell Potee - CodeMigration

Uploaded by

Pras setiawan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views14 pages

Rusell Potee - CodeMigration

Uploaded by

Pras setiawan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 14

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 Models

 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 1998.
 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.

You might also like