KR20100025980A - 가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법 - Google Patents

가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법 Download PDF

Info

Publication number
KR20100025980A
KR20100025980A KR1020080084762A KR20080084762A KR20100025980A KR 20100025980 A KR20100025980 A KR 20100025980A KR 1020080084762 A KR1020080084762 A KR 1020080084762A KR 20080084762 A KR20080084762 A KR 20080084762A KR 20100025980 A KR20100025980 A KR 20100025980A
Authority
KR
South Korea
Prior art keywords
input
output device
user
peripheral
virtual machine
Prior art date
Application number
KR1020080084762A
Other languages
English (en)
Other versions
KR101007356B1 (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 KR1020080084762A priority Critical patent/KR101007356B1/ko
Priority to US12/506,312 priority patent/US20100058341A1/en
Publication of KR20100025980A publication Critical patent/KR20100025980A/ko
Application granted granted Critical
Publication of KR101007356B1 publication Critical patent/KR101007356B1/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/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
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • 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
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • 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/08Protocols specially adapted for terminal emulation, e.g. Telnet

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법에 관한 것으로, 가상화 시스템 상에서의 서버는 사용자별 컴퓨팅 환경을 구축하기 위한 복수의 가상머신(Virtual Machine, VM)을 구비하고, 사용자 접속 시 복수의 가상머신 중 어느 하나를 할당한다. 이때, 사용자로부터 인접한 복수의 주변기기를 가상머신의 입출력 디바이스로 설정하도록 한다. 본 발명에 따르면, 사용자 주변에 위치한 복수의 주변기기를 동적으로 연결하여 가상화 시스템 상에서 제공되는 가상머신의 입출력 컴퓨팅 환경을 구성함으로써, 사용자의 주변 상황에 맞는 컴퓨팅 환경을 구축하는 것이 가능한 이점이 있다. 또한, 가상머신에 할당된 정형화된 기기뿐만 아니라 사용자로부터 인접한 복수의 주변기기를 입출력 디바이스로 활용함에 따라 다양한 입출력 서비스를 제공할 수 있는 효과가 있다.
가상화 시스템, 서버, 가상머신, 주변기기, 입출력 컴퓨팅 환경

Description

가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법{Apparatus and method for establishing input/output device in virtualization system}
본 발명은 가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법에 관한 것으로, 특히, 사용자 주변의 디바이스를 이용하여 가상머신의 입출력 디바이스를 동적으로 설정하도록 하는 가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2008-S-034-01, 과제명: SoD(System on-Demand) 서비스를 위한 협업형 VM 시스템 기술 개발].
종래에 널리 사용되고 있는 컴퓨팅 아키텍쳐는 클라이언트/서버 시스템으로서, 이와 같은 종래의 서버 및 클라이언트 네트워크 환경하에서 설치된 고성능 클라이언트 컴퓨터들은 응용 소프트웨어를 사용하기 위하여 각 컴퓨터마다 개별적으로 소프트웨어를 설치하고 실행하여야만 했다. 그리고, 서버는 클라이언트를 네트워크에 연결시키거나 공동으로 사용하는 파일이나 프로그램을 보관해 주는 기능을 수행할 뿐이었다.
서버 컴퓨터에서 대부분의 작업을 수행하는 서버 기반의 컴퓨팅 기술이 개발되었으며, 이러한 서버 기반의 컴퓨팅 기술은 씬클라이언트 컴퓨팅 환경이라고도 불리우기도 한다. 이와 같은 시스템의 일예로는 마이크로소프트사의 '터미널 서비스'를 들 수 있다. 서버 기반의 컴퓨팅이란 서버에서 응용 프로그램이 실행되고, 클라이언트에서는 터미널 에뮬레이터를 통해 클라이언트 디바이스에 관계없이 서버에 설치된 응용 프로그램에 접속할 수 있게 된다.
따라서, 클라이언트에 해당하는 단말기에서 사용자가 하는 모든 작업은 서버에서 이루어지고, 작업된 결과는 사용자의 작업 단말기의 화면으로 보여주게 된다. 현재 PC에서 이루어지는 모든 작업이 실제로는 서버에서 이루어지므로, 기존의 PC와 달리 하드디스크, 플로피디스크 등의 저장장치를 탑재할 필요가 없기 때문에 클라이언트의 단말기의 가격을 절감시킬 수 있게 된다.
또한, 서버 기반의 컴퓨팅 기술은 하나의 서버에 여러 사용자가 접속하여 각자 독립적으로 서로 다른 응용 프로그램을 실행할 수 있는 환경을 제공한다.
이러한 터미널 서비스는 마이크로소프트사의 윈도우NT/2000/Net 서버 OS를 기반으로 하는 서버 시스템에 탑재된 것으로서, 서버 시스템에 필요한 응용 프로그램을 한번만 설치하고 사용자는 터미널 서비스에 접속할 수 있는 에뮬레이터를 자신의 컴퓨터에서 실행하게 된다. 사용자의 컴퓨터에서 실행된 에뮬레이터는 네트워크를 통해 서버에 접속하여 서버 시스템에 설치된 응용 프로그램을 사용할 수 있게 되는 것이다.
그러나, 종래에 사용되는 가상화 시스템의 경우에는 컴퓨팅 환경을 구축 시 설정된 복수의 입출력 디바이스를 이용할 뿐이었다. 따라서, 이미 구축된 컴퓨팅 환경에서는 사용자의 주변환경이 변경되어도 주변에 위치한 디바이스를 동적으로 연결하여 이용할 수 없었다. 물론, 사용자가 수동으로 입출력 디바이스를 다시 설정하는 경우에는 주변의 입출력 디바이스를 이용할 수는 있으나 입출력 디바이스를 일일이 다시 설정해야 하므로 번거로운 문제가 있다.
본 발명의 목적은, 사용자 주변에 위치한 복수의 주변기기를 동적으로 연결하여 입출력 컴퓨팅 환경을 구성함으로써, 사용자의 주변 상황에 맞는 컴퓨팅 환경을 구축하는 것이 가능하도록 하는 가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법을 제공함에 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 가상화 시스템 상에서 입출력 디바이스 설정장치는, 복수의 주변기기와 연결 가능한 가상화 시스템 상에서 입출력 디바이스를 제어하는 장치로서, 복수의 주변기기와 데이터를 송수신하는 통신모듈, 상기 통신모듈을 통해 연결된 복수의 주변기기 정보를 관리하는 관리모듈, 및 사용자 접속 시, 생성되어 있는 복수의 가상머신 중 어느 하나를 사용자에게 할달하고, 해당 사용자의 복수의 주변기기 중 적어도 하나의 주변기기에 대해 해당 사용자에게 할당된 가상머신의 입출력 디바이스를 설정하는 제어모듈을 포함한다.
또한, 상기 관리모듈은 해당 사용자의 복수의 주변기기로부터 상기 통신모듈을 통해 제공된 프로파일 정보에 기초하여 주변기기 목록을 생성한다.
상기 제어모듈은 상기 복수의 주변기기 목록 중에서 초기 입출력 디바이스로 사용할 주변기기를 선택하여, 상기 가상머신의 입출력 디바이스로 설정한다. 또한, 상기 제어모듈은 상기 복수의 주변기기 목록 중에서 사용자에 의해 선택된 적어도 하나의 주변기기를 입출력 디바이스로 설정한다.
한편, 상기 제어모듈은 상기 복수의 주변기기 중 적어도 하나의 주변기기로 상기 가상머신에 대한 접속 정보를 제공하며, 상기 가상머신은 상기 복수의 주변기기 중 상기 가상머신의 입출력 디바이스로 설정된 주변기기와 입출력 데이터를 송수신한다. 이때, 사용자 접속 시 생성되어 있는 상기 복수의 가상머신은 입출력 디바이스의 설정이 되어있지 않은 것이다.
한편, 상기한 목적을 달성하기 위한 본 발명에 따른 가상화 시스템 상에서 입출력 디바이스 설정방법은, 복수의 주변기기와 연결 가능한 가상화 시스템 상에서 입출력 디바이스를 설정하는 방법으로서, 입출력 디바이스가 설정되지 않은 복수의 가상머신을 생성하는 단계, 사용자 접속 시, 상기 복수의 가상머신 중 어느 하나를 해당 사용자에게 할당하는 단계, 상기 해당 사용자에게 할당된 가상머신의 입출력 디바이스를 설정하기 위해 해당 사용자로부터 인접한 복수의 주변기기를 검색하는 단계, 및 상기 검색된 복수의 주변기기 중 적어도 하나의 주변기기를 상기 해당 사용자에게 할당된 가상머신의 입출력 디바이스로 설정하는 단계를 포함한다.
또한, 본 발명에 따른 가상화 시스템 상에서 입출력 디바이스 설정방법은, 상기 해당 사용자로부터 인접한 복수의 주변기기에 대한 프로파일 정보를 요청하는 단계 및 상기 복수의 주변기기로부터 수신된 프로파일 정보를 이용하여 복수의 주변기기 목록을 생성하는 단계를 더 포함한다.
또한, 본 발명에 따른 가상화 시스템 상에서 입출력 디바이스 설정방법은, 상기 가상머신의 입출력 디바이스로 설정된 해당 주변기기와 입출력 데이터를 송수신하는 단계를 더 포함한다.
본 발명에 따르면, 사용자 주변에 위치한 복수의 주변기기를 동적으로 연결하여 가상화 시스템 상에서 제공되는 가상머신의 입출력 컴퓨팅 환경을 구성함으로써, 사용자의 주변 상황에 맞는 컴퓨팅 환경을 구축하는 것이 가능한 이점이 있다.
또한, 가상머신에 할당된 정형화된 기기뿐만 아니라 사용자로부터 인접한 복수의 주변기기를 입출력 디바이스로 활용함에 따라 다양한 입출력 서비스를 제공할 수 있는 효과가 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 설명하면 다음과 같다.
도 1 및 도 2는 본 발명에 따른 가상화 시스템 상에서 입출력 디바이스 설정장치에 대한 구성을 설명하는데 참조되는 도면이다.
먼저, 도 1은 본 발명에 적용되는 가상화 시스템의 일실시예를 나타낸 것이다. 도 1에 도시된 바와 같이, 본 발명에 적용되는 가상화 시스템은, 사용자에게 소정의 서비스를 제공하는 서버(100)를 포함하며, 서버(100)에는 사용자별 입출력 컴퓨팅 환경을 구축하기 위한 가상머신(Virtual Machine, VM)(110)이 복수개 구비된다. 이때, 서버(100)는 복수의 가상머신(110) 생성 시 각각의 가상머신(110a, 110b, 110c)에 대해 입출력 디바이스 정보를 제외한 컴퓨팅 환경을 설정하도록 한다.
이때, 서버(100)는 사용자 접속 시, 복수의 가상머신(110) 중 어느 하나를 제공하여, 가상머신(110)을 통해 사용자로부터 인접한 복수의 주변기기(200)를 입 출력 디바이스로 설정하도록 한다. 즉, 가상머신(110)은 사용자 접속 시, 사용자 주변에 위치한 복수의 주변기기(200)와 동적으로 연결되어, 해당 주변기기(200)를 이용하여 서버(100)에 대한 입출력 컴퓨팅환경을 구성하도록 한다. 이때 가상머신(110)은 입출력 디바이스로 설정된 적어도 하나의 주변기기(200)와 입출력 데이터를 송수신하도록 한다. 여기서, 복수의 주변기기(200)는 TV, 모니터, PDA, 오디오, 키보드, 마우스, 프린터 등과 같이 일반적으로 데이터의 입력 또는 출력이 가능한 기기라면 모두 적용 가능하다.
이에, 도 2를 참조하여 본 발명에 따른 가상화 시스템 상에서 입출력 디바이스 설정장치에 대한 구성을 좀 더 상세히 설명하고자 한다.
도 2는 본 발명에 따른 가상화 시스템 상에서 입출력 디바이스 설정장치에 대한 구성을 설명하는데 참조되는 블록도로서, 서버와 주변기기의 구성을 나타낸 것이다.
먼저, 서버(100)는 통신모듈(101), 제어모듈(103), 입출력 데이터 처리모듈(105), 및 관리모듈(107)을 포함한다.
통신모듈(101)은 적어도 하나의 주변기기(200)에 연결되어, 데이터를 송수신한다.
제어모듈(103)은 적어도 하나의 주변기기(200)와의 연결을 제어하며, 연결된 적어도 하나의 주변기기(200)와 송수신되는 제어 메시지를 처리하도록 한다. 다시 말해, 제어모듈(103)은 서버(100)의 존재 영역을 알리기 위한 알림 메시지를 생성하여 통신모듈(101)을 통해 외부로 송출하고, 알림 메시지를 통한 주변기기(200)의 연결 요청에 응답함으로써 해당 주변기기(200)와 연결되도록 한다. 이때, 제어모듈(103)은 주변기기(200)와의 연결을 위해 알림 메시지를 주기적으로 송출하도록 한다.
또한, 제어모듈(103)은 연결된 해당 주변기기(200)로부터 프로파일 정보가 수신되면, 수신된 해당 주변기기(200)의 프로파일 정보를 관리모듈(107)로 인가하도록 한다.
관리모듈(107)은 해당 주변기기(200)의 프로파일 정보를 이용하여 주변기기 목록을 생성하고, 주변기기 목록에 해당되는 주변기기(200)를 관리하도록 한다. 이때, 관리모듈(107)은 주변기기 목록 중 입출력 디바이스로 활용할 적어도 하나의 주변기기(200)를 선택하도록 한다. 여기서, 입출력 디바이스로 설정된 적어도 하나의 주변기기(200)는 초기 설정된 기준에 의해 자동으로 선택된 것이거나, 임의로 선택된 것일 수 있으며, 한편 서버(100)에 접속한 사용자에 의해 선택된 것일 수도 있다. 즉, 입출력 디바이스를 선택하는 기준은 어느 하나에 한정된 것은 아니며, 설정에 따라 변경 가능하다.
제어모듈(103)은 관리모듈(107)에 의해 선택된 적어도 하나의 주변기기(200)와 가상머신(110) 사이의 입출력 데이터 송수신을 위한 TCP port 등의 연결정보를 해당 주변기기(200)로 전송하도록 한다.
따라서, 가상머신(110)은 선택된 적어도 하나의 주변기기(200)와 연결됨에 따라 해당 주변기기(200)를 입출력 디바이스로 설정함으로써, 입출력 컴퓨팅 환경을 구축하도록 한다. 예를 들어, 가상머신(110)은 Digital TV를 디스플레이 수단으 로, 프린터를 인쇄수단으로, 키보드를 입력수단으로 설정할 수 있다. 또한, 가상머신(110)은 휴대폰, PDA 등의 개인 단말기를 입출력 디바이스로 설정할 수 있다. 이때, 가상머신(110)은 설정에 따라 개인 단말기를 입출력 디바이스 뿐만 아니라 부가 저장수단으로 설정하는 것 또한 가능하도록 한다.
입출력 데이터 처리모듈(105)은 가상머신(110)을 통해 구축된 입출력 컴퓨팅 환경에 기초하여 해당 주변기기(200)와 송수신되는 입출력 데이터를 처리한다. 즉, 입출력 데이터 처리모듈(105)은 입력 디바이스로 설정된 주변기기(200)로부터 수신된 데이터를 처리하고, 서버(100)의 출력 데이터를 출력 디바이스로 설정된 주변기기(200)로 전송함으로써 해당 주변기기(200)를 통해 데이터가 출력되도록 한다.
한편, 주변기기(200)는 통신모듈(201), 신호처리모듈(203), 입출력 모듈(205), 및 디바이스 관리모듈(207)을 포함한다.
통신모듈(201)은 서버(100)의 통신모듈(101)에 연결되어, 입력된 데이터를 서버(100)로 전송하거나, 서버(100)로부터 출력된 데이터를 수신한다.
신호처리모듈(203)은 통신모듈(201)을 통해 송수신되는 데이터를 처리하는 모듈로서, 서버(100)와의 연결을 제어한다. 즉, 신호처리모듈(203)은 통신모듈(201)을 통해 서버(100)로부터 서버(100)의 영역을 알리는 알림 메시지 수신 시, 수신된 알림 메시지로부터 서버(100)의 영역을 확인하고, 해당 서버(100)로의 연결을 요청한다. 이때, 서버(100)로부터 응답신호를 수신함에 따라 주변기기(200)의 통신모듈(201)과 서버(100)의 통신모듈(101)이 서로 연결된다.
한편, 신호처리모듈(203)은 서버(100)로부터 프로파일 정보 요청이 있으면, 디바이스 관리모듈(207)을 통해 해당 주변기기(200)의 프로파일 정보를 제공받아 서버(100)로 전송하도록 한다. 또한, 신호처리모듈(203)은 해당 주변기기(200)가 서버(100)의 가상머신(110)으로부터 입출력 디바이스로 설정된 경우, 통신모듈(201)을 통해 서버(100)의 가상머신(110)과 입출력 데이터를 송수신하도록 한다.
입출력 모듈(205)은 주변기기(200)의 입력수단 또는 출력수단에 연결되어, 입력수단으로부터 입력된 데이터를 처리하여 신호처리모듈(203)로 인가하거나, 신호처리모듈(203)로부터 인가된 데이터를 처리하여 출력수단을 통해 출력되도록 한다.
디바이스 관리모듈(207)은 해당 주변기기(200)의 프로파일 정보를 관리하는 모듈로서, 통신모듈(201)을 통해 연결된 서버(100)의 요청에 따라 서버(100)로 프로파일 정보를 제공하도록 한다. 또한, 디바이스 관리모듈(207)은 해당 주변기기(200)가 서버(100)의 가상머신(110)으로부터 입출력 디바이스로 설정된 경우, 서버(100)로부터 제공된 가상머신(110)의 연결정보를 관리한다.
도 3은 본 발명의 일실시예에 따른 가상화 시스템 상에서 입출력 디바이스 설정장치에 대한 동작 설명에 참조되는 도면이다.
도 3을 참조하면, 서버(100)는 사용자 접속 시, 복수의 가상머신(110) 중 선택된 가상머신(110)을 접속된 사용자별로 각각 제공하도록 한다. 이때, 복수의 가상머신(110)은 각각 접속된 사용자에 인접한 주변기기(200)를 입출력 디바이스로 설정함으로써, 해당 주변기기(200)와 입출력 데이터를 송수신하도록 한다. 여기서, 주변기기(200)는 복수의 가상머신(110)에 중복되어 연결될 수도 있다.
다시 말해, 복수의 가상머신(110) 중 어느 하나의 가상머신(VM_1, 110a)은 주변기기 목록 중 선택된 PDP, 무선 키보드, 스피커를 입출력 디바이스로 설정하여 입출력 컴퓨팅 환경을 구축하도록 한다. 따라서, 가상머신(VM_1, 110a)은 PDP, 무선 키보드, 스피커와 입출력 데이터를 송수신하도록 한다.
한편, 다른 하나의 가상머신(VM_2, 110b)은 주변기기 목록 중 선택된 TV, 오디오, 카메라, 및 무선 키보드를 입출력 디바이스로 설정하여 입출력 컴퓨팅 환경을 구축하도록 한다. 따라서, 가상머신(VM_2, 110b)은 TV, 오디오, 카메라, 및 무선 키보드와 입출력 데이터를 송수신하도록 한다.
한편, 또 다른 하나의 가상머신(VM_3, 110d)은 주변기기 목록 중 선택된 LCD 모니터, 무선키보드, 스피커, PDA를 입출력 디바이스로 설정하여 입출력 컴퓨팅 환경을 구축하도록 한다. 따라서, 가상머신(VM_3, 110d)은 LCD 모니터, 무선키보드, 스피커, PDA와 입출력 데이터를 송수신하도록 한다.
여기서, 무선키보드 및 스피커는 가상머신(VM_1, 110a), 가상머신(VM_2, 110b), 및 가상머신(VM_3, 110d)에 중복되어 연결된 것으로 하며, 스피커는 가상머신(VM_1, 110a)과 가상머신(VM_3, 110d)에 중복되어 연결된 것으로 한다.
상기와 같이 구성된 본 발명의 동작을 살펴보면 다음과 같다.
도 4 및 도 5는 본 발명에 따른 가상화 시스템 상에서 입출력 디바이스 설정방법에 대한 동작 흐름을 나타낸 것이다.
먼저, 도 4는 사용자가 서버에 접속 시 서버의 동작 흐름을 나타낸 것이다. 도 4에 도시된 바와 같이, 사용자 주변에 위치한 복수의 주변기기(200)를 검색하도 록 한다(S300). 이때, 적어도 하나의 주변기기(200)가 검색되면, 가상머신(110)은 검색된 주변기기(200)로부터 프로파일 정보를 수집하도록 한다(S310). 여기서, 가상머신(110)은 서버(100)의 영역을 알리는 메시지를 생성하여 외부로 출력하고, 이 메시지를 수신한 주변기기(200)의 연결 요청에 응답함으로써, 해당 주변기기(200)와 연결된다. 이때, 가상머신(110)은 해당 주변기기(200)로 프로파일 정보를 요청하는 메시지를 전송하고, 주변기기(200)는 프로파일 정보를 수집하여 송신 메시지에 실어 가상머신(110)으로 전송하도록 한다.
가상머신(110)은 복수의 주변기기(200)로부터 수집된 프로파일 정보에 기초하여 복수의 주변기기(200)에 대한 주변기기 목록을 생성하고(S320), 생성된 주변기기 목록 중 선택된 적어도 하나의 주변기기(200)를 서버(100)의 입출력 디바이스로 설정하도록 한다(S330). 또한, 가상머신(110)은 입출력 디바이스로 설정된 주변기기(200)로 연결 요청을 한다(S340). 해당 주변기기(200)의 응답이 있는 경우, 가상머신(110)은 적어도 하나의 주변기기(200)와 연결되어(S350), 해당 주변기기(200)와 입출력 데이터를 송수신하도록 한다(S360).
예를 들어, 연결된 주변기기(200)가 키보드, 마우스 등의 입력장치인 경우에는, 연결된 주변기기(200)로부터 입력된 데이터를 수신하여 대응하는 동작을 수행하도록 하고, 연결된 주변기기(200)가 모니터, 프린터 등의 출력장치인 경우에는 출력 데이터를 주변기기(200)로 송신함으로써, 해당 주변기기(200)를 통해 데이터가 출력되도록 한다. 물론, 연결된 주변기기(200)가 입력장치와 출력장치 기능을 모두 갖춘 기기인 경우에는, 해당 기능을 모두 수행하도록 할 수 있다.
도 5는 사용자의 요청에 따라 주변에 위치한 주변기기의 동작 흐름을 나타낸 순서도이다. 도 5에 도시된 바와 같이, 주변기기(200)가 동작 온(on) 된 상태에서(S400), 서버(100)의 가상머신(110)으로부터 알림 메시지를 수신하면(S410), 이에 응답하고, 주변기기(200)의 프로파일 정보를 수집하여(S420), 수집된 프로파일 정보를 가상머신(110)으로 전송하도록 한다(S430).
만일, 가상머신(110)으로부터 연결 요청이 있으면(S440), 주변기기(200)는 가상머신(110)의 연결 요청에 응답함으로써 가상머신(110)에 연결된다(S450). 따라서, 주변기기(200)는 별도의 동작 종료명령이 있기 전까지(S470), 가상머신(110)을 통해 입출력 데이터를 송수신하도록 한다(S460). 한편, 주변기기(200)는 'S430' 과정 이후에 가상머신(110)으로부터 연결 요청이 없으면, 외부 제어명령에 따라 대응하는 동작을 수행하거나, 동작 종료 명령이 있으면 동작을 종료하도록 한다(S480).
이상과 같이 본 발명에 의한 가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법은 예시된 도면을 참조로 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명은 한정되지 않고, 기술사상이 보호되는 범위 이내에서 응용될 수 있다.
도 1 은 본 발명에 적용되는 가상화 시스템의 일실시예를 나타낸 시스템 구성도,
도 2 는 본 발명의 일실시예에 따른 가상화 시스템 상에서 입출력 디바이스 설정장치의 구성을 설명하는데 참조되는 블록도,
도 3 은 본 발명의 일실시예에 따른 가상화 시스템 상에서 입출력 디바이스 설정장치의 동작 설명에 참조되는 예시도, 그리고
도 4 및 도 5 는 본 발명의 일실시예에 따른 가상화 시스템 상에서 입출력 디바이스 설정방법에 대한 동작 흐름을 도시한 순서도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
100: 서버 101: 통신모듈
103: 제어모듈 105: 입출력 데이터 처리모듈
107: 관리모듈 110: 가상머신
200: 주변기기 201: 통신모듈
203: 신호처리모듈 205: 입출력 모듈
207: 디바이스 관리모듈

