MP2 Discussion Session CS414 Spring 2010 Long Vu 2/16/2010.

Slides:



Advertisements
Similar presentations
Introduction to Sockets Jan Why do we need sockets? Provides an abstraction for interprocess communication.
Advertisements

Nonblocking I/O Blocking vs. non-blocking I/O
Taekyung Kim 0x410 ~ 0x International Standards Organization (ISO) is a multinational body dedicated to worldwide agreement on international.
Programming with UDP – I Covered Subjects: IPv4 Socket Address Structure Byte Ordering Functions Address Access/Conversion Functions Functions: 1.socket()
TFTP (Trivial File Transfer Protocol)
Conducted by:Cheng Wen Chi Chiu Kwok Shing Choi Kwok Yam Advised by Prof. Danny Tsang TD1a-09, BEng of Computer Engineering, HKUST.
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
Elementary TCP Sockets© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
CS162 Section Lecture 9. KeyValue Server Project 3 KVClient (Library) Client Side Program KVClient (Library) Client Side Program KVClient (Library) Client.
EEC-484/584 Computer Networks Lecture 15 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Sockets Basics Conectionless Protocol. Today IPC Sockets Basic functions Handed code Q & A.
Page: 1 Director 1.0 TECHNION Department of Computer Science The Computer Communication Lab (236340) Summer 2002 Submitted by: David Schwartz Idan Zak.
1 Generic Transport Service Primitives Listen –notify Transport layer a call is expected Connect –establish Transport layer connection Send (or Write)
Scuola Superiore Sant’Anna Project Assignments Operating Systems.
Client Server Model The client machine (or the client process) makes the request for some resource or service, and the server machine (the server process)
CS 360 – Spring 2007 Pacific University Project Overview- TCP360 You need to implement a restricted version of TCP –3 Way Handshake –Graceful connection.
Introduction to Linux Network 劉德懿
ITIS 1210 Introduction to Web-Based Information Systems Chapter 41 How Animation on the Web Works.
CS 241 Section Week #4 (2/19/09). Topics This Section  SMP2 Review  SMP3 Forward  Semaphores  Problems  Recap of Classical Synchronization Problems.
Sockets CIS 370 Fall 2009, UMassD. Introduction  Sockets provide a simple programming interface which is consistent for processes on the same machine.
By: Joel Rodriguez.  International student from Mexico  Delicias, Chihuahua Mexico  Spanish  Sports and Music.
TCP/IP Protocol Stack IP Device Drivers TCPUDP Application Sockets (Gate to network) TCP: –Establish connection –Maintain connection during the communication.
Assignment 3 A Client/Server Application: Chatroom.
Project 2 Data Communication Spring 2010, ICE Stephen Kim, Ph.D.
DEMIGUISE STORAGE An Anonymous File Storage System VIJAY KUMAR RAVI PRAGATHI SEGIREDDY COMP 512.
Socket Lab Info. Computer Network. Requirement Use TCP socket to implement a pair of programs, containing a server and a client. The server program shall.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Threads and Processes.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Nonblocking I/O Blocking vs. non-blocking I/O Nonblocking input, output, accept, and connect Readings –UNP Ch16 1.
Remote Shell CS230 Project #4 Assigned : Due date :
Networking Tutorial Special Interest Group for Software Engineering Luke Rajlich.
Project 2 kthreads, concurrency, shuttle. Highlevel overview User space –program wants to control the shuttle simulation by sending requests. –start_shuttle()
CPSC 441 TUTORIAL – FEB 13, 2012 TA: RUITNG ZHOU UDP REVIEW.
Field Trip #25 Creating a Client/Server By Keith Lynn.
Processes CSCI 4534 Chapter 4. Introduction Early computer systems allowed one program to be executed at a time –The program had complete control of the.
Socket Programming Lab 1 1CS Computer Networks.
Client/Server Socket Programming Project
CS 6401 Introduction to Computer Networks 09/21/2010 Outline - UNIX sockets - A simple client-server program - Project 1 - LAN bridges and learning.
Today’s topic: UDP Reliable communication over UDP.
CSCI 330 UNIX and Network Programming Unit XIV: User Datagram Protocol.
Copyright © University of Illinois CS 241 Staff1 Sockets: send, recv Network Applications: HTTP.
UNIX Sockets Outline UNIX sockets CS 640.
FTP Client API FTP in embedded devices Implementing an FTP Client FTP Command APIs Other FTP Client APIs.
Distributed Computing Systems Project 3 – Nutella a P2P Streaming Movie System Due: Sunday, February 14 th.
Department of Computer Science Southern Illinois University Edwardsville Spring, 2010 Dr. Hiroshi Fujinoki CS 547/490 Network.
CS 447 Networks and Data Communication Server-Process Organization IP address and SockAddr_In Data Structure Department of Computer Science Southern Illinois.
@Yuan Xue CS 283Computer Networks Spring 2013 Instructor: Yuan Xue.
CLIENT (Browser) socket accept C1 C2 recv C2 recv send C2 send end_thread recv C3 send bind connect Web Server Proxy recv close C3 close C2 end_thread.
MP4 help session Hoang Nguyen. Outline Scenarios Media Synchronization requirement FF/RWND vs. Seek Media synchronization GUI Demo steps (posted next.
1 Socket Interface. 2 Basic Sockets API Review Socket Library TCPUDP IP EthernetPPP ARP DHCP, Mail, WWW, TELNET, FTP... Network cardCom Layer 4 / Transport.
DaVinci Overview (features and programming) Kim dong hyouk.
Assignment 3 A Client/Server Application: Chatroom
Speaker :Ying-shun Lin Date:2007/03/26
TCP.
UNIX Sockets Outline Homework #1 posted by end of day
Recitation 14: Proxy Lab Part 2
Recitation 9 Greg Reshko
Too Much Milk With Locks
XDR External Data Representation
CPEG514 Advanced Computer Networkst
TA: Donghyun (David) Kim
Chapter 06. UDP Server/Client.
Chapter 04. TCP Server/Client.
Chapter 5 & 6 UDP 서버/클라이언트 u-Network Design Lab 5.
Lecture 21 and 22 5/29/2019.
System Implementation
Presentation transcript:

MP2 Discussion Session CS414 Spring 2010 Long Vu 2/16/2010

Video Server Proxy 1 Stream Movie 2 Movie 1Movie 2 Client CS Spring 2009 System Overview CS Spring 2010 Request for Movie 2 Session Control Chunk 1Chunk 7 Chunk 5 Chunk 3 Chunk 1 Chunk 3 Chunk 2 Chunk 4 Chunk 6 Chunk 4 Chunk 2 Chunk 5 Chunk 6 Chunk 7 Proxy 2

Control Plan and Data Plan

Stream Movie 2 CS Spring 2009 Registration (Control Plan) CS Spring 2010 Video Server Proxy 1 Movie 1 Movie 2 Client Proxy 2 Server: - Maintains peer list (proxy and client) information: IP, port (socket) - Loads the video file into its buffer to send to the proxies - Maintains which video chunk currently is hold by which proxy

Stream Movie 2 CS Spring 2009 Case 1: Server/Client CS Spring 2010 Video Server Movie 1Movie 2 Client - Sever sends to the client the meta data: the frame rate, pCodecContext (to open the file at the client side) - Server pushes video chunks to the client (client does not send the ACK back to the server for each received video chunks) - Client has two threads (producer and consumer) to receive data from the server and to display

Possible Data Packet Format typedef struct videoPakectT{ int chunkIdx; int datalen; // len of the data content int opt; // various useschar data[VIDEO_PACKET_BUFF_SIZE]; }VideoPacket;

How the Client decodes the video? Server sends pCodecContext to the Client sendto(s, (char *) pCodecCtx, sizeof(AVCodecContext), 0, &si_other, slen); Client fixes the pCodecContext void fixCodecContext(AVCodecContext *s){ AVCodecContext AVCodecContext temp; avcodec_get_context_defaults(&temp); s->av_class= temp.av_class; s->get_buffer= avcodec_default_get_buffer; s->release_buffer= avcodec_default_release_buffer; s->get_format= avcodec_default_get_format; s->execute= avcodec_default_execute; s->palctrl = NULL; s->reget_buffer= avcodec_default_reget_buffer; }

Video Server Proxy 1 Stream Movie 2 Movie 1Movie 2 Client CS Spring 2009 CS Spring 2010 Session Control Chunk 1Chunk 7 Chunk 5 Chunk 3 Chunk 1 Chunk 3 Chunk 2 Chunk 4 Chunk 6 Chunk 4 Chunk 2 Chunk 5 Chunk 6 Chunk 7 Proxy 2 Case 2: Server/Proxy/Client (Unlimited Buffer)

At the Proxy - Receives the chunks from Server, no ACK (server push content) - Receives requests from Client and sends requested chunk to client At the Client - Uses mutex, conditional variables for the buffer - Requests for video chunk

Case 3: Server/Proxy/Client (Limited Buffer) At the Client side: - Use a circular buffer - Use mutex, conditional variables for the buffer - Head pointer is to write - Tail pointer is to display - If writing speed is faster than the displaying speed, anytime head and tail point to the same cell, head stops and notify the proxy