KR102491998B1 - 가상화 서버, 이를 포함하는 서버 가상화 시스템의 동작 방법, 및 프로그램 - Google Patents

가상화 서버, 이를 포함하는 서버 가상화 시스템의 동작 방법, 및 프로그램 Download PDF

Info

Publication number
KR102491998B1
KR102491998B1 KR1020200168630A KR20200168630A KR102491998B1 KR 102491998 B1 KR102491998 B1 KR 102491998B1 KR 1020200168630 A KR1020200168630 A KR 1020200168630A KR 20200168630 A KR20200168630 A KR 20200168630A KR 102491998 B1 KR102491998 B1 KR 102491998B1
Authority
KR
South Korea
Prior art keywords
server
virtualization
virtualization server
work image
user terminal
Prior art date
Application number
KR1020200168630A
Other languages
English (en)
Other versions
KR20220079158A (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 KR1020200168630A priority Critical patent/KR102491998B1/ko
Publication of KR20220079158A publication Critical patent/KR20220079158A/ko
Application granted granted Critical
Publication of KR102491998B1 publication Critical patent/KR102491998B1/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • 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
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/465Distributed object oriented systems
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 실시 예에 따른 서버 가상화 시스템의 동작 방법은 제1가상화 서버가, 사용자 단말로부터 최근 작업 이미지 및 작업 이미지 인증 정보를 수신하는 단계, 상기 제1가상화 서버가, 수신된 상기 작업 이미지 인증 정보를 이용하여 상기 최근 작업 이미지에 대한 작업을 마지막으로 수행하였던 제2가상화 서버와 상기 최근 작업 이미지에 대한 인증을 수행하는 단계 및 상기 제1가상화 서버가, 인증이 완료된 상기 최근 작업 이미지를 이용하여 상기 사용자 단말에 작업 환경을 제공하는 단계를 포함한다.

Description

가상화 서버, 이를 포함하는 서버 가상화 시스템의 동작 방법, 및 프로그램{VIRTUALIZATION SERVER, OPERATING METHOD OF SERVER VIRTUALIZATION SYSTEM, AND PROGRAM USING THE SAME}
본 발명은 가상화 서버, 이를 포함하는 서버 가상화 시스템의 동작 방법, 및 프로그램에 관한 것으로, 보다 상세하게는 최근 작업 이미지를 사용자 단말로부터 수신하여 최근 작업 이미지에 대한 작업을 마지막으로 수행하였던 가상화 서버와 최근 작업 이미지에 대한 인증을 수행하고 인증이 완료된 최근 작업 이미지를 이용하여 사용자 단말에 작업 환경을 제공할 수 있는 가상화 서버, 이를 포함하는 서버 가상화 시스템의 동작 방법, 및 프로그램에 관한 것이다.
서버 가상화(server virtualization)란 서버의 리소스(resource)를 분리하여 분리된 여러 개의 가상 서버를 운영하는 기술을 의미한다. 서버 가상화를 통하여 분리된 각각의 가상 서버는 운영 체제와 어플리케이션을 독립적으로 구동시킬 수 있다. 서버 가상화 기술을 사용하면, 서버 리소스의 유동적인 운용을 통하여 서버 리소스의 활용도를 높일 수 있다.
최근, 기업들은 기업들이 생산, 보유하는 데이터의 보안 유지와 데이터의 효율적인 관리를 위하여 자체 데이터 센터들을 구축하고 있다. 하지만, 사용자는 상황에 따라 서로 다른 데이터 센터에 접속하여 작업을 이어가는 경우가 있으며, 이 때에도 데이터 센터들은 최근 작업에 대한 연속성과 보안성을 함께 제공할 수 있어야 한다.
본 발명이 이루고자 하는 기술적 과제는 최근 작업 이미지를 사용자 단말로부터 수신하여 최근 작업 이미지에 대한 작업을 마지막으로 수행하였던 가상화 서버와 최근 작업 이미지에 대한 인증을 수행하고 인증이 완료된 최근 작업 이미지를 이용하여 사용자 단말에 작업 환경을 제공할 수 있는 가상화 서버, 이를 포함하는 서버 가상화 시스템의 동작 방법, 및 프로그램을 제공하는 것이다.
본 발명의 실시 예에 따른 서버 가상화 시스템의 동작 방법은 제1가상화 서버가, 사용자 단말로부터 최근 작업 이미지 및 작업 이미지 인증 정보를 수신하는 단계, 상기 제1가상화 서버가, 수신된 상기 작업 이미지 인증 정보를 이용하여 상기 최근 작업 이미지에 대한 작업을 마지막으로 수행하였던 제2가상화 서버와 상기 최근 작업 이미지에 대한 인증을 수행하는 단계 및 상기 제1가상화 서버가, 인증이 완료된 상기 최근 작업 이미지를 이용하여 상기 사용자 단말에 작업 환경을 제공하는 단계를 포함할 수 있다.
실시 예에 따라, 상기 서버 가상화 시스템의 동작 방법은, 상기 수신하는 단계 이전에, 상기 제1가상화 서버가, 상기 제2가상화 서버로부터 전송된 사용자 인증 정보를 수신하여 저장하는 단계 및 상기 제1가상화 서버가, 저장된 상기 사용자 인증 정보를 이용하여 상기 사용자 단말에 대한 사용자 인증을 수행하는 단계를 더 포함할 수 있다.
실시 예에 따라, 상기 서버 가상화 시스템의 동작 방법은, 상기 제1가상화 서버가, 상기 제2가상화 서버로부터 상기 사용자 단말에 대한 사용자 로그 정보를 수신하는 단계 및 상기 제1가상화 서버가, 수신된 상기 사용자 로그 정보를 저장하는 단계를 더 포함할 수 있다.
실시 예에 따라, 상기 서버 가상화 시스템의 동작 방법은, 상기 제1가상화 서버가, 저장된 상기 사용자 로그 정보에 기초하여 상기 최근 작업 이미지에 대한 작업을 마지막으로 수행하였던 상기 제2가상화 서버를 검색하는 단계를 더 포함할 수 있다.
실시 예에 따라, 상기 제1가상화 서버와 상기 제2가상화 서버 각각은, 서로 물리적으로 떨어진 위치에 배치되는 데이터 센터일 수 있다.
실시 예에 따라, 상기 최근 작업 이미지는, 최근 작업의 작업 종료 시점에 상기 사용자 단말에 저장된 작업 이미지와 동기화되어 상기 제2가상화 서버에 저장된 작업 이미지일 수 있다.
실시 예에 따라, 상기 최근 작업의 작업 종료 시점은, 상기 사용자 단말과 상기 제2가상화 서버의 통신 상태에 장애가 있는 경우에도 상기 사용자 단말에서 작업이 가능하도록 뷰어(viewer) 기능을 제공하는 클라이언트 프로그램(client program)의 종료 시점일 수 있다.
실시 예에 따라, 상기 최근 작업 이미지는, 상기 제2가상화 서버에서 작업 수행에 사용되는 OS(Operating System) 영역에 대한 스냅샷 이미지일 수 있다.
본 발명의 실시 예에 따른 가상화 서버는 사용자 단말로부터 최근 작업 이미지 및 작업 이미지 인증 정보를 수신하고, 수신된 상기 작업 이미지 인증 정보를 이용하여 상기 최근 작업 이미지에 대한 작업을 마지막으로 수행하였던 타 가상화 서버와 상기 최근 작업 이미지에 대한 인증을 수행하는 보안 모듈 및 인증이 완료된 상기 최근 작업 이미지를 이용하여 상기 사용자 단말에 작업 환경을 제공하는 이미지 관리 모듈을 포함할 수 있다.
본 발명의 실시 예에 따른 프로세서(processor)와 결합되어 서버 가상화 시스템의 동작 방법을 수행하기 위한 매체에 저장된 프로그램은 제1가상화 서버가, 사용자 단말로부터 최근 작업 이미지 및 작업 이미지 인증 정보를 수신하는 단계, 상기 제1가상화 서버가, 수신된 상기 작업 이미지 인증 정보를 이용하여 상기 최근 작업 이미지에 대한 작업을 마지막으로 수행하였던 제2가상화 서버와 상기 최근 작업 이미지에 대한 인증을 수행하는 단계 및 상기 제1가상화 서버가, 인증이 완료된 상기 최근 작업 이미지를 이용하여 상기 사용자 단말에 작업 환경을 제공하는 단계를 수행할 수 있다.
본 발명의 실시 예에 따른 방법과 장치들은 최근 작업 이미지를 사용자 단말로부터 수신하여 최근 작업 이미지에 대한 작업을 마지막으로 수행하였던 가상화 서버와 최근 작업 이미지에 대한 인증을 수행하고 인증이 완료된 최근 작업 이미지를 이용하여 사용자 단말에 작업 환경을 제공함으로써, 사용자가 상황에 따라 서로 다른 데이터 센터에 접속하여 작업을 이어가는 경우에도 최근 작업에 대한 연속성과 보안성을 함께 담보할 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 서버 가상화 시스템을 나타낼 수 있다.
도 2는 도 1에 도시된 서버 가상화 시스템의 최초 작업 과정에 따른 데이터 플로우이다.
도 3은 도 2의 최근 작업에 대한 정보를 활용하여 사용자 단말에 작업 환경을 제공하는 과정의 데이터 플로우이다.
본 발명의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세히 설명하고자 한다. 그러나, 이는 본 발명의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 프로세서(Processor), 마이크로 프로세서(Micro Processer), 마이크로 컨트롤러(Micro Controller), CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerate Processor Unit), DSP(Drive Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있으며, 적어도 하나의 기능이나 동작의 처리에 필요한 데이터를 저장하는 메모리(memory)와 결합되는 형태로 구현될 수도 있다.
그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
도 1은 본 발명의 일 실시 예에 따른 서버 가상화 시스템을 나타낼 수 있다.
도 1을 참조하면, 서버 가상화 시스템은 사용자 단말(100)과 복수의 가상화 서버들(200-1, 200-2)을 포함할 수 있다.
도 1에서는 설명의 편의를 위하여 2개의 가상화 서버들(200-1, 200-2)을 도시하고 있으나, 가상화 서버들의 개수는 다양한 변경이 가능하다.
실시 예에 따라, 서버 가상화 시스템은 VDI(Virtual Desktop Infrastructure), 서버리스(serverless) 컴퓨팅 플랫폼 등 다양한 용어로 칭해질 수 있다. 또한, 서버 가상화 시스템은 완전 가상화, 반가상화, 또는 OS 수준 가상화 등의 다양한 가상화 수준으로 구현될 수 있다.
사용자 단말(100)은 네트워크를 통하여 복수의 가상화 서버들(200-1, 200-2)에서 생성 및 관리되는 컨테이너를 통하여 API 실행 환경을 제공받을 수 있다.
복수의 가상화 서버들(200-1, 200-2)은 네트워크를 통하여 상호 간에도 통신을 수행할 수 있다.
실시 예에 따라, 복수의 가상화 서버들(200-1, 200-2) 각각은 서로 물리적으로 떨어진 위치에 배치되는 데이터 센터(data center)로 구현될 수 있다.
복수의 가상화 서버들(200-1, 200-2) 각각은 가상 머신(Virtual Machine(VM), 210-1, 210-2), 보안 모듈(security module, 220-1, 220-2), 이미지 관리 모듈(image management module, 230-1, 230-2), 로그 관리 모듈(log management module, 240-1, 240-2), 및 스토리지(storage, 250-1, 250-2)를 포함할 수 있다.
복수의 가상화 서버들(200-1, 200-2) 각각은 가상 머신(210-1, 210-2)을 생성하고 관리할 수 있다. 실시 예에 따라, 복수의 가상화 서버들(200-1, 200-2) 각각은 복수의 가상 머신들을 동시에 운영할 수도 있다.
실시 예에 따라, 복수의 가상화 서버들(200-1, 200-2) 각각은 가상 머신(210-1, 210-2)을 생성하고 관리하기 위한 하이퍼바이저(hypervisor)를 포함할 수 있다.
각 가상 머신(210-1, 210-2)은 상응하는 운영 체제(Operating System(OS)), 예컨대, 리눅스, 윈도우 데스크톱/서버, FreeBSD, DOS, 노벨 서버, 또는 맥 OSX 등을 구동시킬 수 있으며, 각 가상 머신(210-1, 210-2)에서 구동시키는 운영 체제 기반의 소프트웨어들을 사용할 수 있다.
보안 모듈(220-1, 220-2)은 복수의 가상화 서버들(200-1, 200-2) 각각으로 서비스 요청을 하는 사용자 단말(100)에 대한 사용자 인증을 수행할 수 있다.
실시 예에 따라, 제1가상화 서버(200-1)의 보안 모듈(220-1)은 사용자 단말(100)에 대한 사용자 인증을 위한 사용자 인증 정보(예컨대, 보안 키 등)를 제2가상화 서버(200-2)의 보안 모듈(220-2)과 서로 공유할 수 있다.
보안 모듈(220-1, 220-2)은 사용자 단말(100)과 동기화된 작업 이미지에 대한 인증 정보를 생성하고 관리할 수 있다. 보안 모듈(220-1, 220-2)은 사용자 단말(100)로부터 전송된 최근 작업 이미지에 대한 인증을 수행할 수 있다. 실시 예에 따라, 제1가상화 서버(200-1)의 보안 모듈(220-1)은 제2가상화 서버(200-2)의 보안 모듈(220-2)과 최근 작업 이미지에 대한 인증 과정을 수행할 수 있다.
이미지 관리 모듈(230-1, 230-2)은 사용자 단말(100)이 복수의 가상화 서버들(200-1, 200-2) 각각의 가상 머신(210-1, 210-2)을 통하여 작업을 수행하는 경우에 수행 중인 작업에 대한 작업 이미지와 완료된 작업에 대한 작업 이미지를 생성하고, 생성된 작업 이미지를 통하여 사용자 단말(100)에 작업 환경을 제공할 수 있다.
실시 예에 따라, 작업 이미지는 가상화 서버(200-1 또는 200-2)에서 작업 수행에 사용되는 가상 머신(210-1 또는 210-2)의 OS 영역에 대한 스냅샷 이미지일 수 있다.
이미지 관리 모듈(230-1, 230-2)에 의해 생성된 작업 이미지는 사용자 단말(100)과 주기적으로 동기화될 수 있다. 또한, 사용자 단말(100)이 클라이언트 프로그램(client program)을 종료하는 시점에 최종적으로 작업 이미지를 동기화할 수 있다. 예컨대, 상기 클라이언트 프로그램은 사용자 단말과 가상화 서버(200-1 또는 200-2)의 통신 상태에 장애가 있는 경우에도 사용자 단말(100)에서 작업이 가능하도록 뷰어(viewer) 기능을 제공할 수 있다.
로그 관리 모듈(240-1, 240-2)은 사용자 단말(100)이 가상화 서버(200-1 또는 200-2)에 접속하여 작업한 이력에 대한 로그 정보를 관리할 수 있다.
실시 예에 따라, 제1가상화 서버(200-1)의 로그 관리 모듈(240-1)은 사용자 단말(100)의 로그 정보를 제2가상화 서버(200-2)의 로그 관리 모듈(240-2)과 서로 공유할 수 있다.
스토리지(250-1, 250-2)는 각 가상화 서버(200-1, 200-2)에서 가상 머신(210-1, 210-2)의 생성 및 관리에 필요한 데이터, 이미지 관리 모듈(230-1, 230-2)에 의해 생성 및 관리되는 작업 이미지 데이터, 로그 관리 모듈(240-1, 240-2)에서 생성 및 관리되는 로그 정보 데이터 등을 저장할 수 있다.
실시 예에 따라, 스토리지(250-1, 250-2)는 각 가상화 서버(200-1, 200-2)와 별도의 장치로 구현될 수 있으며, 이 때 각 가상화 서버(200-1, 200-2)의 내부에는 별도의 메모리가 포함될 수 있다.
사용자 단말(100)과 가상화 서버(200-1, 200-2) 간의 상세한 데이터 플로우에 대해서는 도 2와 도 3을 참조하여 후술하도록 한다.
도 2는 도 1에 도시된 서버 가상화 시스템의 최초 작업 과정에 따른 데이터 플로우이다.
도 1과 도 2를 참조하면, 사용자 단말(100)은 제1가상화 서버(200-1)로 서비스 요청 메시지를 전송할 수 있다(S210).
실시 예에 따라, 서비스 요청 메시지는 사용자가 작업을 위하여 제1가상화 서버(200-1)에서 제공되는 작업 환경을 제공받기 위한 요청 메시지이다. 실시 예에 따라, 서비스 요청 메시지에는 사용자 단말(100)의 식별정보 또는 사용자의 식별정보가 포함될 수 있다.
제1가상화 서버(200-1)는 사용자 단말(100)로부터 전송된 서비스 요청 메시지에 따라, 사용자 단말(100)과 사용자 인증 절차를 수행하고, 사용자 인증에 따른 사용자 인증 정보를 생성할 수 있다(S212).
실시 예에 따라, S212 단계는 보안 모듈(220-1)에서 수행될 수 있다.
실시 예에 따라, S212 단계에서 생성된 사용자 인증 정보에는 사용자 인증을 위한 보안키가 포함될 수 있다.
S212 단계를 통하여 사용자 인증 과정에서 생성된 사용자 인증 정보는 사용자 단말(100)과 제1가상화 서버(200-1) 각각에 저장될 수 있다(S214, S216).
제1가상화 서버(200-1)는 저장된 사용자 인증 정보를 제2가상화 서버(200-2)로 전송할 수 있다(S218).
실시 예에 따라, 서버 가상화 시스템에 더 많은 가상화 서버들이 포함되는 경우, 제1가상화 서버(200-1)는 제2가상화 서버(200-2) 이외에도 전체 가상화 서버들로 사용자 인증 정보를 전송하여 공유할 수 있다.
제2가상화 서버(200-2)는 제1가상화 서버(200-1)로부터 전송된 사용자 인증 정보를 저장할 수 있다(S220).
사용자 인증 과정이 완료된 사용자 단말(100)은 제1가상화 서버(200-1)에서 제공되는 작업 환경을 통하여 작업을 진행할 수 있다(S222).
사용자 단말(100)과 제1가상화 서버(200-1) 각각은 S222 단계에서 진행된 작업에 대한 작업 이미지를 저장할 수 있다(S224, S226).
실시 예에 따라, 사용자 단말(100)과 제1가상화 서버(200-1) 각각은 S222 단계에서 진행된 작업에 대한 작업 이미지를 주기적으로 저장할 수 있다.
사용자 단말(100)과 제1가상화 서버(200-1)에는 기본적으로 서로 동일한 작업 이미지가 저장되지만, 사용자 단말(100)과 제1가상화 서버(200-1)의 통신 상태에 장애가 있는 경우, 사용자 단말(100)에 저장된 작업 이미지에만 작업 내용이 반영될 수 있다.
따라서, 사용자 단말(100)과 제1가상화 서버(200-1)에 저장된 작업 이미지가 불일치하는 것을 방지하기 위하여, 사용자 단말(100)과 제1가상화 서버(200-1)는 작업 종료 시점에 최종 작업 이미지 동기화 과정을 수행할 수 있다(S228).
실시 예에 따라, 작업 종료 시점은 사용자 단말(100)과 제1가상화 서버(200-1)의 통신 상태에 장애가 있는 경우에도 사용자 단말(100)에서 작업이 가능하도록 뷰어(viewer) 기능을 제공하는 클라이언트 프로그램이 종료된 시점일 수 있다.
또한, 제1가상화 서버(200-1)는 사용자 단말(100)과 함께, 저장된 작업 이미지가 최종적인 작업 이미지임을 인증하기 위한 작업 이미지 인증 정보를 생성할 수 있다(S230).
실시 예에 따라, 작업 이미지 인증 정보는 사용자 단말(100) 또는 사용자에 대한 식별정보와 작업 이미지에 대한 해시값(hash value) 중에서 적어도 어느 하나를 포함할 수 있다.
S230 단계에서 생성된 작업 이미지 인증 정보는 사용자 단말(100)과 제1가상화 서버(200-1) 각각에 저장될 수 있다(S232, S234).
제1가상화 서버(200-1)는 사용자 단말(100)이 제1가상화 서버(200-1)에 접속한 접속 기록 및 제1가상화 서버(200-1)를 통하여 작업을 진행한 이력 등에 관한 사용자 로그 정보를 제2가상화 서버(200-2)로 전송할 수 있다(S236).
실시 예에 따라, 서버 가상화 시스템에 더 많은 가상화 서버들이 포함되는 경우, 제1가상화 서버(200-1)는 제2가상화 서버(200-2) 이외에도 전체 가상화 서버들로 사용자 로그 정보를 전송하여 공유할 수 있다.
제2가상화 서버(200-2)는 수신한 사용자 로그 정보를 저장할 수 있다(S238).
도 3은 도 2의 최근 작업에 대한 정보를 활용하여 사용자 단말에 작업 환경을 제공하는 과정의 데이터 플로우이다.
도 3은 사용자 단말(100)이 최근에 제1가상화 서버(200-1)를 통하여 작업을 진행하였고, 제2가상화 서버(200-2)를 통하여 작업을 이어가려는 경우의 데이터 플로우를 나타낼 수 있다.
도 1 내지 도 3을 참조하면, 사용자 단말(100)은 제2가상화 서버(200-2)로 서비스 요청 메시지를 전송할 수 있다(S310).
실시 예에 따라, S310 단계의 서비스 요청 메시지는 S210 단계에서의 서비스 요청 메시지와 동일할 수도 있고 다를 수도 있다. S310 단계의 서비스 요청 메시지가 S210 단계에서의 서비스 요청 메시지와 다른 경우, S310 단계의 서비스 요청 메시지에는 최근에 작업을 진행하였던 가상화 서버와 현재 서비스 요청을 하는 가상화 서버가 다르다는 정보가 포함될 수 있다.
제2가상화 서버(200-2)는 S218 단계와 S220 단계를 통하여 제1가상화 서버(200-1)로부터 사용자 단말(100)에 대한 사용자 인증 정보를 수신하여 저장하고 있었기 때문에, 저장된 사용자 인증 정보를 이용하여 직접 사용자 단말(100)과 사용자 인증 절차를 수행할 수 있다(S312).
제2가상화 서버(200-2)는 S312 단계를 통하여 사용자 인증이 완료된 사용자 단말(100)에 대하여, 최근 작업 이력을 포함하는 사용자 로그 정보를 검색할 수 있다(S314).
제2가상화 서버(200-2)는 S236 단계와 S238 단계를 통하여 제1가상화 서버(200-1)로부터 사용자 단말(100)에 대한 사용자 로그 정보를 수신하여 저장하고 있었기 때문에, 저장된 사용자 로그 정보를 이용하여 최근에 작업을 진행하였던 가상화 서버, 즉 제1가상화 서버(200-1)를 검색할 수 있다(S314).
제2가상화 서버(200-2)는 사용자 인증이 완료된 사용자 단말(100)로 최근 작업 이미지 요청 메시지를 전송할 수 있다(S316).
사용자 단말(100)은 S316 단계의 최근 작업 이미지 요청 메시지에 응답하여, 사용자 단말(100)에 저장되어 있던 최근 작업 이미지와 작업 이미지 인증 정보를 제2가상화 서버(200-2)로 전송할 수 있다(S318).
실시 예에 따라, S318 단계에서 전송되는 최근 작업 이미지는 S228 단계에서 제1가상화 서버(200-1)와의 최종 작업 이미지 동기화에 사용되었던 작업 이미지일 수 있다.
실시 예에 따라, S318 단계에서 전송되는 작업 이미지 인증 정보는 S232 단계에서 저장되었던 작업 이미지 인증 정보일 수 있다.
제2가상화 서버(200-2)는 사용자 단말(100)로부터 전송된 최근 작업 이미지와 작업 이미지 인증 정보를 이용하여, 제1가상화 서버(200-1)와 최근 작업 이미지가 맞는지에 대한 인증 절차를 수행할 수 있다(S320).
실시 예에 따라, 제2가상화 서버(200-2)는 S314 단계를 통하여 검색된 사용자 로그 정보에 기초하여 제1가상화 서버(200-1)를 검색하고, 검색된 제1가상화 서버(200-1)와 최근 작업 이미지에 대한 인증 절차를 수행할 수 있다.
S320 단계의 인증 절차가 완료되면, 사용자 단말(100)이 S318 단계에서 제2가상화 서버(200-2) 측으로 전송하였던 최근 작업 이미지를 이용하여 작업이 진행될 수 있다(S322).
S322 단계 이후에는 도 2의 S222 단계 이후와 실질적으로 동일한 형태로 데이터 처리가 이루어질 수 있다.
사용자 단말(100)과 제2가상화 서버(200-2) 각각은 S322 단계에서 진행된 작업에 대한 작업 이미지를 저장할 수 있다(S324, S326).
사용자 단말(100)과 제2가상화 서버(200-2)에는 기본적으로 서로 동일한 작업 이미지가 저장되지만, 사용자 단말(100)과 제2가상화 서버(200-2)의 통신 상태에 장애가 있는 경우, 사용자 단말(100)에 저장된 작업 이미지에만 작업 내용이 반영될 수 있다.
따라서, 사용자 단말(100)과 제2가상화 서버(200-2)에 저장된 작업 이미지가 불일치하는 것을 방지하기 위하여, 사용자 단말(100)과 제2가상화 서버(200-2)는 작업 종료 시점에 최종 작업 이미지 동기화 과정을 수행할 수 있다(S328).
사용자 단말(100)과 제2가상화 서버(200-2)는 저장된 작업 이미지가 최종적인 작업 이미지임을 인증하기 위한 작업 이미지 인증 정보를 생성할 수 있다(S330).
S330 단계에서 생성된 작업 이미지 인증 정보는 사용자 단말(100)과 제2가상화 서버(200-2) 각각에 저장될 수 있다(S332, S334).
실시 예에 따라, 제2가상화 서버(200-2)는 사용자 단말(100)이 제2가상화 서버(200-2)에 접속한 접속 기록 및 제2가상화 서버(200-2)를 통하여 작업을 진행한 이력 등에 관한 사용자 로그 정보를 다른 가상화 서버(예컨대, 제1가상화 서버(200-1))와 공유할 수 있다.
본 발명의 실시 예에 따른 서버 가상화 시스템의 동작 방법은 프로그램 코드로 구현되어 사용자 단말(100)과 각 가상화 서버(200-1, 200-2)의 메모리에 저장될 수 있으며, 메모리는 프로세서와 결합되어 본 발명의 실시 예에 따른 가상화 시스템의 동작 방법을 수행 시킬 수 있다.
이상, 본 발명을 바람직한 실시 예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시 예에 한정되지 않고, 본 발명의 기술적 사상 및 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다.
100 : 사용자 단말
200-1, 200-2 : 가상화 서버
210-1, 210-2 : 가상화 머신
220-1, 220-2 : 보안 모듈
230-1, 230-2 : 이미지 관리 모듈
240-1. 240-2 : 로그 관리 모듈
250-1, 250-2 : 스토리지(storage)

Claims (10)

  1. 제1가상화 서버가, 제2가상화 서버로부터 전송된 사용자 인증 정보를 수신하여 저장하는 단계;
    상기 제1가상화 서버가, 저장된 상기 사용자 인증 정보를 이용하여 상기 사용자 단말에 대한 사용자 인증을 자체적으로 수행하는 단계;
    상기 제1가상화 서버가, 상기 사용자 단말로부터 최근 작업 이미지 및 작업 이미지 인증 정보를 수신하는 단계;
    상기 제1가상화 서버가, 수신된 상기 작업 이미지 인증 정보를 이용하여 상기 최근 작업 이미지에 대한 작업을 마지막으로 수행하였던 상기 제2가상화 서버와 상기 최근 작업 이미지에 대한 인증을 수행하는 단계; 및
    상기 제1가상화 서버가, 인증이 완료된 상기 최근 작업 이미지를 이용하여 상기 사용자 단말에 작업 환경을 제공하는 단계를 포함하며,
    상기 제1가상화 서버와 상기 제2가상화 서버 각각은, 서로 물리적으로 떨어진 위치에 배치되는, 서버 가상화 시스템의 동작 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 서버 가상화 시스템의 동작 방법은,
    상기 제1가상화 서버가, 상기 제2가상화 서버로부터 상기 사용자 단말에 대한 사용자 로그 정보를 수신하는 단계; 및
    상기 제1가상화 서버가, 수신된 상기 사용자 로그 정보를 저장하는 단계를 더 포함하는, 서버 가상화 시스템의 동작 방법.
  4. 제3항에 있어서,
    상기 서버 가상화 시스템의 동작 방법은,
    상기 제1가상화 서버가, 저장된 상기 사용자 로그 정보에 기초하여 상기 최근 작업 이미지에 대한 작업을 마지막으로 수행하였던 상기 제2가상화 서버를 검색하는 단계를 더 포함하는, 서버 가상화 시스템의 동작 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 최근 작업 이미지는,
    최근 작업의 작업 종료 시점에 상기 사용자 단말에 저장된 작업 이미지와 동기화되어 상기 제2가상화 서버에 저장된 작업 이미지인, 서버 가상화 시스템의 동작 방법.
  7. 제6항에 있어서,
    상기 최근 작업의 작업 종료 시점은,
    상기 사용자 단말과 상기 제2가상화 서버의 통신 상태에 장애가 있는 경우에도 상기 사용자 단말에서 작업이 가능하도록 뷰어(viewer) 기능을 제공하는 클라이언트 프로그램(client program)의 종료 시점인, 서버 가상화 시스템의 동작 방법.
  8. 제1항에 있어서,
    상기 최근 작업 이미지는,
    상기 제2가상화 서버에서 작업 수행에 사용되는 OS(Operating System) 영역에 대한 스냅샷 이미지인, 서버 가상화 시스템의 동작 방법.
  9. 가상화 서버에 있어서,
    사용자 단말로부터 최근 작업 이미지 및 작업 이미지 인증 정보를 수신하고, 수신된 상기 작업 이미지 인증 정보를 이용하여 상기 최근 작업 이미지에 대한 작업을 마지막으로 수행하였던 타 가상화 서버와 상기 최근 작업 이미지에 대한 인증을 수행하는 보안 모듈; 및
    인증이 완료된 상기 최근 작업 이미지를 이용하여 상기 사용자 단말에 작업 환경을 제공하는 이미지 관리 모듈을 포함하며,
    상기 보안 모듈은, 상기 타 가상화 서버로부터 전송되어 저장된 사용자 인증 정보를 이용하여 상기 사용자 단말에 대한 사용자 인증을 자체적으로 수행하며,
    상기 가상화 서버는, 상기 타 가상화 서버와 물리적으로 떨어진 위치에 배치되는, 가상화 서버.
  10. 프로세서(processor)와 결합되어 서버 가상화 시스템의 동작 방법을 수행하기 위한 매체에 저장된 프로그램으로서,
    상기 프로그램이 실행되는 가상화 서버와 서로 다른 타 가상화 서버로부터 전송된 사용자 인증 정보를 수신하여 저장하는 단계;
    저장된 상기 사용자 인증 정보를 이용하여 상기 사용자 단말에 대한 사용자 인증을 자체적으로 수행하는 단계;
    상기 사용자 단말로부터 최근 작업 이미지 및 작업 이미지 인증 정보를 수신하는 단계;
    수신된 상기 작업 이미지 인증 정보를 이용하여 상기 최근 작업 이미지에 대한 작업을 마지막으로 수행하였던 상기 타 가상화 서버와 상기 최근 작업 이미지에 대한 인증을 수행하는 단계; 및
    인증이 완료된 상기 최근 작업 이미지를 이용하여 상기 사용자 단말에 작업 환경을 제공하는 단계를 수행하며,
    상기 가상화 서버와 상기 타 가상화 서버 각각은, 서로 물리적으로 떨어진 위치에 배치되는, 프로그램.
KR1020200168630A 2020-12-04 2020-12-04 가상화 서버, 이를 포함하는 서버 가상화 시스템의 동작 방법, 및 프로그램 KR102491998B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200168630A KR102491998B1 (ko) 2020-12-04 2020-12-04 가상화 서버, 이를 포함하는 서버 가상화 시스템의 동작 방법, 및 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200168630A KR102491998B1 (ko) 2020-12-04 2020-12-04 가상화 서버, 이를 포함하는 서버 가상화 시스템의 동작 방법, 및 프로그램

Publications (2)

Publication Number Publication Date
KR20220079158A KR20220079158A (ko) 2022-06-13
KR102491998B1 true KR102491998B1 (ko) 2023-01-26

Family

ID=81984007

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200168630A KR102491998B1 (ko) 2020-12-04 2020-12-04 가상화 서버, 이를 포함하는 서버 가상화 시스템의 동작 방법, 및 프로그램

Country Status (1)

Country Link
KR (1) KR102491998B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099557A (ja) * 2004-09-30 2006-04-13 Hitachi Ltd 計算機システム
JP2006099406A (ja) * 2004-09-29 2006-04-13 Nec Corp スイッチ装置とシステム並びにバックアップ及びリストア方法とプログラム
JP2010211819A (ja) * 2010-04-26 2010-09-24 Hitachi Ltd 障害回復方法
JP2012073985A (ja) * 2010-09-30 2012-04-12 Internatl Business Mach Corp <Ibm> 仮想サーバのスナップショットを管理する方法、及び該方法を具現化する装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200105174A (ko) * 2019-02-28 2020-09-07 에스케이브로드밴드주식회사 특정 시점의 환경을 제공할 수 있는 가상 데스크톱 시스템 및 그 데이터 처리 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099406A (ja) * 2004-09-29 2006-04-13 Nec Corp スイッチ装置とシステム並びにバックアップ及びリストア方法とプログラム
JP2006099557A (ja) * 2004-09-30 2006-04-13 Hitachi Ltd 計算機システム
JP2010211819A (ja) * 2010-04-26 2010-09-24 Hitachi Ltd 障害回復方法
JP2012073985A (ja) * 2010-09-30 2012-04-12 Internatl Business Mach Corp <Ibm> 仮想サーバのスナップショットを管理する方法、及び該方法を具現化する装置

Also Published As

Publication number Publication date
KR20220079158A (ko) 2022-06-13

Similar Documents

Publication Publication Date Title
EP3338186B1 (en) Optimal storage and workload placement, and high resiliency, in geo-distributed cluster systems
CN109542611B (zh) 数据库即服务系统、数据库调度方法、设备及存储介质
US8495624B2 (en) Provisioning a suitable operating system environment
CN112130965A (zh) 部署分布式容器编排管理集群的方法、设备及存储介质
US7379990B2 (en) Distributed virtual SAN
CN108206847B (zh) Cdn管理系统、方法及装置
EP2923272B1 (en) Distributed caching cluster management
US8756694B2 (en) Prevention of exploitation of update rollback
US10462250B2 (en) Distributed caching cluster client configuration
CN102053982A (zh) 一种数据库信息管理方法和设备
US11809901B2 (en) Migrating the runtime state of a container between two nodes
CN110908770A (zh) 虚拟机的运行及创建方法、虚拟机及虚拟机化管理平台
CN113196237A (zh) 计算系统中的容器迁移
KR20120018178A (ko) 객체 저장부들의 네트워크상의 스웜-기반의 동기화
KR20050001321A (ko) 분산 구축 환경의 소프트웨어 이미지 생성
CN113656147B (zh) 一种集群部署方法、装置、设备及存储介质
US7539987B1 (en) Exporting unique operating system features to other partitions in a partitioned environment
JP2013218687A (ja) サーバー監視システム及びその方法
Netto et al. Koordinator: A service approach for replicating docker containers in kubernetes
US9529772B1 (en) Distributed caching cluster configuration
EP3533198B1 (en) Highly available and reliable secret distribution infrastructure
WO2023284473A1 (zh) 数据管理方法、装置、计算机设备及存储介质
CN105373563B (zh) 数据库切换方法及装置
CN114489690A (zh) 一种分布式系统部署方法、装置、电子设备及存储介质
KR102491998B1 (ko) 가상화 서버, 이를 포함하는 서버 가상화 시스템의 동작 방법, 및 프로그램

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant