Arxiv:1901.04985V1 [Cs.DC] 12 Jan 2019 Computing Power of Embedded Or Edge Devices, Neural Net- Tion, Saving Computing Resources

Total Page:16

File Type:pdf, Size:1020Kb

Arxiv:1901.04985V1 [Cs.DC] 12 Jan 2019 Computing Power of Embedded Or Edge Devices, Neural Net- Tion, Saving Computing Resources NNStreamer: Stream Processing Paradigm for Neural Networks, Toward Efficient Development and Execution of On-Device AI Applications MyungJoo Ham1 Ji Joong Moon1 Geunsik Lim1 Wook Song1 Jaeyun Jung1 Hyoungjoo Ahn1 Sangjung Woo1 Youngchul Cho1 Jinhyuck Park2 Sewon Oh1 Hong-Seok Kim1,3 1Samsung Research, Samsung Electronics 2Biotech Academy, Samsung BioLogics 3Left the affiliation 1,2{myungjoo.ham, jijoong.moon, geunsik.lim, wook16.song, jy1210.jung, hello.ahn, sangjung.woo, rams.cho, jinhyuck83.park, sewon.oh, hongse.kim}@samsung.com Abstract 3. Reduce operating cost by off-loading computation to de- We propose nnstreamer, a software system that handles vices from servers. This cost is often neglected; it is, how- neural networks as filters of stream pipelines, applying the ever, significant if billions of devices are to be deployed. stream processing paradigm to neural network applications. We do not discuss the potential advantage, distributing work- A new trend with the wide-spread of deep neural network loads across edge devices, because it is not in the scope of applications is on-device AI; i.e., processing neural networks this paper, but of future work. directly on mobile devices or edge/IoT devices instead of On-device AI achieves such advantages by processing di- cloud servers. Emerging privacy issues, data transmission rectly in the nodes where data exist so that data transmis- costs, and operational costs signifies the need for on-device sion is reduced and sensitive data are kept inside. However, AI especially when a huge number of devices with real-time on-device AI induces significant challenges. Normally, edge data processing are deployed. Nnstreamer efficiently handles devices including mobile phones, TVs, home appliances, and neural networks with complex data stream pipelines on de- IoT devices have limited computing power compared to work- vices, improving the overall performance significantly with stations of conventional AI systems. In the meanwhile, on- minimal efforts. Besides, nnstreamer simplifies the neural net- device AI applications often require short response time or work pipeline implementations and allows reusing off-shelf high processing rates; e.g., AR Emoji [43], Animoji [3], and multimedia stream filters directly; thus it reduces the devel- offline speech recognition and translations. Besides, on-device opmental costs significantly. Nnstreamer is already being AI applications often use sensors incurring data stream with deployed with a product releasing soon and is open source high bandwidth: video cameras. software applicable to a wide range of hardware architectures On-device AI applications are becoming more complex, and software platforms. incurring even more challenges. A neural network may pro- cess multiple input streams and multiple neural networks may 1 Introduction process streams simultaneously. Besides, networks may share input data, and an input of a network may be outputs of other We have witnessed the wide spread of deep neural networks networks. For example, inputs of a facial recognition and an and their applications in the last decade. With ever growing emotion recognition may share outputs of an object recogni- arXiv:1901.04985v1 [cs.DC] 12 Jan 2019 computing power of embedded or edge devices, neural net- tion, saving computing resources. Composing systems with works are being adopted to such devices, further assisted by multiple networks allows to train smaller networks (more ef- AI accelerators [2,10, 24, 25, 27,38, 44, 48]. In mobile phone ficient) and to save training costs. However, stream pipelines industry, this trend has already become obvious enough to for such systems may become highly complicated with inter- be adopted by major manufacturers including Samsung and connections of networks and sensors along with fluctuating Apple [2, 44]. Running intelligence mechanisms such as deep latency and synchronization issues. Another challenge is that neural networks directly in edge devices including consumer the topology of pipelines may be dynamic. electronics is often called as on-device AI [37]. We have observed another issue in practice; developers may On-device AI is becoming more attractive to manufacturers use their own neural network frameworks such as TensorFlow because of the following three advantages: and Caffe or their own tweaked version of such frameworks. 1. Avoid data privacy and protection issues by keeping the With stable releases of applications, we may enforce develop- data in user devices without uploading to cloud servers. ers to share a framework or to provide independent binaries 2. Reduce data transmission latency of high-bandwidth real- without the need for any neural network frameworks. How- time stream data including live video feeds from cameras. ever, for researching and prototyping, developers want to ex- periment with various frameworks while testers still need to and LG use GStreamer as the multimedia engine of televi- execute the whole system integrated. Thus, we need to com- sions. Centricular [14,15,23,49,50] releases GStreamer for pose such complicated interactions between neural networks TVs, set-top boxes, medical devices, in-vehicle infotainment, and sensors along with multiple neural network frameworks. video-on-demand, and on-demand streaming solutions. We apply the stream processing paradigm [46] to on-device Another popular framework for Linux, FFmpeg [5] is not AI systems. Our approach is to handle a neural network as modular, but everything is built-in and has limited cross- a stream filter and then, to construct the system as a stream platform support. Note that GStreamer can embed FFmpeg pipeline. We propose data standards for tensors and containers as yet another plugin. of tensors, which allow varying neural network frameworks in StageFright [17] is the multimedia stream framework of a pipeline along with conventional stream filters, conventional Android. StageFright depends on Android services and, unlike media types (video, audio, and text), and tensors. In order GStreamer, is not flexible enough for other generic Linux to construct complicated pipelines, we also propose various distributions. Besides, it does not allow to construct arbitrary stream path manipulators with synchronization policies and stream pipelines. tensor operators. AVFoundation [4] is the multimedia stream framework of Handling stream pipelines efficiently along with various iOS and macOS. Along with Core ML, a machine learning synchronization methods, filters, and data types has been a framework, we may have AVFoundation as an input to Core main topic of multimedia frameworks for decades. Among ML; however, it is not supposed to write arbitrary pipelines multimedia frameworks, we choose GStreamer [19] as the ba- with Core ML entities as stream filters. sis because GStreamer offers highly modular architecture, is DirectShow [9] is the multimedia framework of Windows. fully open source software, and is compatible with various op- We cannot alter and use DirectShow or AVFoundation for the erating systems and hardware architectures. We can also reuse given purpose because it is proprietary software and supports what GStreamer offers; hundreds of media processing plugins proprietary platforms only. and developmental infrastructure. GStreamer has been widely deployed to desktop computing, video conferencing, broad- casting, and consumer electronics, even including televisions 2.2 Stream Processing in General of Samsung and LG, where the multimedia performance is extremely critical. StreamCloud [21] has addressed the bottleneck of a single An experimental product deployed to hospitals and house- input node in a stream pipeline. StreamCloud provides a holds, which will be commercially released soon, is based scalable and elastic stream framework to process large data on nnstreamer to process recognize events from multiple input and execute pipeline elements in parallel transparently sensors. Product developers have significantly improved the by splitting queries to allocate multiple nodes. performance and simplified the code, which have enabled There are studies to help manage large data streams effi- to add more sensors and neural networks with inexpensive ciently; however, they do not provide a general stream pro- hardware and minimal developmental costs. Nnstreamer is cessing framework for neural networks and complex topology. open source software licensed with LGPL [16]. We plan to Kumar [32] has proposed a network data stream analysis tool use nnstreamer for more products in the affiliation including with higher accuracy and lower overhead than prior work. In robots and conventional consumer electronics. order to reduce power consumption of edge devices receiving multimedia data streams, a client-side statistical prediction 2 Related Work scheme [51] estimates the data patterns of incoming data streams and tries to make processors sleep longer. A fragmen- 2.1 Multimedia Stream Processing in Practice tal proxy-caching scheme [47] tries to improve the quality of multimedia streams by adjusting caching units with finer Multimedia stream frameworks have recently evolved to pro- granularity. Apache Flink [7] proposes a platform with a uni- cess high quality audio and video with mobile phones and versal dataflow engine designed to perform both stream and TVs whose computing resources are limited. batch analytics for processing streaming and batch data. GStreamer [19] is the standard multimedia pipeline frame- Applying streaming framework for GPUs fits well with work for Tizen
Recommended publications
  • 106 INKSCAPE – FREE VECTOR GRAPHICS EDITOR Grabareva A
    INKSCAPE – FREE VECTOR GRAPHICS EDITOR Grabareva A. Supervisor: Voevodina M. E-mail: [email protected], [email protected] Kharkiv, О.М. Beketov National University of Urban Economy in Kharkiv Inkscape is a cross-platform, powerful enough and in many ways competitive free vector graphics editor with open source code, and in which the SVG format is used as the main standard for work. It is convenient for creating both artistic and technical illustrations. Inkscape is an analogue of such graphic editors as Corel Draw, Adobe Illustrator, Xara X and Freehand. Intended use: - illustrations for office circulars, presentations, creation of logos, business cards, posters; - technical illustrations (diagrams, graphics, etc.); - vector graphics for high-quality printing (with preliminary import of SVG into Scribus); - web graphics – from banners to site layouts, icons for applications and website buttons, - graphics for games. Main characteristics of Inkscape: - the program is free and distributed under the GNU General Public License; - cross-platform; - the program supports the following document formats: import – almost all popular and frequently used formats: SVG, JPEG, GIF, BMP, EPS, PDF, PNG, ICO, and many additional ones, such as SVGZ, EMF, PostScript, AI, Dia, Sketch, TIFF, XPM, WMF, WPG, GGR, ANI, CUR, PCX, PNM, RAS, TGA, WBMP, XBM, XPM; export – the main formats are PNG and SVG and many additional EPS, PostScript, PDF, Dia, AI, Sketch, POV-Ray, LaTeX, OpenDocument Draw, GPL, EMF, POV, DXF; - there is support for layers; -
    [Show full text]
  • Release Notes for Fedora 15
    Fedora 15 Release Notes Release Notes for Fedora 15 Edited by The Fedora Docs Team Copyright © 2011 Red Hat, Inc. and others. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. For guidelines on the permitted uses of the Fedora trademarks, refer to https:// fedoraproject.org/wiki/Legal:Trademark_guidelines. Linux® is the registered trademark of Linus Torvalds in the United States and other countries. Java® is a registered trademark of Oracle and/or its affiliates. XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries. All other trademarks are the property of their respective owners.
    [Show full text]
  • Camcorder Multimedia Framework with Linux and Gstreamer
    Camcorder multimedia framework with Linux and GStreamer W. H. Lee, E. K. Kim, J. J. Lee , S. H. Kim, S. S. Park SWL, Samsung Electronics [email protected] Abstract Application Applications Layer Along with recent rapid technical advances, user expec- Multimedia Middleware Sequencer Graphics UI Connectivity DVD FS tations for multimedia devices have been changed from Layer basic functions to many intelligent features. In order to GStreamer meet such requirements, the product requires not only a OSAL HAL OS Layer powerful hardware platform, but also a software frame- Device Software Linux Kernel work based on appropriate OS, such as Linux, support- Drivers codecs Hardware Camcorder hardware platform ing many rich development features. Layer In this paper, a camcorder framework is introduced that is designed and implemented by making use of open Figure 1: Architecture diagram of camcorder multime- source middleware in Linux. Many potential develop- dia framework ers can be referred to this multimedia framework for camcorder and other similar product development. The The three software layers on any hardware platform are overall framework architecture as well as communica- application, middleware, and OS. The architecture and tion mechanisms are described in detail. Furthermore, functional operation of each layer is discussed. Addi- many methods implemented to improve the system per- tionally, some design and implementation issues are ad- formance are addressed as well. dressed from the perspective of system performance. The overall software architecture of a multimedia 1 Introduction framework is described in Section 2. The framework design and its operation are introduced in detail in Sec- It has recently become very popular to use the internet to tion 3.
    [Show full text]
  • Content Project V7 English
    Content Project V7 English Public Computer Entrepre- Climate Program- Solar Water Tech Leadership Agriculture Recycling Education neurship Change ming Energy Literacy Health Potential and Growth CD3W Videos BFOIT CD3W IEARN We Recycle Business Lessons Introduction Resources CD3W CD3W Resources Getting Where GirlRising Resources Resources Readings to on Solar Started with Class UNGEI How to Set Computer Energy on Water There Is No and Ubuntu Manage- Doctor Peace Up Nat’l Geo Program- 10.04 ment STEM Computer a Climate.gov ming Sanitation Corps UNESCO Khan Academy Books Refurbishing CLEAN Getting Empowering Center and more UN Lesson HIV/AIDS WikiSlice Plans on Started with Girls Library Ck-12 Textbooks Adrodok Water OpenOffice Intro to Computer Prog Empowering Medline Thinkersmith Vegetable How to Girls-School Computer Sci in a Box Garden Assemble a Computer Ubuntu Manual Life Skills Childhood LibreOffice Guides Healthy Illness Harvest Math Science Reference Writing Soc.Sci. Promoting Comp. for Class. Guidesl Powerful Health for People Health Wikipedia and Wikibooks Children Hesperian Health Guides Khan Video BlueMall Medline Learning Volunteer- Teach AIDS Khan Video Lessons Basic 20 Gigabytes with thousands of Health Medline Plus Lessons Spelling Center ism Activities for Language searchable articles using the Pop. Council Activities Ck-12 Kiwix offline wiki-reader Primary Gr. Ck-12 Textbooks Dictionary Common World Map Textbooks Sense Project HIV Toolkit Wiki HowTo Thousands of books for youth WikiSlice Compositio of all ages Unesco -Animals
    [Show full text]
  • The Gnome Desktop Comes to Hp-Ux
    GNOME on HP-UX Stormy Peters Hewlett-Packard Company 970-898-7277 [email protected] THE GNOME DESKTOP COMES TO HP-UX by Stormy Peters, Jim Leth, and Aaron Weber At the Linux World Expo in San Jose last August, a consortium of companies, including Hewlett-Packard, inaugurated the GNOME Foundation to further the goals of the GNOME project. An organization of open-source software developers, the GNOME project is the major force behind the GNOME desktop: a powerful, open-source desktop environment with an intuitive user interface, a component-based architecture, and an outstanding set of applications for both developers and users. The GNOME Foundation will provide resources to coordinate releases, determine future project directions, and promote GNOME through communication and press releases. At the same conference in San Jose, Hewlett-Packard also announced that GNOME would become the default HP-UX desktop environment. This will enhance the user experience on HP-UX, providing a full feature set and access to new applications, and also will allow commonality of desktops across different vendors' implementations of UNIX and Linux. HP will provide transition tools for migrating users from CDE to GNOME, and support for GNOME will be available from HP. Those users who wish to remain with CDE will continue to be supported. Hewlett-Packard, working with Ximian, Inc. (formerly known as Helix Code), will be providing the GNOME desktop on HP-UX. Ximian is an open-source desktop company that currently employs many of the original and current developers of GNOME, including Miguel de Icaza. They have developed and contributed applications such as Evolution and Red Carpet to GNOME.
    [Show full text]
  • This Is a Free, User-Editable, Open Source Software Manual. Table of Contents About Inkscape
    This is a free, user-editable, open source software manual. Table of Contents About Inkscape....................................................................................................................................................1 About SVG...........................................................................................................................................................2 Objectives of the SVG Format.................................................................................................................2 The Current State of SVG Software........................................................................................................2 Inkscape Interface...............................................................................................................................................3 The Menu.................................................................................................................................................3 The Commands Bar.................................................................................................................................3 The Toolbox and Tool Controls Bar........................................................................................................4 The Canvas...............................................................................................................................................4 Rulers......................................................................................................................................................5
    [Show full text]
  • Does That Look Right?
    Gregory Helmstetter Digital Preservation Final Project December 15, 2017 Does That Look Right? Playback Software in Digital Preservation With the ubiquity of digital files persisting throughout every aspect of modern life, from cell phone videos to time-based art to video preservation and archiving, one major question is often asked when playing back a digital file: Does that look right? This is an important question for several reasons. First, this is often the first question conservators, preservationists, or archivists ask when playing back video on any platform, whether it be in digital playback software or on analog machines. Second, as of the writing of this paper, I am frankly still questioning whether or not particular digital videos look the way they were intended to look and still questioning how software plays a role in the presentation of videos. And third, the results of this paper and the informal case study I conducted specifically to test playback software may generate more questions that conservators, et al, should ask when playing back digital files. This paper, therefore, will survey a number of playback software tools that archives rely on in quality control processes (particularly as they pertain to large-scale digital preservation workflows); it will consider the critical role that software plays when displaying digital content for preservation and quality control processes and how software is integrated into these workflows; and it will outline and address issues one might encounter when playing digital video files on different software. The Case Study First it will be beneficial to discuss from where this idea originated.
    [Show full text]
  • Video Compression Optimized for Racing Drones
    Video compression optimized for racing drones Henrik Theolin Computer Science and Engineering, master's level 2018 Luleå University of Technology Department of Computer Science, Electrical and Space Engineering Video compression optimized for racing drones November 10, 2018 Preface To my wife and son always! Without you I'd never try to become smarter. Thanks to my supervisor Staffan Johansson at Neava for providing room, tools and the guidance needed to perform this thesis. To my examiner Rickard Nilsson for helping me focus on the task and reminding me of the time-limit to complete the report. i of ii Video compression optimized for racing drones November 10, 2018 Abstract This thesis is a report on the findings of different video coding tech- niques and their suitability for a low powered lightweight system mounted on a racing drone. Low latency, high consistency and a robust video stream is of the utmost importance. The literature consists of multiple comparisons and reports on the efficiency for the most commonly used video compression algorithms. These reports and findings are mainly not used on a low latency system but are testing in a laboratory environment with settings unusable for a real-time system. The literature that deals with low latency video streaming and network instability shows that only a limited set of each compression algorithms are available to ensure low complexity and no added delay to the coding process. The findings re- sulted in that AVC/H.264 was the most suited compression algorithm and more precise the x264 implementation was the most optimized to be able to perform well on the low powered system.
    [Show full text]
  • 2.5 Gstreamer
    VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND MULTIMEDIA SROVNÁNÍ MULTIMEDIÁLNÍCH FRAMEWORKŮ COMPARISON OF MULTIMEDIA FRAMEWORKS BAKALÁŘSKÁ PRÁCE BACHELOR‘S THESIS AUTOR PRÁCE ZDENKO BRANDEJS AUTHOR VEDOUCÍ PRÁCE ING. DAVID BAŘINA SUPERVISOR BRNO 2016 Abstrakt Cílem této práce je vytvořit srovnání nejznámějších multimediálních frameworků podle podporovaných platforem, formátů a využití. Seznámit se s multimediálními frameworky a jejich knihovnami pro práci s multimédii. Konkrétně se jedná o Video for Windows, DirectShow, Media Foundation, FFmpeg, GStreamer, xine a QuickTime. Detailně popsat jak jednotlivé technologie fungují včetně jejich architektury. Vytvoření webového tutoriálu, kde se uplatní teoretické znalosti při tvorbě přehrávačů. Abstract The aim of this work is to create a comparison of the most famous multimedia frameworks according to supported platforms, formats and usage. To familiarize with a multimedia frameworks and their libraries for work with multimedia. Concretely with Video for Windows, DirectShow, Media Foundation, FFmpeg, GStreamer, xine and QuickTime. Describe in detail, how separate technologies work including their architectures. Building web tutorial, where will apply theoretical knowledge during creating players. Klíčová slova Multimédia, framework, Video for Windows, DirectShow, GStreamer, FFmpeg, xine, QuickTime, Media Foundation, srovnání, tutoriál, přehrávač, graf filtrů, řetězení. Keywords Multimedia, framework, Video for Windows, DirectShow, GStreamer, FFmpeg, xine, QuickTime, Media Foundation, comparison, tutorial, player, filter graph, pipeline. Citace BRANDEJS, Zdenko. Srovnání multimediálních frameworků. Brno, 2016. 20 s. Bakalářská práce. Vysoké učení technické v Brně, Fakulta informačních technologií. Vedoucí práce David Bařina. Název bakalářské práce v jazyce práce Prohlášení Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně pod vedením Ing.
    [Show full text]
  • LIFE Packages
    LIFE packages Index Office automation Desktop Internet Server Web developpement Tele centers Emulation Health centers Graphics High Schools Utilities Teachers Multimedia Tertiary schools Programming Database Games Documentation Internet - Firefox - Browser - Epiphany - Nautilus - Ftp client - gFTP - Evolution - Mail client - Thunderbird - Internet messaging - Gaim - Gaim - IRC - XChat - Gaim - VoIP - Skype - Videomeeting - Gnome meeting - GnomeBittorent - P2P - aMule - Firefox - Download manager - d4x - Telnet - Telnet Web developpement - Quanta - Bluefish - HTML editor - Nvu - Any text editor - HTML galerie - Album - Web server - XAMPP - Collaborative publishing system - Spip Desktop - Gnome - Desktop - Kde - Xfce Graphics - Advanced image editor - The Gimp - KolourPaint - Simple image editor - gPaint - TuxPaint - CinePaint - Video editor - Kino - OpenOffice Draw - Vector vraphics editor - Inkscape - Dia - Diagram editor - Kivio - Electrical CAD - Electric - 3D modeller/render - Blender - CAD system - QCad Utilities - Calculator - gCalcTool - gEdit - gxEdit - Text editor - eMacs21 - Leafpad - Application finder - Xfce4-appfinder - Desktop search tool - Beagle - File explorer - Nautilus -Archive manager - File-Roller - Nautilus CD Burner - CD burner - K3B - GnomeBaker - Synaptic - System updates - apt-get - IPtables - Firewall - FireStarter - BackupPC - Backup - Amanda - gnome-terminal - Terminal - xTerm - xTerminal - Scanner - Xsane - Partition editor - gParted - Making image of disks - Partitimage - Mirroring over network - UDP Cast
    [Show full text]
  • The Official Ubuntu Book
    Praise for Previous Editions of The Official Ubuntu Book “The Official Ubuntu Book is a great way to get you started with Ubuntu, giving you enough information to be productive without overloading you.” —John Stevenson, DZone book reviewer “OUB is one of the best books I’ve seen for beginners.” —Bill Blinn, TechByter Worldwide “This book is the perfect companion for users new to Linux and Ubuntu. It covers the basics in a concise and well-organized manner. General use is covered separately from troubleshooting and error-handling, making the book well-suited both for the beginner as well as the user that needs extended help.” —Thomas Petrucha, Austria Ubuntu User Group “I have recommended this book to several users who I instruct regularly on the use of Ubuntu. All of them have been satisfied with their purchase and have even been able to use it to help them in their journey along the way.” —Chris Crisafulli, Ubuntu LoCo Council, Florida Local Community Team “This text demystifies a very powerful Linux operating system . In just a few weeks of having it, I’ve used it as a quick reference a half-dozen times, which saved me the time I would have spent scouring the Ubuntu forums online.” —Darren Frey, Member, Houston Local User Group This page intentionally left blank The Official Ubuntu Book Seventh Edition This page intentionally left blank The Official Ubuntu Book Seventh Edition Matthew Helmke Amber Graner With Kyle Rankin, Benjamin Mako Hill, and Jono Bacon Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks.
    [Show full text]
  • Developing Multimedia Applications with DCCP
    BEFN$?FN DCCP ;\m\cfg`e^dlck`d\[`XXggc`ZXk`fejn`k_;::G :FE><JK@FE :FEKIFC 8eeX#=fkfc`X The DCCP protocol gives multimedia developers a powerful alternative to TCP and UDP. BY LEANDRO MELO DE SALES ver the past few years, develop- In this article, I examine the DCCP DCCP inherits the connection-oriented ers have unveiled a new genera- protocol and show how to enable DCCP and congestion-control features from Ftion of network applications that in Linux. Also, I will explain how to use TCP, and, from UDP, DCCP inherits unre- transmit and receive multimedia content the GStreamer DCCP plugin to create a liable transmission. over the Internet. New multimedia appli- simple client-server DCCP application. In addition to connection-oriented and cations based on technologies such as DCCP was first introduced by Kohler congestion-control features, TCP provides Voice over IP, Internet radio, online gam- et al. in July 2001 at the IETF transport reliable data transfer. This reliability fea- ing, and video conferencing are becom- group. The DCCP protocol provides spe- ture limits the transmission rate for a ing increasingly popular thanks to the cific features designed to address some given connection. When packets are lost, availability of development libraries and of the problems developers have faced TCP decreases its transmission rate, and it the abundance of high-speed networks. writing multimedia applications with increases the transmission rate again In the past, most Internet applications TCP and UDP, such as delay and jitter when it sends packets successfully. To have used either the Transmission Con- caused by network congestion.
    [Show full text]