Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Computer network wikipedia , lookup
Deep packet inspection wikipedia , lookup
Network tap wikipedia , lookup
Internet protocol suite wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Airborne Networking wikipedia , lookup
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