KR100576935B1 - 온톨로지 기반의 애드혹 서비스 검색 시스템 및 방법 - Google Patents

온톨로지 기반의 애드혹 서비스 검색 시스템 및 방법 Download PDF

Info

Publication number
KR100576935B1
KR100576935B1 KR1020030094805A KR20030094805A KR100576935B1 KR 100576935 B1 KR100576935 B1 KR 100576935B1 KR 1020030094805 A KR1020030094805 A KR 1020030094805A KR 20030094805 A KR20030094805 A KR 20030094805A KR 100576935 B1 KR100576935 B1 KR 100576935B1
Authority
KR
South Korea
Prior art keywords
service
cache
ontology
hoc
information
Prior art date
Application number
KR1020030094805A
Other languages
English (en)
Other versions
KR20050063405A (ko
Inventor
하영국
손주찬
함호상
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020030094805A priority Critical patent/KR100576935B1/ko
Priority to US10/867,792 priority patent/US20050138173A1/en
Publication of KR20050063405A publication Critical patent/KR20050063405A/ko
Application granted granted Critical
Publication of KR100576935B1 publication Critical patent/KR100576935B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5058Service discovery by the service manager
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery

Abstract

본 발명은 분산된 서비스 온톨로지(Ontology) 및 의미 기반의 검색 질의를 이용하여 서비스를 검색하는 방법에 관한 것으로서, 특히 다양한 이종의 서비스 및 모바일 호스트(Mobile Host)들로 이루어진 모바일 애드혹 네트워크(MANET: Mobile Ad hoc Network) 상에서 효과적으로 서비스를 검색하기 위한 시스템 및 방법을 제공한다. 모바일 애드혹 네트워크는 빈번한 이동성을 갖는 모바일 호스트들로 이루어진 무선 네트워크로서 기반이 되는 유선 네트워크를 가지고 있지 않으며 모바일 호스트들의 이동에 따라 그 토폴로지(Topology)가 동적으로 변하게 되는 특성을 갖는다. 이러한 특성에 의해 애드혹 네트워크에서 특정 서비스를 찾기 위해서 고정된 서비스 레지스트리(Service Registry)를 이용하기가 어려우며, 기존의 브로드캐스팅(Broadcasting)기반의 분산 검색 방법들도 제한된 대역폭(Bandwidth)과 컴퓨팅 자원을 갖는 애드혹 환경하에서는 효율적으로 적용되기 어렵다. 또한 최근 유비퀴터스 컴퓨팅(Ubiquitous Computing)의 개념이 등장하면서 다양한 모바일 장치 및 서비스가 등장할 것으로 예측되고 있는 상황에서 이러한 모바일 장치들간의 협업을 위해 보다 효과적인 서비스 검색 방법이 요구되고 있다. 이에 본 특허에서는 애드혹 네트워크, 환경하에서 서비스 온롤로지를 기반으로 다양한 서비스를 효과적으로 검색할 수 있는 시스템 및 그 방법을 제안한다.
온톨로지, 서비스 검색, 서비스 질의, 애드록 네트워크, 시멘틱웹

Description

온톨로지 기반의 애드혹 서비스 검색 시스템 및 방법{ONTOLOGY-BASED SERVICE DISCOVERY SYSTEM AND METHOD FOR AD HOC NETWORKS}
도 1a는 본 발명의 실시 예에 따른 온톨로지 기반의 애드혹 서비스 검색 방법의 일실시예구성도,
도 1b는 본 발명의 실시 예에 따른 서비스 온톨로지 및 서비스 표현 정보의 일실시예 구성도,
도 2는 본 발명의 실시 예에 따른 온톨로지 기반의 애드혹 서비스 검색 시스템의 일실시예 구조도,
도 3은 본 발명의 실시 예에 따른 로컬 서비스 캐쉬의 일실시예 구조도
도 4는 본 발명의 실시 예에 따른 로컬 서비스 캐쉬 관리 알고리즘의 일실시예 구성도,
도 5는 본 발명의 실시 예에 따른 서비스 캐쉬 동기화 프로토콜의 일실시예 구조도,
도 6은 본 발명의 실시 예에 따른 서비스 캐쉬 동기화 프로토콜 알고리즘의 일실시예 구성도,
도 7는 본 발명의 실시 예에 따른 의미기반 서비스 질의의 일실시예 구조도,
도 8은 본 발명의 실시 예에 따른 의미기반 서비스 질의 프로토콜 알고리즘 의 일실시예 구성도.
* 도면의 주요부분에 대한 부호의 설명
150: 서비스 온톨로지 160: 로컬 서비스 캐쉬내 온톨로지
171 ~ 176: 서버 177 ~ 179: 클라이언트
201: 서비스 질의 202: 질의 처리기
203: 노드 데몬 204: 로컬 서비스 캐쉬
205: 캐쉬 관리기 207: 서비스 표현 정보
208: 서비스 의미 추론기
본 발명은 분산된 서비스 온톨로지 및 의미 기반의 검색 질의를 이용하여 서비스를 검색하는 방법에 관한 것으로서, 특히 다양한 이종의 서비스 및 모바일 호스트들로 이루어진 모바일 애드혹 네트워크(MANET: Mobile Ad hoc Network) 상에서 효과적으로 서비스를 검색하기 위한 시스템 및 방법에 관한 것이다.
모바일 라디오 네트워크(Mobile Radio Network) 또는 멀티홉 와이어리스 네트워크(Multihop Wireless Network)라고도 부르는 MANET은 빈번한 이동성을 갖는 모바일 호스트로 이루어진 무선 네트워크이다. MANET은 유선 네트워크 기반의 베이 스 스테이션(Base Station)이나 백본(Backbone)을 가지고 있지 않으며 각각의 모바일 호스트들(스스로 라우터의 역할을 수행함)은 무선 링크로 연결되어 임의의 그래프 형태의 토폴로지를 구성하게 된다. 이렇게 구성된 MANET 토폴로지는 모바일 호스트들이 이동함에 따라 동적으로 변하게 되며 이로 인해 MANET에서는 유선 네트워크와는 다른 특별한 방식의 라우팅 및 전송 프로토콜(Transport Protocol) 등을 필요로 하게 된다. MANET 분야에서의 종래의 연구 분야들은 Bluetooth, IEEE 802.11 등과 같은 무선 매체 기술(Wireless Medium), 효과적인 브로드캐스팅과 멀티캐스팅(Multicasting) 방법, Scalability 지원 기술, QoS 및 Power-awareness를 기반으로 하는 다양한 라우팅 프로토콜 기술 그리고 신뢰성 있는 End-to-End 연결을 제공하는 전송 프로토콜 기술 등이 있다. 또한 최근에는 유비퀴터스 컴퓨팅에 대한 관심이 고조되고 있는 가운데 다양한 이종의 모바일 장치로 구성된 MANET에서의 서비스 검색 방법에 대한 기술 개발이 시작되고 있다.
서비스(Service)란 Memory, CPU, 주변 장치 등과 같은 컴퓨팅 자원의 개념, 트랜잭션(Transaction)과 비즈니스 절차(Business Process) 등과 같은 프로세스의 개념 및 프락시 객체(Proxy Object)와 같은 S/W 컴포넌트(Component)의 개념을 모두 포괄하는 의미를 갖는다. 컴퓨팅 자원으로서의 서비스는 위치(Location), 가용성(Availability), 처리용량(Capability) 등과 같은 특성(Property)를 이용해서 표현할 수 있고 프로세스로서의 서비스는 IOPEs(Input, Output, Precondition, Effects) 특성을 통해서 표현될 수 있으며 컴포넌트 로서의 서비스는 S/W 인터페이스(Interface) 정의에 의해서 표현될 수 있다. 서비스 검색(Service Discovery)은 이러한 서비스 표현(Service Description)을 기반으로 원하는 서비스를 검색하는 과정으로서 유비퀴터스 또는 퍼베이시브(Pervasive) 컴퓨팅 환경과 같은 다양한 모바일 장치와 그들로부터 제공되는 다양한 서비스들이 존재하는 상황에서 장치간의 협업을 위해 매우 중요한 요소 기술이다. 다시 말해서 사용자의 주변에 형성되는 MANET기반의 유비퀴터스 환경하에서 장치간의 협업 및 분산 처리를 위해서 효과적인 서비스 검색은 중요한 핵심 기술이라 할 수 있다.
그러나 제한된 자원과 대역폭을 갖는 MANET 환경을 고려하지 않은 기존의 서비스 검색 기술들은 IP기반의 인터넷 및 셀룰라(Cellular) 네트워크와 같은 유선의 백본망을 기반으로 하는 무선 환경에 적합한 구조를 가지고 있으며, 디렉토리(Directory) 또는 문법(Syntax) 기반의 서비스 표현에 대한 키워드 매칭을 통해 검색을 수행하도록 하고 있어서 서비스 질의와 정확하게 일치하는(또는 부분 매칭되는) 서비스에 대한 검색만을 제공하게 된다. 본 발명에서는 제한적인 MANET 환경하에서 분산된 서비스 온톨로지 기반의 서비스 표현을 이용하여 의미를 기반으로 한 서비스 검색을 가능케 하는 효과적인 서비스 검색 방법을 안출 하였다.
이하 종래의 서비스 검색 기술은 다음과 같이 크게 세가지 검색 모델로 구분될 수 있다.
1) 분산 풀(Distributed Pull) 기술
분산 풀 기술은 서비스를 검색하려는 클라이언트(Client)가 원하는 서비스에 대한 질의를 전체 호스트들에게 브로드캐스팅하고 질의를 수신한 호스트중에 클라 이언트에서 요구하는 서비스를 제공할 수 있는 경우 클라이언트에게로 자신의 위치(네트워크 주소 등)에 대한 응답을 보내는 방법이다. 이러한 방식은 원하는 서비스 네트워크상에 존재할 경우 항상 그것을 찾는 것이 보장된다는 장점이 있으나 브로드캐스팅으로 인한 대역폭의 낭비를 초래하며 특히 MANET의 경우 플러딩(Flooding)에 의한 브로드캐스팅 폭풍(Broadcasting Storm) 문제를 발생 시킬 수 있다는 단점이 있다. 현재 분산 풀 방식으로 개발된 서비스 검색 기술로는 Microsoft의 UPnP(Universal Plug-and-Play), Salutation 컴소시엄의 Salutation 프로토콜 등이 있다.
2) 분산 푸쉬(Distributed Push) 기술
분산 푸쉬 기술은 서비스를 제공할 수 있는 서버가 자신의 서비스에 대한 표현 을 주기적으로 전체 호스트들에게 공시(Advertise)하고 서비스를 사용하려는 클라이언트는 공시된 내용을 서비스 캐쉬(Cache)에 저장하였다가 필요한 경우에 로컬 서비스 캐쉬를 검색하는 방식이다. 이 방법은 현재 네트워크상에 존재하는 서비스 들에 대한 갱신된(Update) 뷰(View)를 유지할 수 있다는 장점이 있으나 공시된 서비스 표현을 모두 로컬 캐쉬 에 저장하는데 따르는 메모리의 낭비를 초래할 수 있다. 또한 공시 절차에 의한 또 다른 브로드캐스팅 문제를 발생 시킬 수 있는 가능성이 있다. 현재 분산 푸쉬 방식으로 개발된 서비스 검색 기술로는 IBM의 DEAPSpace 등이 있다.
3) 중앙집중식 풀(Centralized Pull) 기술
중앙집중식 풀 기술은 서비스를 제공할 수 있는 서버가 자신의 서비스에 대한 표현을 특정 서비스 레지스트리(Service Registry)에 등록하고 서비스를 필요로 하는 클라이언트가 레지스트리를 검색하여 요구되는 서비스를 찾을 수 있도록 하는 방식으로서 등록 기반(Registration-based) 검색 기술이라고도 한다. 서비스 레지스트리는 네트워크상에 스스로의 위치를 공시할 수도 있고 이미 잘 알려진 주소를 사용할 수도 있다. 이러한 방식은 인터넷상에서 일반적인 서비스 검색 구조를 제공하나 서비스 네트워크상에 반드시 하나 이상의 레지스트리의 역할을 할 수 있는 호스트가 존재해야 한다는 제약이 있다. 현재 중앙집중식 풀 방식으로 개발된 서비스 검색 기술로는 IETF의 SLP(Service Location Protocol), SUN Microsystems의 Jini 등이 있다.
그러나 상기한 종래의 서비스 검색 기술들은 대부분이 유선의 IP 네트워크를 기반으로 개발된 것들로서 안정적인 네트워크 인프라(Infrastructure)를 기반으로 하지 못하고 제한적인 대역폭 및 자원을 가지고 있는 에드혹 네트워크 환경에 그대로 적용하기에는 비효율적인 요소들이 존재한다. 기존의 분산 풀 구조의 문제점은 모든 서비스 검색 질의에 대해서 전체 네트워크에 브로드캐스팅을 해야 한다는 점인데 MANET의 특성상 Flooding을 이용한 방법이 가장 보편적인 방법이다. 그러나 대부분의 무선 MAC(Media Access) 프로토콜의 경우(대표적으로 CSMA/CA를 사용하는 IEEE 802.11 등) Flooding 패킷의 폭주로 인하여 전체 네트워크에 Congestion 현상이 발생하는 브로드캐스팅 폭풍(Broadcast Storm) 문제를 발생시킬 수 있다. 이와 유사하게 분산 푸쉬 구조에서도 서비스에 대한 주기적인 공시로 인한 또 다른 브로드캐스팅 폭풍이 발생할 수 있으며 추가적으로 공시되는 모든 서비스에 대한 캐슁을 해야 하므로 저장 공간에 대한 부족이 야기될 수 있다. 중앙집중식 풀 구조에서는 일반적으로 브로드캐스팅에 의한 문제는 발생하지 않으나 적어도 하나 이상의 레지스트리 호스트가 반드시 검색 도메인(Discovery Domain)내에 존재하여야 한다는 제약 사항이 있다. 그러므로 빈번한 호스트의 이동성을 가정하고 있는 MANET 환경에는 역시 적합하지 못하다.
이와 같은 구조적인 문제점 외에도 유비퀴터스 환경에서 존재할 수 있는 다양한 모바일 장치 및 서비스를 효과적으로 검색하기 위해서는 보다 정교하게 원하는 서비스 만을 찾아내기 위한 방법이 필요하게 되는데 기존의 문법(Syntax) 기반의 서비스 표현 및 서비스 키워드 매칭 방법으로는 이러한 조건을 만족시키기 어렵다. 즉 서비스 검색에 대한 동음이의어(Homonym, 서비스 키워드는 매칭되나 실제 요구하는 서비스가 아닌 경우) 및 이음동의어(Synonym, 서비스 키워드는 다르지만 실제 요구하는 서비스와 동일한 경우)에 대한 문제가 발생할 수 있으며 질의에 정확히 일치되지는 않으나 대체 가능한 서비스(Alternative Service)를 찾아주는 등의 추론을 이용한 검색 기능을 제공하기가 매우 어려웠다.
따라서, 본 발명의 목적은 상기의 문제점들을 해결하기 위하여 안출된 것으로서 에드혹 네트워크 환경에 적합한 서비스 검색 기술을 제공하기 위하여 분산된 서비스의 의미를 표현하기 위한 온톨로지를 기반으로 분산 푸쉬 방법과 분산 풀 방 법을 혼합한 새로운 서비스 검색 시스템 및 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 발명은 온톨로지 기반 애드혹 서비스 검색 시스템으로서, 애드혹 네트워크상에 존재하는 공시된 서비스들에 대한 클래스 정보를 수집하여 서비스 온톨로지를 복구하고 저장하는 로컬 서비스 캐쉬와, 로컬 서비스 캐쉬를 관리하며, 캐쉬에 대해서 미리 설정된 여러 가지 동작을 수행하는 캐쉬 관리기와, 서버 노드인 경우 로컬 서비스 캐쉬를 초기화하는 해당 서비스에 대한 표현 정보를 저장하는 서비스 표현 정보부와, 사용자 또는 응용프로그램으로부터 서비스 질의를 입력 받아 의미기반 서비스 질의 프로토콜을 수행을 시작하는 질의 처리기와, 클라이언트로부터 전송된 서비스 질의에 대한 추론을 통해 자신의 서비스 내용과 일치하는지 여부를 검사하는 서비스 의미 추론기와, 이웃한 노드들과의 서비스 캐쉬 동기화 프로토콜을 수행하는 노드 데몬,을 포함하는 것을 특징으로 한다.
또한 본 발명은 온톨로지 기반의 애드혹 서비스 검색 방법에 있어서, (a)동기화 상태에 있는 애드혹 네트워크로 새로운 클라이언트가 참가하는 경우, 클라이언트 노드는 서비스 캐쉬 동기화 프로토콜을 통해서 이미 동기화 상태에있는 인접한 이웃의 노드들과 서비스 캐쉬를 공유하는 단계와, (b)클라이언트 노드는 의미기반 서비스 질의 프로토콜을 이용해서 로컬 캐쉬내의 온톨로지 정보로부터 검색하려는 서비스 클래스에 해당되는 서버들에게만 서비스 요청을 보내는 단계와, (c)상기 서비스 요청 수행 중 또 다른 노드들의 네트워크 참여가 발생하는 경우 동일하게 서비스 캐쉬를 공유하고 해당 서버들로 서비스 요청을 보내는 단계와, (d)상기 클 라이언트 노드는 의미기반 서비스 질의 프로토콜을 이용해서 로컬 캐쉬내 온톨로지 정보로부터 검색하려는 서비스 클래스에 해당하는 서버들에게 서비스 요청을 전송하는 단계와, (e)해당 요청을 받은 서버들중에서 서비스 질의와 매칭되는 서버만이 응답을 보내는 절차로 서비스 질의를 수행하는 단계;를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예의 동작을 상세하게 설명한다.
도 1a는 본 발명의 실시 예에 따른 온톨로지 기반의 애드혹 서비스 검색 개념을 도시한 것이다.
상기 도 1a를 참조하면, 상기의 도에서 애드혹 네트워크 상에 존재하는 모든 서버(102, 103, 104)에는 미리 정의된 서비스 온톨로지를 기반으로 각각의 서버에서 제공할 수 있는 서비스에 대한 표현이 기술되어 있다. 또한 클라이언트와 서버를 포함하는 모든 노드는 네트워크상에 서버로부터 공시되는 서비스 표현 정보를 저장할 수 있는 로컬 서비스 캐쉬를 가지고 있다. 우선 각 노드는 인접한 이웃 노드들과 서비스 캐쉬 동기화 프로토콜을 수행하며 이를 통해 전체 네트워크상의 노드가 각각의 서비스 표현 정보를 공유하게 되는데 상기 로컬 서비스 캐쉬내에 저장된 서비스 표현 정보들은 서로 유기적으로 연결되어 서비스 온톨로지를 형성한다.
이후 각 클라이언트 노드는 의미기반 서비스 질의 프로토콜을 통해 캐슁된 서비스 온톨로지 정보를 추론하여 적절한 클래스의 서버 노드에만 서비스 질의를 보낼 수 있게 된다. 기존의 방법에 비해 본 특허의 장점은 온톨로지기반의 보다 풍부한 서비스 표현력과 정교한 질의를 가능하게 하고 서비스 공시나 질의를 위해 브로드캐스팅을 사용하지 않으므로 Flooding에 의한 문제를 발생시키지 않으며 네트워크 대역폭(Bandwidth)을 절약할 수 있다는 점이다. 또한 서비스 캐쉬 내에 전체 서비스 표현을 저장하는 것이 아니라 온톨로지를 구성하기 위한 서비스 클래스 구조 정보만을 저장하도록 하여 저장공간의 사용량을 줄일 수 있다.
상기 도의 클라이언트(101) 노드는 새로이 애드혹 네트워크에 참가한 상태이다. 따라서 이 노드를 제외한 동기화 상태(107)에 있는 노드들은 이미 서비스 캐쉬 동기화 프로토콜을 통해 동일한 내용의 캐쉬 정보를 가지고 있다. 동기화 상태란 다음과 같이 정의된다.
동기화 상태
:모든 노드가 애드혹 네트워크상에 존재하는 서비스에 대한 온톨로지 정보를 공유하고 있는 상태이며 아래의 조건 중 하나를 만족하는 것을 말한다.
1) 애드혹 네트워크상에 오직 하나의 노드만이 있는 경우(클라이언트 또는 서버)
2) 애드혹 네트워크상의 모든 노드들이 동일한 내용을 로컬 서비스 캐쉬에 저장하고 있는 경우
현재 애드혹 네트워크가 상기의 동기화 상태에 있다고 가정하고 새로운 클라이언트(107)가 네트워크에 참가하는 경우 다음과 같은 절차로 서비스 질의가 가능 하다.
1) 새로운 클라이언트 노드(107)가 네트워크에 참여한다.
2) 클라이언트 노드는 서비스 캐쉬 동기화 프로토콜(이하 자세한 내용은 도 5 및 도 6에서 설명함)을 통해서 이미 동기화 상태에있는 인접한 이웃의 노드들(105, 106)과 서비스 캐쉬를 공유한다.
3) 또 다른 노드가 네트워크에 참여하는 경우에도 동일한 방법으로 서비스 캐쉬를 공유한다. 이후에 참여하는 노드들에 대해서도 같은 방법이 적용된다.
4) 한번 동기화 상태가 이루어지면 새로운 노드가 참가하거나 기존의 노드가 네트워크을 떠나기 전에는 서비스에 대한 공시가 발생하지 않는다.
5) 클라이언트 노드(121)는 의미기반 서비스 질의 프로토콜(이하 자세한 내용은 도 7 및 도 8에서 설명함)을 이용해서 로컬 캐쉬내의 온톨로지 정보로부터 검색하려는 서비스 클래스에 해당되는 서버들에게만 서비스 요청을 보낸다.
6) 해당 요청을 받은 서버들(122, 123, 124)중에서 서비스 질의와 매칭되는 서버(123)만이 응답(125)을 보낸다.
도 1b는 본 발명의 실시 예에 따른 서비스 온톨로지 및 서비스 표현 정보의 일 실시 예 구성도이다.
상기 도 1b를 참조하면, 미리 정의된 서비스 온톨로지(150)는 존재하는 서비스들의 클래스(151∼159) 및 그들이 가지고 있는 속성을 정의하고 Service 클래스(151)를 최상위 클래스로 하여 그들간의 상속 계층 구조를 표현한다. 서비스 클래스의 속성은 각각의 클래스가 고유하게 가질 수 있는 특성으로서 FAX 서비스(155)의 bps, BW_Printer 서비스(157)의 ppm 등이 있다. 이러한 속성들은 서비스 클래스의 계층 구조에 따라 상위 클래스에서 하위 클래스로 상속되므로 Combo_Device 서비스(158)은 상위 클래스의 모든 속성을 물려받게 된다.
상기의 서비스 온톨로지를 기반으로 모든 서버 노드는 제공할 수 있는 서비스에 대한 표현 정보(171∼176)를 작성하고 이를 공시하는데 모든 서비스 표현 정보가 아닌 서비스 클래스 정보만을 공시한다. 공시된 서비스 클래스 정보는 서비스 캐쉬 동기화 프로토콜을 통해 애드혹 네트워크(170)상에 서로 연결되어 있는 노드들 간에 공유되고 클라이언트 노드(177∼179)들은 공시된 정보를 이용하여 자신의 로컬 서비스 캐쉬내에 서비스 클래스에 대한 온톨로지(160)를 테이블 형태로(161, 162) 생성한다. 상기의 도에서는 애드혹 네트워(170)의 범위내에 있는 클라이언트들(177, 178)만이 공시 정보를 공유하여 로컬 서비스 온톨로지(160)를 생성하게 된다. 로컬 서비스 캐쉬내에 생성된 온톨로지(160)는 브로드캐스팅을 하지 않고 의미기반 서비스 질의 프로토콜을 수행하기 위하여 사용된다.
도 2는 본 발명의 실시 예에 따른 온톨로지 기반의 애드혹 서비스 검색 시스템 구성을 도시한 것이다.
상기 도 2를 참조하면, 모든 노드의 전체적인 시스템 구조를 나타내는데 점선 및 빗금친 부분(207, 208)은 서버 노드에만 필요한 구성 요소이다. 로컬 서비스 캐쉬(204)는 애드혹 네트워크상에 존재하는 공시된 서비스들에 대한 클래스 정보를 수집하여 서비스 온톨로지를 복구하고 저장하는 로컬 저장소로서 본 특허에서 제안 하는 방법의 핵심 요소이다. 캐쉬 관리기(205)는 로컬 서비스 캐쉬를 관리하는 모듈로서 캐쉬에 대해서 여러 가지 Operation을 수행한다.
서버 노드인 경우에는 해당 서비스에 대한 표현 정보(207)를 저장하고 있는데 이 것은 로컬 서비스 캐쉬를 초기화(206)하는 정보로도 사용되며 이는 캐쉬상에 처음으로 추가되는 엔트리이며 어떠한 경우에도 삭제되지 않는다. 질의 처리기(202)는 사용자 또는 응용프로그램으로부터 서비스 질의(201)를 입력받아 의미기반 서비스 질의 프로토콜을 수행을 시작하는 모듈이며 서비스 의미 추론기(208)는 클라이언트로부터 전송된 서비스 질의에 대한 추론을 통해 자신의 서비스 내용과 일치하는지 여부를 검사하는 모듈이다. 노드 데몬(203)은 이웃 노드들과의 서비스 캐쉬 동기화 프로토콜을 수행하는 모듈이다.
도 3은 본 발명의 실시 예에 따른 로컬 서비스 캐쉬의 구조도이다. 상기 도 3을 참조하면, 로컬 서비스캐쉬는 서비스 클래스들간의 IS-A 계층구조(상속 관계)를 저장하는 T-Table(310)과 서비스 클래스에 속한 서비스를 제공하는 서버의 정보를 저장하는 D-Table(311)로 나누어서 구성된다. 참고로 T-Table의 T는 Taxonomy를 의미하고 D-Table의 D는 Description을 의미한다. 이와 같이 캐쉬를 두개의 테이블로 구성하는 이유는 하나의 테이블로 구성할 때 나타날 수 있는 중복 정보를 제거하여 저장공간의 관리를 보다 효율적으로 하기 위함이며 T-Table은 ClassID 필드와 Subclass 필드를 합쳐서 키로 사용하고 D-Table은 Location 필드를 키로 사용한다.
각각의 테이블은 기본적인 Operation(320, 330)을 가지고 있으며 각 Operation을 위해서는 이를 표현하는 자료구조가 필요한데 T-Table 및 D-Table자체 를 나타내는 TTable(321)과 DTable(331), T-Table 및 D-Table에 포함된 하나의 엔트리(Row)를 나타내는 TEntry(322)과 DEntry(332), DEntry의 목록을 나타내는 DEntrySet(333)으로 구성되어 있고 각각에 관련된 Operation들은 다음과 같다. 참고로 각각의 Operation들은 Java 언어의 Interface를 이용하여 정의한다.
TTable: T-Table을 표현하는 자료구조체
TEntry get(ClassID a, ClassID b): T-Table의 Entry중 ClassID가 a이고 b가 ClassID인 subclass를 갖는 엔트리를 반환
void addInOrder(TEntry a): 새로운 엔트리 a를 순차적으로 T-Table에 추가
void delete(ClassID a, ClassID b): T-Table의 Entry중 ClassID가 a이고 b가 ClassID인 subclass를 갖는 엔트리를 삭제
boolean hasMoreEntry(): T-Table에 반환할 엔트리가 더 있는지 여부를 반환
TEntry getNext(): T-Table로부터 마지막으로 반환된 다음번 엔트리를 반환
boolean noRoom(): T-Table에 새로운 엔트리를 추가할 공간이 있는지 여부를 반환
boolean empty(): T-Table이 비어있는지 여부를 반환
Digest hash(): T-Table의 내용에 대한 요약(Hash code)을 반환
TEntry: T-Table 엔트리를 표현하는 자료구조체
ClassID getClassID(): T-Table 엔트리의 ClassID 필드 값을 반환
ClassID getSubclass(): T-Table 엔트리의 Subclass 필드 값을 반환
DTable: D-Table을 표현하는 자료구조체
DEntry get(Location l): D-Table의 Entry중 Location이 l인 엔트리를 반환
void addInOrder(DEntry a): 새로운 엔트리 a를 순차적으로 D-Table에 추가
void delete(Location l): D-Table의 Entry중 Location이 l인 엔트리를 삭제
boolean hasMoreEntry(): D-Table에 반환할 엔트리가 더 있는지 여부를 반환
DEntry getNext(): D-Table로부터 마지막으로 반환된 다음번 엔트리를 반환
DEntry getEntryWithMinimumTS(): D-Table로부터 TS(Timestamp)필드의 값이 가장 큰 엔트리를 반환
DEntrySet getEntryWIthClassID(ClassID a): D-Table로부터 주어진 ClassID a를 갖는 모든 엔트리들을 반환
boolean noRoom(): D-Table에 새로운 엔트리를 추가할 공간이 있는지 여부를 반환
boolean empty(): D-Table이 비어있는지 여부를 반환
Digest hash(): D-Table의 내용에 대한 요약(Hash code)을 반환
DEntry: D-Table 엔트리를 표현하는 자료구조체
ClassID getClassID(): D-Table 엔트리의 ClassID 필드 값을 반환
Name getName(): D-Table 엔트리의 Name 필드 값을 반환
Loaction getLocation(): D-Table 엔트리의 Location 필드 값을 반환
Time getTS(): D-Table 엔트리의 TS 필드 값을 반환
void setTS(Time t): D-Table 엔트리의 TS 필드 값을 주어진 시간 t로 설정
DEntrySet: D-Table 엔트리 목록을 표현하는 자료구조체
boolean hasMoreEntry(): D-Table 엔트리 목록에 반환할 엔트리가 더 있는지 여부를 반환
DEntry getNext(): D-Table엔트리 목록으로부터 마지막으로 반환된 다음번 엔트리를 반환
도 4는 본 발명의 실시 예에 따른 로컬 서비스 캐쉬 관리 알고리즘을 도시한 것이다. 상기 도 4를 참조하면, 본 알고리즘은 캐쉬 관리기에서 수행되며 상기의 T-Table 및 D-Table에 대한 기본 Operation을 기반으로 새로운 캐쉬 엔트리를 추가하는 Insertion 알고리즘(410), 두 개의 캐쉬의 내용을 합치는 Merging 알고리즘(420), 기존의 캐쉬 엔트리를 삭제하는 Removal 알고리즘(430)으로 구성된다. 참고로 각각의 알고리즘은 Java언어의 문법을 이용하여 정의되었다.
도 5는 본 발명의 실시 예에 따른 서비스 캐쉬 동기화 프로토콜의 구조도이고, 도 6은 서비스 캐쉬 동기화 프로토콜 알고리즘의 구조도이다. 이하 상기 도 5 및 도 6을 참조하면,
서비스 캐쉬 동기화 프로토콜의 특징은 서버 노드가 자신의 서비스에 대한 전체 표현 정보를 애드혹 네트워크상의 모든 노드에게 브로드캐스팅하는 것이 아니라 이웃 노드와의 캐쉬 동기화를 통해 서비스 클래스에 대한 정보를 공유하고 네트워크상의 존재하는 서비스들에 대한 온톨로지를 복구한다. 기본적으로 캐쉬 동기화의 과정은 자신의 로컬 캐쉬의 내용을 Hash함수를 통해 요약하여 이웃의 노드들에게만 주기적으로 공시하고(610, 620) 이웃의 노드중 전달 받은 캐쉬의 요약이 자신의 로컬 캐쉬의 내용 요약과 다른 노드들만 응답하도록 하여(631) 처음 내용 요약을 전송한 노드로 하여금 응답 받은 내용을 자신의 캐쉬에 Merge하도록 하는 과정(632)을 통해 이루어지게 된다.
서비스 공시기(511) 및 서비스 청취기(512)는 노드 데몬(510)의 구성 요소로서 모든 노드상에 탑재되는 모듈이다. 서비스 공시기는 일정한 시간 간격에 따라 로컬 캐쉬(530)의 내용에 대한 요약 정보(514)를 인접한 이웃 노드들에게 전송하는 역할을 한다. 캐쉬 요약 정보(514)는 현재 캐쉬의 내용을 Hashing 알고리즘(MD5, SHA1 알고리즘 등)을 이용하여 계산한 결과 값을 저장한다. Adv 플래그(513)는 서비스 공시기에게 캐쉬 정보 요약과 함께 실제 캐쉬의 내용을 함께 전송할 것인지 알려주는 플래그이며 서비스 청취기는 이웃 노드들로부터 전송된 서비스 공시를 수신하여 Adv 플래그의 설정 여부를 결정하는 역할을 한다.
도 7은 본 발명의 실시 예에 따른 의미기반 서비스 질의 구조도이다. 상기 도 7을 참조하면, 의미기반 서비스 질의 프로토콜에서 서비스에 대한 의미기반 질의(700)를 수행하기 위해서는 우선 주어진 질의를 포함관계부(710) 및 만족조건부(720)의 두 개의 부분으로 나누어 분산 처리를 해야 하는데 그 이유는 로컬 서비스 캐쉬에는 서비스 클래스에 대한 포함관계 계층(Subsumption hierarchy) 정보만을 저장하기 때문이다.
즉, 예를 들어 아래의 서비스 표현 정보를 가정할 때 주어진 서비스 질의를 포함관계부(Subsumption part) 및 만족조건부(Satisfiability part)로 나누어 보면 다음과 같다.
공시된 서비스 정보들
/Service/Printer_Service/BW_Printer/HP_DJet_500.ppm = 10
/Service/Printer_Service/BW_Printer/Canon_BJet_50.ppm = 17
/Service/Printer_Service/BW_Printer/Color_Printer/HP_LJet_8100C.ppm = 20
서비스 질의: Find /Service/Printer_Service.ppm > 15
포함관계부: /Service/Printer_Service
만족조건부: ppm > 15
상기의 공시된 서비스 정보들로부터 로컬 서비스 캐쉬를 구성하면 도 3에 나타나 있는 T-Table(310) 및 D-Table(311)과 같이 생성된다. 상기의 예에서 포함관계부(710)는 클라이언트의 질의 처리기(711)를 통해 로컬 서비스 캐쉬(712)에 저장된 클래스 계층 정보(T-Table)로부터 IS-A 관계에 대한 전방 추론(Forward chaining)을 수행하여 Printer_Service를 상위 개념으로 하는 서비스 클래스는 BW_Printer 및 Color_Printer임을 알 수 있게 된다. 만일 해당 서비스 클래스가 로컬 캐쉬에 없는 경우 선택에 따라 가장 최적의 하위 개념 서비스를 대신 선택하는 GLBS(Greatest Lower Bound Set) 정책 또는 가장 최적의 상위 개념 서비스를 대신 선택하는 LUBS(Lowest Upper Bound Set) 정책을 선택할 수 도 있다. 의미기반 서비스 질의 프로토콜은 주어진 예에서 BW_Printer 및 Color_Printer에 해당하는 서비스를 제공하는 서버의 Location을 로컬 서비스 캐쉬의 D-Table로부터 검색하여 해당 서버에게만 질의의 만족조건부(720)를 전송하고 서버의 서비스 의미 추론기(721)를 통해 서비스 표현 정보(722)와의 일치 여부를 검사하게 된다. 결과적으로 ppm > 15의 조건을 만족하는 프린터 서버인 1,1,1,2 및 1.1.1.3으로부터 응답을 받게 된다. 도 8은 본 발명에 따른 의미기반 서비스 질의 프로토콜 알고리즘의 일실시예 구성도로서 상술한 의미기반 서비스 질의 프로토콜을 세부적으로 설명하고 있다.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
이상에서 설명한 바와 같이, 종래의 서비스 검색 기술들은 대부분이 유선의 IP 네트워크를 기반으로 개발된 것들로서 안정적인 네트워크 인프라를 기반으로 하지 못하고 제한적인 대역폭 및 자원을 가지고 있는 애드혹 네트워크 환경에 그대로 적용하기에는 구조적인 문제점들이 존재한다. 또한 이러한 문제점 외에도 유비퀴터스 환경에서 존재할 수 있는 다양한 모바일 장치 및 서비스를 효과적으로 검색하기 위해서는 보다 정교하게 원하는 서비스 만을 찾아내기 위한 방법이 필요하게 되는데 기존의 문법 기반의 서비스 표현 및 서비스 키워드 매칭 방법으로는 이러한 조건을 만족시키기 어렵다. 따라서 본 발명에서는 상기의 문제점들을 해결하고 애드혹 네트워크 환경에 적합한 서비스 검색 기술을 제공하기 위하여 분산된 서비스의 의미를 표현하기 위한 온톨로지를 기반으로 분산 푸쉬 방법과 분산 풀 방법을 혼합한 서비스 캐쉬 동기화 프로토콜 및 의미기반 서비스 질의 프로토콜 등의 방법을 제공함으로서, 유비퀴터스 환경하에서 각종 모바일 장치간에 효율적인 통신 및 협력 작업을 위한 기반 기술을 제공하여 다양한 컴퓨팅 작업 수행 및 서비스를 효과적으로 제공할 수 있는 이점이 있다.

