2. Project Source
• Proceedings of the Seventh International Symposium
on Computers and Communications (ISCC’02) 1530-
1346/02 2002 IEEE
• University of Bologna (ITALY)
• DEIS - Dept. of Electronics, Computer Science and Systems
(Research Centre)
• Research Areas
• SOMA (Secure and Open Mobile Agents) Programming
Framework
• MUM Mobile UbiQoS Middleware
• Project Manager
• Mr Paolo Bellavista, Ph. D.
Research Associate
• Mr Luca Foschini, Ph.D
3. Project Background
Enlarging market of portable devices
– Hardware Resources
– Operating Systems
– Supported Softwares
Provision of internet services to a wide set of
client terminals
– very heterogeneous and limited resources
• computing power
• visualization capabilities
• local memory to available network bandwidth
Problem
4. Project Background
Technical challenges
– Integration of portable devices with the fixed network
infrastructure
– Access both traditional internet services and new
service classes, location-dependent services
Locality
5. So What We Require
Dynamic un/installation of service components
Configuration management
Resource Accounting
Security
Middleware
Solution
6. Proposed Solution
A middleware capable of
– Distribution Of Video On Demand (VoD)
– Dynamically Deploy Components
– Act On Behalf Of Devices Over The Fixed Network
– Operate Autonomously To Carry On Service Requests
– Can Follow Device Movements
– Can Operate On VoD Flows (Usually Downscaling The Flow
Quality And/Or Transcoding The Multimedia Format) To Fit
Specific Device Capabilities
Locality
7. Mobile Agent
Mobile Agents (MAs)
– active entities
– can migrate from one network node to one
another
– carrying their code and by preserving their
reached execution state
– MA properties of mobility, a synchronicity and
autonomy during service provision
Question ??
??
Locality
8. Project Strategy
Developed a Mobile Agent System
Specifically for Multimedia Applications
Tested with a Location Dependent VOD
Application
Research
Paper Idea
Locality
9. Proposed Solution Components
Proposed Solution
1. MMM: an MA-based Middleware for VoD
2. Discovery and Tailoring
3. Transcoding on Multimedia Presentations
4. Profile based Negotiation
– Related Implementation Technologies
13. Movie Info Prototype
Implemented at the top of the Mobile
Agent Platform
Access of portable devices to the location
dependent services
Services include not only the textual or
graphical information but also the Trailers
of the movie
14. Stake Holders Profile Manager:
Creates and maintains the user and
device profile
Service Recipient:
Requests and receives the service
18. Development Strategy
Shadow Proxy
Implementation Using
Jini
MA Platform
Implementation
MA Platform
Implementation
QoS Adapter
Portable Device
Lookup Service
QoSQoS
Multimedia
Transformations
JMF
Profile Manager Service
XML Solution
19. Device/player-specific stubs
• Run on portable devices
• Receive the MM Presentations from
Shadow proxies after being transformed
from the QoS Adapter.*
• Emulators
20. Over all System Working
Service
Recipient
Device specific
client
Input service
Entry
Exit info
Results
21. Shadow Proxy (SP)
Portable Component
One-to-one mapping
It is implemented as a Mobile Agent on the
top of the MMM platform.
22. Shadow Proxy (SP)
Several important features and functions of
shadow proxy are:
• Mobile Agent
• Shadow Proxy Instantiation
• Shadow Proxy Migration
• Shadow Proxy carries the device and current users
profile along with it
• Several proxies for different devices can execute
concurrently on the same node
23. Over all System Working
Service
Recipient
Device specific
client
Input service
Entry
Exit info
Results
PDLS
Shadow proxy
create/migrate
Entry
Exit info
Input service
25. Profile Manager Service (PMS)
Static Component
Single PMS in one MUM Domain
Any participating domain should in statically
install the PMS
26. Profile Manager Server (PMS)
Several important features and functions of
PMS are:
The PMS maintains the profiles of
supported devices and registered users.
The user and device profiles are saved
in XML which is a powerful tool is a
powerful tool for solving data-
management problems and makes the
data portable
27. Over all System Working
Service
Recipient
Device specific
client
Input service
Entry
Exit info
Results
PDLS
Shadow proxy
create/migrate
Entry
Exit info
Input service
MMM_PMS
User profile
Attribute
User device
Attribute
results
28. Dynamic Service Discovery
It relates to dynamically retrieving the set of
resources/services available in the current
client locality without any prior knowledge.
JINI – The Solution
Jini is a network technology that enables
spontaneous assembly and interaction of
services and devices on a network.
30. Helpful JINI Concepts
Leasing
Loose coupling
Associative search
Spontaneous Networking
Service oriented approach.
Frame work for scalable distributed
systems.
High level Programming Model for
distributed applications.
31. JINI Players & Infrastructure/Protocols
Shadow Proxy
(Client)
Video Server
(Resource)
Service Object
Service Attributes
Lookup Service
Request
Service
getVideo(“ Lecture”)
Return
Service
Proxy to
getVideo( )
J
o
i
n
Register & Lease Services
Server Class
contains Method
getVideo ( )
1. Client Invokes getVideo(C++ Lectures) on Resource
2. Resource Returns Status of Invocation
Service Invocation via Proxy
by Transparent RMI Call
Service Object
Service Attributes
Registry of Entries
32. Network TransportNetwork Transport
Operating SystemOperating System
Java TechnologyJava Technology
Jini TechnologyJini Technology
ApplicationApplication ServicesServices
Network protocols
Jini network Protocols
RMI
Jini protocol helper tools
Java VM and Networking
Jini Discovery management
Jini client or service
Java Space& helper
Services
The Jini Architecture
33. Jini and WebService
Similar service base concept,
but one is base on XML and
one is base on Java.
34. CRM Approach
The acronym stands for the hybrid approach
used in the implementation comprising:
RMI: Shadow Proxies/Service Servers
Client-Server: PDLS
Mobile Agents: Shadow Proxies
35. Overall System Diagram:
Service
Recipient
Device specific
client
Input service
Entry
Exit info
Results
PDLS
Shadow proxy
create/migrate
Entry
Exit info
Input service
MMM_PMS
User profile
Attribute
User device
Attribute
results
Service
Server
36. Provision of video services to portable
devices focuses heavily on visualization
capabilities of the devices.
To fit specific device capabilities, transcoding
(downscaling the presentation ) of the
multimedia format is required.
37. Where to operate
transcoding???
Server side
Client side
MA Middleware
Transcoding..
QoS
Parameters
Exploit
Computing
Resources
38. QoS Adapter:
Portable Component
It is implemented as a Mobile Agent on the top
of the MMM platform.
Each Shadow Proxy launches separate QoS
Adapter for video services.
These adapters are in charge of compression
reduction of frame size/rate
format transcoding/downsizing required-
according to characteristics of portable device
Triad connection…Service Server- QoS Adapter-Shadow
Proxy
39. VIDEO TRANSCODING
JAVA MEDIA FRAMEWORK(JMF)
JMF, brings time-based media(changes
meaningfully with respect to time, such as
audio and video ) processing to Java.
Play various multimedia files in a Java
applet or application. The formats supported
include AU, AVI, MIDI, MPEG, QuickTime,
and WAV.
42. JMF uses the same model…
Manager an intermediatory object (integrating
new interfaces with existing classes)is used to
create Processor,DataSink
Step 1:
– Identify the Data source(file on hard disk)
– In JMF, a DataSource object represents the audio
media, video media, or a combination of the two.
Step 2:
– JMF defines two types of Controllers for the
presentation of data:
• Player
• Processor –specialized type of player
• Create a Processor for the given input URL
43. Processor
- Takes Data Source as Input
- Performs Processing on media
data
- Ouputs processed media data
44. Step 3: Determine the Content Descriptor & set the
(output) content descriptor on the Processor.
Step 4: Realize the Processor.
Step 5:Prefetching state…
- Obtain output data source i-e (file on hard disk)to
create DataSink.
- Match and set the Format
Step 6: Start the Processor and DataSink.
Step 7: Close up the Processor and DataSink.