KR100878157B1 - 프로세스 정보를 이용한 지능적 웹 서비스 발견 방법 - Google Patents

프로세스 정보를 이용한 지능적 웹 서비스 발견 방법 Download PDF

Info

Publication number
KR100878157B1
KR100878157B1 KR1020070046987A KR20070046987A KR100878157B1 KR 100878157 B1 KR100878157 B1 KR 100878157B1 KR 1020070046987 A KR1020070046987 A KR 1020070046987A KR 20070046987 A KR20070046987 A KR 20070046987A KR 100878157 B1 KR100878157 B1 KR 100878157B1
Authority
KR
South Korea
Prior art keywords
concept
matchmaking
web service
name
concepts
Prior art date
Application number
KR1020070046987A
Other languages
English (en)
Other versions
KR20080100931A (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 KR1020070046987A priority Critical patent/KR100878157B1/ko
Publication of KR20080100931A publication Critical patent/KR20080100931A/ko
Application granted granted Critical
Publication of KR100878157B1 publication Critical patent/KR100878157B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology

Abstract

본 발명은 기존의 시맨틱 웹 서비스 발견의 문제점들을 해결하고 지능적 웹 서비스 발견을 제공하기 위해, 프로세스 정보를 표현한 프로세스 기반 온톨로지를 기반으로 하여 사용자의 질의에 만족하는 프로세스 매치메이킹 방법을 제안한다. 자세하게는 웹 서비스의 발견 방법에 있어, 프로세스 기반 온톨로지를 사용하며, 프로세스 이름, 입력 이름 또는 출력 이름에 대한 구문적인 유사도를 계산하여 프로세스를 발견하는 프로세스 시그니처 매치메이킹 단계; 특정한 프로세스 제어구조를 갖는 프로세스를 포함하는 상위 프로세스를 발견하는 프로세스 구조 매치메이킹 단계; 특정한 개념에 포함되는 프로세스를 찾는 프로세스 개념 매치메이킹 단계를 포함하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법을 제공한다.
본 발명의 프로세스 기반 웹 서비스 발견 방법은 기존의 발견보다 상세하게 서비스를 기술하고 발견하게 함으로써 지능적 웹 서비스 발견이 가능하게 하며, 프로세스 정보를 이용한 검색은 지능적 웹 서비스 발견에서 요구되는 서비스 발견의 정확률과 재현률을 높이는 효과를 제공한다. 또한 서비스의 자동화를 위한 발견 시스템은 물론, 서비스의 조합, 통합 및 상호 운영을 위한 시스템에 활용될 수 있다.
토픽 맵(topic map), 온톨로지(ontology), 프로세스 온톨로지(process ontology), 매치메이킹(match making), 웹 서비스 발견(web service discovery), 시맨틱 웹(semantic web)

Description

프로세스 정보를 이용한 지능적 웹 서비스 발견 방법{Method of Semantic Web Service Discovery using Process-based Ontology}
도 1은 본 발명의 발견 방법에 따른 2개의 입력 이름에 대한 유사도 계산 방법을 도시한 예이며,
도 2는 본 발명의 발견 방법에 따른 프로세스 시그니처 매치메이킹 알고리즘의 일 실시예이며,
도 3은 복합 프로세스 형태로 순차 구조를 가지는 프로세스의 일 예이며,
도 4는 복합 프로세스 형태로 병렬 구조를 가지는 프로세스의 일 예이며,
도 5는 복합 프로세스 형태로 선택 구조를 가지는 프로세스의 일 예이며,
도 6은 본 발명의 발견 방법에 따른 프로세스 구조 분석 알고리즘의 일 실시예이며,
도 7은 본 발명의 발견 방법에 따른 프로세스 개념 매치메이킹 알고리즘의 일 실시예이며,
도 8은 본 발명의 발견 방법에 따른 프로세스 개념 매치메이킹 알고리즘의 다른 일 실시예이다.
본 발명은 프로세스 정보를 표현한 프로세스 기반 온톨로지를 기반으로 하여 사용자의 질의에 만족하는 프로세스를 발견하기 위해 프로세스 매치메이킹 방법을 제안한다. 자세하게는 웹 서비스의 발견 방법에 있어, 프로세스 기반 온톨로지를 사용하며, 프로세스 이름, 입력 이름 또는 출력 이름에 대한 구문적인 유사도를 계산하여 프로세스를 발견하는 프로세스 시그니처 매치메이킹 단계; 특정한 프로세스 제어구조를 갖는 프로세스를 포함하는 상위 프로세스를 발견하는 프로세스 구조 매치메이킹 단계; 특정한 개념에 포함되는 프로세스를 찾는 프로세스 개념 매치메이킹 단계를 포함하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법을 제안한다.
웹 서비스(web service)란 네트워크(network) 상에서 공동 이용 가능한 기계간에 상호 작용을 제공하기위해 설계된 소프트웨어 시스템이다. 현재까지 가장 광범위하게 쓰이는 웹 서비스의 표준은 서비스의 기술(description)을 위해 WSDL(Web Service Description Language)이 사용되고, 서비스의 발견(discovery)을 위해 UDDI(Universal Description Discovery and Integration)이 사용된다. 서비스 제공자는 WSDL을 이용하여 서비스를 기술하고, UDDI 레지스트리(registry)에 서비스를 등록한다. 서비스 요구자는 UDDI 레지스트리를 통해 원하는 서비스를 검색한다. 그러나 WSDL은 서비스의 구문 정보(syntactic information)만을 기술하고, UDDI는 키워드를 기반으로 키워드와 일치하는 웹 서비스를 검색 제공한다. 초기의 웹 서비스 발견에 있어서 좋은 검색엔진이란 곧 하나의 키워드에 대해 가능한 많은 웹 서비스를 찾아주는 것을 의미했으나, 인터넷 정보량의 기하급수적 팽창에 따라 이러한 키워드 기반의 웹서비스 발견은 오히려 사용자가 원하는 웹 서비스 발견에 있어 걸림돌이 되고 있다. 사용자는 원하는 정보를 찾기 위해 수백 페이지에 달하는 웹 서비스 목록을 일일이 확인하며 스스로 원하는 웹 서비스를 찾아야 했으며, 서비스 제공자는 자동화 되지 못한 서비스의 구축과 유지를 위해 고비용과 많은 시간을 들여야 했다.
또한 키워드 기반의 웹 서비스 발견은 사용자가 입력한 몇 개의 단어의 조합에 따른 기계적 연산에 의해 정확함이 판별되어 제공되므로, 사용자가 원하는 서비스를 개인적으로 정확한 의미를 갖도록 상세히 표현하는 방법에 있어 한계가 존재한다.
이러한 문제를 해결하고자 2000년에 이르러 시맨틱 웹(semantic web)의 개념이 등장하였다. 시맨틱 웹은 확률과 규칙언어 기반이 아닌 의미기반 검색 기법이다. 의미기반이란 인간의 지적 영역인 지식과 추론 및 해석을 컴퓨터가 이해할 수 있는 개념과 언어로 표현하는 것이다. 따라서 컴퓨터 스스로 웹에 연결된 정보의 의미를 인식하고 의미에 따라 선택적으로 정보를 얻고 통합이나 가공하여 객관적인 의미의 정확한 정보가 아닌 사용자 개인에게 있어서 개인적 의미의 정확한 정보를 제공할 수 있게 한다.
시맨틱 웹의 가장 중요한 기술은 온톨로지(ontology)이다. 온톨로지는 개념들, 개념과 개념 사이의 관계를 정의하며, 개념들을 계층적으로 표현하고 이를 확 장하여 추론 규칙을 제공한다.
시맨틱 웹 서비스 발견은 WSMO(Web Service Modeling Ontology)와 OWL-S(OWL-based Web Service Ontology)의 서비스 프로파일(service profile)을 이용하여 검색된다. 서비스 프로파일은 서비스를 발견하기 위해 필요한 정보를 제공하는 온톨로지로, 서비스를 제공하는 사람이나 기관, 서비스의 능력 및 서비스의 특성의 3가지 정보로 구성되어 있다. 서비스의 능력은 정보 변화와 상태 변화를 표현한다. 정보 변화는 실행을 위해 요구되는 정보인 입력(input)과 실행 결과 정보인 출력(output)이다. 상태 변화는 서비스의 성공적인 실행을 위한 조건인 제약(precondition)과 서비스 실행에서 기대되는 결과인 효과(effect)로 나타낸다. 서비스의 특징은 서비스의 분류(classification)나 품질(quality) 등을 이용하여 기술할 수 있다.
최근 이뤄지는 시맨틱 웹 서비스 발견 연구는 매치메이커 프로젝트(matchmaker project), METOR-S 프로젝트, WSMO 발견 명세서를 들 수 있다.
매치메이커 프로젝트에 의한 시맨틱 웹 서비스 발견 연구는 OWL-S의 서비스 프로파일로 정의된 서비스를 OWL-S 매칭 엔진을 이용하여 발견할 뿐만 아니라, UDDI를 이용하여 서비스를 검색한다. OWL-S 매칭 엔진은 서비스 프로파일에 정의된 입력/출력 개념간의 매칭 정도만을 비교하여 서비스를 검색한다. 이 매칭 정도는 4가지의 매칭 알고리즘을 이용하여 정의된다. 출력(output)에 대한 매칭 알고리즘을 일 예로 설명하자면, 사용자가 질의한 출력인 outR과 등록된 서비스의 출력인 outA에 대한 매칭은 outR과 outA가 동일하거나 outR이 outA의 하위클래스에 속할 경우, 정확(exact)하게 매칭된다. 단순히 outA가 outR를 포함할 때는 플러그인(plugIn), 반대의 경우는 포함(subsume)으로 정의하며, 그 외의 경우는 일치하지 않는 것(fail)으로 정의된다.
METOR-S 프로젝트는 e-워크플로우(e-Workflow)에서 서비스를 추가 시, 서비스를 발견하는 방법에 대한 것으로, OWL-S의 버전 0.7에 정의된 프로파일 온톨로지를 이용하여 서비스를 정의하였다. 이 연구는 서비스 이름, 설명, 입력/출력, QoS(Quality of Service) 정보를 이용하여 서비스를 검색한다. 이 요소들은 3가지 유사도 계산을 통해 서비스 매칭을 수행한다. 즉, 구문 유사도(syntactic similarity), 운영 유사도(operational similarity), 의미 유사도(semantic similarity)이다. 구문 유사도는 서비스 이름과 설명에 대해 구문 매칭을 이용하여 유사도를 구한 것이다. 운영 유사도는 서비스의 QoS 즉, 시간, 비용, 신뢰성을 이용하여 유사도를 계산한다. 의미 유사도는 입력/출력 간의 의미적인 포함 관계 및 구문적인 유사도를 계산하여 구한다. 검색 결과는 사용자가 선택한 유사도 방법을 기준으로 유사도 값이 가장 큰 순서대로 정렬되어 사용자에게 출력된다.
WSMO를 이용한 발견 연구는 WSMO 발견 명세서에 정의된 발견 방법을 제외하고는 아직은 구체적으로 개발된 것이 없다. WSMO 발견 명세서에 정의된 발견 방법은 목적 발견, 웹 서비스 발견 및 서비스 발견 방법을 제공한다. 목적 발견은 목적 레파지토리(repository)에서 기존의 정의된 목적들을 찾는 것이다. 즉, 사용자는 자신의 요구 사항과 유사한 목적을 찾아 수정함으로서 재사용하게 된다. 웹 서비스 발견은 자신이 기술한 목적에 맞는 시맨틱 웹 기반의 서비스를 찾는 것을 의 미하며, 서비스 발견은 웹 서비스 발견을 통해 찾은 서비스가 사용자의 요구 사항과 구체적으로 맞는지 체크하는 과정을 의미한다.
하지만 이러한 시맨틱 웹 서비스 발견 또한 한계를 가지고 있다.
첫 번째 문제점은 서비스의 이름, 입력/출력(input/output), 제약/효과(precondition/effect)의 형식을 이용하여 웹 서비스를 발견하는 시맨틱 웹 서비스 발견은 유사한 클래스에서 동일한 입력 값에 대한 동일한 출력 값이 발생할 경우 사용자가 원하는 정보로 인식하고 해당하는 서비스를 제공하게 된다는 점이다. 전화번호로 책값을 지불할 수 있는 인터넷 서점을 찾고 싶은 사용자의 요구를 언어로 나타낸 쿼리(query 이하 Q)가 "find a book sale service that accepts payment by telephone number" (Q1)일 때 book sale service라는 클래스에서 입력/출력은 telephone number/payment가 된다. 이러한 조건에 의해 발견된 서비스들은 book sale service에서 결제를 위한 로그인(log in)에 있어 아이디(ID)와 비밀번호(password)의 분실 시 그 확인을 위한 프로세스(process)에서 telephone number가 필요한 서비스 1과 book sale service에 있어 결재를 위한 프로세스에서 telephone number가 필요한 서비스 2가 구별되지 않으며, 두 서비스는 동일하게 사용자에게 제공된다. 따라서 웹 서비스의 발견 시 입력/출력(input/output), 제약/효과(precondition/effect)와 더불어 연관된 프로세스를 같이 검색하여 서비스를 검색해야 한다.
두 번째 문제점은 프로세스의 단순 개념만을 검색한다는 점이다. 웹 서비스를 위한 온톨로지 웹 언어(OWL-based web Service, OWL-S)의 프로세스 모델은 프로 세스 온톨로지에 대한 개념과 문법을 제공하지 못하므로 사용자의 쿼리에 의미적으로 연관된 프로세스에 대해서는 검색이 불가능하다.
세 번째 문제점은 서비스의 수행 과정에 대한 상세 정보를 알 수 없다는 점이다. 따라서 하나의 서비스를 이루는 내부 프로세스들인 내부 행위(internal behavior)를 내포하는 쿼리의 수행이 불가능하다. 먼저 책을 받은 후에 책값을 지불할 수 있는 인터넷 서점을 찾고 싶은 사용자의 요구를 언어로 나타낸 쿼리가 "find a book sale service allowing deferred payment after delivery" (Q2)일 때 book sale service 내부의 deferred payment after delivery와 같은 내부 행위에 대한 검색이 불가능하다.
따라서 이와 같은 시맨틱 웹의 웹 서비스 발견 기법은 사용자가 원하지 않는 정보의 제공과 제약된 정보의 제공과 더불어 사용자가 효과적으로 개인의 요구를 표현할 수 없는 문제점을 야기한다.
위와 같은 문제점들을 해결하기 위해 프로세스 정보를 표현한 프로세스 기반 온톨로지를 기반으로 하여 사용자의 질의에 만족하는 프로세스 매치메이킹 방법을 제안한다.
본 발명은 상술한 기술적 과제를 이루기 위해 웹 서비스의 발견 방법에 있 어, 프로세스 기반 온톨로지를 사용하며, 프로세스 이름, 입력 이름 또는 출력 이름에 대한 구문적인 유사도를 계산하여 프로세스를 발견하는 프로세스 시그니처 매치메이킹 단계; 특정한 프로세스 제어구조를 갖는 프로세스를 포함하는 상위 프로세스를 발견하는 프로세스 구조 매치메이킹 단계; 특정한 개념에 포함되는 프로세스를 찾는 프로세스 개념 매치메이킹 단계를 포함하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법을 제공한다.
이때, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가진다.
또한 다음에 소개되는 실시예들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위한 예로서 제공되는 것이다. 따라서, 본 발명은 이하 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다.
상기 프로세스 기반 온톨로지(이하 TM-S 온톨로지)는 온톨로지 언어인 토픽 맵을 이용하며, 프로세스 이름 또는 입력/출력에 대한 이름에 대한 정의를 포함하는 프로세스 시그니처 온톨로지; 프로세스 제어 구조에 대한 정의를 포함하는 프로세스 구조 온톨로지; 프로세스 개념들에 대한 정의, 개념들 간의 관계의 정의, 개념들에 대한 관점의 정의, 개념들 간의 분류 정의 또는 분류에 대한 관점의 정의를 포함하는 프로세스 개념 온톨로지를 포함함을 특징으로 한다.
상기 프로세스 시그니처 온톨로지는 프로세스와 상기 프로세스와 연관되어 있는 요구정보/결과정보인 입력/출력(input/output)에 대한 텍스트 정보를 정의한다. 즉 프로세스 시그니처 온톨로지는 프로세스의 이름과 입력/출력 이름에 대한 정의를 포함한다. 상기 프로세스 구조 온톨로지는 서비스의 내부 동작(internal behavior)을 기술하기 위한 온톨로지로 순차(sequence), 분리(split), 분리와 결합(split and join), 임의-순서 (and-order), 선택(choice), 조건(if-then-else), 반복(iterate) 같은 프로세스 구조를 표현하기 위해 필요한 제어 구조의 정의를 포함한다. 상기 프로세스 개념 온톨로지는 프로세스 개념을 다양한 관점에서 정의한 것으로써, 프로세스 개념들에 대한 정의, 개념들 간의 관계의 정의, 개념들에 대한 관점의 정의, 개념들 간의 분류 정의 또는 분류에 대한 관점의 정의를 포함한다.
TM-S 온톨로지를 XTM을 이용하여 기술함에 있어, 프로세스 시그니처 온톨로지의 프로세스, 입력/출력, 또는 프로세스 구조 온톨로지의 제어 구조의 개념은 토픽 맵의 토픽으로 정의된다. 또한 프로세스 시그니처 온톨로지의 프로세스 이름 또는 입력/출력의 이름들은 토픽의 베이스이름(basename)으로 정의된다. 프로세스 시그니처 온톨로지의 프로세스와 입력/출력의 관계 또는 프로세스 구조 온톨로지의 프로세스들 간의 제어 구조는 토픽 맵의 연관관계를 이용하여 표현된다. 프로세스 개념 온톨로지는 토픽 맵의 토픽을 이용하여 개념을 정의하고, 슈퍼클래스 - 서브클래스(superclass - subclass) 또는 슈퍼프로퍼티 - 서브프로퍼티(superproperty - subproperty)를 포함하는 연관관계를 이용하여 개념들 간의 계층 구조를 표현하고 연관관계를 이용하여 다중 관계를 표현하며, 연관관계의 스코프를 이용하여 개념에 대한 관점을 표현한다.
일반적으로 매치메이킹(matchmaking)은 사용자의 질의에 충분히 유사한 서비스들을 찾는 것을 의미하며, 본 발명에서는 상기 TM-S 온톨로지를 기반으로 하여, 사용자의 질의에 만족하는 프로세스들을 찾아주는 프로세스 기반 웹 서비스의 발견(이하 TM-S 매치메이킹) 방법을 제공한다.
본 발명의 TM-S 매치메이킹 방법은 상기의 TM-S온톨로지를 바탕으로 하며, 프로세스 이름, 입력 이름 또는 출력 이름에 대한 구문적인 유사도를 계산하여 프로세스를 발견하는 프로세스 시그니처 매치메이킹 단계; 특정한 프로세스 제어구조를 갖는 프로세스를 포함하는 상위 프로세스를 발견하는 프로세스 구조 매치메이킹 단계; 특정한 개념에 포함되는 프로세스를 찾는 프로세스 개념 매치메이킹 단계를 포함하는 것을 특징으로 한다.
프로세스 시그니처 매치메이킹과 프로세스 구조 매치메이킹은 서비스 내부 정보를 정의한 온톨로지를 이용하여 사용자가 원하는 프로세스들을 발견함으로써, 프로세스 발견의 정확률을 향상시키는 기능을 제공한다. 또한 프로세스 개념 매치메이킹은 의미적으로 관련된 프로세스들을 발견함으로써, 프로세스 발견의 재현율을 높이는 효과를 가진다.
상기 프로세스 시그니처 매치메이킹 단계는 프로세스 시그니처 온톨로지를 이용하여 프로세스 이름과 그 프로세스에 관련된 입력/출력 이름에 대해 매칭을 하는 것이다. 프로세스 시그니처 매치메이킹은 프로세스 이름과 입력/출력 이름에 대한 구문적 유사도를 계산하여 매칭을 수행한다. 상기 구문 유사도는 루씬 점수 알 고리즘(Lucene's scoring algorithm)을 이용하여 두 변수간의 유사도가 계산되며 유사 정도에 따라 0 내지 1의 값을 갖는다. 구문 유사도의 계산 시 프로세스 이름과 입력/출력 이름에 따라 각각 가중치를 가진다. 입력/출력은 프로세스의 부가적 정보이므로 프로세스 이름에 대한 가중치가 입력/출력 이름에 대한 가중치보다 큰 값을 가지며, 프로세스 이름에 대한 가중치와 입력 또는 출력 이름에 대한 가중치의 합이 1 이하인 특징을 갖는다. 상기 가중치는 프로세스 이름과 입력/출력 이름에 대해 서비스 요구자가 원하는 매칭의 정도를 나타낸다. 일예로 프로세스 이름과 입력 이름의 구문 유사도는 하기의 수식 1에 의해 계산된다.
(수식 1)
Figure 112007035690217-pat00001
상기 α는 프로세스 이름에 대한 가중치이며, 상기 β는 입력 이름에 대한 가중치이다. 상기 R.pn은 서비스 요구자가 질의한 프로세스 이름이며, 상기 S.pn은 서비스 제공자가 등록한 프로세스 이름이다. 상기 SynPN() 함수는 루씬 점수 알고리즘을 이용하여 프로세스 이름인 R.pn과 S.pn의 구문적 유사도를 계산한다. 마찬가지로 상기 R.in은 서비스 요구자가 질의한 입력 이름이여, S.in은 서비스 제공자가 등록한 입력 이름이며 SynIN() 함수는 루씬 점수 알고리즘을 이용하여 입력 이름인 R.in과 S.in의 구문적 유사도를 계산한다. 따라서 SynPN(R.pn,S.pn)은 프로세스 이름에 대한 구문 유사도를 제공하며, SynIN(R.in,S.in)은 입력 이름에 대한 구문 유사도를 제공한다.
다른 일예로 프로세스 이름과 출력 이름의 구문 유사도는 하기의 수식 2에 의해 계산된다.
(수식 2)
Figure 112007035690217-pat00002
입력 이름과 출력 이름은 같은 값의 가중치 β를 가지고, 상기 R.out은 서비스 요구자에 의해 요구된 출력 이름이며, 상기 S.out은 서비스 제공자에 의해 등록된 출력 이름이며, SynOUT() 함수는 루씬 점수 알고리즘을 이용하여 출력 이름인 R.out과 S.out의 구문적 유사도를 계산한다.
하나의 프로세스에 여러 개의 입력/출력 들이 존재할 경우, 입력 이름 또는 출력 이름에 대한 구문적 유사도는 서비스 요구자의 입력 이름 또는 서비스 요구자의 출력 이름에 대해 최대의 구문적 유사도를 갖는 입력 이름 또는 출력 이름을 선택하여 구문 유사도를 계산한다. 일예로 서비스 요구자에 의한 입력한 입력 이름이 A이고 하나의 프로세스에 대해 서비스 제공자에 의해 등록된 입력 이름이 B1, B2, B3일 때, 입력 이름에 대한 구문 유사도는 SynIN(A,B1), SynIN(A,B2) 및 SynIN(A,B3)의 값 중에서 최대인 값을 선택하여 입력 이름에 대한 구문 유사도를 구한다. 따라서 서비스 요구자의 입력 이름이 하나이며, 단일한 프로세스의 입력 이름의 수가 m개라면, 프로세스 이름과 입력 이름에 대한 구문 유사도는 수식 3과 같다.
(수식 3)
Figure 112007035690217-pat00003
SynINj(R.in,S.in)에서 j는 1 내지 m으로써, 서비스 요구자의 입력 이름과 서비스 제공자가 제공하는 단일한 프로세스의 m개의 입력 이름 각각에 대한 구문 유사도를 의미하며, MAX(SynINj(R.in,S.in))은 m개의 입력 이름에 대해 각각 계산된 이름에 대한 구문 유사도 값 중 최대의 값이 선택됨을 의미한다.
또한 다수의 서비스 요구자의 입력 이름 또는 다수의 서비스 요구자의 출력 이름이 존재할 경우, 각각의 서비스 요구자의 입력 이름 또는 서비스 요구자의 출력 이름에 대해 상기 최대의 구문적 유사도를 선택하여 다수의 서비스 요구자의 입력 이름수 또는 다수의 서비스 요구자의 출력 이름수에 대해 평균을 취하여 구문적 유사도를 계산한다. 도 1은 2개의 입력 이름에 대한 유사도 계산 방법을 도시한 것이다. 도 1에 도시한 바와 같이 서비스 요구자에 의해 요구된 입력 이름이 A1 과 A2이고 하나의 프로세스에 제공된 이름이 C1, C2, C3이며, 화살표는 A1 또는 A2와 C1, C2 또는 C3에 대해 각각 계산되는 이름에 대한 구문 유사도의 측정을 의미한다. 이때 이름에 대한 구문 유사도는 SynIN(A1,C1), SynIN(A1,C2) 및 SynIN(A1,C3)의 값 중에서 최대인 값과 SynIN(A2,C1), SynIN(A2,C2) 및 SynIN(A2,C3)의 값 중에서 최대인 값을 더해 요구된 입력 이름의 수인 2로 나눈 평균값이 된다. 따라서 서비스 요구자에 의해 요구된 입력 이름의 수가 n이고, 하나의 프로세스의 입력 이름 의 수가 m일 때, 구문 유사도는 수식 4와 같다.
(수식 4)
Figure 112007035690217-pat00004
이때,
Figure 112007035690217-pat00005
의 의미는 상기 수식 3에서 설명한 것과 동일한 의미이다.
상기의 수식 3 내지 수식 4에서 프로세스 이름과 입력 이름에 대한 구문 유사도를 계산하는 방법을 제시하였으나, 프로세스 이름과 출력 이름에 대한 구문 유사도 또한 SynIN()함수 대신 SynOUT() 함수를 사용하고, R.in, S.in 대신 R.out, S.out을 사용하여 상기의 수식 3 내지 수식 4와 유사하게 계산될 수 있다.
상기 프로세스 시그니처 매치메이킹 단계는 (1a)프로세스 이름 유사도를 계산하는 단계; (2a)입력 이름 및 출력 이름에 대한 최대 유사도 값들의 평균을 계산하는 단계; (3a)가중치를 이용하여 총 유사도 값을 계산하는 단계를 포함하는 방법을 통하여 이루어진다.
상세한 프로세스 시그니처 매치메이킹 알고리즘의 일 실시예를 도 2에 도시하였다. 서비스 요구자에 의해 요구된 프로세스 이름, 입력/출력 이름, 가중치가 수신(s110)되면 상기 SynPN()함수를 사용하여 프로세스 이름 유사도를 먼저 계산(s120)한다. 이는 상기 가중치 α 및 β를 사용하며, 프로세스 이름에 대한 가중치 β를 α보다 큰값을 갖도록 하여, 프로세스 이름에 대한 매칭을 입력/출력 이름에 대한 매칭보다 중요시하는 것과 마찬가지이다. SynIN(), MAX(SynINj()) 또는
Figure 112007035690217-pat00006
MAX(SynINj()))/n 함수를 사용하여 입력/출력 이름에 대한 유사도를 계산하는 단계(s140)이전에 프로세스 이름 유사도를 먼저 계산하여(s120) 프로세스 이름 유사도를 기반으로 특정값 이상이면 유효한 프로세스로 판단하고, 특정값 이하이면 프로세스 시크니처 매치메이킹을 종료하는 판단을 내리고(s130), 유효한 프로세스일 경우 입력/출력 이름에 대한 유사도를 계산(s140)한다. 총 구문 유사도는 식 1내지 식 4를 이용하여 계산된다.
프로세스 구조 매치메이킹 단계는 특정한 프로세스 제어구조를 갖는 프로세스를 포함하는 상위 프로세스를 발견하는 것으로, 프로세스 구조 온톨로지를 이용하여 프로세스 구조를 분석하고 요구된 프로세스 구조를 갖는 상위 프로세스를 매칭을 하는 것이다. 상기 프로세스 제어구조는 순차, 분리, 분리-결합, 선택, 임의-순서, 조건 또는 반복, 또는 이들의 조합을 포함한다.
상기 프로세스 구조 매치메이킹은 상기 프로세스 제어 구조를 의미적으로 유사한 구조들로 그룹화하고 분류하여 프로세스 구조 매치메이킹을 수행한다. 상세하게는 상기 프로세스 구조 매치메이킹 단계는 순차 또는 임의-순서 구조를 발견하는 순차 구조 매치메이킹 단계, 분리 또는 분리와 결합 구조를 발견하는 병렬 구조 매치메이킹 단계, 선택 또는 조건 구조를 발견하는 선택 구조 매치메이킹 단계를 포함하는 분류된 매치메이킹 단계로 구성된다.
자세하게는 순차 구조 매치메이킹은 하위 프로세스들이 순차적으로 처리되는 상위 프로세스를 검색한다. 일예로 "배송 후(P1) 결제(P2)를 하는 도서 판매 프로세스를 찾아라"와 같은 질의를 처리하기 위해 사용한다. 이 질의는 도서 판매 프로세스들 중에서 하위 프로세스인 배송 프로세스(P1)와 결제 프로세스(P2)가 순차적으로 처리되는 것을 검색한다. 따라서 상기 순차 구조 매치메이킹은 제어 구조 중에서 순차 또는 임의-순서 구조를 가지는 프로세스들을 분석하여 검색한다.
병렬 구조 매치메이킹은 동일 프로세스에서 분기된 하위 프로세스들이 병렬적으로 처리되는 상위 프로세스를 검색한다. 일예로 "배송(P1)과 재고품 갱신(P2)이 병렬적으로 수행되는 도서 판매 프로세스를 찾아라"와 같은 질의를 처리하기 위해 사용된다. 따라서 상기 병렬 구조 매치메이킹은 제어 구조 중에서 분리 또는 분리와 조합 구조를 가지는 프로세스들을 분석하여 검색한다.
선택 구조 매치메이킹은 2개 이상의 프로세스들 중에서 조건에 맞는 하나의 프로세스만 선택하여 처리하는 구조를 가진 프로세스들을 검색한다. 일예로 "신용카드 결제(P1) 또는 무통장 입금 결제(P2)가 가능한 도서 판매 프로세스를 찾아라"와 같은 질의를 처리하기 위해 사용된다. 따라서 상기 선택 구조 매치메이킹은 제어 구조 중에서 선택 구조를 제공하는 선택 또는 조건 구조를 가지는 프로세스들을 분석하여 검색한다.
반복은 하나 또는 그 이상의 프로세스들이 반복되어 처리되는 구조이다. 본 발명의 프로세스 구조 매치메이킹에서 반복 구조는 의미적으로 한 번의 동작을 수행하는 프로세스로 취급하여 프로세스 구조를 분석 검색한다.
프로세스 구조는 여러 가지 제어 구조를 이용하여 복잡하게 표현되어 있다. 따라서 서비스 요구자의 질의 수행 시 등록된 프로세스들의 구조들을 모두 분석한 후 매치메이킹 결과를 넘겨주는 데에는 많은 시간이 요구되므로, 프로세스 구조에 대한 빠른 매치메이킹 처리 속도를 제공하기 위해, 서비스 제공자가 프로세스 구조 온톨로지를 저장할 때 미리 프로세스 구조를 분석하고 매치메이킹을 위한 구조 정보를 순차 구조 테이블, 병렬 구조 테이블 또는 조건 구조 테이블을 포함하는 데이터베이스로 저장한다.
따라서 상기 순차 구조 매치메이킹은 순차 구조 테이블을 이용하여 순차 또는 임의-순서의 제어구조를 가지는 프로세스를 검색하고, 또한 상기 병렬 구조 매치메이킹은 병렬 구조 테이블을 이용하여 분리 또는 분리와 결합의 제어구조를 가지는 프로세스를 검색하고, 상기 선택 구조 매치메이킹은 선택 구조 테이블을 이용하여 선택 또는 조건의 제어구조를 가지는 프로세스를 검색하여 검색의 시간과 효율을 높일 수 있다.
상기 순차 구조 테이블은 순차 구조를 포함하는 상위 프로세스, 선행 프로세스, 후행 프로세스, 선행 프로세스 형태 또는 후행 프로세스 형태의 정보를 포함하며, 상기 병렬 구조 테이블은 상위 프로세스, 병렬 구조를 가지는 프로세스 1과 프로세스 2, 프로세스 1의 형태 또는 프로세스 2의 형태의 정보를 포함하며, 상기 선택 구조 테이블은 상위 프로세스, 선택 가능한 프로세스, 선택 가능한 프로세스의 형태의 정보를 포함한다.
순차 구조를 가지는 프로세스의 일 실시예를 도 3에 도시하였다.
도 3과 같이 복합 프로세스 형태로 순차 구조를 가진 최상위 프로세스 A(300)가 있을 때, A 프로세스(300)는 복합 프로세스 형태인 B(310)와 원자 프로세스 형태인 c(321)와 d(322)를 하위 프로세스로 가지며, B→c→d의 순서로 실행된다. 그리고, B(310)는 원자 프로세스인 b1(311)과 b2(312)로 구성되며, b1→ b2순서로 실행된다.
순차 구조 테이블은 프로세스에 대한 순차 구조 정보들을 각각 저장한다. 이 테이블에서 RootProcess는 순차 구조를 가지는 상위 프로세스를 명시한다. 두 개의 프로세스들에 대한 순차 구조에서 선행 프로세스는 Process, 후행 프로세스는 NextProcess에 각각 저장한다. 그리고, Process type과 Next Process type은 프로세스들의 타입을 정의하는 것으로서 복합 프로세스일 경우에는 1, 원자 프로세스일 경우에는 0의 값을 가진다. 표 1은 도 3의 순차 구조 정보를 순차 구조 테이블에 저장한 것이다.
(표 1) 순차 구조 테이블
Figure 112007035690217-pat00007
병렬 구조를 가지는 프로세스의 일 실시예를 도 4에 도시하였다.
복합 프로세스 형태로 병렬 구조를 가진 프로세스 A(400)가 있을 때, A(400)는 복합 프로세스 형태인 B(410)와 원자 프로세스 형태인 e(420)를 병렬 구조로 가진다. 그리고, B(410)는 원자 프로세스 형태이면서 순차 구조를 가지는 c(411)와 d(412)를 하위 프로세스로 가진다. B(410)와 e(420)가 병렬 구조를 가지므로, B(410)의 하위 프로세스인 c(411)와 d(412)도 e(420)와 병렬 구조를 가짐을 알 수 있다
병렬 구조 테이블은 프로세스에 대한 병렬 구조 정보들을 각각 저장한다. 병렬 구조를 가지는 상위 프로세스는 RootProcess에 저장하고, 병렬 구조를 가지는 프로세스들은 Process 1과 Process 2에 각각 저장한다. 그리고, Process 1 type과 Process 2 type은 프로세스들의 타입을 정의한다. 2개 이상의 병렬 구조를 가지는 프로세스들에 대해서는 Root Process 가 같은 것들을 찾아 병렬로 수행되는 프로세스들을 찾을 수 있다. 표 2는 도 4의 병렬 구조 정보를 병렬 구조 테이블에 저장한 것이다.
(표 2) 병렬 구조 테이블
Figure 112007035690217-pat00008
선택 구조를 가지는 프로세스의 일 실시예를 도 5에 도시하였다.
도 5는 선택 구조를 가진 복합 프로세스 A(500)를 나타낸 것이다. 이 프로세스는 원자 프로세스 형태로 구성된 하위 프로세스 b(510), c(520), d(530)로 구성되어 있으며, 이 하위 프로세스들 중에 하나를 선택하여 실행한다.
선택 구조 테이블은 프로세스에 대한 선택 구조 정보들을 저장한다. 선택 구조 테이블에서 RootProcess는 다른 테이블에서와 같이 선택 구조를 가지는 상위 프로세스를 말한다. 선택하는 프로세스는 Process 1과 Process 2에 저장한다. 만일 2개 이상의 선택 프로세스가 존재할 경우에는 최소한 2개의 선택 조건을 만족하는 RootProcess들을 선택하여 AND 연산을 하여 찾을 수 있다. 표 3은 도 5에 대한 선택 구조 정보를 선택 구조 테이블에 저장한 것이다.
(표 3) 선택 구조 테이블
Figure 112007035690217-pat00009
프로세스 구조 분석 알고리즘은 도 6에 도시한 바와 같이, (1b)최상위 프로세스 검색 단계(S210); (1b)원자 프로세스인지 또는 복합 프로세스인지 판별하는 제 1 판별 단계(S220); (2b)상기 제 1 판별 단계의 판별 결과가 원자 프로세스이면 검색을 종료하고, 상기 제 1 판별 단계의 판별 결과가 복합 프로세스이면 제어 구조가 기 존재하는 구조인지 새로운 구조인지 판별하는 제 2 판별 단계(S230); (3b)상기 제 2 판별 단계(S230)의 판별 결과가 기 존재하는 구조이면 순차 구조, 병렬 구조 또는 선택 구조인지 검색하여 구조 정보 테이블에 구조정보를 저장하고(S250), 상기 제 2 판별 단계의 판별 결과가 새로운 구조이면 새로운 구조정보를 상기 구조 정보 테이블과 새로운 구조정보 테이블에 동시에 저장하는(S240) 단계; (4b)상기 (3b)단계의 저장된 구조정보를 가지는 프로세스가 원자 프로세스인지 또는 복합 프로세스인지 판별하는 제 3 판별 단계(S260); (5b)상기 제 3 판별 단계의 판별 결과가 원자 프로세스이면 검색을 종료(S270)하고, 상기 제 3 판별 단계의 판별 결과가 복합 프로세스이면 제 (2b)단계의 제 2 판별 단계(S230)를 수행하는 단계를 포함하여 수행된다.
도 6에 도시한 바와 같이 상기와 같이 프로세스 구조 분석 알고리즘은 우선 프로세스 구조 분석을 위해 서비스 제공자가 정의한 TM-S 기반의 온톨로지를 읽어, 이 온톨로지에서 최상위 프로세스를 검색한 후, 이 프로세스의 타입을 검사한다. 만약, 이 프로세스가 복합 프로세스 형태를 가질 경우 하위 프로세스들을 검사하며, 그렇지 않고 원자 프로세스 형태를 가질 경우에는 프로세스 구조 분석을 종료한다. 최상위 프로세스가 복합 프로세스이면, 하위 프로세스들의 제어 구조를 검사한 후 저장한다. 프로세스 구조 정보는 상기 기술한 3가지 종류의 구조 테이블로 저장된다. 각 테이블에는 프로세스 구조 매치메이킹에서 발생할 수 있는 모든 경우의 프로세스 구조 정보들이 저장되게 된다. 만약, 저장된 프로세스들 중에서 복합 프로세스 형태를 가지는 프로세스가 존재할 경우에는 다시 이 프로세스에 대한 하위 프로세스들의 제어 구조를 검사하고 구조 정보를 테이블에 저장한다. 만약, 하위 프로세스의 제어 구조가 이전에 저장한 상위 프로세스의 제어 구조와 다를 경우에는 하위 프로세스 구조 정보를 이전 구조 테이블과 새로운 구조 테이블에 확장하여 저장한다. 이 과정은 하위 프로세스들이 모두 원자 프로세스 형태로 존재할 때까지 반복되어 처리된다.
프로세스 개념 온톨로지는 'sell', 'buy', 'pay' 등과 같이 여러 개의 분리된 개념들로 정의되어 있으며, 이들 개념들을 최상위 개념으로 하여 각각에 대한 분류 온톨로지를 가진다. 프로세스 개념 매치메이킹은 프로세스 개념 온톨로지에서 서비스 요구자가 선택한 개념이나 하위 개념에 포함되는 프로세스들을 찾는다.
상기와 같이 프로세스 개념 매치메이킹은 의미적으로 관련된 프로세스들을 발견함으로써, 프로세스 발견의 재현율을 높이는 효과를 가진다. 이때, 프로세스 개념 온톨로지는 'sell', 'buy','pay'와 같은 개념들에 대해 여러 개의 관점을 이용하여 분류의 범위를 정의하고, 이 관점에 따라 여러 개의 하위 개념들로 다시 나눈다. 그러므로, 선택한 개념들의 최상위 개념이 같을 경우에는 관점이 같으냐, 또는 다르냐에 따라 연산이 다르게 적용된다.
프로세스 개념 매치메이킹은 서비스 요구자에 의해 요구된 프로세스들의 최상위 개념이 동일하며 같은 관점을 가지고 있을 때, OR 연산을 통하여 개념간의 관계가 처리되는 특징을 갖는다.
같은 관점 내에 있는 개념들은 그 관점을 기준으로 서로 구분되어 정의된 것이다. 그러므로, 같은 관점 안에 있는 개념들은 OR 연산을 적용하여 개념들 간의 관계를 처리할 수 있다. 일 예로, 사용자가 판매 종류 ("Sell What") 관점에서 책 판매("Sell Book")개념과 컴퓨터 판매("sell computer")개념을 선택하였다면, 이 예에서 책 판매 개념과 컴퓨터 판매 개념은 판매 종류 관점에서 각각 구분되는 개념이다. 그러므로, "책이나 컴퓨터를 판매하는 프로세스들을 찾아라"라는 질의와 동일하게 해석될 수 있다.
프로세스 개념 매치메이킹은 서비스 요구자에 의해 요구된 프로세스들의 최상위 개념이 동일하며 서로 다른 관점을 가지고 있을 때, AND 연산을 통하여 개념간의 관계가 처리되는 특징을 갖는다.
다른 관점 내에 있는 개념들은 동일한 개념에 대해 여러 가지의 관점을 기준으로 분류한 것이다. 이것은 서로 다른 관점 안에 있는 개념들 간에는 AND 연산을 이용하여 처리 할 수 있다. 일 예로 사용자가 판매 방법("Sell How") 관점에서 전자 상점("Sell via Electronic Store") 개념을 선택하고, 판매 종류("Sell What") 관점에서 책 판매("Sell Book") 개념을 선택한다면, 이것은 "Sell" 개념에 대해 판매 방법과 판매 종류 관점에서 각각 다르게 분류한 것이다. 그러므로, "전자상점에서 책을 판매하는 프로세스를 찾아라"라는 질의와 동일하게 해석될 수 있다.
상기 프로세스 개념 매치메이킹은 서비스 요구자에 의해 요구된 프로세스들의 최상위 개념이 서로 다를 때, OR 연산을 통하여 개념간의 관계가 처리되는 특징을 갖는다.
선택한 개념들의 최상위 개념이 다르다는 것은 이들 개념들이 각각 분리된 개념 온톨로지에 정의되어 있다는 것을 의미한다. 이것은 OR 연산을 이용하여 서로 다른 개념들 간의 관계를 처리할 수 있다. 일 예로 'buy'와 'sell'에 대한 각각의 개념 온톨로지가 있다고 하자. 사용자는 "buy" 온톨로지에서 책 구매("Buy Book")개념을 선택하고, "sell" 온톨로지에서 책 판매("Sell Book")개념을 선택한다면, 이것은 'buy'와 'sell' 온톨로지에 각각 포함되어 있는 프로세스들을 찾는 것을 의미한다. 그러므로, "책을 판매하거나 책을 구매하는 것이 가능한 프로세스를 찾아라."라는 질의와 동일하게 해석될 수 있다.
상기 프로세스 개념 매치메이킹 단계는 (1c)프로세스 개념 선택 단계(s310);(2c)선택된 개념들의 최상위 개념 분석 단계(s320); (3c)상기 (2c)단계의 최상위 개념이 동일한지 동일하지 않은지 판별하는 제 1 판별단계(s330); (4c)상기 제 1 판별단계의 판별 결과가 동일하면 최상위 개념이 같을 경우의 개념 매치메이킹을 수행하고(s350), 상기 제 1 판별단계의 판별 결과가 동일하지 않으면 각각의 최상위 개념에 대해 선택된 개념과 하위 개념에 포함되는 프로세스들을 검색하여(s340) 서로 다른 최상위 개념에 포함되는 프로세스들을 OR처리하는 단계(s360)를 포함하여 수행되는 특징을 갖는다.
상기 (4c)단계의 최상위 개념이 같은 경우의 개념 매치메이킹은 (1d)선택된 개념들의 관점을 분석하는 단계(s351); (2d)상기 선택된 개념들이 같은 관점을 가지는지 다른 관점을 가지는지 판별하는 제 1 판별단계(s352); (3d)상기 제 1 판별단계의 판별 결과가 같은 관점이면 선택한 각각의 개념과 하위 개념에 포함되는 프 로세스들을 검색하여(s353) 각 개념에 포함되는 프로세스들을 OR처리하고(s354), 상기 제 1 판별단계의 판별 결과가 다른 관점이면 각 관점에 대해 선택한 개념과 하위 개념에 포함되는 프로세스들을 검색하여(s355) 서로 다른 관점에 포함되는 프로세스들을 AND처리하는 단계(s356)를 포함하여 수행되는 특징을 갖는다.
도 7은 사용자가 2개 이상의 개념들을 선택하고, 선택한 개념들의 최상위 개념이 서로 다를 경우에 대한 처리 알고리즘을 나타낸 것이다. 먼저 사용자로부터 입력 받은 개념들의 최상위 개념을 먼저 검사한다. 만약, 최상위 개념이 다를 경우에는 선택한 개념과 그 하위 개념에 포함되는 프로세스들을 검색한 후, 검색된 각각의 결과에 대해 OR 연산을 처리하여 결과를 넘겨준다. 그렇지 않고 최상위 개념이 같을 경우에는 도 8의 알고리즘을 이용하여 결과를 처리한다.
도 8은 사용자가 선택한 개념들의 최상위 개념이 같을 경우에 대한 처리 알고리즘을 나타낸 것이다. 우선, 사용자가 선택한 개념들에 대한 관점들을 검사한다. 만약, 관점이 같을 경우에는 선택한 개념과 그 하위 개념에 포함되는 프로세스들을 각각 검색한 후, 검색된 각각의 결과에 대해 OR 연산을 처리하여 결과를 넘겨준다. 관점이 다를 경우에는 검색된 결과에 대해 AND 연산을 처리한다.
이상에서 설명한 바와 같이, 기존의 시맨틱 웹 서비스 발견의 문제점들을 해결하고 지능적 웹 서비스 발견을 제공하기 위해 프로세스 정보를 온톨로지로 표현하고 이를 이용한 매치메이킹 메커니즘을 제안하였다. 프로세스 정보는 기존의 발 견보다 상세하게 서비스를 기술하고 발견하게 함으로써 지능적 웹 서비스 발견이 가능하게 하며, 프로세스 정보를 이용한 검색은 지능적 웹 서비스 발견에서 요구되는 서비스 발견의 정확률과 재현률을 높이는 효과를 제공한다. 또한 서비스의 자동화를 위한 발견 시스템은 물론, 서비스의 조합, 통합 및 상호 운영을 위한 시스템에 활용될 수 있다.

Claims (17)

  1. 웹 서비스의 발견 방법에 있어,
    프로세스 기반 온톨로지를 사용하며,
    프로세스 이름, 입력 이름 또는 출력 이름에 대한 구문적인 유사도를 계산하여 프로세스를 발견하는 프로세스 시그니처 매치메이킹 단계;
    순차, 분리, 분리와 결합, 임의-순서, 선택, 조건 또는 반복, 또는 이들의 조합을 포함하는 프로세스 제어구조를 갖는 프로세스를 포함하는 상위 프로세스를 발견하는 프로세스 구조 매치메이킹 단계; 및
    특정한 개념에 포함되는 프로세스를 찾는 프로세스 개념 매치메이킹 단계;
    를 포함하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.
  2. 제 1항에 있어서,
    상기 프로세스 기반 온톨로지는 온톨로지 언어인 토픽 맵을 이용하며,
    프로세스 이름, 입력 이름 또는 출력 이름에 대한 정의를 포함하는 프로세스 시그니처 온톨로지;
    프로세스 제어 구조에 대한 정의를 포함하는 프로세스 구조 온톨로지;
    프로세스 개념들에 대한 정의, 개념들 간의 관계의 정의, 개념들에 대한 관점의 정의, 개념들 간의 분류 정의 또는 분류에 대한 관점의 정의를 포함하는 프로세스 개념 온톨로지
    를 포함하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.
  3. 제 1항에 있어서,
    상기 구문적 유사도는 가중치를 가지며, 프로세스 이름에 대한 가중치가 입력 이름 또는 출력 이름에 대한 가중치보다 큼을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.
  4. 제 1항에 있어서,
    하나의 프로세스에서 다수의 입력 이름 또는 다수의 출력 이름이 존재할 때,
    입력 이름 또는 출력 이름에 대한 구문적 유사도는 서비스 요구자의 입력 이름 또는 서비스 요구자의 출력 이름에 대해 최대의 구문적 유사도를 갖는 입력 이름 또는 출력 이름을 선택하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.
  5. 제 4항에 있어서,
    다수의 서비스 요구자의 입력 이름 또는 다수의 서비스 요구자의 출력 이름이 존재할 때,
    각각의 서비스 요구자의 입력 이름 또는 서비스 요구자의 출력 이름에 대해 상기 최대의 구문적 유사도를 선택하여 다수의 서비스 요구자의 입력 이름수 또는 다수의 서비스 요구자의 출력 이름수에 대해 평균을 취하여 구문적 유사도를 계산함을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.
  6. 삭제
  7. 제 1항에 있어서,
    상기 프로세스 구조 매치메이킹 단계는 순차 또는 임의-순서 구조를 발견하는 순차 구조 매치메이킹 단계, 분리 또는 분리와 결합 구조를 발견하는 병렬 구조 매치메이킹 단계, 선택 또는 조건 구조를 발견하는 선택 구조 매치메이킹 단계를 포함함을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.
  8. 제 7항에 있어서,
    상기 순차 구조 매치메이킹은 순차 구조를 포함하는 상위 프로세스, 선행 프로세스, 후행 프로세스, 선행 프로세스 형태 또는 후행 프로세스 형태의 정보를 포함하는 순차 구조 테이블을 이용하여 순차 또는 임의-순서 구조를 발견하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.
  9. 제 7항에 있어서,
    상기 병렬 구조 매치메이킹은 병렬 구조를 포함하는 상위 프로세스, 병렬 구조를 가지는 프로세스 1과 프로세스 2, 프로세스 1의 형태 또는 프로세스 2의 형태의 정보를 포함하는 병렬 구조 테이블을 이용하여 분리 또는 분리와 결합 구조를 발견하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.
  10. 제 7항에 있어서,
    상기 선택 구조 매치메이킹은 선택 구조를 포함하는 상위 프로세스, 선택 가능한 프로세스, 선택 가능한 프로세스의 형태의 정보를 포함하는 선택 구조 테이블을 이용하여 선택 또는 조건 구조를 발견하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.
  11. 제 1항에 있어서,
    상기 프로세스 개념 매치메이킹은 서비스 요구자에 의해 요구된 프로세스들의 최상위 개념이 동일하며 같은 관점을 가지고 있을 때, OR 연산을 통하여 개념간의 관계가 처리됨을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.
  12. 제 1항에 있어서,
    상기 프로세스 개념 매치메이킹은 서비스 요구자에 의해 요구된 프로세스들의 최상위 개념이 동일하며 서로 다른 관점을 가지고 있을 때, AND 연산을 통하여 개념간의 관계가 처리됨을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.
  13. 제 1항에 있어서,
    상기 프로세스 개념 매치메이킹은 서비스 요구자에 의해 요구된 프로세스들의 최상위 개념이 서로 다를 때, OR 연산을 통하여 개념간의 관계가 처리됨을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.
  14. 제 1항에 있어서,
    상기 프로세스 시그니처 매치메이킹 단계는
    (1a)프로세스 이름 유사도를 계산하는 단계;
    (2a)입력 이름 및 출력 이름에 대한 최대 유사도 값들의 평균을 계산하는 단계; 및
    (3a) 가중치를 이용하여 총 유사도 값을 계산하는 단계;
    를 포함함을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.
  15. 제 1항에 있어서,
    상기 프로세스 구조 매치메이킹 단계에서,
    프로세스 구조 분석 및 저장 단계는
    (1b)최상위 프로세스 검색 단계;
    (1b)원자 프로세스인지 또는 복합 프로세스인지 판별하는 제 1 판별 단계;
    (2b)상기 제 1 판별 단계의 판별 결과가 원자 프로세스이면 검색을 종료하고,
    상기 제 1 판별 단계의 판별 결과가 복합 프로세스이면 제어 구조가 기 존재하는 구조인지 새로운 구조인지 판별하는 제 2 판별 단계;
    (3b)상기 제 2 판별 단계의 판별 결과가 기 존재하는 구조이면 순차 구조, 병렬 구조 또는 선택 구조인지 검색하여 구조 정보 테이블에 구조정보를 저장하고, 상기 제 2 판별 단계의 판별 결과가 새로운 구조이면 새로운 구조정보를 상기 구조 정보 테이블과 새로운 구조정보 테이블에 동시에 저장하는 단계;
    (4b)상기 (3b)단계의 저장된 구조정보를 가지는 프로세스가 원자 프로세스인지 또는 복합 프로세스인지 판별하는 제 3 판별 단계; 및
    (5b)상기 제 3 판별 단계의 판별 결과가 원자 프로세스이면 검색을 종료하고,
    상기 제 3 판별 단계의 판별 결과가 복합 프로세스이면 제 (2b)단계의 제 2 판별 단계를 수행하는 단계;
    를 포함함을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.
  16. 제 1항에 있어서,
    상기 프로세스 개념 매치메이킹 단계는
    (1c)프로세스 개념 선택 단계;
    (2c)선택된 개념들의 최상위 개념 분석 단계; 및
    (3c)상기 (2c)단계의 최상위 개념이 동일한지 동일하지 않은지 판별하는 제 1 판별단계;
    (4c)상기 제 1 판별단계의 판별 결과가 동일하면 최상위 개념이 같을 경우의 개념 매치메이킹을 수행하고,
    상기 제 1 판별단계의 판별 결과가 동일하지 않으면 각각의 최상위 개념에 대해 선택된 개념과 하위 개념에 포함되는 프로세스들을 검색하여 서로 다른 최상위 개념에 포함되는 프로세스들을 OR처리하는 단계;
    를 포함함을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.
  17. 제 16항에 있어서,
    상기 (4c)단계의 최상위 개념이 같은 경우의 개념 매치메이킹은
    (1d)선택된 개념들의 관점을 분석하는 단계;
    (2d)상기 선택된 개념들이 같은 관점을 가지는지 다른 관점을 가지는지 판별하는 제 1 판별단계; 및
    (3d)상기 제 1 판별단계의 판별 결과가 같은 관점이면 선택한 각각의 개념과 하위 개념에 포함되는 프로세스들을 검색하여 각 개념에 포함되는 프로세스들을 OR처리하고,
    상기 제 1 판별단계의 판별 결과가 다른 관점이면 각 관점에 대해 선택한 개념과 하위 개념에 포함되는 프로세스들을 검색하여 서로 다른 관점에 포함되는 프로세스들을 AND처리하는 단계;
    를 포함함을 특징으로 하는 프로세스 기반 웹 서비스 발견 방법.
    .
KR1020070046987A 2007-05-15 2007-05-15 프로세스 정보를 이용한 지능적 웹 서비스 발견 방법 KR100878157B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070046987A KR100878157B1 (ko) 2007-05-15 2007-05-15 프로세스 정보를 이용한 지능적 웹 서비스 발견 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070046987A KR100878157B1 (ko) 2007-05-15 2007-05-15 프로세스 정보를 이용한 지능적 웹 서비스 발견 방법

Publications (2)

Publication Number Publication Date
KR20080100931A KR20080100931A (ko) 2008-11-21
KR100878157B1 true KR100878157B1 (ko) 2009-01-15

Family

ID=40287265

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070046987A KR100878157B1 (ko) 2007-05-15 2007-05-15 프로세스 정보를 이용한 지능적 웹 서비스 발견 방법

Country Status (1)

Country Link
KR (1) KR100878157B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101072937B1 (ko) * 2009-05-07 2011-10-17 한국과학기술정보연구원 시맨틱 서비스 시스템 및 방법
KR101121536B1 (ko) * 2009-05-07 2012-03-06 한국과학기술정보연구원 시맨틱 브로커 시스템 및 시맨틱 브로커 서비스 방법
KR101072939B1 (ko) 2009-05-07 2011-10-17 한국과학기술정보연구원 시맨틱 서비스 적용 시스템 및 방법
KR101931859B1 (ko) * 2016-09-29 2018-12-21 (주)시지온 전자문서의 대표 단어 선정 방법, 전자 문서 제공 방법, 및 이를 수행하는 컴퓨팅 시스템

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
서강대 대학원 학위논문
연세대 대학원 학위논문
충남대 대학원 학위논문

Also Published As

Publication number Publication date
KR20080100931A (ko) 2008-11-21

Similar Documents

Publication Publication Date Title
Qi et al. A correlation graph based approach for personalized and compatible web apis recommendation in mobile app development
Mirza et al. Studying recommendation algorithms by graph analysis
CN101111837B (zh) 查询自动分类的搜索处理
Broens et al. Context-aware, ontology-based service discovery
JP5921536B2 (ja) コンピュータ化エージェントのシステムとユーザ指図セマンティックネットワーキング
Liu et al. Semantic content-based recommendation of software services using context
Nagarajan et al. A fuzzy-based decision-making broker for effective identification and selection of cloud infrastructure services
KR100878157B1 (ko) 프로세스 정보를 이용한 지능적 웹 서비스 발견 방법
Martins et al. DSCrank: a method for selection and ranking of datasets
Le et al. Improving semantic similarity measure within a recommender system based-on rdf graphs
Loia et al. Fuzzy logic and the internet
Sargolzaei et al. A tool for behaviour-based discovery of approximately matching web services
Lara et al. A flexible model for web service discovery
Lin et al. Integrating the optimal classifier set for sentiment analysis
Benouaret et al. An efficient greedy algorithm for sequence recommendation
Bragilovski et al. Searching for class models
Merin et al. Social based Web Service Discovery for Multiple Domains and Recommendation
Gnotthivongsa et al. Rating Prediction for Mobile Applications via Collective Matrix Factorization Considering App Categories
Khoshkangini et al. A design of context-aware framework for conditional preferences of group of users
Xu et al. Towards multimodal query in web service search
Buvanesvari et al. A review of fuzzy based QoS web service discovery
Yacoubi Ayadi et al. An enhanced framework for semantic web service discovery
Gabsi et al. Cloud Services Discovery Assistant for Business Process Development
Sara et al. Applying Decision Aid Science to Support Customer Choices for Web Services Operations
Moo-Mena et al. An ontological approach for managing and selecting QoS Web services

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: 20130102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151229

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161227

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191231

Year of fee payment: 12