Kodo - Cross-platform Network Coding Software Library
|
|
- Penelope Baker
- 6 years ago
- Views:
Transcription
1 Kodo - Cross-platform Network Coding Software Library
2 Background Academia Network coding key enabler for efficient user cooperation (p2p). Kodo developed during a 3 year research project CONE (COoperation and NEtwork Coding). Concluded Industry On campus start-up Steinwurf ApS founded in Taking over the rights for Kodo and development. Library source code fully available. Licenses: a. Free for Research / Educational b. Paid Commercial
3 Where does Kodo fit? Many different requirements Deterministic vs. random, inter- vs. intra-flow, physical to application / transport layer. Current versions of Kodo implement Software & Digital Random Linear Network Coding (RLNC) Suitable for transport / application layer protocol implementations Focus on the coding Application Data Input Data partitioning Encoder Recoder Decoder Data output TCP / UDP
4 Kodo (the library) C++11 (staying compatible with major compilers). Designed to allow for easy experimentation and a high degree of code reuse. Very flexible design technique used called "mixin-layers" or "parameterized inheritance" using C++ templates. Low-level = ample ways of shooting yourself in the foot. With API specs. we try to mitigate this. High Performance - code generated by compiler comparable to single monolithic implementation.
5 Using Kodo Kodo depends on three external libraries All dependencies are header-only (we just set the include path). In total you need to download these four libraries to use Kodo in your application. 1. Sak is a set of generic C++ components. 2. Fifi contains finite field arithmetic. 3. Boost C++ libraries (slowly being replaced by C++11). 4. Kodo itself is also header-only Options for building/using Kodo: a. Using makefile (generic solution) b. Waf build script Visual Studio solution generator
6 Using Kodo From the kodo/examples/sample_makefile example: # The include path to the kodo sources kodo_dir =../../src # The include path to the sak sources sak_dir = ~/dev/bundle_dependencies/sak-master/src # The include path to the fifi sources fifi_dir = ~/dev/bundle_dependencies/fifi-master/src # The include path to the boost sources boost_dir = ~/dev/bundle_dependencies/boost-master/boost-lib # Invoke the compiler all: g++ main.cpp -o test --std=c++0x -I $(boost_dir) -I $(fifi_dir) -I $(kodo_dir) -I $(sak_dir)
7 Example: Simple encoding / decoding Encodes and decodes a single generation. Try changing the field size, symbol size and symbols and monitor the payload use and symbols needed to decode. Use-case example: Reliable multicast / broadcast Example basic.cpp
8 Review example // Set the number of symbols (i.e. the generation size in RLNC // terminology) and the size of a symbol in bytes uint32_t max_symbols = 16; uint32_t max_symbol_size = 1400; symbols Number of packets in a block / generation Increase -> Larger computational complexity Increase -> Larger per-packet overhead (coding coefficients) Increase -> Larger per-packet decoding delay Increase -> Less protocol complexity Increase -> Less dependency on field size symbol size The size of a symbol in bytes Depends on the transport used (TCP, UDP, other)
9 Review example Finite field (rule of thumb) Increase -> Larger computational complexity Increase -> Larger decoding probability typedef kodo::full_rlnc_encoder<fifi::binary8> rlnc_encoder; typedef kodo::full_rlnc_decoder<fifi::binary8> rlnc_decoder; For a field size of q we use log2(q) bits per coefficient The number of coefficients per packet equal the number of symbols Example fifi::binary = 1 bit per coefficient fifi::binary8 = 1 byte per coefficient fifi::binary16 = 2 bytes per coefficients
10 Review example rlnc_encoder::factory encoder_factory(max_symbols, max_symbol_size); auto encoder = encoder_factory.build(); rlnc_decoder::factory decoder_factory(max_symbols, max_symbol_size); auto decoder = decoder_factory.build(); In use: encoder encoder encoder factory pool Free: encoder encoder encoder encoder encoder Factories Pre-allocates resources for all configurations below the max values Initializes encoders / decoders Can recycle resources - internal pool of encoders / decoders When a encoder/decoders goes out of scope
11 Review Example payload Buffer containing coded data to be transmitted from encoder to decoder payload size The payload buffer size bytes std::vector<uint8_t> payload(encoder->payload_size()); std::vector<uint8_t> block_in(encoder->block_size()); uint32_t bytes_used = encoder->encode( &payload[0] ); block size The total number of application bytes we can encode and decode with this configuration bytes used The number of bytes that we have to transmit over the network (bytes used <= payload size)
12 std::vector<uint8_t> payload(encoder->payload_size()); std::vector<uint8_t> block_in(encoder->block_size()); Review Example uint32_t bytes_used = encoder->encode( &payload[0] ); Payload size header symbol id coded payload Optional information about the coded symbols Describes how the coded payload was produced (the coding coefficients) The coded payload (linear combination of original data)
13 Adding loss Encoder Decoder sent received Notice we finish anyway In fact we will always finish (if error < 1) This "feature" is called rate-less. Example add_loss.cpp Notice that the bytes used increases Happens after sending symbols payloads This is because we exit the "systematic" phase
14 Systematic What does it mean Send everything uncoded once first Avoid if We do not know the state of our receivers We have multiple sources sending at the same time Advantages If we have no errors we pay nothing for the coding If we do have errors we benefit from systematic symbols in the decoding Example turn_systematic_off.cpp
15 Seed based encoder / decoder symbols RNG(seed) 4 byte byte fifi::binary8 fifi::binary bit Purpose Reduce the overhead by the added coding coefficients Disadvantage Does not support recoding Example seed_codes.cpp
16 Example: Recoding Recoding is one of the key features of a RLNC code. In this example we will look at how to recode packets using Kodo. Use-case example: Relay network, p2p, multi-path. Example recoding.cpp
17 Customizing an Encoder / Decoder Kodo is a set of building blocks rather than one specific code. It is meant to be modified. Use-cases: You want to change which symbols are included based on receiver feedback. You want to track the time elapsed since a specific decoder last received a packet. You want to collect statistics about the decoding You want to encode and decode using a sliding window...
18 Mixin-Layers / Parameterized inheritance In this context a mixin is not a stand-alone class but represents a "slice" of functionality. The slices are then combined to compose the final functionality. In C++ we do this through templates. Kodo heavily relies on this technique. Flexibility Performance 1. template<class T> 2. class foo 3. { 4. public: 5. T m_t; 6. }; foo<int> f1; 10. foo<my_other_type> f2;
19 Mixin-Layers 1. template<class Super> 2. class add_layer : public Super 3. { 4. public: int add(int a, int b) 7. { 8. return a + b; 9. } 10. }; class final_layer 13. { }; class calculator 16. : public add_layer<final_layer> > 17. { }; 1. int main() 2. { 3. calculator calc; 4. std::cout << calc.add(4,2) << std::endl; 5. return 0; 6. } Output: 6
20 Mixin-Layers (adding functionality) 1. template<class Super> 2. class sub_layer : public Super 3. { 4. public: int subtract(int a, int b) 7. { 8. return a - b; 9. } 10. }; class calculator 14. : public sub_layer< 15. add_layer<final_layer> > 16. { }; 1. int main() 2. { 3. calculator calc; 4. std::cout << calc.add(4,2) << std::endl; 5. std::cout << calc.subtract(2,5) << std::endl; 6. return 0; 7. } Output: 6-3
21 Mixin-Layers (customize functionality) 1. template<class Super> 2. class modulo_layer : public Super 3. { 4. public: int add(int a, int b) 7. { 8. return Super::add(a,b) % 5; 9. } int subtract(int a, int b) 12. { 13. int res = 14. Super::subtract(a,b) % 5; 15. return res < 0? res + 5 : res; 16. } 17. }; class calculator 20. : public modulo_layer< 21. sub_layer< 22. add_layer<final_layer> > > 1. int main() 2. { 3. calculator calc; 4. std::cout << calc.add(2,2) << std::endl; 5. std::cout << calc.subtract(2,2) << std::endl; 6. return 0; 7. } Output: 1 2
22 Example: Layers used in the simple encoding / decoding 1. Open the full_vector_codes.hpp file in the kodo/src/kodo/rlnc folder. Each layer implements a specific API with a specific purpose. Read more in the "Hacking Kodo" section of the manual. Your custom functionality may be added as a layer Example add_layer.cpp
23 Kodo Layers Typical Codec Stack Payload Codec Layer Payload Codec API Codec Header API Codec Header Layer Symbol ID API Coefficient Generator API Codec Layer Construction API Codec API User API Utility Layers Symbol Storage API Coefficient Symbol Storage API Finite Field API Factory API
24
25
26
27 Kodo Documentation Manual API
28 Encoding real data Roughly two classes objects and streams. Objects have a fixed size and data is not useful until the entire object has been decoded. Streams are typically unbound and can provide useful data on-the-fly and can have delay constraints
29 Example: Storage Encoding / Decoding In this example we will look at how you encode a file or large buffer easily with Kodo Use-case: Reliable transmission of fixed buffers / files for e.g. distributed storage, software updates etc. disk 1 disk 2 disk n
30 Example: Sliding window Encoding / Decoding In this example we will look at how encode / decode content produced on the fly (variable bit-rates). Use-case: Implementation of stream based protocols e. g. for reliable video and audio streaming.
31 Kodo Testing Continuous Integration (build on every commit) Different platforms & compilers Core part of our release management
32 Kodo Performance Main thing: Measure raw coding speed. Catch performance regressions Research / Experimentation Memory access patterns Finite field operations Prove / test a clever algorithm
33 The End Contributions + bug fixes please Simple procedure with sign-off Feedback / comments /questions are all very welcome! Questions? mvp@es.aau.dk
Transport protocols Introduction
Transport protocols 12.1 Introduction All protocol suites have one or more transport protocols to mask the corresponding application protocols from the service provided by the different types of network
More informationChapter 7. The Transport Layer
Chapter 7 The Transport Layer 1 2 3 4 5 6 7 8 9 10 11 Addressing TSAPs, NSAPs and transport connections. 12 For rarely used processes, the initial connection protocol is used. A special process server,
More informationLecture 8: February 19
CMPSCI 677 Operating Systems Spring 2013 Lecture 8: February 19 Lecturer: Prashant Shenoy Scribe: Siddharth Gupta 8.1 Server Architecture Design of the server architecture is important for efficient and
More informationInternet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006
Internet Streaming Media Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006 Multimedia Streaming UDP preferred for streaming System Overview Protocol stack Protocols RTP + RTCP SDP RTSP SIP
More informationInternet Streaming Media
Multimedia Streaming Internet Streaming Media Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006 preferred for streaming System Overview Protocol stack Protocols + SDP SIP Encoder Side Issues
More informationInternet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2007
Internet Streaming Media Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2007 Multimedia Streaming UDP preferred for streaming System Overview Protocol stack Protocols RTP + RTCP SDP RTSP SIP
More informationComputer Networks. Sándor Laki ELTE-Ericsson Communication Networks Laboratory
Computer Networks Sándor Laki ELTE-Ericsson Communication Networks Laboratory ELTE FI Department Of Information Systems lakis@elte.hu http://lakis.web.elte.hu Based on the slides of Laurent Vanbever. Further
More informationResearch on Transmission Based on Collaboration Coding in WSNs
Research on Transmission Based on Collaboration Coding in WSNs LV Xiao-xing, ZHANG Bai-hai School of Automation Beijing Institute of Technology Beijing 8, China lvxx@mail.btvu.org Journal of Digital Information
More informationChapter 4: Implicit Error Detection
4. Chpter 5 Chapter 4: Implicit Error Detection Contents 4.1 Introduction... 4-2 4.2 Network error correction... 4-2 4.3 Implicit error detection... 4-3 4.4 Mathematical model... 4-6 4.5 Simulation setup
More informationArchitectures of Communication Subsystems
Architectures of Communication Subsystems Open System Interconnection Reference Model Computer Networks Lecture 2 http://goo.gl/pze5o8 Connection-Oriented versus Connectionless Communication 2 Connection-Oriented
More informationFECFRAME extension Adding convolutional FEC codes support to the FEC Framework
FECFRAME extension Adding convolutional FEC codes support to the FEC Framework Vincent Roca, Inria, France Ali Begen, Networked Media, Turkey https://datatracker.ietf.org/doc/draft-roca-tsvwg-fecframev2/
More informationDynamic Software Updating (DSU) on a Large Scale. Karla Saur
Dynamic Software Updating (DSU) on a Large Scale Karla Saur Kitsune: A Practical DSU System Whole-program updates for C Entirely standard compilation and tools Previously with Kitsune: 2 Kitsune: A Practical
More informationCOMP750. Distributed Systems. Network Overview
COMP750 Distributed Systems Network Overview Network Standards The purpose of a network is to allow two computers to communicate. Ex: The electrical power network in North America follows a standard to
More informationInternet Streaming Media
Internet Streaming Media Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2008 Multimedia Streaming preferred for streaming System Overview Protocol stack Protocols + SDP S Encoder Side Issues
More informationIntended status: Experimental Expires: September 6, 2018 V. Roca INRIA March 5, 2018
NWCRG Internet-Draft Intended status: Experimental Expires: September 6, 2018 J. Detchart E. Lochin J. Lacan ISAE V. Roca INRIA March 5, 2018 Tetrys, an On-the-Fly Network Coding protocol draft-detchart-nwcrg-tetrys-04
More informationCS 11 C track: lecture 5
CS 11 C track: lecture 5 Last week: pointers This week: Pointer arithmetic Arrays and pointers Dynamic memory allocation The stack and the heap Pointers (from last week) Address: location where data stored
More informationOperating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski
Operating Systems 16. Networking Paul Krzyzanowski Rutgers University Spring 2015 1 Local Area Network (LAN) LAN = communications network Small area (building, set of buildings) Same, sometimes shared,
More informationNetwork Layer: Control/data plane, addressing, routers
Network Layer: Control/data plane, addressing, routers CS 352, Lecture 10 http://www.cs.rutgers.edu/~sn624/352-s19 Srinivas Narayana (heavily adapted from slides by Prof. Badri Nath and the textbook authors)
More informationRaw Data Formatting: The RDR Formatter and NetFlow Exporting
CHAPTER 8 Raw Data Formatting: The RDR Formatter and NetFlow Exporting Cisco Service Control is able to deliver gathered reporting data to an external application for collecting, aggregation, storage and
More informationChapter 6. The Protocol TCP/IP. Introduction to Protocols
Chapter 6 The Protocol TCP/IP 1 Introduction to Protocols A protocol is a set of rules that governs the communications between computers on a network. These rules include guidelines that regulate the following
More informationTransport layer issues
Transport layer issues Dmitrij Lagutin, dlagutin@cc.hut.fi T-79.5401 Special Course in Mobility Management: Ad hoc networks, 28.3.2007 Contents Issues in designing a transport layer protocol for ad hoc
More informationTRANSMISSION CONTROL PROTOCOL. ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016
TRANSMISSION CONTROL PROTOCOL ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016 ETI 2506 - TELECOMMUNICATION SYLLABUS Principles of Telecom (IP Telephony and IP TV) - Key Issues to remember 1.
More informationIP Network Troubleshooting Part 3. Wayne M. Pecena, CPBE, CBNE Texas A&M University Educational Broadcast Services - KAMU
IP Network Troubleshooting Part 3 Wayne M. Pecena, CPBE, CBNE Texas A&M University Educational Broadcast Services - KAMU February 2016 Today s Outline: Focused Upon Protocol Analysis with Wireshark Review
More informationData and Computer Communications. Protocols and Architecture
Data and Computer Communications Protocols and Architecture Characteristics Direct or indirect Monolithic or structured Symmetric or asymmetric Standard or nonstandard Means of Communication Direct or
More informationCE693: Adv. Computer Networking
CE693: Adv. Computer Networking L-10 Wireless Broadcast Fall 1390 Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan Seshan at CMU. When slides are
More informationELEC 691X/498X Broadcast Signal Transmission Winter 2018
ELEC 691X/498X Broadcast Signal Transmission Winter 2018 Instructor: DR. Reza Soleymani, Office: EV 5.125, Telephone: 848 2424 ext.: 4103. Office Hours: Wednesday, Thursday, 14:00 15:00 Slide 1 In this
More informationIn modern computers data is usually stored in files, that can be small or very, very large. One might assume that, when we transfer a file from one
In modern computers data is usually stored in files, that can be small or very, very large. One might assume that, when we transfer a file from one computer to another, the whole file is sent as a continuous
More informationWhy do we care about parallel?
Threads 11/15/16 CS31 teaches you How a computer runs a program. How the hardware performs computations How the compiler translates your code How the operating system connects hardware and software The
More information14-740: Fundamentals of Computer and Telecommunication Networks
14-740: Fundamentals of Computer and Telecommunication Networks Fall 2018 Quiz #2 Duration: 75 minutes ANSWER KEY Name: Andrew ID: Important: Each question is to be answered in the space provided. Material
More informationQuestion Score 1 / 19 2 / 19 3 / 16 4 / 29 5 / 17 Total / 100
NAME: Login name: Computer Science 461 Midterm Exam March 10, 2010 3:00-4:20pm This test has five (5) questions. Put your name on every page, and write out and sign the Honor Code pledge before turning
More informationConcept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.
223 Chapter 19 Inter mediate TCP The Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols was developed as part of the research that the Defense Advanced Research Projects Agency
More informationLecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24
Lecture 20 Overview Last Lecture Transport Control Protocol (1) This Lecture Transport Control Protocol (2) Source: chapters 23, 24 Next Lecture Internet Applications Source: chapter 26 COSC244 & TELE202
More informationINF3190 Mandatory Assignment:
INF3190 Mandatory Assignment: Formally: This assignment must be completed individually. The submission must be approved prior to submission of the Home Exam 1. To pass the submission must meet the requirements
More informationInternet Research Task Force (IRTF) Request for Comments: 8406 Category: Informational ISSN:
Internet Research Task Force (IRTF) Request for Comments: 8406 Category: Informational ISSN: 2070-1721 B. Adamson NRL C. Adjih INRIA J. Bilbao Ikerlan V. Firoiu BAE Systems F. Fitzek TU Dresden S. Ghanem
More informationDistributed Real-Time Control Systems. Module 26 Sockets
Distributed Real-Time Control Systems Module 26 Sockets 1 Network Programming with Sockets Sockets are probably the most widely used objects in programming networked communications. What is a socket? To
More informationVersion 2.1 User Guide 08/2003
UDP TEST TOOL TM Version 2.1 User Guide 08/2003 SimpleComTools, LLC 1 OVERVIEW Introduction................................... UDP vs. TCP................................... 3 3 SOFTWARE INSTALLATION..........................
More informationRECOMMENDATION ITU-R BT.1720 *
Rec. ITU-R BT.1720 1 RECOMMENDATION ITU-R BT.1720 * Quality of service ranking and measurement methods for digital video broadcasting services delivered over broadband Internet protocol networks (Question
More informationCCNA Exploration Network Fundamentals. Chapter 06 Addressing the Network IPv4
CCNA Exploration Network Fundamentals Chapter 06 Addressing the Network IPv4 Updated: 20/05/2008 1 6.0.1 Introduction Addressing is a key function of Network layer protocols that enables data communication
More informationAchieving Low-Latency Streaming At Scale
Achieving Low-Latency Streaming At Scale Founded in 2005, Wowza offers a complete portfolio to power today s video streaming ecosystem from encoding to delivery. Wowza provides both software and managed
More informationIP Address Assignment
IP Address Assignment An IP address does not identify a specific computer. Instead, each IP address identifies a connection between a computer and a network. A computer with multiple network connections
More informationInstitute of Science and Technology 2067
2067 1. Explain the principles of application layer protocols. What do you mean by file transfer? What are the main relationship between transport layer and network layer? What are the transport layer
More informationXORs in the Air: Practical Wireless Network Coding
XORs in the Air: Practical Wireless Network Coding S. Katti, H. Rahul, W. Hu, D. Katabi, M. Medard, J. Crowcroft MIT & University of Cambridge Can we use 3 transmissions to send traffic? 1 2 4 3 Can we
More informationFixed bonding settings not being applied in Sputnik Direct mode.
Teradek Cube/Brik Firmware Version 7.1.10 Release Notes page 1 of 16 New Features New features for Zixi Streaming: o Dynamic Bitrate Encoder will adapt to the network conditions by adjusting the bitrate
More informationMULTI-LAYER VIDEO STREAMING WITH HELPER NODES USING NETWORK CODING
MULTI-LAYER VIDEO STREAMING WITH HELPER NODES USING NETWORK CODING Pouya Ostovari, Abdallah Khreishah, and Jie Wu Computer and Information Sciences Temple University IEEE MASS 2013 Center for Networked
More informationn Understand EC-Council s scanning methodology n Describe scan types and the objectives of scanning
Outline n Understand EC-Council s scanning methodology n Describe scan types and the objectives of scanning n Understand the use of various scanning and enumeration tools Chapter #3: n Describe TCP communication
More informationMISRA-C. Subset of the C language for critical systems
MISRA-C Subset of the C language for critical systems SAFETY-CRITICAL SYSTEMS System is safety-critical if people might die due to software bugs Examples Automobile stability / traction control Medical
More informationRTP: A Transport Protocol for Real-Time Applications
RTP: A Transport Protocol for Real-Time Applications Provides end-to-end delivery services for data with real-time characteristics, such as interactive audio and video. Those services include payload type
More information(Refer Slide Time: 1:09)
Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecturer # 30 UDP and Client Server Good day, today we will start our discussion
More informationNetwork Coding: Theory and Applica7ons
Network Coding: Theory and Applica7ons PhD Course Part IV Tuesday 9.15-12.15 18.6.213 Muriel Médard (MIT), Frank H. P. Fitzek (AAU), Daniel E. Lucani (AAU), Morten V. Pedersen (AAU) Plan Hello World! Intra
More informationMedia File Options. Deployment and Ongoing Management. This chapter covers the following topics:
This chapter covers the following topics: Deployment and Ongoing Management, page 1 Co-Resident Unified CVP Call Server, Media Server, and Unified CVP VXML Server, page 2 Bandwidth Calculation for Prompt
More informationShort Notes of CS201
#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system
More informationECE 435 Network Engineering Lecture 15
ECE 435 Network Engineering Lecture 15 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 26 October 2016 Announcements HW#5 due HW#6 posted Broadcasts on the MBONE 1 The Transport
More informationTutorial S TEPHEN IBANEZ
Tutorial S TEPHEN IBANEZ Outline P4 Motivation P4 for NetFPGA Overview P4->NetFPGA Workflow Overview Tutorial Assignments What is P4? Programming language to describe packet processing logic Used to implement
More informationPeer entities. Protocol Layering. Protocols. Example
Peer entities Protocol Layering An Engineering Approach to Computer Networking Customer A and B are peers Postal worker A and B are peers Protocols A protocol is a set of rules and formats that govern
More informationData and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications
Data and Computer Communications Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based s 1 Need For Protocol Architecture data exchange can involve complex procedures better if task broken into subtasks
More informationCS201 - Introduction to Programming Glossary By
CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with
More informationWhy C++? C vs. C Design goals of C++ C vs. C++ - 2
Why C++? C vs. C++ - 1 Popular and relevant (used in nearly every application domain): end-user applications (Word, Excel, PowerPoint, Photoshop, Acrobat, Quicken, games) operating systems (Windows 9x,
More informationMedia File Options. Deployment and Ongoing Management CHAPTER
CHAPTER 12 Last revised on: November 30, 2009 This chapter covers the following topics: Deployment and Ongoing Management, page 12-1 Co-Resident Call Server, Media Server, and Unified CVP VXML Server,
More informationData and Computer Communications
Data and Computer Communications Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications Eighth Edition by William Stallings Chap2: 1 Need For Protocol Architecture data exchange can involve
More information4 rd class Department of Network College of IT- University of Babylon
1. INTRODUCTION We can divide audio and video services into three broad categories: streaming stored audio/video, streaming live audio/video, and interactive audio/video. Streaming means a user can listen
More informationMPEG-2. ISO/IEC (or ITU-T H.262)
MPEG-2 1 MPEG-2 ISO/IEC 13818-2 (or ITU-T H.262) High quality encoding of interlaced video at 4-15 Mbps for digital video broadcast TV and digital storage media Applications Broadcast TV, Satellite TV,
More informationOSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,
ANNEX B - Communications Protocol Overheads The OSI Model is a conceptual model that standardizes the functions of a telecommunication or computing system without regard of their underlying internal structure
More informationAnnouncements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6
Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine Computer Science Department 1 / 33 1 COS 140: Foundations
More informationCS 465 Networks. Disassembling Datagram Headers
CS 465 Networks Disassembling Datagram Headers School of Computer Science Howard Hughes College of Engineering University of Nevada, Las Vegas (c) Matt Pedersen, 2006 Recall the first 5x4 octets of the
More informationThe SpaceWire Transport Protocol. Stuart Mills, Steve Parkes University of Dundee. International SpaceWire Seminar 5 th November 2003
The SpaceWire Transport Protocol Stuart Mills, Steve Parkes University of Dundee International SpaceWire Seminar 5 th November 2003 Introduction Background The Protocol Stack, TCP/IP, SCPS CCSDS and SOIF
More informationPACE: Redundancy Engineering in RLNC for Low-Latency Communication
Received July 13, 2017, accepted August 2, 2017, date of publication August 7, 2017, date of current version October 25, 2017. Digital Object Identifier 10.1109/ACCESS.2017.2736879 PACE: Redundancy Engineering
More informationTransport Layer Review
Transport Layer Review Mahalingam Mississippi State University, MS October 1, 2014 Transport Layer Functions Distinguish between different application instances through port numbers Make it easy for applications
More informationContinuous Real Time Data Transfer with UDP/IP
Continuous Real Time Data Transfer with UDP/IP 1 Emil Farkas and 2 Iuliu Szekely 1 Wiener Strasse 27 Leopoldsdorf I. M., A-2285, Austria, farkas_emil@yahoo.com 2 Transilvania University of Brasov, Eroilor
More informationRaw Data Formatting: The RDR Formatter and NetFlow Exporting
CHAPTER 9 Raw Data Formatting: The RDR Formatter and NetFlow Exporting Revised: September 27, 2012, Introduction Cisco Service Control is able to deliver gathered reporting data to an external application
More informationNWEN 243. Networked Applications. Layer 4 TCP and UDP
NWEN 243 Networked Applications Layer 4 TCP and UDP 1 About the second lecturer Aaron Chen Office: AM405 Phone: 463 5114 Email: aaron.chen@ecs.vuw.ac.nz Transport layer and application layer protocols
More informationFoundations of Python
Foundations of Python Network Programming The comprehensive guide to building network applications with Python Second Edition Brandon Rhodes John Goerzen Apress Contents Contents at a Glance About the
More informationNo book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6
Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine School of Computing and Information S 1 / 33 COS 140:
More informationBEAAquaLogic. Service Bus. MQ Transport User Guide
BEAAquaLogic Service Bus MQ Transport User Guide Version: 3.0 Revised: February 2008 Contents Introduction to the MQ Transport Messaging Patterns......................................................
More informationImportant From Last Time
Important From Last Time Volatile is tricky To write correct embedded C and C++, you have to understand what volatile does and does not do Ø What is the guarantee that it provides? Don t make the 8 mistakes
More informationImplementing Layered Designs with Mixin Layers
Implementing Layered Designs with Mixin Layers (joint work with Don Batory) 1 of 19 Objects as components? Modular decomposition is an ideal in software design and implementation - separation of concerns
More informationHardware Telemetry. About Streaming Statistics Export (SSX) Packet Format. About Streaming Statistics Export (SSX), on page 1
About Streaming Statistics Export (SSX), on page 1 About Streaming Statistics Export (SSX) Packet Format The Streaming Statistics Export (SSX) module reads statistics from the ASIC and sends them to a
More informationChapter 28. Multimedia
Chapter 28. Multimedia 28-1 Internet Audio/Video Streaming stored audio/video refers to on-demand requests for compressed audio/video files Streaming live audio/video refers to the broadcasting of radio
More informationLayering and Addressing CS551. Bill Cheng. Layer Encapsulation. OSI Model: 7 Protocol Layers.
Protocols CS551 Layering and Addressing Bill Cheng Set of rules governing communication between network elements (applications, hosts, routers) Protocols define: Format and order of messages Actions taken
More informationTolerating Malicious Drivers in Linux. Silas Boyd-Wickizer and Nickolai Zeldovich
XXX Tolerating Malicious Drivers in Linux Silas Boyd-Wickizer and Nickolai Zeldovich How could a device driver be malicious? Today's device drivers are highly privileged Write kernel memory, allocate memory,...
More informationCS 218 F Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness. References:
CS 218 F 2003 Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness References: J. Padhye, V.Firoiu, D. Towsley, J. Kurose Modeling TCP Throughput: a Simple Model
More informationExamination 2D1392 Protocols and Principles of the Internet 2G1305 Internetworking 2G1507 Kommunikationssystem, fk SOLUTIONS
Examination 2D1392 Protocols and Principles of the Internet 2G1305 Internetworking 2G1507 Kommunikationssystem, fk Date: January 17 th 2006 at 14:00 18:00 SOLUTIONS 1. General (5p) a) Draw the layered
More informationEEC-484/584 Computer Networks
EEC-484/584 Computer Networks Lecture 2 Wenbing Zhao wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Misc. Interested in research? Secure
More information[MS-RTPRADEX]: RTP Payload for Redundant Audio Data Extensions. Intellectual Property Rights Notice for Open Specifications Documentation
[MS-RTPRADEX]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,
More informationINTRODUCTORY COMPUTER
INTRODUCTORY COMPUTER NETWORKS TYPES OF NETWORKS Faramarz Hendessi Introductory Computer Networks Lecture 4 Fall 2010 Isfahan University of technology Dr. Faramarz Hendessi 2 Types of Networks Circuit
More informationNetworking Technologies and Applications
Networking Technologies and Applications Rolland Vida BME TMIT Transport Protocols UDP User Datagram Protocol TCP Transport Control Protocol and many others UDP One of the core transport protocols Used
More informationECE 15B COMPUTER ORGANIZATION
ECE 15B COMPUTER ORGANIZATION Lecture 13 Strings, Lists & Stacks Announcements HW #3 Due next Friday, May 15 at 5:00 PM in HFH Project #2 Due May 29 at 5:00 PM Project #3 Assigned next Thursday, May 19
More information6 Controlling the Technomad Encoder
T 6 Controlling the Technomad Encoder 6.1 User control interface The Techomad Encoder has a local web server built in. You can control the Technomad Encdoder from anywhere on your network using a standard
More informationIntroduction to Networking
Introduction to Networking The fundamental purpose of data communications is to exchange information between user's computers, terminals and applications programs. Simplified Communications System Block
More informationCan network coding bridge the digital divide in the Pacific?
Can network coding bridge the digital divide in the Pacific? Ulrich Speidel, Etuate Cocker, Péter Vingelmann, Janus Heide, Muriel Médard ecoc005@aucklanduni.ac.nz Project partners, collaborators and funders
More informationCMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018
CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP
More informationCALIFORNIA SOFTWARE LABS
Real-time Implementation of NAT and Firewall in VxWorks CALIFORNIA SOFTWARE LABS R E A L I Z E Y O U R I D E A S California Software Labs 6800 Koll Center Parkway, Suite 100 Pleasanton CA 94566, USA. Phone
More informationHow to achieve low latency audio/video streaming over IP network?
February 2018 How to achieve low latency audio/video streaming over IP network? Jean-Marie Cloquet, Video Division Director, Silex Inside Gregory Baudet, Marketing Manager, Silex Inside Standard audio
More informationCase study: Performance-efficient Implementation of Robust Header Compression (ROHC) using an Application-Specific Processor
Case study: Performance-efficient Implementation of Robust Header Compression (ROHC) using an Application-Specific Processor Gert Goossens, Patrick Verbist, Erik Brockmeyer, Luc De Coster Synopsys 1 Agenda
More informationSystem Programming. Introduction to computer networks
Content : by Dr. B. Boufama School of Computer Science University of Windsor Instructor: Dr. A. Habed adlane@cs.uwindsor.ca http://cs.uwindsor.ca/ adlane/60-256 Content Content 1 Introduction to Computer
More informationNetwork Protocols. Sarah Diesburg Operating Systems CS 3430
Network Protocols Sarah Diesburg Operating Systems CS 3430 Protocol An agreement between two parties as to how information is to be transmitted A network protocol abstracts packets into messages Physical
More information1: Introduction to Object (1)
1: Introduction to Object (1) 김동원 2003.01.20 Overview (1) The progress of abstraction Smalltalk Class & Object Interface The hidden implementation Reusing the implementation Inheritance: Reusing the interface
More informationDistributed Real-Time Control Systems
Distributed Real-Time Control Systems Lecture 18 More on Boost ASIO Ethernet Communications Sockets in C++ 1 Boost Asio Communication Functions Boost Asio abstracts communication channels as streams. Streams
More informationIntro to LAN/WAN. Transport Layer
Intro to LAN/WAN Transport Layer Transport Layer Topics Introduction (6.1) Elements of Transport Protocols (6.2) Internet Transport Protocols: TDP (6.5) Internet Transport Protocols: UDP (6.4) socket interface
More informationProcess Concept Process Scheduling Operations On Process Inter-Process Communication Communication in Client-Server Systems
Process Concept Process Scheduling Operations On Process Inter-Process Communication Communication in Client-Server Systems Process Process VS Program Process in Memory Process State Process Control Block
More informationTransport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol
Transport Layer Transport Layer The transport layer is responsible for the delivery of a message from one process to another Types of Data Deliveries Client/Server Paradigm An application program on the
More information