project4

project4 - Project 4 Project 4 Reliable Streams Zhiyuan Teo...

Info iconThis preview shows pages 1–11. Sign up to view the full content.

View Full Document Right Arrow Icon
Project 4 Project 4 Reliable Streams Zhiyuan Teo Slide heritage: Previous TAs Robert Escriva Cornell CS 4411, October 21, 2011 Updated November 3, 2011
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Project 4 1 Administrative Information 2 Assignment 4A 3 Overview 4 Project Scope A state machine for reliable streams Ensuring reliability Fragmentation Concurrency 5 Implementation 6 Testing 7 Concluding Thoughts
Background image of page 2
Project 4 Administrative Information Administrative Information Project 4 has been extended till 11.59pm Monday 7 November. An FAQ has been posted on the website. You may access it from here . Email the staff for help. Start early!
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Project 4 Assignment 4A Assignment 4A This assignment is meant to get you started on understanding critical portions of the project early. Worth 5% of your project grade. It is an easy assignment! Submit onto CMS individually (every person needs to turn in a copy).
Background image of page 4
Project 4 Overview Reliable streams Why care about reliability at the OS layer? What does it mean to be reliable? What is a stream?
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Project 4 Overview Best Effort vs. Reliability Embodies some notion of delivery guarantee. Allows the user to know if there was a failure. Data is delivered at least once (not lost in the network). Data is delivered at most once (no duplicates). Guarantees are not absolute; it is sufficient to just detect errors.
Background image of page 6
Project 4 Overview Stream protocols Connection-based (open, close, etc.). Terminology: server waits for a connection; client initiates one. The transport layer should treat messages as a sequence of bytes. Message boundaries are an application-level concept.
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Project 4 Overview In real life: Transmission Control Protocol (TCP) TCP is a reliable, stream oriented protocol. Ordering is achieved by placing sequence numbers in packets. Buffering, variable window size, and duplicate suppression are used in TCP. Flow control is (automatically) achieved by dropped packets. Dropped packets usually indicate link capacity bottlenecks. TCP adjusts to dropped packets by reducing its window size. Our implementation of minisockets will be a simplified version of TCP.
Background image of page 8
Project 4 Project Scope What does reliable streaming involve? Ordering: deliver in sequence (FIFO). Stream-like semantics: User can send blocks of any size; minisockets should fragment the data if necessary. User can ask to receive an arbitrary amount of data.
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Project 4 Project Scope Relation to Project #3 Unreliable and reliable protocols will co-exist. Some code from Project 3 may be borrowed/reused
Background image of page 10
Image of page 11
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 12/07/2011 for the course CS 4410 taught by Professor Vollset during the Spring '07 term at Cornell.

Page1 / 33

project4 - Project 4 Project 4 Reliable Streams Zhiyuan Teo...

This preview shows document pages 1 - 11. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online