An introduction to Service Discovery Protocols, with a closer view on the Service Location Protocol and Home Audio Video Interoperability



Similar documents
CHAPTER 1 INTRODUCTION

A COMPARISON OF SERVICE DISCOVERY PROTOCOLS AND IMPLEMENTATION OF THE SERVICE LOCATION PROTOCOL

Suitability of existing service discovery protocols for mobile users in an ambient intelligence environment

Mobile Devices: Server and Management Lesson 05 Service Discovery

Automatic Configuration and Service Discovery for Networked Smart Devices

How To Create A Service Discovery Protocol In Java (Java) And Other Networks

SERVICE DISCOVERY AND MOBILITY MANAGEMENT

Review: Lecture 1 - Internet History

SmartTV User Interface Development for SmartTV using Web technology and CEA2014. George Sarosi

Implementation of a Lightweight Service Advertisement and Discovery Protocol for Mobile Ad hoc Networks

UPnP Control Point for Mobile Phones in Residential Networks

Introduction to. Bill Rose: President, WJR Consulting, Inc. Chairman: CEA R7 Home Networking Committee CEA Technology and Standards Council

VIA COLLAGE Deployment Guide

VIA CONNECT PRO Deployment Guide

Session Initiation Protocol Deployment in Ad-Hoc Networks: a Decentralized Approach

Need for Signaling and Call Control

RESOURCE DISCOVERY IN AD HOC NETWORKS

The Ubiquitous Web, UPnP and Smart Homes

Mapping of Services on Bluetooth Radio Networks

Advanced Peer to Peer Discovery and Interaction Framework

Deploying QoS sensitive services in OSGi enabled home networks based on UPnP

Peer to Peer Search Engine and Collaboration Platform Based on JXTA Protocol

MINIMUM NETWORK REQUIREMENTS 1. REQUIREMENTS SUMMARY... 1

CHAPTER 6. VOICE COMMUNICATION OVER HYBRID MANETs

IPv6 over Power Line for the Digital Home

WebEx. Remote Support. User s Guide

HARTING Ha-VIS Management Software

Session Initiation Protocol (SIP) The Emerging System in IP Telephony

JSLEE and SIP-Servlets Interoperability with Mobicents Communication Platform

Detecting rogue systems

Position Paper for The Fourth W3C Web and TV Workshop. Mingmin Wang Oriental Cable Network

Implementing Intercluster Lookup Service

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Using AnywhereUSB to Connect USB Devices

How To Configure Voice Vlan On An Ip Phone

What communication protocols are used to discover Tesira servers on a network?

Do you know what makes NetSupport Manager so unique?

A Survey Study on Monitoring Service for Grid

Configure IOS Catalyst Switches to Connect Cisco IP Phones Configuration Example

District of Columbia Courts Attachment 1 Video Conference Bridge Infrastructure Equipment Performance Specification

GVRP Overview. Overview

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

Zeenov Agora High Level Architecture

SUPPORT GUIDE FOR USING WLAN AND UPNP

A Web Services Framework for Collaboration and Audio/Videoconferencing

Windows Server 2003 default services

How To. Instreamer to Exstreamer connection. Project Name: Document Type: Document Revision: Instreamer to Exstreamer connection. How To 1.

From Digital Television to Internet? A general technical overview of the- DVB- Multimedia Home Platform Specifications

HP Switches Controlling Network Traffic

Crestron Electronics, Inc. AirMedia Deployment Guide

Interoperability of Peer-To-Peer File Sharing Protocols

FabulaTech Products Advanced Communications Solutions

Figure 1 Sample WiseLink screens, showing MP3 music files (left) and photos (right) available as shared files from your networked PC or media server

Universal plug and play (UPnP) mapping attacks

ENABLING WIRELESS DATA COMMUNICATION IN CONSTRUCTION MANAGEMENT SYSTEM

Investigating Service Discovery, Management and Network Support for Next Generation Object Oriented Services

BroadCloud PBX Customer Minimum Requirements

A Distributed Architecture for Remote Service Discovery in Pervasive Computing

Unified Messaging and Fax

GadgetGatewayIa Configurable LON to IP Router and/or Remote Packet Monitor. ANSI (LonTalk ) and ANSI 852 (IP) standards based.

Upon completion of this chapter, you will able to answer the following questions:

Design and Implementation of Ad-hoc Communication and Application on Mobile Phone Terminals

Improving Quality in Voice Over Internet Protocol (VOIP) on Mobile Devices in Pervasive Environment

