KR101442755B1 - 애니타임 알고리즘을 이용한 큐 오 에스 인식 웹 서비스 구성방법 - Google Patents

애니타임 알고리즘을 이용한 큐 오 에스 인식 웹 서비스 구성방법 Download PDF

Info

Publication number
KR101442755B1
KR101442755B1 KR1020130159512A KR20130159512A KR101442755B1 KR 101442755 B1 KR101442755 B1 KR 101442755B1 KR 1020130159512 A KR1020130159512 A KR 1020130159512A KR 20130159512 A KR20130159512 A KR 20130159512A KR 101442755 B1 KR101442755 B1 KR 101442755B1
Authority
KR
South Korea
Prior art keywords
web service
algorithm
search
qos
dynamic
Prior art date
Application number
KR1020130159512A
Other languages
English (en)
Other versions
KR20140012604A (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 KR1020130159512A priority Critical patent/KR101442755B1/ko
Publication of KR20140012604A publication Critical patent/KR20140012604A/ko
Application granted granted Critical
Publication of KR101442755B1 publication Critical patent/KR101442755B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

애니타임 알고리즘을 이용한 QoS 인식 웹 서비스 구성방법이 개시된다. 본 발명의 실시예에 따른 QoS 인식 웹 서비스 구성방법은, 웹 서비스 집합과 QoS 정보가 포함된 사용자 요구 웹 서비스로 구성되는 QoS 인식 웹 서비스 구성문제 예를 가중치 상태 전이 시스템에 기반하여 그래프 검색 문제 예로 감소시키는 단계; 와 상기 그래프 검색 문제 예에, 동적 애니타임 알고리즘(dynamic anytime algorithm)을 적용하여, 상기 QoS를 최소화하는 최적의 복합 웹 서비스를 구성하는 단계를 포함한다.

Description

애니타임 알고리즘을 이용한 큐 오 에스 인식 웹 서비스 구성방법{Large Scale QoS-aware Web Service Composition method using Efficient Anytime Algorithm}
본 발명은 웹 서비스 구성(Web Service Composition)에 관한 것으로, 더욱 자세하게는 애니타임 알고리즘을 이용하여 QoS(Quality of Service)가 고려된 복합 웹 서비스를 구성하는 기술에 관한 것이다.
웹 서비스(Web Service)는 네트워크상에서 웹(Web)을 통하여 서로 다른 종류의 컴퓨터(machine)간 상호작용을 지원하도록 고안된 소프트웨어 시스템이다. 웹 서비스는 서비스 지향적 분산 컴퓨팅 기술의 일종이다.
시맨틱 웹 기술에 기반한 웹 서비스 표준화를 위한 많은 연구들이 수행되어 왔는데, 서비스 지향 아키텍처(Service Oriented Architecture: SOA)의 유연하고 동적인 기능들을 크게 개선하고 있다.
그러함에도 불구하고도 여전히 많은 연구 과제들, 예를 들어 자동 웹 서비스 발견, 웹 서비스 구성, 그리고 구성된 웹 서비스의 공식적인 검증 등이 남아 있다.
이 연구 과제들 중 웹 서비스 구성(Web Service Composition: WSC)문제는 웹 서비스 집합과 사용자 요구가 주어지는 경우, 사용자의 요구를 만족하는 가장 짧은 시퀀스(sequence)를 갖는 웹 서비스를 발견하는 것이다. 즉 웹 서비스 구성 문제의 목표는 서비스 스펙(specification)의 구문 및/또는 의미론적 특징들을 이용하여, 사용자의 요구를 만족시키는 웹 서비스의 최적 구성을 찾는 것이다.
최근, 웹 서비스 구성 문제는 기능적인 요구조건들뿐만 아니라 비기능적인 요구조건들(웹 서비스품질 제약들을 포함)을 만족하는 서비스 제공자들을 발견하도록 요구되고 있다. 이들 중 가장 짧은 시퀀스의 웹 서비스보다 최적화된 총(aggregated) QoS 값을 가진 복합 웹 서비스를 제공하도록 요구되고 있다. 이를 QoS 인식 웹 서비스 구성(QoS-aware WSC)문제라고 한다. QoS 인식 웹 서비스 구성문제는 응답시간, 처리량, 용량 및 정확성 등과 같은 서비스 품질 기준을 최적화한다.
그러나 QoS 인식 웹 서비스 구성문제는 전역 최적화 문제이기 때문에 컴퓨터 조작으로 대규모 사례, 즉 웹과 같은 큰 환경에 적용하여 풀기가 매우 어렵다는 것이다.
특히 QoS 인식 웹 서비스 구성문제를 해결하기 위해서, 단일의 최적 솔루션을 생성하는 전통적인 최적 알고리즘들을 사용하는 경우, 최적 알고리즘들이 제한된 수의 계산과정을 통해서 QoS 인식 웹 서비스 구성문제를 해결하므로, QoS 인식 웹 서비스 구성문제가 해결되기까지 오랜 시간이 걸릴 수 있다. 심지어는 오랜 시간 대기 후에도, 최적 알고리즘들은 시스템 자원의 부족으로 인해 QoS 인식 웹 서비스 구성문제를 해결하지 못할 수도 있다.
관련 선행특허로는 대한민국특허등록번호 제751292호 '시맨틱 웹 기반의 서비스 제공 방법'에 관한 것으로 (a) 통신사의 망을 통해 서비스 이용자로부터 문자메시지를 수신하는 단계;(b) 상기 수신된 문자메시지의 정보에 해당하는 서비스가 서비스 시스템에서 실행될수 있도록 하는 명령어를 생성하는 단계; 및 (c) 상기 명령어를 상기 서비스 시스템으로 전달하는 전달단계를 포함하고,상기 (b) 단계는, 상기 수신된 문자메시지를 온톨로지 DB의 내용과 비교 및 분석하여 상기 명령어를 생성하되,상기 수신된 문자메시지의 정보가 명령어 생성에 부족한 경우, 질문 문자메시지를 송신하여 상기 서비스 이용자로부터 답변을 얻는 방법, SMS URL이 첨부된 문자메시지를 송신하여 상기 서비스 이용자가 웹페이지 상에서 명령어 생성에 필요한 정보를 선택 또는 입력하도록 하는 방법, 및 추천 정보를 구비한 데이터 베이스를 이용하는 방법 중 적어도 어느 하나를 이용하여 명령어를 생성하는 단계는 포함하는 것을 특징으로 하는 시맨틱 웹 기반의 서비스 제공 방법이 기재되어 있다.
관련 선행특허로 대한민국 특허공개번호 제1020100088432호 '시멘틱 서비스 검색 시스템 및 방법'은 유비쿼터스 센서 네트워크 서비스를 위한 시멘틱 서비스 검색 시스템 및 방법을 제공한다. 센서 온톨로지 및 서비스 온톨로지를 위한 스케마를 작성하는 과정과, 스케마를 작성한 후, 새로운 센서 혹은 서비스가 추가되는지 체크하여 추가되었으면 스케마에 맞게 센서 혹은 서비스 인스턴스를 추가하는 과정과, 인스턴스 추가 후, 유비쿼터스 센서 네트워크 온톨로지를 트리플로 변환하는 과정과, 트리플을 시멘틱 데이터베이스 관리시스템에 업로드하는 과정을 통해 유비쿼터스 센서 네트워크 온톨로지를 구축한다. 이렇게 구축된 유비쿼터스 센서 네트워크 온톨로지를 기반으로 시멘틱 서비스 검색이 이루어고, 검색용어 온톨로지가 최신인 상태에서 검색조건이 입력되는지 체크하는 과정과, 입력된 검색조건을 SPARQL로 변환하는 과정과, SPARQL 변환 후 SPARQL 질의문을 서버로 전송하는 과정과, 서버로부터 검색 결과를 받은 후 원하는 서비스를 선택하여 해당 URL(Uniform Resource Locator)로부터 다운로드받는 과정을 포함한다고 기재되어 있다.
다른 관련 선행특허로 대한민국 특허공개번호 제1020110061451호 '언어분석과 퍼지색상정보 및 시멘틱 웹을 기반으로 하는 컨셉 이미지 데이터 검색 방법 및 그 장치'는 언어분석과 퍼지색상정보 및 시멘틱 웹을 기반으로 하는 컨셉 이미지 데이터 검색 방법 및 그 장치에 관한 것으로, 그 방법은 이미지에 근접하는 관련정보들을 퍼지개념의 멤버쉽 함수(membership function)로 표현하여 이를 OWL로 기술한다. 그리고 OWL로 변환된 자연어 문장을 퍼지 OWL로 변환하므로 제시하는 방법을 사용하면 이미지 컨셉을 제공하기 위한 컴퓨팅 환경에서 사용할 수 있는 형태로 자연어를 기술할 수 있으며 퍼지의 개념을 사용하여 자연어를 분석하기 때문에 상태나 정도를 표현함에 있어 이미지 정보 데이터 검색에 보다 더 유연성을 가질 수 있고 효과적인 검색이 가능하게 되고, 이러한 것에 의하면 단순히 카테고리나 키워드로 검색을 하지 않고, 표현된 자연어를 기반으로 현재 사용자가 의도하는 이미지의 컨셉을 추론할 수 있으며, 추론된 상태에 따라 온톨로지를 기반으로 한 이미지 쿼리에 의해 결과를 얻을 수 있도록 시스템이 자동적으로 작동하여 키워드에 해당하는 이미지 컨텐츠를 웹 상에서 제공한다고 기재되어 있다.

애니타임 알고리즘을 이용하여 QoS가 고려된 웹 서비스를 구성하여 사용자에게 제공하는 QoS 인식 웹 서비스 구성방법이 제안된다.
본 발명의 일 양상에 따른 QoS 인식 웹 서비스 구성방법은, 웹 서비스 집합과 QoS 정보가 포함된 사용자 요구 웹 서비스로 구성되는 QoS 인식 웹 서비스 구성문제 예를 가중치 상태 전이 시스템에 기반하여 그래프 검색 문제 예로 감소시키는 단계; 와 상기 그래프 검색 문제 예에, 기본 애니타임 알고리즘(basic anytime algorithm)을 적용하여, 상기 QoS를 최소화하는 최적의 복합 웹 서비스를 구성하는 단계를 포함한다.
상기 기본 애니타임 알고리즘은, 각 레벨에서 한정된 수의 후보 상태들을 탐색하는 빔 스택 검색 알고리즘에 기초한다.
상기 QoS를 최소화하는 최적의 복합 웹 서비스를 구성하는 단계는, 상기 빔 스택 검색 알고리즘은 상기 최적의 복합 웹 서비스를 구성하기 전에도, 최선의 경로(best-so-far path)를 찾을 때마다 상기 최선의 경로에 상응하는 복합 웹 서비스를 구성하여 사용자에게 리턴(return)할 수 있다.
상기 QoS를 최소화하는 최적의 복합 웹 서비스를 구성하는 단계는, 상기 기본 애니타임 알고리즘이 상기 최적의 복합 웹 서비스를 발견한 후에도, 검색공간의 일부를 방문하여 상기 발견된 최적 복합 웹 서비스의 최적 여부를 증명할 수 있다.
본 발명의 다른 양상에 따른 QoS 인식 웹 서비스 구성방법은, 웹 서비스 집합과 QoS 정보가 포함된 사용자 요구 웹 서비스로 구성되는 QoS 인식 웹 서비스 구성문제 예를 가중치 상태 전이 시스템에 기반하여 그래프 검색 문제 예로 감소시키는 단계; 와 상기 그래프 검색 문제 예에, 동적 애니타임 알고리즘(dynamic anytime algorithm)을 적용하여, 상기 QoS를 최소화하는 최적의 복합 웹 서비스를 구성하는 단계를 포함한다.
상기 동적 애니타임 알고리즘은, 상기 그래프 검색 문제 예에서, 상기 최적의 복합 웹 서비스를 찾는 검색을 수행하는 동안에 서로 다른 크기의 빔폭을 이용할 수 있다.
상기 빔폭의 크기는, 상기 검색 초기에서 시간이 경과할 수록 작아질 수 있다.
상기 QoS를 최소화하는 최적의 복합 웹 서비스를 구성하는 단계는, 상기 동적 애니타임 알고리즘이 상기 최적의 복합 웹 서비스를 발견한 후에도, 검색공간의 일부를 방문하여 상기 발견된 최적 복합 웹 서비스의 최적 여부를 증명할 수 있다.
본 발명의 실시예에 따른 QoS 인식 웹 서비스 구성방법에 따르면, 애니타임 알고리즘을 이용하여 QoS가 고려된 웹 서비스를 구성함으로써, 사용자에게 종래 최적 알고리즘에 비해 더 일찍 고품질의 복합 웹 서비스를 제공할 수 있다.
도 1은 사용자가 원하는 QoS를 고려하여 웹 서비스가 선택되는 과정을 나타낸 도면이다.
도 2는 빔 검색 알고리즘을 예시한 도면이다.
도 3은 빔 스택 검색 알고리즘을 예시한 도면이다.
도 4는 검색 알고리즘을 예시한 도면이다.
도 5는 검색 그래프의 일 예를 나타낸 도면이다.
도 6은 QoS 인식 웹 서비스 구성을 위한 동적 애니타임 알고리즘을 예시한 도면이다.
도 7은 검색기법을 가진 동적 빔 폭 검색알고리즘을 예시한 도면이다.
도 8은 빔 스택 검색 알고리즘을 구비한 QoS 인식 웹 서비스 구성 툴 및 동적 빔 폭 알고리즘을 구비한 QoS 인식 웹 서비스 구성 툴에 의해서 수행된 실험 결과표를 나타낸 도면이다.
도 9는 최적 알고리즘과 동적 애니타임 알고리즘의 동작수행결과를 비교한 도면이다.
도 10은 동일 비용 검색 알고리즘, 기본 애니타임 알고리즘 및 동적 애니타임 알고리즘이 특정 시간 범위에서 도 8의 표에 제시된 6개의 문제에 대한 해결 여부를 나타낸 표이다.
도 11은 최적 알고리즘, 기본 애니타임 알고리즘, 동적 애니타임 알고리즘의 도 8의 표에 제시된 6개 문제에 대한 작업결과를 나타낸 도면이다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 본 발명의 실시예를 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술 되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
애니타임 알고리즘(anytime algorithm)들은 계산비용과 솔루션 품질을 거래하는 실용적인 방법이다. 애니타임 알고리즘들은 가능한 최선의 답변(즉, 근사화된 답변)을 발견하자마자 제공한다. 대부분, 애니타임 알고리즘들은 빠르게 하위수준의 최적 솔루션들을 제공할 수 있다. 그리고 더욱 최적 솔루션의 품질은 점차로 실행시간 흐름에 따라 증가한다. 결론적으로, 충분한 시간이 허용되면, 그 답변은 결국 최적 솔루션에 이르게 된다.
애니타임 알고리즘 실행시간 동안, 사용자는 언제든지 답변의 품질을 검증할 수 있고, 결과에 만족하여 애니타임 알고리즘 실행을 종료하거나 더 나은 답변을 얻기 위해 애니타임 알고리즘을 실행할 수 있다. 이 때문에 애니타임 알고리즘은 AI(인공지능) 등에 성공적으로 이용되어 왔다.
본 발명의 실시예에 따른 애니타임 알고리즘을 이용한 QoS 인식 웹 서비스 구성방법은, QoS 인식 웹 서비스 구성 문제를 위한 두 개의 애니타임 알고리즘, 즉 기본 애니타임 알고리즘 및 동적 애니타임 알고리즘을 제어한다. 상기 애니타임 알고리즘은 사용자에게 최적 알고리즘에 비해 더 일찍 고품질의 복합 웹 서비스를 제공할 수 있다.
본 발명의 실시예에 따른 기본 애니타임 알고리즘은 각 레벨에서 한정된 수의 후보 상태들을 탐색하는 빔 스택 검색 알고리즘에 기초한다. 빔 스택 검색 알고리즘의 검색 메커니즘의 경우, 초기 상태에 이뤄진 나쁜 결정(bad decision)이 초기 상태 이후에 이뤄진 나쁜 선택(bad selection)보다 더 많은 불이익을 발생시킨다. 이 비용을 줄이기 위해서, 하나의 문제 예(problem instance)가 주어진 경우, 본 발명의 실시예에 따른 동적 애니타임 알고리즘은 초기 상태에서 더 큰 빔 폭(larger beam width)를 할당한다. 그 결과로 우리는 웹 서비스 구성의 시작단계에서 더 많은 품질이 갖춰진 후보들을 고려할 수 있게 된다. 추가로 근사화된 솔루션의 품질 및 전체 실행시간을 개선하는 몇 가지 발견기법을 제안한다.
먼저, QoS 인식 웹 서비스 구성에 대해서 살펴보기로 한다.
QoS(Quality of Service)는 서비스의 다양한 비기능적인 속성, 즉 응답시간, 처리량, 용량 및 정확성으로 고려된다. QoS는 사용자가 유사한 기능을 가진 많은 후보들 가운데 좋은 품질을 갖는 서비스 제공자를 선택하는데 도움을 준다.
QoS 인식 웹 서비스 구성을 정의하기 전에, 사용자가 원하는 QoS를 고려하여 웹 서비스가 선택되는 과정을 도 1을 참조하여 살펴보기로 한다. 도 1에는 식당예약시스템이 예시되어 있다.
도 1을 참조하면, 사용자가 음식점을 발견하고 예약하는 것을 원하고 레스토랑 지도를 얻기를 원한다고 고려해보자. 사용자는 집 코드(Zip code)(예를 들어, 305701) 및 음식선호도(예를 들어, 중국음식)를 가지고 레스토랑을 검색하는 것을 원하고, 사용자의 QoS 요구조건은 아주 빠른 응답시간이다.
이때, 레스토랑을 발견, 예약하고 지도를 제공하기 위한 단일 웹 서비스가 존재하지 않지만, 서로 다른 응답시간을 갖는 레스토랑들 및 지도를 위한 많은 다양한 서비스들이 있다고 가정해보자.
나아가 사용자는 최소 응답시간을 가지면서 사용자의 전체 요구를 달성할 수 있는 웹 서비스 집합을 구성하는 것을 원한다고 가정한다.
초기에, 사용자는 원하는 지역을 나타내는 집 코드(Zip code) 정보 및 사용자 자신이 먹고자 하는 음식 선호도 정보를 가지고 있다.
음식점 발견(FR) 서비스는 주어진 집 코드 및 음식 선호도에 대해 레스토랑 주소를 반환한다.
음심적 예약(RF)서비스는 레스토랑 주소를 받으면, 레스토랑 예약을 수행한다.
반면, 음식점 검색(FR) 서비스는 주어진 집 코드 및 음식 선호도에 대해 레스토랑을 발견하고 예약할 수 있다.
지도1 발견(FM1)서비스와 지도2 발견(FM2)서비스 각각은 주소를 받으면, 주소에 대한 지도를 제공한다.
각 웹 서비스에 대한 응답시간은 RFR = 20msec, RRR = 70msec, RSR = 100msec, RFM1 = 100msec, and RFM2 = 90msec이다.
이 예시에서, 음식점을 발견 및 예약하고 지도를 제공하는 4개의 시퀀스(sequence)가 있음을 확인할 수 있다. 즉, FR-RR-FM1, FR-RR-FM2, SR-FM1, and SR-FM2 4개의 시퀀스이다.
만약 QoS 목표가 복합 웹 서비스 길이인 경우, SR-FM1 및 SR-FM2가 최고의 복합 웹 서비스일 것이다. 그러나 QoS 목표는 최소 응답시간이기 때문에, FR-RR-FM2가 최적의 복합 웹 서비스 구성이 된다(즉, RFR - RR - FM2 = 180msec).
이제 QoS 인식 웹 서비스 구성 문제를 공식화 한다.
웹 서비스는 다음과 같은 구성을 가진 튜플 w(I, O, Q)로 정의한다. 이때, I는 웹 서비스(w)의 입력 매개변수 집합이고, O는 웹 서비스의 출력 매개변수의 집합이고, 각 입/출력 매개변수 p(p∈ I∪O)는 타입 tp를 갖는다. Q는 웹 서비스의 품질기준 집합이다.
웹 서비스 w(I, O, Q)가 입력타입 ti를 가진 모든 입력 매개변수들 i(∈I)과 같이 호출될 때, 웹 서비스 w는 출력타입 to를 갖는 모든 출력 매개변수들 o(∈O)을 반환한다.
웹 서비스 w의 호출은 각 서비스 품질 기준 q(∈Q)에 상응한다. 각 서비스 품질 기준은 예를 들어 응답시간, 처리량, 용량 및 정확성일 수 있다.
두 개의 타입 t1 및 t2가 주어진 경우, t1이 t2보다 정보가 많거나 같아서 t1이 어디에서든지 t2를 대신할 수 있다면, t1은 t2의 서브타입(sub-type)이고 t1 <: t2 로 정의된다. 이 경우에 t2는 t1의 수퍼타입(Super-type)이 된다. 이 관계는 상반적(reflexive)이고(즉 어떤 타입 t에 대해서도 t <: t 인 관계이다), 전이적(transitive)이다(즉, t1이 t2의 서브타입이고 t2가 t3의 서브타입이면 t1은 t3의 서브타입이다).
두 개의 웹 서비스 w1(I1, O1, Q1)과 w2(I2, O2, Q2)이 주어지면, 웹 서비스 w2가 웹 서비스 w1보다 더 적거나 같은 정보 입력들을 필요로 하는 경우, 이를
Figure 112013116627360-pat00001
로 정의한다. 즉 웹 서비스 w1의 입력 매개변수 i1(입력 매개변수 집합 I1에 속함, i1 ∈ I1)과 웹 서비스 w2의 입력 매개변수 i2(i2∈I2의 관계를 가짐)가 존재하면, 입력 매개변수 i1의 입력타입(ti1)은 입력 매개변수 i2의 입력타입(ti2)의 서브타입이 된다(ti1 <: ti2).
두 개의 웹 서비스 w1(I1, O1, Q1)과 w2(I2, O2, Q2)이 주어지면, 웹 서비스 w2가 웹 서비스 w1에 비해 더 많은 출력 또는 같은 출력을 제공하는 경우, 이를
Figure 112013116627360-pat00002
로 정의한다. 즉, 웹 서비스 w1의 출력 매개변수 o1(출력 매개변수 집합 O1에 속함, o1∈O1)과 웹 서비스 w2의 출력 매개변수 o2(o2∈O2의 관계를 가짐)가 존재하면, 출력 매개변수 o2의 출력타입(to2)이 출력 매개변수 o1의 출력타입(to1)의 서브타입이 된다(to2 <: to1).
웹 서비스를 위한 정보 입력들이 더 작거나 가 같다는 것(
Figure 112013116627360-pat00003
)과 웹 서비스의 출력 제공이 더 작거나 같다는 것(
Figure 112013116627360-pat00004
)은 서로 상반되는 관계이다.
웹 서비스 발견 문제는, 이용 가능한 웹 서비스 집합 W 및 요구 웹 서비스 wr 가 주어지는 경우, 웹 서비스의 정보 입력들이 요구 웹 서비스에 비해 작거나 같고(
Figure 112013116627360-pat00005
) 웹 서비스 출력 제공이 요구 웹 서비스의 출력 제공에 비해 많거나 같은(
Figure 112013116627360-pat00006
) 웹 서비스(이때 웹 서비스 w는 웹 서비스 집합 W에 속한다. 즉 w∈W)를 발견하는 것이다.
직관적으로, 해결 웹 서비스 w는 요구 웹 서비스 wr에 비해 더 작거나 같은 입력들을 필요로 하고 요구 웹 서비스 wr에 비해 더 많거나 같은 출력들을 제공한다.
그러나 상기 요구조건을 만족시키는 단독 웹 서비스가 없다는 것이 발생할 수 있다는 것이다.
이 경우, 각 단계에서 다음 웹 서비스를 호출할 수 있고 요청된 요구조건을 결국에 달성할 수 있는 웹 서비스 시퀀스 w1...wn 을 발견함으로써 요구조건을 달성할 수 있다.
따라서 더 작거나 같은 정보 입력을 필요로 하고 더 많거나 같은 출력을 제공하는 것(
Figure 112013116627360-pat00007
)에 대한 관계를 다음과 같은 웹 서비스 시퀀스까지 확장할 수 있다.
즉, 웹 서비스 w 보다 웹 서비스 시퀀스 w1...wn을 호출하는데 더 적은 입력 매개변수들을 필요로 한다(
Figure 112013116627360-pat00008
).
웹 서비스w보다 웹 서비스 시퀀스 w1...wn을 호출함으로써 더 많은 출력을 획득한다(
Figure 112013116627360-pat00009
).
결론적으로, 이용 가능한 웹 서비스 집합 W 및 요구 웹 서비스 wr가 주어지면, QoS 인식 웹 서비스 구성(WSC) 문제 <W, wr>는 요구 웹 서비스 wr보다 웹 서비스 시퀀스 w1...wn 을 호출하는데 더 적은 입력 매개변수들을 필요로 하고(
Figure 112013116627360-pat00010
), 요구 웹 서비스 wr보다 웹 서비스 시퀀스 w1...wn 을 호출함으로써 더 많은 출력을 획득하는 것(
Figure 112013116627360-pat00011
)과 같은 웹 서비스 시퀀스 w1...wn을 발견하는 것으로 귀결될 수 있다.
즉, 웹 서비스 시퀀스 w1...wn는 요구 웹 서비스 wr에 비해 더 작거나 같은 입력들을 필요로 하고, 요구 웹 서비스 wr에 비해 더 많거나 같은 출력들을 제공한다.
이 QoS 인식 웹 서비스 구성 문제의 최적 해결방안은 웹 서비스 시퀀스 σ= w1...wn 를 총 QoS 값 Q(σ)로 최소화하는 것이다.
웹 서비스 시퀀스 σ= w1...wn 가 주어지면, 총 QoS 값 Q(σ)은 아래와 같이 계산되어진다.
Q(σ) = c1ㆍQ1(σ) + ... + cmㆍQm(σ)이고, cj는 j번째 품질기준을 위한 주어진 가중치이다. j번째 QoS 값 Qj는 상응하는 품질 기준에 의존한다. 예를 들어, 품질기준으로서 응답시간을 고려해보자. 웹 서비스 순서가 w1이면, j번째 QoS 값은 rt(w1)이고 rt(w1)은 웹 서비스 w1의 응답시간이다. 그렇지 않고 웹 서비스 시퀀스가 w1...wn(n > 1)이면, Qj(σ) = rt(w1) + Qj(w2...wn)이다. 반면 처리량을 고려해보자. 웹 서비스 순서가 w1이면, j번째 QoS 값은 w1에서의 처리량이며(Qj(σ) = th(w1)), th(w1)은 웹 서비스 w1의 처리량이다. 그렇지 않으면 웹 서비스 순서가 1보다 크면, Qj(σ) = Min(th(w1), Qj(w2...wn))이다.
본 발명의 실시예에 따른 QoS 인식 웹 서비스 구성방법은, 애니타임 알고리즘을 이용한 빔 스택 검색 알고리즘에 기초한다. 따라서, 빔 검색 알고리즘 및 빔 스택 검색 알고리즘을 살펴본 후, QoS 인식 웹 서비스 구성 문제를 위한 기본 애니타임 알고리즘을 제안한다.
빔 검색 알고리즘은 모든 노드가 아니라 단지 각 검색 레벨에서 후보노드 집합을 탐색하는 근사화 검색 알고리즘이다. 우리는 각 검색 레벨에서 탐색된 노드 집합을 하나의 빔(beam)으로 정의하고 노드집합의 사이즈(size)를 빔 폭(beam width)로 정의한다. 빔 검객 알고리즘은 고정된 빔 폭을 사용하기 때문에, 공간 및 시간 복잡성은 검색 깊이에서 선형적이다. 그러므로, 빔 검색 알고리즘은 넓게 거대한 검색 공간을 필요로 하는 문제들에 이용되고 있다. 그러나, 공간제한 검색 알고리즘은 심각한 결점 즉 불완전함을 포함하고 있다. 어떤 이론설명 없이 노드들을 제거함으로써, 빔 검색 알고리즘은 최적 솔루션을 놓칠 수도 있다. 이러한 빔 검색 알고리즘이 도 2에 도시되어 있다.
이제 빔 스택 검색 알고리즘(beam stack search algorithm)에 대해서 살펴보기로 한다.
빔 검색 알고리즘이 각 검색레벨에서 단지 어떤 주목을 끄는 노드만을 탐색하기 때문에, 솔루션을 빨리 확인할 수 있지만, 최적 솔루션을 놓칠 수도 있다. 상기 빔 검색 알고리즘의 결점을 극복하기 위해서, 빔 스택 검색 알고리즘은 최적 솔루션을 확인할 때까지 반복하여 빔 검색을 한다. 일단 빔 스택 검색 알고리즘은 빔 검색을 1회 반복을 완료한 경우, 빔 스택 검색 알고리즘은 상기 빔 검색의 진행결과를 기록하고 더 나은 솔루션을 찾기 위해서 다음 빔 검색을 지속한다.
지금까지 방문했던 노드들의 흔적을 유지하기 위해서, 빔 스택 검색 알고리즘은 각 그래프 검색 레벨에 대하여 기초요소를 포함한 빔 스택을 다룬다. 이러한 빔 스택 검색 알고리즘이 도 3에 기술되어 있는데, 빔 스택 검색 알고리즘은 반복적으로 도 4에 도시된 검색 알고리즘의 검색 함수를 반복적으로 호출한다. 이때, 도 4에 도시된 검색 알고리즘은 검색 함수 Search()를 예시한다. 검색 함수 Search()는 검색 레벨의 검색 그래프에서 빔폭(beam width) w를 가진 노드를 탐색한다.
이제 빔 스택 검색 알고리즘을 이용하여 QoS 인식 웹 서비스 구성 문제를 위한 기본 애니타임 알고리즘에 대해서 살펴보기로 한다.
기본 애니타임 알고리즘은 QoS 인식 웹 서비스 구성(WSC) 문제를 해결하기 위해서 빔 스택 검색 알고리즘을 이용한다. 이를 수행하기 위해서, 먼저 QoS 인식 웹 서비스 구성 문제를 그래프 검색 문제로 감소해야 한다. QoS 인식 웹 서비스 구성 문제는 다음과 같이 그래프 검색 문제로 고쳐질 수 있다. 하나의 QoS 인식 웹 서비스 구성 문제 예 <W, wr>가 주어지면, 상기 QoS 인식 웹 서비스 구성문제는 다음과 같은 구성요소를 가진 가중치 상태 전이 시스템 S=(S, s0, G, A, T, C)에 기반한 그래프 검색 문제 예로 감소될 수 있다.
이때, S는 상태집합이며, 각 상태는 검색 그래프에서 노드에 상응한다. s0(∈S)는 가중치 상태 전이시스템의 초기상태이다. G(∈S)는 목표상태 집합이다. A는 행위 집합이다. T(: S×A → S)는 전이함수이다. 각 상태(s) 그리고 각 행위(임의의 웹 서비스에 대응됨)a에 대하여, C(s,a)는 가중치 상태 전이시스템의 행위 비용이다.
가중치 상태 전이 시스템에 기초한 그래프 검색 문제는 초기상태에서 목표상태까지 최소의 비용을 갖는 행위(웹 서비스)들의 시퀀스를 발견하는 것이다.
각 j번째 순서의 웹 서비스 wj = (Ij, Oj, Qj )인 웹 서비스 집합 W = {w1,...,wn} 이 주어지면, 우리는 모든 타입의 집합 TP를 정의한다. 이때 TP = {t | for each p ∈∪ (Ij ∪ Oj), t = type(p)}이다.
웹 서비스 집합 W = {w1,...,wn} 및 요구 웹 서비스 wr = (Iwr, Owr, Qwr)가 주어지면, 다음과 같이 가중치 상태 전이 시스템 S=(S, s0, G, A, T, C)을 세울 수 있다. 상태 집합 S = {(x1,...,xm) | xj = true or false, m = |TP|}이다. 각 부울리언 변수 xj 상태 s에서 타입 tj가 존재하는지(true) 또는 존재하지 않는지(false)를 나타낸다. 가중치 상태 전이시스템의 초기상태 s0는 s0 = (x1,..,xm)이다. 그 초기상태에서 요구 웹 서비스 집합에 속하는 입력매개변수들이 존재하는 경우에 각 부울리언 변수 xj 는 사실(true)이고 그로 인해서 각 부울리언 변수에 상응하는 타입 txj는 입력 타입 ti의 수퍼타입(super-type)이다(즉, ti <: txj). 그렇지 않으면 각 부울리언 변수 xj 는 거짓(false)이다. 한편 어떤 타입 t는 수퍼타입 또는 서브타입이 될 수 있으며, 수퍼타입 및 서브타입 관계는 상반적(reflexive)이다. 즉 모든 타입 t에 대하여 t <: t 의 관계를 가진다.
목표상태 집합 G는 (x1,...,xm)로 구성되고 출력매개변수가 요구 출력 웹 서비스 집합에 속하는 경우에 각 부울리언 변수는 사실(true)이다. 그로 인해서 각 부울리언 변수 xj 에 상응하는 타입은 출력타입의 서브타입이다(txj <: to).
행위집합은 웹 서비스 집합과 같다(A = W).
상태 s, 상태 s' 및 웹 서비스 w가 각각 s = (x1,...,xm), s' = (x1',...,xm') 및 w = (I, O, Q) 인 경우, 전이함수 즉 T(s, w)는 상태 s'와 같게 된다. 이 결과를 도출하기 위한 조건은 다음과 같다. (1)모든 입력매개변수(∈입력매개변수 집합)에 대하여, 상태 s에서 부울리언 변수(xj)가 존재하면 상기 부울리언 변수(xj)는 사실(true)이 되고 상기 부울리언 변수에 상응하는 타입(txj)은 입력매개변수의 타입의 서브타입이다(txj <: ti). (2)상태 s의 부울리언 변수 xk 가 사실(true)이면 상태 s'의 부울리언 변수 xk 또한 사실(true)이다. (3)상태 s'의 모든 부울리언 변수 xj'에 대하여, 부울리언 변수 xj'에 상응하는 타입 txj이 출력타입 to의 수퍼타입인 경우, 부울리언 변수 xj'는 사실(true)이다.
즉, 웹 서비스 w는, 상태 s에서 웹 서비스의 입력들보다 더 많은 정보를 가진 데이터들을 가진 경우에, 상태 s에서 호출될 수 있다. 웹 서비스가 상태 s에서 호출된 경우, 상태 s'로 진행한다. 그 상태 s'에서 우리는 상태 s의 모든 데이터들을 보유하고 웹 서비스 w의 출력들뿐만 아니라 웹 서비스의 수퍼타입들의 출력들도 획득한다.
모든 상태 s에 대하여, 행위비용 즉 C(s, w)는 C(s, w) = c1ㆍq1 + ... + ckㆍqk로 구할 수 있다. 이때, qj 는 웹 서비스의 j번째 품질 기준 값이다.
위에서 살펴보았듯이, 초기상태에서 요구 웹 서비스의 입력뿐만 아니라 요구 웹 서비스의 수퍼타입들의 입력에 상응하는 모든 데이터들을 보유할 수 있다. 요구 웹 서비스 wr의 출력들보다 더 많은 정보를 가진 상태가 있다면, 이것이 목표상태이다.
또한 가중치 상태 전이 시스템에 기초한 그래프 검색 문제의 최적 솔루션은 QoS 인식 웹 서비스 구성 문제의 웹 서비스의 최적 구성에 상응한다.
결론적으로, 도 3에 도시된 빔 스택 검색 알고리즘을 QoS 인식 웹 서비스 구성 문제에 적합하도록 고치는 것이다. 이를 위해서 먼저 주어진 QoS 인식 웹 서비스 구성(WSC) 문제를 그래프 검색 문제로 감소하고, 빔 스택 검색 알고리즘을 이용하여 상기 감소된 그래프 검색 문제를 해결한다. 빔 스택 검색 알고리즘이 최선의 경로(best-so-far path)를 찾을 때마다 이에 상응하는 웹 서비스 시퀀스를 구성하여 사용자에게 리턴(return)할 수 있다.
이제 QoS 인식 웹 서비스 구성 문제를 위한 동적 애니타임 알고리즘에 대해서 살펴보기로 한다.
동적 애니타임 알고리즘은 기본 애니타임 알고리즘 보다 빠르게 QoS 인식 웹 서비스 구성 문제에 대한 솔루션을 확인할 수 있다. 기본 애니타임 알고리즘의 검색 메커니즘에서, 초기 상태에서 나쁜 결정은 나중 상태에서 나쁜 선택보다 더 많은 검색 공간을 필요로 한다. 이 비용을 줄이기 위해서, 동적 애니타임 알고리즘은 초기 상태에서 더 큰 빔 폭(beam widths)를 할당해서 더 많은 품질을 갖춘 후보들을 고려한다. 나아가, 본 발명의 실시예는 동적 애니타임 알고리즘을 구현하는데 있어 두 가지의 검색기법을 더 제안해서 현재의 근사화된 솔루션의 품질과 전체 실행시간을 개선한다.
원래의 빔 스택 검색 알고리즘은 주어진 문제 사례에 불구하고 모든 레벨의 검색 그래프에서 고정된 크기의 빔 폭을 이용한다. 그러나 빔 폭은 효율을 결정하는데 중요한 역할을 한다. 작은 크기의 빔폭은 과도하게 품질을 갖춘 후손 노드를 제거하는 문제를 발생한다. 그러므로 더 확장된 추적을 필요로 한다. 반면, 큰 사이즈(크기)의 빔 폭을 가지는 경우, 많은 후보 노드들이 고려되어야 하므로, 검색 공간이 현재하게 증가하게 된다. 매우 작은 사이즈의 빔폭 또는 매우 큰 사이즈의 빔폭을 가지는 경우, 빔 스택 검색 알고리즘은 깊이 우선 검색 알고리즘 및 넓이 우선 검색 알고리즘보다 더 좋다고 할 수 없다. 그러므로, 빔폭을 조절하기 위한 효율적인 기법이 필요하게 된다.
이를 해결하기 위해서 단지 동적으로 빔폭만을 조절하는 것을 제어하는 것을 제안한다. 즉 초기 상태에서 큰 빔폭을 할당해서 많은 후보 노드들을 고려하는 것을 제안한다. 검색을 수행하는 동안에 서로 다른 크기의 빔폭을 이용한다. 본 발명의 실시예는 초기에 큰 사이즈의 빔폭을 사용하다가 검색 그래프 쪽으로 향해 갈수록 빔폭의 크기를 줄인다. 하나의 검색에 대해서 구축된 검색 그래프는 당근(carrot) 모양을 하며, 도 5에 도시되어 있다.
빔폭 값을 결정하기 위한 고려해야 할 특징들이 있다. 그들 중 각 레벨의 검색 그래프에서 총 노드 수는 검색 공간의 크기를 결정하는 중요한 역할을 한다. 그러나, 각 레벨에서 노드 수를 정확하게 확인하게 위해서, 많은 컴퓨터 계산량을 필요로 한다. 즉 각 레벨에서 노드 수를 정확하게 확인하기 위해서는 전체 검색 그래프 구축(whole search graph construction)을 필요로 한다.
따라서, 모든 노드가 동일한 수의 후손노드를 갖는 것으로 가정함으로써, 이 값을 근사화한다. 레벨 0에서, 단지 하나의 노드만을 갖는데, 상기 노드는 초기 노드이다(이것은 검색 그래프의 루트 노드와 같은 것이다). numSucc라고 불려지는 초기 노드에 대한 후손 노드 수를 카운트한다. 그리고 나서 각 노드가 numSucc 개의 후손노드를 가지는 것으로 가정한다. 레벨 1에서 정확하게 numSucc 개의 노드를 가지며, 대략적으로 레벨 2에서 numSucc2개의 노드, 레벨 3에서 numSucc3개의 노드, 레벨 4에서 numSucc4개의 노드, 레벨 n에서 numSuccn개의 노드를 가질 수 있는 것으로 근사화할 수 있다. 상기 근사화에 기초하여, 각 레벨 i에 대하여 빔폭 beamWidth(i)을 다음과 같이 결정할 수 있다.
빔폭 즉 beamWidth(1)는 numSucc이다(beamWidth(1)= numSucc).
beamWidth(2)= RincㆍbeamWidth(1)이고 Rinc는 레벨 2에 대한 증가율(1<Rinc<numSucc)이며 1.5(실험결과로 얻어진 값)일 수 있다. 사실 두 번째 레벨(레벨 2)에서 근사화된 노드 수는 numSucc2인데, 그들의 후손들을 고려하기에 너무 큰 수이다. 선형화를 위해서, 빔폭을 줄일 필요가 있다. 그러나 레벨 2에서, 빔폭을 줄이는 대신에 사용자가 제공한 일정한 값을 갖는 증가율 Rinc만큼, 빔폭을 선형적으로 증가시키는 것이다. 이렇게 하는 이유는 이 전략이 짧은 길이의 구성을 발견하는데 도움이 되기 때문이다. 한편, 레벨 i가 3보다 크거나 같은 경우(i≥3), beamWidth(i)= RdecㆍbeamWidth(i-1)이고 Rdec는 감소율(0<Rdec<1)이며 0.9(실험결과로 얻어진 값)일 수 있다. 작은 크기의 빔폭이 검색을 빠르게 완료할 수 있도록 해주고 나중 레벨에서의 나쁜 선택 비용이 상대적으로 중요하지 않기 때문에, 점차적으로 감소율 상수 Rdec를 이용하여 빔폭을 줄일 수 있다.
widthmin은 빔폭의 하한 경계이며(0 < widthmin < numSucc), 최소값으로 0.3ㆍnumSucc개(실험을 통해 얻어진 값)일 수 있다. 레벨에 따라 빔폭의 크기는 '0'까지 감소할 수 있다. 게다가 빔폭이 매우 작다면, 과도한 추적 및 재시도를 발생할 수 있다. 결론적으로, 모든 i에 대하여 beamWidth(i)가 widthmin보다 작으면(beamWidth(i) < widthmin), beamWidth(i)와 widthmin는 같게 된다(beamWidth(i)= widthmin).
도 6에 도시된 QoS 인식 웹 서비스 구성을 위한 동적 애니타임 알고리즘과 도 7에 도시된 검색기법을 가진 동적 빔 폭 검색알고리즘은 본 발명의 실시예에 따른 동적 알고리즘이고, 각각의 검색 함수는 상기 기본 애니타임 알고리즘에 기초한다. 상기 빔폭의 동적할당은 검색함수 determineBeamWidth()(도 7의 라인 7)에서 실현된다.
추가적인 양상으로 본 발명의 실시예는 기본 애니타임 알고리즘을 개선하기 위한 두 가지의 검색기법, 즉 단축 추적 알고리즘(short backtracking algorithm)과 상한 경계 프로파게이션 알고리즘(upper bound propagation algorithm)을 제안한다.
먼저 단축 추적 알고리즘에 대해서 살펴보기로 한다.
빔 스택 검색 알고리즘의 divide and conquer 버전은 주로 메모리에서 4개의 레벨로 검색 그래프를 유지함으로써 메모리 소비를 줄이는 것을 목적으로 하며, 이 버전은 최근 고려되는 기술이다. 이 기술에 의하면, 빔 스탬 알고리즘이 추적하는 레벨은 메모리에서 제거될 수 있으며, 이 경우 빔 스택 검색 알고리즘은 반드시 지워진 레벨을 복구해야 한다. 불행하게도, 우리가 목표 레벨에 대한 모든 상한 레벨들을 구축해야 한다는 것이다. 다시 말해서, 빔 스택 검색 알고리즘은 각 레벨에서 목표 레벨이 재구축될 때까지 반드시 초기 노드로 리턴해야 하고 다시 후손 노드들을 구축해야 한다는 것이다. 이 노드 재구축은 전체 알고리즘 실행시간에서 많은 시간을 차지할 수 있다.
이 문제를 해결하기 위해서, 본 발명의 실시예는 단축 추적 알고리즘을 제안한다. 검색 함수 DBWSearch는 메모리에서 검색반복이 수행되는 동안 방문이 이루어진 폐쇄상태의 집합을 저장한다. 이와 달리 기본 검색 함수에서는 모든 폐쇄상태의 집합들이 다음 레벨을 탐색하기 전에 제거가 이루어진다.
DBWSearch의 다음 호출에서, 단축 추적 알고리즘은 beamStack[top-1]에 상응하는 레벨을 건너뛰어 입력 매개변수 DWBSearch에 이르게 된다(이는 도 6의 라인 26 및 라인 10에 개시되어 있다). 레벨 제거가 발생할 경우 함께 제거될 레벨은 부모 레벨일 수 있다. 검색 함수 DBWSearch는 폐쇄 집합 내의 노드들을 단순히 공개 집합으로 이동함으로써 목표 레벨의 공개 집합을 쉽게 구축한다(이는 도 5의 라인 2 내지 5에 개시되어 있다). 그리고 검색 함수 beamStack[top]에 상응하는 레벨에서 DBWSearch는 beamStack[top]의 갱신된 하한 경계 및 상한 경계에 따라 새로운 후손 노드들을 발생함으로써 검색을 개시한다.
이제 상한 경계 프로파게이션 알고리즘에 대해서 살펴보기로 한다.
빔 스택의 각 엔트리는 상응하는 레벨에서 노드 집합을 나타내는 하한 경계 Cmin과 상한 경계 Cmac를 포함한다. 즉, 상기 레벨에서 품질 노드(qualified node)는 반드시 Cmin과 Cmac 사이 내에서 총 QoS 값을 가져야 한다. 상한 경계는 검색 공간에 중요한 영향을 미친다. 상기 총 QoS 값이 최적 값에 더 가까우면, 상한 경계 프로파게이션 알고리즘은 총 QoS 값이 상한 경계보다 더 큰 노드들을 무시할 수 있다.
그러나 빔 스택 검색 알고리즘이 새롭고 더 나은 솔루션을 찾기 때문에, 빔스택 검색 알고리즘은 단지 최선의 솔루션 U의 총 QoS 값을 갱신하고, 동시에 모든 레벨에서 상한 경계에 대한 값을 보존한다.
상한 경계보다 아주 약간 작은 값(tight low value for Cmax)을 갱신하지 않고서도, 다음 검색 반복(next search iteration)에서 불필요한 노드들을 탐색할 수 있다. 고 레벨에서 노드의 QoS 값은 상대적으로 작기 때문에, 그러한 상태들은 고 레벨에서 존재할 수 있다. 그러나 그 결과는 전체 검색 공간에서 중요할 것일 수 있다. 이유는 고 레벨의 노드들이 그들의 서브그래프에서 많은 후손들을 포함하기 때문이다. 그러므로, 검색 반복 수행과정에서 새롭고 더 나은 솔루션을 확인하면, 상한 경계 프로파게이션 알고리즘은 상기 확인된 솔루션의 총 QoS 값을 가지고 모든 레벨에 대한 상한 경계 Cmax를 갱신한다(도 5의 라인 25에 개시되어 있다).
상기 빔 스택 검색 알고리즘을 구비한 QoS 인식 웹 서비스 구성 툴 및 상기 동적 빔 폭 알고리즘을 구비한 QoS 인식 웹 서비스 구성 툴을 구현했다.
WSDL, WSLA, 그리고 OWL 포맷들에서, 하나의 웹 서비스 집합이 주어지면, 상기 툴 들은 QoS 인식 웹 서비스 구성 문제를 그래프 검색 문제로 감소하고, 하나의 최적 전략(최적 웹 서비스 시퀀스)을 계산한다. 마지막으로, 상기 툴 들은 상기 계산결과 얻어진 솔루션 전략(솔루션 웹 서비스 시퀀스)를 최적 구성을 위한 BEFL 파일로 변환한다.
상기 툴 들이 최적 솔루션을 확인하는 것을 보여주기 위해서, 웹 서비스 과제 2009가 제공한 TestSetGenerator에 의해서 발생된 6개의 WSC 문제들(즉, P1, P2, P3,..,P6)에 대한 실험을 수행했다. 도 8에 도시된 표는 각 문제 예에 대해서, 총 웹 서비스, 총 매개변수의 수와 최적 솔루션의 길이를 나타낸다. 모든 실험들이 2.33GHz 코어2 듀오 프로세서, 1GB 메모리 및 리눅스 운영 체제 환경의 PC에서 수행되었다. 먼저 P4에 대한 QoS 인식 웹 서비스 구성문제에서 애니타임 알고리즘이 어떻게 동작하는지를 최적 알고리즘과 비교하여 설명한다. 최적 알고리즘과 같이, 동일 비용 검색 알고리즘(uniform cost search algorithm), 즉 가중치 그래프 검색 문제에 대한 일반적인 최적 알고리즘을 이용한다. 상기 최적 알고리즘과 동적 애니타임 알고리즘을 비교하며, 상기 동적 애니타임 알고리즘은 상기 동적 빔 폭 메커니즘(dynamic beam width mechanism)과 검색기법을 포함한다.
도 9는 상기 최적 알고리즘과 동적 애니타임 알고리즘의 동작수행결과를 비교한 도면이다. X축은 실행시간(알고리즘이 솔루션을 리턴할 때 소요되는 시간)이고 Y축은 리턴된 솔루션의 품질비(quality ratio)(즉 최적 솔류션의 QoS 값과 애니타임 알고리즘에 의해 리턴된 솔루션의 QoS 값의 비율)를 나타낸다. 동일 비용 알고리즘은 61.4초에서 QoS 값이 510을 가진 하나의 최적 솔루션을 발견한다. 반면, 애니타임 알고리즘은 솔루션 집합을 리턴한다. 즉 2.6초에서 850(품질비는 510/850=0.6), 2.7초에서 680(품질비는 510/680=0.75), 3.5초에서 650(품질비는 510/650=0.78), 10,1초에서 560(품질비는 510/560=0.91), 25.0초에서 530(품질비는 510/530=0.96) 및 57.7초에서 510(품질비는 510/510=1)이다.
상기 애니타임 알고리즘은 마지막으로 90.0초에서의 솔루션이 최적 솔루션인 것을 결정짓는다. 상기 애니타임 알고리즘이 이미 57.7초에서 최적 솔루션을 발견했지만, 상기 애니타임 알고리즘은 그것이 진짜로 최적 솔루션인지를 확인하기 위한 시간을 더 필요로 한다. 상기 애니타임 알고리즘은 오래 시간을 들여서 최적 솔루션을 확인하지만, 상기 애니타임 알고리즘은 10.1, 25.0 및 57.7초에서 고 품질( 품질비가 0.9 이상)을 가진 몇 개의 솔루션을, 61.4초에서 솔루션을 리턴하는 동일 비용 알고리즘보다 일찍 제공한다. 더 나아가, 적절한 품질(즉 품질비가 0.6에서 0.9 사이인 것)을 가진 솔루션들은 매우 빨리 확인이 되었다(즉 2.6, 2.7 및 3.5초에서 확인됨).
도 10은 세 개의 알고리즘(즉, 동일 비용 검색 알고리즘, 기본 애니타임 알고리즘 및 동적 애니타임 알고리즘)은 도 8의 표에 제시된 6개의 문제들을 특정 시간 범위(즉 각각 60, 120, 300 및 600초)에서 해결한다. 그것은 각 알고리즘이 각 제한시간 내에 문제들을 해결했는지 여부를 나타내며, 최선의 솔루션인지를 나타낸다. 동일 비용 알고리즘의 경우, 상기 문제들의 해결 여부만을 보고한다.
기본 애니타임 알고리즘 및 동적 애니타임 알고리즘은 최적 솔루션(웹 서비스)을 발견한 후에도, 상기 발견된 최적 솔루션이 진짜로 최적인가를 증명하기 위해서 검색공간의 일부를 방문한다.
Complete and Incomplete는 상기 기본 애니타임 알고리즘 및 동적 애니타임 알고리즘이 상기 확인단계를 완료했는지 여부를 나타낸다. 완료한 경우는 Complete로 표시되고 완료하지 못한 경우는 Incomplete로 표시된다.
60초 내에, 모든 알고리즘은 P1을 제외한 모든 문제의 해결을 완료하지 못하고 있다. 그러나, 최적 알고리즘은 어떤 결과도 제공하지 못하지만, 상기 기본 애니타임 알고리즘 및 동적 애니타임 알고리즘은 QoS 품질비가 0.68 내지 1 사이인 근사화된 솔루션들을 발생한다. 주어진 제한시간이 길어질수록, 동일 비용 알고리즘은 더 많은 문제, 즉 1, 4, 4 및 5 문제들을 각각 60, 120, 300 및 600초를 가지고 해결한다. 마찬가지로, 기본 애니타임 알고리즘 및 동적 애니타임 알고리즘은 더 많은 문제를 해결하거나 고 품질을 가진 솔루션들을 리턴한다. 기본 애니타임 알고리즘은 1, 1, 4 및 4 문제들을 각각 60, 120, 300 및 600초를 가지고 해결한다. 그리고 기본 애니타임 알고리즘은 해결하지 못한 문제들에 대해서, 솔루션, 예를 들어 P5의 품질을 개선하고, 60, 120, 300 및 600초에서 각각 0.68, 0.68, 0.81 및 0.87로 리턴된 솔루션들의 품질비들을 개선한다. 동적 애니타임 알고리즘은 1, 3, 4, 4 문제들을 각각 60, 120, 300, 600초에서 해결한다. 그리고 동적 애니타임 알고리즘은 해결되지 않은 문제들에 대해서, 또한 솔루션, 예를 들어 P6의 품질을 개선하고, 60, 120, 300 및 600초에서 각각 0.85, 0.96, 0.96 및 1로 리턴된 솔루션들의 품질비들을 개선한다. 문제 5에 대해서, 최적 알고리즘은 600초 내에 해결하지 못하는데, 이는 최적 알고리즘이 오랜 대기시간 후에도 사용자에게 어떤 결과도 리턴하지 못한다는 것을 의미한다. 반면, 60초 내에, 기본 애니타임 알고리즘 및 동적 애니타임 알고리즘은 품질비가 각각 0.68인 근사화된 솔루션 및 0.81인 근사화된 솔루션을 제공한다. 그리고 기본 애니타임 알고리즘 및 동적 애니타임 알고리즘은 긴 제한시간을 가지고 상기 제공된 솔루션의 품질비들을 개선하여 제공한다(600초 이내에서 품질비가 0.87까지 개선됨). 이 모든 경우에 있어서, 동적 애니타임 알고리즘은 기본 애니타임 알고리즘보다 뛰어난 성능을 보이며, 동적 애니타임 알고리즘은 기본 애니타임 알고리즘보다 더 일찍 더 높은 품질의 솔루션을 발견한다. 또한 동적 애니타임 알고리즘은 기본 애니타임 알고리즘보다 더 빠르게 전체 검색을 완료한다.
도 11은 3개의 알고리즘(즉 최적 알고리즘, 기본 애니타임 알고리즘, 동적 애니타임 알고리즘)의 6개 문제에 대한 작업결과를 나타낸 도면이다.
기본 애니타임 알고리즘 및 동적 애니타임 알고리즘은 근사화된 솔루션 집합을 확인한다. 그리고 기본 애니타임 알고리즘의 솔루션 품질 및 동적 애니타임 알고리즘의 솔루션 품질은 시간이 지남에 따라 개선된다. 도 11의 (b), (c) 및 (f)에서, 동적 애니타임 알고리즘은 현저하게 기본 애니타임 알고리즘보다 특히 시작부분에서 뛰어난 성능을 보이는데, 이것의 발생원인은 초기 단계에서 동적 애니타임 알고리즘의 큰 빔 폭일 수 있다. 문제 3(P3)에서, 기본 애니타임 알고리즘이 3.0초에서 품질비 0.77인 솔루션 및 37.8초에서 품질비 0.80인 솔루션을 발견하는 반면, 동적 애니타임 알고리즘은 먼저 3.0초에서 품질비 0.80인 솔루션을 제공한다. 이는 동적 애니타임 알고리즘이 품질비 0.77인 솔루션을 지나쳐서, 기본 애니타임 알고리즘 보다 더 일찍 품질비 0.80인 솔루션을 발견한다는 것을 의미한다. 이렇게 동적 애니타임 알고리즘이 기본 애니타임 알고리즘보다 더 일찍 고품질 솔루션을 발결하는 이유는 초기 단계에서 더 많은 후보상태들을 가지고 신중한 선택을 할 수 있기 때문이다. 더 나아가, 기본 애니타임 알고리즘에서, 품질비 0.77인 솔루션 발견시간과 품질비 0.80인 솔루션 발견시간 사이의 시간(34.8초)은 초기 레벨에서 나쁜 선택은 비용의 큰 손실을 발생하는데, 이는 기본 애니타임 알고리즘의 추적 메커니즘에 기인한다. 저품질의 솔루션을 지나치는 것은 동적 애니타임 알고리즘의 가치있는 특징이다.
이제까지 본 발명에 대하여 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 따라서 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허청구범위에 기재된 내용 및 그와 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.

Claims (1)

  1. 컴퓨터가 웹 서비스 집합과 QoS 정보가 포함된 사용자 요구 웹 서비스로 구성되는 QoS 인식 웹 서비스 구성문제 예를 가중치 상태 전이 시스템에 기반하여 그래프 검색 문제 예로 감소시키는 단계;
    컴퓨터가 상기 그래프 검색 문제 예에, 각 레벨에서 한정된 수의 후보 상태들을 탐색하는 빔 스택 검색 알고리즘에 기초하는 기본 애니타임 알고리즘(basic anytime algorithm)을 적용하는 경우, 상기 빔 스택 검색 알고리즘은 최적의 복합 웹 서비스를 구성하기 전에도, 최선의 경로(best-so-far path)를 찾을 때마다 상기 최선의 경로에 상응하는 복합 웹 서비스를 구성하여 사용자에게 리턴(return)하고, 상기 기본 애니타임 알고리즘은 상기 최적의 복합 웹 서비스를 발견한 후에도, 검색공간의 일부를 방문하여 상기 발견된 최적 복합 웹 서비스의 최적 여부를 증명하는 상기 QoS를 최소화하는 최적의 복합 웹 서비스를 구성하는 단계;
    컴퓨터가 상기 그래프 검색 문제 예에, 각 레벨에서 한정된 수의 후보 상태들을 탐색하는 빔 스택 검색 알고리즘에 기초하는 기본 애니타임 알고리즘(basic anytime algorithm)을 적용하지 않고 단축 추적 알고리즘을 적용하는 경우,검색 함수 DBWSearch는 메모리에서 검색반복이 수행되는 동안 방문이 이루어진 폐쇄상태의 집합을 저장하고, 상기 검색 함수 DBWSearch의 다음 호출에서, 상기 단축 추적 알고리즘은 검색 함수 beamStack[top-1]에 상응하는 레벨을 건너뛰어 상기 검색함수 DBWSearch의 입력 매개변수에 이르게 되고, 상기 검색 함수DBWSearch는 폐쇄 집합 내의 노드들을 단순히 공개 집합으로 이동함으로써 목표 레벨의 공개 집합을 구축하고, 검색 함수 beamStack[top]에 상응하는 레벨에서 상기 검색 함수 DBWSearch는 상기 검색 함수 beamStack[top]의 갱신된 하한 경계 및 상한 경계에 따라 새로운 후손 노드들을 발생함으로써 검색을 개시하는 단계; 및
    컴퓨터가 상기 그래프 검색 문제 예에, 상기 최적의 복합 웹 서비스를 찾는 검색을 수행하는 동안에 서로 다른 크기의 빔폭을 이용하고, 상기 빔폭의 크기는 상기 검색 초기에서 시간이 경과할 수록 작아지는 동적 애니타임 알고리즘(dynamic anytime algorithm)을 적용하는 경우, 상기 동적 애니타임 알고리즘은 상기 최적의 복합 웹 서비스를 발견한 후에도, 검색공간의 일부를 방문하여 상기 발견된 최적 복합 웹 서비스의 최적 여부를 증명하는 상기 QoS를 최소화하는 최적의 복합 웹 서비스를 구성하는 단계를 포함하는 것을 특징으로 하는 애니타임 알고리즘을 이용한 QoS 인식 웹 서비스 구성방법.
KR1020130159512A 2013-12-19 2013-12-19 애니타임 알고리즘을 이용한 큐 오 에스 인식 웹 서비스 구성방법 KR101442755B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130159512A KR101442755B1 (ko) 2013-12-19 2013-12-19 애니타임 알고리즘을 이용한 큐 오 에스 인식 웹 서비스 구성방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130159512A KR101442755B1 (ko) 2013-12-19 2013-12-19 애니타임 알고리즘을 이용한 큐 오 에스 인식 웹 서비스 구성방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020110146753A Division KR20130078041A (ko) 2011-12-30 2011-12-30 애니타임 알고리즘을 이용한 큐 오 에스 인식 웹 서비스 구성방법

Publications (2)

Publication Number Publication Date
KR20140012604A KR20140012604A (ko) 2014-02-03
KR101442755B1 true KR101442755B1 (ko) 2014-11-03

Family

ID=50263491

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130159512A KR101442755B1 (ko) 2013-12-19 2013-12-19 애니타임 알고리즘을 이용한 큐 오 에스 인식 웹 서비스 구성방법

Country Status (1)

Country Link
KR (1) KR101442755B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070100020A (ko) * 2006-04-06 2007-10-10 경희대학교 산학협력단 Promethee 알고리즘에 기초한 웹 서비스 제공자의선택 방법
KR20090038437A (ko) * 2006-07-31 2009-04-20 소니 가부시끼 가이샤 화상 처리 장치 및 화상 처리 방법
KR20090106556A (ko) * 2007-02-07 2009-10-09 인터내셔널 비지네스 머신즈 코포레이션 웹 서비스 정의의 품질을 평가하고 정교화하기 위한 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070100020A (ko) * 2006-04-06 2007-10-10 경희대학교 산학협력단 Promethee 알고리즘에 기초한 웹 서비스 제공자의선택 방법
KR20090038437A (ko) * 2006-07-31 2009-04-20 소니 가부시끼 가이샤 화상 처리 장치 및 화상 처리 방법
KR20090106556A (ko) * 2007-02-07 2009-10-09 인터내셔널 비지네스 머신즈 코포레이션 웹 서비스 정의의 품질을 평가하고 정교화하기 위한 방법 및 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
H. KIL & W. NAM 'Anytime algorithm for QOS Web Service Composition', WWW 2011, Mar. 28-Apr. 1 2011. *

Also Published As

Publication number Publication date
KR20140012604A (ko) 2014-02-03

Similar Documents

Publication Publication Date Title
Liu et al. A task scheduling algorithm based on classification mining in fog computing environment
US11150874B2 (en) API specification generation
JP7038113B2 (ja) モノのインターネットにおけるセマンティックマッシュアップの許可
US6397206B1 (en) Optimizing fixed, static query or service selection and execution based on working set hints and query signatures
CN107250981B (zh) 单页应用中的路由动态加载
Malandrino et al. MIMOSA: context-aware adaptation for ubiquitous web access
US10453165B1 (en) Computer vision machine learning model execution service
TWI706326B (zh) 資訊處理方法、裝置及設備
KR102584447B1 (ko) 크로스도메인 확장형 워크플로우 엔진 프레임워크
CN110555550B (zh) 在线预测服务的部署方法、装置及设备
Wanigasekara et al. A bandit approach for intelligent IoT service composition across heterogeneous smart spaces
CN110932981B (zh) 一种支持自动路由的数据交换系统
Buchholz et al. CoCo: dynamic composition of context information
KR101286284B1 (ko) 온 더 플라이 학습 기반 검색을 이용한 큐 오 에스 인식 웹 서비스 구성방법
Kil et al. Transaction history-based web service composition for uncertain QoS
KR101252954B1 (ko) 분산 시스템에 위치된 서비스 오브젝트에 대한 사용자 인터페이스 제공 장치 및 방법
JP3799925B2 (ja) エージェントサービス提供方法及びコンピュータ読み取り可能な記録媒体
KR20130078041A (ko) 애니타임 알고리즘을 이용한 큐 오 에스 인식 웹 서비스 구성방법
KR101442755B1 (ko) 애니타임 알고리즘을 이용한 큐 오 에스 인식 웹 서비스 구성방법
KR101996029B1 (ko) 네트워크 기능 가상화 시스템에 있어서, 네트워크 서비스 디스크립터를 설계하는 방법, 네트워크 서비스 디스크립터를 관리하는 방법 및 그 방법들을 구현하기 위한 시스템
US11153388B2 (en) Workflow engine framework for cross-domain extension
US12019627B2 (en) Automatically and incrementally specifying queries through dialog understanding in real time
CN115499421A (zh) 一种基于三层架构的微服务架构模式
CN110780862B (zh) 基于关键路径生成树的自动服务组合方法
US7287228B2 (en) On-demand and incremental application adaptation

Legal Events

Date Code Title Description
A107 Divisional application of patent
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: 20170901

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 5