Morning Schedule:
Tutorial 1 – Introduction to UPnP - Michael Jeronimo and Jack Weast
Tutorial 2 – Introduction to Interactive DTV Middleware (MHP/OCAP)
Tutorial 3 – Project JXTA Tutorial
Tutorial 4 – Evolution of Cable TV Access Technologies and Architectures toward Fiber-To-The-Home (FTTH)

Afternoon Schedule:

Tutorial 5 – Advanced UPnP Topics
Tutorial 6 – Building applications with the OSGi specifications
Tutorial 7 – Networked Appliances - What they are, how they work and challenges to adoption
Tutorial 8 – Session Initiation Protocol

Tutorial 1

Introduction to UPnP - Michael Jeronimo and Jack Weast

We believe networked devices should be as easy for consumers to set up as stereo equipment—when you plug it in and turn it on, it just works. Universal Plug and Play technology can help make this happen. UPnP devices will provide new levels of automation and ease of use and will enable new usage models in the home and small office. Imagine being able to use your home PC as a control center from which you can direct audio or video content (music, movies, and so on) from the Internet or your hard drive to play on your stereo or TV. Or imagine sitting on your couch with friends and family viewing your latest vacation pictures on your TV – a slide show streamed directly from your PC. Digital content, broadband access, and wired and wireless home networks are ushering in a new digital media age that will make such things possible.
The tutorial is intended for technical professionals – those who just want to understand UpnP and those that also must implement UPnP devices. It provides a detailed look into the various protocols that comprise UPnP, including GENA, SOAP, SSDP, and Auto-IP. During the tutorial we’ll walk attendees through the development of a fully functional UPnP device, a "Super Toaster" and corresponding controlling application. At each step, we’ll cover the theory behind each protocol and the code needed to implement it. Attendees should be familiar with the C programming language and basic network programming concepts and protocols. We’ll provide a CD-ROM of course materials (PDF files of course slides, software, etc)


Part I – The Basics

It Just Works. We’ll begin the tutorial by providing an orientation to the world of UPnP, such as where it came from, why it was created, and what it does.
UPnP Concepts: We’ll cover basic UPnP concepts, such as control points, devices, and services, and will introduce other common UPnP jargon. We’ll also discuss the UPnP object model, showing the relationships between the various objects. We’ll also give the big-picture overview of the UPnP protocol stack.
The Technical Foundation UPnP is built upon many existing protocols and standards including URIs, HTTP, XML, the Document Object Model, and IP Multicast. We’ll review these topics to provide a working understanding needed for the rest of the tutorial.
Introducing The UPnP Super Toaster we’ll define a sample UPnP device that we will work with during the tutorial, taking it from concept to fully functional implementation.
Choosing a UPnP SDK we’ll provide a brief survey of some of the UPnP SDKs available, including Intel’s open source UPnP SDK.

Part II – The Protocols
Addressing: How a UPnP device automatically acquires an IP address. We will discuss the operation of the Dynamic Host Configuration Protocol (DHCP) used by devices to acquire an address in a managed network environment. We’ll then cover the Auto IP protocol – a method used by devices in the absence of a DHCP server that specifies how the UPnP device chooses an IP address from a set of reserved addresses.
Discovery: How devices announce their presence and are discovered by control points. We’ll present an overview of the discovery process, including the general problem of discovery of network-based resources. We’ll then take a look at the service discovery protocol adopted for use by UPnP, the Simple Service Discovery Protocol (SSDP) and elaborates on discovery in UPnP – how UPnP devices use SSDP to advertise their services and to discover other UPnP devices and services.
Demo: Adding device discovery to your device. In this demo, we’ll walk through the creation of a device description document for the sample Super Toaster device and introduce the UPnP SDK APIs needed to programmatically support device discovery.
Description: How a device provides information about itself We’ll discuss the format of the XML documents used to describe UPnP devices and the services they provide, and how client programs learn about the devices and invoke actions on the services by retrieving and parsing these documents.
Control: Invoking actions on devices describes the network-based remote procedure call mechanism used by clients to invoke the services provided by UPnP devices, the Simple Object Access Protocol (SOAP). The chapter details the control messages and responses of the protocol as well as the data representation it uses to encode function parameters.
Demo: Defining device services and handling actions. In this demo we’ll define the UPnP Super Toaster device and service description documents and show how to implement support for UPnP actions.
Eventing: Providing information about device state changes describes how clients are notified of state changes in the services provided by UPnP devices – both the XML format used to describe the messages themselves and the General Event Notification Architecture (GENA) protocol used to carry the messages. The chapter introduces the concept of state variables associated with a service, showing how clients can register to be informed of changes to these variables, and how eventing allows for a dynamic, interacting network of devices.
Demo: Handling subscriptions and providing events This demo completes the services defined in the previous lab by adding support for subscriptions. We’ll also show how subscriptions relate to state variables and events.
Presentation: Providing a web page to control your device. We’ll show how a UPnP device may provide a Web page for browser-based control of its operation, allowing users to interactively control the device and view its status.
Demo: Adding a presentation page. This lab adds the last bit of functionality to our device: its presentation page.

