Distributed Mobile Computing - Computer Science

Download Report

Transcript Distributed Mobile Computing - Computer Science

AgentOS: The Agent-based Distributed Operating System for
Mobile Networks
Salimol Thomas
Department of Computer Science
Illinois Institute of Technology, Chicago
Distributed Mobile Computing
Characteristics
- Wide area
- Mobile Host (Laptop)
- Nomadic Users
- Heterogeneous
Requirements
- Flexibility
- Mobile Computing
- Support for disconnected network
- Fault tolerant
- Security
AgentOS is the solution. It is designed to support
distributed mobile computing.
Foundations
- Agent based
- Peer to Peer Networking
Capabilities
- Autonomous Migration
- Intelligent Routing
- Disconnected Computing
Advantages
- Simple and powerful distributed model
- Enhances flexibility and fault tolerance
What is Agent ?
Agent is a process that can perform certain tasks
Reactive : Senses changes in the environment and acts according to those
changes.
Autonomous: Has control over its actions.
Goal Driven: is proactive
Continuos: is active till its termination.
Agent
Mobile
Stationary
(like a conventional server)
Mobile Agent
agent
B
Searching different
databases
A
C
D
• It has the unique ability to transport itself from one system
in a network to another
• Suspend execution at any point in time, transport itself to a new
machine and resume execution
• Continuos interaction with agent’s originating source is not required
Advantage of mobile agents
Reduction in network load
RPC based
Application
Services
Data
Agent Based
con
text
agent
Application
agent/data
Services
Data
Agent
Sent
Services
Service
s
Data
cont
ext
Application
context
Support for disconnected operation
Application
Application
Result
contex
t
Disconnect
ed network
Service
s
AgentOS architecture
User
applications
-Completely redesigned OS
[Svahnberg, 98]
- Task/Agent based system
- Offers flexibility
Services
Kernel
Core
-AgentOS on top of the conventional operating system
[Kothari, 97]
Agent
- Easy to implement
Agent Context
- Less cost
AgentOS Kernel
Java Virtual Machine
AgentOS Architecture ( contd..)
[Svahnberg, 98]
Advanced
Process
Manager
Advanced
Memory
Manager
Core
Device
Drivers
I/O
Manager
Other Kernel
Agents
Process
Manager
Memory
Manager Communication
Manager
Network
Manager
File system
Manager
Kernel
Layer
Advanced
Communication
Manager
AgentOS Architecture (contd..)
AgentOS on top of the Conventional operating system
Agent
Agent Context
AgentOS Kernel
Java Virtual Machine
Examples:
Aglet, Concordia etc.
Distributed Operating system services
[Chenb, 97]
- Load Balancing
- File System
- Resource Allocation
- Distributed Computing
- Fault Tolerance
Load Balancing
• A job originates at Host A
• Host A ask for bids from all the nodes
Host
'B'
• Nodes bids
• Host A evaluate the bids
• Host A selects the best bid
• Host A transferred the
job using an agent to the Agent
best bidder (Host D)
Host
'D'
Host
'A'
Host
'C'
File System
- Files can be made active by embedding each document in an agent
- Each file agent will have its own security behavior.
- File agent send updates to concerned parties and also to the backup
services
- Moves itself to the place where it is used most
Resource Allocation
- Agents finds out the suitable resource
- It moves closer to the resource and if possible to the device itself.
Host'
A'
Host
'B'
Host'
C'
Distributed Mobile Computing [Gray , 2001]
• Flexibility : Mobile Server - Client can write the service it wants.
• Connection less computing
• Conservation of bandwidth
120000
Number of Bytes
100000
80000
RPC
Agents
60000
40000
20000
0
0
10
20
30
Number of Queries
40
50
Fault Tolerance
- In case of failures, the owner of the agent can be notified
through event signal
- Agent can migrate itself to another host
- When agents migrates, it leaves behind a checkpoint of its state.
Security
Security is a concern, however there exists security
schema to prevent unauthorized, unwarranted operations
- Public-Private key exchange
- Digital signature
- Cryptography
- Encryption
Summary
AgentOS can provide better infrastructure for distributed mobile
computing
Agents can enhance the qualities and capabilities of present
distributed mobile computing system by providing the following
services
- Intelligent load balancing
- Disconnected operation
- Fault Tolerance
- Reduced Inter-node communication
Application
- A distributed mobile computing application was developed
Platform Used
OS :Windows 98
DATABASE :SQL Server 7
AgentOS : Aglet development kit (IBM)
Situation
A database called “weather” has daily temperature values of last 20
years. Somebody wants to calculate the average temperatures.
Result set would consist of 7300 rows. The person uses
his laptop to connect to the network and launch an agent. Then he gets
disconnected. When he becomes online again, the agent sends him the
message.
Agent structure
Guard Agent
OnCreation
{
launch nomad
}
MessageHandle
{
Display the result received
from nomad
}
Nomad Agent
OnCreation
{
dispatch( destination )
}
run
{
get data from the database
process them
try sending result to Guard
until success
Terminate
}