KR20130137857A - 다양한 클라우드 솔루션의 통합 관리를 위한 관리 알고리즘 - Google Patents

다양한 클라우드 솔루션의 통합 관리를 위한 관리 알고리즘 Download PDF

Info

Publication number
KR20130137857A
KR20130137857A KR1020120061476A KR20120061476A KR20130137857A KR 20130137857 A KR20130137857 A KR 20130137857A KR 1020120061476 A KR1020120061476 A KR 1020120061476A KR 20120061476 A KR20120061476 A KR 20120061476A KR 20130137857 A KR20130137857 A KR 20130137857A
Authority
KR
South Korea
Prior art keywords
client terminal
information
cloud
device driver
function
Prior art date
Application number
KR1020120061476A
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 KR1020120061476A priority Critical patent/KR20130137857A/ko
Publication of KR20130137857A publication Critical patent/KR20130137857A/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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/451Execution arrangements for user interfaces
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

제한된 자원을 가지는 클라이언트 단말이 클라우드 서버의 클라우드 컴퓨팅 서비스를 이용하여 이종의 클라우드 솔루션들을 통합관리 할 수 있도록 하는 클라우드 컴퓨팅 통합관리 시스템이 개시된다. 클라우드 서버는 관리 에이전트로부터 수신되는 검색 정보를 이용하여 디바이스에 대한 가상 디바이스 드라이버를 검색하고, 검색된 가상 디바이스 드라이버를 설치하여 클라이언트 단말이 디바이스를 제어할 수 있게 할 수 있다. 가상 디바이스 드라이버는 클라이언트 단말이 디바이스에서 지원되는 정보의 포맷을 지원하지 못하는 경우에도 클라이언트 단말이 원하는 정보가 디바이스에 전달되어 실행되도록 지원하는 컴퓨팅 서비스를 가능하도록 한다.

Description