Claims (22)

  1. 온톨로지 기반의 애드혹 서비스 검색 방법으로서,
    (a)동기화 상태에 있는 애드혹 네트워크로 새로운 클라이언트가 참가하는 경우, 클라이언트 노드는 서비스 캐쉬 동기화 프로토콜을 통해서 이미 동기화 상태에있는 인접한 이웃의 노드들과 서비스 캐쉬를 공유하는 단계와,
    (b)클라이언트 노드는 의미기반 서비스 질의 프로토콜을 이용해서 로컬 캐쉬내의 온톨로지 정보로부터 검색하려는 서비스 클래스에 해당되는 서버들에게만 서비스 요청을 보내는 단계와,
    (c)상기 서비스 요청 수행 중 또 다른 노드들의 네트워크 참여가 발생하는 경우 동일하게 서비스 캐쉬를 공유하고 해당 서버들로 서비스 요청을 보내는 단계와,
    (d)상기 클라이언트 노드는 의미기반 서비스 질의 프로토콜을 이용해서 로컬 캐쉬내 온톨로지 정보로부터 검색하려는 서비스 클래스에 해당하는 서버들에게 서비스 요청을 전송하는 단계와,
    (e)해당 요청을 받은 서버들중에서 서비스 질의와 매칭되는 서버만이 응답을 보내는 절차로 서비스 질의를 수행하는 단계
    를 포함하는 온톨로지 기반의 애드혹 서비스 검색 방법.
  2. 제1항에 있어서,
    상기 (a)단계에서, 한번 동기화 상태가 이루어지면 새로운 노드가 참가하거나 기존의 노드가 네트워크를 떠나기 전까지 서비스에 대한 공시가 발생하지 않는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 방법.
  3. 제1항에 있어서,
    상기 (a)단계에서, 각 클라이언트 노드는 의미기반 서비스 질의 프로토콜을 통해 캐슁된 서비스 온톨로지 정보를 추론하여 적절한 클래스의 서버 노드에만 서비스 질의를 보낼 수 있으며, 서비스 캐쉬내 온톨로지를 구성하기 위한 서비스 클래스 구조 정보만을 저장하도록 하는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 방법.
  4. 제1항에 있어서,
    상기 (d)단계에서, 상기 애드혹 네트워크 상에 존재하는 모든 서버에는 미리 정의된 서비스 온톨로지를 기반으로 각각의 서버에서 제공할 수 있는 서비스에 대한 표현이 기술되어 있는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 방법.
  5. 제1항에 있어서,
    상기 클라이언트와 서버를 포함하는 모든 노드는, 네트워크상에 서버로부터 공시되는 서비스 표현 정보를 저장할 수 있는 로컬 서비스 캐쉬를 구비하는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 방법.
  6. 제1항에 있어서,
    상기 애드혹 네트워크상에서 각 노드는, 인접한 노드들과 서비스 캐쉬 동기화 프로토콜을 수행하며, 이를 통해 전체 네트워크상의 노드가 각각의 서비스 표현 정보를 공유하게 되고, 상기 로컬 서비스 캐쉬내 저장된 서비스 표현 정보들은 서로 유기적으로 연결되어 서비스 온톨로지를 형성하는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 방법.
  7. 제6항에 있어서,
    상기 서비스 캐쉬 동기화 프로토콜의 동기화 상태는, 모든 노드가 애드혹 네트워크상에 존재하는 서비스에 대한 온톨로지 정보를 공유하며, 애드혹 네트워크상에 오직 하나의 노드만이 있는 경우 또는 애드혹 네트워크상의 모든 노드들이 동일한 내용을 로컬 서비스 캐쉬에 저장하고 있는 경우를 의미하는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 방법.
  8. 제1항에 있어서,
    상기 서비스 캐쉬 동기화 프로토콜은, 서버 노드가 자신의 서비스에 대한 전체 표현 정보를 애드혹 네트워크상의 모든 노드에게 브로드캐스팅하는 것이 아니라 이웃 노드와의 캐쉬 동기화를 통해 서비스 클래스에 대한 정보를 공유하고 네트워 크상의 존재하는 서비스들에 대한 온톨로지를 복구하고;
    기본적으로 캐쉬 동기화의 과정은 자신의 로컬 캐쉬의 내용을 Hash함수를 통해 요약하여 이웃의 노드들에게만 주기적으로 공시하고;
    이웃의 노드중 전달 받은 캐쉬의 요약이 자신의 로컬 캐쉬의 내용 요약과 다른 노드들만 응답하도록 하고,
    처음 내용 요약을 전송한 노드로 하여금 응답 받은 내용을 자신의 캐쉬에 Merge하도록 하는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색방법.
  9. 제1항에 있어서,
    상기 의미기반 서비스 질의 프로토콜은, 우선 주어진 질의를 포함관계부(Subsumption part) 및 만족조건부(Satisfiability part)의 두 개의 부분으로 나누어 분산 처리를 수행하고;
    로컬 서비스 캐쉬에는 서비스 클래스에 대한 포함관계 계층(Subsumption hierarchy) 정보만이 저장되며;
    포함관계부는 클라이언트의 질의 처리기를 통해 로컬 서비스 캐쉬에 저장된 클래스 계층 정보(T-Table)로부터 IS-A 관계에 대한 전방 추론(Forward chaining)을 수행하고;
    만일 해당 서비스 클래스가 로컬 캐쉬에 없는 경우 선택에 따라 가장 최적의 하위 개념 서비스를 대신 선택하는 GLBS(Greatest Lower Bound Set) 정책 또는 가장 최적의 상위 개념 서비스를 대신 선택하는 LUBS(Lowest Upper Bound Set) 정책 을 선택할 수 있으며;
    로컬 캐쉬의 T-Table로부터 추론된 서비스를 제공하는 서버의 Location을 로컬 서비스 캐쉬의 D-Table로부터 검색하여 해당 서버에게만 질의의 만족조건부를 전송하며; 또한
    서버의 서비스 의미 추론기를 통해 서비스 표현 정보와의 일치 여부를 검사하여 해당 결과를 클라이언트에게 응답해주는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 방법.
  10. 제6항에 있어서,
    상기 서비스 온톨로지는, 존재하는 서비스들의 클래스 및 그들이 가지고 있는 속성을 정의하고, 각각의 클래스가 고유하게 가질 수 있는 특성으로 계층 구조에 따라 상위 클래스에서 하위 클래스로 상속되는 Service 클래스를 최상위 클래스로 하여 그들간의 상속 계층 구조를 표현하는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 방법.
  11. 제6항에 있어서,
    상기 서비스 온톨로지를 기반으로 하는 모든 서버 노드는, 제공할 있는 서비스에 대한 표현정보를 작성하고 이를 공시하는데 모든 서비스 표현 정보가 아닌 서비스 캐쉬 동기화 프로토콜을 통해 애드혹 네트워크상에 서로 연결되는 있는 노드들 간에 공유되는 서비스 클래스 정보만을 공시하는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 방법.
  12. 제6항에 있어서,
    상기 클라이언트 노드들은, 공시된 정보를 이용하여 자신의 로컬 서비스 캐쉬내에 서비스 클래스에 대한 온톨로지를 테이블 형태로 생성하며, 로컬 서비스 캐쉬내에 생성된 온톨로지는 브로드캐스팅을 하지 않고 의미기반 서비스 질의 프로토콜을 수행하게 되는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 방법.
  13. 온톨로지 기반 애드혹 서비스 검색 시스템으로서,
    애드혹 네트워크상에 존재하는 공시된 서비스들에 대한 클래스 정보를 수집하여 서비스 온톨로지를 복구하고 저장하는 로컬 서비스 캐쉬와,
    로컬 서비스 캐쉬를 관리하며, 캐쉬에 대해서 미리 설정된 여러 가지 동작을 수행하는 캐쉬 관리기와,
    서버 노드인 경우 로컬 서비스 캐쉬를 초기화하는 해당 서비스에 대한 표현 정보를 저장하는 서비스 표현 정보부와,
    사용자 또는 응용프로그램으로부터 서비스 질의를 입력 받아 의미기반 서비스 질의 프로토콜을 수행을 시작하는 질의 처리기와,
    클라이언트로부터 전송된 서비스 질의에 대한 추론을 통해 자신의 서비스 내용과 일치하는지 여부를 검사하는 서비스 의미 추론기와,
    이웃한 노드들과의 서비스 캐쉬 동기화 프로토콜을 수행하는 노드 데몬
    을 포함하는 온톨로지 기반의 애드혹 서비스 검색 시스템.
  14. 제13항에 있어서,
    상기 노드 데몬은, 일정한 시간 간격에 따라 로컬 캐쉬의 내용에 대한 캐쉬 요약 정보를 인접한 이웃 노드들에게 전송하는 역할을 수행하는 서비스 공시기와,
    서비스 청취기는 이웃 노드들로부터 전송된 서비스 공시를 수신하여 상기 캐쉬 정보 요약과 함께 실제 캐쉬의 내용을 함께 전송할 것인지 알려주는 Adv 플래그의 설정 여부를 결정하는 역할을 수행하는 서비스 청취기
    를 포함하는 것을 특징으로하는 온톨로지 기반의 애드혹 서비스 검색 시스템.
  15. 제14항에 있어서,
    상기 캐쉬 요약 정보는, 현재 캐쉬의 내용을 Hashing 알고리즘(MD5, SHA1 알고리즘 등)을 이용하여 계산한 결과 값을 저장하는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 시스템.
  16. 제13항에 있어서,
    상기 로컬 서비스 캐쉬는, 서비스 클래스들간의 IS-A 계층구조(상속 관계)를 저장하는 T-Table과 서비스 클래스에 속한 서비스를 제공하는 서버의 정보를 저장 하는 D-Table로 나누어서 구성하여 하나의 테이블로 캐쉬를 구성할 때 나타날 수 있는 중복 정보를 제거하여 저장공간의 관리를 보다 효율적으로 하고;
    T-Table은 ClassID 필드와 Subclass 필드를 합쳐서 키로 사용하고 D-Table은 Location 필드를 키로 사용하며 각각의 테이블은 기본적인 Operation을 가지며, 각 Operation을 위해 T-Table 및 D-Table자체를 나타내는 TTable과 DTable, T-Table 및 D-Table에 포함된 하나의 엔트리(Row)를 나타내는 TEntry과 DEntry, DEntry의 목록을 나타내는 DEntrySet으로 구성되는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 시스템.
  17. 제16항에 있어서,
    상기 로컬 서비스 캐쉬의 T-Table에 관련된 Operation들은,
    T-Table을 표현하는 자료구조체 TTable과,
    T-Table의 Entry중 ClassID가 a이고 b가 ClassID인 subclass를 갖는 엔트리를 반환하는 TEntry get(ClassID a, ClassID b) 메쏘드와,
    새로운 엔트리 a를 순차적으로 T-Table에 추가하는 void addInOrder(TEntry a) 메쏘드와,
    T-Table의 Entry중 ClassID가 a이고 b가 ClassID인 subclass를 갖는 엔트리를 삭제하는 void delete(ClassID a, ClassID b) 메쏘드와,
    T-Table에 반환할 엔트리가 더 있는지 여부를 반환하는 boolean hasMoreEntry() 메쏘드와,
    T-Table로부터 마지막으로 반환된 다음번 엔트리를 반환하는 TEntry getNext() 메쏘드와,
    T-Table에 새로운 엔트리를 추가할 공간이 있는지 여부를 반환하는 boolean noRoom() 메쏘드와,
    T-Table이 비어있는지 여부를 반환하는 boolean empty() 메쏘드와,
    T-Table의 내용에 대한 요약(Hash code)을 반환하는 Digest hash() 메쏘드
    로 구성되는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 시스템.
  18. 제16항에 있어서,
    상기 T-Table 엔트리를 표현하는 자료구조체인 TEntry는,
    T-Table 엔트리의 ClassID 필드 값을 반환하는 ClassID getClassID() 메쏘드와,
    T-Table 엔트리의 Subclass 필드 값을 반환하는 ClassID getSubclass() 메쏘드
    로 구성되는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 시스템.
  19. 제16항에 있어서,
    상기 로컬 서비스 캐쉬의 D-Table에 관련된 Operation들은,
    D-Table을 표현하는 자료구조체 DTable과,
    D-Table의 Entry중 Location이 l인 엔트리를 반환하는 DEntry get(Location 1) 메쏘드와,
    새로운 엔트리 a를 순차적으로 D-Table에 추가하는 void addInOrder(DEntry a) 메쏘드와,
    D-Table의 Entry중 Location이 l인 엔트리를 삭제하는 void delete(Location l) 메쏘드와,
    D-Table에 반환할 엔트리가 더 있는지 여부를 반환하는 boolean hasMoreEntry() 메쏘드와,
    D-Table로부터 마지막으로 반환된 다음번 엔트리를 반환하는 DEntry getNext() 메쏘드와,
    D-Table로부터 TS(Timestamp)필드의 값이 가장 큰 엔트리를 반환하는 DEntry getEntryWithMinimumTS() 메쏘드와,
    D-Table로부터 주어진 ClassID a를 갖는 모든 엔트리들을 반환하는 DEntrySet getEntryWIthClassID(ClassID a): 메쏘드와,
    D-Table에 새로운 엔트리를 추가할 공간이 있는지 여부를 반환하는 boolean noRoom() 메쏘드와,
    D-Table이 비어있는지 여부를 반환하는 boolean empty() 메쏘드와,
    D-Table의 내용에 대한 요약(Hash code)을 반환하는 Digest hash() 메쏘드
    로 구성되는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 시스템.
  20. 제19항에 있어서,
    상기 D-Table 엔트리를 표현하는 자료구조체인 DEntry는,
    D-Table 엔트리의 ClassID 필드 값을 반환하는 ClassID getClassID() 메쏘드와,
    D-Table 엔트리의 Name 필드 값을 반환하는 Name getName() 메쏘드와,
    D-Table 엔트리의 Location 필드 값을 반환하는 Loaction getLocation() 메쏘드와,
    D-Table 엔트리의 TS 필드 값을 반환 Time getTS() 메쏘드와,
    D-Table 엔트리의 TS 필드 값을 주어진 시간 t로 설정하는 void setTS(Time t) 메쏘드
    로 구성되는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 시스템.
  21. 제16항에 있어서,
    상기 D-Table 엔트리 목록을 표현하는 자료구조체인 DEntrySet은,
    D-Table 엔트리 목록에 반환할 엔트리가 더 있는지 여부를 반환하는 boolean hasMoreEntry() 메쏘드와,
    D-Table엔트리 목록으로부터 마지막으로 반환된 다음번 엔트리를 반환하는 DEntry getNext() 메쏘드
    로 구성되는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 시스템.
  22. 제13항에 있어서,
    상기 로컬 서비스 캐쉬 관리기에서의 로컬 서비스 캐쉬 관리 알고리즘은, 로 컬 캐쉬 관리기에서 수행되며, T-Table 및 D-Table에 대한 기본 Operation을 기반으로 새로운 캐쉬 엔트리를 추가하는 Insertion 알고리즘과, 두 개의 캐쉬의 내용을 합치는 Merging 알고리즘과, 기존의 캐쉬 엔트리를 삭제하는 Removal 알고리즘으로 구성되는 것을 특징으로 하는 온톨로지 기반의 애드혹 서비스 검색 시스템.
