KR101173378B1 - 클라이언트 하이퍼바이저 기반의 단말장치 및 이를 이용한 광고 서비스 제공 방법 - Google Patents

클라이언트 하이퍼바이저 기반의 단말장치 및 이를 이용한 광고 서비스 제공 방법 Download PDF

Info

Publication number
KR101173378B1
KR101173378B1 KR1020100090908A KR20100090908A KR101173378B1 KR 101173378 B1 KR101173378 B1 KR 101173378B1 KR 1020100090908 A KR1020100090908 A KR 1020100090908A KR 20100090908 A KR20100090908 A KR 20100090908A KR 101173378 B1 KR101173378 B1 KR 101173378B1
Authority
KR
South Korea
Prior art keywords
service
view
user
unit
module
Prior art date
Application number
KR1020100090908A
Other languages
English (en)
Other versions
KR20120029071A (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 KR1020100090908A priority Critical patent/KR101173378B1/ko
Publication of KR20120029071A publication Critical patent/KR20120029071A/ko
Application granted granted Critical
Publication of KR101173378B1 publication Critical patent/KR101173378B1/ko

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Abstract

클라이언트 하이퍼바이저 기반의 단말장치 및 그의 서비스 제공 방법이 개시된다. 본 발명의 일 실시예에 따르면, 클라이언트 하이퍼바이저부, 상기 클라이언트 하이퍼바이저부 상에서 동작하며, 서비스 요청이 입력되면, 상기 입력된 서비스 요청에 대응하는 서비스 컨텐츠를 제공하기 위한 서비스 뷰(view)를 생성하는 서비스 모듈, 및 상기 클라이언트 하이퍼바이저부 상에서 동작하며, 상기 서비스 모듈로부터 상기 생성된 서비스 뷰를 전송받아 상기 서비스 뷰를 실행하는 사용자 모듈을 포함하는 클라이언트 하이퍼바이저 기반의 단말장치가 제공된다. 이에 의해, 사용자 가상머신을 사용하는 중에도 서비스를 제공받을 수 있다.

Description

클라이언트 하이퍼바이저 기반의 단말장치 및 이를 이용한 광고 서비스 제공 방법{Terminal device based on client hypervisor and method for providing advertisement service using the same}
본 발명은 클라이언트 하이퍼바이저 기반의 단말장치 및 이를 이용한 광고 서비스 제공 방법에 관한 것으로, 보다 상세하게는 사용자용 가상머신을 포함하는 사용자 모듈을 사용하는 중에 서비스를 제공받을 수 있는 클라이언트 하이퍼바이저 기반의 단말장치 및 이를 이용한 광고 서비스 제공 방법에 관한 것이다.
가상화 기술은 하나의 컴퓨터에서 복수의 운영체제(Operating system : OS)를 동작시킬 수 있는 기술이다. 가상화 기술이 발전함에 따라, 서버에서 사용되던 하이퍼바이저 기술을 클라이언트에 도입한 클라이언트 하이퍼바이저 기술을 이용하여 하나의 물리적 단말기에서 복수의 논리적 가상머신(Virtual machine)을 중앙 서버로부터 다운로드받아 사용할 수 있는 가상 데스크탑 모델이 주목받고 있다. 가상 데스크탑 모델은 언제 어디서든 가상머신을 사용할 수 있도록 하는 것이다.
가상머신의 적용 범위가 확대됨에 따라, 일반 사용자들의 개인용 컴퓨터, 노트북, 또는 스마트폰과 같은 모바일 기기에도 가상머신이 적용되고 있는 추세이다. 더욱이, 사용자 환경의 단말기기들에 멀티프로세서가 채용되고, 하드웨어의 사양이 높아짐에 따라, 사용자 환경의 단말기기들에 설치되는 가상머신의 효율적인 관리 방안이 요구된다.
본 발명은 클라이언트 하이퍼바이저 상에 사용자 모듈 및 서비스 모듈이 각각 설치된 단말장치에서 사용자 모듈이 동작하고 있는 상태에서 서비스 모듈을 통해 서비스를 제공받을 수 있는 클라이언트 하이퍼바이저 기반의 단말장치 및 그의 서비스 제공 방법을 제공함을 목적으로 한다.
본 발명의 일 실시예에 따르면, 클라이언트 하이퍼바이저부, 상기 클라이언트 하이퍼바이저부 상에서 동작하며, 서비스 요청이 입력되면, 상기 입력된 서비스 요청에 대응하는 서비스 컨텐츠를 제공하기 위한 서비스 뷰(view)를 생성하는 서비스 모듈, 및 상기 클라이언트 하이퍼바이저부 상에서 동작하며, 상기 서비스 모듈로부터 상기 생성된 서비스 뷰를 전송받아 상기 서비스 뷰를 실행하는 사용자 모듈을 포함하는 클라이언트 하이퍼바이저 기반의 단말장치가 제공된다.
상기 서비스 모듈은, 상기 클라이언트 하이퍼바이저부 상에서 동작하는 서비스 가상머신, 상기 서비스 가상머신 상에서 동작하는 서비스 운영체제부, 상기 서비스 운영체제부 상에서 동작하고, 상기 서비스 요청에 대응하는 서비스 컨텐츠를 선택하는 서비스 컨트롤부, 및 상기 서비스 운영체제부 상에서 동작하고, 상기 선택된 서비스 컨텐츠를 제공하기 위한 서비스 뷰를 생성하며, 상기 생성된 서비스 뷰를 상기 사용자 모듈로 전송하는 뷰 생성부를 포함할 수 있다.
상기 서비스 요청은, 상기 서비스 컨트롤부에서 발생할 수 있다.
상기 서비스 컨트롤부는, 기설정된 서비스 스케쥴에 따라 서비스 제공 시간에 도달하였음이 판단되면, 상기 기설정된 서비스 스케쥴에 따라 상기 서비스 제공 시간에 대응하는 서비스 컨텐츠를 선택하여 상기 뷰 생성부로 상기 서비스 요청을 할 수 있다.
상기 사용자 모듈은, 상기 클라이언트 하이퍼바이저부 상에서 동작하는 사용자 가상머신, 상기 사용자 가상머신 상에서 동작하는 사용자 운영체제부, 상기 사용자 운영체제부 상에서 동작하는 사용자 어플리케이션부, 및 상기 사용자 운영체제부 상에서 동작하고, 상기 서비스 모듈로부터 전송된 상기 서비스 뷰를 실행하는 뷰 실행부를 포함할 수 있다.
상기 뷰 실행부는, 외부로부터 상기 서비스 요청을 입력받고, 상기 서비스 모듈로 상기 입력된 서비스 요청을 전송할 수 있다.
상기 뷰 실행부는, 기설정된 서비스 스케쥴에 따라 서비스 제공 시간에 도달하였음이 판단되면, 상기 서비스 모듈로 상기 서비스 요청을 전송할 수 있다.
상기 뷰 실행부는, 상기 사용자 운영체제부 및 상기 사용자 가상머신을 통해 상기 클라이언트 하이퍼바이저부로 상기 실행된 서비스 뷰의 디스플레이를 요청할 수 있다.
상기 뷰 실행부는, 상기 사용자 운영체제부 및 상기 사용자 어플리케이션부 중 적어도 하나에서 제공하는 화면 위에 상기 실행된 서비스 뷰가 오버랩되어 디스플레이되도록 할 수 있다.
상기 뷰 실행부는, 상기 클라이언트 하이퍼바이저부로 상기 사용자 운영체제부 및 상기 사용자 어플리케이션부에서 제공하는 화면의 블라인드 처리를 요청할 수 있다.
상기 뷰 실행부는, 상기 서비스 모듈이 수행 가능한 소정 동작에 대한 요청을 입력받을 수 있는 형태로 상기 서비스 뷰를 실행하고, 상기 실행된 서비스 뷰를 통해 상기 서비스 모듈이 수행 가능한 소정 동작에 대한 요청이 입력되면, 상기 입력된 요청을 상기 서비스 모듈로 전송할 수 있다.
한편, 본 발명의 다른 실시예에 따르면, 서비스 요청이 입력되면, 서비스 모듈에서 상기 입력된 서비스 요청에 대응하는 서비스 컨텐츠를 제공하기 위한 서비스 뷰(view)를 생성하는 단계, 및 사용자 모듈에서 상기 생성된 서비스 뷰를 실행하는 단계를 포함하는 서비스 제공 방법이 제공된다.
상기 생성하는 단계는, 상기 서비스 요청에 대응하는 서비스 컨텐츠를 선택하는 단계, 상기 선택된 서비스 컨텐츠를 제공하기 위한 서비스 뷰를 생성하는 단계, 및 상기 서비스 모듈에서 상기 생성된 서비스 뷰를 상기 사용자 모듈로 전송하는 단계를 포함할 수 있다.
상기 서비스 요청은, 상기 서비스 모듈 및 상기 사용자 모듈 중 적어도 하나에서 기설정된 서비스 스케쥴에 따라 서비스 제공 시간에 도달하였음을 판단하는 동작에 대응할 수 있다.
상기 서비스 요청은 외부로부터 입력될 수 있다.
상기 사용자 모듈에서 상기 클라이언트 하이퍼바이저부로 상기 실행된 서비스 뷰의 디스플레이를 요청하는 단계를 더 포함할 수 있다.
상기 디스플레이를 요청하는 단계는, 상기 사용자 모듈에서 제공하는 화면 위에 상기 실행된 서비스 뷰가 오버랩되어 디스플레이되도록 할 수 있다.
상기 디스플레이를 요청하는 단계는, 상기 클라이언트 하이퍼바이저부로 상기 사용자 모듈에서 제공하는 화면의 블라인드 처리를 요청할 수 있다.
상기 서비스 뷰를 실행하는 단계는, 상기 서비스 모듈이 수행 가능한 소정 동작에 대한 요청을 입력받을 수 있는 형태로 상기 서비스 뷰를 실행할 수 있다.
상기 사용자 모듈에서 상기 실행된 서비스 뷰를 통해 상기 서비스 모듈이 수행 가능한 소정 동작에 대한 요청을 입력받는 단계, 및 상기 사용자 모듈에서 상기 서비스 모듈로 상기 입력된 요청을 전송하는 단계를 더 포함할 수 있다.
본 발명의 실시예에 따른 클라이언트 하이퍼바이저 기반의 단말장치 및 그의 서비스 제공 방법은, 사용자가 자신의 단말장치에 설치된 사용자 가상머신을 사용하면서 광고와 같은 서비스를 제공받을 수 있다. 이에 의해, 사용자가 원하는 작업을 수행하는 중에 서비스를 제공받음으로써, 사용자 가상머신에 대한 사용시간을 확보할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 서비스 제공 시스템의 네트워크 구성도,
도 2는 본 발명의 일 실시예에 따른 클라이언트 하이퍼바이저 기반의 단말장치의 블럭도,
도 3은 서비스 뷰 화면이 디스플레이된 상태의 일 예를 나타낸 도면,
도 4는 서비스 뷰 화면이 디스플레이된 상태의 다른 예를 나타낸 도면,
도 5는 본 발명의 일 실시예에 따른 서비스 제공 방법을 설명하기 위한 흐름도,
도 6은 본 발명의 다른 실시예에 따른 서비스 제공 방법을 설명하기 위한 흐름도, 그리고,
도 7은 본 발명의 또 다른 실시예에 따른 서비스 제공 방법을 설명하기 위한 흐름도이다.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다. 본 명세서에서, 어떤 구성요소가 다른 구성요소 상에 있다고 언급되는 경우에 그것은 다른 구성요소 상에 직접 형성될 수 있거나 또는 그들 사이에 제 3의 구성요소가 개재될 수도 있다는 것을 의미한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다. 아래의 특정 실시예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.
도 1은 본 발명의 일 실시예에 따른 서비스 제공 시스템의 네트워크 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 서비스 제공 시스템은 네트워크를 통해 연결되는 서비스 서버(100), 서비스 관리서버(200), 및 적어도 하나의 단말장치(300, 400)를 포함할 수 있다.
서비스 서버(100)는 서비스를 제공하는 주체에 해당하는 서버로, 서비스 제공을 위한 서비스 정책을 관리하고, 이 서비스 정책에 따라 서비스 관리서버(200)로 서비스 제공에 관한 전반적인 사항을 위임한다. 만약, 서비스 서버(100)에서 제공하고자 하는 서비스가 광고인 경우, 서비스 서버(100)는 광고 컨텐츠와 광고 정책을 서비스 관리서버(200)로 전송하여 광고를 위임한다. 즉, 서비스 서버(100)는 자신의 상품을 홍보하고자 하는 기업의 서버일 수 있다.
본 발명의 일 실시예에 따른 서비스 서버(100)는 서비스 관리부(110)및 웹페이지 제공부(120)를 포함할 수 있다.
서비스 관리부(110)는 단말장치(300, 400)로 제공하고자 하는 서비스를 서비스 관리서버(200)로 위임할 수 있고, 서비스 정책 및 서비스 컨텐츠를 서비스 관리서버(200)로 전송할 수 있다.
웹페이지 제공부(120)는 서비스 서버(100)에서 제공하는 서비스를 위한 웹페이지(Webpage)를 제공한다. 웹페이지 제공부(120)에서 제공하는 웹페이지는 서비스 서버(100) 관리자와의 인터페이스를 위한 웹페이지, 및 서비스 관리서버(200) 관리자와의 인터페이스를 위한 웹페이지를 포함할 수 있다.
서비스 관리서버(200)는 서비스 서버(100)와 단말장치(300, 400) 간의 중간 매개체 역할을 하는 서버에 해당한다. 본 실시예에서는, 두개의 단말장치(300, 400)와 서비스 서버(100)가 네트워크를 통해 서비스 관리서버(200)에 연결되어 있는 상태를 도시하였으나, 이는 설명의 편의를 위한 것일 뿐, 이에 한정되지 않음은 자명하다. 즉, 서비스 관리서버(200)는 하나 혹은 그 이상의 서비스 서버(100)와 연결될 수 있다. 또한, 서비스 관리서버(200)는 복수의 서비스 서버(100)로부터 제공받는 서비스 컨텐츠를 여러 사용자에게 배포하여야 하므로, 복수의 단말장치(300, 400)와 연결될 수 있다.
본 발명의 일 실시예에 따른 서비스 관리서버(200)는 클라이언트 하이퍼바이저 관리부(210), 서비스 할당부(220), 서비스 추적부(230), 및 서비스 컨텐츠 데이터베이스(Database : DB)(240)를 포함할 수 있다.
클라이언트 하이퍼바이저 관리부(210)는 단말장치(300, 400)의 클라이언트 하이퍼바이저부를 관리할 수 있다. 여기서, 클라이언트 하이퍼바이저부의 관리라 함은, 클라이언트 하이퍼바이저부가 저장하는 정보를 갱신, 삭제, 및/또는 추가하거나 클라이언트 하이퍼바이저부를 제어하는 것을 포함할 수 있다. 서비스 할당부(220)는 서비스 서버(100)로부터 관리를 위임받은 서비스에 대한 서비스 정책에 따라 서비스 스케쥴을 설정한다. 만약, 서비스가 광고일 경우, 서비스 할당부(220)는 해당 광고 컨텐츠가 재생되어야 하는 시간, 사용자가 광고를 시청해야 하는 시간을 설정하는 것과 같은 광고 스케쥴을 설정할 수 있다.
서비스 할당부(220)는 단말장치(300, 400)와 네트워크(200)를 통한 통신을 통해 서비스 스케쥴을 단말장치(100)로 전송할 수 있다. 즉, 서비스 할당부(220)는 서비스 서버(100)의 서비스 정책 변화에 능동적으로 대처하여 서비스 스케쥴을 설정하고, 이를 주기적 혹은 비주기적으로 단말장치(300, 400)로 전송함으로써, 서비스 서버(100)의 서비스 정책이 단말장치(300, 400)의 서비스 모듈에 반영되도록 한다.
서비스 추적부(230)는, 단말장치(300, 400)로부터 서비스 컨텐츠가 재생된 결과를 기록한 로그를 네트워크를 통해 가져오고, 그 로그를 참조하여 서비스 결과를 추적할 수 있다. 서비스 할당부(220) 및 서비스 추적부(230)는 네트워크를 통해 단말장치(300, 400)와 직접 통신이 가능할 수 있다. 서비스 추적부(230)의 서비스 결과에 대한 추적 결과는 사용자의 단말장치(300, 400)에 대한 사용 기간, 혹은 단말장치(300, 400)에 설치된 사용자 가상 머신, 사용자 어플리케이션부와 같은 어플리케이션의 사용 기간을 연장하는데 사용될 수 있다.
본 발명의 일 실시예에 따르면, 사용자는 단말장치(300, 400) 혹은 소정 어플리케이션을 정해진 금액을 지불하고 구입하여 사용할 수 있다. 본 실시예에서는, 이와 같은 경우를 서비스 제공 시스템과 연계할 수 있다. 즉, 사용자가 단말장치(300, 400)를 통해 서비스를 제공받으면, 그 제공 결과를 단말장치(300, 400) 혹은 소정 어플리케이션의 비용으로 환산하여 대체할 수 있다. 이 경우, 사용자 입장에서는 비용 절감의 효과를 기대할 수 있고, 서비스 제공자 입장에서는 홍보 효과를 기대할 수 있다.
서비스 컨텐츠 DB(240)는 서비스 컨텐츠를 저장하는 데이터베이스로, 여러 서비스 서버(100)로부터 관리를 위임받은 서비스에 대한 서비스 컨텐츠를 저장할 수 있다. 서비스 컨텐츠 DB(240)에는 서비스 서버(100) 별로 하나 혹은 그 이상의 서비스 컨텐츠가 저장될 수 있다. 또한, 서비스 컨텐츠 DB(240)는 서비스 서버(100)의 서비스 정책을 저장할 수도 있다. 이를 기반으로, 서비스 할당부(220)에서 서비스 스케쥴을 설정할 수 있다.
단말장치(300, 400)는 클라이언트 하이퍼바이저를 기반으로 동작하는 장치로, 서비스 관리서버(200) 혹은 서비스 서버(100)에서 제공하는 서비스를 이용하는 사용자 측의 장치에 해당한다.
일반적으로, 하이퍼바이저는 서버에서 다수의 운영체제(Operating System : OS)를 동시에 실행하기 위한 가상 플랫폼으로, 가상 머신 모니터(virtual machine monitor)라고 하기도 한다. 이러한 하이퍼바이저의 개념을 서버가 아닌 단말장치에 적용한 것이 클라이언트 하이퍼바이저이다. 이러한 클라이언트 하이퍼바이저를 기반으로 동작하는 단말장치(300)는 하이퍼바이저가 메인 OS의 역할을 하고, 그 클라이언트 하이퍼바이저 상에서 가상 머신들이 게스트(guest) OS로 동작하는 형태일 수 있다.
본 실시예에서는 설명을 돕기 위하여 네트워크 상에 두 개의 단말장치(300, 400)를 도시하였다. 도시한 바와 같이, 각 단말장치(300, 400)는 통상의 컴퓨터일 수 있고, 혹은 모바일 장치일 수 있다. 즉, 단말장치(300, 400)는 클라이언트 하이퍼바이저가 설치될 수 있는 것이라면, 컴퓨터, 노트북, 휴대폰, 및 스마트폰과 같은 다양한 기기 중 어느 것이라도 적용 가능하다. 단말장치(300, 400)에 관하여는 후술하는 도 2에서 보다 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 클라이언트 하이퍼바이저 기반의 단말장치의 블럭도이다.
본 실시예에서는 도 1에 도시한 단말장치(300, 400)의 구체적인 구성에 대하여 설명한다. 다만, 설명의 편의상 단말장치(300)를 예로 들어 설명한다. 하지만, 단말장치(400)도 동일한 구성을 포함할 수 있다.
도시한 바와 같이, 단말장치(300)는 하드웨어부(310), 클라이언트 하이퍼바이저부(320), 서비스 모듈(330), 및 사용자 모듈(340)을 포함할 수 있다.
하드웨어부(310)는 클라이언트 하이퍼바이저부(320)에 의해복수의 가상머신들(331, 341)에게 제공된다.. 하드웨어부(310)는 CPU(Central Processing Unit), HDD(Hard Disk Drive), 그래픽 카드, ROM(Read Only Memory), RAM(Random Access Memory), 입출력 디바이스, 배터리, 또는 그 외 다수의 디바이스가 구비될 수 있다. 여기서, 입출력 디바이스는 단말장치(300)에 정보를 입력 및 출력하는 기능을 수행하는 것으로, 모니터, 키보드, 네트워크 인터페이스 카드, 외장형 스토리지 등을 포함할 수 있다.
본 실시예에서의 하드웨어부(310)는 저장부(311)를 포함할 수 있다. 본원 명세서에서 저장부(311)는 단말장치(300)가 가지는 데이터를 저장할 수 있는 임의의 모든 저장 수단을 통칭하는 의미로 사용한다. 예를 들면, 단말장치(300)는 플래쉬 메모리, 램, 하드 디스크, 레지스터 등과 같이 데이터를 일시적 또는 영구적으로 저장하는 수단을 복수 개 포함할 수 있는데, 그러한 저장 수단들을 통칭하여 본원 명세서에는 저장부(311)라 한다. 다만, 특별히 그러한 저장 수단들을 구별할 필요가 있는 경우에는 그러하지 아니하다.
본 발명의 일 실시예에 따르면, 저장부(311)는 사용자 모듈(340) 및/또는 서비스 모듈(344)에 할당된 가상 디스크일 수 있다. 예를 들어 저장부(311)는 사용자 모듈(340)에 전용으로 할당된 가상 디스크 및/또는 서비스 모듈(344)에 전용으로 할당된 가상 디스크를 포함할 수 있다.
저장부(311)는 서비스 관리서버(200) 혹은 서비스 서버(100)로부터 제공받은 서비스 컨텐츠를 저장할 수 있다. 또한, 저장부(311)는 후술하는 서비스 컨트롤부(335) 혹은 뷰 실행부(344)에서 사용할 수 있도록 서비스 관리서버(200)로부터 제공받은 서비스 스케쥴을 저장할 수 있다.
클라이언트 하이퍼바이저부(320)는 하드웨어부(310) 상에 우선적으로 설치되는 것으로, 서비스 모듈(330) 및 사용자 모듈(340)에 자원(예를 들면, 하드웨어부)의 사용권한을 부여함으로써 이들을 동작시킬 수 있다.
클라이언트 하이퍼바이저부(320) 상에는 복수의 모듈이 설치될 수 있다. 여기서, 모듈(330, 340)은 설명의 편의를 위해서 가상머신, 운영체제, 및 어플리케이션을 통칭하는 의미로 사용된다. 본 실시예에서는 서비스 모듈(330)과 사용자 모듈(340)을 예시하였다. 클라이언트 하이퍼바이저부(320) 상에는 서비스 모듈(330) 및 사용자 모듈(340) 이외에도 더 많은 모듈이 설치될 수 있다. 예를 들면, 사용자 모듈이나 서비스 모듈이 각각 복수 개가 설치될 수 있다.
본 발명의 일 실시예에 따른 서비스 모듈(330)은 클라이언트 하이퍼바이저부(320) 상에 본 실시예에서의 서비스 제공을 목적으로 설치되는 모듈로, 서비스 가상머신(331), 서비스 운영체제부(332), 서비스 어플리케이션부(333), 로그부(334), 서비스 컨트롤부(335), 및 뷰 생성부(336)를 포함할 수 있다.
서비스 가상머신(331)은 클라이언트 하이퍼바이저부(320) 상에 설치되는 서비스 모듈(330) 중 클라이언트 하이퍼바이저부(320)상에 설치되는 것으로, 서비스 모듈(330)이 동작할 수 있는 가상 환경을 제공할 수 있다. 서비스 운영체제부(332)는 서비스 제공을 위한 전용 운영체제에 해당하는 것으로, 서비스 가상머신(331) 상에 설치되어 서비스 컨텐츠를 재생하는 서비스 어플리케이션부(333)가 동작할 수 있는 환경을 제공한다.
서비스 어플리케이션부(333)는 서비스 운영체제부(332) 상에 설치되어 서비스 컨텐츠를 재생하기 위한 전용 어플리케이션에 해당한다. 서비스 어플리케이션부(333)는 후술하는 서비스 컨트롤부(335)에 의해 선택된 서비스 컨텐츠를 재생할 수 있다.
본 실시예에서, 서비스 어플리케이션부(333)와 서비스 운영체제부(332)는 별도의 기능블럭으로 구성되었으나 이는 예시적인 것으로서, 다르게는 서비스 어플리케이션부(333)가 운영체제부(332)에 합체되어 구성되는 것도 가능하다. 또한, 로그부(334)나 서비스 컨트롤부(335)도 서비스 운영체제부(332)에 합체되어 구성되는 것도 가능하다.
로그부(334)는 서비스 어플리케이션부(333)에 의해 재생된 서비스 컨텐츠의 재생 관련 정보를 로그로 기록한다. 재생 관련 정보는 서비스 컨텐츠가 재생된 횟수, 재생 시간, 및/또는 재생된 컨텐츠의 제목등을 포함할 수 있다. 본 발명의 일 실시예에 따른 로그부(334)는 서비스 관리서버(200)와 직접 통신이 가능할 수 있으며, 이 경우 로그부(334)는 기 기록된 로그를 서비스 관리서버(200)로 제공할 수 있다.
서비스 컨트롤부(335)는 사용자 운영체제부(342) 상에 서비스 어플리케이션부(333)와 동일 레벨 상에 설치될 수 있다. 서비스 컨트롤부(335)는 서비스 관리서버(200)로부터 제공받은 서비스 스케쥴에 따라 서비스 요청에 대응하는 서비스 컨텐츠를 선택할 수 있다.
서비스 요청은 i)서비스 컨트롤부(335)에서 발생하는 경우, ii)사용자 모듈(340)에서 발생하는 경우, iii)외부의 사용자로부터 입력받는 경우가 있을 수 있다. 여기서, i)서비스 요청이 서비스 컨트롤부(335)에서 발생하는 경우, 서비스 컨트롤부(335)는 서비스 스케쥴에 따라 서비스 제공 시간을 카운팅하는 상태에서 서비스 제공 시간에 도달하였음이 판단될 경우, 스케쥴에 따라 정해지는 서비스 컨텐츠를 서비스 어플리케이션부가 재생토록 한다. 이후, 뷰 생성부(336)는 서비스 어플리케이션부(333)에 의해 재생된 서비스 컨텐츠의 뷰를 사용자 모듈(340)측으로 제공할 수 있다. ii) 및 iii)는 사용자 모듈(340)을 설명할 때 살펴보기로 한다.
본 발명의 일 실시예에 따르면, 서비스 컨트롤부(335)에서 서비스 제공 시간을 카운팅하기 위해서는 단말장치(300)의 전원이 온되어 있는 상태에서는 서비스 모듈(330)이 항상 동작하는 상태를 유지하여야 한다. 이를 위해서 서비스 가상머신(331)은 적어도 서비스 컨트롤부(335)가 동작할 수 있을 정도로 최소한의 자원의 사용권한을 부여받을 수 있다.
본 발명의 일 실시예에 따르면, 서비스 컨트롤부(335)에서 서비스 제공 시간을 카운팅하는 방법은 사용자 모듈(340)의 사용시간을 카운팅하는 것에 의해 수행될 수 있다. 일 예를 들면, 사용자 모듈(340)은 일정 비용을 지불하여야만 사용할 수 있는 소프트웨어일 수 있으나 반드시 유료일 필요는 없다. 이 경우, 서비스 컨트롤부(335)에서는 사용자 모듈(340)의 사용시간을 카운팅하고, 사용자 모듈(340)의 사용시간이 기설정된 사용한계시간이 되면 서비스 제공 시간에 도달한 것으로 판단할 수 있다.
본 발명의 일 실시예에 따른 뷰 생성부(336)는 서비스 운영체제부 상에서 서비스 어플리케이션부(333), 로그부(334), 및 서비스 컨트롤부(335)와 동일 레벨 상에 설치될 수 있다. 본 발명의 일 실시예에 따른 뷰 생성부(336)는 서비스 컨트롤부(335)에 의해 선택된 서비스 컨텐츠를 제공하기 위한 서비스 뷰를 생성할 수 있다. 여기서, 서비스 뷰는 서비스를 제공하기 위한 서비스 컨텐츠가 실행되는 화면일 수 있으며, 하나 이상의 스틸 이미지, 동영상 또는 웹페이지일 수 있다.
예를 들면, 뷰 생성부(336)는 서비스 어플리케이션부(333)에 의해 실행된 서비스 화면에 대한 뷰를 생성할 수 있다.
한편, 본 실시예에서, 뷰 생성부(336)는 서비스 어플리케이션부(333)에 의해 실행되는 서비스 화면에 대한 뷰를 생성하는 것으로 설명하였지만 이와 다르게 구성하는 것도 가능하다. 예를 들면, 서비스 어플리케이션부(333) 없이, 뷰 생성부(336)가 서비스 컨트롤부(335)의 제어에 의해 선택된 컨텐츠를 실행하면서 뷰를 생성할 수 있다. 즉, 뷰 생성부(336)는 컨텐츠를 직접 실행하면서 서비스 뷰를 생성할 수 있다. 이하에서는, 뷰 생성부(336)가 서비스 화면에 대한 뷰를 생성한다고 함은, 서비스 어플리케이션부(333)가 실행하는 서비스 화면에 대하여 뷰를 생성하는 것을 포함할 뿐만 아니라 뷰 생성부(336)가 직접 컨텐츠를 실행하여 서비스 화면에 대한 뷰를 생성하는 것까지 모두 포함하는 개념으로 사용하기로 한다.
사용자 모듈(340)은 클라이언트 하이퍼바이저부(320) 상에서 동작하며, 서비스 모듈(330)로부터 서비스 뷰를 전송받아 이를 실행한다. 본 발명의 일 실시예에 따른 사용자 모듈(340)은 사용자 가상머신(341), 사용자 운영체제부(342), 사용자 어플리케이션부(343), 및 뷰 실행부(344)를 포함할 수 있다. 본 실시예에서는 클라이언트 하이퍼바이저부(320) 상에 하나의 사용자 모듈(340)이 설치되어 있는 상태를 도시하였다. 하지만 이는 설명의 편의를 위한 것일 뿐, 클라이언트 하이퍼바이저부(320) 상에는 복수의 사용자 모듈(340)이 설치될 수 있다.
사용자 가상머신(341)은 사용자 모듈(340) 중 클라이언트 하이퍼바이저부(320) 상에 설치되며, 사용자 모듈(340)이 동작할 수 있는 가상 환경을 제공할 수 있다.사용자 운영체제부(342)는 사용자 가상머신(341) 상에 설치되어 사용자 어플리케이션부(343)가 동작할 수 있는 환경을 제공한다. 사용자 어플리케이션부(343)는 사용자 운영체제부(342) 상에 설치되며, 예를 들면 사용자의 선택에 의해 동작이 시작될 수 있다. 본 실시예에서는 사용자 운영체제부(342) 상에 하나의 사용자 어플리케이션부(343)가 설치되어 있음을 예시하였지만, 그 개수는 이에 한정되지 않고 사용자 운영체제부(342) 상에 복수의 사용자 어플리케이션부(343)가 설치될 수 있다.
본 발명의 일 실시예에 따른 뷰 실행부(344)는 사용자 운영체제부(342) 상에서 동작하고, 서비스 모듈(330)의 뷰 생성부(336)로부터 서비스 뷰가 전송되면, 이 전송된 서비스 뷰를 실행함으로써, 사용자에게 서비스를 제공할 수 있도록 한다.
본 발명의 일 실시예에 따르면, 뷰 실행부(344)는 외부로부터 서비스 요청을 입력받을 수 있다. 즉, 뷰 실행부(344)는 사용자와의 인터페이스가 가능할 수 있으며, 이에 따라 사용자로부터 서비스 요청을 입력받을 수 있다. 이 경우, 뷰 실행부(344)는 사용자로부터 서비스 요청을 입력받으면, 서비스 모듈(330)로 이 입력받은 서비스 요청을 전달한다. 이를 위해서 단말장치(300)는 사용자로부터 서비스 요청을 입력받을 수 있는 화면을 제공할 수 있다. 예를 들면, 뷰 실행부(344)는 사용자로부터 서비스 요청을 입력받을 수 있는 화면을 사용자에게 표시할 수 있다. 그러한 화면을 통해서 서비스 요청이 있는 경우, 뷰 실행부(344)는 서비스 요청을 서비스 모듈(330)로 전달할 수 있다.
본 발명의 다른 실시예에 따르면, 뷰 실행부(344)는 타이머 기능을 포함할 수 있으며, 타이머 기능에 의해 기설정된 서비스 스케쥴에 따라 서비스 제공 시간에 도달하였는지를 판단할 수 있다. 이 경우, 뷰 실행부(344)는 서비스 제공 시간에 도달한 것으로 판단되면, 서비스 모듈(330)로 서비스 요청을 전송할 수 있다.
뷰 실행부(344)의 동작을 보다 구체적으로 살펴보면, 뷰 실행부(344)는 서비스 모듈(330)로부터 서비스 뷰를 제공받으면, 제공받은 서비스 뷰를 실행하고, 사용자 운영체제부(342)로 실행한 서비스 뷰의 디스플레이를 요청할 수 있다
본 발명의 일 실시예에 따르면, 뷰 실행부(344)는 현재 디스플레이 장치(미도시)에 디스플레이 되고 있는 사용자 운영체제부(342) 및 사용자 어플리케이션부(343) 중 적어도 하나의 화면 위에 서비스 뷰가 오버랩되어 디스플레이되도록 사용자 운영체제부(342)에 디스플레이를 요청할 수 있다. 즉, 서비스 뷰가 사용자가 시청하는 디스플레이 장치의 가장 상위에서 디스플레이되도록 할 수 있다.
본 발명의 다른 실시예에 따르면, 뷰 실행부(344)는 현재 디스플레이 장치에 디스플레이되고 있는 사용자 운영체제부(342) 및 사용자 어플리케이션부(343)에서 제공하는 화면은 블라인드 처리를 요청함과 함께 그 위에 서비스 뷰가 디스플레이될 수 있도록 사용자 운영체제부(342)에 디스플레이를 요청할 수 있다.
본 발명의 또 다른 실시에에 따르면, 뷰 실행부(344)는 서비스 뷰가 디스플레이 장치에 디스플레이됨에 있어, 서비스 모듈(330)이 수행 가능한 소정 동작에 대한 요청을 입력받을 수 있는 형태로 서비스 뷰를 실행시킬 수 있다. 이 경우, 뷰 실행부(344)는 디스플레이된 서비스 뷰를 통해 서비스 모듈(330)이 수행 가능한 소정 동작에 대한 요청이 입력되면, 이 요청을 서비스 모듈(330)로 전송할 수 있다.
도 3은 서비스 뷰 화면이 디스플레이된 상태의 일 예를 나타낸 도면이다.
단말장치(300)에 전원이 온 되면, 일반적으로 사용자 모듈(340) 즉, 사용자 가상머신(341) 및 사용자 운영체제부(342)가 동작할 수 있다. 이에 의해, 디스플레이 장치에는 사용자 운영체제부(342)에서 제공하는 화면(이하, "사용자 운영체제 화면")(510)이 디스플레이된다. 사용자 운영체제 화면(510)은 예를 들면 통상의 컴퓨터에서 사용되는 바탕화면의 개념일 수 있다. 사용자가 사용자 운영체제부(342) 상에 설치된 하나의 사용자 어플리케이션부(343)의 실행을 요청하면, 사용자 운영체제 화면(510) 상에 사용자 어플리케이션에서 제공하는 화면(이하, "사용자 어플리케이션 화면")(520)이 디스플레이된다.
사용자 운영체제 화면(510)과 사용자 어플리케이션 화면(520)이 디스플레이된 상태에서, 서비스 요청이 발생하면, 디스플레이 장치에는 이전에 디스플레이된 사용자 운영체제 화면(510)과 사용자 어플리케이션 화면(520)에 서비스 뷰 화면(530)이 오버랩되어 디스플레이된다. 도시한 바와 같이, 서비스 뷰 화면(530)이 사용자가 시청할 수 있는 최우선적인 화면이 된다. 이러한 경우, 서비스 뷰 화면(530)은 서비스 컨텐츠의 재생이 완료되기 이전에는 사용자 임의로 종료시킬 수 없도록 설정될 수 있다.
도 4는 서비스 뷰 화면이 디스플레이된 상태의 다른 예를 나타낸 도면이다.
도 3에서는 서비스 뷰 화면(530)이 사용자 운영체제 화면(510)과 사용자 어플리케이션 화면(520)에 오버랩되어 표시되는 상태를 예시하였다. 반면, 본 실시예에서는 사용자 운영체제 화면(510)과 사용자 어플리케이션 화면(520)이 블라인드 처리되는 상태를 예시하였다.
도시한 바와 같이, 디스플레이 장치에는 사용자 운영체제 화면(510)이 표시된다. 이후, 서비스 요청이 발생하면, 디스플레이 장치에 서비스 뷰 화면(530)이 표시된다. 이때, 사용자 운영체제 화면(510)은 블라인드 처리되어 사용자의 육안으로 그 표시 내용을 볼 수 없는 상태가 될 수 있다.
도 4에 나타나 있지는 않으나, 사용자 운영체제 화면(510)과 서비스 뷰 화면(530)의 사이에는 사용자 어플리케이션 화면(520)이 더 존재할 수 있다. 이 경우에는 사용자 어플리케이션 화면(520)도 블라인드 처리될 수 있다.
도 4와 같이, 사용자 운영체제 화면(510) 및 사용자 어플리케이션 화면(520)이 블라인드 처리되면, 실제로는 디스플레이 장치 상에 사용자 운영체제 화면(510) 및 사용자 어플리케이션 화면(520)이 표시되어 있긴 하지만, 사용자는 디스플레이 장치에 서비스 뷰 화면(530)만이 표시된 것처럼 인식할 수 있다.
도 5는 본 발명의 일 실시예에 따른 서비스 제공 방법을 설명하기 위한 흐름도이다.
본 실시예에서는 사용자 모듈(340)에서 사용자로부터 직접 서비스 요청을 입력받는 경우에 서비스 뷰가 제공되는 절차를 설명한다. 이를 위해, 뷰 실행부(344)는 사용자로부터 서비스 요청을 받기 위한 UI(User Interface)를 제공할 수 있다.
사용자는 사용자 어플리케이션부(343)를 사용하던 중에 서비스를 이용하고자 하는 경우, 예를 들면, 사용자 모듈(340)의 사용시간을 연장하기 위하여 광고를 시청하고자 하는 경우에 뷰 실행부(344)로 서비스 요청을 입력한다(S601).
뷰 실행부(344)는 외부 즉, 사용자로부터 서비스 요청이 입력되면, 클라이언트 하이퍼바이저부(320)를 통해 뷰 생성부(336)로 서비스 요청을 전송한다(S603). 이때, 뷰 실행부(344)로부터 뷰 생성부(336)로 서비스 요청이 전송되는 과정은 서비스 모듈(330)로부터 사용자 모듈(340)로 전송되는 것이므로, 사용자 운영체제부(342) 및 사용자 가상머신(341)을 통해 클라이언트 하이퍼바이저부(320)로 전송되고, 이것이 다시 서비스 가상머신(331) 및 서비스 운영체제부(332)를 통해 뷰 생성부(336)로 전송될 수 있다.
뷰 생성부(336)는 서비스 컨트롤부(335)로 서비스 컨텐츠를 요청하고(S605), 서비스 컨트롤부(335)는 기설정된 서비스 스케쥴을 이용하여 뷰 실행부(344)로부터 요청된 서비스에 해당하는 서비스 컨텐츠를 선택한다(S607). 서비스 컨트롤부(335)에서 서비스 스케쥴을 이용하여 서비스 컨텐츠를 선택하는 것은 현재 제공하여야 할 서비스에 대응하는 서비스 컨텐츠를 선택하기 위함이다.
서비스 컨트롤부(335)는 기선택된 서비스 컨텐츠를 뷰 생성부(336)로 제공하고(S609), 뷰 생성부(336)는 서비스 컨트롤부(335)에 의해 선택된 서비스 컨텐츠를 제공하기 위한 서비스 뷰를 생성한다(S611). 본 실시예에서, 서비스 컨트롤부(335)가 서비스 컨텐츠를 선택하여 뷰 생성부(336)로 제공하는 것으로 설명하였으나, 이와 달리 서비스 컨트롤부(335)가 서비스 컨텐츠를 선택하여 서비스 어플리케이션부(333)로 제공하고 서비스 어플리케이션부(333)가 컨텐츠를 실행하면, 뷰 생성부(336)는 서비스 어플리케이션부(333)가 실행하는 컨텐츠에 대한 뷰를 생성하도록 구성하는 것도 가능함은 이미 앞에서 설명한 것과 같다. 또한, 도 6과 도 7의 실시예의 경우에도 서비스 컨트롤부(335)가 서비스 컨텐츠를 선택하여 서비스 어플리케이션부(333)로 제공하고 서비스 어플리케이션부(333)가 컨텐츠를 실행하면, 뷰 생성부(336)는 서비스 어플리케이션부(333)가 실행하는 컨텐츠에 대한 뷰를 생성하도록 구성하는 것이 가능한 것은 물론이다. 이처럼, 서비스 어플리케이션부(333)가 컨텐츠를 실행하고, 뷰 생성부(336)가 서비스 어플리케이션부(333)가 실행하는 컨텐츠에 대한 뷰를 생성하는 실시예는 별도로 언급하지 않더라도 후술하는 실시예들로부터 구현될 수 있음을 알아야 한다.
뷰 생성부(336)는 서비스 뷰를 생성한 후, 생성한 서비스 뷰를 클라이언트 하이퍼바이저부(320)를 통해 뷰 실행부(344)로 제공한다(S613). 이 경우에도 뷰 생성부(336)에서 뷰 실행부(344)로 서비스 뷰가 제공되는 과정은 서비스 모듈(330)로부터 사용자 모듈(340)로 서비스 뷰가 제공되는 것이므로, 서비스 운영체제부(332) 및 서비스 가상머신(331)을 통해 클라이언트 하이퍼바이저부(320)로 서비스 뷰가 전달되고, 이것이 다시 사용자 가상머신(341) 및 사용자 운영체제부(342)를 통해 뷰 실행부(344)로 전달되는 것이다. 이러한 절차에 대하여는 설명의 편의상 도면에는 모두 도시하지 않았다.
뷰 실행부(344)는 뷰 생성부(336)로부터 제공받은 서비스 뷰를 실행하고(S615), 사용자 운영 체제부(342)로 서비스 뷰에 대한 디스플레이를 요청한다(S617). 이때, 뷰 실행부(344)는 서비스 뷰에 대한 디스플레이 요청시, 현재 디스플레이되고 있는 사용자 운영체제 화면(510) 및 사용자 어플리케이션 화면(520)에 대하여 서비스 뷰 화면(530)의 오버랩을 요청하거나 혹은 사용자 운영체제 화면(510) 및 사용자 어플리케이션 화면(520)의 블라인드 처리를 요청할 수 있다.
이후, 뷰 실행부(344)로부터 서비스 뷰 화면(530)의 디스플레이를 요청받은 사용자 운영 체제부(342)는 디스플레이 장치를 통해서 서비스 뷰 화면(530)을 디스플레이한다.
도 6은 본 발명의 다른 실시예에 따른 서비스 제공 방법을 설명하기 위한 흐름도이다.
본 실시예에서는 사용자 모듈(340)의 뷰 실행부(344)에서 타이머 기능을 구비하고 있는 경우에 해당하는 것으로, 뷰 실행부(344)에서 서비스 제공 시간에 도달 여부를 판단할 수 있는 경우에 서비스 뷰의 제공 방법을 설명한다. 이를 위해, 뷰 실행부(344)는 클라이언트 하이퍼바이저부(320)에 의해 사용자 가상머신(341)에 자원의 사용권한이 부여되면, 항상 동작하도록 설정될 수 있다.
뷰 실행부(344)는 기설정된 서비스 스케쥴에 따라 서비스 제공 시간을 카운팅한다(S701). 이에 의해, 뷰 실행부(344)는 서비스 제공 시간에 도달하였음이 판단되면(S703-Y), 클라이언트 하이퍼바이저부(320)를 통해 뷰 생성부(336)로 서비스 요청을 전송한다(S705). 즉, 본 실시예는 서비스 요청이 뷰 실행부(344)에 의해 발생하는 경우에 해당한다.
뷰 실행부(344)로부터 서비스 요청이 입력되면, 뷰 생성부(336)는 서비스 컨트롤부(335)로 서비스 컨텐츠를 요청하고(S707), 서비스 컨트롤부(335)는 기설정된 서비스 스케쥴에 따라 해당 서비스에 대응하는 서비스 컨텐츠를 선택한다(S709). 이때, 뷰 실행부(344)에서 이용하는 서비스 스케쥴 및 서비스 컨트롤부(335)에서 이용하는 서비스 스케쥴은 서로 동일한 것일 수 있고, 혹은 각 블럭에서 사용이 용이하도록 그 형태가 변형된 것일 수도 있다.
서비스 컨트롤부(335)는 뷰 생성부(336)로 선택된 서비스 컨텐츠를 제공하고(S711), 뷰 생성부(336)는 제공받은 서비스 컨텐츠를 제공하기 위한 서비스 뷰를 생성한다(S713).
뷰 생성부(336)는 생성한 서비스 뷰를 클라이언트 하이퍼바이저부(320)를 통해 뷰 실행부(344)로 제공하고(S715), 뷰 실행부(344)는 서비스 뷰를 실행한 후(S717), 사용자 운영 체제부(342)로 서비스 뷰의 디스플레이를 요청한다(S719).
사용자 운영 체제부(342)는 뷰 실행부(344)의 요청에 따라, 디스플레이 장치를 통해서 서비스 뷰 화면(530)을 디스플레이한다.
도 7은 본 발명의 또 다른 실시예에 따른 서비스 제공 방법을 설명하기 위한 흐름도이다.
본 실시예에서는 서비스 모듈(330)의 서비스 컨트롤부(335)에서 서비스 스케쥴에 따라 서비스 제공시간의 도달 여부를 판단하는 경우에 서비스 뷰의 제공 방법을 설명한다. 즉, 본 실시예에서는 서비스 요청이 서비스 컨트롤부(335)에서 발생하는 경우에 해당한다.
서비스 컨트롤부(335)는 기설정된 서비스 스케쥴을 보유하고 있을 수 있다. 이에 의해, 서비스 컨트롤부(335)는 서비스 스케쥴에 따라 서비스 제공시간을 카운팅한다(S801). 이를 위해, 서비스 컨트롤부(335)는 단말장치(300)의 전원이 온 되면 항상 동작하도록 설정될 수 있다. 다만, 사용자가 서비스 컨트롤부(335)가 동작하고 있음을 인지하지 못하도록 백그라운드에서 동작할 수 있다.
서비스 제공시간에 도달하였음이 판단되면(S803-Y), 서비스 컨트롤부(335)는 서비스 스케쥴을 이용하여 현재 서비스 제공시간에 서비스하도록 정해져 있는 서비스 컨텐츠를 선택한다(S805).
서비스 컨트롤부(335)는 선택된 서비스 컨텐츠를 뷰 생성부(336)로 제공하고(S807), 뷰 생성부(336)는 서비스 컨트롤부(335)로부터 제공받은 서비스 컨텐츠를 제공하기 위한 서비스 뷰를 생성한다(S809).
뷰 생성부(336)는 클라이언트 하이퍼바이저부(320)를 통해 뷰 실행부(344)로 서비스 뷰를 제공한다(S811). 이 경우, 서비스 뷰는 서비스 모듈(330)로부터 사용자 모듈(340)로 전송되는 것이므로, 서비스 운영체제부(332) 및 서비스 가상머신(331)을 통해 클라이언트 하이퍼바이저부(320)로 전달된 후, 다시 사용자 가상머신(341) 및 사용자 운영체제부(342)를 통해 뷰 실행부(344)로 전달된다.
뷰 실행부(344)는 서비스 뷰를 실행하고(S813), 실행된 서비스 뷰에 대하여 사용자 운영 체제부(342)로 디스플레이를 요청한다(S815). 이에 의해, 사용자 운영 체제부(342)는 디스플레이 장치를 통해서 서비스 뷰 화면(530)을 디스플레이한다.
도 5 내지 도 7에서 도시하지는 않았으나, 디스플레이 장치에 디스플레이되는 서비스 뷰 화면(530)은 서비스 모듈(330)이 수행 가능한 소정 동작에 대한 요청을 입력받을 수 있는 형태일 수 있다. 이 경우, 사용자는 서비스 뷰 화면(530)을 통해 서비스 모듈(330)에 대한 제어가 가능할 수 있다. 이때, 서비스 뷰 화면(530)은 사용자로부터의 요청을 입력받기 용이하도록 웹페이지 형태일 수 있다.
상기와 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
300 : 단말장치 310 : 하드웨어부
320 : 클라이언트 하이퍼바이저부 330 : 서비스 모듈
331 : 서비스 가상머신 332 : 서비스 운영체제부
333 : 서비스 어플리케이션부 334 : 로그부
335 : 서비스 컨트롤부 336 : 뷰 생성부
340 : 사용자 모듈 341 : 사용자 가상머신
342 : 사용자 운영체제부 343 : 사용자 어플리케이션부
344 : 뷰 실행부

Claims (20)

  1. 클라이언트 하이퍼바이저부;
    상기 클라이언트 하이퍼바이저부 상에 설치된 서비스 가상머신 상에서 동작하는 서비스 모듈로서, 서비스 스케쥴에 따라 재생할 서비스 컨텐츠를 선택하는 서비스 컨트롤부와 재생되는 상기 서비스 컨텐츠에 대한 서비스 뷰를 생성하는 뷰 생성부를 포함하는 상기 서비스 모듈; 및
    상기 클라이언트 하이퍼바이저부 상에 설치된 사용자 가상머신 상에 설치되어 동작하는 사용자 운영체제부, 사용자 운영체부 상에 설치되어 동작하는 사용자 어플리케이션부, 및 사용자 운영체제부 상에 설치되어 동작하는 뷰 실행부를 포함하는 사용자 모듈; 을 포함하며,
    상기 사용자 모듈은, 사용자 운영체제부가 제공하는 사용자 운영체제 화면 또는 상기 사용자 어플리케이션부가 제공하는 사용자 어플리케이션 화면을 디스플레이하며, 상기 뷰 실행부는, 상기 서비스 모듈로부터 서비스 뷰를 전송받아, 상기 사용자 운영체제 화면 또는 상기 사용자 어플리케이션 화면 위에 오버랩하여 디스플레이하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반의 단말장치.
  2. 제 1 항에 있어서,
    상기 서비스 모듈은,
    상기 서비스 가상머신 상에 설치되어 동작하는 서비스 운영체제부;를 더 포함하며,
    상기 서비스 컨트롤부는 상기 서비스 운영체제부 상에서 동작하고, 상기 뷰 생성부는 자신이 생성한 서비스 뷰를 상기 사용자 모듈로 전송하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반의 단말장치.
  3. 제 1 항에 있어서,
    상기 서비스 컨트롤부는, 서비스 스케쥴에 따라 서비스 제공 시간에 도달하였음이 판단되면, 재생할 서비스 컨텐츠를 선택하며,
    상기 뷰 생성부는, 상기 서비스 컨트롤부에 의해 선택된 서비스 컨텐츠를 재생하여 서비스 뷰를 생성하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반의 단말장치.
  4. 제 1 항에 있어서,
    상기 서비스 가상머신 상에 설치되어 동작하고, 상기 서비스 컨트롤부에 의해 선택된 서비스 컨텐츠를 재생하는 서비스 어플리케이션부;를 더 포함하며,
    상기 서비스 어플리케이션부가 상기 서비스 컨텐츠를 재생하면, 상기 뷰 생성부는, 재생되는 서비스 컨텐츠에 대한 서비스 뷰를 생성하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반의 단말장치.
  5. 제 1 항에 있어서,
    상기 뷰 생성부는 자신이 생성한 서비스 뷰를 상기 사용자 모듈로 전송하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반의 단말장치.
  6. 제 5 항에 있어서,
    상기 서비스 컨트롤부는, 서비스 스케쥴에 따라 서비스 제공 시간에 도달하였음이 판단되면, 서비스 컨텐츠를 선택하여 재생할 것을 상기 뷰 생성부에게 요청하며,
    상기 뷰 생성부는, 상기 서비스 컨트롤부에 의해 선택된 서비스 컨텐츠를 재생하여 서비스 뷰를 생성하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반의 단말장치.
  7. 제 5 항에 있어서,
    상기 서비스 가상머신 상에 설치되어 동작하며, 상기 서비스 컨트롤부가 선택한 서비스 컨텐츠를 재생하는 서비스 어플리케이션부;를 더 포함하며,
    상기 서비스 어플리케이션부가 상기 서비스 컨텐츠를 재생하면, 상기 뷰 생성부는 재생되는 서비스 컨텐츠에 대한 서비스 뷰를 생성하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반의 단말장치.
  8. 제 1 항에 있어서,
    상기 서비스 스케쥴을 저장하는 저장부;를 더 포함하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반의 단말장치.
  9. 삭제
  10. 제 1 항에 있어서,
    상기 뷰 실행부는, 상기 사용자 운영체제부 또는 상기 사용자 어플리케이션부에서 제공하는 화면을 사용자가 볼 수 없도록 블라인드 처리가 되도록 하는 것을 특징으로 하는 클라이언트 하이퍼바이저 기반의 단말장치.
  11. 제 1 항에 있어서,
    상기 뷰 실행부에 의해 디스플레이되는 서비스 뷰는 사용자가 임의로 종료시킬 수 없는 것임을 특징으로 하는 클라이언트 하이퍼바이저 기반의 단말장치.
  12. 클라이언트 하이퍼바이저부, 상기 클라이언트 하이퍼바이저부 상에 설치되어 동작하는 서비스 가상머신을 가지며 서비스 스케쥴에 따라 재생할 서비스 컨텐츠를 선택하여 재생하고, 재생되는 상기 서비스 컨텐츠에 대한 서비스 뷰를 생성하는 서비스 모듈, 및 상기 클라이언트 하이퍼바이저부 상에 설치되어 동작하는 사용자 가상머신과 이 사용자 가상머신 상에 설치되어 동작하는 사용자 운영체제부와 사용자 어플리케이션부를 가지는 사용자 모듈을 포함하는 클라이언트 하이퍼바이저 기반의 단말 장치의 서비스 제공 방법에 있어서,
    상기 사용자 모듈이, 사용자 운영체제부가 제공하는 사용자 운영체제 화면 또는 상기 사용자 어플리케이션부가 제공하는 사용자 어플리케이션 화면을 디스플레이하는 단계;
    상기 서비스 모듈이, 서비스 스케쥴에 따라 서비스 컨텐츠를 선택하고 선택한 서비스 컨텐츠를 재생하는 단계;
    상기 서비스 모듈이, 재생되는 상기 서비스 컨텐츠에 대한 서비스 뷰를 생성하는 단계; 및
    상기 사용자 모듈이, 상기 서비스 뷰를 전송받고, 전송받은 서비스 뷰를 상기 사용자 운영체제 화면 또는 상기 사용자 어플리케이션 화면 위에 오버랩하여 디스플레이하는 단계;를 포함하는 것을 특징으로 하는 서비스 제공 방법.
  13. 제 12 항에 있어서,
    상기 서비스 모듈이, 서비스 스케쥴에 따라 서비스 제공 시간에 도달하였는지를 판단하는 단계;를 더 포함하며,
    상기 서비스 모듈은 서비스 제공 시간에 도달하였다고 판단되면 서비스 컨텐츠를 재생하여 서비스 뷰를 생성하는 것을 특징으로 하는 서비스 제공 방법.
  14. 제 12 항에 있어서,
    상기 서비스 모듈은,
    상기 서비스 컨텐츠를 재생하는 서비스 어플리케이션부와, 이 서비스 어플리케이션부에 의해 재생되는 서비스 컨텐츠에 대한 서비스 뷰를 생성하는 뷰 생성부를 포함하는 것을 특징으로 하는 서비스 제공 방법.
  15. 제 12 항에 있어서,
    상기 서비스 모듈은,
    상기 서비스 컨텐츠를 재생하고, 재생하는 서비스 컨텐츠에 대한 서비스 뷰를 생성하는 뷰 생성부를 포함하는 것을 특징으로 하는 서비스 제공 방법.
  16. 삭제
  17. 삭제
  18. 제 12 항에 있어서,
    상기 사용자 모듈은, 상기 사용자 운영체제부 화면 또는 상기 사용자 어플리케이션부에서 제공하는 화면을 사용자가 볼 수 없도록 블라인드 처리를 하는 것을 특징으로 하는 서비스 제공 방법.
  19. 삭제
  20. 제 12 항에 있어서,
    상기 사용자 모듈에 의해 디스플레이되는 서비스 뷰는 사용자가 임의로 종료시킬 수 없는 것임을 특징으로 하는 서비스 제공 방법.