FarSync T2Ue. A 2 port PCI Express synchronous communications adapter

MEDIA CONTROL SERVER 2.0

Dissertation Title: SOCKS5-based Firewall Support For UDP-based Application. Author: Fung, King Pong

Intelligent Content Delivery Network (CDN) The New Generation of High-Quality Network

Technical Configuration Notes

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Qfiniti Enterprise and VoIP for Avaya. Qfiniti Enterprise and VoIP. An etalk Technical White Paper

Design and Implementation of Client Server Network Management System for Ethernet LAN

system monitor Uncompromised support for your entire network.

Windows Server 2012 R2 The Essentials Experience

The Cross-Media Contact Center

Broadband Forum - Remote Management Work

L-Series LAN Provisioning Best Practices for Local Area Network Deployment. Introduction. L-Series Network Provisioning

A Generic Database Web Service

Call Center Solution. From

Radio over IP A Manager s s Guide to the Technology

Fast remote data access for control of TCP/IP network using android Mobile device

Transcription:

An introduction to Service Discovery Protocols, with a closer view on the Service Location Protocol and Home Audio Video Interoperability Maxim Langebrekke Department of Telematics Norwegian University of Science and Technology T5 - Service Discovery Protocols and middleware: HAVi, SLP. Abstract The number of services that will become available in networks is expected to grow enormously and automatic service discovery is considered to be a very important feature in future network development. With service discovery, devices may automatically discover network services including their properties, and services may advertise their existence in a dynamic way, enabling users to access information, resources and services anytime, anywhere. This essay introduces two well-known services discovery protocols currently under development, namely the Service Location Protocol and Home Audio Video Interoperability. General information about service discovery is also presented, as to give you a better overview to understand why service discovery is and still will be very important in the future. Keywords: Service discovery, service location protocol, SLP, home audio video interoperability, HAVi, self configuration, plug and enjoy. I. Introduction With the raising number of Internet services it becomes increasingly important to give users the possibility of finding and making use of services that are available in a network. Totally new services, besides the classical ones such as those offered by fax machines, scanners, printers, and so on, will be available. Examples of such new services are music on demand, video on demand and services for information access via Internet. Following this trend, services need to become more autonomous, because this will enable more and more users access to the services automatically, without requiring reconfiguration of their system. For example, users are not interested to manually upload device drivers or search for the IP address of a desired service. Today s widespread use of network-enabled mobile devices (such as PDAs, notebooks, cellular phones and laptops), make dynamic discovery of services in a foreign network and automatic system configuration very useful features. Several discovery protocols (SDPs) have been proposed especially to support this kind of user mobility. These protocols change the way services are configured, organized and announced on a network. The purpose of these protocols is to enable mobile users to discover new services and to support seamless and service interoperability. Common for most SDPs are key features like service announcement and registration, event mechanisms, service lookup and query. Several service discovery T5 - Service Discovery Protocols and middleware: HAVi, SLP 1

protocols are currently under development, namely the Service Location Protocol (SLP) [1], Jini [2], Salutation [3], Universal Plug and Play (UPnP) [4], Bluetooth Service Discovery Protocol (SDP) [5], Ninja [6] and the Home Audio Video Interoperability (HAVi) [7]. In this essay, I m going to discuss the main characteristics of SLP and HAVi, with focus on the self configuring aspects and on their applicability for a mobile user employing devices with limited capabilities. In section two I ll give you more information on service discovery protocols with a complementing scenario. In section three and four I describe SLP and HAVi respectively. Section five presents common problems with these protocols regarding to user mobility and mechanisms to overcome them. Self configuring aspects are described in section six and I end this essay with a conclusion in section seven. II. Service Discovery Protocols Service discovery protocols provide mechanisms for dynamically discover available services in a network and for providing the necessary information to: Search and browse the services Choose the right service Utilize the service Service discovery simplifies, from the user s point of view, the task of finding and using services. From the network administrator s point of view it simplifies the task of building and maintaining a network, and especially to introduce new services and new devices. Let me illustrate the advantage of service discovery with the following scenario where engineer Max is leaving home for work. While on his way to his office, he uploads his agenda that is being maintained on the office network to his handheld PC. In this way he knows which meetings have been scheduled for the today. He then notices that he forgot to take along an important technical report he was working on yesterday evening at home on his desktop PC. He retrieves this document with his handheld PC and sends it to the printer at his office that supports internet printing. In the meantime he receives a message from the city traffic control system, installed by the local authorities, that there is a traffic jam on his way to work, suggesting him to take another road. Being a little late, he receives an urgent incoming call on his handheld PC from the project manager. Jack immediately switches on the Internet connected audio system in his car and continues the communication using VoIP. Some of the aspects in this scenario can already be implemented using the current state-of-the-art in network technology, where others require more effort. III. Service Location Protocol The Service Location Protocol is being developed by the IETF working group and is currently available in version 2 [1]. SLP is a protocol that provides a framework to allow networking applications to discover the existence, location, and configuration of networked services in enterprise networks. SLP is designed for TCP/IP networks and scales from a single LAN to enterprise networks. It does not scale to the internet, because DHCP and multicast require configuration and the Internet do not provide a centralized place for administration. 3.1 SLP Agents An SLP agent is a software entity that processes SLP protocol messages. The SLP architecture consists of three main components: T5 - Service Discovery Protocols and middleware: HAVi, SLP 2

User Agents (UA) perform service discovery on behalf of the client Service Agents (SA) advertise the location and characteristics of services on behalf of services Discovery Agent (DA) saves service information and addresses received from SAs in their database and responds to service request from UA Service discovery Discovery Agent Service registration and update Service Request Service Registration Service Reply Service Ack User Agent Service Agent Figure 1: Transactions for service request and registration by SLP agents 3.2 Service Request and Registration Figure 1 shows the different interactions between the three agents. Service Registration is the procedure when a new service connects to a network and contacts the DA to advertise its existence. DA collects all service information advertised by SAs. UAs send their Service Requests to the DA and receive the address and characteristics of the desired service. A client (UA or SA) must discover the existence of the DA before it is able to contact it. There exist three different ways for DA discovery: static, active and passive. In static discovery, SLP agents obtain the address of the DA through DHCP. DHCP servers distribute the addresses of the DAs to hosts that request them (The necessary DHCP options for SLP are defined in [8]). In case of active discovery, UAs and SAs send service request to the SLP multicast group address (239.255.255.253) and a DA that listens on this address will respond directly (via unicast) to the requesting agent. The last method is called passive discovery, where DAs frequently send out multicast advertisements for their services. In this way UAs and SAs learn the DA address from the received advertisements and are now able to contact the DA themselves via unicast. It is important to note that SLP has two operational modes, one where DA is not present and one where DA is present. The latter one is used especially in large networks with many services, since it allows categorizing services into different groups. It is more effective in smaller networks not to use DA. T5 - Service Discovery Protocols and middleware: HAVi, SLP 3

Service Request multicast Service Request User Agent Service Reply Service Agent Figure 2: Service Discovery without DA Figure 2 shows service discovery when there is no DA present. UAs send out their Service Request to the SLP multicast address, where all the SAs listen on this multicast address, and they will send unicast responses to the UA if they advertise the requested service. Service URL and Service Template are being used to advertise services [9]. The Service URL contains the IP address of the service, the port number, and the path. Service Templates specify the attributes that characterize the service and their default values. An example to a Service Template associated with a network printer is listed up below. service:printer://lj4050.tum.de:1020/queue1 scopes = tum, bmw, administrator printer-name = lj4050 printer-model = HP LJ4050 N printer-location = Room 0409 color-supported = false pages-per-minute = 9 sides-supported = one-sided, two-sided SLP Version 1 [10] has yet been implemented in several commercial products, as for example in Hewlett Packard s JetSend Technology. SVP version 2 is already included in Solaris 8 and HP s Web JetAdmin, and is expected to be widely deployed in the nearest future. IV. Home Audio Video Interoperability Home Audio Video Interoperability provides a home networking standard architecture for intelligent audio and video devices to interoperate seamlessly with each other regardless of manufacturer, operating system, CPU or programming language used for implementation [7]. HAVi is a non-profit organization formed by eight major Consumer Electronics companies. The eight CE companies are Grundig AG, Hitachi, Ltd., Matsushita Electrical Industrial Co., Ltd. (Panasonic), Royal Phillips Electronics, Sharp Corp., Sony Corp., Thomson Multimedia and Toshiba Corp. The first beta version of the HAVi standard 1.0 was published in December 1998, while the final 1.0 version was released in December 1999. The current version of the specification is 1.1 and it was published in May 15 th 2001. T5 - Service Discovery Protocols and middleware: HAVi, SLP 4