Part III – Conclusion
Putting it All Together summarizes the process we’ve taken to arrive at a fully functional UPnP Super Toaster, focusing on what we’ve learned, pitfalls we’ve encountered along the way, what we can do to improve our device, and where to go for more information.

Michael Jeronimo has been a developer for 14 years and is currently a software architect at Intel Corporation. Michael is at the forefront of advancing the PC in the home of the future and has been active in evangelizing the UPnP standard, including a role in the Remote I/O working committee in the UPnP Forum. His product expertise includes compilers, security, networking, software architecture, design patterns and human-computer interaction. Michael has four patents pending for Intel and has been actively involved in standards development with groups such as DMTF, IETF and the UPnP Forum.

Jack Weast
is a senior software engineer at Intel Corporation and leads the development of UPnP-based devices for media distribution within the "Digital Home." Jack’s work has ranged from solving laptop power management and mobility issues to developing Bluetooth and Intel XScale-based embedded Linux devices. As a developer involved with emerging technologies that extend the PC’s role in the home, Jack has spoken at a variety of events, including the Intel Developer Forum.

Tutorial 2

Advanced UPnP Topics - Michael Jeronimo and Jack Weast

In this session, we will present a set of advanced UPnP topics, including best practices to follow for developers of UPnP devices, information about related technologies, and details about specific standardized UPnP device types.
The best practices include optimization hints for UPnP device implementations, and how to test and validate your UPnP device – both the tools to use as you’re developing it, and how to ensure your device is compliant to the UPnP device requirements. Related technologies include Microsoft’s Simple Control Protocol (SCP) for resource-limited networking devices such as switches and lamps.
Coverage of specific UPnP standards includes UPnP A/V ( both the set of standards itself, and how to add A/V support to your device), the UPnP Internet Gateway Device (IGD), and UPnP Security.

UPnP Audio/Video: We will begin the advanced session by explaining the UPnP A/V architecture, including the UPnP A/V Media Server, UPnP A/V Media Renderers, and UPnP A/V Control Points, and how UPnP A/V devices and services are used to distribute and manage content withing the home.
Code: Adding A/V Support to Our Device. We’ll then demonstrate the code needed to incorporate A/V support into an existing UPnP device. In particular, we’ll add the ability to play audio files to the UPnP device we developed in the Introduction to UPnP tutorial.
Code: Optimizing Your Device Implementation. We’ll share some hard-earned tips and techniques for optimizing your UPnP device implementation.
Test/Validation of UPnP Devices: We’ll share best practices regarding testing tools and strategies for validating UPnP device implementations.
Simple Control Protocol (SCP): Not all devices have the luxury of a full networking stack and embedded RTOS. Think of a light switch, or table lamp. Through the home electrical network and a technology from Microsoft called SCP, these devices can interoperate with their more fully featured UPnP counterparts. This part of the tutorial will cover the basics of SCP, introducing attendees to the protocol its relation to the UPnP Device Architecture.
UPnP Internet Gateway Device We’ll introduce attendees to the set of Internet gateway specifications - the UPnP Internet Gateway Device (IGD) - including coverage of its services and usage models.
UPnP Security Assuming the spec is publicly ratified by the conference, we’ll give an overview of the UPnP security model.

Michael Jeronimo has been a developer for 14 years and is currently a software architect at Intel Corporation. Michael is at the forefront of advancing the PC in the home of the future and has been active in evangelizing the UpnP standard, including a role in the Remote I/O working committee in the UPnP Forum. His product expertise includes compilers, security, networking, software architecture, design patterns and human-computer interaction. Michael has four patents pending for Intel and has been actively involved in standards development with groups such as DMTF, IETF and the UPnP Forum.