다양한 클라우드 솔루션의 통합 관리를 위한 관리 알고리즘 {Unified-Management Algorithm for Varified Cloud Solutions}
제시된 기술은 복잡한 클라우드 솔루션들을 통합 관리하기 위한 알고리즘에 관한 것이다.
클라우드 컴퓨팅은 인터넷 기반(클라우드) 기반의 컴퓨팅 기술을 의미한다. 컴퓨터 네트워크 구성도에서 인터넷은 구름으로 표현되며, 이는 숨겨진 복잡한 인프라 구조를 의미한다. 클라우드 컴퓨팅은 IT와 관련된 기능들이 서비스 형태로 제공되는 컴퓨팅 스타일이다. 사용자들은 지원하는 기술 인프라 스트럭처에 대한 전문 지식이 없어도 또는 제어할 줄 몰라도 인터넷으로부터 서비스를 이용할 수 있다. 즉, 사용자는 클라우드 컴퓨팅을 이용하여 인터넷을 통해 언제 어디서나 자신이 원하는 컴퓨팅 자원을 제공받을 수 있다. 컴퓨팅 자원은 통상적으로 대량의 데이터 센터와 같이 별도의 자원 제공자에 의해 관리되며, 그 대상은 CPU 능력, 메모리, 스토리지와 같은 하드웨어 자원이거나 개발 플랫폼, 응용 프로그램 등이 될 수 있다. 컴퓨팅 능력을 단말에서 이용하기 위해 자원 제공자가 제공하는 서비스를 클라우드 컴퓨팅 서비스라고 한다.
복잡한 클라우드 솔수션들의 다양한 관리 기능들을 통합하여, 이기종의 클라우드 솔루션 관리기법을 습득하지 않아도 관리자는 GUI를 통해 통합된 하이브리드 클라우드 솔루션의 관리 환경을 제공받을 수 있다.
하이브리드 클라우드 시스템의 통합 운영 매니저와 실시간 DB, 각 클라우드 별 제어 에이전트를 통해 정규화된 포맷의 Command를 GUI상에 실시간 통합관리하도록 하여, 효율적인 통합관리 시스템을 제공할 수 있다.
클라우드 솔루션은 운영 및 관리가 복잡하며, 운영규모가 거대하여 1개 이상의 운영 환경에 대해 한정된 관리인력을 통한 통합된 운영 관리에 어려움이 있다. 따라서, 현재 클라우드 솔루션으로 대표되는 오픈스택, 오픈네볼라, 유칼립투스 클라우드 솔루션을 대상으로 통합관리를 위한 GUI를 제공하여 관리자는 하이브리드 클라우드 환경에서의 통합된 관리환경을 제공받을 수 있다.
도 1은 클라우드 솔루션의 통합관리를 위한 전체적인 아키텍쳐를 보여주는 도면이다.
도 2는 클라이언트 단말이 클라우드 컴퓨팅 서비스를 이용하여 이종의 디바이스들을 자유롭게 이용하는 환경의 예를 나타내는 도면이다.
도 3은 클라우드 서버의 구성의 일 예를 나타내는 도면이다.
도 4는 클라이언트 단말의 구성의 일 예를 나타내는 도면이다.
도 5는 디바이스의 구성의 일 예를 나타내는 도면이다.
도 6은 클라우드 서버의 동작의 일 예를 나타내는 흐름도이다.
도 7는 클라이언트 단말의 동작의 일 예를 나타내는 흐름도이다.
개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시 예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시 예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시 예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
'제1', '제2' 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시 예를 상세하게 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 용을 토대로 내려져야 할 것이다.
도 1은 통합된 클라우드 솔루션을 관리할 수 있는 통합관리 시스템의 아키텍쳐를 보여주는 도면이다.
하이브리드 클라우드환경을 지원하는 동적 자원관리 통합 시스템은 Manager와 Agent 및 Database로 구분되며, Agent를 통해 수집된 정보를 Manager에서 분석하여 자원할당 정책이 결정되면 Real-Time Database에 상태정보 및 관리정보가 저장되고, Agent를 통해 해당하는 클라우드 솔루션의 관리 명령어가 수행되는 구조이다.
Manager GUI Module은 OS에 독립적으로 동작하는 웹기반 GUI를 제공하며, 주요 구성 요소로는 클라우드 시스템들의 실시간 모니터링이 가능한 Viewer, 자원의 재할당 요청 및 자동 처리에 대한 Notify 기능, 자원관리에 대한 Static한 정책을 적용할 수 있는 User Policy Setup 기능, 사용자를 통한 자원 설계 및 예약, 할당 기능을 제공하는 Provision, Reservation 기능으로 구분된다. Performance and Fault Control Management Module은 Fault Control을 위해 "Check For Fault", "Check For SLA", "Check For Porformance" 기능을 포함하며, Fault 및 Performance 수준의 판정 기능을 가진다.
Agent는 다양한 클라우드 환경에서 수집된 정보에 대해 Normalize 작업을 통해 통합된 포맷으로 정규화하고, Manager로 전송하는 모니터링 및 리포팅 기능을 제공하며, Manager에서 동적으로 결정된 관리 커맨드를 수신하여 관리 클라우드 시스템을 제어할 수 있는 Agent Controller 기능을 제공한다.
도 2에서의 도 1의 아키텍쳐를 적용한 환경에서의 디바이스(300)가 IP 통신이 가능하지 않지만, 블루투스 또는 적외선 통신과 같은 다른 통신프로토콜에 따라 동작할 수 있는 장치인 경우를 나타낸다. 즉, 클라우드 서버(100)는 전술한 가상 디바이스 드라이버를 이용하여 클라이언트 단말(200)이 디바이스(300)를 이용하도록 지원할 수 있다.
그러나, 디바이스(300)가 IP 통신이 가능하지 않은 경우, 클라우드 서버(100)는 디바이스(300)에 클라이언트 단말(200)이 원하는 정보를 직접 정보를 전달할 수 없다. 이 경우, 클라이언트 단말(100)은 디바이스(300)에 원하는 정보를 전송하여 실행하게 하는 역할뿐만 아니라, 통신 허브의 역할을 수행하게 된다.
이때, 클라우드 서버(100)는 디바이스(300)의 가상 디바이스 드라이버를 이용하여 디바이스(300)에서 실행될 정보를 디바이스(300)에서 처리가능한 형태의 정보로 변환하여 클라이언트 단말(200)에 전달하고, 클라이언트 단말(200)은 디바이스(300)와 통신가능한 프로토콜을 이용해서 전달된 정보를 디바이스(300)에 전달할 수 있다.
도 3은 클라우드 서버의 구성의 일 예를 나타내는 도면이다.
클라우드 서버(100)는 통신부(110), 가상 디바이스 드라이버 매니저(120), 컴퓨팅 서비스 제공부(130), 및 가상 디바이스 드라이버 DB(140)를 포함할 수 있다.
통신부(110)는 인터넷 프로토콜에 따라 클라이언트 단말(200)과 통신하도록 구성된다. 디바이스(300)가 인터넷프로토콜에 따라 통신할 수 있는 장치인 경우 통신부(110)는 디바이스(300)와 통신할 수 있다.
가상 디바이스 드라이버 매니저(120)는 클라이언트 단말(200)이 원하는 정보를 실행할 디바이스(300)에 대한 가상 디바이스 드라이버를 관리한다. 가상 디바이스 드라이버 매니저(120)는 가상 디바이스 드라이버를 검색하는 가상 디바이스 드라이버 검색부(122)를 포함하여 구성될 수 있다.
가상 디바이스 드라이버 검색부(122)는 통신부(110)를 통해 클라이언트 단말(200)로부터 디바이스(300)에 대한 가상 디바이스 드라이버의 검색 정보를 수신하고, 수신된 검색 정보를 이용하여 디바이스(300)에 대한 가상 디바이스 드라이버를 검샐할 수 있다. 가상 디바이스 드라이버 검색부(122)는 다양한 종류의 디바이스에 대한 가상 디바이스 드라이버를 저장하고 있는 가상 디바이스 드라이버 DB(140)로부터 디바이스(300)의 대한 가상 디바이스 드라이버를 검색하여, 검색된 가상 디바이스 드라이버를 컴퓨팅 서비스 제공부(130)에 등록(또는 설치)할 수 있다. 가상 디바이스 드라이버 DB(140)는 가상 디바이스 드라이버 매니저(120)와 통합되어 구성될 수 있다. 또한, 가상 디바이스 드라이 매니저(120)에 가상 드라이버 검색부(122)가 포함되어 있는 것으로 도시되어 있으나, 클라이언트 단말(200)에 대한 컴퓨팅 서비스를 제공하는 후술할 컴퓨팅 서비스 제공부(130)에서 가상 디바이스 드라이버 검색을 수행하도록 구성될 수도 있다.
이하에서는, 가상 디바이스 드라이버 검색부(122)가 디바이스(300)에 대한 가상 디바이스 드라이버를 검색하기 까지의 과정에 대하여 설명한다.
가상 디바이스 드라이버 매니저(120)는 클라이언트 단말(100)로부터 디바이스(300)에 대한 검색 정보로서 IP 주소를 수신할 수 있다. 여기에서, 디바이스(300)의 IP 주소는 해당 디바이스(300)만의 고정 IP 주소를 미한다.
디바이스(300)에 대한 검색 정보는 클라이언트 단말(100)의 원하는 디바이스에 대한 디바이스 등록 요청 메시지에 포함되어 전달될 수 있다. 디바이스 등록 요청 메시지의 수신에 따른 디바이스(300)에 대한 등록은 해당 디바이스(300)에 대한 가상 디바이스 드라이버를 검색하기 위한 전처리 과정일 수 있다.
가상 디바이스 드라이버 매니저(120)는 IP 주소를 이용하여 통신부(110)를 통해서 디바이스(300)에 접속하여 디바이스 정보를 획득할 수 있다. 가상 디바이스 드라이버 매니저(120)가 통신부(110)를 통해서 디바이스(300)에접속하여 디바이스 정보를 얻는 과정은 알려져 있거나 향후에 알려질 다양한 방법으로 통해 이루어질 수 있다.
디바이스 정보는 가상 디바이스 드라이버를 검색하기 위한 정보로, 일예로 디바이스 모델 코드와 같은 디바이스식별 정보일 수 있다. 가상 디바이스 드라이버 검색부(122)는 획득된 디바이스 정보를 이용하여 가상 디바이스드라이버 DB(140)에서 디바이스(300)에 대한 가상 디바이스 드라이버를 검색할 수 있다.
다음으로, 도 2를 참조하여 설명한 바와 같이, 디바이스(300)가 클라우드 서버(100)와 직접 통신할 수 없는 경우에 가상 디바이스 드라이버를 검색하기까지의 동작에 대하여 설명한다.
가상 디바이스 드라이버 매니저(120)는 통신부(110)를 통해 클라이언트 단말(100)로부터 검색 정보로서 디바이스 모델 코드와 같은 디바이스 식별 정보를 수신할 수 있다. 가상 디바이스 드라이버 검색부(122)는 클라이언트 단말(100)로부터 수신된 디바이스 식별 정보를 이용하여 가상 디바이스 드라이버 DB(140)에서 디바이스(300)에 대한 가상 디바이스 드라이버를 검색할 수 있다.
이와 같이, 디바이스(300)에 대한 가상 디바이스 드라이버의 검색이 수행되면, 가상 디바이스 드라이버 매니저(120)는 검색된 가상 디바이스 드라이버를 컴퓨팅 서비스 제공부(130)에 설치(또는 등록)할 수 있다.
컴퓨팅 서비스 제공부(130)는 클라우드 서버(100)에서 클라이언트 단말(200) 에 컴퓨팅 서비스를 제공한다. 컴퓨팅 서비스 제공부(130)는 클라우드 서버(100)에서 클라이언트 단말(200)에 제공할 컴퓨팅 서비스 자체를 나타낼 수도 있으며 클라이언트 단말(200)에 대한 컴퓨팅 서비스의 측면에서 사용자 인스턴스라고 부를 수도 있다.
그러나, 검색된 가상 디바이스 드라이버가 클라이언트 단말(200)을 위해 준비된 사용자 인스턴스에 등록되어 동작될 필요는 없으며, 다른 위치의 인스턴스에 설치되어 동작되고, 클라이언트 단말(200)을 위한 사용자가 원할때 필요한 기능이 지원되도록 동작 될 수 있다.
컴퓨팅 서비스 제공부(130)에서는 컴퓨팅 서비스를 위하여 가상 디바이스 드라이버뿐만 아니라 클라이언트 단말(200)에 대해 제공될 각종 애플리케이션이 등록되어 동작할 수 있으며, 애플리케이션 동작에 대한 표시 정보 또는 클라이언트 단말(200)과 인터랙션을 위한 정보가 클라이언트 단말(200)에 제공될 수 있다. 애플리케이션은 각종 멀티미디어 콘텐츠 재생 프로그램일 수 있으며, 이에 따라, 클라우드 서버(100)는 스트리밍 서버의 역할을 수행할 수 있다.
가상 디바이스 드라이버가 컴퓨팅 서비스 제공부(130)에 설치되면, 컨트롤-디바이스 드라이버(Control-Device Driver) 및 가상 인터페이스(Virtual Interface)가 제공될 수 있다. 이하에서는, 컨트롤-디바이스 드라이버를 C-디바이스 드라이버로 약칭한다. 도 3에서 가상 인터페이스(132) 및 C-디바이스 드라이버(134)는 디바이스(300)에 대한 가상 디바이스 드라이버가 컴퓨팅 서비스 제공부(130)에 설치된 상태를 나타낸다.
가상 인터페이스(132)를 통하여 클라이언트 단말(200)의 사용자는 디바이스(300)에 전달되기 원하는 정보를 입력받을 수 있다. 가상 인터페이스(132)는 주로 디바이스(300)에서 실행될 정보 중 커맨드와 같은 제어 정보를 입력받기 위해 제공될 수 있으나, 디바이스(300)에 전송되어 실행될 데이터를 선택 및 입력받기 위한 목적으로 구성될 수도 있다. 예를 들어, 가상 인터페이스(132)는 컴퓨터에서 케이블을 통하여 컴퓨터에 연결된 장치에 데이터를 전송하는 경우(예를 들어, 노트북에 외부 단자에 연결된 케이블을 통해 텔레비전으로 비디오 데이터를 전송하는 경우) 표시되는 그래픽 사용자 인터페이스와 유사한 가상 인터페이스를 제공하여, 클라이언트 단말(200)이 원하는 데이터를 선택하여 전달하도록 할 수 있다.
C-디바이스 드라이버(134)는 일반적인 데이터 전송 기능과 디바이스에 맞게 데이터 포맷을 변환하는 기능을 가진다.
일반적인 데이터 전송 기능이라 함은 디바이스(300)의 종류 및/또는 형태에 따른 데이터 전송 기능 예를 들어, 프린트에 대한 데이터 전송 기능, 또는 프로젝터에 대한 데이터 전송 기능을 말한다.
데이터 포맷을 변환하는 기능을 수행하기 위하여, C-디바이스 드라이버(134)는 디바이스(300)의 해상도, 사용 가능한 파일 포맷 등 디바이스(300)에 대한 다양한 정보를 가질 수 있다. C-디바이스 드라이버(134)는 이러한 디바이스(300)에 대한 정보를 이용하여 클라이언트 단말(200)이 가상 인터페이스(132)를 이용하여 요청한 디바이스(300)에서 실행될 전송할 정보를 디바이스(300)가 처리가능한 형태의 정보로 변환할 수 있다. 디바이스(300)에 전송되어 실행될 정보는 제어 정보 및 데이터 중 적어도 하나를 포함할 수 있다.
C-디바이스 드라이버(134)는 가상 인터페이스(132)를 이용하여 디바이스(300)에서 실행될 정보로서 제어 정보가 수신되는 경우에는, 수신된 제어 정보를 디바이스(300)에서 처리가능한 형태의 제어 정보로 변환할 수 있다.
또한, C-디바이스 드라이버(134)는 디바이스(300)에서 실행될 정보로서 디바이스(300)에서 실행될 데이터가 수신되는 경우에는, 수신된 데이터를 디바이스(300)에서 처리가능한 형태의 데이터로 변환할 수 있다.
일 예로, 디바이스(300)에서 실행될 정보가 제어 정보이고, 디바이스(300)가 리모콘 입력 신호를 처리하는 디스플레이 장치인 경우, C-디바이스 드라이버(134)는 클라이언트 단말(100)로부터 수신된 디스플레이 장치를 켜는 디스플레이 ON 신호를 디스플레이 장치를 켜는 리모콘 입력 신호로 변환할 수 있다. 디바이스(300)에서 실행될 정보가 데이터인 경우, C-디바이스 드라이버(134)는 gif(graphics interchange format)의 데이터를 jpg(joint photographic coding expert group) 포맷의 데이터로 변환하거나, mpeg4(motion picture experts group 4) 포맷의 데이터를 avi(audio video interleaving) 포맷의 데이터로 변환할 수 있다.
C-디바이스 드라이버(134)는 클라이언트 단말(200)에 컴퓨팅 서비스로서 제공될 애플리케이션과 관련되어 동작 할 수 있다. 이를 위해, 컴퓨팅 서비스 제공부(130)는 컴퓨팅 서비스로서 컴퓨팅 서비스 제공부(130)에서 실행되는 애플리케이션을 통신부(110)를 통해 클라이언트 단말(200)에 제공할 수 있다. 클라이언트 단말(200)이 애플리케이션에서 실행되는 데이터를 디바이스(300)로 전송할 정보로서 선택하면, 선택된 데이터를 컨트롤 디바이스 드라이버(134)로 전달할 수 있다. 그러면, 컨트롤 디바이스 드라이버(134)는 선택된 데이터를 디바이스가 처리가능한 형태의 데이터로 변환할 수 있다.
예를 들어, 애플리케이션이 문서 작성 프로그램인 경우, 문서 작성 프로그램에서 디바이스(300)가 인식되고, 클라이언트 단말(100)로부터 문서 작성 프로그램에서 실행되는 텍스트 파일의 전송이 요청되면, C-디바이스 드라이버(134)에 의해 텍스트 파일이 처리되어 디바이스(300)에서 처리가능한 데이터 형태로 변환된 다음 디바이스(300)로 전달될 수 있다.
한편, 도 2를 참조하여 설명한 바와 같이, 디바이스(300)가 IP 통신이 가능하지 않은 경우에는, C-디바이스 드라이버(134)에 의해 처리된 디바이스(300)에서 실행될 정보는 클라이언트 단말(200)을 통해서 디바이스(300)로 전달될 수 있다.
도 4는 클라이언트 단말에 제공되는 가상 인터페이스 화면의 일 예를 나타내는 도면이다.
도 5는 클라우드 서버(100)가 디바이스(300)에 대한 가상 디바이스 드라이버를 검색하여 설치한 결과 제공되는 가상 인터페이스(132)가 클라이언트 단말(200)의 디스플레이부(240)에 제공되는 상태의 일 예를 나타낸다. 디바이스(300)가 프로젝터인 경우, 도 6에 도시된 바와 같이, 클라이언트 단말(200)의 디스플레이부(240)에 프로젝터를 제어하기 위한 제어 항목 즉, 페이지 이동(610), 마우스 클릭(620), 렌즈 방향 조정(630), 렌즈 밝기 조정(640), 프로젝터의 기타 기능을 나타내는 기타 옵션 선택(650)을 가능하게 하는 가상 인터페이스(600)가 표시될 수 있다.
사용자는 사용자 인터페이스부(230)를 이용하여 예를 들어, 터치스크린의 경우 터치, 또는 키 패드의 방향키를 이용하여 가상 인터페이스(600)에 포함된 제어 정보 예를 들어, 도 6에서 제어 항목 및 제어 항목에 따른 실행 정보을 선택할 수 있다. 현재 프로그램이 문서 작성 프로그램이나 프리젠테이션용 프로그램인 경우, 사용자는 사용자 인터페이스부(230)를 이용하여 페이지 이동 항목(610)을 선택할 수 있으며, '다음 페이지 넘김'을 컴퓨터에서 사용하는 마우스 클릭으로 선택할 때 대응하는 동작이 디바이스(300)에서 수행되도록 제어할 수 있다.
또한, 디바이스(300) 자체의 상태를 제어하기 위한 제어 항목으로 렌즈 방향 항목(630)을 선택하여 디바이스(300)에 탑재된 렌즈의 방향을 움직이도록 제어하거나 렌즈 밝기 항목을 선택(640)하여 렌즈의 밝기를 제어할 수 있다.
선택된 제어 항목 및 제어 항목에 대한 실행 정보는 클라우드 서버(100)에 전달되고, 클라우드 서버(100)는 선택된 제어 항목 및 제어 항목에 대한 실행 정보가 디바이스(300)에서 처리가능한 정보로 변환되어 디바이스(300)에 전달될 수 있다. 그러면, 디바이스(300)는 전달된 정보를 실행하여 클라이언트 단말(100)이 요청한 제어 항목 및 실행 정보에 따른 동작을 실행할 수 있다.
도 5는 디바이스의 구성의 일 예를 나타내는 도면이다.
디바이스(300)는 통신부(310), 실행부(320) 및 디바이스 드라이버(330)를 포함할 수 있다.
통신부(310)는 클라우드 서버(100) 또는 클라이언트 단말(200)로부터 디바이스(300)에서 실행할 정보를 수신한다. 통신부(310)는 IP 통신이 가능하여 클라우드 서버(100)와 직접 통신이 가능하도록 구성될 수 있다. 통신부(310)는 클라우드 서버(100)와 직접 통신이 가능하지 않고, 클라이언트 단말(200)과의 통신이 가능하여 클라우드 서버(100)로부터 전달되는 정보를 클라이언트 단말(200)을 통해 수신하도록 구성될 수 있다.
실행부(320)는 디바이스(300)에서 실행할 정보를 디바이스(300)가 실행할 수 있는 형태로 변환하고, 변환된 정보를 실행한다. 상세하게는, 실행부(320)는 통신부(310)를 통해 클라우드 서버(100) 또는 클라이언트 단말(200)로부터 수신된 정보를 디바이스(300)가 이해할 수 있는 전기적 신호 또는 그 외의 형태로 변환하고, 변환된 정보를 실행할 수 있다. 예를 들어, 디바이스(300)가 리모콘 입력을 수신하여 실행하는 디스플레이 장치인 경우에는, 실행부(320)는 클라우드 서버(100) 또는 클라이언트 단말(200)로부터 수신된 정보가 제어 정보인 경우, 제어 정보를 리모콘 입력 신호로 변환할 수 있다.
디바이스 드라이버(330)는 변환된 제어 정보 및 데이터 중 적어도 하나를 실행부(320)에서 실행하기 위하여 추가적인 변환이 필요한 경우, 필요한 변환을 지원할 수 있다. 예를 들어, 디바이스(300)가 서버급 프린터인 경우에는, 디바이스 드라이버(330)가 클라우드 서버(100) 또는 클라이언트 단말(200)로부터 수신된 정보를 한 번더 가공한 다음 처리할 수 있다.
도 6은 클라우드 서버의 동작의 일 예를 나타내는 흐름도이다.
클라우드 서버(100)는 클라이언트 단말(200)이 원하는 정보가 실행될 디바이스(300)를 클라이언트 단말(200)이 이용하도록 지원하는 컴퓨팅 서비스 요청을 클라이언트 단말로부터 수신한다(810). 컴퓨팅 서비스 요청과 함께, 또는 다른 시간에 디바이스(300)에 대한 가상 디바이스 드라이버를 검색하는데 이용되는 클라이언트 단말(200)로부터 검색 정보가 수신될 수 있다.
클라우드 서버(100)는 컴퓨팅 서비스 요청의 수신에 따라 검색 정보를 이용하여 디바이스(300)에 대한 가상 디바이스 드라이버를 검색하고(820), 검색된 가상 디바이스 드라이버를 설치한다(830).
가상 디바이스 드라이버가 설치되면, 클라우드 서버(100)의 클라이언트 단말(200)을 위해 준비되는 인스턴스에는 클라우드 서비스를 위한 애플리케이션, C-디바이스 드라이버 및 가상 인터페이스가 제공되며, 애플리케이션 또는 가상 인터페이스가 클라이언트 단말(200)에 제공된다(840).
클라이언트 단말(200)로부터 애플리케이션 및/또는 가상 인터페이스를 이용하여 디바이스(300)에서 실행될 정보가 수신되면(850), 클라우드 서버(100)의 C-디바이스 드라이버는 수신된 정보를 디바이스(300)가 처리가능한 형태의 정보로 변환한다(860). 그런 다음, 클라우드 서버(100)는 변환된 정보를 디바이스(300)로 전송한다(870).
전술한 바와 같이, 변환된 정보는 클라이언트 단말(200)을 통해 디바이스(300)로 전송될 수 있다.
따라서, 인터넷 접속이 가능한 클라이언트 단말의 부족한 컴퓨팅 능력을 클라우드 서버를 통해 극복하고, 클라이언트 단말에 지원되지 않는 다양한 형태의 데이터 포맷, 코덱 또는 디바이스 제어를 지원하기 위해 클라이언트 단말의 성능을 업그레드하거나 데이터 포맷의 지원을 위해 프로토콜을 변경하지 않고도 클라이언트 단말이 디바이스를 이용하도록 지원할 수 있다.
도 7은 클라이언트 단말의 동작의 일 예를 나타내는 흐름도이다.
클라이언트 단말(200)은 클라우드 서버(100)가 디바이스(300)에 대한 가상 디바이스 드라이버를 검색하는데 필요한 검색 정보를 획득한다(910). 클라이언트 단말(200)은 검색 정보를 클라우드 서버(100)에 전달한다(920).
클라우드 서버(100)가 검색 정보를 이용하여 디바이스(300)에 대한 가상 디바이스 드라이버를 설치함으로써, 클라이언트 단말(200)은 클라우드 서버(100)에 의해 제공되는 컴퓨팅 서비스를 이용할 수 있다(930).
상세하게는, 클라이언트 단말(200)은 컴퓨팅 서비스로서 제공되는 애플리케이션 및/또는 가상 인터페이스를 이용하여 디바이스(300)에서 실행될 정보를 결정할 수 있다. 그러면, 클라우드 서버(100)에서는 클라이언트 단말(200)에 의해 결정된 디바이스(300)에서 실행될 정보를 디바이스(300)가 처리가능한 형태의 정보로 변환한다.
선택적인 동작으로, 클라우드 서버(100)로부터 디바이스(300)에 전송되어 실행될 정보가 디바이스(300)에서 처리가능한 형태의 정보로 변환되어 수신되면, 클라이언트 단말(200)은 수신된 정보를 디바이스(300)의 통신 프로토콜에 적합하게 변환하여 디바이스(300)에 전송할 수 있다.
본 발명의 일 양상은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있다. 상기의 프로그램을 구현하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 디스크 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상의 설명은 본 발명의 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.

