KR20160112724A - 사물 웹 환경에서 서비스 품질에 기초하여 사물을 추천하기 위한 방법 및 시스템 - Google Patents

사물 웹 환경에서 서비스 품질에 기초하여 사물을 추천하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20160112724A
KR20160112724A KR1020150038950A KR20150038950A KR20160112724A KR 20160112724 A KR20160112724 A KR 20160112724A KR 1020150038950 A KR1020150038950 A KR 1020150038950A KR 20150038950 A KR20150038950 A KR 20150038950A KR 20160112724 A KR20160112724 A KR 20160112724A
Authority
KR
South Korea
Prior art keywords
qos
data
information
characteristic data
user
Prior art date
Application number
KR1020150038950A
Other languages
English (en)
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 KR1020150038950A priority Critical patent/KR20160112724A/ko
Priority to US14/936,992 priority patent/US20160277532A1/en
Publication of KR20160112724A publication Critical patent/KR20160112724A/ko

Links

Images

Classifications

    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0203Market surveys; Market polls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0263Targeted advertisements based upon Internet or website rating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Abstract

사물 웹 환경에서 서비스 품질에 기초하여 사물을 추천하기 위한 방법 및 시스템에 관한 것이다. 본 발명의 일 태양에 따르면, 사물 웹 환경에서 소정의 사물을 사용자에게 추천하기 위한 방법에 있어서, (a) 적어도 하나 이상의 사물에 대한 웹로그 데이터, 및 메타데이터를 획득하는 단계, (b) 상기 웹로그 데이터 및 상기 메타데이터로부터 상기 사물에 대한 QoS(Quality of Service) 특징 데이터를 산출하는 단계, (c) 상기 사물에 대한 사용자의 리뷰 정보가 획득되면, 상기 리뷰 정보로부터 상기 사물에 대한 QoS 등급 정보를 산출하는 단계 및 (d) 상기 사물에 대한 QoS 등급 정보 및 상기 사물에 대한 QoS 특징 데이터를 참조로 하여, 상기 사용자의 리뷰 정보가 존재하지 않는 사물의 QoS 등급을 예측하기 위한 규칙을 생성하는 단계를 포함하는 방법이 제공된다.

Description

