KR101786602B1 - 시맨틱 협상 모듈 및 방법 - Google Patents

시맨틱 협상 모듈 및 방법 Download PDF

Info

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
Application number
KR1020110011950A
Other languages
English (en)
Other versions
KR20120091874A (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 KR1020110011950A priority Critical patent/KR101786602B1/ko
Priority to US13/323,342 priority patent/US8838766B2/en
Publication of KR20120091874A publication Critical patent/KR20120091874A/ko
Application granted granted Critical
Publication of KR101786602B1 publication Critical patent/KR101786602B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • 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/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • G06F16/337Profile generation, learning or modification
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-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

시맨틱 협상 모듈 및 방법{Semantic Negotiation Module and Method thereof}
본 발명의 실시예들은 시맨틱 협상 방법에 관한 것으로서, 보다 구체적으로는 온톨로지에 기반한 시맨틱 협상 방법에 관한 것이다.
종래의 시맨틱 처리 시스템은 일반적으로 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는 본 발명의 일실시예에 따른 온톨로지 기반의 시맨틱 협상을 통한 모바일 서비스 이용 방법을 나타내는 도면이다.
도 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: 서버 모듈

Claims (11)

  1. 삭제
  2. 삭제
  3. 제1 서비스 제공자에 의해 설계되는 서비스 서버의 시맨틱 협상 모듈에 있어서,
    제2 서비스 제공자에 의해 설계되는 단말기로부터 최적 서비스를 요청하는 서비스 요청 메시지를 수신하고, 상기 단말기로 상기 최적 서비스를 실행하기 위한 제약(Constraint)에 대한 제약 질의 메시지를 전송하며, 상기 단말기로부터 상기 제약에 대한 값을 수신하는 통신 관리부(Communication Manager); 및
    상기 제약에 대한 값 및 서비스 온톨로지에 기반하여, 복수 개의 서비스 중 상기 제약을 만족하는 서비스를 검색하는 제약 매칭(Constraint Matching)을 수행하고, 상기 제약 매칭에 의해 검색된 서비스를 상기 최적 서비스로 결정하는 시맨틱 협상부(Semantic Negotiator)
    를 포함하고,
    상기 통신 관리부는
    상기 단말기로 상기 최적 서비스에 대한 정보를 전송하고,
    상기 제1 서비스 제공자와 상기 제2 서비스 제공자는 상이하고,
    상기 시맨틱 협상부는
    사용자 선호도(Preference)에 대한 복수 개의 항목 중 서비스 선호도 특성 및 상기 사용자 선호도에 대한 값이 일치하는 항목인지 여부에 따라 상기 제약 매칭에 의해 검색된 서비스에 대한 점수를 연산하고, 상기 연산된 점수에 기반하여 상기 최적 서비스를 결정하는 시맨틱 협상 모듈.
  4. 제3항에 있어서,
    상기 통신 관리부는
    상기 단말기로 상기 사용자 선호도에 대한 선호도 질의 메시지를 전송하고, 상기 단말기로부터 상기 사용자 선호도에 대한 값을 수신하며,
    상기 시맨틱 협상부는
    상기 사용자 선호도에 대한 값에 기반하여, 상기 제약 매칭에 의해 검색된 서비스에 대한 점수를 연산하고, 상기 연산된 점수에 기반하여 상기 최적 서비스를 결정하는 시맨틱 협상 모듈.
  5. 제4항에 있어서,
    상기 시맨틱 협상부는
    상기 제약 매칭에 의해 검색된 서비스에 대한 점수를 초기화하고,
    상기 사용자 선호도에 대한 복수 개의 항목 중 상기 서비스 선호도 특성(Preference Property) 및 상기 사용자 선호도에 대한 값이 일치하는 항목에 대해서는 상기 점수를 증가시키고, 상기 서비스 선호도 특성 및 상기 사용자 선호도에 대한 값이 일치하지 않는 항목에 대해서는 상기 점수를 감소시키는 시맨틱 협상 모듈.
  6. 제3항에 있어서,
    상기 시맨틱 협상부는
    상기 제약에 대한 복수 개의 항목 및 상기 제약에 대한 값을 비교하고, 상기 복수 개의 항목을 모두 만족하는 서비스를 검색하며, 상기 검색된 서비스를 상기 최적 서비스로 결정하는 시맨틱 협상 모듈.
  7. 삭제
  8. 삭제
  9. 제1 서비스 제공자에 의해 설계되는 서비스 서버의 시맨틱 협상 방법에 있어서,
    상기 서비스 서버가 제2 서비스 제공자에 의해 설계되는 단말기로부터 최적 서비스를 요청하는 서비스 요청 메시지를 수신하는 단계;
    상기 서비스 서버가 상기 단말기로 상기 최적 서비스를 실행하기 위한 제약(Constraint)에 대한 제약 질의 메시지를 전송하는 단계;
    상기 서비스 서버가 상기 단말기로부터 상기 제약에 대한 값을 수신하는 단계;
    상기 서비스 서버가 상기 제약에 대한 값 및 서비스 온톨로지에 기반하여, 복수 개의 서비스 중 상기 제약을 만족하는 서비스를 검색하는 제약 매칭(Constraint Matching)을 수행하는 단계;
    상기 서비스 서버가 상기 제약 매칭에 의해 검색된 서비스를 상기 최적 서비스로 결정하는 단계; 및
    상기 서비스 서버가 상기 단말기로 상기 최적 서비스에 대한 정보를 전송하는 단계
    를 포함하고,
    상기 제1 서비스 제공자와 상기 제2 서비스 제공자는 상이하고,
    상기 결정하는 단계는,
    상기 서비스 서버가 사용자 선호도(Preference)에 대한 복수 개의 항목 중 서비스 선호 특성 및 상기 사용자 선호도에 대한 값이 일치하는 항목인지 여부에 따라 상기 제약 매칭에 의해 검색된 서비스에 대한 점수를 연산하고, 상기 연산된 점수에 기반하여 상기 최적 서비스를 결정하는 단계
    를 포함하는 시맨틱 협상 방법.
  10. 제9항에 있어서,
    상기 서비스 서버가 상기 단말기로 상기 사용자 선호도에 대한 선호도 질의 메시지를 전송하는 단계;
    상기 서비스 서버가 상기 단말기로부터 상기 사용자 선호도에 대한 값을 수신하는 단계;
    상기 서비스 서버가 상기 사용자 선호도에 대한 값에 기반하여, 상기 제약 매칭에 의해 검색된 서비스에 대한 점수를 연산하는 단계; 및
    상기 서비스 서버가 상기 연산된 점수에 기반하여 상기 최적 서비스를 결정하는 단계
    를 포함하는 시맨틱 협상 방법.
  11. 제9항 내지 제10항 중 어느 한 항의 방법을 컴퓨터에 의해 실행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020110011950A 2011-02-10 2011-02-10 시맨틱 협상 모듈 및 방법 KR101786602B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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