Software. Networked multimedia. Buffering of media streams. Causes of multimedia. Browser based architecture. Programming

Similar documents
Interchange formats. Introduction Application areas Requirements Track and object model Real-time transfer Different interchange formats Comparison

INTEGRATION OF APPLICATIONS INTO DIGITAL TELEVISION ENVIRONMENT

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Advanced Lectures on knowledge Engineering

CS WEB TECHNOLOGY

Multicast. Introduction Group management Routing Real-time transfer and control protocols Resource reservation Session management MBone

System types. Distributed systems

Kommunikationssysteme [KS]

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Chapter 4 Communication

Computational Web Portals. Tomasz Haupt Mississippi State University

Shankersinh Vaghela Bapu Institue of Technology

Graphics Software Architecture for High- End Interactive Television Receivers

A DIGITAL TELETEXT SERVICE

Communication. Distributed Systems Santa Clara University 2016

XML Applications. Introduction Jaana Holvikivi 1

Streaming Audio and Video on the Web

Chapter 7 (Week 14) The Application Layer (CONTINUATION ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Lecture 5: Object Interaction: RMI and RPC

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Tema 0: Transmisión de Datos Multimedia

CS 218 F Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness. References:

Customer Network to Cisco WebEx Cloud IP Ranges for Firewall Settings

Skill Area 325: Deliver the Multimedia content through various media. Multimedia and Web Design (MWD)

EEC-682/782 Computer Networks I

4 rd class Department of Network College of IT- University of Babylon

Chapter 7. The Application Layer. DNS The Domain Name System. DNS Resource Records. The DNS Name Space Resource Records Name Servers

Internet Technologies for Multimedia Applications

Multimedia Networking

Chapter 7 Multimedia Networking


Lesson 5: Multimedia on the Web

Distributed Environments. CORBA, JavaRMI and DCOM

MPEG-4. Today we'll talk about...

MONitoring Agents using a Large Integrated Services Architecture. Iosif Legrand California Institute of Technology

Distributed Objects. Object-Oriented Application Development

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

Introduction and Overview Socket Programming Lower-level stuff Higher-level interfaces Security. Network Programming. Samuli Sorvakko/Nixu Oy

Digital television. Multimedia programming. Jaakko Alajoki Kaarlo Lahtela Vesa Tikkanen

Course Content for Java J2EE

Chapter 7: Multimedia Networking

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

IMS Client Framework for All IP-Based Communication Networks

1.264 Lecture 16. Legacy Middleware

DS 2009: middleware. David Evans

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Tizen Framework (Tizen Ver. 2.3)

Introduction. WWW history. Application concepts, WWW and HTTP Perspectives on (mobile) communications. Fredrik Alstorp Torbjörn Söderberg

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Introduction and Overview Socket Programming Higher-level interfaces Final thoughts. Network Programming. Samuli Sorvakko/Nixu Oy

RPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call

Electronic Payment Systems (1) E-cash

IT6503 WEB PROGRAMMING. Unit-I

IBM DB2 Web Query Tool Version 1.3

Agenda. Summary of Previous Session. XML for Java Developers G Session 7 - Main Theme XML Information Rendering (Part II)

Distributed Technologies - overview & GIPSY Communication Procedure

Chapter 20: Multimedia Systems

Chapter 20: Multimedia Systems. Operating System Concepts 8 th Edition,

KINGS COLLEGE OF ENGINEERING 1

Digital Asset Management 5. Streaming multimedia

XML BASED MOBILE SERVICES

Distributed Middleware. Distributed Objects

Multimedia. What is multimedia? Media types. Interchange formats. + Text +Graphics +Audio +Image +Video. Petri Vuorimaa 1

Multimedia Networking

Amber streams presentation

Programming HD DVD and Blu-ray Diso The HD Cookbook

Streaming Video over the Internet. Dr. Dapeng Wu University of Florida Department of Electrical and Computer Engineering

Lesson 5: Multimedia on the Web

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology

Today: Distributed Objects. Distributed Objects

Extreme Java G Session 3 - Sub-Topic 5 XML Information Rendering. Dr. Jean-Claude Franchitti

Part III: Survey of Internet technologies

Chapter 28. Multimedia

11. EXTENSIBLE MARKUP LANGUAGE (XML)

Distributed Systems. Bina Ramamurthy. 6/13/2005 B.Ramamurthy 1

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 14 Database Connectivity and Web Technologies

Integrating with EPiServer

Distributed Multitiered Application

DVB-HTML MIDP 2.0 Graphics Architectures for Non-Desktop Devices

MODELS OF DISTRIBUTED SYSTEMS

Appendix A - Glossary(of OO software term s)

Performance Evaluation of Java And C++ Distributed Applications In A CORBA Environment

The Umbilical Cord And Alphabet Soup

CapeConnect Three. Concepts

Introduction and Overview Socket Programming Higher-level interfaces Final thoughts. Network Programming. Samuli Sorvakko/Nixu Oy

Lecture 17: Distributed Multimedia

CAS 703 Software Design

Distributed Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems?

Transport protocols Introduction

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.

Advanced Networking Technologies

The Transport Layer: User Datagram Protocol

Introduction to Web Services & SOA

CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University

CompTIA i-net+ Certification Exam Objectives (

06/02/ Local & Metropolitan Area Networks 0. INTRODUCTION. 1. History and Future of TCP/IP ACOE322

Types and Methods of Content Adaptation. Anna-Kaisa Pietiläinen

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

Transcription:

1 Software Networked multimedia Introduction Browser based software architecture Distributed software Servers Network Terminals User interface Middleware Communications Network multimedia can be defined as multimedia applications and services, which are distribute into a network For example, www services, digital television, and WAP Petri Vuorimaa 1 Petri Vuorimaa 2 Causes of multimedia Multimedia has continuos media elements, which have to be synchronized Media is usually transferred as streams Inside the stream, the samples (audio sample, video frame, etc.) are in order Media streams can be synchronized + Internal synchronization: isocronous + External synchronization: synchronous Buffering of media streams It is impossible to synchronize media streams exactly Data transfer delay fluctuates, which causes jitter Human can detect even small fluctuation Fluctuation can be reduced with buffering Usually, buffering is required in several stages Petri Vuorimaa 3 Petri Vuorimaa 4 Programming There are two ways to implement distributed multimedia system: + client / server + distributed software Browser software architecture is typical example of client / server architecture Distributed software means usually distributing a object oriented software into a network Browser based architecture Internet applications are based on client / server architecture WWW browser is a typical client program WWW server is a typical server There can also be other servers (database, video on demand, video conference, etc.) In addition infrastructure servers are needed (proxies, directories, etc.) Petri Vuorimaa 5 Petri Vuorimaa 6

2 WWW architecture RealSystem WWW browser HTTP CGI/ Perl/ Java WWW server Business logic SQL RTSP Database Video server RealSystem is a typical example of client / server architecture The system can stream different media (audio, video, animations, etc.) The system is composed of development tools, intermediate servers, and client programs The basic version of the client software is free, but other software products are commercial Petri Vuorimaa 7 Petri Vuorimaa 8 RealSystem architecture Distributed software Object oriented software can easily be distributed to several computers Objects have to find each other somehow + directory service The method calls and replies of the objects have to be forwarded to the right computer + Object Request Broker (ORB) Commercial solutions are, e.g., OMG Corba, Microsoft DCOM &.NET, and Java RMI & Jini Petri Vuorimaa 9 Petri Vuorimaa 10 Corba architecture Components Dynamic invocation interface Client IDL stub ORB interface Dynamic skeleton interface ORB Core Object implementation IDL skeleton Object adapter Client and object implementation talk via ORB The interfaces are defined with IDL (Interface Description Language) Normally, the calls are made to the static stub, which forwards the call via skeleton to the object The implementation can also be dynamic Object register with the help of the adapter Petri Vuorimaa 11 Petri Vuorimaa 12

3 Example: lip synchronization In movies, the speech and lip movements have to be synchronized Let s implement lip synchronization as distributed application Example is from the book: + G. Blair & J-B Stefani, Open Distributed Processing and Multimedia, Addison-Wesley, 1998 Objects Stream interface Signal interface Media stream Signal R Reactive object Petri Vuorimaa 13 Petri Vuorimaa 14 Video and audio synchronization Software architecture implementation Video camera Video stream Video window R The software architecture can be implemented also on the system component level Multimedia affects both servers, network, and terminals Efficient implementation requires additional features and even full redesign of some components microphone Audio Stream Speaker Petri Vuorimaa 15 Petri Vuorimaa 16 Servers The servers can be classified into transaction (www, data base) and streaming servers (video) Scalability is most important feature of transaction servers + if necessary, the task can be divided for several servers (replication) Most important feature of streaming servers is real-time support + in practice, this means real-time scheduling Petri Vuorimaa 17 Disk scheduling The hard disk usage of video-on-demand servers have to be designed carefully Usually, the disk seek time and space consumption is optimize + thus data retrieval is based on fairness Video-on-demand server has to keep buffers full + real-time scheduling algorithms + relative location of files Petri Vuorimaa 18

4 Oracle video server Petri Vuorimaa 19 Network Network has to support multimedia transfer: + Quality of Service (QoS) + real-time media streams + scalability Resources have to be reserved for multimedia traffic +ATM QoS + IP Integrated Services + IP Differentiated Services Petri Vuorimaa 20 Network (cont.) Network protocols have to support real-time media streams + e.g., IP Real-Time Protocol (RTP), Real-Time Control Protocol (RTCP), and Real-Time Streaming Protocol (RTSP) In addition, the network has to support several simultaneous users + e.g., IP Multicast Terminals The biggest problem of terminals is limited resources: + processing power, memory, and communications Current operating systems support primarily graphical user interface Support for multimedia is more limited Real-time operating system support better multimedia Petri Vuorimaa 21 Petri Vuorimaa 22 Multimedia processing steps Receiving of packets Network drivers IP/UDP protocol Real-time transfer protocols Codec Player Windowing system Audio, video, etc. drivers Petri Vuorimaa 23 User interaction The terminal also has to track the user + keyboard + mouse +etc. The devices create interrupts The interrupts can easily jam with the network, etc. interrupts Petri Vuorimaa 24

5 Terminal software architecture Operating system The terminal software architecture can be implemented with several ways + operating system + drivers + windowing + browser + plug-in players +Java + XML browser Players Windowing Display driv. Application Codecs Operating system kernel Media protocols IP protocols Network drivers Display Hardware Network card Petri Vuorimaa 25 Petri Vuorimaa 26 Browser Java Browser Java JavaScript Stylesheets HTML ActiveX Plug-Ins RealPlayer VRML Application JMF AWT IO NET Application programming interfaces Java interpreter Operating system Petri Vuorimaa 27 Operating system Petri Vuorimaa 28 Java Media Framework JMF allows use of multimedia in Java applications Real-time network protocols Multiplexing Codecs Players Effects Capture Control Petri Vuorimaa 29 Multimedia Home Platform One example of Java environment is the Multimedia Home Platform (MHP) of digital television The environment is composed of Java, JMF, TV, net, etc. APIs Applications are called Xlets The Xlets are transmitted via broadcast network Data is transferred through so called data- and object carousels Petri Vuorimaa 30

Application Manager Set-top box resources caching Properties Properties Application manager XletContext Xlet Signal state changes AIT + code Object/Data carousel Petri Vuorimaa 31 Operating systems Real-time operating system In current software architectures, operating system has very important role Most of the media processing is done by calling system software Application acts as coordinator Data copying between application and operating systems causes problems Operating systems are poor resource managers Petri Vuorimaa Small size: extra features have been removed Interrupt processing: jamming prevented Real-time scheduling: time of task processing Memory management: shared memory Message forwarding: communication between different levels is fast Resource reservation: task will not be accepted, if resources are not available 35 Petri Vuorimaa 36 6

7 Microkernel Operating system becomes more compact, if all unnecessary features are removed + windowing, share file systems, etc. One solution is use so called Microkernel + the kernel of the operating system is as small as possible and real-time + other features are implemented as user processes + the required system can be composed from different components Embedded Linux Linux is an interesting alternative also in embedded devices Unnecessary features (e.g., X-Windows) can be removed so that memory consumption is reduced Implementation of real-time features in kernel is very difficult, but not always necessary For example, in set-top box hardware takes care of video and audio processing Petri Vuorimaa 37 Petri Vuorimaa 38 Multimedia services (GO-MM) Main results Communication Protocols Services Dynamic Quality of Service User Interface Real-Time Operating System Mobile multimedia software architecture Petri Vuorimaa 39 Operating system + Embedded Linux + Kaffe Java Virtual Machine Communication protocols + Integration of the different multimedia protocols User Interface + X-Smiles XML-browser Multimedia services Petri Vuorimaa 40 X-Smiles browser history Development of X-Smiles was started as student software project in 1998 The development has been continued in research projects GO and XML Devices Released as open source software in 2001 + www.x-smiles.org X-Smiles features XSL style sheets SMIL multimedia SVG graphics XForms forms XHTML and CSSstyle sheets User interfaces for different terminals Petri Vuorimaa 41 Petri Vuorimaa 42

8 General GUI MLFC specific GUI User interface and interaction MLFCs source tree MLFC MLFC XSL FO MLFC Presentation Rendering SMIL MLFC Config Presentation SVG MLFC Presentation Rendering ECMAScript interpreter + extensions Rendering Browser core functionality XML Processing XML Broker ECMAScript Handling Event Broker General Functionality Browser Configuration DOM Builder XML Parser XSL Processor DOM Interface SAX Interface User interfaces Petri Vuorimaa 47