Claims (10)

  1. 복수의 주변기기와 연결 가능한 가상화 시스템 상에서 입출력 디바이스를 설정하는 장치로서,
    복수의 주변기기와 데이터를 송수신하는 통신모듈;
    상기 통신모듈을 통해 연결된 복수의 주변기기 정보를 관리하는 관리모듈; 및
    사용자 접속 시, 생성되어 있는 복수의 가상머신 중 어느 하나를 사용자에게 할당하고, 해당 사용자의 복수의 주변기기 중 적어도 하나의 주변기기에 대해 해당 사용자에게 할당된 가상머신의 입출력 디바이스를 설정하는 제어모듈;을 포함하는 가상화 시스템 상에서 입출력 디바이스 설정장치.
  2. 청구항 1에 있어서,
    상기 관리모듈은,
    해당 사용자의 복수의 주변기기로부터 상기 통신모듈을 통해 제공된 프로파일 정보에 기초하여 주변기기 목록을 생성하는 것을 특징으로 하는 가상화 시스템 상에서 입출력 디바이스 설정장치.
  3. 청구항 2에 있어서,
    상기 제어모듈은,
    상기 복수의 주변기기 목록 중에서 초기 입출력 디바이스로 사용할 주변기기를 선택하여, 상기 가상머신의 입출력 디바이스로 설정하는 것을 특징으로 하는 가상화 시스템 상에서 입출력 디바이스 설정장치.
  4. 청구항 2에 있어서,
    상기 제어모듈은,
    상기 복수의 주변기기 목록 중에서 사용자에 의해 선택된 적어도 하나의 주변기기를 입출력 디바이스로 설정하는 것을 특징으로 하는 가상화 시스템 상에서 입출력 디바이스 설정장치.
  5. 청구항 1에 있어서,
    상기 제어모듈은,
    상기 복수의 주변기기 중 적어도 하나의 주변기기로 상기 가상머신에 대한 접속 정보를 제공하는 것을 특징으로 하는 가상화 시스템 상에서 입출력 디바이스 설정장치.
  6. 청구항 1에 있어서,
    상기 가상머신은,
    상기 복수의 주변기기 중 상기 가상머신의 입출력 디바이스로 설정된 주변기기와 입출력 데이터를 송수신하는 것을 특징으로 하는 가상화 시스템 상에서 입출 력 디바이스 설정장치.
  7. 청구항 1에 있어서,
    사용자 접속 시 생성되어 있는 상기 복수의 가상머신은, 입출력 디바이스의 설정이 되어있지 않은 것을 특징으로 하는 가상화 시스템 상에서 입출력 디바이스 설정장치.
  8. 복수의 주변기기와 연결 가능한 가상화 시스템 상에서 입출력 디바이스를 설정하는 방법으로서,
    입출력 디바이스가 설정되지 않은 복수의 가상머신을 생성하는 단계;
    사용자 접속 시, 상기 복수의 가상머신 중 어느 하나를 해당 사용자에게 할당하는 단계;
    상기 해당 사용자에게 할당된 가상머신의 입출력 디바이스를 설정하기 위해 해당 사용자로부터 인접한 복수의 주변기기를 검색하는 단계; 및
    상기 검색된 복수의 주변기기 중 적어도 하나의 주변기기를 상기 해당 사용자에게 할당된 가상머신의 입출력 디바이스로 설정하는 단계;를 포함하는 가상화 시스템 상에서 입출력 디바이스 설정방법.
  9. 청구항 8에 있어서,
    상기 해당 사용자로부터 인접한 복수의 주변기기에 대한 프로파일 정보를 요 청하는 단계; 및
    상기 복수의 주변기기로부터 수신된 프로파일 정보를 이용하여 복수의 주변기기 목록을 생성하는 단계;를 더 포함하는 것을 특징으로 하는 가상화 시스템 상에서 입출력 디바이스 설정방법.
  10. 청구항 8에 있어서,
    상기 가상머신의 입출력 디바이스로 설정된 해당 주변기기와 입출력 데이터를 송수신하는 단계;를 더 포함하는 것을 특징으로 하는 가상화 시스템 상에서 입출력 디바이스 설정방법.