4.1 Scenarios I m going to give you some examples in order to let you understand how HAVi can make lives easier and what kind of things, not possible before, can now be achieved by using it. Imagine a TV with voice recognition capability, or connected to a video telephone link so that the TV and all other sounds are muted, and calls are answered automatically by a voice command. Similarly, if a camera is placed outside the door detects movement, the picture is automatically connected to the TV screen notifying the user about a possible visitor, or starts recording if the same thing happens unexpectedly during the night? Another example might be time synchronization between different devices. TVs get the correct time from the broadcast stream and other devices can query the TV and set their own clocks according to it. Or consider recording a program with a VCR directly from the TV screen. The task can be as simple as just browsing the program information with the Electronic Program Guide, selecting the desired program and pressing on button to activate recording. The TV then locates an available recorder (e.g., a recording DVD device or a VCR) and commands it to record the program supplying it with the time, length and the channel parameters. In this way users do not have to program the recording device in any way. Figure 3: Overview of how devices may be interconnected in a normal household [7] The user-friendliness does not stop here, since HAVi allows the TV to generate a complete menu structure to interact with any HAVi device or a combination of devices in the network, using only the TV s remote control. These are some of the possibilities that HAVi offers, still there are more to come. By connecting electronic devices into the HAVi network it is possible to share and combine their resources, and use these to build up more sophisticated applications. 4.2 HAVi Principles of Operation In a HAVi environment, audio and video devices can interoperate with each other regardless of the actual brand or their HAVi implementation. The HAVi architecture is open, platformindependent and language neutral, thus HAVi can be implemented in any programming language and on any CPU or real-time operating system. This provides manufacturers the T5 - Service Discovery Protocols and middleware: HAVi, SLP 5

freedom to develop interoperable devices and since HAVi offers the open Interoperability API, developers can write applications for these devices using Java. It is important to understand that there is no single master controlling device under the HAVi system. This means that any device in the HAVi network can take control over other devices if it has been designed to do so. Both the controlling devices and the controlled devices can be located anywhere within the HAVi network. The interoperability of HAVi devices might seem pretty complex, but this is really not the case since devices are hot-pluggable and they are supposed to automatically announce their presence and capabilities to other devices and configure themselves when connected to the network. This will save the user from reading installation instructions and configuring network addresses and drivers. Just plug and enjoy. Finally, the installation and configuration of the network won t be as complicated as in computer networks. The HAVi standard promises to be future proof by maintaining current functionality while making it easy to upgrade and to add new capabilities. Non-HAVi devices can also be connected to the network if at least one of the HAVi devices supports the interface the legacy device provides. 4.3 IEEE-1394 In order to meet the requirements for real-time transfer of high-data-rate streams, selfmanagement and auto-configuration, HAVi has chosen the IEEE-1394 standard (i.link by Sony or FireWire by Apple) as interconnection medium. IEEE-1394 has more than enough capacity to simultaneously carry multiple digital audio and video streams around the house, and provides support for digital copy protection. It currently provides a bandwidth of up to 400 Mb/s. Data can also be full duplex, where both data and signaling can flow in both directions at the same time, and it scales up to 63 devices in the same bus [11]. Figure 4: An example of interconnected Audio/Video devices with IEEE-1394 T5 - Service Discovery Protocols and middleware: HAVi, SLP 6

4.4 Software Elements HAVi software elements are entities that communicate with each other in peer-to-peer way. Each software element has a well-defined API through which the services can be accessed. They also have unique identifiers assigned by the Messaging System before they register to the Registry, and it s this unique identifier that is used to pass messages between different elements. The software elements comprising the HAVi architecture are [7]: 1394 Communication Media Manager. Allows asynchronous and isochronous communication over the IEEE-1394 network. Messaging System. Responsible for passing messages between the software elements. Registry. Acts as the directory service of the network. It enables any software element to locate other elements and detects its capabilities and properties. Event Manager. Serves as an event delivery service, where events are changes of the software elements. Stream Manager. Responsible for real-time transfer of Audio/Video streams. Resource Manager. Resource sharing and scheduling of actions. Device Control Module (DCM). Allows the controlling device to control other devices, where each software element represents a single device. Functional Component Module (FCM). A FCM for each controllable function within a device. DCM Manager. Responsible for installing and removing DCMs. Figure 5: HAVi architecture [7] T5 - Service Discovery Protocols and middleware: HAVi, SLP 7

V. Common problems with SDPs In the preceding sections I have discussed the main characteristics of SLP and HAVi. I will now present some challenges to achieve the goals of service discovery. 5.1 Semantic service discovery and user profiles Service discovery is most interesting from a user s viewpoint, because when a user enters an unknown network, she or he would like to find out which services are available. Service registration and request in SLP is based on the exact matching of name and value. On the other hand, searching for services in terms of service properties is not good enough, since we have to consider the risk of incomplete matches or synonyms for service attributes. However, only returning services that completely match would reduce the number of positive responses to services requests. There is one solution to resolve the matching problem, and it would be to use a standardized vocabulary to describe services. The United Nations Standard Products and Services Code (UNSPSC) [12] provides a multi-sector classification of products and services, and using this classification scheme to identify each service would improve interoperability. 5.2 Interoperability and network transparency One essential condition is the interoperability between different software platforms. It is important to allow protocol interoperability, more specific to have bridges between the different service discovery protocols, because we wish to enable service discovery also between devices that do not run the same protocol. There exist today several mappings between most of these protocols, however I won t describe them any further here. To this day there does not exist a mapping from SLP to HAVi, because the inter-relationship is examined from the A/V point of view and SLP does not have the applicability to handle digital A/V signals as HAVi networks are aimed to do. VI. Self configuring aspects Self configuration is an important requirement in service discovery systems, this due to the heterogeneity of available computing systems and devices. The heterogeneity will not likely change in the nearest future and this is why these systems will require self configuration. SLP uses DHCP for self configuration, to give UAs and SAs the location of DAs. SLP is self configuring in the way that SAs automatically announce their services to the DA when they connect to a network, or by responding directly to the UA with unicast. Plug and enjoy is the slogan for HAVi devices, for the reason that they are hot-pluggable and supposed to automatically announce their presence and capabilities to other devices and configure themselves when connected to the network. This will save the user from reading installation instructions and configuring network addresses and drivers. VII. Conclusion Service discovery will be an important aspect in future network systems, this most importantly because new services are being developed rapidly and service discovery will enable users quick access to services when they enter a new network. There are still some major challenges that future work must focus on, problems like attribute matching, platform interoperability and network transparency need to be resolved, while keeping in mind the limitations of the current resource constraint devices. T5 - Service Discovery Protocols and middleware: HAVi, SLP 8

Table 1 summarizes the main features of the SLP and HAVi. Feature SLP HAVi Developer IETF HAVi Organization License Open source Open source Version 2 1.1 Network transport TCP/IP IEEE-1394 Programming language Independent Independent Code mobility Dependent Independent OS and platform No Yes Srv attributes searchable Yes Yes Central cache repository Yes (optional) No Operation w/o directory Yes Registry required Leasing concept Yes Yes Security IP dependent Access levels, signatures Table 1: Comparison of SLP and HAVi T5 - Service Discovery Protocols and middleware: HAVi, SLP 9

References [1] E. Guttman, C. Perkins, J. Veizades, and M. Day. Service Location. Protocol, Version 2, RFC 2608, June 1999. [2] Sun Microsystems Inc. Jini Architectural Overview, Technical White Paper, May 2003. [3] The Salutation Consortium. Salutation Architecture Specification (Part-1), Version 2.1, 1999. [4] UPnP Forum. Universal Plug and Play Device Architecture Reference Specification, Version 1.0.1, May 2003. [5] Bluetooth SIG. Bluetooth Core Specification version 1.2, volume 3 - Part B, November 2003. [6] Steven D. Gribble, Matt Welsh, Rob von Behren, Eric A. Brewer, David Culler, N. Borisov, S. Czerwinski, R. Gummadi, J. Hill, A. Joseph, R.H. Katz, Z.M. Mao, S. Ross, and B. Zhao. The Ninja Architecture for Robust Internet-Scale Systems and Services. In Special Issue of Computer Networks on Pervasive Computing. June 1999. [7] HAVi Organization. HAVi - The A/V digital network revolution, Technical White Paper, May 1999. [8] Charles E. Perkins and Erik Guttman. DHCP Options for Service Location Protocol. Internet RFC 2610, June 1999. [9] E. Guttman, Charles E. Perkins, and James Kempf. Service Templates and Service: Schemes, Internet RFC 2609, June 1999. [10] J. Veizades, E. Guttmann, C. E. Perkins, and S. Kaplan. Service Location Protocol. Internet RFC 2165, June 1997. [11] IEEE, IEEE standard 1394, Standard for a High Performance Serial Bus, Piscataway, N.J., IEEE Press, parts 1-5, 1996. [12] United Nations Development Programme and Dun & Bradstreet Corporation. The United Nations Standard Products and Services Code, 1998. T5 - Service Discovery Protocols and middleware: HAVi, SLP 10