Ian Taylor - UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping Scalable P2P Applications NATO.

Slides:



Advertisements
Similar presentations
Impala: A Middleware System for Managing Autonomic, Parallel Sensor Systems Ting Liu and Margaret Martonosi Princeton University.
Advertisements

Extensible Networking Platform IWAN 2005 Extensible Network Configuration and Communication Framework Todd Sproull and John Lockwood
Service Oriented Architectures in Heterogeneous Environments
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
JXTA P2P Platform Denny Chen Dai CMPT 771, Spring 08.
JXTA Protocol Introduction Student : Jia-Hui Huang Adviser : Kai-Wei Ke Date : 2005/11/22.
Socket Programming.
JXTA Selo TE Introduction What is JXTA ( pronounced Juxta ) What is JXTA ( pronounced Juxta ) Jxta – an open, network computing platform designed.
PROGRESS project: Internet-enabled monitoring and control of embedded systems (EES.5413)  Introduction Networked devices make their capabilities known.
Hermes: A Distributed Event- Based Middleware Architecture Peter Pietzuch and Jean Bacon 1st DEBS Workshop, Vienna,
Fionn Murtagh Dimitri Zervas Pedro Contreras Royal Holloway, University of London Munich, 24 of June 2005 JXTA P2P, Web Services and WS-Talk.
7DS Seven Degrees of Separation Suman Srinivasan IRT Lab Columbia University.
Wireless Sensor Network for Tracking the Traffic in INTERNET Network Routers Supervisor: Mark Shifrin Students: Yuriy Kipnis Nir Bar-Or Networked Software.
JXTA Lecture 1.JXTA Overview a) Background to Project JXTA b) Design Constraints c) Terminology d) Overview and Architecture e) Introducing the Concepts.
A Study on Mobile P2P Systems Hongyu Li. Outline  Introduction  Characteristics of P2P  Architecture  Mobile P2P Applications  Conclusion.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
Mobility in the Virtual Office: A Document-Centric Workflow Approach Ralf Carbon, Gregor Johann, Thorsten Keuler, Dirk Muthig, Matthias Naab, Stefan Zilch.
MobileMAN Kickoff1 Prototype Development Kit & P2P Middleware Proposal Giovanni Turi IIT - CNR Pisa
Wireless Ad Hoc VoIP Thesis by: Patrick Stuedi & Gustavo Alonso Presentation by: Anil Kumar Marukala & Syed Khaja Najmuddin Ahmed.
Android Introduction Platform Overview.
Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool.
Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications ,
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Wave Relay System and General Project Details. Wave Relay System Provides seamless multi-hop connectivity Operates at layer 2 of networking stack Seamless.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
SensIT PI Meeting, January 15-17, Self-Organizing Sensor Networks: Efficient Distributed Mechanisms Alvin S. Lim Computer Science and Software Engineering.
Sun’s Project JXTA Technical Overview Presented by Sergei Kovalenko Red Team: Janhavi James A. Davis Fernando D. Diaz.
Statement of Work NRL EEE/ESG And SRSS. First Year EEE 1.Assist in determining if the CoABS architecture/technology can successfully transition to U.S.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
1 A P2P Collaborative System Using JXTA Hosei Graduation School ITPC 02R3315 Katsuhiro CHIBA.
Triana: Service-Oriented Examples Ian Taylor Cardiff University, and the Center for Computation and Technology LSU.
Rev PA102/03/20041 Communication Between Peer Wireless Sensor Networks over 2.5G/3G Mobile Networks Srdjan Krco R&D Ericsson Ireland
Wireless Networks of Devices (WIND) Hari Balakrishnan and John Guttag MIT Lab for Computer Science NTT-MIT Meeting, January 2000.
BitTorrent enabled Ad Hoc Group 1  Garvit Singh( )  Nitin Sharma( )  Aashna Goyal( )  Radhika Medury( )
CSP Implementing a network 1 Implementing a network Lecturer: Smilen Dimitrov Cross-sensorial processing – MED7.
Workflow and Triana Services Matthew Shields, e-Science Workflow Services, 3-5 December T r a ai n.
The PROXIDOR Service draft-akonjang-alto-proxidor-00.txt S. Previdi O. Akonjang A. Feldmann
Interoperability between Scientific Workflows Ahmed Alqaoud, Ian Taylor, and Andrew Jones Cardiff University 10/09/2008.
3-1 JXTA Platforms. 3-1 Learning Objectives ● Learn about the different platform implementations of the JXTA protocols – Features provided by each implementation.
Virtual Private Ad Hoc Networking Jeroen Hoebeke, Gerry Holderbeke, Ingrid Moerman, Bard Dhoedt and Piet Demeester 2006 July 15, 2009.
MobileMAN Internal meetingHelsinki, June 8 th 2004 NETikos activity in MobileMAN project Veronica Vanni NETikos S.p.A.
INTERNET AND ADHOC SERVICE DISCOVERY BY: NEHA CHAUDHARY.
Dr. Ian Wang Cardiff University, U.K.. Ian Wang, Cardiff University Peer-to-Peer and Grids What does the Peer-to-Peer paradigm offer Grids? Scalable Decentralized.
WIRELESS AD-HOC NETWORKS Dr. Razi Iqbal Lecture 6.
INAT Hari BalakrishnanFrans Kaashoek John Guttag Robert Morris MIT Laboratory for Computer Science NGI PI Meeting October 2, 2000.
Ian Taylor, Cardiff Work-Flow Application Toolkit Eger Meeting Ian Taylor & Ian Wang Cardiff University, UK.
What is Triana?. GAPGAP Triana Distributed Work-flow Network Action Commands Workflow, e.g. BPEL4WS Triana Engine Triana Controlling Service (TCS) Triana.
MAPLD 2005/254C. Papachristou 1 Reconfigurable and Evolvable Hardware Fabric Chris Papachristou, Frank Wolff Robert Ewing Electrical Engineering & Computer.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
1 ns-2 Tutorial Haobo Yu, Nader Salehi USC/ISI
Distributed Computing With Triana A Short Course Matthew Shields, Ian Taylor & Ian Wang.
Enabling e-Research in Combustion Research Community T.V Pham 1, P.M. Dew 1, L.M.S. Lau 1 and M.J. Pilling 2 1 School of Computing 2 School of Chemistry.
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
7DS - Node Cooperation and Information Exchange in Mostly Disconnected Networks Suman Srinivasan, Arezu Moghadam, Se Gi Hong, Henning Schulzrinne IRT Lab,
Using Federated Services with Triana Matthew Shields Cardiff University.
Routing Security in Wireless Ad Hoc Networks Chris Zingraf, Charisse Scott, Eileen Hindmon.
A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Design and implementation of an intentional naming system William Adjie-WinotoElliot Schwartz Hari BalakrishnanJeremy Lilley MIT Laboratory for Computer.
Peer Simple P2P implementation based on JXTA. JXTA history Started by SUN Microsystems in 1999 Released Open Source in 2001.
Wireless LAN Requirements (1) Same as any LAN – High capacity, short distances, full connectivity, broadcast capability Throughput: – efficient use wireless.
Project JXTA Kaarthik Sivashanmugam. JXTA..? JXTA is a set of open, generalized peer-to-peer (P2P) protocols that allow any connected device on the network.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
Network Simulators.
Simulators for Sensor Networks
Ieva Juodelytė IT 3 kursas 4 grupė
The Internet and HTTP and DNS Examples
New Tools In Education Minjun Wang
10th International Conference on Telecommunication, ICT’2003,
Presentation transcript:

Ian Taylor - UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping Scalable P2P Applications NATO IST RTG-12 WORKSHOP Dr Ian Taylor Lecturer & Coordinator, Triana-Grid Group, Cardiff University, UK Contractor, Ball Aerospace On- going work with SRSS group (Brian Adamson & Rick Jones) Navy Research Lab, Washington DC

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Contents Background Triana group SRSS Group SRSS Framework Underlying Technology MANET NS-2 SRSS Developments Protolib PAI Cardiff P2P Interface Triana and the GAP P2PS Binding discovery mechanisms Rendezvous Nodes The Whole Picture Scenarios and Conclusions

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Cardiff Triana Project

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Coalescing Binary Search

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Triana Prototype GEO 600 Coalescing Binary Search

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE SRSS Project Stands for … Scalable Robust Self-organizing Sensors … Simulate mobile sensor networks using NS-2 Investigate Publish/subscribe/P2P discovery mechanisms e.g. Unicast, Multicast etc Conduct simulations to trade-off performance of application-level and/or network level discovery mechanisms in sensor environment. Running within MANET networks - wireless connectivity For NS-2, this involves: Integrating data transmission between NS-2 nodes (via Protolib) Building infrastructure to allow different middleware to be easily integrated into this architecture.

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Overview of SRSS Architecture Network Wireless (or wired..) NS-2 MANET simulations Protolib (NRL) Protolib Appliation Interface (PAI) P2P Middleware (discovery, communication mechanisms) Application – dynamic self organizing sensor nets

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE The SRSS Environment What is MANET ? Mobile Ad hoc Networks Wireless transmission No centralized administration / control No existing network infrastructure A node can be a source, a sink or a transit All nodes participate in the discovery of a route Applications Cooperative mobile data exchange Rapidly deployable communication with efficient networking Communication where no infrastructure exists Flexible for experimentation, but demonstration-worthy form factor. Linux on PC-104 or similar platform is a likely candidate. Main Processor Sensor Apps/Agents/etc Operating System Networking Stack Wireless interface(s) Sensor Device(s) and the sensors …

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE NS-2: A Network Simulator Discrete event simulator Packet-level Link layer and up i.e. network, transport, session, presentation and application Wired and wireless simulations Platforms Most UNIX and UNIX-like systems Window 95/98/NT (Emulation only for FreeBSD for now)

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE NS-2: OTcl and C++ C++ OTcl Pure C++ objects Pure OTcl objects C++/OTcl split objects ns Agents/communication Simulations/scenarios

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE NAM - Example Three TCP slow-start restart algorithms Test - improving restart of idle TCP connections 10 clients Router Server

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Protolib - Brian Adamson and Joe Macker, NRL Protocol Prototyping library (ProtoLib) - C++ class library Cross-platform – works on Windows and Unix using native implementations Provides networking capabilities – Currently supports UDP communication Unicast and Multicast Communication works across networks or between NS-2 nodes, by: overriding basic NS-2 UDP protocol implementation can communicate data across NS2 nodes Can simulate real networked applications passing real data We are doing this for the P2P world..

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Application Protolib Overview Communication UDP Protolib Network NS-2 Timers Event Dispatcher TCP* Protocol Timer Underlying Fabric Event Notifications (*) Will be implemented next phase

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Protolib Application Event Dispatcher trigger UDP Receive Network Simple Protolib Scenario NS-2 Protolib Application UDP Send 100 Millisec Timer Event Dispatcher trigger Callback Functions

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Protolib Protolib Application Interface (PAI) PAI PTI (Timing) PCI (Communication) Abstracts reliance on specific networking/timing mechanisms in Protolib/others Middleware/Applications use PAI and change environment to choose configuration e.g. Network or NS-2 etc Provides generic classes for creating sockets/timers Support multiple sockets/timers + listeners e.g. for timeouts or UDP receive data events – multithreaded event dispatching Provides a concise C++ interface for Java JNI integration P2P Middleware

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE PAI Structure, Factory Method Design PAI Engine PAITimerPAISocket PAIDispatcher PAI Factory UDP Socket NS2 UDP Socket Timer NS2 Timer Event Disp. NS2 Event Disp. PAI Interface Application Calls e.g. send/receive Notifications e.g. Socket Received Data, Timer time outs PAI Environment

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE PAI Example pai.getEnvironment()->setBinding(PAI_NETWORK); pai.getEnvironment()->setNetworkProtocol(PAI_UDP); timer = pti->addTimer(1.0, 5); sock = pci->addSocket(5004); pci->addListener(sock, this, (CallbackFunc)&PAI_Example::OnTxTimeout); pti->addListener(timer, this, (CallbackFunc)&PAI_Example::OnSocketRecv); pti->runTimers(); void PAI_Example::OnTxTimeout() { ….. pci->send(sock1, " ", buffer, len); } void PAI_Example::OnSocketRecv() { ….. char *buf = pci->recv(sock1, &addr, &len); } Example Main Program: When Timer times out: When Data is Received:

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE P2P Middleware P2P Middleware Requirements? Dynamic Discovery Mechanisms e.g. Unicast, Multicast Communication – support different transport protocols UDP, TCP etc Lightweight P2P: Which middleware to use? First promising choice: JXTA – Summer 2002 Problems: Lightweight ? Only by limiting functionality on Edge peers Scalability problems – discovering multiple pipes unreliable in tests Difficult to extend code base JXTA uses Endpoint Implementations to represent different network communication protocols e.g. TCP, Bluetooth etc BUT: Different implementation for discovery –complex to plug in new layer

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Gridlab GAT Architecture Application (e.g. Triana) Adapter GAP Adapter OGSA Service JXTAP2PS Web Service GridLab GAT ( GAP is our P2P Application-level Interface

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Triana and the GAP Interface Interface between Application and Peer-to-Peer Middleware Provides an insulation layer for P2P applications loosely coupled, dynamically late bound modules Simple Generic Not Triana Specific Contains common calls e.g. advertise_service, discover_service, create_pipe etc GAP Interface JXTA Web Services P2PS Triana or any other application For more info on Triana Distributed Implementation, see

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE P2PS – Dr Ian Wang, Cardiff Lightweight P2P Middleware: Language independent specification – reference implementation is in Java – C++ version in planning Communication is language independent – use XML adverts and data structures Pluggable transport layer – currently implemented UDP, TCP/IP Dynamic Discovery – using Unicast and Multicast Factory design, using resolvers Decentralized structure Uses Rendezvous nodes (self nominated) for caching adverts/data (centralized-decentralized) network structure for scalability Implements Relays - traversing firewalls 1/100 th size of JXTA... Release ( soon.. for open source development

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE P2PS Architecture Discovery Service Broadcast/locate adverts + queries in discovery subnet Pipe Service Connect pipes using endpoint resolvers Rendezvous Service Send/receive queries from known rendezvous peers TCP Resolver??? Resolver Discovery Service Rendezvous Service P2PS Peer Pipe Service UDP Resolver Network UDPTCP???

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Discovery Service All peers have Discovery Services Caches local adverts + queries Broadcast adverts + queries to all peers in its discovery subnet Responds to received adverts + queries Discovery subnet scope determined by resolvers e.g. UDP Multicast scope Peer Discovery Subnet

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Discovery Service Scenario 1. Peer A creates pipe Broadcasts advert Caches advert locally (not cached at Peer B) 2. Peer B queries for all pipes Broadcasts query 3. Peer A receives query Matches query with locally cached pipe advert Sends pipe advert direct to Peer B 4. Peer B discovers pipe Peer Discovery Subnet A B broadcast query response advert

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Rendezvous Service Peers can optionally become rendezvous peers Direct pipe connections to other rendezvous peers usually in other discovery subnets Cache all received adverts + queries Forward queries to known rendezvous peers Note: Adverts are not forwarded outside discovery subnet Rendezvous Peer Non-Rendezvous Peer Discovery Subnet Direct Pipe

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Protolib P2PS Comms NS-2 GAP Integration C++ Interface (JNI) JXTA P2PP2PS GAP Layer SRSS Application Network NS-2 Web Serv. PAI JNI

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Status Of Implementation NetworkNS-2 Protolib (NRL) Protolib Appliation Interface (PAI) JNI GAP with P2PS Binding JNI Application – dynamic self organizing sensor nets

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Scenarios and Conclusions Resulting system has many applications/uses: Mobile Sensors – test discovery in simulated dynamically changing environments. Triana – simulate P2P environment – see if P2P middleware actually scales without having to run Triana on 1000’s of nodes … The new GAT/GAP EU proposal – The P2P Gap interface will be generalized further in Gridlab2 with input from applications – NRL, (AIP) and..