KR1020080084762A 2008-08-28 2008-08-28 가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법 KR101007356B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080084762A KR101007356B1 (ko) 2008-08-28 2008-08-28 가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법
US12/506,312 US20100058341A1 (en) 2008-08-28 2009-07-21 Apparatus and method for setting input/output device in virtualization system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080084762A KR101007356B1 (ko) 2008-08-28 2008-08-28 가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법

Publications (2)

Publication Number Publication Date
KR20100025980A true KR20100025980A (ko) 2010-03-10
KR101007356B1 KR101007356B1 (ko) 2011-01-13

Family

ID=41727235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080084762A KR101007356B1 (ko) 2008-08-28 2008-08-28 가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법

Country Status (2)

Country Link
US (1) US20100058341A1 (ko)
KR (1) KR101007356B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012086918A2 (ko) * 2010-12-24 2012-06-28 (주)케이티 오브젝트를 복수 개의 데이터 노드들의 위치에 기반하여 분산 저장하는 분산 저장 시스템 및 그 위치 기반 분산 저장 방법 및 컴퓨터에 의하여 독출 가능한 저장 매체
US8775870B2 (en) 2010-12-22 2014-07-08 Kt Corporation Method and apparatus for recovering errors in a storage system
US8849756B2 (en) 2011-04-13 2014-09-30 Kt Corporation Selecting data nodes in distributed storage system
US9052962B2 (en) 2011-03-31 2015-06-09 Kt Corporation Distributed storage of data in a cloud storage system
US9158460B2 (en) 2011-04-25 2015-10-13 Kt Corporation Selecting data nodes using multiple storage policies in cloud storage system
US9888062B2 (en) 2010-12-24 2018-02-06 Kt Corporation Distributed storage system including a plurality of proxy servers and method for managing objects

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101262849B1 (ko) * 2009-11-30 2013-05-09 한국전자통신연구원 가상화 시스템 상에서 영상장치를 할당 및 해제하기 위한 장치 및 방법
CN102508796B (zh) * 2011-10-14 2014-10-22 深圳市京华科讯科技有限公司 一种串行端口重定向的方法及系统
CN102368219A (zh) * 2011-10-14 2012-03-07 深圳市京华科讯科技有限公司 一种串行端口分布式资源管理的方法及系统
CN102368782A (zh) * 2011-10-14 2012-03-07 深圳市京华科讯科技有限公司 一种并行端口分布式资源管理的方法及系统
CN102508795B (zh) * 2011-10-14 2014-10-22 深圳市京华科讯科技有限公司 一种并行端口重定向的方法及系统
CN102368231B (zh) * 2011-10-14 2014-02-12 深圳市京华科讯科技有限公司 一种usb设备重定向的方法及系统
CN102419737A (zh) * 2011-10-14 2012-04-18 深圳市京华科讯科技有限公司 一种usb设备分布式资源管理的方法及系统
JP6098145B2 (ja) * 2012-01-18 2017-03-22 株式会社リコー 機器管理装置、機器管理システム、及びプログラム
CN103324278A (zh) * 2012-10-30 2013-09-25 中兴通讯股份有限公司 终端设备、系统及接入虚拟桌面的方法
CN104717267B (zh) * 2013-12-17 2018-09-04 上海诺基亚贝尔股份有限公司 用于vhe的本地i/o设备连接器
EP2894563A1 (en) 2014-01-08 2015-07-15 Teach32 BV Method to interact with software running on a main device using a separate input device and system
US9986040B2 (en) 2015-07-21 2018-05-29 Amadeus S.A.S. Communications management system with a separate peripherals server
US11016794B2 (en) * 2018-11-30 2021-05-25 Vmware, Inc. Peripheral device access support for containers
KR102686180B1 (ko) * 2019-01-16 2024-07-18 한국전자통신연구원 가상화 시스템의 동작 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256162A (ja) * 2000-03-14 2001-09-21 Nec Corp 情報処理端末およびコンテンツ取得システム
US7716273B2 (en) * 2003-10-24 2010-05-11 Microsoft Corporation Systems and methods for projecting content from computing devices
US20080288578A1 (en) * 2004-04-01 2008-11-20 Nokia Corporation Method, a Device, and a System for Enabling Data Synchronization Between Multiple Devices
KR100693346B1 (ko) * 2004-11-03 2007-03-09 마스터솔루션(주) 사용자별 맞춤형 가상 컴퓨팅 환경 제공 시스템 및 그 방법
US20070192518A1 (en) * 2006-02-14 2007-08-16 Aarohi Communications, Inc., A California Corporation Apparatus for performing I/O sharing & virtualization
JP2009009330A (ja) * 2007-06-27 2009-01-15 Fujitsu Ltd 情報処理装置、情報処理システム及び情報処理装置の制御方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775870B2 (en) 2010-12-22 2014-07-08 Kt Corporation Method and apparatus for recovering errors in a storage system
WO2012086918A2 (ko) * 2010-12-24 2012-06-28 (주)케이티 오브젝트를 복수 개의 데이터 노드들의 위치에 기반하여 분산 저장하는 분산 저장 시스템 및 그 위치 기반 분산 저장 방법 및 컴퓨터에 의하여 독출 가능한 저장 매체
WO2012086918A3 (ko) * 2010-12-24 2012-09-07 (주)케이티 오브젝트를 복수 개의 데이터 노드들의 위치에 기반하여 분산 저장하는 분산 저장 시스템 및 그 위치 기반 분산 저장 방법 및 컴퓨터에 의하여 독출 가능한 저장 매체
US8495013B2 (en) 2010-12-24 2013-07-23 Kt Corporation Distributed storage system and method for storing objects based on locations
US9888062B2 (en) 2010-12-24 2018-02-06 Kt Corporation Distributed storage system including a plurality of proxy servers and method for managing objects
US9052962B2 (en) 2011-03-31 2015-06-09 Kt Corporation Distributed storage of data in a cloud storage system
US8849756B2 (en) 2011-04-13 2014-09-30 Kt Corporation Selecting data nodes in distributed storage system
US9158460B2 (en) 2011-04-25 2015-10-13 Kt Corporation Selecting data nodes using multiple storage policies in cloud storage system

