Multimedia Services based on Mobile Agent

Multimedia Services
based on Mobile Agent
Presenter : Lee Chi Wai, Anson
Supervisors : Prof. Michael Lyu, Prof. Irwin King
Markers : Prof. Ng Kam Wing, Prof. Leung Ho Fung
Date : 28 Apr 2000
Outline of the presentation






Introduction
Survey of agent environments
Distributed Multimedia Services System
Agent based applications
Conclusion
Question and Answer Session
Introduction(1)

Distributed multimedia services systems tend to be
heterogeneous
 The heterogeneous environments differ in
underlying hardware architecture
 Main problems:



Discovery of remote resources and services
Configuration of the remote client or servers
Solutions:

Scripting language can cover the heterogeneity of
environments
Introduction(2)
 Use
of script:
 Retrieve
multimedia data in distributed
environment
 Create a common configuration between
the communication parties
 Reconfigure the systems which is already
running
 Mobile agent can provide flexibility to adapt
themselves in heterogeneous environment
Introduction(3)
 Multimedia
Transportable Agent System
 Multimedia
agent platform
provides an agent transport protocol for agent
migration
 provides an agent communication environment

 Multimedia
applications
retrieve multimedia data
 transfer of various audio or video data

Survey of Agent Environments
 Agent
Tcl
 support
agents written in Tcl, Java, C and
C++
 agent server is multi-threaded
 each agent is executed in a separate
process
 agent communication uses inter-process
communication
D’Agents(Agent Tcl)
 Agent
Tcl
 agent
server uses public-key cryptography
to authenticate the identity of an incoming
agent’s owner
 resource manager agents assign access
rights to agents based on authentication
 enforcement modules enforce the access
rights
Similarities and differences(1)
 Same
a
general architecture:
server on each machine accepts
incoming agents
 start up an execution environment for each
incoming agent
 load agent’s state information into the
environment
 resume agent execution
Similarities and differences(2)
 Multi-threaded
servers and run each
agent in a thread of the server process
itself
 Multi-process servers and run each
agent in a separate interpreter process
Similarities and differences(3)

Nearly all mobile agent systems either
interpret their language directly
 Or compile their languages into bytecodes
and interpret the bytecodes
 Java is the most popular agent language



portable and efficient
existing security mechanisms allow safe execution
of un-trusted code
wide-spread market penetration
Similarities and differences(4)
 Two
kinds of migration approach:
 Captures
agent object state, code and
control state, allowing it to continue
execution from the exact point at which it
left off
 Captures only agent object state and code,
and restart execution on some known entry
point inside its code
Similarities and differences(5)

Protecting an individual machine against
malicious agents
 Do not provide any protection for the agent
 All systems are suitable for distributed
information retrieval
 Decision should be based on implementation
language, level of security and performance
Distributed Multimedia
Service System
 The
agent structure
 transport
header
 agent header
 agent script
Transport
AG-ID Type Name Size
Header
Agent Sender-ID Mission Agent
Header
Info
State
Agent Script
Load
Length
Route
Info
Agent Structure
 AG-ID
 name
the directory where the agent and
the load are stored
 used as a reference when an agent or any
files is lost in the network
 Type
 determines
the type of the file
 distinguish between agent files and
different media files in agent load
Agent Structure
 Name
 name
of the file in agent load
 Size
 size
 Load
of the file in agent load
length
 indicates
the total number of files in the
agent load
Agent Header

Sender Identification


Mission Information


describes the mission, parameter needed for the
mission
Agent State


user name, e-mail address
stores number of sites already visited, type of
information found
Route Info

a list of service site addresses that guide the
agent during its mission
Multimedia Server Infrastructure(1)

Implementation Language:


System Specification:




Agent Tcl/Tk, C
Redhat Linux 6.2
Pentium II 333MHz w128MB RAM
4.3GB Harddisk
Tasks:


Search and retrieval multimedia data based on
title matching
Delivery multimedia data including audio and
video to end user
Multimedia Server Infrastructure(2)

An extension module : the Multimedia Agent
Platform




Starting, executing, accessing multimedia data
and management of agents
Code of multimedia server doesn’t need to be
changed
server doesn’t need to understand any MAP
related request
any changes in MAP requests don’t affect the
server implementation
Multimedia Server Infrastructure(3)
User
Interface
Multimedia
Server
Agent
Request
Redirect
Agent
Response
MAP
Agent
Multimedia Server Infrastructure(5)

Working Principle