사물 웹 환경에서 서비스 품질에 기초하여 사물을 추천하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR SELECTING THINGS BASED ON QUALITY OF SERVICE IN WEB Of THINGS}
본 발명은 사물 웹 환경에서 서비스 품질에 기초하여 사물을 선택 및 추천하기 위한 방법 및 시스템에 관한 것이다.
WoT(Web of Things, 사물 웹) 기술은 실세계와 가상세계의 다양한 사물(센서 디바이스, 서비스 등)을 웹 기술(HTML, URI, HTTP 등)을 이용하여 연결함으로써 사물 인터넷(IoT: Internet of Things)을 실현하기 위한 기술이다. 일반적으로 WoT 기술은 REST(Representational State Transfer) 아키텍처 스타일에 따라 사물을 리소스(resource)로 추상화하고 리소스를 식별하기 위한 URI(URL), 리소스 구조, 리소스를 다양한 포맷(HTML, XML, JSON)으로 표현하고 하이퍼링크로 연결하는 방법, 리소스를 액세스(생성, 조회, 갱신, 삭제)하기 위한 HTTP 메소드(POST, GET, PUT, DELETE) 기반의 REST API를 제공한다. 이 경우, 다양한 사물을 웹으로 쉽게 연결할 수 있고 연결한 사물을 조합하여 새로운 매시업(Mashup) 서비스를 만들 수 있다는 장점을 가진다. 예를 들어, 센서 디바이스(사물)로부터 수집된 데이터와 지도 서비스(사물)로부터 수집된 데이터를 REST API를 사용하여 취합하고 엑츄에이터(사물)와 연동하여 새로운 매시업 서비스를 만들 수 있다.
이러한 매시업 서비스를 개발하거나 활용하기 위해서는 사물에 대한 검색 기능이 필요하며 사용자는 보통 키워드를 이용하여 원하는 사물을 검색한다. 그러나 기존의 키워드를 기반으로 하는 사물 검색 기술은 사용자가 원하는 사물의 목록을 제공할 뿐, 사물의 QoS(Quality of Service)를 고려한 검색 기능을 제공하지는 못한다.
이러한 경우 예를 들어, 응급 환자 발생시 주변의 응급 처치를 위한 자동제세동기(AED: Automated External Defibrillator)와 응급실(서비스)을 검색할 수 있을 뿐, 정상 동작하는 AED인지 또는 응급실 서비스 요청을 신속하게 처리할 수 있는지 여부를 알 수 없다. 따라서, WoT에서 사물에 대한 QoS 기반 검색은 매우 중요하다.
최근 QoS를 기반으로 하는 사물 검색을 위해, 사물의 QoS 표현/측정을 위한 시맨틱 정보를 온톨로지(ontology)로 저장하고, 온톨로지를 통해 QoS를 추론하는 시맨틱 웹(semantic Web) 기술이 개발되고 있다. 그러나 시맨틱 웹 기술은 온톨로지를 구축하는데 많은 노력이 요구될 뿐 아니라 사물의 시맨틱 정보를 자동 갱신하기가 어려워 실제 도입이 어렵다는 문제점을 가진다.
본 발명은 전술한 종래 기술의 문제점을 모두 해결하는 것을 그 목적으로 한다.
본 발명은 사물 웹 서비스의 품질 정보 및 사물 웹 서비스에 대한 사용자의 리뷰 정보를 수집하여, 사물의 QoS 등급을 예측하는 규칙을 생성하는 것을 다른 목적으로 한다.
본 발명은 생성된 규칙에 따라 사물의 QoS 등급을 예측하고, 순위가 높은 QoS 등급에 대응하는 사물을 선정하여 사용자에게 추천하는 것을 또 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 사물 웹 환경에서 소정의 사물을 사용자에게 추천하기 위한 방법에 있어서, (a) 적어도 하나 이상의 사물에 대한 웹로그 데이터, 및 메타데이터를 획득하는 단계, (b) 상기 웹로그 데이터 및 상기 메타데이터로부터 상기 사물에 대한 QoS(Quality of Service) 특징(features) 데이터를 산출하는 단계, (c) 상기 사물에 대한 사용자의 리뷰 정보가 획득되면, 상기 리뷰 정보로부터 상기 사물에 대한 QoS 등급 정보를 산출하는 단계 및 (d) 상기 사물에 대한 QoS 등급 정보 및 상기 사물에 대한 QoS 특징 데이터를 참조로 하여, 상기 사용자의 리뷰 정보가 존재하지 않는 사물의 QoS 등급을 예측하기 위한 규칙을 생성하는 단계를 포함하는 방법을 제안한다.
또한, 본 발명의 다른 태양에 따르면, 사물 웹 환경에서 소정의 사물을 사용자에게 추천하기 위한 시스템에 있어서, 적어도 하나 이상의 사물에 대한 웹로그 데이터, 및 메타데이터를 획득하고, 상기 웹로그 데이터 및 상기 메타데이터로부터 상기 사물에 대한 QoS 특징 데이터를 산출하는 QoS 특징 데이터 생성부, 상기 사물에 대한 사용자의 리뷰 정보를 획득하여 상기 리뷰 정보로부터 상기 사물에 대한 QoS 등급 정보를 산출하고, 상기 사물에 대한 QoS 등급 정보 및 상기 사물에 대한 QoS 특징 데이터를 참조로 하여, 상기 사용자의 리뷰 정보가 존재하지 않는 사물의 QoS 등급을 예측하기 위한 QoS 등급 분류기를 생성하는 QoS 등급 분류기 생성부 및 상기 사용자로부터 사물 웹 서비스 제공 요청 신호를 획득하면, 사물들의 목록을 검색하여 상기 검색된 사물들 각각의 QoS 특징 데이터를 산출하고, 상기 검색된 사물들 각각의 QoS 특징 데이터를 상기 QoS 등급 분류기에 입력하여 상기 검색된 사물들 각각에 대한 QoS 등급을 예측하며, 순위가 높은 QoS 등급을 갖는 사물을 상기 사용자에게 추천하는 사물 추천부를 포함하는 시스템을 제안한다.
본 발명에 의하면, 사물 웹 서비스의 품질 정보 및 사물 웹 서비스에 대한 사용자의 리뷰 정보를 수집하여, 사물의 QoS 등급을 예측하는 규칙을 생성할 수 있다.
또한, 본 발명에 의하면, 생성된 규칙에 따라 사물의 QoS 등급을 예측하고, 순위가 높은 QoS 등급에 대응하는 사물을 선정하여 사용자에게 추천할 수 있다.
도 1은 본 발명의 일 실시예에 따라 사물 웹 환경에서 서비스 품질에 기초하여 사물이 사용자에게 추천되도록 하기 위한 전체 시스템의 개략적인 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 사물 웹 서비스 제공 시스템의 내부 구성을 상세하게 도시하는 도면이다.
도 3은 본 발명의 일 실시예에 따라 QoS 특징 데이터가 산출되는 것을 예시적으로 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따라 웹로그 데이터로부터 리소스 요청/응답 데이터가 획득되는 것을 예시적으로 설명하기 위한 도면이다.
도 5 내지 도 7은 본 발명의 일 실시예에 따라 QoS 등급 분류기가 생성되는 과정을 예시적으로 설명하기 위한 도면이다.
도 6 내지 도 8은 본 발명의 일 실시예에 따라 사물이 사용자에게 추천되는 전체 과정을 설명하기 위한 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특정, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시 예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
[본 발명의 바람직한 실시예]
전체 시스템의 구성
도 1은 본 발명의 일 실시예에 따라 사물 웹 환경에서 서비스 품질(이하, QoS라고 함)에 기초하여 사물이 사용자에게 추천되도록 하기 위한 전체 시스템의 개략적인 구성을 나타내는 도면이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 전체 시스템은 통신망(100), 사물 웹 서비스 제공 시스템(200), 사용자 단말 장치(300) 및 서버(400)를 포함하여 구성될 수 있다.
먼저, 본 발명의 일 실시예에 따른 통신망(100)은 유선 또는 무선 통신의 양태로 구성될 수 있으며 WAN(Wide Area Network), LAN(Local Area Network), 이동 통신망, 인공 위성 통신망 등 다양한 통신망으로 구성될 수 있다. 보다 구체적으로, 본 발명에서 말하는 통신망(100)은 IEEE 802.11, CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), GSM(Global System for Mobile communications), LTE(Long Term Evolution) 등의 기술에 의하여 구현되는 무선 통신망을 포함할 수도 있다. 그러나, 통신망(100)은, 굳이 이에 국한될 필요 없이, 공지의 유무선 데이터 통신망, 공지의 전화망 또는 공지의 유무선 텔레비전 통신망을 그 적어도 일부에 있어서 포함할 수도 있다.
다음으로, 본 발명의 일 실시예에 따른 사물 웹 서비스 제공 시스템(200)은 사물들(미도시됨) 각각의 QoS 품질 데이터 및 상기 사물들 각각에 대한 사용자의 리뷰 정보를 수집하고, 수집된 QoS 품질 데이터 및 사용자의 리뷰 정보를 기초로 사물의 QoS 등급을 예측하는 규칙을 생성하는 기능을 수행할 수 있다. 또한, 사물 웹 서비스 제공 시스템(200)은 사용자로부터 사물 웹 서비스 요청이 있는 경우, 서비스 제공 가능한 사물들을 검색하고, 생성된 규칙에 따라 사물들 각각의 QoS 등급을 예측하며, 그 중 가장 순위가 높은 QoS 등급에 대응하는 사물을 사용자에게 추천하는 기능을 수행할 수도 있다.
본 발명에 따른 사물 웹 서비스 제공 시스템(200)의 구성과 기능에 관하여는 아래의 상세한 설명을 통하여 자세하게 알아보기로 한다.
다음으로, 본 발명의 일 실시예에 따른 사용자 단말 장치(300)는 사물 웹 서비스 제공 시스템(200)이나 서버(400)에 접속한 후 통신할 수 있는 기능을 포함하는 디지털 기기로서, 데스크탑 컴퓨터, 노트북 컴퓨터, 워크스테이션, PDA, 웹 패드, 이동 전화기 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기라면 얼마든지 본 발명에 따른 사용자 단말 장치(300)로서 채택될 수 있다. 특히, 사용자 단말 장치(300)에는 사용자가 사물 웹 서비스를 제공 받을 수 있도록 하는 브라우져(browser, 미도시됨) 프로그램이 포함되어 있을 수 있다.
마지막으로, 본 발명의 일 실시예에 따른 서버(400)는 사물 웹 서비스 제공 시스템(200)이나 사용자 단말 장치(300)와의 통신을 수행할 수 있는 정보 제공 장치일 수 있다. 이러한 서버(400)는, 예를 들면, 각종 웹 서버일 수 있으며, 특히 웹로그 데이터 또는 이와 연관된 정보를 사물 웹 서비스 제공 시스템(200)에 직접적으로 제공할 수 있다.
또한, 서버(400)는 이종의 네트워크인 사물들로 구성된 IP 기반 센서 네트워크와 기존의 인터넷(예를 들어, IP 네트워크)을 서로 연결하여, 사물들이 인터넷에 연결될 수 있도록 할 수 있다. 즉, 사용자 단말 장치(300)로부터 IP 주소를 기반으로 사물을 특정하여 통신수행 요청이 수신된 경우, 통신 수행에 사용되는 HTTP, TCP, UDP, IP 헤더를 사물들(즉, 센서 네트워크)에 송신하기 위해 압축하고, 사물로부터의 응답을 인터넷 상의 사용자 단말 장치(300)로 송신하기 위해 압축 복원하는 기능을 수행할 수 있다.
사물 웹 서비스 제공 시스템의 구성
이하에서는, 본 발명에 따른 사물 웹 서비스 제공 시스템(200)의 내부 구성과 각 구성요소의 기능에 대하여 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 사물 웹 서비스 제공 시스템(200)의 내부 구성을 상세하게 도시하는 도면이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 사물 웹 서비스 제공 시스템은 QoS 특징 데이터 생성부(210), QoS 등급 분류기 생성부(220), 사물 추천부(230), 데이터베이스(240), 통신부(250) 및 제어부(260)를 포함하여 구성될 수 있다. 본 발명의 일 실시예에 따르면, QoS 특징 데이터 생성부(210), QoS 등급 분류기 생성부(220), 사물 추천부(230), 데이터베이스(240), 통신부(250) 및 제어부(260)는 그 중 적어도 일부가 사용자 단말 장치(300)나 서버(400)와 통신하는 프로그램 모듈일 수 있다.  이러한 프로그램 모듈은 운영 시스템, 응용 프로그램 모듈 또는 기타 프로그램 모듈의 형태로 사물 웹 서비스 제공 시스템(200)에 포함될 수 있고, 물리적으로는 여러 가지 공지의 기억 장치에 저장될 수 있다.  또한, 이러한 프로그램 모듈은 사물 웹 서비스 제공 시스템(200)과 통신 가능한 원격 기억 장치에 저장될 수도 있다.  한편, 이러한 프로그램 모듈은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
도 6 내지 도 8은 본 발명의 일 실시예에 따라 사물이 사용자에게 추천되는 전체 과정을 설명하기 위한 개념도이며, 본 발명의 일 실시예에 따른 QoS 특징 데이터 생성부(210), QoS 등급 분류기 생성부(220) 및 사물 추천부(230)의 구체적인 기능을 설명함에 있어서 도 6 내지 도 7을 함께 참조하여 설명하도록 한다.
먼저, 본 발명의 일 실시예에 따른 QoS 특징 데이터 생성부(210)는 사물 웹 서비스 요청 처리에 대한 기록인 웹로그 데이터와 사물에 대한 메타데이터로부터 QoS 특징 데이터를 산출하는 기능을 수행할 수 있다.
웹로그 데이터는 사물 웹 서비스의 요청을 받아 처리한 기록을 저장한 데이터로서 요청을 보낸 IP 주소, 처리 시간, HTTP 메소드 처리 정보 등을 포함할 수 있다. 또한, 사물 메타데이터는 사물에 대한 정보로서 사물의 ID, 명칭, 설명, 제조사, 제조일, 사진, 인증 정보 등을 포함할 수 있으며, 사물 개발자에 의해 등록될 수 있다.
QoS 특징 데이터 생성부(210)는 사물에 대한 웹로그 데이터를 획득하면 이를 정제하여 데이터 전처리 과정을 통해 리소스 요청/응답 데이터로 변환하며, 보다 구체적으로 변환된 리소스 요청/응답 데이터에 사물에 대한 요청/응답 기록의 통계 데이터인 평균 응답 시간, 요청/응답 횟수가 포함되도록, 웹로그 데이터에 대한 데이터 전처리 과정을 수행할 수 있다.
QoS 특징 데이터 생성부(210)는 사물에 대한 리소스 요청/응답 데이터와 메타데이터로부터 QoS 특징 데이터를 산출할 수 있다. 특히, QoS 특징 데이터 생성부(210)에 의해 산출된 QoS 특징 데이터에는, 사물 웹 서비스 요청에 대한 평균 응답 시간(response time), 소정의 시간 동안 사물 웹 서비스 요청에 대한 정상 응답 횟수를 나타내는 신뢰성(reliability), 소정의 시간 동안 사물 웹 서비스가 다운되지 않고 있는 시간의 비율을 나타내는 가용성(availability)에 대한 정보 및 인증 여부(certified)에 대한 정보가 포함될 수 있다. 이하에서는 도 3을 참조로 하여 본 발명의 일 실시예에 따라 사물에 대한 QoS 특징 데이터가 산출되는 것을 구체적으로 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 QoS 특징 데이터 생성부(210)에 의해 QoS 특징 데이터가 산출되는 것을 예시적으로 설명하기 위한 도면이다.
먼저, QoS 특징 데이터 생성부(210)는 웹로그 데이터를 획득한 후 오류가 존재하거나 불필요한 데이터를 정제하는 기능을 수행할 수 있다. 도 3에 도시된 바와 같이, 정제된 웹로그 데이터(310)는 <IP address, username, method, URI, status, bytes, time, time-taken, protocol> 속성(attribute)으로 구성된 레코드를 가질 수 있다. 한편, 'IP address'는 서비스를 요청한 IP 주소, 'username'은 서비스를 요청한 사용자 명, 'method'는 HTTP 요청 메소드 명, 'URI'는 요청한 리소스의 URI, 'status'는 응답 결과의 상태 코드, 'bytes'는 요청/응답 동안 전송된 데이터 량, 'time' 속성은 응답이 완료된 시점, 'time-taken' 속성은 응답 시간, 'protocol'은 요청/응답을 위해 사용된 프로토콜을 의미한다.
예를 들어, <129.254.85.92, yjlee, PUT, /192.168.0.101/wot/devices/device1, 200, 230, 2014-10-27 13:10:27, 31, http> 레코드는, 129.254.82.92의 IP 주소를 이용하는 사용자 yjlee가 device1에 PUT 요청을 하여 2014년 10월 27일 13시 10분 27초에 정상 응답(status 200)하였으며, 230 bytes의 데이터가 전송되고 응답 시간은 31 millisecs 임을 나타내는 것일 수 있다.
한편, 웹로그 데이터(310)는 <URI, time, method>의 키(key) 순서로 정렬될 수 있으며, QoS 특징 데이터 생성부(210)는 MapReduce 함수를 이용하여 정렬된 웹로그 데이터를 리소스 요청/응답 데이터(320)로 변환할 수 있다. MapReduce 함수를 이용하여 정렬된 웹로그 데이터(310)를 리소스 요청/응답 데이터(320)로 변환하는 방법에 대하여는 추후 도 4를 참조로 하여 자세하게 설명하도록 한다.
도 3에 도시된 바와 같이, 리소스 요청/응답 데이터(320)는 복수의 사물(리소스)들 각각에 대한 요청/응답의 통계 데이터로서, <URI, method, average-response, requests, normal responses, MTBF, MTTF> 속성으로 구성된 레코드를 포함할 수 있다. 먼저, 'Average-response'는 웹로그 데이터의 'time-taken' 속성의 평균 값, 'requests'는 사물(리소스)에 대한 총 요청 건수, 'normal responses'는 정상 응답한 총 건수를 의미한다. 또한, MTTF(Mean Time To Failure)는 복구 후 다음 고장까지의 시간으로서 정상 가동 시간을 의미하고, MTBF(Mean Time Between Failure)는 고장에서 다음 고장까지의 시간으로서 평균 고장 시간의 간격을 의미한다.
예를 들어, </device1, GET, 19.5, 2, 2, 37, 37> 레코드는, device 1에 대한 GET 요청의 평균 응답 시간은 19.5 millisecs, 총 요청 건수는 2, 정상 응답 건수는 2, MTTF는 37 시간, 37 시간임을 나타내는 것일 수 있다. MTTF와 MTBF를 나타내는 수치 값은 웹로그 데이터의 'time' 속성을 분석하여 계산 할 수 있으며, 가령 device 1이 정상 응답한 시간 간격이 37 시간이므로 MTTF는 37, 고장이 발생한 경우가 없으므로 MTBF는 37인 것으로 산출될 수 있다.
한편, QoS 특징 데이터 생성부(210)는 사물 웹 환경 내에서 웹으로 연결된 복수의 사물들 각각에 대한 메타데이터를 수집하여 소정의 메타데이터 레포지터리(repository, 330)에 저장할 수 있으며, 특정 사물에 대한 QoS 특징 데이터를 획득하고자 하는 경우 메타데이터 레포지터리(330)로부터 특정 사물에 대응하는 메타데이터를 획득할 수 있다.
보다 구체적으로, QoS 특징 데이터 생성부(210)는 메타데이터 레포지터리(330)에 저장된 메타데이터의 속성(사물 ID, 명칭, 설명, 제조사, 제조일, 사진, 인증 정보) 중 QoS 특징 데이터로 사용될 속성인 인증 정보(certified)를 획득할 수 있다. 한편, 본 명세서에서는 설명의 편의를 위하여 사물에 대한 메타데이터가 저장되는 저장소로서 별도의 메타데이터 레포지터리(330)가 구비되는 것으로 상정하여 설명하였으나 본 발명이 이에 제한되는 것은 아니며, 사물의 메타데이터는 상술한 바와 같이 물리적으로 구별되는 저장소에 저장될 수도 있으며, 본 발명에 따른 사물 웹 서비스 제공 시스템의 데이터베이스에 저장될 수도 있다.
도 3에 도시된 바와 같이, QoS 특징 데이터 생성부(210)는 메타데이터 및 리소스 요청/응답 데이터(320)로부터 사물에 대한 QoS 특징 데이터(340)를 산출할 수 있다. 리소스 요청/응답 데이터(320)로부터 'method', 'response', 'reliability' 및 'availability' 속성에 대한 정보를 획득하고, 메타데이터로부터 '인증정보(certified)' 속성에 대한 정보를 획득할 수 있다.
QoS 특징을 나타내는 속성 중 'response' 속성은 서비스 요청(request)에 대한 응답(response)을 제공 받는 데에 걸리는 시간을 의미하는 응답 시간(response time)이며, 'reliability' 속성은 주어진 시간 동안 서비스 요청에 대하여 정상 응답한 정도를 의미하는 신뢰성, 'availability' 속성은 주어진 시간 동안 서비스가 다운되지 않고 있는 시간의 비율을 의미하는 가용성을 나타내는 것일 수 있다.
QoS 특징 데이터 생성부(210)는 리소스 요청/응답 데이터(320) 중 'average-response' 속성의 데이터 값을 'response' 속성에 대한 데이터 값으로 획득할 수 있으며, 'reliability' 속성 및 'availability' 속성은 각각 수학식 1 및 수학식 2에 의해 산출될 수 있다.
수학식 1:
Figure pat00001
수학식 2:
Figure pat00002
즉, 도 3에 도시된 바와 같이 <URI, method, response, reliability, availability, certified> 속성으로 구성된 레코드를 갖는 QoS 특징 데이터(340)가 산출될 수 있다. 이하에서는 도 4를 참조로 하여 본 발명의 일 실시예에 따라 웹로그 데이터로부터 리소스 요청/응답 데이터가 획득되는 과정을 구체적으로 살펴보도록 한다.
도 4는 본 발명의 일 실시예에 따라 웹로그 데이터로부터 리소스 요청/응답 데이터가 획득되는 것을 예시적으로 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 정렬된 웹로그 데이터는 MapReduce 함수를 이용한 분산 처리를 통해 리소스 요청/응답 데이터로 변환된다. MapReduce는 오픈 소스 빅데이터 플랫폼인 Hadoop의 핵심 기능으로서 HDFS(Hadoop Distributed File System)라는 분산 파일 시스템을 통해 웹로그 데이터를 분산 저장하고, MapReduce 함수를 통해 리소스 요청/응답 데이터로 변환하는 작업을 분산 처리(계산)한다. Map 함수는 함수의 입력으로 키(k1), 값(v1)을 전달받고 전달된 키-값을 이용해 사용자의 로직을 병렬 처리한 후, 출력으로 새로운 키(k2)와 값(v2)의 목록을 출력한다. Map 함수가 반복적으로 수행되면 여러 개의 출력 데이터가 생성되고, 이 출력 데이터를 키(k2)로 정렬하여 각 키(k2)에 여러 개의 값(list(v2))이 존재하게 된다. Reduce 함수는 키(k2)와 값 목록(list(v2))을 입력으로 받아 사용자의 로직을 병렬 계산한 후 여러 개의 '키(k3)-값(v3)' 목록을 출력한다.
보다 구체적으로, 도 4에 도시된 바와 같이 웹로그 데이터를 <URI, time, method> 순으로 정렬하여 저장한다. 대용량 웹로그 데이터의 경우에는 분산 파일 시스템(가령, Hadoop HDFS)을 이용하여 여러 노드에 분산 저장될 수 있다. Map 함수(Map-1)는 웹로그 데이터를 병렬 처리하여 임시 데이터인 <URI, method, time-taken, request count, response count>를 출력한다. Map 함수(Map-1)에 대한 입력 키(k1)는 <URI, time, method>, 입력 값(v1)은 <status, time-taken>이며 출력 키(k2)는 <URI, method>, 출력 값(list(v2))는 <time-taken, request-count, response-count>이다. 예를 들어, 웹로그 데이터의 device 1에 대한 Map 함수(Map-1)의 출력 결과는 임시 데이터인 <device1, PUT, 31, 1, 1>, <device1, GET, 20, 1, 1>, <device1, GET, 19, 1, 1>이다. Reduce 함수(Reduce-1)는 임시 데이터를 집계하여 리소스 요청/응답 데이터인 <URI, method, average-response, requests, normal-responses>를 출력한다. Reduce 함수(Reduce-1)에 대한 입력 키(k2)는 <URI, method>, 입력 값(list(v2))는 <time-taken, request-count, response-count>이며 출력 키(k3)는 <URI, method>, 출력 값(v3)는 <average-response, requests, normal-responses>이다. 예를 들어, 웹로그 데이터의 device1에 대한 Reduce 함수(Reduce-1)의 출력 결과는 리소스 요청/응답 데이터인 <device1, PUT, 31, 1, 1>, <device1, GET, 19.5, 2, 2> 이다. device 1의 average-response(1), device 2의 average-response(19.5)는 Reduce 함수를 실행하면서 time-taken 속성의 평균 값과 표준 편차를 계산하여 산출될 수 있다.
본 발명에 따르면, 대용량의 웹로그 데이터(빅 데이터)로부터 사물의 QoS 특징 데이터를 효율적으로 추출하기 위하여 오픈 소스인 Hadoop MapReduce를 이용한 분산 처리 방법이 수행되도록 함으로써 효율적이고 저렴하게 QoS 특징 데이터를 생성할 수 있다.
다음으로, 본 발명의 일 실시예에 따른 QoS 등급 분류기 생성부(220)는 QoS 특징 데이터 생성부(210)로부터 획득한 사물의 QoS 특징 데이터와 사물에 대한 사용자의 리뷰 정보들을 기초로 하여 사물의 QoS 등급을 예측할 수 있도록 하는 규칙을 생성하는 기능을 수행할 수 있다.
먼저, QoS 등급 분류기 생성부(220)는 사물 웹 서비스를 사용한 복수의 사용자로부터 사물에 대한 리뷰 정보들을 수집하고, 수집된 사용자의 리뷰 정보들을 통계적으로 분석하여 사물에 대한 QoS 등급을 산출할 수 있다. 예를 들어, 사물에 대한 사용자의 리뷰 정보가 Excellent(매우 좋음), Good(좋음), Average(보통), Poor(나쁨) 중 어느 하나로 표현되는 것으로 가정할 때, 특정 사물(device 1)에 대하여 사용자 1000명이 Excellent, 100명이 Good, 30명이 Poor인 것으로 리뷰한 경우, 리뷰 정보의 평균 값과 표준 편차를 계산하여 산출된 device 1의 QoS 등급은 Excellent일 수 있다.
본 발명의 일 실시예에 따르면, QoS 등급 분류기 생성부(220)는 복수의 사물들 각각에 대한 QoS 특징 데이터 및 QoS 등급 정보를 훈련 데이터로 하는 기계 학습(Machine Learning)을 통해, 사용자 리뷰 정보가 존재하지 않는 사물의 QoS 등급을 예측하는 QoS 등급 분류기를 생성할 수 있다.
보다 상세하게는, QoS 등급 분류기 생성부(220)는 QoS 특징 데이터 및 QoS 등급 정보를 기초로 분류 알고리즘을 실행하여 QoS 등급 평가를 위한 규칙을 학습하고, 상기 규칙이 적용된 것으로서 입력 데이터(본 발명에서는 QoS 특징 데이터)를 등급 별로 분류할 수 있는 분류기(classifier)를 생성할 수 있다. 분류 알고리즘은 ID3, C4.5, CART, CHAID 등과 같은 결정 트리(decision tree) 알고리즘일 수 있다.
즉, 본 발명에 따르면, QoS 등급 분류기는 QoS 특징 데이터와 QoS 등급 정보를 기초로 하여 생성된 결정 트리일 수 있으며, 구체적으로 QoS 특징 데이터를 변수 'features', QoS 등급 정보를 변수 'labels'로 정의할 때 아래와 같은 맵 함수(map function) 'f'로 표현되며, 분류 알고리즘을 수행하여 함수 f를 생성할 수 있다.
맵 함수:
Figure pat00003
보다 구체적으로, 'labels'을 excellent, good, average, poor로 사전 분류하고, 'labels'을 분류할 수 있는 특징(features)으로서 'response', 'reliability', 'availability', 'certified'를 추출한 후, 소정의 사물에 대한 QoS 특징 데이터와 QoS 등급(QoS 등급은 상기 맵 함수에 있어서 라벨과 동일한 의미를 가질 수 있음)으로부터 분류기(또는, 분류 규칙)를 생성할 수 있다. 이하에서는 도 5를 참조로 하여 본 발명의 일 실시예에 따른 QoS 등급 분류기 생성 과정에 대하여 자세히 설명하도록 한다.
도 5는 본 발명의 일 실시예에 따라 QoS 등급 분류기가 생성되는 것을 예시적으로 설명하기 위한 도면이다.
먼저, QoS 등급 분류기 생성부(220)는 복수의 사물들 각각에 대한 사용자 리뷰 정보들(510)을 수집하여 이를 통계 분석하여 복수의 사물들 각각에 대한 QoS 등급(520)을 산출할 수 있다. 예를 들어, 도 5에 도시된 바와 같이 device 1, 2, 3, 4에 대한 사용자 리뷰 정보(510)의 리뷰 평균과 표준 편차를 계산하여 QoS 등급 정보(520)를 생성할 수 있으며, device 1에 대한 QoS 등급 정보는 Excellent, device 2에 대한 QoS 등급 정보는 Poor, device 3에 대한 QoS 등급 정보는 Good, device 4에 대한 QoS 등급 정보는 Average일 수 있다. 한편, 본 명세서에서는 설명의 편의를 위하여 QoS 등급이 excellent, good, average, poor인 것으로 상정하여 설명하였으나, 이에 제한되는 것은 아니며 이는 필요에 따라 변경될 수 있다.
QoS 등급 분류기 생성부(220)는 QoS 특징 데이터(530)와 QoS 등급 정보(520)를 훈련 데이터로 입력 받아 분류 알고리즘을 통해 QoS 등급 분류기를 생성할 수 있다. 한편, 상술한 바와 같이 분류 알고리즘은 결정 트리 알고리즘(ID3, C4.5, CART, CHAID)일 수 있다.
도 5에 도시된 바와 같이 device 1 내지 device 8의 QoS 특징 데이터와 QoS 등급 정보를 입력 받아 생성된 QoS 등급 분류기는 분류 규칙의 집합인 결정 트리 구조(550)로 표현될 수 있다. 상기 결정 트리 구조(550)는 루트 노드(root node), 중간 노드(intermediate node), 리프 노드(leaf node)를 포함할 수 있으며, 노드와 노드 사이를 연결하는 브랜치(branch)를 포함할 수 있다.
본 발명에 따른 QoS 등급 분류기(결정 트리, 550)의 리프 노드는 QoS 라벨, 루트 노드와 중간 노드는 QoS 특징 속성일 수 있다. QoS 특징 데이터(530)는 결정 트리를 쉽게 구성하기 위해 정규화(normalization)될 수 있으며, 예를 들어 device 1의 'response'(1575 milliseconds)는 정규화된 'response' 속성 값(≤ 5 sec)으로 변환될 수 있다.
한편, QoS 분류기의 결정 트리(550)를 규칙으로 표현하면 다음과 같을 수 있다. 규칙 1은 "IF (response > 5 sec) AND certified = 'no' THEN QoS = 'Poor'", 규칙 2는 "IF (response ≤ 5 sec) AND reliability ≥ 99% AND availability ≥ 99.9% THEN QoS = 'Excellent'", 규칙 3은 "IF (response ≤ 5 sec) AND reliability < 99% AND availability ≥ 99.9% THEN QoS = 'Good'“, 규칙 4는 "IF (response ≤ 5 sec) AND reliability ≥ 99% AND availability < 99.9% THEN QoS = 'Average'"이다.
도 7에 도시된 바와 같이 본 발명에 따른 QoS 등급 분류기 생성부(220)는 생성된 QoS 등급 분류기의 정확도를 측정하기 위한 테스트를 수행할 수도 있다. 보다 구체적으로, QoS 등급 분류기의 정확도를 측정하기 위한 시험 데이터로서 QoS 특징 데이터를 수집할 수 있으며, 특히 시험 데이터로 사용되는 QoS 특징 데이터는 QoS 등급 분류기 생성을 위한 훈련 데이터로 사용된 것이 아닌 것일 수 있다. QoS 등급 분류기 생성부(220)는 시험 데이터인 QoS 특징 데이터를 QoS 등급 분류기에 입력하여 산출된 QoS 라벨 정보가 정확한지 여부를 비교, 분석함으로써 QoS 등급 분류기의 정확도를 판단할 수 있다. 가령, 시험 데이터로 사용된 QoS 특징 데이터에 대응하는 사물에 대한 사용자의 리뷰 정보로부터 산출된 QoS 등급 정보와 비교하여 QoS 등급 분류기의 정확도를 판단할 수도 있다.
도 7에 도시된 바와 같이 QoS 등급 분류기 생성부(220)는 예측된 QoS 등급 정보가 정확하면 이를 소정의 저장소에 저장하고, 정확하지 않은 것으로 판단되면 다른 QoS 특징 데이터와 QoS 등급 정보를 훈련 데이터로 입력 받아서 QoS 등급 분류기를 재생성할 수 있다.
본 발명에 의할 경우, 훈련 데이터가 많을 수록 QoS 분류기의 정확도가 높아질 수 있으며, 훈련 데이터가 새로 입력되어 QoS 등급 분류기가 재생성될 때마다 규칙을 나타내는 조건이 달라 질 수 있다.
다음으로, 본 발명의 일 실시예에 따른 사물 추천부(230)는 사용자로부터 사물 웹 서비스의 요청이 있는 경우 서비스 가능한 사물들을 검색하고 검색된 사물들 중 가장 순위가 높은 QoS 등급을 갖는 사물을 사용자에 추천하는 기능을 수행할 수 있다.
사물 추천부(230)는 검색된 사물들 중 QoS 등급 정보가 존재하지 않는 사물들이 포함된 경우, QoS 등급 분류기 생성부(220)로부터 생성된 QoS 등급 분류기를 이용하여 QoS 등급 정보가 존재하지 않는 사물들 각각에 대한 QoS 등급을 예측할 수 있다. 보다 구체적으로, QoS 등급 정보가 존재하지 않는 사물들 각각에 대한 QoS 특징 데이터를 QoS 등급 분류기에 입력함으로써 QoS 등급을 예측할 수 있다. 이 후, 사물 추천부(230)는 검색된 사물들의 QoS 등급을 비교하여 높은 순위를 갖는 사물을 사용자에게 추천할 수 있다.
구체적으로, 도 6에 도시된 바와 같이 사물 검색 결과는 사물 추천기로 입력되고 사물 추천기는 QoS 등급 정보를 갖지 않는 사물들의 QoS 특징 데이터를 여 사물 QoS 예측기로 전달할 수 있다. 사물 QoS 예측기는 QoS 분류기를 실행하여 사물들 각각의 QoS 라벨 정보를 예측하고, 이를 사물 추천기로 전달하여 추천 사물에 대한 정보를 사용자에게 제공할 수 있다.
예를 들어 도 8에 도시된 바와 같이, 사물 추천기는 사물 검색 결과에 포함된 사물 목록(deviceX, deviceY, deviceZ)의 QoS 특징 데이터를 QoS 특징 데이터 생성부(210)로부터 획득하고 이를 사물 QoS 예측기로 전달한다. 다음으로, 사물 QoS 예측기는 QoS 분류기에 QoS 특징 데이터를 입력하고 QoS 분류기로부터 획득한 사물들(deviceX, deviceY, deviceZ) 각각의 QoS 라벨 정보를 사물 추천기로 보낸다. 사물 추천기는 사물들 중 높은 QoS 등급을 갖는 사물, 즉 device X와 device Y를 추천 사물로서 선정하여 사용자에게 이에 대한 정보를 제공할 수 있다.
한편, 도 6 내지 도 8에서는 설명의 편의를 위하여 웹로그 데이터, 리소스 요청/응답 데이터, 사물 메타데이터, QoS 특징 데이터, QoS 등급 분류기 등이 각각 별도의 저장소에 저장되는 것으로 도시하였으나 이에 제한되는 것은 아니며, 하나의 저장소(가령, 본 발명에 따른 사물 웹 서비스 제공 시스템의 데이터베이스)에 함께 저장될 수도 있다.
본 발명은 기계 학습의 분류 기술을 이용하여 사물의 QoS 등급을 예측하는 분류기(규칙)를 자동으로 생성하므로, 시맨틱 웹 기술을 이용하여 사물의 QoS를 표현하고 추론하는 종래 기술에 비하여 적은 노력으로 규칙의 갱신/확장이 용이하다. 구체적으로, 시맨틱 웹 기술은 QoS 표현/측정 및 추론(예측)을 위한 시맨틱 정보를 온톨로지로 저장하여 관리하므로 온톨로지 구축에 많은 노력이 들며 온톨로지의 자동 갱신이 어렵다. 반면, 본 발명에 의할 경우, QoS 등급을 예측하는 분류기(규칙)를 자동으로 생성할 수 있으므로 규칙의 갱신이 용이하다. 특히, 본 발명은 QoS 등급 분류기의 정확도를 높이기 위해 필요한 훈련 데이터로서 사물의 QoS 특징 데이터 및 QoS 등급 정보를 사용하되, 사물 요청/응답 이력이 정확히 기록되는 웹로그 데이터를 이용하여 QoS 특징 데이터를 추출하고, 사용자 리뷰 정보로부터 QoS 등급 정보를 산출함으로써 정확도 높은 QoS 등급 분류기를 생성할 수 있으며, 훈련 데이터가 풍부해질수록 분류기의 정확도를 지속적으로 높일 수 있다.
또한, 종래 사용자 프로파일을 분석하여 유사한 특징의 사용자 그룹을 분류하고 이를 이용하여 사용자의 선호도를 예측, 추천하는 방법과 달리, 본 발명은 사용자의 프로파일을 필요로 하지 않으므로 사용자의 프라이버시를 보호하면서 적절한 사물을 추천하는 효과를 나타낼 수 있다.
다음으로, 본 발명의 일 실시예에 따른 데이터베이스(230)에는, QoS 특징 데이터, 사물에 대한 메타데이터, QoS 등급 분류기 등이 저장될 수 있다. 비록 도 2에서 데이터베이스(240)가 사물 웹 서비스 제공 시스템(200)에 포함되어 구성되는 것으로 도시되어 있지만, 본 발명을 구현하는 당업자의 필요에 따라, 데이터베이스(240)는 사물 웹 제공 시스템(200)과 별개로 구성될 수도 있다. 한편, 본 발명에서의 데이터베이스(240)는, 컴퓨터 판독 가능한 기록 매체를 포함하는 개념으로서, 협의의 데이터베이스뿐만 아니라 파일 시스템에 기반을 둔 데이터 기록 등을 포함하는 광의의 데이터베이스일 수도 있으며, 단순한 로그의 집합이라도 이를 검색하여 데이터를 추출할 수 있다면 본 발명에서의 데이터베이스(240)가 될 수 있다.
다음으로, 본 발명의 일 실시예에 따른 통신부(250)는 QoS 특징 데이터 생성부(210), QoS 등급 분류기 생성부(220), 사물 추천부(230), 데이터베이스(240)로부터의/로의 데이터 송수신이 가능하도록 하는 기능을 수행할 수 있다.
마지막으로, 본 발명의 일 실시예에 따른 제어부(260)는 QoS 특징 데이터 생성부(210), QoS 등급 분류기 생성부(220), 사물 추천부(230), 데이터베이스(240) 및 통신부(250) 간의 데이터의 흐름을 제어하는 기능을 수행할 수 있다. 즉, 본 발명에 따른 제어부(260)는 사물 웹 제공 시스템(200)의 외부로부터의/로의 데이터 흐름 또는 사물 웹 제공 시스템(200)의 각 구성요소 간의 데이터 흐름을 제어함으로써, QoS 특징 데이터 생성부(210), QoS 등급 분류기 생성부(220), 사물 추천부(230), 데이터베이스(240) 및 통신부(250)에서 각각 고유 기능을 수행하도록 제어할 수 있다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 통신망
200: 사물 웹 서비스 제공 시스템
300: 사용자 단말 장치
400: 서버
210: QoS 특징 데이터 생성부
220: QoS 등급 분류기 생성부
230: 사물 추천부
240: 데이터베이스
250: 통신부
260: 제어부

