Title: ubiWear Group Lab Seminar Agenda
1ubiWear Group Lab Seminar Agenda
- 0900 0950
- Summary on the previous seminar (10min.)
- Presentations (20min.)
- Dongpyo Hong
- Youngjung Suh (Frontier Project Proposal
Preparation) - Umar Rashid
- 0950 1000
- Break/Tea time
- 1000 1050
- Discussion
- Final Remarks and Summary
2In this winter break
- Chap 2 From client-server to Mobile Agents
- Chap 3 Mobile Agent Migration I
- Chap 3 Mobile Agent Migration II
- Chap 4 Mobile Agent Communication
- Chap 5 Mobile Agent Security
- Chap 8 Evaluation
3Chapter3. Mobile Agent Migration (Part I)
2005-6 Winter Break Lab Seminar
Mobile Agents
- Dongpyo Hong
- GIST U-VR Lab.
- Gwangju 500-712
- http//uvr.gist.ac.kr
4Contents
- Overview
- Discussion Result Feedback
- Chapter 3. Mobile Agent Migration (Part I)
- Discussion
5Overview
- In the last week,
- Whats the relationship between mobile agents and
personalized user interface (our group's goal)?
Why we chose mobile agents for study? (cshin) - We are not going to implement mobile agents. We
are studying mobile agents to find ways how
mobile agent concepts can be applied in our
research areas. - How to implement code shipping in ubi-UCAM, which
is currently based on data shipping? achoi - C.Shin and Hysook made comments about UCAM
- How can mobile agent features be useful for
group's goals? hysook - Our group goal is to provide personalized user
interface to users in future computing
environment. Mobile agents can be delegated
different tasks by the users and they can move
across distributed resources to accomplish the
specified tasks. - Mobile agents can be used in ubicomp because no
centralized server in ubicomp (ylee) - This was a comment made by Ylee that in
ubiquitous computing environment, it is not
possible to have a centralized servers and hence,
resources have to be distributed. Therefore,
mobile agents can be useful in ubicomp
environment.
6Overview
- In the last week,
- Can you explain the difference between code
shipping and data shipping? -cshin, hysook, achoi - In data shipping, data is sent to the client
while in code shipping, code is sent to a large
database where it can execute and send the
relevant results back to the client e.g) CORBA - ubi-UCAM has no mobility feature - hysook, cshin
- This was a comment made by hysook and cshin.
- Is data shipping the characteristic of agent
only? -hysook - What's the standard for code shipping? sryu
- Is code shipping more efficient than data
shipping? -sryu - Code shipping is more efficient if the data size
is too large. Otherwise, data shipping is better. - The term, code-shipping, is used in CORBA
- Can mobile agents and multi-agents coexist?
achoi - Mobile agents can communicate with each other and
a multi-mobile-agent system is a multi-agent
system.
7Overview
- In the last week,
- If the environment is intelligent and provide us
services, why we need mobile agents? achoi - We didnt answer the question in seminar but
discussed it in group-meeting. Our stance is It
will be a waste of resources to keep track of
every users preferences in the environment.
Moreover, it will raise privacy concerns. Also,
if a new user who is not registered to the
environment wont be able to utilize services.
Mobile agents can help in overcoming these
problems. - What's exactly the meaning of mobility of code in
mobile agents? - achoi - Mobile agents can migrate code to different
platforms and executed there, in order to
accomplish the delegated tasks. - If we can find scenarios in ubicomp where data
transfer is large, we can utilize mobile agents?
hysook - This was a comment made by Hysook.
8Abstract
- Mobile Agent
- Migration process
- Transferring a mobile agent from one computer
sys. to another - Generic framework
- Main concepts of Java programming language
- Main advantages
- Saving network bandwidth
- Mathematical model
- Network workload
- Optimization
9The Mobile Agent Migration Process
- Generic Framework for Agent Migration
- Process of agent migration is implemented
differently, but can be described using a general
framework - Basic Terminology
- When an agent is created on an agency,
- Agents home agency
- Agents owner a user who starts the agent
- Owner can define agents name
- Owner information is important
- Telling foreign agencies how trustworthy the
agent is - Agents name identifies an agent unequivocally on
all agencies - Usually, an agent returns to its home agency
after it has fulfilled its tasks
10The Structure of Mobile Agents
- Code
- Logic
- Be separated from the code the agency
transferred alone - Identifiable, readable
- e.g) file, byte stream
- Data
- Object state
- Values of the agents instance variables
- Not all data items are part of its object state
- e.g) shared or agency software (file handler,
threads, GUI etc.) - Agents own movable
- Non-movable resources in the next week
- Execution state controlled by the processor
OS - Object states are controlled by the agent itself
- Depend on the decision of the mobile agent
toolkit designer - Will be discussed in the next week
11The Migration Framework
- Migration
- Typical behavior of a mobile agent
- Current agency sender agency
- Other agency receiver agency
- Migration protocol
- Asynchronous communication, e.g. send a email
- Complicated network protocols, e.g. TCP/IP
- S1 initialize the migration process suspend
the thread - S2 capture the agents data and execution state
(serialized) - S3 transfer the agent
- R1 receive the agent
- R2 Deserialize the agent
- R3 start agent execution in a new thread
(discussed in the next seminar how to load)
12Migration in the Tracy MAToolkit
- Programming Languages for MA
- ArnoldGosling, 2000, de facto standard for
mobile agents - Same prog. languages must be used for mobile
agents - Tacoma and DAgent different prog. Languages
- 1st mobile agent toolkits
- Interpreted language (Telescript White96),
Script language (TCL Gray et al97, Perl Wall
et al.00), Language discussions Knabe95,
Cugola et al97, Thorn97 - Several built-in features that lessen the effort
involved in building mobile agent toolkits - Focus on migration process Object serialization,
dynamic class loading, reflection, security - Foundations of Java
- Portability, architecture independent byte-code
format, JVM - MA must be able to migrate in a network of
heterogeneous comp. sys. - JVM simplify security control
- Safe (illegal type casting pointer), byte code
verifier - Drawbacks
- Impossible to obtain the current execution state
of a thread - Impossible to preserve and later execution of a
mobile agent in detail - Lack of resource control (e.g., memory or
processor cycles)
13Migration in the Tracy MAToolkit
- Representing Agents in Tracy
- Control agents life cycle
- get and set internal data structures
- Receive message
- Starting the Migration Process and Resuming
Execution - Mobile agent can be moved in 2 ways
- go command, use migration properties -gt go
command - Resumed using the Java reflection technique
- Object Serialization and Deserialization
- All variables, referenced objects put into a flat
byte array - static variables are not part of the serialized
object - Determine only the object state of agent, not its
execution state - Finding Classes and Dynamic Class Loading
- Code closure agents main class and all classes
that are used for variables, method parameters,
method return values, local variables of any
class of the code closure
14Effective Migration as a Core Feature of MAToolkit
- One of the main advantage of mobile agents
- Save network load cpt. client-server based appl.
- By shipping the code close to data
- Which paradigm produces lower network load?
- 2 approaches from literature
- Design decision btw MA CS app. based on
mathematical models - Mixture btw mobile agent migration RPC
- Detailed network-load analysis using math. models
15Mobile Agents vs. Client-Server (1/2)
- Static Decision btw MA and CS
- In distributed information system,
- N servers each hold D documents
- Client task download the relevant documents w/
keywords - Constraints
- Relation btw relevant docs all docs equals i
for all servers - Header info. has length h bits for each doc, each
doc has length b bits - Requests sent from the client to server have
length r bits - Picco Vigna analysis
- Mobile agents always produce the highest network
traffic because an agent carries all docs already
found - In all other paradigms, docs are sent back to the
client immediately - Networks for real-world applications must be
considered - Networks are heterogeneous migration btw remote
servers is faster than sending two requests from
the client - Parameters might change in the future
16Mobile Agents vs. Client-Server (2/2)
- Mixture btw Agent Migrations RPC
- Proposed by Straver Schwehn 97 minimize
network traffic - Several parameters are known in advance
- Amount of communication necessary btw c-s
- Bandwidth latency for all network connections
- Model mobile agents
- To filter or compress server results before
sending it back to the client, compression factor
- Evaluate a single C-S-like interaction wrt
different values for the server result size and
the compression factor - With low compression factors, MA produces a
greater network load, vice versa - To determine the optimal communication sequence,
- Knowledge of several parameters, about network
bandwidth, latency, request, and result size - However, it is not clear how these values can be
obtained in general
17Performance Analysis of Simple MA vs. CS
- To show under
- which circumstances the use of mobile agents
causes lower network load - Which characteristics of mobile agents are
responsible for sometimes higher network load - Focus analysis on network traffic
- Transmitted bytes, not transmission time
- 2 advantages of mobile agents, reducing network
load - Ability to avoid network protocol overhead
- Ability to filter compress data at the server
site - Additional assumptions
- When migration, carry all its code, all state
information, all data - If migrate to home agency, code transmission is
omitted - Not consider
- Security cost, manual optimization, etc.
18Behavior of Mobile Agents (1/6)
- Scenario 1 network of one client one server
- Client accesses the server one or many times
- Reducing network load through data filtering
compression - No data filtering compression can be applied
- Request of size Breq, a result of size Bres
- Mobile Agents
- Filter or compress the server result, (1- s)Bres
carried - code size Bc, state information size Bs
- MA produces lower network load iff its code
(including double the state) is lower than the
of bytes of the server result that agents could
save thru. compression and/or filtering
19Behavior of Mobile Agents (2/6)
- Scenario 1 network of one client one server
- Avoiding several network protocol steps
- For a client to need to check a server
periodically to keep informed about changes - Client-Server approach
- Mobile Agent approach
20Behavior of Mobile Agents (3/6)
- Scenario 2 network of one client m servers
- Client is searching for a single data item that
might be stored on any server search
sequentially - Server set L L1,,Lm
- Probability that information is found at server
Li pi - Order in which servers are accessed is important
- Client-Server approach
- Mobile Agent
network load increases in proportion to the
of servers in mobile agent, whereas only slightly
in client-server approach
21Behavior of Mobile Agents (4/6)
- Scenario 2 network of one client m servers
- Consider only the costs at the client network
interface - e.g) mobile phone costs depend on the of bytes
from mobile phone to the Internet service
provider, uplink - Client-Server approach is the same
- Mobile agent approach
Profitable to use mobile agents if only uplink
costs must be considered
22Behavior of Mobile Agents (5/6)
- Scenario 3 network of one client m servers
- Client is searching for data items on all servers
- Client-Server approach
- Mobile Agent approach
- Code, state, request transmission
- Select filter data, increase (1-s)Bres
23Behavior of Mobile Agents (6/6)
- Scenario 3 network of one client m servers
- Client is searching for data items on all servers
- Consider only costs at the client-network
interface - Client-Server approach
- The same as
- Mobile Agent approach
24Evaluation Scenario using Parameters
25Limitations
- Some factors influence network traffic response
time - Network quality
- Error probability of a given network connection,
e.g., wireless - A mathematical model Jain et al.00
- Server processing time
- Ignored, response time agent migration data
transmission time - Gray et al. 2001
- Scalability of a mobile agent server software is
a major drawback for the overall performance of
MA-based appl. - Puliafito et al. 99, 01, information retrieval
domain - A fixed of servers must be accessed
- Influence of the probability, pr, of reusing the
same server for a subsequent request - Such subsequent request produces network load
- Low value for pr, client-server approach performs
better because of the overhead of mobile agent
migration - Higher value for pr, mobile agent approach
performs better
26Advantages of Mobile Agents (1/2)
- Mobile agents produce lower network traffic
- If of requests during communication is high
- Size of the server result is high combined w/ a
high compression or filter factor - Real-world experiments are conducted
- Give concrete numbers
- Ismail Hagimont 99, w/ Aglets, Inf. Retrieval
- First server hotel information, second server
telephone dir. - Task to get a list of hotels in a given town
their telephone number - Overall execution time depend of hotel records
returned by the first server - If there are more than 30 record, mobile agent is
lower execution time. Otherwise, client-server is
lower
27Advantages of Mobile Agents (2/2)
- Multiple servers must be accessed network
connection btw client and any server is not
frequently used - Smaller network load if only network traffic at
the client-interface (uplink) is considered - Shorter response time if the uplink has a smaller
bandwidth (or higher latency) than all
inter-server connections - Heterogeneous networks
- Network connections do not have the same quality
- Uplink (i.e., the connections btw the client and
any server) has lower bandwidth or higher latency
than connections btw servers - e.g) mobile client that use wireless LAN
- Mobile agents have a shorter response time
- Because only small bandwidth connection only
twice for the migration from the client and back
to the client - Whereas in the client-server paradigm, each
server is accessed using this bottleneck
connection
28Drawbacks of MA using Simple Migration Tech.
- MAs sometimes produce higher network traffic
- Size of the code to be transmitted
- Agent code is usually larger than a simple
request in CS - Carry code for data filtering and/or compression
- Need additional logic which servers should be
visited - The more sophisticated the data filtering (which
results in a higher compression factor), the
larger the code is necessary - Sending code to each server causes a fixed
overhead - Migration technique
- Assumption send code as one unit to each server
- Pieces of code with low execution probability on
specific server - On a specific server only one of subtasks is
executed - Therefore, code for all other subtasks is
transferred superfluously - MA has to migrate to many servers instead of only
one - MAs are useful only if there is a small of
servers to be visited - Contradicts the general idea of mobile agents
29Summary
- Mathematical evaluation
- Examination of a performance analysis
- Mobile agents
- Reduce the network load processing time
- Because code is shipped to the data instead of
data being shipped to the code - Drawbacks in mobile agents
- Simple migration technique
- Code migration is expensive task (optimized,
flexible) - Data migration has an important effect on the
performance of mobile agents - In the next week,
- Focus on migration process of mobile agents
optimizations
30Discussion
- Discussions More information
-
- Dongpyo Hong
-
- GIST U-VR Lab, Gwangju 500-712, S. Korea
- Tel. 82-62-970-3157
- Fax. 82-62-970-2204
- mailto dhong_at_gist.ac.kr
- Web http//uvr.gist.ac.kr/dhong or
http//www.dhong.net
Thank You!