Stream Spider Distributed Music Streaming Service with Sliced Music Files from Different Originating Hosts Justin Steffy and Michael D. Elder.

Slides:



Advertisements
Similar presentations
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Advertisements

Information Management NTU Web Services. Information Management NTU What Are Web Services? Semantically encapsulate discrete functionality Loosely coupled,
Multi-Model Digital Video Library Professor: Michael Lyu Member: Jacky Ma Joan Chung Multi-Model Digital Video Library LYU9904 Multi-Model Digital Video.
Web 2.0 with AJAX Students : LASC Ioana KELEMEN Csilla POP Dan Adrian CIOBANU Dumitru Daniel Project leaders : Jean Luc LARBOT Ahmed RHIAT.
Gnutella 2 GNUTELLA A Summary Of The Protocol and it’s Purpose By
Distributed components
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.
Advanced Java Class Network Programming. Network Protocols Overview Levels of Abstraction –HTTP protocol: spoken by Web Servers and Web Clients –TCP/IP:
ABCSG - Distributed Database 1 Data Management Distributed Database Data Replication.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Responder Anonymity and Anonymous Peer-to-Peer File Sharing. by Vincent Scarlata, Brian Levine and Clay Shields Presentation by Saravanan.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Component-Based Software Engineering Introducing the Bank Example Paul Krause.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
A Service-Oriented Peer-to-Peer System for University Library Resource Sharing Presented By: Chandana Kancherla Supervisor: Dr. Haiping Xu Spring 2005.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Multi-Party XML Synchronization over Limited Bandwidth Thomas Wilczak Prof. James Riely SE 696 Research Project Initial Presentation 5th May, 2004.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
UNIT-V The MVC architecture and Struts Framework.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
DEMIGUISE STORAGE An Anonymous File Storage System VIJAY KUMAR RAVI PRAGATHI SEGIREDDY COMP 512.
Designing and Implementing Web Data Services in Perl
Java Omar Rana University of South Asia. Course Overview JAVA  C/C++ and JAVA Comparison  OOP in JAVA  Exception Handling  Streams  Graphics User.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Copyright, 1996 © Dale Carnegie & Associates, Inc. Presented by Hsiuling Hsieh Christine Liu.
A/WWW Enterprises15 July 1996 Implementing Queries with HTTP A. Warnock A/WWW Enterprises
Distributed Data Mining System in Java Group Member D 王春笙 D 林俊甫 D 王慧芬.
Distributed File System By Manshu Zhang. Outline Basic Concepts Current project Hadoop Distributed File System Future work Reference.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice HP Library Encryption - LTO4 Key.
CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation.
Application code Registry 1 Alignment of R-GMA with developments in the Open Grid Services Architecture (OGSA) is advancing. The existing Servlets and.
7/26/ Design and Implementation of a Simple Totally-Ordered Reliable Multicast Protocol in Java.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
© 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.
Presenters: Rezan Amiri Sahar Delroshan
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
The Replica Location Service The Globus Project™ And The DataGrid Project Copyright (c) 2002 University of Chicago and The University of Southern California.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
Mike Jackson EPCC OGSA-DAI Architecture + Extensibility OGSA-DAI Tutorial GGF17, Tokyo.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
Introduction to Server-Side Web Development Introduction to Server-Side Web Development Session II: Introduction to Server-Side Web Development with Servlets.
1 Web Servers (Chapter 21 – Pages( ) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System Architecture.
Meta-Server System Software Lab. Overview In the Music Virtual Channel system, clients can’t query for a song initiatively Through the metadata server,
DIS PROPOSAL - Distributed Data Warehouse - R 蔣孟儒 R 龍秋明.
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
1 Java Servlets l Servlets : programs that run within the context of a server, analogous to applets that run within the context of a browser. l Used to.
A Scalable Virtual Registry Service for jGMA Matthew Grove DSG Seminar 3 rd May 2005.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Distributed File Systems 11.2Process SaiRaj Bharath Yalamanchili.
Java Web Server Presented by- Sapna Bansode-03 Nutan Mote-15 Poonam Mote-16.
© 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ.
AFS/OSD Project R.Belloni, L.Giammarino, A.Maslennikov, G.Palumbo, H.Reuter, R.Toebbicke.
1 Copyright © 2011 Tata Consultancy Services Limited TCS Internal.
Distributed File System. Outline Basic Concepts Current project Hadoop Distributed File System Future work Reference.
Server-side http General form of http response/request GET request method POST request method Responses Servlet support.
Apache Solr Dima Ionut Daniel. Contents What is Apache Solr? Architecture Features Core Solr Concepts Configuration Conclusions Bibliography.
A Fragmented Approach by Tim Micheletto. It is a way of having multiple cache servers handling data to perform a sort of load balancing It is also referred.
Self Healing and Dynamic Construction Framework:
CHAPTER 3 Architectures for Distributed Systems
Wireless Instant Messaging Using J2ME
End-to-End REST Service Testing Automation
Design and Maintenance of Web Applications in J2EE
Lecture 1: Multi-tier Architecture Overview
Software models - Software Architecture Design Patterns
Network Controllable MP3 Player
ShareMe file sharing application for the android and other platforms
Abstractions for Fault Tolerance
Presentation transcript:

Stream Spider Distributed Music Streaming Service with Sliced Music Files from Different Originating Hosts Justin Steffy and Michael D. Elder

Outline Service Operation Design –Peer to Peer Client and Service –Availability and Fault Tolerance –Consistency and Correctness Implementation –Foundations: Derby, Jetty, Eclipse RCP –Protocols (HTTP/XML) Demonstration

System Operation Register with service to find a set of peers with music to share Search for particular files on other peers Play music while streaming contents from multiple peers

Design Peer to Peer protocol –Peers can search and request files directly –Peers also service search and file requests –Two levels of peer Highly transient peers –Weak consistency –Sporadic availability Maintain state of peers on the network

Peers Types of Peers –Service Peer Executes and responds to file requests Requests and services music streams Maintains small “neighbor set” to service requests –Bootstrap Peer: Receives initial registration for new Peers Replicates available registrations Maintain consistency with other Bootstrap peers Can also act as a Service Peer

Diagram: Registration Register A List of Peers Register C Register B Peer B Peer A Peer C Bootstrap Peer List of Peers including A List of Peers including A & B

Diagram: File Search Bootstrap Peer Have files matching A? List of Files Peer A Peer C Peer B searches for songs that match A

Diagram: Music Streaming Bootstrap Peer Request Segment Octet Stream of data Peer A Peer C Request Segment Octet Stream of data Peer B

Availability and Fault Tolerance Availability does not depend on any one bootstrap peer –Replicate state among many peers –Loss of a bootstrap causes minimal effect Peers tolerate losses in neighbor set –When list gets low, request more peers –Losing a peer while streaming is handled

Important State Set of available peers (Shared) –Bootstrap Peers synchronize Peer locations –Service Peers request more peers as their neighbor set leaves or fails –Peer availability is volatile state, maintained relative to each Peer Spliced Music Streams –Recovery when an identified peer dies while servicing a stream

Consistency and Correctness Bootstrap Servers enforce Weak Consistency when sharing available Peers Correctness Criteria –Peers should be able to register with one of the active Bootstrap Peers –Peers should receive search results from active peers in its neighbor set –Peers should receive music splices upon request in order to stream music

Implementation Java and Eclipse –Eclipse UI –Database –Servlets –JUnit HTTP and XML basis for protocol –Object Models

Foundations Derby 10.1 –Embedded Java Database –Maintains local state at each Peer Jetty 6.1 –Embedded Java 2 EE Servlet Container –Act as protocol endpoints Eclipse Rich Client Platform (RCP) –Provides for rapid development of application architecture and UI Eclipse Modeling Framework (EMF) –Provides an object model abstraction and XML serialization JLayer 1.0 –MP3 playback Milestone development with unit tests (~20)

Protocols Based on HTTP and XML Registration –Accepts a requested number of peers –Answers set of available peers Search –Accepts a filename –Answers set of files that match a portion of the input Fragment –Accepts a file id and fragment range –Answers the portion of the file

Registration Request – HTTP Query String Response - XML …

Search Request – HTTP Query String Response - XML …

Fragment Request Request – HTTP Query String Response – Octet Stream –Beginning at start for length bytes

Consistency Protocols Status – Determine peer availability –Send status request to a peer –Peer returns a current load value Synchronization (Bootstrap only) –Keep list of other bootstrap peers –In round robin style, send all newest peers seen at this peer (HTTP Post) –Return the new peers seen

Bootstrap Synch POST with XML Peer List Return an XML Peer List Get last used time of Peer B Find all newer peers Construct XML and POST to Peer B Receive the response and add peers to our list Update the last used time of B Peer A Peer B Receive the Peer List Add peers to our list Find last used time of Peer A Gather all peers newer than time Send a Peer List Update the last used time of A

Key API Net API – Contains all server and state –Database Manager – Handles peer state –Bootstrap Manager – Synchs peer state –Peer Manager – Keep alive with other peers –Protocol Requests – Encapsulate requests Servlets – Started and forgot by Net API –One per request type –Run independently of rest of system

Architecture Core UI Net

Diagram: Metamodel

Diagram: Database

Diagram: Playback

Diagram: Net API

Diagram: Servlets

Diagram: Requests

Diagram: UI

Demonstration Normal Operation Failure of bootstrap Failure of service peer