Jack Weast
is a senior software engineer at Intel Corporation and leads the development of UPnP-based devices for media distribution within the "Digital Home." Jack’s work has ranged from solving laptop power management and mobility issues to developing Bluetoothand Intel XScale-based embedded Linux devices. As a developer involved with emerging technologies that extend the PC’s role in the home, Jack has spoken at a variety of events, including the Intel

Tutorial 3

Building applications with the OSGi specifications - Peter Kriens

The purpose of the tutorial is to enable people to develop Java applications that can be networked and remotely managed using the OSGi specifications. The tutorial will assume some Java skills, but can be attended without any prior knowledge of the OSGi specifications.

The tutorial is "hands on". This means that the attendants will have to make a number of exercises, resulting in a real application running on their own laptop. All components necessary to do this are included in the tutorial material.

– The tutorial starts with an introduction to the OSGi Release 3 Service Platform specifications. The tutorial speaker has played a significant role in the development of these specifications (as well as Release 1 and 2) and can thus answer most questions about these specifications. The OSGi specifications consists of a large number of components and each component is briefly discussed with its ins and outs.
– After this introduction, the core principles that guided the development of the core OSGi specification, the framework, are explained. What was the reason to choose Java? What is the essential functionality?
– Enabling applications to be remotely deployed in a running environment is significant different than applications that run under direct user control. The OSGi specification introduces a number of concepts to manage these life cycle issues: The bundle, services, the service registry, and the sharing of Java packages.
– Several Java application models (MIDP, XLet, Applet, EJB) assume a rather simple Java runtime environment where packages/classes cannot be shared. The OSGi bundles can, however, share packages. This sharing is a powerful and high performance mechanism but introduces a number of issues that are extensively discussed.
– The major problem that OSGi applications face is the fact that bundles might go away at any time because they are uninstalled or updated. This is the key reason for the OSGi service registry and the extensive eventing mechanism. The registry is like a blackboard where service suppliers and service consumers can discover each other an cooperate without causing tight coupling.
– The service registry is a powerful tool that enables many very interesting and elegant patterns. In certain cases, solutions using the OSGi service registry can be simpler than straight Java based solutions, event though these solutions fully support the OSGi life cycle model.
– An example is the so called "white board" pattern that almost completely decouples the bundles that participate in a collaboration.
– However, the life cycle model introduces a more complex programming model than plain Java. To offset this complexity, the OSGi specifications contain a number of tools to reduce the complexity of this dynamism. Specifically the ServiceTracker that simplifies the handling of services. This very important component is extensively discussed in the tutorial.
– A life cycle controlled framework implicitly assumes an associated management standard. The OSGi specifications do not prescribe a single management communication protocol but focused instead on a management API. Such a management API combined with a network deployment model à la OSGi provides the required vendor-neutral inter-operability between management system and OSGi Service Platforms. In the tutorial it is explained how this works and, if time permits, an exercise is made.
– During the discussion of the OSGi specifications, key concepts are exercised by making a small sample program using Eclipse. All exercises together create a program that displays from, and broadcasts messages to, the network. This application will be full, and correctly implemented using the OSGi Log service, HTTP service, the service tracker and the OSGi Framework.

Peter Kriens is currently the OSGi Director of Technology. During the eighties, he was the key architect for the development of large scale, distributed editorial systems. In 1990 he started a software consultancy company: aQute. In 1992 he was consulting almost full-time to Ericsson Eurolab in Aachen. This work led to a project for the GSM management system, for which he moved to Sweden in 1994. In 1997 he was asked to work at Ericsson Research in Stockholm on 3D User Interfaces. A later research project, on home servers, led to the involvement in Ericsson e-services (e-box). He participated in the start-up of the Connected Alliance, the predecessor of the OSGi and helped developing the OSGi specifications. First as JPEG member and later as co-chair of CPEG. In 2001 he was asked to work as OSGi Technology Officer, specifically managing the specifications process. He is currently managing the technical work of the OSGi, giving workshops, and assisting Deutsche Telekom.

Tutorial 4

Introduction to Interactive DTV Middleware (MHP/OCAP) – Bill Foote

