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