KR1020030094805A 2003-12-22 2003-12-22 온톨로지 기반의 애드혹 서비스 검색 시스템 및 방법 KR100576935B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020030094805A KR100576935B1 (ko) 2003-12-22 2003-12-22 온톨로지 기반의 애드혹 서비스 검색 시스템 및 방법
US10/867,792 US20050138173A1 (en) 2003-12-22 2004-06-16 Ontology-based service discovery system and method for ad hoc networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030094805A KR100576935B1 (ko) 2003-12-22 2003-12-22 온톨로지 기반의 애드혹 서비스 검색 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20050063405A KR20050063405A (ko) 2005-06-28
KR100576935B1 true KR100576935B1 (ko) 2006-05-10

Family

ID=34675920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030094805A KR100576935B1 (ko) 2003-12-22 2003-12-22 온톨로지 기반의 애드혹 서비스 검색 시스템 및 방법

Country Status (2)

Country Link
US (1) US20050138173A1 (ko)
KR (1) KR100576935B1 (ko)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412746B2 (en) 2001-05-25 2013-04-02 International Business Machines Corporation Method and system for federated querying of data sources
US20030101170A1 (en) * 2001-05-25 2003-05-29 Joseph Edelstein Data query and location through a central ontology model
US7877421B2 (en) * 2001-05-25 2011-01-25 International Business Machines Corporation Method and system for mapping enterprise data assets to a semantic information model
US20060064666A1 (en) 2001-05-25 2006-03-23 Amaru Ruth M Business rules for configurable metamodels and enterprise impact analysis
US7146399B2 (en) * 2001-05-25 2006-12-05 2006 Trident Company Run-time architecture for enterprise integration with transformation generation
US7099885B2 (en) * 2001-05-25 2006-08-29 Unicorn Solutions Method and system for collaborative ontology modeling
WO2004102417A1 (en) * 2003-05-16 2004-11-25 Docomo Communications Laboratories Europe Gmbh Personalized service selection
US7383302B2 (en) * 2003-09-15 2008-06-03 International Business Machines Corporation Method and system for providing a common collaboration framework accessible from within multiple applications
US20050114475A1 (en) * 2003-11-24 2005-05-26 Hung-Yang Chang System and method for collaborative development environments
US7254589B2 (en) * 2004-05-21 2007-08-07 International Business Machines Corporation Apparatus and method for managing and inferencing contextural relationships accessed by the context engine to answer queries received from the application program interface, wherein ontology manager is operationally coupled with a working memory
US7493349B2 (en) * 2004-07-09 2009-02-17 International Business Machines Corporation Method and system for performing a backup by querying a backup infrastructure
US20060041596A1 (en) * 2004-08-19 2006-02-23 Vlad Stirbu Caching directory server data for controlling the disposition of multimedia data on a network
US8312132B2 (en) * 2004-08-20 2012-11-13 Core Wireless Licensing S.A.R.L. Context data in UPNP service information
US8549180B2 (en) * 2004-10-22 2013-10-01 Microsoft Corporation Optimizing access to federation infrastructure-based resources
US8095601B2 (en) * 2004-10-22 2012-01-10 Microsoft Corporation Inter-proximity communication within a rendezvous federation
US8392515B2 (en) * 2004-10-22 2013-03-05 Microsoft Corporation Subfederation creation and maintenance in a federation infrastructure
US7958262B2 (en) * 2004-10-22 2011-06-07 Microsoft Corporation Allocating and reclaiming resources within a rendezvous federation
US8095600B2 (en) * 2004-10-22 2012-01-10 Microsoft Corporation Inter-proximity communication within a rendezvous federation
US8014321B2 (en) * 2004-10-22 2011-09-06 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US7730220B2 (en) 2004-10-22 2010-06-01 Microsoft Corporation Broadcasting communication within a rendezvous federation
US20110082928A1 (en) * 2004-10-22 2011-04-07 Microsoft Corporation Maintaining consistency within a federation infrastructure
US7694167B2 (en) * 2004-10-22 2010-04-06 Microsoft Corporation Maintaining routing consistency within a rendezvous federation
US20080288659A1 (en) 2006-11-09 2008-11-20 Microsoft Corporation Maintaining consistency within a federation infrastructure
US20060090003A1 (en) * 2004-10-22 2006-04-27 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US20060168126A1 (en) * 2004-12-21 2006-07-27 Jose Costa-Requena Aggregated content listing for ad-hoc peer to peer networks
EP1681823A1 (en) * 2005-01-17 2006-07-19 Sap Ag A method and a system to organize and manage a semantic web service discovery
US8135859B1 (en) * 2005-01-19 2012-03-13 Microsoft Corporation System and method for providing infrastructure services without a designated network manager
US20060239190A1 (en) * 2005-04-25 2006-10-26 Matsushita Electric Industrial Co., Ltd. Policy-based device/service discovery and dissemination of device profile and capability information for P2P networking
US20090222530A1 (en) * 2005-08-23 2009-09-03 Matsushita Electric Industrial Co., Ltd. System and Method for Service Discovery in a Computer Network Using Dynamic Proxy and Data Dissemination
US20070078959A1 (en) * 2005-10-03 2007-04-05 Yinghua Ye Low-power proxy for providing content listings in ad-hoc, peer to peer networks
KR100802511B1 (ko) * 2005-10-11 2008-02-13 주식회사 코리아 와이즈넛 토픽 기반의 검색 서비스 제공 시스템 및 그 방법
US9049205B2 (en) * 2005-12-22 2015-06-02 Genesys Telecommunications Laboratories, Inc. System and methods for locating and acquisitioning a service connection via request broadcasting over a data packet network
US7640356B2 (en) * 2006-03-10 2009-12-29 Cisco Technology, Inc. Method and system for reducing cache warm-up time to suppress transmission of redundant data
US20080154906A1 (en) * 2006-12-22 2008-06-26 International Business Machines Corporation Selecting information for ad hoc exchange
US7831717B2 (en) * 2007-05-31 2010-11-09 Nokia Corporation Connectivity information sharing in a smart space having a multiplicity of radio access technologies
US8331294B2 (en) * 2007-07-20 2012-12-11 Broadcom Corporation Method and system for managing information among personalized and shared resources with a personalized portable device
US9417934B2 (en) * 2007-08-31 2016-08-16 Core Wireless Licensing S.A.R.L. Information distribution in a dynamic multi-device environment
KR100938471B1 (ko) * 2007-10-31 2010-01-25 전자부품연구원 무선 센서네트워크를 이용한 공유 리소스 탐색 시스템, 그탐색 방법 및 등록 방법
WO2009060263A1 (en) * 2007-11-08 2009-05-14 Nokia Corporation Connectivity architecture for service discovery
WO2009106930A1 (en) * 2008-02-27 2009-09-03 Nokia Corporation Transport independent architecture
CN101960792B (zh) * 2008-02-27 2014-05-28 诺基亚公司 用于多传输方式架构的缓冲器控制的方法、设备和系统
US9094463B2 (en) * 2008-02-29 2015-07-28 Telefonaktiebolaget L M Ericsson (Publ) Technique for performing signaling conversion between HTTP and SIP domains
US10277683B2 (en) 2009-03-16 2019-04-30 Apple Inc. Multifunctional devices as virtual accessories
US20100233960A1 (en) * 2009-03-16 2010-09-16 Brian Tucker Service discovery functionality utilizing personal area network protocols
US8285860B2 (en) * 2009-03-16 2012-10-09 Apple Inc. Efficient service discovery for peer-to-peer networking devices
US20100235523A1 (en) * 2009-03-16 2010-09-16 Robert Garcia Framework for supporting multi-device collaboration
US8243623B2 (en) * 2009-03-31 2012-08-14 Intel Corporation Combined device and service discovery technique in stations supporting tunneled direct link setup (TDLS)
KR101132270B1 (ko) * 2009-05-21 2012-04-02 제주대학교 산학협력단 Usn 미들웨어 응용 서비스 향상을 위한 다중 질의 처리 방법 및 시스템
US9778953B2 (en) * 2009-06-16 2017-10-03 International Business Machines Corporation Process and system for comprehensive IT discovery without credentials
US8583699B2 (en) 2010-04-30 2013-11-12 International Business Machines Corporation Web service discovery via data abstraction model augmented by field relationship identification
US8949280B2 (en) 2010-04-30 2015-02-03 International Business Machines Corporation Web service discovery via data abstraction model with input assistance
US8275806B2 (en) * 2010-04-30 2012-09-25 International Business Machines Corporation Web service discovery via data abstraction model and condition creation
US8250113B2 (en) 2010-04-30 2012-08-21 International Business Machines Corporation Web service discovery via data abstraction model
CN101931654B (zh) * 2010-09-07 2012-11-28 上海交通大学 基于本体的异构服务匹配系统
US8788630B2 (en) * 2011-04-02 2014-07-22 Open Invention Network, Llc System and method for proxy address neutrality
KR101379706B1 (ko) * 2011-12-14 2014-04-01 전남대학교산학협력단 캐시 기반 지그비 네트워크 검색 방법
US9400647B2 (en) 2013-03-15 2016-07-26 Sap Se Application discovery and integration using semantic metamodels
US9674048B2 (en) * 2013-06-03 2017-06-06 Qualcomm Incorporated Efficient infrastructure service discovery with security
US9473944B2 (en) 2014-02-24 2016-10-18 Microsoft Technology Licensing, Llc Local personal daemon
US10114874B2 (en) * 2014-02-24 2018-10-30 Red Hat, Inc. Source query caching as fault prevention for federated queries
US9432472B2 (en) 2014-02-24 2016-08-30 Microsoft Technology Licensing, Llc Accelerated training of personal daemons
US9218497B2 (en) 2014-02-24 2015-12-22 Microsoft Technology Licensing, Llc Incentive-based app execution
US9560055B2 (en) 2014-04-30 2017-01-31 Microsoft Technology Licensing, Llc Client-side integration framework of services
CN104333591A (zh) * 2014-10-31 2015-02-04 广东工业大学 一种信息物理融合系统的分布式语义服务发现方法
KR101580096B1 (ko) * 2014-11-14 2015-12-29 충북대학교 산학협력단 모바일 p2p 네트워크에서 그룹 기반의 캐시 공유 시스템 및 방법
CN107025240A (zh) * 2016-02-01 2017-08-08 国家超级计算深圳中心(深圳云计算中心) 一种语义网络中本体查询的缓存方法及系统
US11061944B2 (en) * 2017-01-30 2021-07-13 Micro Focus Llc Inferring topological linkages between components
US10528228B2 (en) 2017-06-21 2020-01-07 Microsoft Technology Licensing, Llc Interaction with notifications across devices with a digital assistant
CN108494888A (zh) * 2018-01-18 2018-09-04 新开普电子股份有限公司 低功耗无线自组网通信协议栈
CN109067851B (zh) * 2018-07-13 2020-11-13 中国电子科技集团公司第十五研究所 一种物联网中物体信息的发现方法
CN110941698B (zh) * 2019-11-18 2022-09-27 陕西师范大学 一种基于bert下卷积神经网络的服务发现方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4402046A (en) * 1978-12-21 1983-08-30 Intel Corporation Interprocessor communication system
US4577274A (en) * 1983-07-11 1986-03-18 At&T Bell Laboratories Demand paging scheme for a multi-ATB shared memory processing system
US6427187B2 (en) * 1998-07-31 2002-07-30 Cache Flow, Inc. Multiple cache communication
JP2001175467A (ja) * 1999-12-07 2001-06-29 Kizna.Com Inc コンピュータのセキュリティー確保方法及びそのプログラムを記録した媒体
AU2003224673A1 (en) * 2002-03-08 2003-09-22 Enleague Systems, Inc Methods and systems for modeling and using computer resources over a heterogeneous distributed network using semantic ontologies
US6909721B2 (en) * 2002-10-31 2005-06-21 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network