Also Published As

Publication number Publication date
KR101007356B1 (ko) 2011-01-13
US20100058341A1 (en) 2010-03-04

Similar Documents

Publication Publication Date Title
KR101007356B1 (ko) 가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법
US10698717B2 (en) Accelerator virtualization method and apparatus, and centralized resource manager
US7085805B1 (en) Remote device management in grouped server environment
JP5743174B2 (ja) シンクライアントサーバシステム及びusbデバイスのドライバの管理方法
CN102368231B (zh) 一种usb设备重定向的方法及系统
US20070005693A1 (en) Multi-console workstations concurrently supporting multiple users
CN111602118B (zh) 实现虚拟机的音频,视频和控制系统
WO2006124612A2 (en) Smart-switch management module system and method
US20150358428A1 (en) Information processing system, information processing method, information processing apparatus, and control methods and control programs thereof
US20070199065A1 (en) Information processing system
CN114296953B (zh) 一种多云异构系统及任务处理方法
US20220103415A1 (en) Remote network and cloud infrastructure management
CN108255547B (zh) 一种应用程序控制方法及装置
KR101262849B1 (ko) 가상화 시스템 상에서 영상장치를 할당 및 해제하기 위한 장치 및 방법
US20080270512A1 (en) Virtual network projection system supporting multiple projection sources and method thereof
US20040103235A1 (en) USB based terminal device
CN103179102A (zh) 一种桌面虚拟化方法、设备及系统
JP2006277204A (ja) 携帯通信端末装置
US20150120815A1 (en) Remote multi-client accommodating system and host computer
JP5651778B2 (ja) モバイル機器ユーザのためのパソコンシステム及びそのパソコンシステムの運用方法
KR20150112197A (ko) 가상 운영체제 환경에서 다중화면 제어가 가능한 가상화 클라이언트
KR102301393B1 (ko) 서버 블레이드를 이용한 메시 형상의 서비스형 데스크톱 플랫폼 장치
JP5298721B2 (ja) 情報共有化システム
KR100988093B1 (ko) 터미널 환경의 서버 기반 컴퓨팅 시스템에서의 프로그램 분산 처리를 위한 장치 및 프로그램 분산 처리 방법
KR100321183B1 (ko) 자바 미들웨어 시스템 및 그 운용 방법

Legal Events

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

Payment date: 20131209

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141229

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161228

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee