Quality of Service Management for Multimedia Applications
ELG 5125 - Course Notes (Fall 2005)
This page will evolve as the course proceeds. I will indicate here
information about the concepts covered by the course and the corresponding reading material. In addition, I may provide some
detailed course
notes for certain parts of the course.
Note:
The references indicated
within << ... >> are not part of the course content.
They represent optional further readings.
Prerequisites
A bacc in computer engineering or, more specifically, the following:
- A course on computer networks and communication protocols
- A course on software engineering and some practical experience
in programming
- A certain maturity in relation with computer engineering
principles and practice (in particular, knowledge about resource management,
CPU scheduling, databases etc.)
Course content
Note: some general slides
shown in class can be found here .
- Background: Introduction to software architecture and
distributed systems
(2 lectures)
- Media encoding (2 lectures)
[Lu: Chapters 2 and 3 ]
(see also Media Encoding
course notes)
- Distributed multimedia applications and protocols
(3 lectures) (see Multimedia
Application Protocols )
- End-to-end quality of service requirements for multimedia
applications (presentational vs. interactive; point-to-point vs. multicasting) [Lu: Chapter
4 ] - see also figures from Lu:
receiver buffering, examples of
transmission delays (E1,
E2,
E3)
- Network and Transport level protocols
- IP, including multicast (IGMP, multicast routing and
MBone, an
experimental multicasting service running over the Internet) [S&N:
Section 6.2.3]
- TCP/UDP [Lu: Section 6.1 - 3];
varying end-to-end delay because of retransmission (see
setting of
retransmission timer, from Tanenbaum);
also "Congestion management, TCP slow-start and TCP-friendliness"
(see here)
- RTP [S&N: Section 6.5.2]
- IP-telephony: H.232 and SIP, SDP
- Mobility (device, user, session)
- Ubiquitous computing: overview of issues
- Quality of service - general principles
(1 lectures)
[S&N: Sections 2.2.1 -
4 and 2.4.2 - 3 ] (Course notes
summary)
- QoS issues in operating systems
(2 lectures)
[S&N: Sections3.1.1 -
5 (not 3.1.5.6 and 7), Section 3.3.2 , Sections 2.4.5, Section 3.5]
(Course notes summary)
- Multimedia servers
(1 lectures)
[Lu: Chapter 8 ] (Course notes
summary)
- Quality of service in networks (3 lectures)
(see Network
QoS )
- Review of networking architectures (optical and IP backbone;
local access networks; wireless networks)
- Flow-oriented switching: ATM [A&N:
Sections 5.2.6.1 - 3] and MPLS
- Transport quality categories and issues, ATM service categories
[A&N: Sections 5.4.2.4 - 7]
- Traffic characterization and control
[A&N: Sections 2.5.1 and 2.5.2]
- The Internet Integrated Service (for RSVP see
[A&N: Sections 6.4.1 and 6.4.4] )
- The Internet Differentiated Service
- MPLS and traffic management
- Global quality of service management (3 lectures)
(see course notes )
- Different dimensions of QoS parameters (presentation
qualities, cost, delay, reliability, security, quality of information,
etc.)
- QoS management at the application level
- Reservation principles [A&N: Section
2.4.6 and 2.5.5]
- Quantification of user preferences
- Integrating QoS concerns into the overall system architecture
- Examples of presentational and conversational applications
- The context of a mobile user using ad-hoc devices
- User perspectives and different optimization criteria
- Networked multimedia synchronization (2 lectures) [Lu: Sections 9.1 - 5 ; S & N: Section 8.1]
- Synchronization specification: how to specify the requirements
concerning the relative scheduling of different media items that are part
of a multimedia presentation [e.g. Lu, Section 9.2] (Note: a recently developed
standard notation for synchronization specification is SMIL )
- Synchronization accuracy: (a) different distributed multimedia
scenarios; (b) required accuracy; (c) analysis of causes for loosing synchronization
[e.g. Lu, Section 9.3]
- Mechanisms for media synchronization (see [Lu], Sections
9.4.1, 9.4.3, 9.4.4, 9.4.5, 9.4.8, 9.5)
- Distributed systems management and directories (2
lectures)
- Distributed systems management principles (you can find
some slides taken from
the book [Hege 94] H. G. Hegering and S. Abeck, Integrated Network and
System Management, Addison-Wesley, 1994)
- Different types of directories/databases:
- DNS and distributed directories (see for instance
here )
- LDAP (see
LDAP overview provided by the LDAP organization)
- CORBA directory, RMI directory. These directories are
used by CORBA and Java RMI, respectively, for obtaining a reference to
a remote object (in the form of a stub, see course notes on RPC above)
on which then a remote method call can be performed.
- The Java RMI directory is very simple. Such a directory
running on host X contains only references to object instances running
on that same host. Each object instance is identified by a name (unique
within that host) which is specified when the object instance is registered
in that directory. A client (on the same or a different host) has to
know this name and the host were the object instance resides in order
to query the directory and use the object instance.
- The CORBA directory is similar, except that a given CORBA
directory can store references to object instances residing in various
hosts. The name space within a CORBA directory is tree-structured, like
the name within a file system (e.g. mySystem / subSystem / objectInstanceName
).
- JINI directory. JINI is a Java service which includes
several functions. One of these functions is a directory for finding
object instances not by name, but according to the following criteria:
(a) the interface they provide, and (b) certain attribute values that
may characterize them (according to that interface). This functionality
is similar to what is called "trader" in the context of CORBA. JINI also
provides functions for leasing (reserving for a certain time period) of
registered object instances. This leasing concept is related to soft-state
protocols, since the leasing state will automatically disappear after a given
time period, similar to the soft state of a soft-state protocol which will
disappear if it is not renewed from time to time. Further information on
JINI can be found at SUN's
Jini web site and the Jini
community resource ; I suggest this
overview of Jini technology .
- Directories for Web Services and GRID applications
- Transaction management
- Other adaptation management issues
(2 lectures)
- Response-time management for server pools (see for an
overview Sections 1 and 2 in
this paper and for service differentiation here ) << a scheme for
load exchange between multiple brokers (possibly in different geographical
regions), each with their own server pool, is described in Chapter 6 of M. Salem's PhD thesis >>
- Special techniques (active networks, mobile agents) and
future outlook (Note: a good overview of`"programmable networks" and
"active networks" is given by Li Tang in his course project
of April 2000 )
- Presentation of student projects (4 lectures)
Last updated: September 5, 2005