KR101786602B1 - 시맨틱 협상 모듈 및 방법 - Google Patents
시맨틱 협상 모듈 및 방법 Download PDFInfo
- Publication number
- KR101786602B1 KR101786602B1 KR1020110011950A KR20110011950A KR101786602B1 KR 101786602 B1 KR101786602 B1 KR 101786602B1 KR 1020110011950 A KR1020110011950 A KR 1020110011950A KR 20110011950 A KR20110011950 A KR 20110011950A KR 101786602 B1 KR101786602 B1 KR 101786602B1
- Authority
- KR
- South Korea
- Prior art keywords
- service
- constraint
- terminal
- semantic
- value
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
- G06F16/337—Profile generation, learning or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Information Transfer Between Computers (AREA)
Abstract
시맨틱 협상 모듈 및 방법이 개시된다. 본 발명의 실시예들에 따르면, 온톨로지 기반의 시맨틱 협상을 수행함으로써, 사용자가 사용하고자 하는 서비스에 대한 사전 지식이나 강결합 구조의 클라이언트 모듈 없이도 모바일 단말기 및 사용자에게 최적화된 서비스를 제공할 수 있다. 또한, 사용자의 개입 없이 모바일 단말기와 서비스 서버 사이에 자동으로 시맨틱 협상이 수행됨으로써, 사용자의 편리성을 제고할 수 있다.
Description
본 발명의 실시예들은 시맨틱 협상 방법에 관한 것으로서, 보다 구체적으로는 온톨로지에 기반한 시맨틱 협상 방법에 관한 것이다.
종래의 시맨틱 처리 시스템은 일반적으로 3 티어(Tier) 구조를 갖는다. 즉, 서비스를 제공하는 서버 모듈과 사용자에 대한 정보를 포함하는 클라이언트 모듈, 서버 모듈에서 제공받은 서비스에 대한 정보와 클라이언트 모듈에서 제공받은 사용자에 대한 정보를 이용하여 사용자의 요구에 적합한 서비스를 제공하는 에이전트 모듈로 구성된다. 이러한 3 티어 구조는 서비스 제공자와 서비스 소비자 이외에 에이전트 모듈을 반드시 필요로 한다. 따라서, 서비스 소비자(클라이언트 모듈)가 서비스를 이용하기 위해서는 특정 에이전트 모듈의 주소를 반드시 알아야 하고, 에이전트 모듈에 서비스 제공자(서버 모듈)의 서비스가 반드시 등록되어 있어야 한다.
도 1은 종래의 모바일 서비스 이용 방법을 나타내는 도면이다.
도 1을 참조하면, 종래의 모바일 서비스 이용 방법의 경우, 서비스를 제공하는 서버(Server)의 서버 모듈(120)과 모바일 기기의 클라이언트 모듈(Client Module)(110)은 모두 동일한 서비스 제공자(101)에 의하여 설계된다.
따라서, 클라이언트 모듈(110) 및 서버 모듈(120) 사이의 상호작용은 강결합(Tightly Coupled) 구조를 형성하게 되고, 클라이언트 모듈(110) 및 서버 모듈(120) 사이에 사전에 정의된 상호 작용만 수행할 수 있다. 즉, 클라이언트 모듈(110) 및 서버 모듈(120) 사이의 상호 작용 흐름의 유연성이 떨어지게 된다.
또한, 상호 작용의 입력과 출력 대응 구조는 항상 일정하여 사전에 정의된 입력이 아닌 경우에는 정상적인 상호 작용을 계속할 수가 없다. 따라서, 종래의 모바일 서비스 이용 방법의 경우, 모바일 서비스에 대응하는 클라이언트 모듈(110)이 제공되어야만 모바일 서비스를 이용할 수 있다.
본 명세서에서는 별도의 에이전트 모듈 없이도 서비스를 제공할 수 있는 2 티어 구조를 갖는 새로운 시맨틱 협상 방법을 제안한다.
본 발명의 실시예들은, 온톨로지 기반의 시맨틱 협상을 수행함으로써, 사용자가 사용하고자 하는 서비스에 대한 사전 지식이나 강결합 구조의 클라이언트 모듈 없이도 모바일 단말기 및 사용자에게 최적화된 서비스를 제공하고, 또한, 사용자의 개입 없이 모바일 단말기와 서비스 서버 사이에 자동으로 시맨틱 협상이 수행됨으로써, 사용자의 편리성을 제고하는데 그 목적이 있다.
본 발명의 일실시예에 따른 시맨틱 협상 모듈은, 서비스 서버(Service Server)로 최적 서비스를 요청하는 서비스 요청 메시지를 전송하고, 상기 서비스 서버로부터 상기 최적 서비스를 실행하기 위한 제약(Constraint)에 대한 제약 질의 메시지를 수신하는 통신 관리부(Communication Manager); 및 사용자 온톨로지(Ontology) 및 단말기 온톨로지 중 적어도 하나에 기반하여, 상기 제약에 대한 값을 추출하는 시맨틱 협상부(Semantic Negotiator)를 포함하고, 상기 통신 관리부는 상기 서비스 서버로 상기 추출된 제약에 대한 값을 전송하고, 상기 서비스 서버로부터 상기 최적 서비스에 대한 정보를 수신한다.
본 발명의 일실시예에 따른 시맨틱 협상 모듈은, 단말기로부터 최적 서비스를 요청하는 서비스 요청 메시지를 수신하고, 상기 단말기로 상기 최적 서비스를 실행하기 위한 제약(Constraint)에 대한 제약 질의 메시지를 전송하며, 상기 단말기로부터 상기 제약에 대한 값을 수신하는 통신 관리부(Communication Manager); 및 상기 제약에 대한 값 및 서비스 온톨로지에 기반하여, 복수 개의 서비스 중 상기 제약을 만족하는 서비스를 검색하는 제약 매칭(Constraint Matching)을 수행하고, 상기 제약 매칭에 의해 검색된 서비스를 상기 최적 서비스로 결정하는 시맨틱 협상부(Semantic Negotiator)를 포함하고, 상기 통신 관리부는 상기 단말기로 상기 최적 서비스에 대한 정보를 전송한다.
본 발명의 일실시예에 따른 시맨틱 협상 방법은, 서비스 서버(Service Server)로 최적 서비스를 요청하는 서비스 요청 메시지를 전송하는 단계; 상기 서비스 서버로부터 상기 최적 서비스를 실행하기 위한 제약(Constraint)에 대한 제약 질의 메시지를 수신하는 단계; 사용자 온톨로지(Ontology) 및 단말기 온톨로지 중 적어도 하나에 기반하여, 상기 제약에 대한 값을 추출하는 단계; 상기 서비스 서버로 상기 추출된 제약에 대한 값을 전송하는 단계; 및 상기 서비스 서버로부터 상기 최적 서비스에 대한 정보를 수신하는 단계를 포함한다.
본 발명의 일실시예에 따른 시맨틱 협상 방법은, 단말기로부터 최적 서비스를 요청하는 서비스 요청 메시지를 수신하는 단계; 상기 단말기로 상기 최적 서비스를 실행하기 위한 제약(Constraint)에 대한 제약 질의 메시지를 전송하는 단계; 상기 단말기로부터 상기 제약에 대한 값을 수신하는 단계; 상기 제약에 대한 값 및 서비스 온톨로지에 기반하여, 복수 개의 서비스 중 상기 제약을 만족하는 서비스를 검색하는 제약 매칭(Constraint Matching)을 수행하는 단계; 상기 제약 매칭에 의해 검색된 서비스를 상기 최적 서비스로 결정하는 단계; 및 상기 단말기로 상기 최적 서비스에 대한 정보를 전송하는 단계를 포함한다.
온톨로지 기반의 시맨틱 협상을 수행함으로써, 사용자가 사용하고자 하는 서비스에 대한 사전 지식이나 강결합 구조의 클라이언트 모듈 없이도 모바일 단말기 및 사용자에게 최적화된 서비스를 제공할 수 있다. 또한, 사용자의 개입 없이 모바일 단말기와 서비스 서버 사이에 자동으로 시맨틱 협상이 수행됨으로써, 사용자의 편리성을 제고할 수 있다.
도 1은 종래의 모바일 서비스 이용 방법을 나타내는 도면이다.
도 2는 본 발명의 일실시예에 따른 온톨로지 기반의 시맨틱 협상을 통한 모바일 서비스 이용 방법을 나타내는 도면이다.
도 3은 본 발명의 일실시예에 따른 시맨틱 협상 모듈의 구성을 나타내는 도면이다.
도 4는 본 발명의 또 다른 일실시예에 따른 단말기에 포함된 시맨틱 협상 모듈을 나타내는 도면이다.
도 5는 본 발명의 일실시예에 따른 서비스 서버에 포함된 시맨틱 협상 모듈의 구성을 나타내는 도면이다.
도 6은 본 발명의 일실시예에 따른 단말기 온톨로지를 나타내는 도면이다.
도 7은 본 발명의 일실시예에 따른 사용자 온톨로지를 나타내는 도면이다.
도 8은 본 발명의 일실시예에 따른 서비스 온톨로지를 나타내는 도면이다.
도 9는 본 발명의 일실시예에 따른 시맨틱 협상 방법을 나타내는 흐름도이다.
도 2는 본 발명의 일실시예에 따른 온톨로지 기반의 시맨틱 협상을 통한 모바일 서비스 이용 방법을 나타내는 도면이다.
도 3은 본 발명의 일실시예에 따른 시맨틱 협상 모듈의 구성을 나타내는 도면이다.
도 4는 본 발명의 또 다른 일실시예에 따른 단말기에 포함된 시맨틱 협상 모듈을 나타내는 도면이다.
도 5는 본 발명의 일실시예에 따른 서비스 서버에 포함된 시맨틱 협상 모듈의 구성을 나타내는 도면이다.
도 6은 본 발명의 일실시예에 따른 단말기 온톨로지를 나타내는 도면이다.
도 7은 본 발명의 일실시예에 따른 사용자 온톨로지를 나타내는 도면이다.
도 8은 본 발명의 일실시예에 따른 서비스 온톨로지를 나타내는 도면이다.
도 9는 본 발명의 일실시예에 따른 시맨틱 협상 방법을 나타내는 흐름도이다.
이하에서, 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 2는 본 발명의 일실시예에 따른 온톨로지 기반의 시맨틱 협상을 통한 모바일 서비스 이용 방법을 나타내는 도면이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 온톨로지 기반의 시맨틱 협상을 통한 모바일 서비스 이용 방법의 경우, 클라이언트 모듈(210)은 제1 서비스 제공자(201)에 의해 설계되고, 서버 모듈(220)은 제2 서비스 제공자(202)에 의해 설계될 수 있다. 즉, 클라이언트 모듈(210) 및 서버 모듈(220) 각각은 서로 다른 서비스 제공자(201, 202)에 의해 설계될 수 있다.
이 때, 제1 서비스 제공자(201)는 서버 모듈(220)의 특성을 사전에 알 수 없고, 제2 서비스 제공자(202)는 클라이언트 모듈(210)의 특성을 사전에 알 수 없기 때문에, 클라이언트 모듈(210) 및 서버 모듈(220) 사이의 상호 작용은 약결합(Loosely Coupled) 구조를 형성하게 될 수 있다. 이 때, 클라이언트 모듈(210) 및 서버 모듈(220) 사이의 상호 작용이 이루어지는 도메인(Domain)에 대한 지식은 온톨로지(Ontology)를 통하여 기술될 수 있다. 또한, 도메인에 대한 지식은 상호 작용을 하는 클라이언트 모듈(210)을 포함하는 모바일 단말기 및 서버 모듈(220)을 포함하는 서비스 서버가 이해할 수 있는 수준으로 표현될 수 있다.
따라서, 클라이언트 모듈(210) 및 서버 모듈(220)에 대한 서비스 제공자가 동일하지 않아도, 본 발명의 일실시예에 따른 모바일 서비스 이용 방법은 온톨로지를 공유하여 상호 작용을 수행할 수 있다. 또한, 본 발명의 일실시예에 따른 모바일 서비스 이용 방법은 온톨로지를 활용하는 시맨틱 협상을 통하여 사용자의 개입을 최소화하면서 클라이언트 모듈(210)을 포함하는 모바일 단말기 및 서버 모듈(220)을 포함하는 서비스 서버 사이에 서로 필요한 정보를 공유하여 서비스의 최적화를 수행할 수 있다.
도 3은 본 발명의 일실시예에 따른 시맨틱 협상 모듈의 구성을 나타내는 도면이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 시맨틱 협상 모듈은 통신 관리부(Communication Manager)(311) 및 시맨틱 협상부(Semantic Negotiator)(312)를 포함한다.
본 발명의 일실시예에 따른 시맨틱 협상 모듈은 단말기(310) 및 서비스 서버(320) 각각에 일모듈의 형태로 삽입될 수 있다. 따라서, 본 발명의 일실시예에 따른 시맨틱 협상 모듈을 이용한 모바일 서비스 이용 방법의 경우, 2 티어(Tier) 구조를 가질 수 있다.
이하, 도 3을 참조하여 본 발명의 일실시예에 따른 단말기(310)에 포함된 시맨틱 협상 모듈의 동작에 대해서 설명한다.
통신 관리부(311)는 서비스 서버(320)로 최적 서비스(Optimized Service)를 요청하는 서비스 요청 메시지를 전송한다.
이 때, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 통신 관리부(311)로부터 서비스 요청 메시지를 수신할 수 있다. 또한, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 단말기(310)로 최적 서비스를 실행하기 위한 제약(Constraint)에 대한 제약 질의 메시지를 전송할 수 있다.
본 발명의 일측에 따르면, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 서비스 온톨로지를 메모리에 로딩(Loading)하여, 서비스 온톨로지로부터 서비스를 실행하기 위한 제약을 추출하고, 추출된 제약에 대한 제약 질의 메시지를 단말기(310)로 전송할 수 있다.
일실시예에 따른 제약은 단말기(310)에 대한 제약 및 사용자에 대한 제약 중 적어도 하나를 포함할 수 있다. 예를 들어, 소정의 서비스를 실행하기 위해서 800x480 이상의 화면 크기가 요구될 때, '800x480 이상의 화면 크기'가 최적 서비스를 실행하기 위한 제약이 될 수 있다. 실시예에 따라서는, 서비스를 실행하기 위한 필수 조건을 나타내는 제약은 서비스 온톨로지에 기술될 수 있다. 서비스 온톨로지에 대해서는 도 8을 참조하여, 뒤에서 상세히 설명한다.
본 발명의 일측에 따르면, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 단말기(310)로 제약 질의 메시지를 전송하기 이전에, 단말기(310)의 신원을 확인하는 인증 절차를 수행할 수 있다. 이 때, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 단말기(310)에 대한 신원이 확인되면, 단말기(310)로 제약 질의 메시지를 전송할 수 있다.
통신 관리부(311)는 서비스 서버(320)로부터 최적 서비스를 실행하기 위한 제약(Constraint)에 대한 제약 질의 메시지를 수신한다. 일실시예에 따른 통신 관리부(311)는 FIPA 규격에 명시되어 있는 ACL(Agent Communication Language)를 통해 메시지를 전송 및 수신할 수 있다.
시맨틱 협상부(312)는 단말기(310) 및 서비스 서버(320) 사이의 온톨로지 기반의 시맨틱 협상을 수행한다. 일실시예에 따른 시맨틱 협상부(312)는 서비스 서버(320)로부터 수신한 메시지에 포함되어 있는 시맨틱 컨텐츠(Semantic Contents)를 SPARQL 쿼리 형태로 변환할 수 있다. 또한, 시맨틱 협상부(312)는 도메인 온톨로지 및 추론 엔진을 이용하여 SPARQL 쿼리를 처리할 수 있다. 또한, 시맨틱 협상부(312)는 모바일 단말기의 특성 및 사용자의 선호도 중 적어도 하나의 정보에 대한 질의 처리를 수행할 수 있다. 또한, 시맨틱 협상부(312)는 추론 결과를 이용하여 시맨틱 컨텐츠를 생성할 수 있다.
일실시예에 따른 시맨틱 협상부(312)는 시맨틱 웹 프레임워크(Semantic Web Framework)와 연동하여 시맨틱 협상을 수행할 수 있다. 실시예에 따라서는, 시맨틱 협상부(312)는 시맨틱 웹 프레임워크인 제나(Jena)와 연동하여 시맨틱 협상을 수행할 수 있다.
시맨틱 협상부(312)는 사용자 온톨로지(Ontology) 및 단말기 온톨로지 중 적어도 하나에 기반하여, 최적 서비스를 실행하기 위한 제약에 대한 값을 추출한다.
사용자 온톨로지 및 단말기 온톨로지에 대해서는 도 6 및 도 7을 참조하여, 뒤에서 상세히 설명한다.
통신 관리부(311)는 서비스 서버(320)로 추출된 제약에 대한 값을 전송한다. 실시예에 따라서는, 통신 관리부(311)는 추출된 제약에 대한 값을 RDF 형태로 작성하여 서비스 서버(320)로 전송할 수 있다.
이 때, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 통신 관리부(311)로부터 제약에 대한 값을 수신할 수 있다.
또한, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 제약에 대한 값 및 서비스 온톨로지에 기반하여, 복수 개의 서비스 중 제약을 만족하는 서비스를 검색하는 제약 매칭(Constraint Matching)을 수행할 수 있다.
또한, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 제약 매칭에 의해 검색된 서비스를 최적 서비스로 결정할 수 있다.
일실시예에 따른 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 제약에 대한 복수 개의 항목 및 제약에 대한 값을 비교하고, 복수 개의 항목을 모두 만족하는 서비스가 있는지 여부를 검색할 수 있다.
일실시예에 따른 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은, 서비스를 실행하기 위한 제약에 대한 복수 개의 항목과 단말기(310) 또는 사용자에 대한 제약 값을 비교할 수 있다. 즉, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 비교 동작을 수행함으로써, 제약을 만족시키는 단말기(310) 또는 사용자의 제약 값이 있는지 여부를 검색할 수 있다.
예를 들어, 서비스 실행을 위한 제약에 대한 복수 개의 항목 중 '화면 크기' 항목에 대한 제약이 '화면 크기가 800x480 이상'인 경우, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 단말기(310)의 화면 크기 값을 검색하여 단말기(310)에서의 서비스 실행 가능 여부를 결정할 수 있다. 단말기(310)의 화면 크기가 800x480 이상이라면 서비스가 실행 가능하나, 화면 크기가 800x480 보다 작다면 서비스의 실행이 불가능할 수 있다.
복수 개의 항목을 모두 만족하는 서비스가 있는 경우, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 검색된 서비스를 최적 서비스로 결정할 수 있다. 즉, 복수 개의 항목 중 어느 하나라도 만족시키지 못하는 서비스의 경우, 최적 서비스가 될 수 없다.
서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 단말기(310)로 최적 서비스에 대한 정보를 전송할 수 있다.
통신 관리부(311)는 서비스 서버(320)로부터 최적 서비스에 대한 정보를 수신한다.
본 발명의 일측에 따르면, 시맨틱 협상 모듈은 사용자의 선호도(Preference)를 더 고려하여 시맨틱 협상을 수행할 수 있다. 즉, 일실시예에 따른 시맨틱 협상 모듈은 제약 매칭을 수행하여 검색된 서비스 중에서도 사용자의 선호도에 부합하는 서비스를 검색하기 위하여, 사용자의 선호도를 더 고려한 시맨틱 협상을 수행할 수 있다.
예를 들어, 서비스의 메뉴를 표시하는 언어로 한국어와 영어가 지원되는 경우, 선호도에 따라 한국어를 선호하는 사람, 영어를 선호하는 사람 및 특별히 선호하는 언어가 없는 사람이 있을 수 있기 때문에, 일실시예에 따른 시맨틱 협상 모듈은 사용자의 선호도(예를 들어, 서비스 지원 언어)를 고려하여 시맨틱 협상을 수행할 수 있다.
일실시예에 따른 사용자의 선호도는 서비스 온톨로지에 기술될 수 있다.
이 때, 일실시예에 따른 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 단말기(310)로 사용자 선호도에 대한 선호도 질의 메시지를 전송할 수 있다.
본 발명의 일측에 따르면, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 서비스 온톨로지를 메모리에 로딩(Loading)하여, 서비스 온톨로지로부터 사용자 선호도를 추출하고, 추출된 사용자 선호도에 대한 선호도 질의 메시지를 단말기(310)로 전송할 수 있다.
통신 관리부(311)는 서비스 서버(320)로부터 선호도 질의 메시지를 수신할 수 있다.
시맨틱 협상부(312)는 사용자 온톨로지 및 단말기 온톨로지 중 적어도 하나에 기반하여, 사용자 선호도에 대한 값을 추출할 수 있다.
통신 관리부(311)는 서비스 서버(320)로 사용자 선호도에 대한 값을 전송할 수 있다. 실시예에 따라서는, 통신 관리부(311)는 사용자 선호도에 대한 값을 RDF 형태로 작성하여 서비스 서버(320)로 전송할 수 있다.
이 때, 일실시예에 따른 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 단말기(310)로부터 사용자 선호도에 대한 값을 수신할 수 있다.
또한, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 사용자 선호도에 대한 값에 기반하여, 제약 매칭에 의해 검색된 서비스에 대한 점수를 연산할 수 있다. 일실시예에 따른 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 사용자의 선호도에 대한 복수 개의 항목 별로 제약 매칭에 의해 검색된 서비스에 대한 점수를 연산할 수 있다.
서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 사용자 선호도에 대한 복수 개의 항목에 대해서 점수를 연산하는 동작을 반복 수행하고, 연산된 점수의 총합을 연산할 수 있다. 이 때, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 연산된 점수에 기반하여 최적 서비스를 결정할 수 있다(예를 들어, 점수가 가장 높은 서비스를 최적 서비스로 결정).
실시예에 따라서는, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 제약 매칭에 의해 검색된 서비스에 대한 점수를 초기화할 수 있다. 또한, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 사용자 선호도에 대한 복수 개의 항목 중 서비스 선호도 특성(Preference Property) 및 사용자 선호도에 대한 값이 일치하는 항목에 대해서는 점수를 증가시킬 수 있고(예를 들어, +10점), 서비스 선호도 특성 및 사용자 선호도에 대한 값이 일치하지 않는 항목에 대해서는 점수를 감소시킬 수 있다(예를 들어, -10점). 또한, 서비스 서버(320)에 포함되는 시맨틱 협상 모듈은 사용자 선호도에 대한 복수 개의 항목 중 서비스 선호도 특성(Preference Property) 및 사용자 선호도에 대한 값이 일치하는 것이 없는 경우, 점수를 유지할 수 있다.
도 4는 본 발명의 또 다른 일실시예에 따른 단말기에 포함된 시맨틱 협상 모듈을 나타내는 도면이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 단말기에 포함된 시맨틱 협상 모듈은 자동 연결부(Auto Connector)(410), 통신 관리부(420) 및 시맨틱 협상부(430)를 포함할 수 있다.
자동 연결부(410)는 단말기의 무선 접속을 자동으로 실행할 수 있다.
통신 관리부(420) 및 시맨틱 협상부(430)는 도 3에서 설명한 것과 동일하게 수행될 수 있다.
도 5는 본 발명의 일실시예에 따른 서비스 서버에 포함된 시맨틱 협상 모듈의 구성을 나타내는 도면이다.
도 5를 참조하면, 본 발명의 일실시예에 따른 서비스 서버(520)에 포함된 시맨틱 협상 모듈은 통신 관리부(Communication Manager)(521) 및 시맨틱 협상부(Semantic Negotiator)(522)를 포함한다.
본 발명의 일실시예에 따른 시맨틱 협상 모듈은 단말기(510) 및 서비스 서버(520) 각각에 일모듈의 형태로 삽입될 수 있고, 이하, 도 5를 참조하여 본 발명의 일실시예에 따른 서비스 서버(520)에 포함된 시맨틱 협상 모듈의 동작에 대해서 설명한다.
단말기(510)에 포함되는 시맨틱 협상 모듈은 서비스 서버(520)로 최적 서비스(Optimized Service)를 요청하는 서비스 요청 메시지를 전송할 수 있다.
이 때, 통신 관리부(521)는 단말기(510)에 포함되는 시맨틱 협상 모듈로부터 서비스 요청 메시지를 수신할 수 있다. 또한, 통신 관리부(521)는 단말기(510)로 최적 서비스를 실행하기 위한 제약(Constraint)에 대한 제약 질의 메시지를 전송할 수 있다.
본 발명의 일측에 따르면, 시맨틱 협상 모듈은 서비스 온톨로지를 메모리에 로딩(Loading)하여, 서비스 온톨로지로부터 서비스를 실행하기 위한 제약을 추출하고, 추출된 제약에 대한 제약 질의 메시지를 단말기(510)로 전송할 수 있다.
일실시예에 따른 제약은 단말기(510)에 대한 제약 및 사용자에 대한 제약 중 적어도 하나를 포함할 수 있다. 예를 들어, 소정의 서비스를 실행하기 위해서 800x480 이상의 화면 크기가 요구될 때, '800x480 이상의 화면 크기'가 최적 서비스를 실행하기 위한 제약이 될 수 있다. 실시예에 따라서는, 서비스를 실행하기 위한 필수 조건을 나타내는 제약은 서비스 온톨로지에 기술될 수 있다.
본 발명의 일측에 따르면, 통신 관리부(521)는 단말기(510)로 제약 질의 메시지를 전송하기 이전에, 단말기(510)의 신원을 확인하는 인증 절차를 수행할 수 있다. 이 때, 통신 관리부(521)는 단말기(510)에 대한 신원이 확인되면, 단말기(510)로 제약 질의 메시지를 전송할 수 있다.
단말기(510)에 포함되는 시맨틱 협상 모듈은 서비스 서버(520)로부터 최적 서비스를 실행하기 위한 제약(Constraint)에 대한 제약 질의 메시지를 수신할 수 있다. 일실시예에 따른 단말기(510)에 포함되는 시맨틱 협상 모듈은 FIPA 규격에 명시되어 있는 ACL(Agent Communication Language)를 통해 메시지를 전송 및 수신할 수 있다.
단말기(510)에 포함되는 시맨틱 협상 모듈은 단말기(510) 및 서비스 서버(520) 사이의 온톨로지 기반의 시맨틱 협상을 수행할 수 있다. 일실시예에 따른 단말기(510)에 포함되는 시맨틱 협상 모듈은 서비스 서버(520)로부터 수신한 메시지에 포함되어 있는 시맨틱 컨텐츠(Semantic Contents)를 SPARQL 쿼리 형태로 변환할 수 있다. 또한, 단말기(510)에 포함되는 시맨틱 협상 모듈은 도메인 온톨로지 및 추론 엔진을 이용하여 SPARQL 쿼리를 처리할 수 있다. 또한, 단말기(510)에 포함되는 시맨틱 협상 모듈은 모바일 단말기의 특성 및 사용자의 선호도 중 적어도 하나의 정보에 대한 질의 처리를 수행할 수 있다. 또한, 단말기(510)에 포함되는 시맨틱 협상 모듈은 추론 결과를 이용하여 시맨틱 컨텐츠를 생성할 수 있다.
일실시예에 따른 단말기(510)에 포함되는 시맨틱 협상 모듈은 시맨틱 웹 프레임워크(Semantic Web Framework)와 연동하여 시맨틱 협상을 수행할 수 있다. 실시예에 따라서는, 단말기(510)에 포함되는 시맨틱 협상 모듈은 시맨틱 웹 프레임워크인 제나(Jena)와 연동하여 시맨틱 협상을 수행할 수 있다.
단말기(510)에 포함되는 시맨틱 협상 모듈은 사용자 온톨로지(Ontology) 및 단말기 온톨로지 중 적어도 하나에 기반하여, 최적 서비스를 실행하기 위한 제약에 대한 값을 추출할 수 있다.
단말기(510)에 포함되는 시맨틱 협상 모듈은 서비스 서버(520)로 추출된 제약에 대한 값을 전송할 수 있다. 실시예에 따라서는, 단말기(510)에 포함되는 시맨틱 협상 모듈은 추출된 제약에 대한 값을 RDF 형태로 작성하여 서비스 서버(520)로 전송할 수 있다.
이 때, 통신 관리부(521)는 단말기(510)에 포함되는 시맨틱 협상 모듈로부터 제약에 대한 값을 수신할 수 있다.
시맨틱 협상부(522)는 제약에 대한 값 및 서비스 온톨로지에 기반하여, 복수 개의 서비스 중 제약을 만족하는 서비스를 검색하는 제약 매칭(Constraint Matching)을 수행할 수 있다.
또한, 시맨틱 협상부(522)는 제약 매칭에 의해 검색된 서비스를 최적 서비스로 결정할 수 있다.
일실시예에 따른 시맨틱 협상부(522)는 제약에 대한 복수 개의 항목 및 제약에 대한 값을 비교하고, 복수 개의 항목을 모두 만족하는 서비스가 있는지 여부를 검색할 수 있다.
일실시예에 따른 시맨틱 협상부(522)는 서비스를 실행하기 위한 제약에 대한 복수 개의 항목과 단말기(510) 또는 사용자에 대한 제약 값을 비교할 수 있다. 즉, 시맨틱 협상부(522)는 비교 동작을 수행함으로써, 제약을 만족시키는 단말기(510) 또는 사용자의 제약 값이 있는지 여부를 검색할 수 있다.
예를 들어, 서비스 실행을 위한 제약에 대한 복수 개의 항목 중 '화면 크기' 항목에 대한 제약이 '화면 크기가 800x480 이상'인 경우, 시맨틱 협상부(522)는 단말기(510)의 화면 크기 값을 검색하여 단말기(510)에서의 서비스 실행 가능 여부를 결정할 수 있다. 단말기(510)의 화면 크기가 800x480 이상이라면 서비스가 실행 가능하나, 화면 크기가 800x480 보다 작다면 서비스의 실행이 불가능할 수 있다.
복수 개의 항목을 모두 만족하는 서비스가 있는 경우, 시맨틱 협상부(522)는 검색된 서비스를 최적 서비스로 결정할 수 있다. 즉, 복수 개의 항목 중 어느 하나라도 만족시키지 못하는 서비스의 경우, 최적 서비스가 될 수 없다.
통신 관리부(521)는 단말기(510)로 최적 서비스에 대한 정보를 전송할 수 있다.
단말기(510)에 포함되는 시맨틱 협상 모듈은 서비스 서버(520)로부터 최적 서비스에 대한 정보를 수신할 수 있다.
본 발명의 일측에 따르면, 시맨틱 협상 모듈은 사용자의 선호도(Preference)를 더 고려하여 시맨틱 협상을 수행할 수 있다. 즉, 일실시예에 따른 시맨틱 협상 모듈은 제약 매칭을 수행하여 검색된 서비스 중에서도 사용자의 선호도에 부합하는 서비스를 검색하기 위하여, 사용자의 선호도를 더 고려한 시맨틱 협상을 수행할 수 있다.
예를 들어, 서비스의 메뉴를 표시하는 언어로 한국어와 영어가 지원되는 경우, 선호도에 따라 한국어를 선호하는 사람, 영어를 선호하는 사람 및 특별히 선호하는 언어가 없는 사람이 있을 수 있기 때문에, 일실시예에 따른 시맨틱 협상 모듈은 사용자의 선호도(예를 들어, 서비스 지원 언어)를 고려하여 시맨틱 협상을 수행할 수 있다.
일실시예에 따른 사용자의 선호도는 서비스 온톨로지에 기술될 수 있다.
이 때, 일실시예에 따른 통신 관리부(521)는 단말기(510)로 사용자 선호도에 대한 선호도 질의 메시지를 전송할 수 있다.
본 발명의 일측에 따르면, 시맨틱 협상 모듈은 서비스 온톨로지를 메모리에 로딩(Loading)하여, 서비스 온톨로지로부터 사용자 선호도를 추출하고, 추출된 사용자 선호도에 대한 선호도 질의 메시지를 단말기(510)로 전송할 수 있다.
단말기(510)에 포함되는 시맨틱 협상 모듈은 서비스 서버(520)로부터 선호도 질의 메시지를 수신할 수 있다.
단말기(510)에 포함되는 시맨틱 협상 모듈은 사용자 온톨로지 및 단말기 온톨로지 중 적어도 하나에 기반하여, 사용자 선호도에 대한 값을 추출할 수 있다.
단말기(510)에 포함되는 시맨틱 협상 모듈은 서비스 서버(520)로 사용자 선호도에 대한 값을 전송할 수 있다. 실시예에 따라서는, 단말기(510)에 포함되는 시맨틱 협상 모듈은 사용자 선호도에 대한 값을 RDF 형태로 작성하여 서비스 서버(520)로 전송할 수 있다.
이 때, 일실시예에 따른 통신 관리부(521)는 단말기(510)로부터 사용자 선호도에 대한 값을 수신할 수 있다.
또한, 시맨틱 협상부(522)는 사용자 선호도에 대한 값에 기반하여, 제약 매칭에 의해 검색된 서비스에 대한 점수를 연산할 수 있다. 일실시예에 따른 시맨틱 협상부(522)는 사용자의 선호도에 대한 복수 개의 항목 별로 제약 매칭에 의해 검색된 서비스에 대한 점수를 연산할 수 있다.
시맨틱 협상부(522)는 사용자 선호도에 대한 복수 개의 항목에 대해서 점수를 연산하는 동작을 반복 수행하고, 연산된 점수의 총합을 연산할 수 있다. 이 때, 시맨틱 협상부(522)는 연산된 점수에 기반하여 최적 서비스를 결정할 수 있다(예를 들어, 점수가 가장 높은 서비스를 최적 서비스로 결정).
실시예에 따라서는, 시맨틱 협상부(522)는 제약 매칭에 의해 검색된 서비스에 대한 점수를 초기화할 수 있다. 또한, 시맨틱 협상부(522)는 사용자 선호도에 대한 복수 개의 항목 중 서비스 선호도 특성(Preference Property) 및 사용자 선호도에 대한 값이 일치하는 항목에 대해서는 점수를 증가시킬 수 있고(예를 들어, +10점), 서비스 선호도 특성 및 사용자 선호도에 대한 값이 일치하지 않는 항목에 대해서는 점수를 감소시킬 수 있다(예를 들어, -10점). 또한, 시맨틱 협상부(522)는 사용자 선호도에 대한 복수 개의 항목 중 서비스 선호도 특성(Preference Property) 및 사용자 선호도에 대한 값이 일치하는 것이 없는 경우, 점수를 유지할 수 있다.
도 6은 본 발명의 일실시예에 따른 단말기 온톨로지를 나타내는 도면이다.
도 6의 본 발명의 일실시예에 따른 단말기 온톨로지를 참조하면, 모바일 단말기는 하드웨어 플랫폼(610) 및 소프트웨어 플랫폼(620)으로 구성될 수 있다.
본 발명의 일실시예에 따른 단말기 온톨로지는 복수 개의 단말기 특성을 포함할 수 있다.
일실시예에 따른 GPSCapable 특성(631)은 하드웨어 플랫폼(610)의 GPS 기능 지원 여부를 나타낼 수 있다. 또한, IndoorPositionCapable 특성(632)은 하드웨어 플랫폼(610)의 실내 측위 기능 지원 여부를 나타낼 수 있다.
일실시예에 따른 Model 특성(633)은 모바일 단말기의 모델명을 나타낼 수 있다. 또한, Vendor 특성(366)은 모바일 단말기의 제조사를 나타낼 수 있다.
일실시예에 따른 FontSize 특성(634)은 모바일 단말기의 폰트 크기를 나타낼 수 있다. 또한, ScreenSize 특성(635)은 모바일 단말기의 화면 크기를 나타낼 수 있다.
CcppAccept-Charset 특성(637)은 소프트웨어 플랫폼(620)이 지원하는 문자 코드들에 대한 정보를 나타낼 수 있다.
JavaEnabled 특성(638)은 소프트웨어 플랫폼(620)이 자바(Java)를 지원하는지 여부를 나타낼 수 있다. 또한, JavaPlatform 특성(639)은 소프트웨어 플랫폼(620)이 지원하는 자바 플랫폼의 종류를 나타낼 수 있다.
도 7은 본 발명의 일실시예에 따른 사용자 온톨로지를 나타내는 도면이다.
도 7을 참조하면, 본 발명의 일실시예에 따른 사용자 온톨로지는 복수 개의 사용자 특성을 포함할 수 있다.
일실시예에 따른 age 특성(701)은 사용자의 나이를, gender 특성(702)은 사용자의 성별을, adult 특성(703)은 사용자의 성인 여부를, country 특성(704)은 사용자의 국가를 나타낼 수 있다.
또한, LanguagePreference 특성(705)은 사용자의 사용 언어데 대한 선호도를 나타내고, FontSizePreference 특성(706)은 사용자의 폰트 크기에 대한 선호도를 나타내며, ScreenSizePreference 특성(707)은 사용자의 화면 크기에 대한 선호도를 나타낼 수 있다.
도 8은 본 발명의 일실시예에 따른 서비스 온톨로지를 나타내는 도면이다.
도 8의 본 발명의 일실시예에 따른 서비스 온톨로지를 참조하면, 모바일 서비스는 제약(810) 및 선호도(820)로 구성될 수 있다.
본 발명의 일실시예에 따른 서비스 온톨로지는 복수 개의 제약 특성 및 복수 개의 선호도 특성을 포함할 수 있다.
도 9는 본 발명의 일실시예에 따른 시맨틱 협상 방법을 나타내는 흐름도이다.
도 9를 참조하면, 본 발명의 일실시예에 따른 시맨틱 협상 방법은, 단말기(901) 및 서비스 서버(902) 사이에서 시맨틱 협상이 수행됨으로써, 2 티어(Tier) 구조를 가질 수 있다.
본 발명의 일실시예에 따른 시맨틱 협상 방법에 있어서, 단말기(901)는 서비스 서버(902)로 최적 서비스(Optimized Service)를 요청하는 서비스 요청 메시지를 전송할 수 있다(900).
이 때, 본 발명의 일실시예에 따른 시맨틱 협상 방법에 있어서, 서비스 서버(902)는 단말기(901)로부터 서비스 요청 메시지를 수신할 수 있다. 또한, 시맨틱 협상 방법에 있어서, 서비스 서버(902)는 단말기(901)로 최적 서비스를 실행하기 위한 제약(Constraint)에 대한 제약 질의 메시지를 전송할 수 있다(910).
본 발명의 일측에 따르면, 서비스 서버(902)는 서비스 온톨로지를 메모리에 로딩(Loading)하여, 서비스 온톨로지로부터 서비스를 실행하기 위한 제약을 추출하고, 추출된 제약에 대한 제약 질의 메시지를 단말기(901)로 전송할 수 있다.
일실시예에 따른 제약은 단말기(901)에 대한 제약 및 사용자에 대한 제약 중 적어도 하나를 포함할 수 있다. 예를 들어, 소정의 서비스를 실행하기 위해서 800x480 이상의 화면 크기가 요구될 때, '800x480 이상의 화면 크기'가 최적 서비스를 실행하기 위한 제약이 될 수 있다. 실시예에 따라서는, 서비스를 실행하기 위한 필수 조건을 나타내는 제약은 서비스 온톨로지에 기술될 수 있다. 서비스 온톨로지에 대해서는 도 8을 참조하여, 뒤에서 상세히 설명할 수 있다.
본 발명의 일측에 따른 시맨틱 협상 방법에 있어서, 서비스 서버(902)는 단말기(901)로 제약 질의 메시지를 전송하기 이전에, 단말기(901)의 신원을 확인하는 인증 절차를 수행할 수 있다. 이 때, 서비스 서버(902)는 단말기(901)에 대한 신원이 확인되면, 단말기(901)로 제약 질의 메시지를 전송할 수 있다.
단말기(901)는 서비스 서버(902)로부터 최적 서비스를 실행하기 위한 제약(Constraint)에 대한 제약 질의 메시지를 수신할 수 있다. 일실시예에 따른 단말기(901)는 FIPA 규격에 명시되어 있는 ACL(Agent Communication Language)를 통해 메시지를 전송 및 수신할 수 있다.
시맨틱 협상 방법에 있어서, 단말기(901)는 서비스 서버(902)와의 사이에서 온톨로지 기반의 시맨틱 협상을 수행할 수 있다. 일실시예에 따른 단말기(901)는 서비스 서버(902)로부터 수신한 메시지에 포함되어 있는 시맨틱 컨텐츠(Semantic Contents)를 SPARQL 쿼리 형태로 변환할 수 있다. 또한, 단말기(901)는 도메인 온톨로지 및 추론 엔진을 이용하여 SPARQL 쿼리를 처리할 수 있다. 또한, 단말기(901)는 모바일 단말기의 특성 및 사용자의 선호도 중 적어도 하나의 정보에 대한 질의 처리를 수행할 수 있다. 또한, 단말기(901)는 추론 결과를 이용하여 시맨틱 컨텐츠를 생성할 수 있다.
일실시예에 따른 단말기(901)는 시맨틱 웹 프레임워크(Semantic Web Framework)와 연동하여 시맨틱 협상을 수행할 수 있다. 실시예에 따라서는, 단말기(901)는 시맨틱 웹 프레임워크인 제나(Jena)와 연동하여 시맨틱 협상을 수행할 수 있다.
일실시예에 따른 시맨틱 협상 방법에 있어서, 단말기(901)는 사용자 온톨로지(Ontology) 및 단말기 온톨로지 중 적어도 하나에 기반하여, 최적 서비스를 실행하기 위한 제약에 대한 값을 추출할 수 있다(920).
일실시예에 따른 시맨틱 협상 방법에 있어서, 단말기(901)는 서비스 서버(902)로 추출된 제약에 대한 값을 전송할 수 있다(930). 실시예에 따라서는, 단말기(901)는 추출된 제약에 대한 값을 RDF 형태로 작성하여 서비스 서버(902)로 전송할 수 있다.
이 때, 서비스 서버(902)는 단말기(901)로부터 제약에 대한 값을 수신할 수 있다.
또한, 시맨틱 협상 방법에 있어서, 서비스 서버(902)는 제약에 대한 값 및 서비스 온톨로지에 기반하여, 복수 개의 서비스 중 제약을 만족하는 서비스를 검색하는 제약 매칭(Constraint Matching)을 수행할 수 있다(940).
또한, 서비스 서버(902)는 제약 매칭에 의해 검색된 서비스를 최적 서비스로 결정할 수 있다.
일실시예에 따른 서비스 서버(902)는 제약에 대한 복수 개의 항목 및 제약에 대한 값을 비교하고, 복수 개의 항목을 모두 만족하는 서비스가 있는지 여부를 검색할 수 있다.
일실시예에 따른 서비스 서버(902)는, 서비스를 실행하기 위한 제약에 대한 복수 개의 항목과 단말기(901) 또는 사용자에 대한 제약 값을 비교할 수 있다. 즉, 서비스 서버(902)는 비교 동작을 수행함으로써, 제약을 만족시키는 단말기(901) 또는 사용자의 제약 값이 있는지 여부를 검색할 수 있다.
예를 들어, 서비스 실행을 위한 제약에 대한 복수 개의 항목 중 '화면 크기' 항목에 대한 제약이 '화면 크기가 800x480 이상'인 경우, 서비스 서버(902)는 단말기(901)의 화면 크기 값을 검색하여 단말기(901)에서의 서비스 실행 가능 여부를 결정할 수 있다. 단말기(901)의 화면 크기가 800x480 이상이라면 서비스가 실행 가능하나, 화면 크기가 800x480 보다 작다면 서비스의 실행이 불가능할 수 있다.
복수 개의 항목을 모두 만족하는 서비스가 있는 경우, 서비스 서버(902)는 검색된 서비스를 최적 서비스로 결정할 수 있다. 즉, 복수 개의 항목 중 어느 하나라도 만족시키지 못하는 서비스의 경우, 최적 서비스가 될 수 없다.
일실시예에 따른 시맨틱 협상 방법에 있어서, 서비스 서버(902)는 단말기(901)로 최적 서비스에 대한 정보를 전송할 수 있다(990).
단말기(901)는 서비스 서버(902)로부터 최적 서비스에 대한 정보를 수신할 수 있다.
본 발명의 일측에 따르면, 시맨틱 협상 방법은 사용자의 선호도(Preference)를 더 고려하여 시맨틱 협상을 수행할 수 있다. 즉, 일실시예에 따른 시맨틱 협상 방법은 제약 매칭을 수행하여 검색된 서비스 중에서도 사용자의 선호도에 부합하는 서비스를 검색하기 위하여, 사용자의 선호도를 더 고려한 시맨틱 협상을 수행할 수 있다.
예를 들어, 서비스의 메뉴를 표시하는 언어로 한국어와 영어가 지원되는 경우, 선호도에 따라 한국어를 선호하는 사람, 영어를 선호하는 사람 및 특별히 선호하는 언어가 없는 사람이 있을 수 있기 때문에, 일실시예에 따른 시맨틱 협상 방법은 사용자의 선호도(예를 들어, 서비스 지원 언어)를 고려하여 시맨틱 협상을 수행할 수 있다.
일실시예에 따른 사용자의 선호도는 서비스 온톨로지에 기술될 수 있다.
이 때, 일실시예에 따른 시맨틱 협상 방법에 있어서, 서비스 서버(902)는 단말기(901)로 사용자 선호도에 대한 선호도 질의 메시지를 전송할 수 있다(950).
본 발명의 일측에 따르면, 서비스 서버(902)는 서비스 온톨로지를 메모리에 로딩(Loading)하여, 서비스 온톨로지로부터 사용자 선호도를 추출하고, 추출된 사용자 선호도에 대한 선호도 질의 메시지를 단말기(901)로 전송할 수 있다.
단말기(901)는 서비스 서버(902)로부터 선호도 질의 메시지를 수신할 수 있다.
시맨틱 협상 방법에 있어서, 단말기(901)는 사용자 온톨로지 및 단말기 온톨로지 중 적어도 하나에 기반하여, 사용자 선호도에 대한 값을 추출할 수 있다(960).
시맨틱 협상 방법에 있어서, 단말기(901)는 서비스 서버(902)로 사용자 선호도에 대한 값을 전송할 수 있다(970). 실시예에 따라서는, 단말기(901)는 사용자 선호도에 대한 값을 RDF 형태로 작성하여 서비스 서버(902)로 전송할 수 있다.
이 때, 일실시예에 따른 서비스 서버(902)는 단말기(901)로부터 사용자 선호도에 대한 값을 수신할 수 있다.
또한, 시맨틱 협상 방법은 사용자 선호도에 대한 값에 기반하여 선호도 매칭을 수행할 수 있다(980).
즉, 일실시예에 따른 서비스 서버(902)는 사용자 선호도에 대한 값에 기반하여, 제약 매칭에 의해 검색된 서비스에 대한 점수를 연산할 수 있다. 일실시예에 따른 서비스 서버(902)는 사용자의 선호도에 대한 복수 개의 항목 별로 제약 매칭에 의해 검색된 서비스에 대한 점수를 연산할 수 있다.
서비스 서버(902)는 사용자 선호도에 대한 복수 개의 항목에 대해서 점수를 연산하는 동작을 반복 수행하고, 연산된 점수의 총합을 연산할 수 있다. 이 때, 서비스 서버(902)는 연산된 점수에 기반하여 최적 서비스를 결정할 수 있다(예를 들어, 점수가 가장 높은 서비스를 최적 서비스로 결정).
실시예에 따라서는, 시맨틱 협상 방법에 있어서, 서비스 서버(902)는 제약 매칭에 의해 검색된 서비스에 대한 점수를 초기화할 수 있다. 또한, 서비스 서버(902)는 사용자 선호도에 대한 복수 개의 항목 중 서비스 선호도 특성(Preference Property) 및 사용자 선호도에 대한 값이 일치하는 항목에 대해서는 점수를 증가시킬 수 있고(예를 들어, +10점), 서비스 선호도 특성 및 사용자 선호도에 대한 값이 일치하지 않는 항목에 대해서는 점수를 감소시킬 수 있다(예를 들어, -10점). 또한, 서비스 서버(902)는 사용자 선호도에 대한 복수 개의 항목 중 서비스 선호도 특성(Preference Property) 및 사용자 선호도에 대한 값이 일치하는 것이 없는 경우, 점수를 유지할 수 있다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 컴퓨터에 의해 수행하기 위해 작동되는 하나 이상의 소프트웨어 모듈을 포함할 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
101: 서비스 제공자
110: 클라이언트 모듈
120: 서버 모듈
110: 클라이언트 모듈
120: 서버 모듈
Claims (11)
- 삭제
- 삭제
- 제1 서비스 제공자에 의해 설계되는 서비스 서버의 시맨틱 협상 모듈에 있어서,
제2 서비스 제공자에 의해 설계되는 단말기로부터 최적 서비스를 요청하는 서비스 요청 메시지를 수신하고, 상기 단말기로 상기 최적 서비스를 실행하기 위한 제약(Constraint)에 대한 제약 질의 메시지를 전송하며, 상기 단말기로부터 상기 제약에 대한 값을 수신하는 통신 관리부(Communication Manager); 및
상기 제약에 대한 값 및 서비스 온톨로지에 기반하여, 복수 개의 서비스 중 상기 제약을 만족하는 서비스를 검색하는 제약 매칭(Constraint Matching)을 수행하고, 상기 제약 매칭에 의해 검색된 서비스를 상기 최적 서비스로 결정하는 시맨틱 협상부(Semantic Negotiator)
를 포함하고,
상기 통신 관리부는
상기 단말기로 상기 최적 서비스에 대한 정보를 전송하고,
상기 제1 서비스 제공자와 상기 제2 서비스 제공자는 상이하고,
상기 시맨틱 협상부는
사용자 선호도(Preference)에 대한 복수 개의 항목 중 서비스 선호도 특성 및 상기 사용자 선호도에 대한 값이 일치하는 항목인지 여부에 따라 상기 제약 매칭에 의해 검색된 서비스에 대한 점수를 연산하고, 상기 연산된 점수에 기반하여 상기 최적 서비스를 결정하는 시맨틱 협상 모듈. - 제3항에 있어서,
상기 통신 관리부는
상기 단말기로 상기 사용자 선호도에 대한 선호도 질의 메시지를 전송하고, 상기 단말기로부터 상기 사용자 선호도에 대한 값을 수신하며,
상기 시맨틱 협상부는
상기 사용자 선호도에 대한 값에 기반하여, 상기 제약 매칭에 의해 검색된 서비스에 대한 점수를 연산하고, 상기 연산된 점수에 기반하여 상기 최적 서비스를 결정하는 시맨틱 협상 모듈. - 제4항에 있어서,
상기 시맨틱 협상부는
상기 제약 매칭에 의해 검색된 서비스에 대한 점수를 초기화하고,
상기 사용자 선호도에 대한 복수 개의 항목 중 상기 서비스 선호도 특성(Preference Property) 및 상기 사용자 선호도에 대한 값이 일치하는 항목에 대해서는 상기 점수를 증가시키고, 상기 서비스 선호도 특성 및 상기 사용자 선호도에 대한 값이 일치하지 않는 항목에 대해서는 상기 점수를 감소시키는 시맨틱 협상 모듈. - 제3항에 있어서,
상기 시맨틱 협상부는
상기 제약에 대한 복수 개의 항목 및 상기 제약에 대한 값을 비교하고, 상기 복수 개의 항목을 모두 만족하는 서비스를 검색하며, 상기 검색된 서비스를 상기 최적 서비스로 결정하는 시맨틱 협상 모듈. - 삭제
- 삭제
- 제1 서비스 제공자에 의해 설계되는 서비스 서버의 시맨틱 협상 방법에 있어서,
상기 서비스 서버가 제2 서비스 제공자에 의해 설계되는 단말기로부터 최적 서비스를 요청하는 서비스 요청 메시지를 수신하는 단계;
상기 서비스 서버가 상기 단말기로 상기 최적 서비스를 실행하기 위한 제약(Constraint)에 대한 제약 질의 메시지를 전송하는 단계;
상기 서비스 서버가 상기 단말기로부터 상기 제약에 대한 값을 수신하는 단계;
상기 서비스 서버가 상기 제약에 대한 값 및 서비스 온톨로지에 기반하여, 복수 개의 서비스 중 상기 제약을 만족하는 서비스를 검색하는 제약 매칭(Constraint Matching)을 수행하는 단계;
상기 서비스 서버가 상기 제약 매칭에 의해 검색된 서비스를 상기 최적 서비스로 결정하는 단계; 및
상기 서비스 서버가 상기 단말기로 상기 최적 서비스에 대한 정보를 전송하는 단계
를 포함하고,
상기 제1 서비스 제공자와 상기 제2 서비스 제공자는 상이하고,
상기 결정하는 단계는,
상기 서비스 서버가 사용자 선호도(Preference)에 대한 복수 개의 항목 중 서비스 선호 특성 및 상기 사용자 선호도에 대한 값이 일치하는 항목인지 여부에 따라 상기 제약 매칭에 의해 검색된 서비스에 대한 점수를 연산하고, 상기 연산된 점수에 기반하여 상기 최적 서비스를 결정하는 단계
를 포함하는 시맨틱 협상 방법. - 제9항에 있어서,
상기 서비스 서버가 상기 단말기로 상기 사용자 선호도에 대한 선호도 질의 메시지를 전송하는 단계;
상기 서비스 서버가 상기 단말기로부터 상기 사용자 선호도에 대한 값을 수신하는 단계;
상기 서비스 서버가 상기 사용자 선호도에 대한 값에 기반하여, 상기 제약 매칭에 의해 검색된 서비스에 대한 점수를 연산하는 단계; 및
상기 서비스 서버가 상기 연산된 점수에 기반하여 상기 최적 서비스를 결정하는 단계
를 포함하는 시맨틱 협상 방법. - 제9항 내지 제10항 중 어느 한 항의 방법을 컴퓨터에 의해 실행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110011950A KR101786602B1 (ko) | 2011-02-10 | 2011-02-10 | 시맨틱 협상 모듈 및 방법 |
US13/323,342 US8838766B2 (en) | 2011-02-10 | 2011-12-12 | Module and method for semantic negotiation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110011950A KR101786602B1 (ko) | 2011-02-10 | 2011-02-10 | 시맨틱 협상 모듈 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120091874A KR20120091874A (ko) | 2012-08-20 |
KR101786602B1 true KR101786602B1 (ko) | 2017-11-15 |
Family
ID=46637753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110011950A KR101786602B1 (ko) | 2011-02-10 | 2011-02-10 | 시맨틱 협상 모듈 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8838766B2 (ko) |
KR (1) | KR101786602B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140055495A1 (en) * | 2012-08-22 | 2014-02-27 | Lg Cns Co., Ltd. | Responsive user interface engine for display devices |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107155A1 (en) * | 2002-11-29 | 2004-06-03 | Motorola, Inc. | Open adaptive service trading system and method thereof |
US20060190605A1 (en) | 2005-02-18 | 2006-08-24 | Joachim Franz | Providing computing service to users in a heterogeneous distributed computing environment |
US20120089664A1 (en) | 2010-10-12 | 2012-04-12 | Sap Portals Israel, Ltd. | Optimizing Distributed Computer Networks |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10126852A (ja) | 1996-10-16 | 1998-05-15 | Casio Comput Co Ltd | 移動端末音声認識/データベース検索通信システム |
JPH10177468A (ja) | 1996-12-16 | 1998-06-30 | Casio Comput Co Ltd | 移動端末音声認識/データベース検索通信システム |
US6529934B1 (en) * | 1998-05-06 | 2003-03-04 | Kabushiki Kaisha Toshiba | Information processing system and method for same |
US8023421B2 (en) * | 2002-07-25 | 2011-09-20 | Avaya Inc. | Method and apparatus for the assessment and optimization of network traffic |
WO2002091692A1 (en) * | 2001-04-13 | 2002-11-14 | Girard Gregory D | Ditributed edge switching system for voice-over-packet multiservice network |
JP2003132160A (ja) * | 2001-10-23 | 2003-05-09 | Nec Corp | 個人情報管理システムと個人情報管理装置、及び個人情報管理プログラム |
US8233490B2 (en) * | 2003-05-15 | 2012-07-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for the distribution of a network traffic according to SLA and QoS parameters |
US7647212B2 (en) * | 2003-11-14 | 2010-01-12 | Palo Alto Research Center Incorporated | Graph-based negotiation system with encapsulated constraint solver |
US20060072595A1 (en) * | 2004-10-05 | 2006-04-06 | Cisco Technology, Inc. | System and method for service tagging for enhanced packet processing in a network environment |
KR100643704B1 (ko) | 2004-12-11 | 2006-11-10 | 한국전자통신연구원 | 모바일 개인화 서비스 시스템 및 모바일 개인화 서비스 방법 |
CN1300683C (zh) * | 2005-01-27 | 2007-02-14 | 浙江大学 | 图案协同设计中的语义一致性维护的方法 |
US7616596B2 (en) * | 2005-10-27 | 2009-11-10 | Samsung Electronics Co., Ltd | Apparatus and method of determining uplink priority in wireless mobile communication system |
KR100751292B1 (ko) | 2007-02-15 | 2007-08-23 | (주)헤리트 | 시맨틱 웹 기반의 서비스 제공 방법 |
US20080271058A1 (en) | 2007-04-30 | 2008-10-30 | Nokia Corporation | Tangible interface for mobile middleware |
US8688814B2 (en) * | 2007-10-19 | 2014-04-01 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and apparatuses for notifying an application function of resource restrictions relating to a communication session |
US8285748B2 (en) * | 2008-05-28 | 2012-10-09 | Oracle International Corporation | Proactive information security management |
US8737989B2 (en) * | 2008-08-29 | 2014-05-27 | Apple Inc. | Methods and apparatus for machine-to-machine based communication service classes |
US8191048B2 (en) * | 2008-11-21 | 2012-05-29 | Oracle America, Inc. | Automated testing and qualification of software-based, network service products |
KR20100068159A (ko) | 2008-12-12 | 2010-06-22 | 한국전자통신연구원 | 시맨틱 서비스 검색 장치 및 방법 |
WO2010097118A1 (en) * | 2009-02-27 | 2010-09-02 | Nec Europe Ltd. | Controlled discovery of grid services based on the semantic annotation of access control policies using ontologies and semantic rules |
US8639245B2 (en) * | 2009-06-08 | 2014-01-28 | Qualcomm Incorporated | Method and apparatus for updating rules governing the switching of virtual SIM service contracts |
CA2765786A1 (en) * | 2009-06-18 | 2010-12-23 | Anyfi Networks Ab | An access point, a server and a system for distributing an unlimited number of virtual ieee 802.11 wireless networks through a heterogeneous infrastructure |
-
2011
- 2011-02-10 KR KR1020110011950A patent/KR101786602B1/ko active IP Right Grant
- 2011-12-12 US US13/323,342 patent/US8838766B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107155A1 (en) * | 2002-11-29 | 2004-06-03 | Motorola, Inc. | Open adaptive service trading system and method thereof |
US20060190605A1 (en) | 2005-02-18 | 2006-08-24 | Joachim Franz | Providing computing service to users in a heterogeneous distributed computing environment |
US20120089664A1 (en) | 2010-10-12 | 2012-04-12 | Sap Portals Israel, Ltd. | Optimizing Distributed Computer Networks |
Also Published As
Publication number | Publication date |
---|---|
US20120209973A1 (en) | 2012-08-16 |
KR20120091874A (ko) | 2012-08-20 |
US8838766B2 (en) | 2014-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102251597B1 (ko) | 애플리케이션간 통신을 통한 작업 완료 기법 | |
Elgazzar et al. | Daas: Cloud-based mobile web service discovery | |
US20130138674A1 (en) | System and method for recommending application by using keyword | |
US8650250B2 (en) | Identifying compatible web service policies | |
US20230024457A1 (en) | Data Query Method Supporting Natural Language, Open Platform, and User Terminal | |
CN110728455B (zh) | 业务处理方法、业务处理装置、存储介质与电子设备 | |
CN105431842A (zh) | 响应于查询标识相关app | |
CN102087615A (zh) | 消息队列中逻辑关联的消息的自动合并 | |
JP5989781B2 (ja) | モバイル環境における漸進的パターンマッチングのための方法および装置 | |
JP6422583B2 (ja) | ウェブページ上で認証情報を提供する方法、装置、システム、記憶媒体、プログラム、及びコンピュータ装置 | |
CN106487655B (zh) | 一种消息交互方法、装置及处理服务器 | |
US8510423B2 (en) | Install system and install method | |
WO2017000929A1 (zh) | 基于客户端的媒体信息投放方法及装置 | |
KR101786602B1 (ko) | 시맨틱 협상 모듈 및 방법 | |
KR101584225B1 (ko) | 메신저의 대화 내용을 바탕으로 추천 검색어를 제공하는 방법과 시스템 및 기록 매체 | |
US20140195561A1 (en) | Search method and information managing apparatus | |
KR20110039905A (ko) | 광고 제공 방법 및 시스템 | |
US11675859B2 (en) | Data processing system for generating entries in data structures from network requests | |
US20130139042A1 (en) | Generating and providing guidance files for documents | |
US20140289741A1 (en) | Cooperation method, image processing device, and medium | |
KR100781693B1 (ko) | 휴대 단말기의 펌웨어 업그레이드 제공 방법 및 그 시스템 | |
KR20100129516A (ko) | 매쉬업 서비스 관리 시스템 | |
US20170278123A1 (en) | System for managing membership, method for managing membership using registration of membership by user and apparatus using the same | |
JP2003316708A (ja) | 利用者検索における被検索条件指定システム,利用者検索方法,利用者検索プログラムおよびそのプログラムの記録媒体 | |
CN115268995B (zh) | 一种基于知识图谱的Web API推荐方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |