ubiPCMM 2005 107 Ontology based Service Discovery Middleware for Heterogeneous Agent Platforms Sejung Oh, Juryon Paik, Heeyong Youn, and Ungmo Kim The famous agent platforms are JxTA [9], UPnP [11], JADE Abstract—In ubiquitous computing environments to use [13], and FIPA-OS [7] also there is SLP [1] which is not a distributed services and devices efficiently the basic information platform but a protocol that facilitate service discovery [12]. should be provided about types or locations of services in advance. The domain reiteration of agent platforms can be occurred in A process explores such information that meets a user's needs. We call it as service discovery which is the most primitive system in ubiquitous environments. Therefore, a standard mediation is distributed mobile computing environment such as ubiquitous. It necessary to support compatibility. FIPA suggest a discovery is a trend that use of a combination of developed agent technology middleware module that provides to resolve such problems [6]. and service discovery to manage efficiently and flexibly The current version of FIPA-OS agent platform based on FIPA distributed services, devices, and users. A number of agent specification does not provide the implementation of discovery platforms have been developed by many academic institutes; middleware. however there exist problems about interoperability among agent platforms. FIPA suggest a discovery middleware module that In this paper, we present the prototype of ontology based provides to interoperate between agent platforms. In this paper, discovery middleware to facilitate sharing services between we developed the prototype of ontology based discovery heterogeneous agent platforms. The use of suggested discovery middleware based on FIPA specification to facilitate sharing middleware make it possible to share a service of agent services between FIPA-OS, JADE, and SLP platforms. platforms and also to perform as following operations 'registration', 'deletion', and 'modification' between Index Terms—Service Discovery, Discovery Middleware, heterogeneous agent platforms. Context Aware Service, Agent Platform The rest of this paper is divided into three sections. In section 2, we introduce several agent platforms. In section 3, we I. INTRODUCTION describe discovery middleware and the design of our system architecture. Finally we discuss conclusion and future works. U BIQUITOUS computing is the method of enhancing computer use by making many computers available throughout the physical environment, but making them II. RELATED WORKS effectively invisible to the user [3]. Distributed computing is more pertinent to this environment than centralized computing. A. SLP Because network connection or service information is changed SLP is a protocol for automatic resource discovery on IP dynamically if a centralized system controls those changes it'll based networks. It is possible to operate registration, deletion, produce a lot of network traffics. In distributed environments, and modification in SLP domain [10]. The main purpose of the information about types or locations of services should be using SLP is a discovery of location of services in a domain by provided to interoperate services and devices. We call it as network level. Therefore it is not treated application level of service discovery which provides such information [4]. Service providing a real service. SA represents providers every device discovery technology and management systems, which manage and application, and UA represents consumers that request individual services, were needed and agent platforms are using a specific service. DA mediates between UA and SA, and developed to support those systems [2]. An agent is software also stores information of services. Figure 1 illustrates the basic which works behalf of a user. Agent platform provides every functionality of the protocol. If there is more than one DA, SA resource and run time environments that agents need to meet and UA search every DA in their domain using multicasting. the user's needs. Furthermore, it provides discovery mechanism SA register a service to DA, and then UA acquires information for searching service environment and acquiring of information. of SA through DA. As mentioned above, the purpose of SLP is acquisition of This work was supported in part by Ubiquitous computing Technology location of services. Because cannot provide implementation of Research Institute (UTRI) funded by the Korean Ministry of Information and Communication, Republic of Korea. application. Therefore SLP needs some expansion of The authors are with the Department of Computer Engineering, application level for interoperation of heterogeneous agent Sungkyunkwan University, Gyeonggi-do, 300 Chunchun-dong Jangan-gu platforms. Suwon, Republic of Korea. (phone: 82-31-290-7218; fax: 82-31-290-7211; e-mail: ohsejung@skku.edu). Sejung Oh, Juryon Paik, Heeyong Youn, and Ungmo Kim 108 Fig. 2. FIPA-OS architecture Fig. 1. SLP architecture B. FIPAOS The Foundation for Intelligent Physical Agents (FIPA) is an international organization that is dedicated to promoting the industry of intelligent agents by openly developing specifications supporting interoperability among agents and agent based applications [8]. FIPA-OS is an agent platform developed by the international standard based on FIPA specification. The architecture of FIPA-OS consists of Directory Facilitator (DF), Agent Management Service (AMS), and Message Transport Service (MTS) [5]. And the mechanism of service discovery is similar to SLP [7]. First, a provider agent of specific service registers its service on the DF. After a consumer agent, want to use the service, acquires the information of the service by searching the DF. And then, the Fig. 3. JADE architecture consumer agent communicates with the provider agent through the MTS. The protocols of communication are HyperText main container while all other containers must be non-main Transfer Protocol (HTTP), Internet Inter-ORB Protocol (IIOP), containers and must be told where to find their main container. Remote Method Invocation (RMI), and etc. Figure 2 illustrates The AMS and DF must be located in Main container and treat a the system architecture of FIPA-OS and working procedures. service to several operations as follow 'registration', 'deletion', The current version of FIPA-OS agent platform does not 'modification', and 'searching' through the DF. Figure 3 provide the implementation of discovery middleware. In this illustrates the system architecture of JADE. paper, we implement the prototype system of discovery The current version of JADE agent platform does not middleware on the FIPA-OS agent platform and provide the provide the implementation of discovery middleware such as interoperability to heterogeneous agent platforms. FIPA-OS. Therefore it needs additional expansions. C. JADE III. DISCOVERY MIDDLEWARE JAVA Agent DEvelopment Framework (JADE) is a Figure 4 illustrates the service discovery mechanism software framework fully implemented in Java. It allows suggested by FIPA [6]. Discovery middleware is used to use reducing the time-to-market for developing distributed services registered in heterogeneous agent platforms. DM multi-agent applications by providing a set of ready and module makes it possible to use services without any easy-to-use functionalities that comply with the standard FIPA consideration of interoperability between agent platforms. The specifications and a set of tools that supports the debugging and Agent Discovery Service (ADS) provides discovery monitoring phases [13]. The architecture of JADE consists of functionality in ad hoc networks, in which network nodes join AMS, DF, and Containers likely FIPA-OS. Each running or leave more frequently or less frequently. It provides a instance of the JADE runtime environment is called a high-level DF-like interface for agents, while taking advantage Container as it can contain several agents. And a Container of various discovery middleware, depending on the underlying contains functions of communication such as MTS and ACC. ad hoc technology. An AP optionally hosts a DF. If an ADS is The set of active containers is called a Platform. A single present on the AP, the DF should only be used for handling special Main container must always be active in a platform and df-agent-descriptions related to the local AP. The ADS should all other containers register with it as soon as they start. It only be used by agents of the local AP for provision of their follows that the first container to start in a platform must be a df-agent-descriptions to the ad hoc network as well as for ubiPCMM 2005 109 TABLE I ONTOLOGY FOR RESOURCES Graph Subject Predicate Object ID PrintAgent1 Title Print agent 11 PrintAgent1 Type Agent 11 PrintAgent1 Serve Color printing service 11 PrintAgent1 Device Location Room 27310 11 PrintAgent1 Availability Yes 11 PrintAgent2 Title Print agent 11 PrintAgent2 Type Agent 11 PrintAgent2 Serve Laser printing service 11 PrintAgent2 Device Location. Room 27309 11 PrintAgent2 Availability Yes 11 Fig. 4. A service discovery mechanism using discovery middleware discovery of agents on remote devices in the ad hoc network, i.e. the ADS allows local agents to be discovered by agents on remote devices and vice versa. This means that the DF should provide a yellow pages service restricted to the scope of the local AP, and the ADS provides a yellow pages service restricted to the scope of the ad hoc network. The ad hoc network accessible via the ADS is a compound of all ad hoc networks supported by the maintained DM technologies, for instance JXTA or Bluetooth [9]. However the implementation of discovery middleware is not easy. There are several considerations. For example, it needs Fig. 5. The architecture of DM using SLP communication protocols between heterogeneous agent platforms, and also needs data consistency mechanisms to manage inconsistency caused by service registration, deletion, resources in first-order predicate calculus. The basic model and modification. Therefore, it is a trend of development that consists of Subject, Predicate, Object, and GraphID, in which considers a specific subject of agent platform. In this paper, our approach concentrates on providing a real service between „ Subject : the set of subject names (for example, heterogeneous agent platforms. service, agent, device, person, or etc) „ Predicate : the set of predicate names (for example, is located in or has status) A. System Design „ Object : the set of all values of Subjects (for example, In following paragraphs will represent the considerations of Room 27, Yes, Agent, or empty) design a discovery middleware. „ GraphID : the number linked with an OWL file First, it should be satisfied data consistency between heterogeneous agent platforms. The problem of data To illustrates, (PrintAgent1, Type, Agent, 11) means that the inconsistency is inevitably occurred between agent platforms type of PrintAgent1 is an agent, and linked with an OWL file when use operations as follow registration, deletion, and #11. modification. This problem is ongoing study, and we consider Finally, it needs a defined method of service invocation several solutions such as using a time stamp, real-time between JADE and SLP. It needs some additional works, synchronization of database, and etc. Using the time stamp because agent platforms have there's own service invocation method, it attaches a time stamp to each service when it created. method each other. This part is ongoing study. We consider It is not available to use, if a service pass the validate time. The several methods about web application or socket invocation or real-time synchronization method is that changes in one etc. database are reflected in the other database. Second, it needs a standard definition of resources such as B. Implementation of DM for interoperable between SLP service, device, agent, and etc. The difference of resource and JADE description between JADE and SLP should be mapped a standard description, because JADE and SLP have there's own Figure 5 illustrates our architecture of discovery middleware description. Therefore we define ontology for resource using JADE and SLP. According to the FIPA specification, a description as shown in the table 1. In our system, we represent service discovery of heterogeneous agent platforms passes Sejung Oh, Juryon Paik, Heeyong Youn, and Ungmo Kim 110 through many communication procedures, because an agent [9] FIPA JXTA Discovery Middleware Specification. Foundation for Intelligent Physical Agents, 2003. platforms have service information its own database. If an http://www.fipa.org/specs/fipa00096 agent an agent query a specific service to ADS, ADS requests [10] E. Guttman, “Service location protocol: Automatic discovery of IP the same query to DM. And then DM requests the service to network services”, IEEE Internet Computing, pp. 71-80, July 1999. [11] “Univeral plug and play forum.” 2001. http://www.upnp.rog heterogeneous agent platform. After, reply procedures inverse [12] C. Bettstetter and C. Renner, “A comparison of service discovery of request procedures. Precisely, Agent ↔ ADS ↔ DM ↔ AP. protocols and implementation of service location protocol.” In Our architecture of DM reduces replying time of query, Proceedings EUNICE 2000, (Twente, Netherlands), Sept, 2000. [13] JADE Tutorial Giovanni Caire. http://jade.tilab.com because it has simpler discovery procedures than current [14] Project JXTA. http://www.jxta.org procedures. Figure 5 illustrates our mechanism that stores services of SLP on JADE agent platform in advance such as Sejung Oh received the B.E degree in Engineering of Advanced Materials from container. It simplifies communication procedures each time of Sungkyunkwan University, Korea, in 2003. He is currently a M.E. student in the Department of Computer Engineering requests. When an agent needs to discover a certain service, it in Sungkyunkwan University. His main areas of research include service first looks at its local container to check whether that service is discovery, agent platform, context-aware system and ontology building. For available. On failure, by looking at its own container for service discovery, he is interested in ontology based service discovery, discovery middleware for sharing services between heterogeneous agent heterogeneous agent platforms, it checks the service of SLP to platforms. discovery the service. The service information of providing SLP is retrieved to JADE agent platform when JADE agent Juryon Paik received the B.E. degree in Information Engineering and the M.E. degree in Computer Engineering from Sungkyunkwan University, Korea, in platform or SLP starts its running. After the service information 1997 and 2005, respectively. of SLP is periodically synchronized with container of JADE She is currently a Ph.D. student in the Department of Computer Engineering agent platform. in Sungkyunkwan University. Her main areas of research include xml mining, xml data replication and ontology building. For xml mining, she is interested in mining frequent tree patterns, mining association rules from xml documents and similarity computation between xml documents. IV. CONCLUSIONS Heeyong Youn received the BS and MS degrees in electrical engineering from In ubiquitous computing environments to use distributed Seoul National University, Seoul, Korea, in 1977 and 1979, respectively, and services and devices the functions of service discovery should the PhD degree in computer engineering from the University of Massachusetts be provided about types or locations of services. In this paper, at Amherst, in 1988. From 1979 to 1984, he was on the research staff of Gold Star Precision Central Research Laboratories, Korea. we developed the prototype of ontology based discovery He is presently an endowed professor in the School of Information and middleware to facilitate sharing services between Communication Engineering, Sungkyunkan University, Suwon, Korea. His heterogeneous agent platforms. Using this prototype make it research interests include storage systems, distributed computing and networking, Internet and mobile computing, and fault-tolerant computing. He possible to construct multi agent platform systems. And our has published more than 120 papers in international journals and conference architecture of DM reduces replying time of query, because it proceedings, and received an Outstanding Paper Award from the 1988 more simplifies discovery procedures than suggested by FIPA. International Conference on Distributed Computing Systems, 1992 However several problems should be proved for providing the Supercomputing, and the 2001 Korean Society Internet Information Spring Symposium, respectively. He also served as a lecturer of the ACM Lectureship complete service such as data consistency, communication Series from 1993 to 1997. protocol, standard service description, and SLP applications. Dr. Youn is a senior member of the IEEE. Since 2002, Prof Youn works for In future, we concentrate on development of a real service 21C Frontier Ubiquitous Computing and Networking project (supporting by ministry of information and communication republic of Korea) and Korea application and proving data inconsistency. And we'll extend Research Foundation project (KRF – 2003 – 041 –D20421) and Brain Korea our discovery middleware to conform FIPA-OS agent platform. 21 Project. Additionally, we are also interested in context-aware service Ungmo Kim received the B.Sc. degree in the Department of Mathematics in discovery. Sungkyunkwan University, Korea, in 1981, and the M.Sc degree in Computer Science from Old Dominion University, USA, in 1986, and the Ph.D. degree in Computer Science from Northwestern University, USA, in 1990. He has REFERENCES worked several years as consultant and analyst in universities and private companies, and since 2001, he has been working for the Silver-Net Campaign [1] James Kempf, Pete St. Pierre “Service Location Protocol for Enterprise Society as a Regional Chief-in-Committee Member. Networks” Wiley Computer Publishing. He is a Professor in the School of Information and Communication [2] N. Davies, A. Friday, S. P. Wade and G. S. Blair, L2imbo : A distributed Engineering in Sungkyunkwan University, Korea. His current research interests systems platform for mobile computing, Mobile Networks and include XML/Web mining, Data Mining, Access Control, and Applications, pp. 143-156, August 1998. Domain-Specified ontology modeling. [3] M. Weiser, “Some Computer science issues in ubiquitous computing” Dr. Kim is the Inquiry and Consulting Member of Korea Information Communications of the ACM, pp. 75-84, July 1993. Processing Society. [4] N. Gibbins, W. Hall, “Scalability Issues for Query Routing Service Discovery”, Proceedings of the Second Workshop on infrastructure for Agents, MAS and Scalable MAS, 209-217, May 2001. [5] FIPA Agent Management Specification. Foundation for Intelligent Physical Agents, 2004. http://www.fipa.org/specs/fipa00023 [6] FIPA Agent Discovery Service Specification. Foundation for Intelligent Physical Agents, 2003. http://www.fipa.org/specs/fipa00095 [7] FIPA-OS V2.1.0 Distribution Notes. http://fipa-os.sourceforge.net [8] Foundations for Intelligent Physical Agent. http://www.fipa.org