GRAPES: a Generic Environment for P2P Streaming Luca Abeni, Csaba Kiraly, Alessandro Russo, Marco Biazzini, Renato Lo Cigno.

Slides:



Advertisements
Similar presentations
Design Validation CSCI 5801: Software Engineering.
Advertisements

Operating System Structures
CCNA – Network Fundamentals
CLive Cloud-Assisted P2P Live Streaming
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Playback delay in p2p streaming systems with random packet forwarding Viktoria Fodor and Ilias Chatzidrossos Laboratory for Communication Networks School.
Packet Leashes: Defense Against Wormhole Attacks Authors: Yih-Chun Hu (CMU), Adrian Perrig (CMU), David Johnson (Rice)
Peer to Peer Discovery Nate Thrasher. Peer to Peer Discovery ● 2 Basic Categories – Hardware Discovery – Information Discovery ● JXTA (
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
CSCI 4550/8556 Computer Networks Comer, Chapter 7: Packets, Frames, And Error Detection.
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
LYU0002 Wireless Cyber Campus Supervisor: Prof. LYU, Rung Tsong Michael Marker: Prof. CAI, Leizhen Student:Jang Kim Fung, Harvest Tang Ho Man, Sunny.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
The Structuring of Systems Using Upcalls David D. Clark Presenter: Haitham Gad.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
1 Distributed Systems: Distributed Process Management – Process Migration.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
 Structured peer to peer overlay networks are resilient – but not secure.  Even a small fraction of malicious nodes may result in failure of correct.
SEPT, 2005CSI Part 2.2 Protocols and Protocol Layering Robert Probert, SITE, University of Ottawa.
Delay-Aware Push/Pull Protocols for Live Video Streaming in P2P Systems Alessandro Russo, Renato Lo Cigno DISI – University of Trento, Italy
1 Client API Goals: evolvable, easy to use Design decision: –event-driven, non-blocking programming model –Data items are immutable Main data structure:
PPSP Tracker Protocol draft-gu-ppsp-tracker-protocol PPSP WG IETF 82 Taipei Rui Cruz (presenter) Mário Nunes, Yingjie Gu, Jinwei Xia, David Bryan, João.
Network Coding Testbed Jeremy Bergan, Ben Green, Alex Lee.
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
 Network Segments  NICs  Repeaters  Hubs  Bridges  Switches  Routers and Brouters  Gateways 2.
Scheduling P2P Multimedia Streams: Can We Achieve Performance and Robustness? Luca Abeni, Csaba Kiraly, Renato Lo Cigno DISI – University of Trento, Italy.
1 Chapter 16 Protocols and Protocol Layering. 2 Protocol  Agreement about communication  Specifies  Format of messages (syntax)  Meaning of messages.
Transparent Process Migration: Design Alternatives and the Sprite Implementation Fred Douglis and John Ousterhout.
Network Coding Testbed Jeremy Bergan, Ben Green, Alex Lee.
Improving pS-PS Service Architecture , perfSONAR-PS Developers Meeting Aaron Brown, Andrew Lake, Eric Pouyoul.
Concurrent Aggregates (CA) Andrew A. Chien and William J. Dally Presented by: John Lynn and Ryan Wu.
PPSP Peer Protocol draft-gu-ppsp-peer-protocol PPSP WG IETF 82 Taipei Rui Cruz (presenter) Yingjie Gu, Jinwei Xia, Mário Nunes, David Bryan, João Taveira.
1 Internet Control Message Protocol (ICMP) Used to send error and control messages. It is a necessary part of the TCP/IP suite. It is above the IP module.
1 WS-Routing. 2 Why WS-Routing? SOAP (by itself) doesn’t define a message path –Header blocks describe functions to be performed by intermediaries that.
Effects of P2P Streaming on Video Quality Csaba Kiraly, Luca Abeni, Renato Lo Cigno DISI – University of Trento, Italy
The Socket Interface Chapter 21. Application Program Interface (API) Interface used between application programs and TCP/IP protocols Interface used between.
Toward Fault-tolerant P2P Systems: Constructing a Stable Virtual Peer from Multiple Unstable Peers Kota Abe, Tatsuya Ueda (Presenter), Masanori Shikano,
P2P Streaming Protocol (PPSP) Requirements draft-zong-ppsp-reqs-03.
William Stallings Data and Computer Communications
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
X-WindowsP.K.K.Thambi The X Window System Module 5.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
Operating System Organization Chapter 3 Michelle Grieco.
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
Miscellaneous NBT Team Naming (1/2) Client: global, unique identifier PM: global, unique identifier –This is the policy identifier DIM: global,
CSE/EE 461 Getting Started with Networking. 2 Basic Concepts A PROCESS is an executing program somewhere. –Eg, “./a.out” A MESSAGE contains information.
GPRS functionality overview in Horner OCS. GPRS functionality – Peer to Peer communication over GPRS – CSCAPE connectivity over GPRS – Data exchange using.
A Cooperative SIP Infrastructure for Highly Reliable Telecommunication Services BY Sai kamal neeli AVINASH THOTA.
File Systems cs550 Operating Systems David Monismith.
Protocol Requirements draft-bryan-p2psip-requirements-00.txt D. Bryan/SIPeerior-editor S. Baset/Columbia University M. Matuszewski/Nokia H. Sinnreich/Adobe.
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.
ICMPv6 Error Message Types Informational Message Types.
Stream Spider Distributed Music Streaming Service with Sliced Music Files from Different Originating Hosts Justin Steffy and Michael D. Elder.
Cooperative Mobile Live Streaming Considering Neighbor Reception SPEAKER: BO-YU HUANG ADVISOR: DR. HO-TING WU 2015/10/15 1.
Peer to Peer Network Design Discovery and Routing algorithms
Active Message Application: CONNECT Presented by Xiaozhou David Zhu Oommen Regi July 6, 2001.
An End-to-End Service Architecture r Provide assured service, premium service, and best effort service (RFC 2638) Assured service: provide reliable service.
© 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.
Inside the New Coolstreaming: Principles, Measurements and Performance Implications Bo Li, Susu Xie, Yang Qu, Gabriel Y. Keung, Chuang Lin, Jiangchuan.
PEAR TO PEAR PROTOCOL. Pure P2P architecture no always-on server arbitrary end systems directly communicate peers are intermittently connected and change.
1 Protocols and Protocol Layering. 2 Protocol Agreement about communication Specifies –Format of messages –Meaning of messages –Rules for exchange –Procedures.
Fault Tolerance (2). Topics r Reliable Group Communication.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
WEB SERVICES.
Packet Leashes: Defense Against Wormhole Attacks
Packet Switching Datagram Approach Virtual Circuit Approach
Distribution and components
Presentation transcript:

GRAPES: a Generic Environment for P2P Streaming Luca Abeni, Csaba Kiraly, Alessandro Russo, Marco Biazzini, Renato Lo Cigno

GRAPES Generic Resource Aware P2P Environment for Streaming An open-source toolkit Simplifies implementation of P2P streaming solutions Does not impose Any approach Any programming style

Requirements Portability Portability Written in C Written in C No dependencies on external libraries, … No dependencies on external libraries, …

Requirements Neutrality Neutrality Should not impose any particular structure to the applications using it Should not impose any particular structure to the applications using it No concurrency handling No concurrency handling No support for parallel activities No support for parallel activities No code for receiving data from peers No code for receiving data from peers

Requirements Modularity Modularity GRAPES functionalities are grouped into modules GRAPES functionalities are grouped into modules Each module Each module Has its own API Has its own API Can be used independently from the others Can be used independently from the others

Communication Applications based on GRAPES communicate through messages Applications based on GRAPES communicate through messages Messages are sent sent by a network helper Messages are sent sent by a network helper Allows easy change of the protocol used for transmitting the messages Allows easy change of the protocol used for transmitting the messages

Communication GRAPES modules can Directly send messages by invoking the network helper) Simply construct them, leaving to the application the responsibility of sending them

