Title: Making a Case for UCLP in a Dynamic World
1Making a Case for UCLP in a Dynamic World
Jorg LiebeherrUniversity of Torontojorg_at_comm.ut
oronto.ca
2Dynamic Information Management in UCLP
- Goal Support dynamic information management in
UCLP - Dynamic information requirements
- unknown, uncertain and changing resource
requirements - involving multiple administrative domains
- with unpredictable or unreliable connectivity
- with temporal or geographical bounds on
information availability and validity - with situation-based improvising
- HyperCast could be an enabling technology for
dynamic information management in UCLP networks
3Dynamic Information Management in UCLP
- HyperCast has the potential to enhance present
UCLP capabilities - Scalability in users and resources
- Decoupling of users and resources
- Multiple domains without central repository
- Security (confidentiality, integrity)
- Short-lived (ephemeral) application scenarios
- Monitor and control
- Extensions to wireless and ad-hoc networks
4HyperCast Project (www.hypercast.org)
- HyperCast is a set of protocols for large-scale
self-organizing overlay networks
- Main Features
- Open source (LGPL) license
- 100,000 lines of Java
- Socket inspired APIs
- Demonstrated Scalability
- Security protocols
- Monitor and control system
- Field-tested applications
- Emergency response system
- Defense scenarios (area protection)
5HyperCast Peer Networks
- Applications self-organize to form a given
overlay topology - Data is forwarded along the edges of the overlay
topology
6Overlay Socket
- Socket-based API
- Supports different semantics for transport of
data - Supports different overlay topologies
- Supports different protocols in substrate network
(UDP unicast, UDP multicast, TCP, or SSH tunnels) - Heavy use of XML
7HyperCast overlay sockets
- In HyperCast, each overlay node is represented by
an overlay socket - Application programs create overlay sockets, and
send/receive data through the socket - Each overlay socket has two connections to the
substrate - Control Establish and maintain the topology
- Data Exchange application data
- A overlay network is a collection of overlay
sockets
8Data exchange
- Several data exchanges are supported
- One-to-One (Unicast)
- One-to-All (Multicast)
- Many-to-One (Incast)
- Delivery Semantics
- Best-effort
- In-order
- Reliable
9Writing Programs with Overlay Sockets
- Application Programming Interface (API) stays
close to Berkeley Socket API - Programs are independent of overlay topology and
substrate network
//Generate the configuration object
OverlaySocketConfig ConfObj
OverlaySocketConfig.createOLConfig("hypercast.xml
") //Create an overlay socket I_OverlaySocket
socketConfObj.createOverlaySocket(null) //Join
an overlay socket.joinOverlay() //Create a
message OL_Message msg socket.createMessage(byt
e data) //Send the message to all members in
overlay network socket.sendToAll(msg)
//Receive a message from the socket OL_Message
msg socket.receive() //Extract the payload
byte data msg.getPayload()
10Experiment Scalability
Platform Cluster of 100 PCs Measurement How
long does it take to add M members to an overlay
network of N members ?
Time to Complete (sec)
MN members
11Hypercast Application Video-streaming in ad-hoc
network
(built in 2004)
12Snapshot
13HyperCast Application Area Protection
- Sensor Nodes
- Passive IR, Seismic, and Magnetic sensors
attached to Xbow MicaZ mote -
- Gateways
- XBow Stargate with MicaZ mote, NovaRoam radio,
and USB web cam - Acting as image capture, sensor fusion, and
network integration point - Robot
- Foster Miller Talon equipped with 4 infrared
cameras and a zoom camera - Attached laptop with GPS receiver and web camera
Network Technologies Zigbee, NovaRoam, and
802.11b
Application built as part of a US Army project on
networking unattended ground sensors (PIs B.
Horowitz, J. Liebeherr, S. Patek)
14Scenario
15(No Transcript)
16(No Transcript)
17Mobile Ad-Hoc
18Wireless Ad-hoc Testbed
- HP iPAQ 5555 PDA (x 8)
- 400MHz Intel XScale CPU, 128MB
- Jeode JVM
- Built-in 802.11b
- Toshiba M200 Tablet PC (used as monitor)
- 1.5GHz Intel Centrino CPU, 512MB
- Built-in 802.11g
- HyperCast overlay software
19Performance of Overlay in Ad hoc network
- Multi-hop
- Six iPAQ PDAs in a line topology
- Distance between PDAs is 30, 60, 90 ft
- Outdoor measurement (taken over several days)
- 10,000 messages (_at_ 512 byte)
- TCP adapter
- Fixed topology
20Security
21Security Mechanisms
- Authentication with X.509 certificates
- Certificates are exchanged before any other
communication takes place - Support for confidentiality and integrity using
one of three methods - SSL (Secure Socket Layer)
- Shared Keys
- All nodes share a common key
- Neighborhood Keys
- Each node has a secret that it shares only with
its neighbors
22Encrypting a Message
23Forwarding an Encrypted Message
Message
24Encrypted Payload (with Neighborhood Keys)
sender
1
2
5
6
receiver
4
3
Data plot removed because of size.
25Monitor and control
26Monitor and Control System
- Loosely modeled after SNMP
- Each application component collects statistics
- Statistics can be accessed by a remote monitor
- XML oriented
- Statistics are internally stored as XML documents
- Format of statistics is described in XML schemas
- Transmitted messages have XML format
- Dynamically created content
- Schemas for statistics are created dynamically
upon receiving a query - Applications can add statistics dynamically
27Monitor Overlay Network
28Hierarchy of statistics
ltSocketgt ltNodegt . ltNodeAdaptergt .
ltUBytesSentgt 1004 lt/UBytesSent
gt lt/NodeAdaptergt lt/Nodegt ltConfiggt .
lt/Config gt ltRecvBufgt . lt/RecvBufgt ltSocketAdapte
rgt . lt/SocketAdaptergt lt/Socketgt
29Accessing Statistics
- Statistics are accessed using XPath expressions
- Adressing the number of bytes sent
- /Socket/Node/NodeAdapter/UBytesSent
- Addressing all statistics of the overlay node
- /Socket/Node
-
30GUI for monitoring an Overlay Network
31GUI for monitoring an Overlay Network
32HyperCast and UCLP
33Information Management with Peer Networks
- Concept
- Each resource or user can be a member of
arbitrarily many peer networks - Access to information is provided through
dynamically created peer networks
34UCLP w/HyperCast Flexible resource allocation
user
user
35UCLP w/HyperCast Hierarchical Structure of UCLP
Services
36UCLP w/HyperCast Sharing of resources
user
user
37UCLP w/HyperCast Security
user
38UCLP w/HyperCast Monitor and Control of
resources
user
39Conclusions
- HyperCast is software for self-organizing peer
networks - Overlay socket is a programming interface for
overlay networks - Independent of type of peer network
- Independent of type of substrate network
- HyperCast appears suitable to support UCLP in
scenarios that are - highly dynamic
- highly diverse
- highly complex
- Suitability of HyperCast peer networks in complex
information management scenarios is established - HyperCast web site http//hypercast.org
- Design documents, download software, user
manualRelease of Java implementation under
Library GNU license.