Top Banner
MobileMAN Kickoff 1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa [email protected]
24

MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa [email protected].

Dec 23, 2015

Download

Documents

Oscar Watts
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

MobileMAN Kickoff 1

Prototype Development Kit &

P2P MiddlewareProposal

Giovanni Turi

IIT - CNR [email protected]

Page 2: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

MobileMAN Kickoff 2

Agenda IntroductionThe need for a “PDK”

(Prototype Development Kit)JXTA, a middleware for p2p networkingConclusions

Page 3: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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

Page 4: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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

Page 5: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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

Page 6: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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

Page 7: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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?

Page 8: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

MobileMAN Kickoff 8

JXTA

A middleware for p2p computing

Page 9: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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

Page 10: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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”...

Page 11: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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…

Page 12: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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

Page 13: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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…

Page 14: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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)

Page 15: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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

Page 16: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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

Page 17: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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

Page 18: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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

Page 19: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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

Page 20: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

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                                                                                 

Page 21: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

MobileMAN Kickoff 21

JXME – features supportedDiscovery of pipes, peers and groupsCreation of pipes and groupsGroup joinCommunication through pipes

Page 22: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

MobileMAN Kickoff 22

JXME – constraintsNo security (no SSL)Limited architecture and run time

support resourcesLimited networking only HTTPNo XML (parsers are really really

heavy!)

Page 23: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

MobileMAN Kickoff 23

JXME – the relaysRelay peers will offer:

Compact Advertisement XML binary translation Proxy for small Mobile Information

Device Profile (MIDP) devices

Page 24: MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa giovanni.turi@iit.cnr.it.

MobileMAN Kickoff 24

References and questions JXTA project:

http://www.jxta.org/

JXME project:

http://jxme.jxta.org/

URNs:

IETF RFC 2141