Claims (4)

  1. 이종의 클라우드 환경을 통합하기 위한 통합자원 시스템;
  2. 제1항에 있어서,
    OS에 독립적으로 동작하는 웹기반 GUI를 제공하며, 주요 구성 요소로서 클라우드 시스템들의 실시간 모니터링이 가능한 Viewer,
    자원의 재할당 요청 및 자동 처리에 대한 Notify 기능,
    자원관리에 대한 Static한 정책을 적용할 수 있는 User Policy Setup 기능,
    사용자를 통한 자원 설계 및 예약, 할당 기능을 제공하는 Provision 기능
    상기의 기능들을 지원하는 Manager GUI 모듈
  3. 제1항에 있어서,
    Fault Control을 위해 "Check For Fault", "Check For SLA", "Check For Performance" 기능을 포함하며, Fault 및 Performance 수준의 판정기능
    상기의 기능들을 지원하는 Performance and Fault Control Management 모듈
  4. 제3항에 있어서,
    다양한 클라우드 환경에서 수집된 정보에 대해 Normalize 기능을 통해 통합된 포맷으로 정규화하고,
    Manager로 전송하는 모니터링 및 리포팅 기능을 제공하며,
    Manager에서 동적으로 결정된 관리 커맨드를 수신하여 관리 클라우드 시스템을 제어할 수 있는
    Agent Controller 기능을 제공