Claims (12)

  1. 사물 웹 환경에서 소정의 사물을 사용자에게 추천하기 위한 방법에 있어서,
    (a) 적어도 하나 이상의 사물에 대한 웹로그 데이터, 및 메타데이터를 획득하는 단계;
    (b) 상기 웹로그 데이터 및 상기 메타데이터로부터 상기 사물에 대한 QoS(Quality of Service) 특징 데이터를 산출하는 단계;
    (c) 상기 사물에 대한 사용자의 리뷰 정보가 획득되면, 상기 리뷰 정보로부터 상기 사물에 대한 QoS 등급 정보를 산출하는 단계; 및
    (d) 상기 사물에 대한 QoS 등급 정보 및 상기 사물에 대한 QoS 특징 데이터를 참조로 하여, 상기 사용자의 리뷰 정보가 존재하지 않는 사물의 QoS 등급을 예측하기 위한 규칙을 생성하는 단계;
    를 포함하는 방법.
  2. 제1항에 있어서,
    (e) 상기 사용자로부터 사물 웹 서비스 제공을 요청 받은 경우, 사물들의 목록을 검색하고, 상기 사물들 각각의 QoS 특징 데이터를 산출하는 단계; 및
    (f) 상기 사물들 각각의 QoS 특징 데이터를 상기 규칙에 적용하여 상기 사물들 각각에 대한 QoS 등급을 예측하고, 순위가 높은 QoS 등급을 갖는 사물을 상기 사용자에게 추천하는 단계;
    를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 QoS 특징 데이터는,
    i) 사물웹 서비스 요청에 대한 응답시간(response time)을 나타내는 속성, ii) 소정의 시간 동안 사물웹 서비스 요청에 정상 응답한 정도를 나타내는 신뢰도(reliability)를 나타내는 속성, iii) 사물 이용 가능성(availability)을 나타내는 속성, 및 iv) 사물의 인증 정보를 나타내는 속성에 대한 데이터의 집합인 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 규칙은, 상기 사물에 대한 QoS 등급 정보 및 상기 사물에 대한 QoS 특징 데이터를 훈련 데이터로 하는 기계 학습을 기초로 생성된 결정 트리인 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 결정 트리는 루트 노드, 중간 노드 및 리프 노드를 포함하며,
    상기 루트 노드 및 상기 중간 노드는 상기 QoS 특징 데이터의 속성, 상기 리프 노드는 QoS 추천 등급인 것을 특징으로 하는 방법.
  6. 제4항에 있어서,
    상기 결정 트리의 정확도를 시험하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 상기 결정 트리의 정확도를 시험하는 단계는,
    상기 훈련 데이터로 사용되지 않은 QoS 특징 데이터 및 QoS 등급 정보를 시험 데이터로서 수집하고,
    상기 QoS 특징 데이터를 상기 결정 트리에 적용하여 획득된 QoS 등급 정보와 상기 시험데이터로서 수집된 QoS 등급 정보가 동일한지 여부를 비교함으로써 수행되는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 결정 트리가 정확하지 않은 것으로 판단되는 경우, 상기 결정 트리를 형성하는 규칙을 갱신하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 QoS 등급은, 상기 사물에 대하여 복수의 사용자로부터 획득한 리뷰 정보에 대한 평균 값인 것을 특징으로 하는 방법.
  10. 사물 웹 환경에서 소정의 사물을 사용자에게 추천하기 위한 시스템에 있어서,
    적어도 하나 이상의 사물에 대한 웹로그 데이터, 및 메타데이터를 획득하고, 상기 웹로그 데이터 및 상기 메타데이터로부터 상기 사물에 대한 QoS 특징 데이터를 산출하는 QoS 특징 데이터 생성부;
    상기 사물에 대한 사용자의 리뷰 정보를 획득하여 상기 리뷰 정보로부터 상기 사물에 대한 QoS 등급 정보를 산출하고, 상기 사물에 대한 QoS 등급 정보 및 상기 사물에 대한 QoS 특징 데이터를 참조로 하여, 상기 사용자의 리뷰 정보가 존재하지 않는 사물의 QoS 등급을 예측하기 위한 QoS 등급 분류기를 생성하는 QoS 등급 분류기 생성부; 및
    상기 사용자로부터 사물 웹 서비스 제공 요청 신호를 획득하면, 사물들의 목록을 검색하여 상기 검색된 사물들 각각의 QoS 특징 데이터를 산출하고, 상기 검색된 사물들 각각의 QoS 특징 데이터를 상기 QoS 등급 분류기에 입력하여 상기 검색된 사물들 각각에 대한 QoS 등급을 예측하며, 순위가 높은 QoS 등급을 갖는 사물을 상기 사용자에게 추천하는 사물 추천부;
    를 포함하는 시스템.
  11. 제10항에 있어서,
    상기 웹로그 데이터는, 사물 웹 서비스를 요청한 IP 주소, 상기 사물 웹 서비스를 요청한 사용자 이름, HTTP 요청 메소드 명, 요청 리소스의 URI, 상기 사물 웹 서비스에 대한 요청 및 응답이 수행되는 동안 전송된 데이터 량 및 상기 사물 웹 서비스 요청에 대한 응답 시간에 대한 속성 중 적어도 하나 이상에 대한 데이터의 집합인 것을 특징으로 하는 시스템.
  12. 제11항에 있어서,
    상기 QoS 특징 데이터 생성부는,
    MapReduce 함수를 이용하여 상기 웹로그 데이터로부터 리소스 응답 및 요청 데이터를 획득하며, 상기 리소스 응답 및 요청 데이터로부터 상기 QoS 특징 데이터를 산출하는 것을 특징으로 하는 시스템.