This tutorial offers an overview of the Multimedia Home Platform standard for interactive digital television, and other related standards. MHP's core is shared by other iDTV standards and specifications, such as CableLabs OCAP, ATSC/DASE and the ARIB AE; this relationship will be explored. The home television set holds the promise of becoming a gateway for interactive services into the home. To enable this, a standard that guarantees interoperability in a heterogeneous receiver population is essential. MHP and MHP-derived standards offer just this. This tutorial will explain the technical fundamentals of these important standards and place them in context in the emerging consumer electronics landscape.

- What is Digital Television?
- What is iTV?
- Broadcast Infrastructure
- Who is DVB?
- History of MHP
- Relationship to other standards
- Considerations of Java Virtual Machine Implementation
- The Role of XML and HTML
- Application Model
- Security in a Broadcast Environment
- Graphics Model
- Control of Streaming Media
- Service Information
- Object Carousel
- Synchronizing to Video (broadcast "triggers")
- IP Return Channel
- Receiver Conformance and Conformance Testing
- Delivery of Video over IP
- Integration with Personal Video Recorders

Bill Foote has been with JavaSoft and Sun Microsystems for over five years. Beginning with the HotJava Browser, he has worked exclusively on media technologies and small-footprint platforms. Since 1999 he has focused on interactive television technologies and standards, such as JavaTV and DVB-MHP. He is chair of the MHP Umbrella Group, which sets the terms of adoption of the MHP standard globally, into markets like the US and Japan. He has also been a key participant in the development of the OCAP specification, and deeply involved in the effort to harmonize the ATSC-DASE and OCAP specifications.

Tutorial 5

Project JXTA Tutorial – James Todd

Project JXTA (http://www.jxta.org) is an open network programming platform to enable peer-to-peer (P2P) services and applications. Developers and software vendors can freely use the JXTA Open Source technology to build secure, interoperable P2P applications that can run on any connected device from servers to hand-held devices.
The Project JXTA Tutorial will guide the participants through a complete JXTA overview including project history, problem domain, feature set and available resources. Subsequently, the various JXTA projects will be touched upon with an emphasis on the core projects, namely Platform and Shell. As a result, the class participant will be able to obtain and run the specified core projects. Lastly, a number of developer focused exercises will be explained touching upon JXTA Peer configuration, initialization, queries, etc.
Attendees will develop a clear understanding of programming distributed systems, the status, available resources, and future direction of JXTA technology, as well as information about the jxta.org Open Source community. Project JXTA technology is both language and protocol agnostic. Our reference implementation is written in Java(TM), so we will be covering both Java 2 Platform, Standard Edition (J2SE)(TM) for desktops and servers and Java 2 Platform, Micro Edition (J2ME)(TM) for smaller devices such as PDAs and cell phones.

- Learn about P2P-style programming of distributed systems including hand-held devices
- Examine new opportunities for P2P style distributed solutions
- Learn technical details about Project JXTA
- Discover the latest information about Project JXTA status, resources, and direction
- See demonstrations of example JXTA solutions
- Learn about development and business resources available
- Learn how to participate in the Open Source effort at jxta.org
- Influence the future direction of Project JXTA


James Todd is a member of the Project JXTA Engineering team at Sun Microsystems. As such, he worked with the core Project JXTA technologies and interacts with the overall JXTA community. Outside of core JXTA work James works on MyJXTA(2) in addition to other emerging JXTA opportunities. James worked on Tomcat/Servlet 2.2 in preparation for the initial J2EE beta and concurrent release to the Apache organization. James has designed, developed and deployed several online business initiatives, namely: Software Download Center, EReg and License Distribution.

Tutorial 6

Networked Appliances - What they are, how they work and challenges to adoption – Dave Marples

As computing power becomes more ubiquitous we can reasonably expect it to move from desktop behemoths down to the individual gadgets that already fill our lives - the networked toaster has long been used as an example of the kind of device that might receive network functionality in the fullness of time, but prior to that the TV Remote, the HiFi or the Central Heating/Air Conditioning systems are all better candidates for the addition of network functionality.
While the utility of adding a network connection to a toaster might reasonably be called into question there could be significant advantages from having many devices in your home connected together – burglar alarms that can use your house lighting system, home entertainment systems that can co-ordinate with your curtains or perhaps something as simple as being able to query the electricity, water or gas consumption of your home and the devices in it are all interesting and compelling applications of this kind of technology.
This tutorial will answer the question of what is a Networked Appliance and will go on to give use cases and practical examples of where we might typically expect to find them. It will then go on to discuss the constraints and capabilities of the early devices that we see in the market today, highlighting the limitations of the technology that is available. It will then discuss the work that is progressing to address some of these limitations in many fora including the OSGi, IETF and other places, with specific examples of how technologies such as SIP for Appliances can be applied to the problems we foresee before concluding with a vision of a possible future with multiple, integrated, devices in heterogeneous network environment communicating and interworking seamlessly with the other devices around them.


Dave Marples (dave@marples.net) is Chief Scientist in the Network Systems Research Lab at Telcordia Technologies of Morristown, NJ where has has worked since 1999 apart from a spell with Global Inventures Inc, where he was responsible for the management of the Open Services Gateway Initiative (OSGi). He was responsible for the development of the Networked Appliance research program at Telcordia and is now working in the field of vehicle telematics and mobile devices. He has extensive experience of startup and venture capital funded organizations and was previously the CTO of a UK technology startup. He has also worked for the Advanced Technology Group of GPT Ltd, Nottingham, England. His formal training is in electronics and communications engineering and he has B.Eng (Hons.) and M.Eng degrees from Bradford University, England.
His Ph.D. is from Strathclyde University, Scotland. He is an Industrial Fellow of the Royal Commission for the Exhibition of 1851, a Fellow of the OSGi and is Honorary Professor of Communications at Stirling University, Scotland. His current research interests include novel user interfaces for communications devices and exploiting the processing capabilities of modern mobile phones.

Tutorial 7

Evolution of Cable TV Access Technologies and Architectures toward Fiber-To-The-Home (FTTH) – Shlomo Ovadia

The purpose of this tutorial is to provide a step-by-step technical introduction to the on-going evolution of cable TV access technologies and architectures toward Fiber-To-The-Home (FTTH). Historically, cable TV networks were broadband coaxial networks that offered one-way broadcast of analog video channels. Thus, the tutorial starts with the explanation of the cable TV spectrum and key parameters for analog video signals. Next, the basic one-way and two-way fiber/coax architecture architectures with key network elements such as 1310-nm/1550-nm laser transmitters, AM/QAM modulators and demodulators, optical receivers, RF cables and amplifiers, are explained. Then, the key downstream and upstream impairments in HFC networks are explained in terms of their impact on the network performance. The basic return-path technology and network architecture using either frequency-stacking or digital return scheme to mitigate ingress noise are then explained. Which return-path technology to select? Deployment cost comparison of the different technologies is summarized. To access the available analog /digital video and data services, we discuss the architecture and operation of the key consumer access equipment, namely, cable modem and digital set-top box. To satisfy the growing needs for more bandwidth-demanding applications, broadband cable-TV networks are evolving toward Fiber-To-The-Home (FTTH) architecture. The emerging technology and architecture trends, including passive optical network (PON), switched Ethernet, and Fiber-To-The-Curb (FTTC) are discussed. Finally, we discuss the global perspective of the evolution of these broadband networks.


Downstream & upstream hybrid fiber/coax network architecture
Cable-TV spectrum & key parameters (i.e., CNR, CSO, CTB, XM)
- Analog and digital video signals
- Subcarrier multiplexing of analog & digital video channels
- Key cable TV network elements

Downstream cable TV transmission impairments
- Clipping-induced nonlinear distortions
- Bursty nonlinear distortion (i.e., CSO and CTB)
- Multiple optical & electrical reflections
- Optical fiber nonlinear effect

Return-path cable TV impairments
- Ingress noise
- Impulse & Burst noise
- Noise funneling

Advanced cable-TV network architecture (DWDM)

Frequency stacking return-path scheme (FSS) technology & network architecture
- Basic FSS building blocks
- FSS architectures

Digital return-path transport technology and architecture
- Basic digital return building blocks
- Digital return architectures

Which return-path technology to select?
- Noise Power Ratio (NPR) & Dynamic Range (DR)
- Performance comparison among the different technologies

Deployment cost comparison of different return-path architectures

Consumer access equipments
- Cable modem architecture and operation
- Digital set-top box architecture and operation

What are the emerging technology trends toward FTTx?
- Passive optical network (PON) basics
- Fiber-To-The-Curb (FTTC) architecture
- Fiber-To-The-Home (FTTH) architecture & technology

Global perspective on FTTx evolution

Shlomo Ovadia has earned his B.Sc. in Physics from Tel-Aviv University in 1978, and his M.Sc. and Ph.D. in Optical Sciences from the Optical Sciences Center, University of Arizona in 1982 and 1984, respectively. He spent two years as a postdoctoral fellow at the electrical engineering department, University of Maryland investigating different III-V optoelectronics materials and devices. In 1987, Shlomo joined IBM at East Fishkill as an optical scientist developing various IBM optical communications and storage products. He joined Bellcore in 1992, where he developed an HFC test-bed, and studied the transmission performance of multichannel AM/QAM video transmission systems. As a project manager and a senior scientist, Shlomo provided technical analysis and consulting services to the Regional Bell Operating Companies as well as to various cable TV equipment vendors. In 1996, Shlomo joined General Instrument as a principal scientist in the Digital Network Systems division, where he was developing the next-generation communications products such as digital set-top boxes and cable modems. In April 2000, Shlomo joined Intel’s Cable Network Operation business unit in San Jose, California, as a principal system architect developing communication products such as CPU-controlled cable modems. He joined Intel Research in June 2001 as chief optical architect focusing on the architecture, design, and development of optical burst switching in enterprise networks based on Silicon-on-insulator (SOI) photonics components. Shlomo is the author of a recently published book titled Broadband Cable TV Access Networks: From Technologies to Applications (Prentice Hall, 3/2001). He is a Senior Member of IEEE/LEOS/COMSOC and a member of OSA with more than 60 technical publications and conference presentations. Shlomo also serves on the technical committees of many IEEE/LEOS conferences, and he is a regular reviewer for various IEEE/OSA publications such as Photonics Technology Letters and Journal of Lightwave Technology. He is the inventor of 28 patents, in which six patents were issued, and all the others are pending, and his personal biography is included in the Millennium edition of Who's Who in Science and Engineering (2000/2001).

Tutorial 8

Session Initiation Protocol – H. Charles Baker- Ph.D., P.E., Professor, Southern Methodist University

Session Initiation Protocol (SIP) is a next-generation Internet-based signaling system that is promulgated by the Internet Engineering Task Force (IETF). Interest in SIP is a worldwide phenomenon, with hundreds of companies in more than a dozen countries now developing SIP hardware, software, and applications. The relationship of SIP to communications over the Internet is similar to that of Signaling System #7 (SS7) to communications over the Public Switched Telephone Network (PSTN). SIP does not carry conversations, video conferences, or other communications signals, but it is the umbrella protocol under which a large number of protocols for Internet-based communications setup and clearing can coexist. Among these are Real-Time Protocol (RTP), Session Description Protocol (SDP), Resource Reservation Protocol (RSVP), and many others. SIP has been compared to the current generation H.323 for Voice over the Internet (VoIP). SIP is far more versatile, especially in providing new networking features, multipoint, and multicast capabilities, communications at different codec bit rates and companding/compression methods, negotiating QoS, and also providing non-voice communications. Voice connections through the Internet using SIP generally sound better than classical connections over the PSTN. For more information about SIP: http://www.sipforum.com

• Characterizing the Internet (speed, robustness, transit delays, etc.)
• Historic Problems with Voice (and other real-time communications) over the Internet
• What Session Initiation Protocol (SIP) is, and what it does
• SIP and Related Protocols, and their Relationship to TCP/IP and UDP/IP
• Why SIP Eliminates Past Performance Problems of VoIP
• Why SIP is a truly disruptive technology
• How you can try out SIP

H. Charles Baker holds a Ph.D. degree in Electrical Engineering, University of Texas (Austin), 1962, and MSEE and BSEE degrees from Southern Methodist University (Dallas), 1959 and 1956. He began his teaching career as an instructor at SMU in 1956, and began programming digital computers in 1957. He resigned his position of Associate Professor of Electrical Engineering and Computer Science in 1968, to join Exxon Company, USA, as Head of Development and Planning in its Headquarters Telecommunications Function. While at Exxon, he was exposed to, and help to solve, a wide variety of practical telecommunications problems on the ground, at sea, in the air, and by satellite. He left Exxon in 1979 and returned to SMU where he now teaches full-time in the Interdisciplinary Graduate Program in Telecommunications at SMU. His greatest teaching interests are in data communications protocols and Internet-related topics. During each fall and spring since the Spring Semester, 2002, he has taught a graduate-level course on Session Initiation Protocol. For more information: http://engr.smu.edu/~hbaker