KR1020120061476A 2012-06-08 2012-06-08 다양한 클라우드 솔루션의 통합 관리를 위한 관리 알고리즘 KR20130137857A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120061476A KR20130137857A (ko) 2012-06-08 2012-06-08 다양한 클라우드 솔루션의 통합 관리를 위한 관리 알고리즘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120061476A KR20130137857A (ko) 2012-06-08 2012-06-08 다양한 클라우드 솔루션의 통합 관리를 위한 관리 알고리즘

Publications (1)

Publication Number Publication Date
KR20130137857A true KR20130137857A (ko) 2013-12-18

Family

ID=49983872

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120061476A KR20130137857A (ko) 2012-06-08 2012-06-08 다양한 클라우드 솔루션의 통합 관리를 위한 관리 알고리즘

Country Status (1)

Country Link
KR (1) KR20130137857A (ko)

Similar Documents

Publication Publication Date Title
KR20110040604A (ko) 클라우드 서버, 클라이언트 단말, 디바이스, 클라우드 서버의 동작 방법 및 클라이언트 단말의 동작 방법
KR101081489B1 (ko) 클라우드 컴퓨팅 기반 통합사용자환경 제공방법 및 장치
US8250215B2 (en) Method and system for intelligently leveraging cloud computing resources
RU2503056C2 (ru) Веб-канал, базируемый на языке xml, для веб-доступа удаленных источников
US20100248698A1 (en) Mobile terminal device inlcuding mobile cloud platform
US20160219126A1 (en) Virtual desktop providing method and virtual desktop providing server thereof
JP2011003187A (ja) クラウドストレージを提供するクライアント、仲介サーバ及び方法
KR20160069443A (ko) 웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치
US20150189041A1 (en) Server and system and method for management and sharing of personal digital resources
CN105307024A (zh) 一种基于视联网的图文信息界面控制方法和装置
KR102314222B1 (ko) 컨테이너를 활용한 가상 데스크탑 시스템 및 그 데이터 처리 방법
KR20200105582A (ko) 컨테이너를 활용한 가상 데스크탑 시스템 및 그 데이터 처리 방법
JP2015517165A (ja) ユーザーインターフェイスウェブサービス
KR20130060917A (ko) 정보 제공 방법, 기기와 컴퓨터로 읽을 수 있는 기록 매체
KR102314221B1 (ko) 특정 시점의 환경을 제공할 수 있는 가상 데스크톱 시스템 및 그 데이터 처리 방법
KR20200105174A (ko) 특정 시점의 환경을 제공할 수 있는 가상 데스크톱 시스템 및 그 데이터 처리 방법
KR102167505B1 (ko) 고화질 영상 서비스를 위한 가상 데스크탑 시스템 및 그 데이터 처리 방법
JP5254401B2 (ja) リッチアプリケーションベースのマルチスクリーンiptvサービス提供システム、端末、サーバ及び方法
KR101319815B1 (ko) 멀티 단말 장치 간 서버-클라이언트 서비스 환경을 지원하는 앱 구동 방법
KR102172679B1 (ko) 씬 클라이언트를 이용한 가상 데스크탑과 iptv 서비스 및 그 데이터 처리 방법
KR101909257B1 (ko) 단말로부터 요청된 가상 어플리케이션을 실행하는 서버 및 방법, 그리고 단말
KR20130137857A (ko) 다양한 클라우드 솔루션의 통합 관리를 위한 관리 알고리즘
JP2002247539A (ja) ネットワークプロジェクタ装置
KR101326231B1 (ko) 가상화 소프트웨어 서비스 시스템 및 이를 위한 서비스 서버 및 사용자단말
CN111475311A (zh) 协作系统、协作控制方法及协作控制装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid