Models for Analyzing Mobile Code

Gian Petro Picco, moderated by Gul Agha

Models for Scalable and Fault Tolerant Mobile Code

ft and scale are defining problems in distributed systems

not only problems to be solved when system is developed, but mob code have been proposed as a solution - raison d'etre

not a technical impediment, but we should focus on what is the meaning of mobility's use

the level of technology - mas, mob code

focus on mobile code rather than mobile agents

most research focuses on mas - most systems provide single abstraction - against only one unit of mobility - move a process.

from theoretical and practical viewpoint, mas specialize mobile code.

what do we need at the mobile code level - not the other way around

we shouldn't get too hung up on ma's

no killer application found yet. complement rather than substitute things

what does it mean to be scalable?

mobile code proposed as a solution.

scalable is different than "must run over the internet."

is that the only application that we are trying to target?

there are other domains - example telecomunications, network management, workflow

What is our notion of scalability

scale up as well as downwards

the ability to run code on pda's embedded device, etc....

shoot for the most general set of metrics, but generic is not good.

the application depends strongly on the domain.

why do you want 1000 agents on your machine, so what?

common view point- we are solving the problems of maybe ten companies...

how do I characterize a notion of scalability?

generic informal arguments, or precise quantitative ideas

fault tolerance

concentrating interaction locally as opposed to spread

relocating computation

bypassing lossy links

need to convince people outside the field.

we haven't exploited fault tolerance - we haven't had our techniques adopted in plain mobile code, I don't see the challenges.

just transfering messages. plenty of theories for doing that already.

different with agents- multiple hosts....

oversights- how to communicate with mobile agents. problems come from mobility itself!

what is faulty? what are we trying to solve?

try to structure application to solve our problems once we have defiened them

how to evaluate tradeoffs

scalability and fault tolerance oppose one another

scale - compact, lightweight encoding

fault tolerance - redundancy makes stronger

what tradeoffs are good?

network management application, quantitivative measure the amount on communicaiton between devices find overhead of techniques and add in as well, but later how much overhead is net management introducing? build a modle of the net management task

how do we know how good technique is? need some quant. technique mobile code is unconventional, need some convincing networkk management is often pushed as good applicaiton of network management

in example, traffic overhead grows quadrically with mobile agents note I have defined scalabiltiy metric precisely - netowkr communication then look at characteristics of data that distinguish the remaining techniuqes (mobile code and client server)

what about if mobile agent does some filtering - redefine what technique does filtering - semantic compression - improves mobile agent also in all other techniques, communication is pairwise make assumptions clear - I want to minimize network traffic overhead

how much detail do you need?

We are trying to evaluate design with respect to parameters

if you look down at the protocol levels you can get further information