KR1020100090908A 2010-09-16 2010-09-16 클라이언트 하이퍼바이저 기반의 단말장치 및 이를 이용한 광고 서비스 제공 방법 KR101173378B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100090908A KR101173378B1 (ko) 2010-09-16 2010-09-16 클라이언트 하이퍼바이저 기반의 단말장치 및 이를 이용한 광고 서비스 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100090908A KR101173378B1 (ko) 2010-09-16 2010-09-16 클라이언트 하이퍼바이저 기반의 단말장치 및 이를 이용한 광고 서비스 제공 방법

Publications (2)

Publication Number Publication Date
KR20120029071A KR20120029071A (ko) 2012-03-26
KR101173378B1 true KR101173378B1 (ko) 2012-08-10

Family

ID=46133631

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100090908A KR101173378B1 (ko) 2010-09-16 2010-09-16 클라이언트 하이퍼바이저 기반의 단말장치 및 이를 이용한 광고 서비스 제공 방법

Country Status (1)

Country Link
KR (1) KR101173378B1 (ko)

Also Published As

Publication number Publication date
KR20120029071A (ko) 2012-03-26

Similar Documents

Publication Publication Date Title
US9210148B2 (en) Trusted application migration across computer nodes
CN101650660B (zh) 从中央存储装置引导计算机系统
US20170139738A1 (en) Method and apparatus for virtual desktop service
US20130174151A1 (en) Information processing apparatus and method of controlling virtual machine
US9098379B2 (en) Computing reusable image components to minimize network bandwidth usage
US20090132804A1 (en) Secured live software migration
CN103620556A (zh) 将应用绑定到设备能力
CN107528830B (zh) 账号登陆方法、系统及存储介质
KR20150045669A (ko) 가상 데스크탑 서비스 장치 및 방법
KR20140075781A (ko) 연속 월드 스위치 보안을 갖는 데이터 센터
CN103493012B (zh) 虚拟bios
JP5320440B2 (ja) クライアントハイパーバイザー基盤の端末装置及びその動作方法
US9946318B1 (en) Hierarchical prioritized charging for battery backup units on computing data centers
KR101173378B1 (ko) 클라이언트 하이퍼바이저 기반의 단말장치 및 이를 이용한 광고 서비스 제공 방법
JP6191162B2 (ja) サーバ装置、サービス無償利用管理方法およびサービス無償利用管理プログラム
US10719342B2 (en) Provisioning based on workload displacement
US10237218B2 (en) Message delivery management based on device accessibility
US20130191249A1 (en) Personalizing customer response
KR20120123210A (ko) 애플리케이션의 저장 공간을 제공하기 위한 제어 방법과 그를 위한 단말 및 서버
KR101162865B1 (ko) 하이퍼바이저 기반의 광고를 위한 단말장치 및 그의 동작 방법
US9785539B2 (en) Application development via a multi-unit device
US20190166185A1 (en) Methods and systems for improving efficiency in data transfers
KR101132443B1 (ko) 관리정책을 기반으로 서비스 가상머신을 관리할 수 있는 단말장치 및 그 방법
US11036406B2 (en) Thermally aware memory management
US20230394163A1 (en) Data cluster management

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180625

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190701

Year of fee payment: 8