Domain-based Service Directory

and

Bit-stream Content Handling Interface

for

FIPA CFP 5.4.2: Attachment to external software, application and services

January 1997, Torino, Italy

Yeun-Bae Kim and Masahiro Shibata

{kimyb, shibata}@strl.nhk.or.jp

NHK Science and Technical Research Laboratories

Program Production Technology Research Division

1-10-11 Kinuta, Setagaya-ku, Tokyo 157 Japan

I INTRODUCTION

As the title indicates, this proposal is concerned with providing the necessary information and interfaces so an agent can successfully attach to external services (i.e. FIPA CFP 5.4.2). Figure 1 shows a possible attachment procedure of an agent to an external service through the following three phases: (1) the agent must locate a wanted service(s), then (2) establish a connection to the service via the connection protocol, and (3) interact with the service to achieve what it intended to.

Figure 1 Three phase attachment procedure to an external service

Here, we propose (1) a service directory information representation scheme to facilitate agents to locate wanted services and (2) an interface to allow the agents to handle a bit-stream data which is a crucial component for the external attachment. We will not touch on connection protocols in this proposal because they also involve network provision and management.

II DOMAIN-BASED SERVICE DIRECTORY

Locating and identifying a desired external service by an agent is one of the most important aspects of the attachment. Without any kind of service information that gives direct or indirect clues for the locations and access methods of services (e.g. such as a telephone directory) an agent has no other choices but to try all available services in its external environment to find a suitable one. In such a case, the agent must have a powerful service identification mechanism with a self-guided search strategy.

Taking account of FIPA applications for 1997, we propose a domain-based service directory tree (SDT) which assists an agent in identifying wanted services. The SDT is a hierarchy relation between entities (e.g. concepts or categories) represented in a DAG (directed acyclic graph) structure as shown in Figure 2. In the example in the figure, the intermediate nodes represent a class hierarchy in which the leave nodes carry service access information such as locations, connection protocols, interface types, and other information.

Figure 2 Domain-based Service Directory Tree

We chose DAG due to its simple structure because there are well established search algorithms and it can easily be converted into other data structures if necessary. In addition to this, the DAG structure is adopted in CORBA (common object request broker architecture) and RM-ODP (reference model of open distributed processing) for their name services. It is extremely difficult to design a generic ontology for service information. We, thus, propose to define service directories for the first four domains of application required for 1997. The definition process involves (a) selection of a set of lexicons and their semantics for each domain and (b) mapping of the lexicons onto nodes of an appropriate hierarchical relation.

We understand that such a static structure of SDT lacks the flexibility of providing different interpretations (i.e. relations) of the nodes seen from several different viewpoints. In order to make SDT more flexible and view-sensitive, a context-dependent layer (CDL) can be added to each node as shown in Figure 3. The CDL of each node consists of "n" windows, in which each window contains a context ID (e.g. C1, C2, ..., Cn), and a connection pair (i.e. a parent node and a set of daughter nodes). With CDL, therefore, the same node can be dynamically shared by different SDTs (i.e. a sort of semantic network). Figure 2 shows an example of SDT seen from a window with context ID called "domain", for instance.

Figure 3 A node with context-dependent layer

Once SDTs are defined, it is the service providers' responsibility to make their services available to the agents registering the service access information at the leave nodes of the appropriate domain SDT. It is also possible to register a certain service on several different leaves of a single or multiple SDTs of different domains. Service access information (lexicon, semantics and access information) registered in SDT can easily be implemented in CORBA or RM-ODP standards to allow agents to invoke services offered by applications running on any machine in a heterogeneous distributed environment.

III BIT-STREAM CONTENT HANDLING INTERFACE

We propose an interface for an agent to handle a bit-stream with meta-information embedded in it. Here, the word bit-stream means any types of data and information that are encoded in zeros and ones and transmitted in a linearly continuous fashion for a defined time period. Bit-streams, thus, include for instance data read from a CD-ROM, any type of digital broadcast signals, and messages exchanged between an agent and external services. Figure 4 shows an outline of the proposed bit-stream content handling interface (BCHI) that allows an agent to attach itself to various types of external bit-stream sources which include DSM (digital storage media), STUs (set-top units), tuners, etc.

A minimum set of commands for BCHI, which is built on DSM-CC (U-U) (digital storage media-command & control user-user) is proposed as the core component of BCHI. DSM-CC is originally specified by ISO/IEC JTC1/SC29/WG11 as the standard protocol for communication among digital video servers and clients. DSM-CC is currently adopted by the DAVIC (Digital Audio-Visual Council) as part of definition of the emerging digital audio and video infrastructure. DSM-CC's current capabilities with an appropriate extension (which is deemed out of FIPA's scope) can be used as primitives to build higher functionalities required for a BCHI.

Figure 4 Outline of proposed bit-stream content handling interface

BCHI commands are provided to perform very basic operations such as bit-stream content access and bit-stream transportation. Parameters and return values of commands necessary for the implementation of the method of interaction can be defined by using OMG-IDL (object management group-interface definition language).

The following commands are responsible for letting an agent access a bit-stream's meta-information, such as content-description index, EPG (electronic program guide) and others, regardless of their formats (e.g. European Telecommunication Standard or Advanced Television Systems Committee Standard). The following commands issued by an agent to a bit-stream content handler (BSCH) are interpreted into DSM-CC primitives.

Figure 5 shows an example of how an agent can interact with a bit-stream content handler issuing BCHI commands to obtain necessary information to filter incoming broadcast programs - a capability required for one of the FIPA exemplar applications made possible by the '97 specification (6.4 Audio/Visual entertainment and Broadcasting of CFP).

Figure 5 An example interaction between an agent and BSCH via BCHI

Attachment to other types of services such as databases or other legacy softwares will obviously require different types of interfaces. Although we do not mention an interaction method with other services in the proposal, an interface similar to BCHI consisting of high-level commands written in OMG-IDL and a handler can possibly be formulated for the interaction with the database systems.