KR1020150038950A 2015-03-20 2015-03-20 사물 웹 환경에서 서비스 품질에 기초하여 사물을 추천하기 위한 방법 및 시스템 KR20160112724A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150038950A KR20160112724A (ko) 2015-03-20 2015-03-20 사물 웹 환경에서 서비스 품질에 기초하여 사물을 추천하기 위한 방법 및 시스템
US14/936,992 US20160277532A1 (en) 2015-03-20 2015-11-10 Method and system for selecting things based on quality of service in web of things

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150038950A KR20160112724A (ko) 2015-03-20 2015-03-20 사물 웹 환경에서 서비스 품질에 기초하여 사물을 추천하기 위한 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20160112724A true KR20160112724A (ko) 2016-09-28

Family

ID=56925384

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150038950A KR20160112724A (ko) 2015-03-20 2015-03-20 사물 웹 환경에서 서비스 품질에 기초하여 사물을 추천하기 위한 방법 및 시스템

Country Status (2)

Country Link
US (1) US20160277532A1 (ko)
KR (1) KR20160112724A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368190A (zh) * 2020-02-28 2020-07-03 北京百度网讯科技有限公司 信息推荐方法及装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9773210B2 (en) * 2013-11-08 2017-09-26 Electronics And Telecommunications Research Institute System and method for providing information
EP3391593A4 (en) * 2015-12-20 2019-09-11 INTEL Corporation DECLARATIVE MACHINE-TO-MACHINE APPLICATION PROGRAMMING
AU2017301617B2 (en) * 2016-07-25 2021-11-18 Ajay JADHAV Cloud Device system
US10725979B2 (en) 2017-03-24 2020-07-28 Microsoft Technology Licensing, Llc Measuring usage of computing resources by storing usage events in a distributed file system
US10860545B2 (en) * 2017-03-24 2020-12-08 Microsoft Technology Licensing, Llc Measuring usage of computing resources
CN107480250B (zh) * 2017-08-11 2018-09-21 安徽大学 一种基于Spark平台Web服务个性化推荐方法及系统
CN107733863B (zh) * 2017-09-07 2019-12-24 济南双瑞软件有限公司 一种分布式hadoop环境下的日志调试方法和装置
US10360087B2 (en) * 2017-10-27 2019-07-23 International Business Machines Corporation Web API recommendations based on usage in cloud-provided runtimes
CN113472590B (zh) * 2021-07-14 2022-10-25 南京邮电大学 一种DDS中基于机器学习的QoS配置方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6335927B1 (en) * 1996-11-18 2002-01-01 Mci Communications Corporation System and method for providing requested quality of service in a hybrid network
US6731625B1 (en) * 1997-02-10 2004-05-04 Mci Communications Corporation System, method and article of manufacture for a call back architecture in a hybrid network with support for internet telephony
US7130807B1 (en) * 1999-11-22 2006-10-31 Accenture Llp Technology sharing during demand and supply planning in a network-based supply chain environment
US8271336B2 (en) * 1999-11-22 2012-09-18 Accenture Global Services Gmbh Increased visibility during order management in a network-based supply chain environment
US20140244997A1 (en) * 2013-02-25 2014-08-28 Qualcomm Incorporated Emergency mode for iot devices
WO2015103338A1 (en) * 2013-12-31 2015-07-09 Lookout, Inc. Cloud-based network security
US9563771B2 (en) * 2014-01-22 2017-02-07 Object Security LTD Automated and adaptive model-driven security system and method for operating the same
EP3278213A4 (en) * 2015-06-05 2019-01-30 C3 IoT, Inc. SYSTEMS, METHODS AND DEVICES FOR AN APPLICATION DEVELOPMENT PLATFORM OF AN INTERNET OF THE THINGS OF A COMPANY
US9659479B2 (en) * 2015-08-26 2017-05-23 International Business Machines Corporation System and method to indicate lack of usage for personal items
US9692784B1 (en) * 2016-10-25 2017-06-27 Fortress Cyber Security, LLC Security appliance

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368190A (zh) * 2020-02-28 2020-07-03 北京百度网讯科技有限公司 信息推荐方法及装置
CN111368190B (zh) * 2020-02-28 2023-08-15 北京百度网讯科技有限公司 信息推荐方法及装置

