SATIN - Applications
[about] [documentation] [applications] [javadoc] [downloads] [publications] [metamodel] [project page]
This page contains some applications developed using SATIN. They're all available for download, released under the LGPL.
- Advertising and Discovery Framework
It's quite important for a mobile device to be able to discover services being offered in a mobile environment. Conversely, as the device itself is part of the mobile environment, it's important that it's able to advertise its presence to the network too. Given the dynamicity and heterogeneity of the environment, it's not a great idea to impose one advertising and discovery protocol into the system. After all, there are many of them around, like Bluetooth SDP, Jini, UPnP, etc. What we did with SATIN, is to create a modular advertising and discovery framework, using SATIN facets and interfaces. We implemented a publish/subscribe mechanism with it. It is described in the documentation section.
- The SATIN System Package Manager - Interfacing with RPM
The System Package Manager is a SATIN based abstraction on top of the RPM package manager. It allows deployment of RPM packages encapsulated in LMUs, using the SATIN Deployer.
- Transcoding Proxy
This is an http proxy (not all of the spec has been implemented), in which various transcoders can be dynamically deployed. A transcoder can dynamically recode or change the format of media that goes through it. We adapted the Java reference implementation of JPEG2000 as a transcoder for JPEG2000 images. This piece of software was developed as part of a European Space Agency project for active networks, in collaboration with Wolfgang Fritsche, Karl Mayer and Gerhard Gessler.
To run it, run sat-platform.jar
on the machine that's going to host the http proxy and sat-control.jar
on the machine that's going to control it. From the controlling machine, you can then do:
deploy [destination] proxy
deploy [destination] manager
deploy [destination] transcoder [proxy]
[destination]
is the address of the machine running sat-platform.jar
. The first line deploys the proxy component. The second line deploys a component that manages proxy instances. The component is hardcoded to instantiate two proxies. The third line deploys the JPEG2000 transcoder to the proxy identified by number [proxy]
. By default this is either 0 (1st proxy) or 1 (2nd proxy). Here's the output from sat-control.jar:
watto:~/ESA-ActiveNetworking# java -classpath sat-control.jar:satin.jar edu.UCL.satin.apps.satcontrol.SatControlPlatform
***[Wed Jul 06 09:07:29 CEST 2005 Satelite Control Platform] SATIN initialised.
I Talk to Planets Baby!
Satelite Control Platform Running. Waiting for commands
***[Wed Jul 06 09:07:29 CEST 2005 mitoolkit.core.MessagePrinter@b166b5] mitoolkit: Server: TCP Server Listening on TCP port8011
***[Wed Jul 06 09:07:29 CEST 2005 ID=STN:MITKDEP,FACETS=Deployer,DEP=STN:DEBUG,VER=1] Created new DeployerQueryServer at port 8012
deploy obiwan proxy
***[Wed Jul 06 09:07:35 CEST 2005 Satelite Control Platform] Sent the Proxy Component For Deployment to Satellite.
ok.
deploy obiwan manager
***[Wed Jul 06 09:07:41 CEST 2005 Satelite Control Platform] Sent the Proxy Manager Component For Deployment to Satellite.
ok.
deploy obiwan transcoder 0
***[Wed Jul 06 09:07:58 CEST 2005 Satelite Control Platform] Sent the Transcoder Component For Deployment to Satellite.
ok.
And here's the output from sat-platform.jar:
obiwan:~/ESA-ActiveNetworking# java -classpath satin.jar:sat-platform.jar edu.UCL.satin.apps.satplatform.SatPlatform
***[Wed Jul 06 09:08:53 CEST 2005 Satellite Platform] SATIN Initialised.
Satellite Platform Running. Waiting for Active Components.
***[Wed Jul 06 09:09:39 CEST 2005 Satellite Platform] A New Component Was Deployed: ID=PANAMAS:PROXY,VER=1
***[Wed Jul 06 09:09:44 CEST 2005 Satellite Platform] A New Component Was Deployed: ID=PANAMAS:PROXYMANAGER,DEP=PANAMAS:PROXY,VER=1
***[Wed Jul 06 09:09:44 CEST 2005 ID=PANAMAS:PROXY] Proxy running at port 32846
***[Wed Jul 06 09:09:44 CEST 2005 ID=PANAMAS:PROXY] Proxy running at port 32847
***[Wed Jul 06 09:10:04 CEST 2005 Satellite Platform] A New Component Was Deployed: ID=STN:JJ2KTRANSCODER,FACETS=Transcoder,VER=1
***[Wed Jul 06 09:10:04 CEST 2005 ID=PANAMAS:PROXYMANAGER,DEP=PANAMAS:PROXY,VER=1] Attached Transcoder to proxy at port 32846
Awaiting for parameters
:- Transcoding
[INFO]: 3 component(s), 1 tile(s)
Image dimension: 512x512
CREATOR: JJ2000 version 4.1
Target rate = 5.0 bpp (163840 bytes)
Actual bitrate = 3.5512085 bpp (i.e. 116366 bytes)
Target bitrate = 100.0 bpp (i.e. 3276800 bytes)
Achieved bitrate = 3.548584 bpp (i.e. 116280 bytes)
Transcoded! Saving of 86 bytes. Rate: 0.99926096
0
-rate 0.15 -res 5
:- Transcoding
[INFO]: 3 component(s), 1 tile(s)
Image dimension: 512x512
CREATOR: JJ2000 version 4.1
Target rate = 0.15 bpp (4915 bytes)
Actual bitrate = 0.14852905 bpp (i.e. 4867 bytes)
Target bitrate = 100.0 bpp (i.e. 3276800 bytes)
Achieved bitrate = 0.29714966 bpp (i.e. 9737 bytes)
Transcoded! Saving of 106629 bytes. Rate: 0.083675645
Stefanos Zachariadis
Department of Computer Science
University College London.
August 2005