Agent startup and configuration phase
1. connect to multimedia server
2. request to start an agent
3. Server redirect request to MAP
4. MAP initializes and starts an agent
Agent service phase
1. communicate with other agent
2. migrate to other multimedia servers to access
their multimedia data
Agent Startup
User
Interface
Multimedia
Server
GET
Agent
Agent sends its
GUI to user
Get GUI
Redirect
Agent GUI
MAP
Configuration
Information
active
Agent
MAP Architecture(1)
 Five
components:
 Agent
Execution Environment
 Migration Facilitator
 QoS & multimedia module
 Service Location Module
 Agent Communication Module
MAP Architecture(2)
 Agent
Execution Environment
 Agent
Tcl 2.0 interpreter
 recognizes the structure of the agent and
extracts information necessary to run the
agent script
 Agent scripts are written in Agent Tcl
 able to execute on any platform
Migration Facilitator(1)
 Agent
Tcl 2.0 daemon listens to port
6138
 Transport of the agent and its load

For incoming agent:
1. read the agent header
2. create a directory in the agent data store
3. stores agent and load files
4. activates the Agent Execution Environment
5. waits for new incoming agent
Migration Facilitator(2)
 For
departing agent:
1. it connects another migration facilitator
in the destination machine
2. Transfers the agent file and all the files
in the agent load
Migration Facilitator(3)
Agent
script
call the agent_jump
command to migrate to
another host
Interpreter
In the new host, it will
restores the state of the
agent and continue the
execution
Interpreter
Agent data store
Agent data store
Network
Migration Facilitator (sender)
Migration Facilitator (destination)
QoS and Multimedia Module

Problem in multimedia document delivery:



a media stream is continuous and of high
bandwidth need
huge amount of data to transport
Solution:


get feedback from the receiver, e.g. available
buffer space, network bandwidth
modify or change the coding scheme to lower or
raise the quality and bandwidth needs for the
stream
Service Location Module


Eliminates the need for a mobile agent to
travel to destination which doesn’t have the
requested resources
Working principle:
1. register itself with a service agent
2. supplies a set of attributes which describe the
service
3. get information about destination, such as next
hop address
Agent Communication Module
 Get
the AG-ID from the service agent
 Make a connection
Machine A
Machine B
Agent A
Service
Agent
1) register Agent A
Multimedia Agent
Platform
4) send messages to Agent
A on Machine A
Agent B
Service
Agent
2) req: where is Agent A?
3) rep: Agent A on A
Agent Based Applications

Audio Delivery



System Specification
Pentium II 333 MHz with 128M RAM
4.3GB harddisk
Compression Algorithm
MPEG 1 layer III at 128kbps
Layer III


most complex but offers the best audio quality
bit rates around 64kbps per channel
Audio Decoder
Encoded
bitstream
Bitstream
unpacking
 deciphers
Frequency
sample
reconstruction
Frequency to
time mapping
the encoded bitstream
 restores the quantized values
 reconstruct the audio signal
Decoded
PCM
audio
Transmission Plan
transmit the first
packet of audio data
(512 bytes)
transmit the second
packet of audio data
(512 bytes)
sleep interval 1
t=0
sleep interval 2
t=0.03125 sec. + t'
t=0.03125 sec.

transmit the third
packet of audio data
(512 bytes)
pseudo code :
sleep interval t’=0.03125sec;
while (server buffer not empty){
record the start time;
transmit audio packet;
record the stop time;
sleep for t’ sec;
compute next sleep interval t’;
}
Transmission Plan
bits transferred
(bits)
sleep interval
128kbps
ideal transmission plan
Buffer Management in Client Side
 use
a leaky bucket model to keep the bit
rate of audio data at 128kbps
 consists of a finite queue
 when a packet arrives, append it at the
end of queue if buffer is available
 otherwise, discards the packet
 at every clock tick, one packet is
transmitted to decoder
Leaky Bucket Model
Packet
Unregulated
flow
The bucket
holds packets
Regulated
flow
Network
time t
MPEG
decoder
Video Delivery

same system specification
 use MPEG 1 decoder from
http://www.mpegtv.com
 similar transmission plan as audio delivery,
differ in bit rate requirement (1.5Mbps in
MPEG 1 standard)
 can modify it to some advanced bandwidth
smoothing algorithms
 similar buffer management strategy as audio
delivery
Conclusion

Discuss similarities and differences of
different agent environments
 Propose to use mobile agent in searching
and retrieving multimedia data
 Discuss the system architecture and
prototype of multimedia server
 Present two multimedia data delivery
application build on the top of MAP
Future Work
 Finish
the implementation of MAP
 Try to protect the multimedia server
against malicious agent
 Try to protect agent against malicious
host