Prototype Development Kit & P2P Middleware Proposal
Download
Report
Transcript Prototype Development Kit & P2P Middleware Proposal
Prototype Development Kit
&
P2P Middleware
Proposal
Giovanni Turi
IIT - CNR Pisa
[email protected]
MobileMAN Kickoff
1
Agenda
Introduction
The
need for a “PDK”
(Prototype Development Kit)
JXTA, a middleware for p2p networking
Conclusions
MobileMAN Kickoff
2
Introduction
MobileMAN
has objectives at all levels
Demonstrations play an important role:
For
single modules
For the “fully functional”, integrated system
Demonstrate
through usage of
new/ported “killer” applications
MobileMAN Kickoff
3
The need for a PDK – (1)
Few
and unusable examples of ad hoc
networks
There is the need for a Prototype
Development Kit (PDK)
A PDK intended as a set of devices and
tools to modify, build and test ad hoc
software
MobileMAN Kickoff
4
The need for a PDK – (2)
Use the PDK to:
Gain experience with the new technologies
Develop step-by-step prototypes
Do real experiments
Have more feedback to our “paper work”
Extend the PDK scope to all project
members:
Share everybody’s expertise
Have a common testbed for coherent results
MobileMAN Kickoff
5
The need for a PDK – (3)
to set up an ad hoc network
from (possibly) dishomogeneous nodes
Target
the application
layer with a
reference
middleware (MW)
Play inside and
below the MW
Application
Fix
Middleware
Transport
Routing
MAC
…
MobileMAN Kickoff
6
The need for a PDK – (4)
What kind of devices and tools can we use?
…but one reference MW:
HW: laptops, PDA’s, MeshAP…
OS: Linux for sure! But MS Windows XX?
Wireless Devices: IEEE 802.11x, Bluetooth
Tools: C/C++ (gcc), Java (JDK)
Currently investigating on JXTA
Applications?
MobileMAN Kickoff
7
JXTA
A middleware for p2p computing
MobileMAN Kickoff
8
JXTA – Intro (1)
Pronounced as “juxta” (from “juxtaposition”)
P2p computing side-by-side with client/server
Set of open, generalized p2p protocols
To do what?
To build distributed applications able to
communicate and collaborate on the network
in a p2p fashion
MobileMAN Kickoff
9
JXTA – Intro (2)
JXTA protocols are designed to deliver:
Interoperability, peers locate and communicate
with each other
Platform independence, from the HW, from the
programming language (see “binding”), from the
transport protocol, (TCP/IP, Bluetooth, HomePNA)
Ubiquity, JXTA technology designed to be
accessible by any digital device
...sounds interesting for “ad hoc”...
MobileMAN Kickoff
10
JXTA – Intro (3)
And
more for p2p nets JXTA delivers:
Uniform
decentralized addressing scheme
Network virtualization
Fault resiliency
Dynamic self-organization
...even
more interesting for “ad hoc”!
See later more specific slides…
MobileMAN Kickoff
11
JXTA – mechanisms
What
can JXTA-based peers do?
Discover
each other
Self-organize into peer groups
Advertise and discover network services
Communicate with each other (even in a
secure way SSL/TCL)
Monitor each other
MobileMAN Kickoff
12
JXTA – architecture
Three
foundamental layers
Some community p2p
application
Basic p2p services:
search and index, file
sharing, DFS, PKI…
p2p networking
primitives: pipes, peer
groups, monitoring,
security
Applications
Services
Core
Applications and
services are not rigidly
separeted…
MobileMAN Kickoff
13
JXTA - components
Network is composed by peers
Peers can group up, forming peer groups
Peers can notify offered services through
advertisements (XML docs or Binaries)
Peers communicate using pipes, exchanging
messages (XML docs)
Pipes, with asynchronous and unidirectional
communication (1:1, 1:N)
MobileMAN Kickoff
14
JXTA - protocols
Peer Discovery, peers advertise and discover offered
resources
Peer Information, peers obtain other peers status
information
Peer Resolver, peers define and exchange
information in a query/response model
Pipe Binding, peers establish virtual communication
channels
Endpoint Routing, route discovery…similar to DSR,
but with peer hierarchy
Rendezvous, message propagation within a group
MobileMAN Kickoff
15
JXTA – key aspects (1)
Data
standardization, use of XML docs
to share information among peers
Uniform addressing scheme, use
Uniform Resource Names (URNs) to
identify any resource (peers, groups,
pipes…), NO central authority like DNS
Example
ID:
urn:jxta:uuid 5987678577…..87DA4F688
MobileMAN Kickoff
16
JXTA – key aspects (2)
Network virtualization and fault resiliency,
network topology is abstracted, use of
independent routing protocol (ERP), reroute
on the fly as peers come and go, replicate
services within groups
Dynamic self-organization,
A peer locates other peers and groups, agrees on
groups’ services, implements them and joins
A group maintains advertisements for its
members, eventually authenticate members
MobileMAN Kickoff
17
JXTA - conclusions
JXTA sounds appealing for our experiments
At least the concepts inside are close enough
to ad hoc concepts
We can open the box and provide our own ad
hoc services
Routing: DSR, AODV
Transport: TCP, HTTP, Bluetooth
Monitoring: check other peers behavior
….and so on
MobileMAN Kickoff
18
JXTA – problems
Sun supports a JAVA binding, and JAVA is
perfect for fast application development,
but…
Is it light enough for small devices?
How can we work around “SW-elefants”?
Do our own binding, maybe using the JAVA Native
Interface
Use variants like JXME on small boxes
MobileMAN Kickoff
19
JXME
JXTA for JAVA Micro Edition
Suitable for small devices with low
capabilities
Mixed architecture: JXME on edge peers +
JXTA with relay service on normal peers
MobileMAN Kickoff
20
JXME – features supported
Discovery
of pipes, peers and groups
Creation of pipes and groups
Group join
Communication through pipes
MobileMAN Kickoff
21
JXME – constraints
No
security (no SSL)
Limited architecture and run time
support resources
Limited networking only HTTP
No XML (parsers are really really
heavy!)
MobileMAN Kickoff
22
JXME – the relays
Relay
peers will offer:
Compact
Advertisement
XML binary translation
Proxy for small Mobile Information
Device Profile (MIDP) devices
MobileMAN Kickoff
23
References and questions
JXTA project:
http://www.jxta.org/
JXME project:
http://jxme.jxta.org/
URNs:
IETF RFC 2141
MobileMAN Kickoff
24