Overall Structure GRAPES includes GRAPES includes A network helper A network helper A Peer Set data type, to store information about peer’s neighbors A Peer Sampling mechanism, providing each peer with continuously up- to-date random samples of the entire population of peers; A Chunk Trading module, allowing to send/receive pieces of a media stream (called chunks); A Chunk Buffer, used to store the received chunks so that they can be forwarded to the other peers; A Chunk ID Set data type, that can be used to send signalling informa- tion about the received or needed chunks; Scheduling functions

Overall Structure GRAPES includes GRAPES includes A network helper A network helper A Peer Set data type, to store information about peer’s neighbors A Peer Set data type, to store information about peer’s neighbors A Peer Sampling mechanism, providing each peer with random samples of the entire population of peers A Peer Sampling mechanism, providing each peer with random samples of the entire population of peers A Chunk Trading module, allowing to send/receive pieces of a media stream A Chunk Trading module, allowing to send/receive pieces of a media stream

Overall Structure A Chunk Buffer, used to store the received chunks so that they can be forwarded to the other peers A Chunk ID Set data type, that can be used to send signaling information about the received or needed chunks; Scheduling functions

Peer Sampling Most important functions include Most important functions include Init() to initialize the peer sampling service ParseData() to handle peer sampling messages coming from another peer is received) AddNeighbour() to provide the ID of known peers (mainly used for bootstrapping) GetNeighbourhood() to return a list of the known peers

Signaling and chunk trading GRAPES provides a chunk ID set GRAPES provides a chunk ID set encodeChunkSignaling() allows the implementation of buffermap messages chunk offers (of one or more chunks) chunk accepts (responses to an offer) chunk requests (for one or more chunks) chunk delivers (response to a request)

The chunk buffer Stores Stores chunks received by an application Most important functions are: cb init() (to initialize a chunk buffer), cb add chunk() (to insert a new chunk) cb get chunks() (returns an ordered list of the chunks in the buffer)

The chunk buffer Different buffer management policies are possible: Buffer discards chunks when a maximum size has been reached Chunks are discarded when the difference between their playback time and the current time is too large …

Scheduling Involves decisions such as Involves decisions such as Selecting the chunk to be sent and the target peer in applications that periodically send chunks neighbours Selecting a set of chunks to be requested from a neighbour, and that neighbour