Successive to a preceding study about Service Discovery, this thesis covers the topics Service Description and Service Access. Starting with an analysis and comparison of existing technologies, a new protocol for the service access was developed and an operating
environment, capable of accessing services of any type was programmed. Thereby emphasis is placed on high scalability, extensibility, modularity and comprehensive documentation, to provide easy association with existing or future works. The first part deals with the various versions of Service Descriptions, followed by a description of the service access methods and concluding with a comprising comparison. All technologies or protocols qualified for Service Discovery and Access discovered
during this diploma thesis are discussed. The main part comprises the software implementation which was written in Java, including
a comprehensive documentation containing, among others, the protocol specification, software architecture, an user guide and proposals for advancements.
Contents
1 Introduction
1.1 Topic
1.2 Content
1.3 How to Read This Paper
2 General
2.1 Introducing Reflections
2.1.1 A Possible Scenario
2.1.2 Ad Hoc Networking
2.1.3 State of the Art
2.1.4 Future Situation
2.1.5 Reflections About Service Discovery, Description and Access
2.2 The Problem of automated Interaction
2.3 Use Cases
2.3.1 Service Discovery
2.3.2 Service Access
2.4 URLs/URIs/URNs, Namespaces
2.4.1 URI
2.4.2 URL
2.4.3 URN
2.4.4 Comparison URN - URL
2.5 Overview of the Different Techniques
2.5.1 SLPv2
2.5.2 UPnP
2.5.3 Jini
2.5.4 Salutation
2.5.5 JetSend
2.5.6 Inferno
2.5.7 SDP (Bluetooth)
3 Service Description
3.1 SLPv2
3.1.1 The Service-URL, Accessing SLP
3.1.2 Abstract Service Types
3.1.3 Definition of Attributes
3.1.4 Mandatory Attributes
3.1.5 Registration and Standardization of New Service Types
3.1.6 Explanatory Example
3.2 UPnP
3.2.1 Device Description
3.2.2 Service Description
3.2.3 Template Design Process
3.2.4 Example
3.3 Jini
3.3.1 Service Architecture
3.3.2 Remarks
3.3.3 Description
3.4 Salutation
3.4.1 Architecture
3.4.2 Service Description/Capability Exchange
3.4.3 Functional Unit Description
3.4.4 Attribute Description
3.4.5 Description Format
3.5 JetSend
3.6 Inferno
3.7 SDP (Bluetooth)
3.7.1 Structure
3.7.2 Discovery
3.7.3 Service Record
3.7.4 UUIDs
3.7.5 Data Elements
3.7.6 Universal Attributes
4 Service Access
4.1 SLPv2
4.2 UPnP
4.2.1 Control
4.2.2 Example for Control: Action:Invoke
4.2.3 Eventing
4.2.4 Example for an Event:Notify
4.2.5 Security
4.2.6 Summary
4.3 Jini
4.3.1 Considerations
4.3.2 Features
4.3.3 Security
4.3.4 Implementation Example
4.4 Salutation
4.4.1 Open Service
4.4.2 Transfer Data
4.4.3 Close Service
4.4.4 Summary of RPC Calls of the SLM-API
4.4.5 Salutation Architecture
4.5 JetSend
4.6 Inferno
4.6.1 General
4.6.2 External Environment
4.6.3 Styx
4.6.4 Security
4.7 SDP (Bluetooth)
5 Comparison of the Different Protocols
5.1 Features
5.2 (Dis)Advantages of the Protocols
5.2.1 SLPv2
5.2.2 UPnP
5.2.3 Jini
5.2.4 Salutation
5.2.5 JetSend
5.2.6 Inferno
5.2.7 SDP (Bluetooth)
6 Implementation of the SAP Project
6.1 Overview
6.1.1 Motivation
6.1.2 Features
6.1.3 Used Technologies
6.2 SAP Protocol Specification
6.2.1 Common Topics
6.2.2 Answer Message
6.2.3 Features and Limitations
6.2.4 The Tags
6.3 Architecture
6.3.1 External Architecture
6.3.2 Internal Architecture
6.4 Integration with Service Discovery
6.4.1 Common Integration Topics
6.4.2 SLP Integration
7 Conclusions and Outlook
7.1 Conclusions
7.2 Further Development
B Userguide
B.1 User Guide
B.2 General
B.3 Compiling
B.3.1 Compiling the Java Sources
B.3.2 Compiling the C Client
B.3.3 Creating the Documentation
B.4 Running
B.4.1 Easy Approach
B.4.2 Manual Approach
B.5 Usage
B.5.1 Serverside Programs
B.5.2 Clientside Programs
B.6 Usage in External Software
B.7 Module Programming
B.7.1 Modules Written in Java
B.7.2 Modules in Other Languages
B.7.3 Binding Modules to the SAS
B.8 Examples
B.8.1 Addierer
B.8.2 Print
B.8.3 Parport
Objectives and Core Themes
The primary objective of this thesis is the design and implementation of a flexible service access environment. The work focuses on overcoming the limitations of proprietary service protocols by providing a middleware solution—the Service Access Server (SAS)—and a new, lightweight Service Access Protocol (SAP) that translates common requests for heterogeneous service interfaces, facilitating dynamic service interaction in network-centric environments.
- Analysis and comparative study of current service discovery and access technologies (SLPv2, UPnP, Jini, Salutation, Inferno, Bluetooth SDP).
- Development of the Service Access Protocol (SAP) for standardized, text-based service invocation.
- Implementation of a modular Service Access Server (SAS) in Java to enable vendor-independent service access.
- Integration strategies between service discovery mechanisms and the proposed SAP architecture.
- Practical validation through implementable modules and a comprehensive documentation framework.
Excerpt from the Book
The Problem of automated Interaction
Automated interaction between devices should reduce user efforts to get a process running, in the best case, to zero. This requires a notable amount of intelligence, which lies between the discovery and the access, or the discovery request. It is usually forgotten within the topic of service access that the client, nevertheless, must always have a clear idea of the meaning of functionality of a service, otherwise intelligent access will not be usefully accomplished. This means, although a client (computer) knows the interface capabilities of a service, it will not be able to reasonably access a service by itself. For instance a computer (which is a “stupid” machine) won’t access a printer, because he doesn’t know what a printer is or its function. The simple description information that a printer is a device which can receive data is not sufficent for automatic and intelligent access.
There are three possible approaches to fill this gap:
Invention/Implementation of Artificial Intelligence (AI): The computer now “knows” the meaning of the services. (Futuristic)
Human Interaction: A human invokes the access, i.e. choosing a service from a service browser (and providing occurring parameters by hand)
Programmed Structures: The access follows certain rules which have been set up, i.e. “print” always tries to access the nearest printer (assumed the distance can be measured or calculated), or an alarm clock starts the coffee machine, every time the alarm sounds (or some minutes in advance).
Summary of Chapters
1 Introduction: Provides an overview of the thesis topic, the motivation for dynamic service access in network-centric models, and a guide on how to read the paper.
2 General: Discusses the fundamentals of service discovery, ad hoc networking, and the challenges of automated interaction between heterogeneous devices.
3 Service Description: Analyzes the service description methodologies and templates for various protocols including SLPv2, UPnP, Jini, Salutation, and Bluetooth SDP.
4 Service Access: Examines how different protocols manage actual service access, focusing on control and event mechanisms in environments like UPnP, Jini, and Salutation.
5 Comparison of the Different Protocols: Offers a comparative evaluation of the discussed protocols, highlighting their respective advantages and disadvantages for different use cases.
6 Implementation of the SAP Project: Details the motivation, architecture, and specification of the developed Service Access Protocol (SAP) and the associated Service Access Server (SAS).
7 Conclusions and Outlook: Reflects on the future of automated service interaction and outlines potential future developments for the SAP project.
B Userguide: Serves as technical documentation for compiling, running, and extending the implemented software components and modules.
Keywords
Service Discovery, Service Access, Service Access Protocol (SAP), Service Access Server (SAS), Middleware, Ad Hoc Networking, SLP, UPnP, Jini, Salutation, Bluetooth SDP, Java, Network-centric Computing, Automated Interaction, Service Description.
Frequently Asked Questions
What is the core purpose of this work?
The work aims to create a middleware architecture and protocol (SAP) that allows for vendor-independent service access, enabling "stupid" machines to interact with services without requiring manual configuration.
Which protocols are analyzed in this thesis?
The thesis provides a detailed study of Service Location Protocol (SLP) v2, Universal Plug and Play (UPnP), Jini, Salutation, Inferno, and the Service Discovery Protocol (SDP) of Bluetooth.
What is the main research question or goal?
The goal is to provide a uniform access interface for various services in a network by translating requests into the proprietary native protocols of the respective devices.
Which programming language is used for the implementation?
Java was chosen for the implementation due to its extensive library support, platform independence, and suitability for the server-side environment.
What is the function of the Service Access Server (SAS)?
The SAS acts as a middle-tier translation gateway; it receives generic access requests from clients and translates them into the specific native communication requirements of the target service.
Which keywords best characterize this project?
The project is characterized by Service Discovery, SAP, SAS, Middleware, Heterogeneous Service Access, and Network-centric automation.
How does the SAP protocol handle different data types?
SAP uses a simple key/value pair structure. Parameters are sent as strings, and the server is designed to perform automatic type casting based on the expectations of the specific service module.
Is it possible to integrate new services into the SAP environment?
Yes, the architecture is highly modular. New services can be added by implementing a specific module that acts like a device driver, without needing to change the core SAS logic.
- Arbeit zitieren
- Michael Fischer (Autor:in), 2001, Development and Implementation of a Service Access Concept, München, GRIN Verlag, https://www.grin.com/document/185645