MobileMAN Kickoff 1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa [email protected]
Dec 23, 2015
MobileMAN Kickoff 1
Prototype Development Kit &
P2P MiddlewareProposal
Giovanni Turi
IIT - CNR [email protected]
MobileMAN Kickoff 2
Agenda IntroductionThe need for a “PDK”
(Prototype Development Kit)JXTA, a middleware for p2p networkingConclusions
MobileMAN Kickoff 3
IntroductionMobileMAN has objectives at all levelsDemonstrations play an important role:
For single modules For the “fully functional”, integrated system
Demonstrate through usage of new/ported “killer” applications
MobileMAN Kickoff 4
The need for a PDK – (1)Few and unusable examples of ad hoc
networksThere 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 5
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 6
The need for a PDK – (3)Target to set up an ad hoc network
from (possibly) dishomogeneous nodes
Fix the application layer with a reference middleware (MW)
Play inside and below the MW
MiddlewareTransportRoutingMAC…
Application
MobileMAN Kickoff 7
The need for a PDK – (4) What kind of devices and tools can we use?
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)
…but one reference MW: Currently investigating on JXTA
Applications?
MobileMAN Kickoff 9
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 10
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 11
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 12
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 13
JXTA – architectureThree foundamental layers
Applications
Services
Core
Some community p2p application
Applications and services are not rigidly separeted…
p2p networking primitives: pipes, peer groups, monitoring, security
Basic p2p services: search and index, file sharing, DFS, PKI…
MobileMAN Kickoff 14
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 15
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 16
JXTA – key aspects (1)Data standardization, use of XML docs
to share information among peersUniform 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 17
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 18
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 19
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 20
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 21
JXME – features supportedDiscovery of pipes, peers and groupsCreation of pipes and groupsGroup joinCommunication through pipes
MobileMAN Kickoff 22
JXME – constraintsNo security (no SSL)Limited architecture and run time
support resourcesLimited networking only HTTPNo XML (parsers are really really
heavy!)
MobileMAN Kickoff 23
JXME – the relaysRelay peers will offer:
Compact Advertisement XML binary translation Proxy for small Mobile Information
Device Profile (MIDP) devices