Also Published As

Publication number Publication date
US20050138173A1 (en) 2005-06-23
KR20050063405A (ko) 2005-06-28

Similar Documents

Publication Publication Date Title
KR100576935B1 (ko) 온톨로지 기반의 애드혹 서비스 검색 시스템 및 방법
US7181442B2 (en) Method and apparatus for discovery of dynamic network services
Ratsimor et al. Allia: Alliance-based service discovery for ad-hoc environments
US6092096A (en) Routing in data communications network
US20030005132A1 (en) Distributed service creation and distribution
JP5541812B2 (ja) コンテンツを公表するための方法及びシステム、コンテンツを検索するための方法及びシステム
Wang et al. Buddyweb: A p2p-based collaborative web caching system
JP4954328B2 (ja) 通信ネットワークにおけるデータ管理のための方法およびシステム
Sacha et al. Decentralising a service-oriented architecture
Shi et al. Tinymq: A content-based publish/subscribe middleware for wireless sensor networks
Amoretti et al. DINAS: A lightweight and efficient distributed naming service for ALL-IP wireless sensor networks
Friese et al. A framework for resource management in peer-to-peer networks
Flores-Cortés et al. A multi-protocol framework for ad-hoc service discovery
Basu et al. Scalable service composition in mobile ad hoc networks using hierarchical task graphs
Banerjee et al. The survey, research challenges, and opportunities in ICN
JP2006171917A (ja) 無線マルチホップアドホックネットワークのためのプロトコル
Lilley Scalability in an International Naming System
Gaddah A pro-active mobility management scheme for publish/subscribe middleware systems
Jin et al. A unified service discovery framework
Cortés et al. Service Discovery in Highly Heterogeneous Mobile Environments
Jin et al. Towards an RFID-oriented service discovery system
Lim et al. Remote data access scheme for service delivery and invocation based on SOAP protocol
Benchi et al. JOMS: A Java message service provider for disconnected MANETs
Bellavista et al. Resource and Service Discovery
Thangam et al. Analysis of Various Service Discovery Protocols for Infrastructure-less Networks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100401

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee