1 P2P File-Sharing Solution CS654 – Software Architecture course project Guide: T V Prabhakar Members: S Pavan Kumar – Y1306 D V Janardhan Rao – Y4111053.

Slides:



Advertisements
Similar presentations
Building a Semantic IntraWeb with Rhizomer and a Wiki Roberto Garcia and Rosa Gil GRIHO (Human Computer Interaction Research Group) Universitat de Lleida,
Advertisements

CLEARSPACE Digital Document Archiving system INTRODUCTION Digital Document Archiving is the process of capturing paper documents through scanning and.
P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
A Scalable Virtual Registry Service for jGMA Matthew Grove CCGRID WIP May 2005.
Serverless Network File Systems. Network File Systems Allow sharing among independent file systems in a transparent manner Mounting a remote directory.
Peer-to-Peer Networks as a Distribution and Publishing Model Jorn De Boever (june 14, 2007)
Web Server Hardware and Software
Other File Systems: AFS, Napster. 2 Recap NFS: –Server exposes one or more directories Client accesses them by mounting the directories –Stateless server.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Basic Computer Networks Configurations (cont.) School of Business Eastern Illinois University © Abdou Illia, Spring 2006 Week 2, Thursday 1/19/2006)
2/11/2004 Internet Services Overview February 11, 2004.
Metadata Server system software laboratory. Overview metadata service in Grid environment Grid environment Metadata server User query data search information.
A. Frank 1 Internet Resources Discovery (IRD) Peer-to-Peer (P2P) Technology (1) Thanks to Carmit Valit and Olga Gamayunov.
Object Naming & Content based Object Search 2/3/2003.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
Introduction to client/server architecture
Chapter 4 Database Management Systems. Chapter 4Slide 2 What is a Database Management System (DBMS)?  Database An organized collection of related data.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Construction of efficient PDP scheme for Distributed Cloud Storage. By Manognya Reddy Kondam.
Cmpe 494 Peer-to-Peer Computing Anıl Gürsel Didem Unat.
Introduction to Peer-to-Peer Networks. What is a P2P network A P2P network is a large distributed system. It uses the vast resource of PCs distributed.
Peer-to-Peer Networks University of Jordan. Server/Client Model What?
Exercises for Chapter 2: System models
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Marcel Casado NCAR/RAP WEATHER WARNING TOOL NCAR.
An Introduction to Peer-to-Peer Networks Presentation for MIE456 - Information Systems Infrastructure II Vinod Muthusamy October 30, 2003.
PSI Peer Search Infrastructure. Introduction What are P2P Networks? The term "peer-to-peer" refers to a class of systems and applications that employ.
Intro – Part 2 Introduction to Database Management: Ch 1 & 2.
Module 10 Administering and Configuring SharePoint Search.
Week #3 Objectives Partition Disks in Windows® 7 Manage Disk Volumes Maintain Disks in Windows 7 Install and Configure Device Drivers.
Fast Searching in Peer-to-Peer Networks Self-Organizing Parallel Search Clusters Rocky Dunlap.
AlvisP2P : Scalable Peer-to-Peer Text Retrieval in a Structured P2P Network Toan Luu, Gleb Skobeltsyn, Fabius Klemm, Maroje Puh, Ivana Podnar Zarko, Martin.
FastTrack Network & Applications (KaZaA & Morpheus)
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
Experience Sharing in Mobile Peer Communities EPI Planete, INRIA International Consortium Meeting (Oulou) 10 June, 2009.
VMware vSphere Configuration and Management v6
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Computer Networking P2P. Why P2P? Scaling: system scales with number of clients, by definition Eliminate centralization: Eliminate single point.
Scalable Hybrid Keyword Search on Distributed Database Jungkee Kim Florida State University Community Grids Laboratory, Indiana University Workshop on.
GridNEWS: A distributed Grid platform for efficient storage, annotating, indexing and searching of large audiovisual news content Ioannis Konstantinou.
Syllabus Management System Matt Bernstein, Paul Capelli, Jared Segal.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
Peer-to-Peer Systems: An Overview Hongyu Li. Outline  Introduction  Characteristics of P2P  Algorithms  P2P Applications  Conclusion.
Exercises for Chapter 2: System models From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education 2005.
ECHO A System Monitoring and Management Tool Yitao Duan and Dawey Huang.
P2P Search COP6731 Advanced Database Systems. P2P Computing  Powerful personal computer Share computing resources P2P Computing  Advantages: Shared.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
Large Scale Sharing Marco F. Duarte COMP 520: Distributed Systems September 19, 2004.
Malugo – a scalable peer-to-peer storage system..
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Research Directions in Databases Technological Education Institution of Larisa in collaboration with Staffordshire University Larisa Dr. Theodoros.
September 2003, 7 th EDG Conference, Heidelberg – Roberta Faggian, CERN/IT CERN – European Organization for Nuclear Research The GRACE Project GRid enabled.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
Introduction to Oracle Forms Developer and Oracle Forms Services
Advanced Topics in Concurrency and Reactive Programming: Case Study – Google Cluster Majeed Kassis.
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Oracle Forms Developer and Oracle Forms Services
AMGA Web Interface Salvatore Scifo INFN sez. Catania
CHAPTER 3 Architectures for Distributed Systems
Plethora: Infrastructure and System Design
Database Management System (DBMS)
Distributed P2P File System
Lecture 1: Multi-tier Architecture Overview
Building Peer-to-Peer Systems with Chord, a Distributed Lookup Service
AMGA Web Interface Vincenzo Milazzo
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Distributed Hash Tables
Deterministic and Semantically Organized Network Topology
Presentation transcript:

1 P2P File-Sharing Solution CS654 – Software Architecture course project Guide: T V Prabhakar Members: S Pavan Kumar – Y1306 D V Janardhan Rao – Y

2 Contents Functional Requirements Non Functional Requirements Brief description of the solution How we arrived at the solution

3 Functional Requirements User should be able to Share files Search for files based on keywords Download files Online Relay Chat

4 Non-Functional Requirements Fast resource discovery Availability – If a resource is shared by some user, then a search query for that resource should always succeed Scalability of the solution Solution should be fault tolerant Implicit Security in terms of the extent of damage in case of compromise

5 Module View P2P File Sharing s/w Peer Network Adapter Web AdapterUIController Search Engine Online Relay Chat Engine Decentralized Structured File Mapper Centralized Structured Network Modules Metadata Handler Download and Upload Manager

6 Allocation View Web browser Java Servlets And JSP’s Controller Web Adapter Peer network Adapter Hard disk Meta data files P2P network P2P network Centralized Index server ( Application server ) XML database

7 Web browser Web A D A P T E R Application Server Search engine File mapper Metadata handler Hard disk of the machine NETWORKMODULENETWORKMODULE Peer network Adapter Stub Upload manager Download manager Chat engine Controller Create JSP Upload servlet Create and upload Create servlet Meta data files

8 Web browser Web A D A P T E R Application Server Search engine File mapper Metadata handler Hard disk of the machine NETWORKMODULENETWORKMODULE Peer network Adapter Stub Upload manager Download manager Chat engine Controller View JSP Display JSP View servlet Local Browsing Meta data files

9 Web browser Web A D A P T E R Application Server Search engine File mapper Metadata handler Hard disk of the machine NETWORKMODULENETWORKMODULE Peer network Adapter Stub Upload manager Download manager Chat engine Controller Search and Download Search.jsp Download. jsp Search servlet Display Results.jsp Meta data files

10 Web browser Web A D A P T E R Application Server Search engine File mapper Metadata handler Hard disk of the machine NETWORKMODULENETWORKMODULE Peer network Adapter Stub Upload manager Download manager Chat engine Controller Chat Relay post.jsp Recvmsg servlet Sendmsg servlet Display.jsp Meta data files

11 Web browser Web A D A P T E R Application Server Search engine File mapper Metadata handler Hard disk of the machine NETWORKMODULENETWORKMODULE Peer network Adapter Stub Upload manager Download manager Chat engine Controller Meta data files

12 Switching between the network modules P2P Networ k XML database Centralized Index server Structured Centralized network module Structured De- centralized network module Networking Module Routing table info 1 Echo req 2 Echo req Echo reply 3 Echo reply 4 Switching of Network module

13 Architecting the solution Architectural decision at the top level and the tradeoffs – structured or unstructured network

14 Unstructured Networks Ad-hoc topology Queries are flooded for bounded number of hops No guarantees on queries Probs: Fast Resource discovery Availability Query: “xyz” xyz User Interface Metadata Handler and File Handler Peer Network Adapter P2P Networ k Hard disk Metadata Files

15 Structured networks (centralized) Centralized index servers O(1) hops for resource discovery Guarantees on queries – availability Probs: Scalability, Fault tolerance and implicit security Query Response User Interface File Handler Peer Network Adapter P2P Networ k Hard disk Centralized Index server ( Application server ) XML database

16 Distributed Hash Tables (DHTs) Hash table interface: put(key,item), get(key) O(log n) hops – some what problematic; not so fast Guarantees on search queries, fault tolerant, scalable Structured Networks (decentralized) K I put(K 1,I 1 ) (K 1,I 1 ) get (K 1 ) I1I1

17 Tradeoff Structured (decentralized) Structured (centralized) Fast Resource discovery and availability So why not use a combination of both Fault Tolerance, Scalability and Implicit security

18 Switching between the network modules (Polling) P2P Networ k XML database Centralized Index server Structured Centralized network module Structured De- centralized network module Networking Module Routing table info 1 Echo req 2 Echo req Echo reply 3 Echo reply 4 Switching of Network module

19 Architectural Decisions Why are we switching between various network modules and not using a single centralized index server or a totally decentralized structured network? – fast resource discovery, scalability, load balancing, fault tolerance and security Why are we not using multiple central index servers? – consistency and cost

20 Storage of metadata At central index server use XML Database – heavy loads, faster processing (indexing becomes important because of huge number of metadata files), dynamism (index files are updated every now and then) For local meta data files use flat file system – very few files, light loads, number of updates are small

21 Decisions Technology – use JSP’s and Servlets for UI (easy build, modify and run) Web Server – Open source and free Decouple functionality from networking to ensure smooth fault detection and recovery

22 Architecture Web browser Java Servlets And JSP’s Controller Web Adapter Peer network Adapter Hard disk Meta data files P2P network P2P network Centralized Index server ( Application server ) XML database

23 Quality attributes and tactics Modifiability Use an intermediary – Use of a web adapter removes tight coupling between the modules

24 Quality attributes and tactics … Availability Fault detection  Ping/echo Recovery  Active redundancy  Switching between the network modules Security

25 Questions?