Also Published As

Publication number Publication date
US20160277532A1 (en) 2016-09-22

Similar Documents

Publication Publication Date Title
KR20160112724A (ko) 사물 웹 환경에서 서비스 품질에 기초하여 사물을 추천하기 위한 방법 및 시스템
US7908234B2 (en) Systems and methods of predicting resource usefulness using universal resource locators including counting the number of times URL features occur in training data
US20170109657A1 (en) Machine Learning-Based Model for Identifying Executions of a Business Process
US11143532B2 (en) Adaptive calibration of sensors through cognitive learning
US20170109668A1 (en) Model for Linking Between Nonconsecutively Performed Steps in a Business Process
US20170109667A1 (en) Automaton-Based Identification of Executions of a Business Process
EP1909196B1 (en) Discovery of services matching a service request
US20170109636A1 (en) Crowd-Based Model for Identifying Executions of a Business Process
US11283690B1 (en) Systems and methods for multi-tier network adaptation and resource orchestration
CN110909182A (zh) 多媒体资源搜索方法、装置、计算机设备及存储介质
KR101542235B1 (ko) 실시간 데이터 마이닝 방법
US20170109639A1 (en) General Model for Linking Between Nonconsecutively Performed Steps in Business Processes
US20170109638A1 (en) Ensemble-Based Identification of Executions of a Business Process
US11579860B2 (en) Model driven state machine transitions to configure an installation of a software program
Kang et al. Web service selection algorithm based on principal component analysis
KR101450453B1 (ko) 컨텐츠 추천 방법 및 장치
US20170109640A1 (en) Generation of Candidate Sequences Using Crowd-Based Seeds of Commonly-Performed Steps of a Business Process
Hu et al. WSRank: a method for web service ranking in cloud environment
Paramasivam et al. Cor-ENTC: correlation with ensembled approach for network traffic classification using SDN technology for future networks
CN114490923A (zh) 相似文本匹配模型的训练方法、装置、设备及存储介质
US20170109670A1 (en) Crowd-Based Patterns for Identifying Executions of Business Processes
CN113656927B (zh) 数据处理方法、相关设备及计算机存储介质
CN114091610A (zh) 智能决策方法及装置
CN115907056A (zh) 预测模型训练方法、信息预测方法及相应装置
Jalali et al. A recommender system approach for classifying user navigation patterns using longest common subsequence algorithm