KR20110103699A - Network block device providing personalized virtual machine in cloud computing environment and control method thereof - Google Patents
Network block device providing personalized virtual machine in cloud computing environment and control method thereof Download PDFInfo
- Publication number
- KR20110103699A KR20110103699A KR1020100022882A KR20100022882A KR20110103699A KR 20110103699 A KR20110103699 A KR 20110103699A KR 1020100022882 A KR1020100022882 A KR 1020100022882A KR 20100022882 A KR20100022882 A KR 20100022882A KR 20110103699 A KR20110103699 A KR 20110103699A
- Authority
- KR
- South Korea
- Prior art keywords
- operation command
- block
- network
- write
- virtual machine
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 및 그 제어 방법이 제공된다. 본 발명에 따른 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버의 제어 방법은, 가상 머신(Virtual Machine)을 제공하는 OS 이미지 파일(Operating System Image File)과 상기 OS 이미지 파일에 대한 쓰기 명령에 대한 데이터를 기록하는 쓰기 데이터 파일을 저장하는 단계; 네트워크 블록 디바이스 클라이언트(NBD Client)로부터 상기 가상 머신에 대한 연산 명령을 수신하는 단계; 상기 수신한 연산 명령이 읽기 연산 명령이면 상기 읽기 연산 명령에 해당하는 상기 OS 이미지 파일의 블록(block)이 캐시 메모리에 존재하는지를 판단하여, 상기 캐시 메모리에 존재하면 상기 블록을 상기 네트워크 블록 디바이스 클라이언트로 제공하는 단계; 및 상기 수신한 연산 명령이 쓰기 연산 명령이면 상기 쓰기 데이터 파일 상의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에, 상기 쓰기 연산 명령에 따른 블록을 기록하는 단계를 포함한다.Provided are a network block device for providing a personalized virtual machine in a cloud computing environment and a control method thereof. In a method of controlling a network block device server providing a personalized virtual machine in a cloud computing environment according to the present invention, an OS image file providing a virtual machine and a write command to the OS image file are provided. Storing a write data file for recording data for the; Receiving an operation command for the virtual machine from a network block device client; If the received operation command is a read operation command, it is determined whether a block of the OS image file corresponding to the read operation command exists in the cache memory. If the received operation command exists in the cache memory, the block is transferred to the network block device client. Providing; And if the received operation command is a write operation command, writing a block according to the write operation command to a bitmap of a block corresponding to the write operation command on the write data file.
Description
본 발명의 실시예들은 네트워크 블록 디바이스 및 그 제어 방법에 관한 것으로, 보다 상세하게는 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 및 그 제어 방법에 관한 것이다.Embodiments of the present invention relate to a network block device and a control method thereof, and more particularly, to a network block device for providing a personalized virtual machine in a cloud computing environment and a control method thereof.
본 발명은 지식경제부의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-016-03, 과제명: 저비용 대규모 글로벌 인터넷 서비스 솔루션 개발].The present invention is derived from a study conducted as part of the IT growth engine technology development project of the Ministry of Knowledge Economy [Task Management No .: 2007-S-016-03, Title: Development of a low-cost large-scale global Internet service solution].
블록 디바이스(Block Device)는 블록 단위의 입출력이 가능한 장치로서, 대부분의 유닉스(Unix) 또는 리눅스(Linux) 시스템은 이와 같은 블록 디바이스를 포함하여 구성되어 있다. 네트워크 블록 디바이스(Network Block Device: NBD)는 네트워크를 통하여 네트워크 블록 디바이스 클라이언트가 이와 같은 블록 디바이스로 접근 가능하도록 하는 구성을 가지고 있다.A block device is a device capable of input / output in units of blocks, and most Unix or Linux systems include such a block device. A network block device (NBD) has a configuration that allows a network block device client to access such a block device through a network.
클라우드 컴퓨팅(cloud computing) 환경에서 가상 머신(Virtual Machine)의 구동을 위해서는, 로컬 디스크에 운영 체제(Operating System: OS)를 설치 가능한 크기의 적절한 디바이스 파일을 생성하고 상기 디바이스 파일 상에 운영 체제를 설치한다. 이와 같이 구성되는 가상 머신은 사용자의 읽기(read) 또는 쓰기(write) 명령에 의하여 변경이 이루어지며 그에 따라 각 사용자당 하나의 가상 머신이 할당된다.To run a virtual machine in a cloud computing environment, create an appropriate device file of a size that can install an operating system (OS) on a local disk and install an operating system on the device file. do. The virtual machine configured as described above is changed by a user's read or write command, and thus, one virtual machine is allocated to each user.
그러므로, 종래에는 사용자 별로 가상 머신을 위한 파일을 여러 개 생성하여 네트워크 파일 시스템(Network File System: NFS)의 형태로 사용자에게 제공하였으며, 그에 따라 가상 머신의 용량의 낭비가 발생하였으며 가상 머신의 사용자에 대한 응답성에도 문제가 발생하였다. 즉, 종래에는 사용자 별로 가상 머신 이미지 파일을 복사하여야 하므로 로컬 디스크의 용량의 낭비가 발생하고 사용자에게 제공할 수 있는 가상 머신의 수도 한정되어 있었다. 또한, 다수의 사용자가 가상 머신을 요청하는 경우 네트워크 블록 디바이스 서버에서 네트워크 병목 현상이 발생하여 사용자의 읽기 또는 쓰기 명령이 원활하게 이루어질 수 없었다.Therefore, in the related art, a plurality of files for a virtual machine are generated for each user and provided to a user in the form of a network file system (NFS). Accordingly, a waste of the capacity of the virtual machine occurs, There was a problem with responsiveness. That is, in the related art, since the virtual machine image file must be copied for each user, the capacity of the local disk is wasted and the number of virtual machines that can be provided to the user is limited. In addition, when a large number of users request a virtual machine, a network bottleneck occurs in the network block device server, and thus, a user's read or write command cannot be smoothly performed.
본 발명은 가상 머신을 제공하는 OS 이미지 파일과 상기 OS 이미지 파일에 대한 쓰기 데이터를 별도로 관리하여 가상 머신의 제공을 위한 용량의 낭비를 최소화하고 사용자에게 제공할 수 있는 가상 머신의 수도 최대화 하고자 한다.The present invention manages the OS image file providing the virtual machine and the write data for the OS image file separately to minimize the waste of capacity for providing the virtual machine and to maximize the number of virtual machines that can be provided to the user.
또한 본 발명은 다수의 사용자에게 가상 머신의 제공 시에도 네트워크 병목 현상이 발생하지 않도록 하고자 한다.In addition, the present invention is intended to prevent a network bottleneck even when providing a virtual machine to a large number of users.
본 발명의 일실시예에 따른 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버의 제어 방법은, 가상 머신(Virtual Machine)을 제공하는 OS 이미지 파일(Operating System Image File)과 상기 OS 이미지 파일에 대한 쓰기 명령에 대한 데이터를 기록하는 쓰기 데이터 파일을 저장하는 단계; 네트워크 블록 디바이스 클라이언트(NBD Client)로부터 상기 가상 머신에 대한 연산 명령을 수신하는 단계; 상기 수신한 연산 명령이 읽기 연산 명령이면 상기 읽기 연산 명령에 해당하는 상기 OS 이미지 파일의 블록(block)이 캐시 메모리에 존재하는지를 판단하여, 상기 캐시 메모리에 존재하면 상기 블록을 상기 네트워크 블록 디바이스 클라이언트로 제공하는 단계; 및 상기 수신한 연산 명령이 쓰기 연산 명령이면 상기 쓰기 데이터 파일 상의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에, 상기 쓰기 연산 명령에 따른 블록을 기록하는 단계를 포함한다.According to an embodiment of the present invention, a method for controlling a network block device server providing a personalized virtual machine in a cloud computing environment includes an operating system image file and an operating system image file providing a virtual machine. Storing a write data file for recording data for a write command to the write command; Receiving an operation command for the virtual machine from a network block device client; If the received operation command is a read operation command, it is determined whether a block of the OS image file corresponding to the read operation command exists in the cache memory. If the received operation command exists in the cache memory, the block is transferred to the network block device client. Providing; And if the received operation command is a write operation command, writing a block according to the write operation command to a bitmap of a block corresponding to the write operation command on the write data file.
이때, 상기 블록을 상기 네트워크 블록 디바이스 클라이언트로 제공하는 단계는, 상기 수신한 연산 명령이 읽기 연산 명령이면 상기 읽기 연산 명령에 해당하는 상기 OS 이미지 파일의 블록(block)이 캐시 메모리에 존재하는지를 판단하여, 상기 캐시 메모리에 존재하지 않으면 Peer To Peer(P2P) 네트워크를 통해 상기 블록을 제공받아 상기 네트워크 블록 디바이스 클라이언트로 제공할 수 있다.The providing of the block to the network block device client may include determining whether a block of the OS image file corresponding to the read operation command exists in the cache memory when the received operation command is a read operation command. If not present in the cache memory, the block may be provided to the network block device client through a peer to peer (P2P) network.
이때, 상기 쓰기 연산 명령에 따른 블록을 기록하는 단계는, 상기 수신한 연산 명령이 쓰기 연산 명령이면 상기 쓰기 데이터 파일 상의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 기존의 블록이 존재하는지를 판단하여, 상기 기존의 블록이 존재하지 않으면 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 상기 쓰기 연산 명령에 따른 블록을 기록하고 상기 블록을 처음으로 저장하였음을 나타내는 값을 상기 쓰기 데이터 파일 상에 저장하는 단계일 수 있다.In this case, the writing of the block according to the write operation command may include determining whether an existing block exists in a bitmap of a block corresponding to the write operation command on the write data file if the received operation command is a write operation command. If the existing block does not exist, writing a block according to the write operation command in a bitmap of a block corresponding to the write operation command and storing a value indicating that the block is stored for the first time on the write data file. It may be a step.
이때, 상기 쓰기 연산 명령에 따른 블록을 기록하는 단계는, 상기 수신한 연산 명령이 쓰기 연산 명령이면 상기 쓰기 데이터 파일 상의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 기존의 블록이 존재하는지를 판단하여, 상기 기존의 블록이 존재하면 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 상기 쓰기 연산 명령에 따른 블록을 기록하는 단계일 수 있다.In this case, the writing of the block according to the write operation command may include determining whether an existing block exists in a bitmap of a block corresponding to the write operation command on the write data file if the received operation command is a write operation command. If the existing block exists, the method may include writing a block according to the write operation command to a bitmap of a block corresponding to the write operation command.
이때, 상기 Peer To Peer(P2P) 네트워크는 비트토렌트 네트워크(BitTorrent network)일 수 있다.In this case, the Peer To Peer (P2P) network may be a BitTorrent network.
본 발명에 따른 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버는, 가상 머신(Virtual Machine)을 제공하는 OS 이미지 파일을 저장하는 OS 이미지 파일 저장부; 상기 OS 이미지 파일에 대한 쓰기 명령에 대한 데이터가 기록되는 쓰기 데이터 파일 저장부; 및 네트워크 블록 디바이스 클라이언트(NBD Client)로부터 상기 가상 머신에 대한 연산 명령을 수신하고, 상기 수신한 연산 명령이 읽기 연산 명령이면 상기 읽기 연산 명령에 해당하는 블록(block)이 상기 OS 이미지 파일 저장부의 캐시 메모리에 존재하는지를 판단하여, 상기 캐시 메모리에 존재하면 상기 블록을 상기 네트워크 블록 디바이스 클라이언트로 제공하도록 제어하고, 상기 수신한 연산 명령이 쓰기 연산 명령이면 상기 쓰기 데이터 파일 저장부 상의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에, 상기 쓰기 연산 명령에 따른 블록을 기록하도록 제어하는 중앙 제어부를 포함한다.A network block device server for providing a personalized virtual machine in a cloud computing environment according to the present invention includes an OS image file storage configured to store an OS image file for providing a virtual machine; A write data file storage unit in which data on a write command to the OS image file is recorded; And receiving an operation command for the virtual machine from a network block device client, and if the received operation command is a read operation command, a block corresponding to the read operation command is cached in the OS image file storage unit. It is determined whether the memory exists in the memory, and if the cache memory is present in the cache memory, control to provide the block to the network block device client, and if the received operation command is a write operation command, it corresponds to the write operation command on the write data file storage unit. And a central control unit for controlling to write a block according to the write operation command in the bitmap of the block.
이때, 상기 중앙 제어부는, 상기 수신한 연산 명령이 읽기 연산 명령이면 상기 읽기 연산 명령에 해당하는 상기 OS 이미지 파일의 블록(block)이 캐시 메모리에 존재하는지를 판단하여, 상기 캐시 메모리에 존재하지 않으면 Peer To Peer(P2P) 네트워크를 통해 상기 블록을 제공받아 상기 OS 이미지 파일 저장부에 저장하고, 상기 OS 이미지 파일 저장부에 저장된 상기 블록을 상기 네트워크 블록 디바이스 클라이언트로 제공할 수 있다.In this case, if the received operation command is a read operation command, the central controller determines whether a block of the OS image file corresponding to the read operation command exists in the cache memory. The block may be received through a To Peer (P2P) network and stored in the OS image file storage, and the block stored in the OS image file storage may be provided to the network block device client.
이때, 상기 중앙 제어부는, 상기 수신한 연산 명령이 쓰기 연산 명령이면 상기 쓰기 데이터 파일 저장부 상의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 기존의 블록이 존재하는지를 판단하여, 상기 기존의 블록이 존재하지 않으면 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 상기 쓰기 연산 명령에 따른 블록을 기록하고 상기 블록을 처음으로 저장하였음을 나타내는 값을 상기 쓰기 데이터 파일 저장부에 저장하도록 제어할 수 있다.In this case, if the received operation command is a write operation command, the central controller determines whether an existing block exists in a bitmap of a block corresponding to the write operation command on the write data file storage unit. If not present, the block according to the write operation command is recorded in the bitmap of the block corresponding to the write operation command, and a value indicating that the block is stored for the first time may be controlled to be stored in the write data file storage unit.
이때, 상기 중앙 제어부는, 상기 수신한 연산 명령이 쓰기 연산 명령이면 상기 쓰기 데이터 파일 저장부 상의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 기존의 블록이 존재하는지를 판단하여, 상기 기존의 블록이 존재하면 상기 쓰기 데이터 파일 저장부의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 상기 쓰기 연산 명령에 따른 블록을 기록하도록 제어할 수 있다.In this case, if the received operation command is a write operation command, the central controller determines whether an existing block exists in a bitmap of a block corresponding to the write operation command on the write data file storage unit. If present, the block according to the write operation command may be recorded in a bitmap of a block corresponding to the write operation command of the write data file storage unit.
이때, 상기 Peer To Peer(P2P) 네트워크는 비트토렌트 네트워크(BitTorrent network)일 수 있다.In this case, the Peer To Peer (P2P) network may be a BitTorrent network.
본 발명에 따르면, 가상 머신을 제공하는 OS 이미지 파일과 상기 OS 이미지 파일에 대한 쓰기 데이터를 별도로 관리하여 가상 머신의 제공을 위한 용량의 낭비를 최소화하고 사용자에게 제공할 수 있는 가상 머신의 수도 최대화 할 수 있으며, 다수의 사용자에게 가상 머신의 제공 시에도 네트워크 병목 현상이 발생하지 않는다.According to the present invention, the OS image file providing the virtual machine and the write data for the OS image file are separately managed to minimize the waste of capacity for providing the virtual machine and maximize the number of virtual machines that can be provided to the user. The network bottleneck does not occur even when the virtual machine is provided to a large number of users.
또한 본 발명에 따르면, Peer To Peer(P2P) 네트워크로서 비트토렌트 네트워크(BitTorrent network)가 적용되는 경우, 보다 빠르게 사용자에게 가상 머신을 제공할 수 있다.In addition, according to the present invention, when a BitTorrent network is applied as a Peer To Peer (P2P) network, a virtual machine may be provided to a user more quickly.
도 1은 본 발명의 일실시예에 따른 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스의 개념도이다.
도 2는 본 발명의 일실시예에 따른 네트워크 블록 디바이스 서버의 구성도이다.
도 3은 본 발명의 일실시예에 따른 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버의 제어 방법을 설명하기 위한 흐름도이다.1 is a conceptual diagram of a network block device for providing a personalized virtual machine in a cloud computing environment according to an embodiment of the present invention.
2 is a block diagram of a network block device server according to an embodiment of the present invention.
3 is a flowchart illustrating a control method of a network block device server providing a personalized virtual machine in a cloud computing environment according to an exemplary embodiment of the present invention.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited or limited by the embodiments. Like reference numerals in the drawings denote like elements.
도 1은 본 발명의 일실시예에 따른 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스의 개념도이다. 도 1을 참고하여 본 발명의 일실시예에 따른 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스를 설명하기로 한다.1 is a conceptual diagram of a network block device for providing a personalized virtual machine in a cloud computing environment according to an embodiment of the present invention. Referring to Figure 1 will be described a network block device for providing a personalized virtual machine in a cloud computing environment according to an embodiment of the present invention.
도 1에 도시된 바와 같이 본 발명의 일실시예에 따른 네트워크 블록 디바이스(Network Block Device: NBD)는 네트워크 블록 디바이스 서버(Network Block Device Server: NBD Server)(110), 네트워크 블록 디바이스 클라이언트(Network Block Device Client: NBD Client)(121, 122) 및 Peer To Peer 네트워크(130)를 포함하여 구성된다.As shown in FIG. 1, a network block device (NBD) according to an embodiment of the present invention includes a network block device server (NBD server) 110 and a network block device client (Network Block device client). Device Client: NBD Client (121, 122) and Peer To Peer network (130).
네트워크 블록 디바이스 클라이언트(121, 122)는 네트워크 블록 디바이스 서버(110)에 액세스하여 각각 가상 머신(Virtual Machine: VM)을 제공받을 수 있다.The network
네트워크 블록 디바이스 서버(NBD Server: 110)는 OS 이미지 파일 저장부(111) 및 쓰기 데이터 파일 저장부(112)를 포함하여 구성되며, OS 이미지 파일 저장부(111) 상에는 OS 이미지 파일(Operation System Image File)이 저장되어 있다. 따라서, 제1 네트워크 블록 디바이스 클라이언트(121) 또는 제2 네트워크 블록 디바이스 클라이언트(122)는 네트워크 블록 디바이스 서버(NBD Server: 110)에 액세스하여 가상 머신을 제공받을 수 있다.The NBD
네트워크 블록 디바이스 클라이언트(121, 122)가 가상 머신 상에서의 읽기(read) 또는 쓰기(write) 명령을 내리면, 상기 읽기 또는 쓰기의 연산 명령은 네트워크 블록 디바이스 클라이언트(121, 122)로부터 네트워크 블록 디바이스 서버(110)로 전달된다.When the network
네트워크 블록 디바이스 서버(110)는 네트워크 블록 디바이스 클라이언트(121, 122)로부터 상기 연산 명령을 수신하고 네트워크 블록 디바이스 서버(110)는 상기 수신한 연산 명령이 읽기 명령인지 또는 쓰기 명령인지를 판단한다. 네트워크 블록 디바이스 서버(110)의 상기 판단 결과, 상기 네트워크 블록 디바이스 클라이언트(121, 122)로부터 수신한 연산 명령이 읽기 연산 명령인 경우에는 상기 읽기 연산 명령에 해당하는 OS 이미지 파일의 블록(block)이 캐시 메모리(cache memory)상에 존재하는지를 판단한다. 네트워크 블록 디바이스 서버(110)에서의 상기 판단 결과, 상기 블록이 캐시 메모리에 존재하면 네트워크 블록 디바이스 서버(110)는 OS 이미지 파일 저장부(111)의 캐시 메모리에 존재하는 블록을 네트워크 블록 디바이스 클라이언트(121, 122)로 제공한다.The network
또한, 네트워크 블록 디바이스 서버(110)에서의 상기 판단 결과, 상기 블록이 캐시 메모리에 존재하지 않으면 네트워크 블록 디바이스 서버(110)는 Peer To Peer(P2P) 네트워크(130)를 통해 상기 블록을 제공받을 수 있다. 이때, 본 발명의 일실시예에 따른 Peer To Peer(P2P) 네트워크(130)로는 다양한 방식의 Peer To Peer 네트워크가 적용될 수 있으며, 보다 바람직하게는 Peer To Peer 네트워크로서 비트토렌트 네트워크(BitTorrent network)가 적용될 수 있다. 비트토렌트 네트워크를 적용하면 네트워크의 피어(131, 132, 133) 상에 분산되어 저장된 파일을 동시에 가져올 수 있으므로 네트워크 블록 디바이스 서버(110)가 보다 빠르게 블록을 제공받을 수 있다.In addition, as a result of the determination by the network
한편, 네트워크 블록 디바이스 서버(110)의 상기 판단 결과, 상기 네트워크 블록 디바이스 클라이언트(121, 122)로부터 수신한 연산 명령이 쓰기 연산 명령인 경우에는 네트워크 블록 디바이스 서버(110)가 쓰기 데이터 파일 저장부(112) 상에 상기 쓰기 연산 명령에 따른 블록을 기록한다. 즉, 네트워크 블록 디바이스 서버(110)는 쓰기 데이터 파일 저장부(112) 상의 쓰기 연산 명령에 해당하는 블록의 비트맵에 상기 쓰기 연산 명령에 따른 블록을 기록한다.On the other hand, when the network
이때, 네트워크 블록 디바이스 서버(110)는 쓰기 데이터 파일 저장부(112) 상의 블록의 비트맵에 기존의 블록이 존재하는지를 판단하여, 상기 기존의 블록이 존재하지 않으면 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 상기 쓰기 연산 명령에 따른 블록을 기록하며, 또한 상기 블록을 처음으로 저장하였음을 나타내는 값을 상기 쓰기 데이터 파일 저장부(112)에 저장할 수 있다. 또 달리, 네트워크 블록 디바이스 서버(110)는 상기 기존의 블록이 존재하면 쓰기 데이터 파일 저장부(112)의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 상기 쓰기 연산 명령에 따른 블록을 기록할 수 있다.In this case, the network
예를 들어, 제1 네트워크 블록 디바이스 클라이언트(121)가 네트워크 블록 디바이스 서버(110)로 읽기(read, reread) 연산 명령을 전달하면, 네트워크 블록 디바이스 서버(110)는 상기 읽기 연산 명령에 해당하는 OS 이미지 파일의 블록이 OS 이미지 파일 저장부(111)에 캐시된 블록(142)으로 존재하는지를 판단하여, 존재하면 상기 캐시된 블록(142)을 제1 네트워크 블록 디바이스 클라이언트(121)로 제공한다. 한편, 네트워크 블록 디바이스 서버(110)는 OS 이미지 파일의 블록이 빈 블록(141)으로 존재하면 비트토렌트 네트워크(130) 상에 존재하는 제1 피어(peer: 131), 제2 피어(peer: 132) 및 제3 피어(peer: 133)을 통하여 블록을 제공받아서 제1 네트워크 블록 디바이스 클라이언트(121)로 신속하게 제공할 수 있다. 따라서 제1 네트워크 블록 디바이스(121)는 제공받은 블록을 통해 업데이트된 블록(143)을 구성할 수 있다.For example, when the first network
그리고, 제1 네트워크 블록 디바이스 클라이언트(121)가 네트워크 블록 디바이스 서버(110)로 쓰기(write, rewrite) 연산 명령을 전달하는 경우에는, 네트워크 블록 디바이스 서버(110)는 쓰기 데이터 파일 저장부(112) 상의 쓰기 연산 명령에 매칭되는 블록의 비트맵에 기존의 블록이 존재하는지를 판단한다. 네트워크 블록 디바이스 서버(110)는 상기 판단 결과 기존의 블록이 존재하지 않으면, 상기 쓰기 연산 명령에 해당하는 쓰기 데이터 파일 저장부(112)의 블록의 비트맵에 상기 쓰기 연산 명령에 따른 블록을 기록하며, 또한 상기 블록을 처음으로 저장하였음을 나타내는 값을 저장한다. 즉, 네트워크 블록 디바이스 서버(110)는 제1 네트워크 블록 디바이스 클라이언트(121)로부터 9번째의 빈 블록에 쓰기 요청을 수신한 경우에는 (9, 1, ■)과 같이 9번째 블록에 첫 번째로 해당 블록을 저장하였음을 기록할 수 있다. 이때, '9'(144)는 9번째 블록을 쓰기 하였음을 나타내며 '1'(145)은 빈 블록에 처음으로 쓰기를 하였음을 나타내며, '■'(146)은 쓰기에 의해 저장된 해당 블록 데이터를 나타낸다.In addition, when the first network
이와 같이, 본 발명에 따르면 가상 머신을 제공하는 OS 이미지 파일과 상기 OS 이미지 파일에 대한 쓰기 데이터를 별도로 관리하여 가상 머신의 제공을 위한 용량의 낭비를 최소화할 수 있다.As described above, according to the present invention, the OS image file providing the virtual machine and the write data for the OS image file may be separately managed to minimize waste of capacity for providing the virtual machine.
도 2는 본 발명의 일실시예에 따른 네트워크 블록 디바이스 서버의 구성도이다. 도 2를 참조하여 본 발명의 일실시예에 따른 네트워크 블록 디바이스 서버의 구성을 설명하기로 한다.2 is a block diagram of a network block device server according to an embodiment of the present invention. The configuration of a network block device server according to an embodiment of the present invention will be described with reference to FIG. 2.
도 2에 도시된 바와 같이 본 발명의 일실시예에 따른 네트워크 블록 디바이스 서버는 OS 이미지 파일 저장부(210), 쓰기 데이터 파일 저장부(220) 및 중앙 제어부(230)를 포함하여 구성된다.As shown in FIG. 2, the network block device server according to an exemplary embodiment of the present invention includes an OS
OS 이미지 파일 저장부(210)는 가상 머신(Virtual Machine)을 제공하는 OS 이미지 파일을 저장하며, 쓰기 데이터 파일 저장부(220)는 상기 OS 이미지 파일에 대한 쓰기 명령에 관련된 데이터를 기록한다.The OS image
중앙 제어부(230)는 네트워크 블록 디바이스 클라이언트(NBD Client)로부터 가상 머신(VM)에 대한 연산 명령을 수신하는 경우, 수신한 연산 명령이 읽기(read, reread) 연산 명령이면 읽기 연산 명령에 해당하는 블록(block)이 상기 OS 이미지 파일 저장부의 캐시 메모리에 존재하는지를 판단한다. 중앙 제어부(230)는 상기 판단 결과, 읽기 연산 명령에 대응되는 블록이 캐시 메모리에 존재하면 상기 블록을 네트워크 블록 디바이스 클라이언트로 제공하도록 제어한다.When the
또한, 중앙 제어부(230)는 상기 수신한 연산 명령이 읽기(read, reread) 연산 명령이면 읽기 연산 명령에 해당하는 OS 이미지 파일의 블록(block)이 캐시 메모리에 존재하는지를 판단한다. 중앙 제어부(230)는 판단 결과, 해당 블록이 캐시 메모리에 존재하지 않으면 Peer To Peer(P2P) 네트워크를 통해 블록을 제공받아 OS 이미지 파일 저장부(111)에 저장한다. 그리고, 중앙 제어부(230)는 OS 이미지 파일 저장부(111)에 저장된 블록을 네트워크 블록 디바이스 클라이언트로 제공하도록 제어한다. 이때, 중앙 제어부(230)가 블록을 제공받는 Peer To Peer(P2P) 네트워크가 비트토렌트 네트워크(BitTorrent network)로 구성되면, 네트워크의 피어(Peer) 상에 분산되어 저장된 파일을 동시에 가져올 수 있으므로 보다 빠르게 블록을 제공받을 수 있다.In addition, if the received operation command is a read operation command, the
한편, 중앙 제어부(230)는 블록 디바이스 클라이언트로부터 수신한 연산 명령이 쓰기 연산 명령이면, 쓰기 데이터 파일 저장부(220) 상의 쓰기 연산 명령에 해당하는 블록의 비트맵에, 쓰기 연산 명령에 따른 블록을 기록하도록 제어한다. 보다 상세하게 설명하면, 중앙 제어부(230)는 수신한 연산 명령이 쓰기 연산 명령이면 쓰기 데이터 파일 저장부(220) 상의 쓰기 연산 명령에 해당하는 블록의 비트맵에 기존의 블록이 존재하는지를 판단한다. 중앙 제어부(230)는 상기 판단 결과, 기존의 블록이 존재하지 않으면 쓰기 연산 명령에 해당하는 블록의 비트맵에 쓰기 연산 명령에 따른 블록을 기록하고 상기 블록을 처음으로 저장하였음을 나타내는 값을 쓰기 데이터 파일 저장부(220)에 저장하도록 제어할 수 있다. 또 달리, 중앙 제어부(230)는 쓰기 연산 명령에 해당하는 블록의 비트맵에 기존의 블록이 존재하는지를 판단하여, 기존의 블록이 존재하면 쓰기 데이터 파일 저장부(220)의 쓰기 연산 명령에 해당하는 블록의 비트맵에 쓰기 연산 명령에 따른 블록을 기록하도록 제어할 수 있다.On the other hand, if the operation command received from the block device client is a write operation command, the
도 3은 본 발명의 일실시예에 따른 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버의 제어 방법을 설명하기 위한 흐름도이다. 도 3을 참고하여 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버의 제어 방법을 설명하기로 한다.3 is a flowchart illustrating a control method of a network block device server providing a personalized virtual machine in a cloud computing environment according to an exemplary embodiment of the present invention. A control method of a network block device server that provides a personalized virtual machine in a cloud computing environment will be described with reference to FIG. 3.
네트워크 블록 디바이스 서버(NBD Server)가 가상 머신(Virtual Machine)을 제공하는 OS 이미지 파일(Operating System Image File)과 상기 OS 이미지 파일에 대한 쓰기 명령에 대한 데이터를 기록하는 쓰기 데이터 파일을 저장 및 유지한다(S310).A network block device server (NBD Server) stores and maintains an operating system image file providing a virtual machine and a write data file that records data on a write command to the OS image file. (S310).
네트워크 블록 디바이스 서버가 네트워크 블록 디바이스 클라이언트(NBD Client)로부터 상기 가상 머신에 대한 연산 명령을 수신하고(S320), 수신한 연산 명령이 읽기 연산 명령인지를 판단하여(S330), 상기 수신한 연산 명령이 읽기 연산 명령이면 읽기 연산 명령에 해당하는 OS 이미지 파일의 블록(block)이 캐시 메모리에 존재하는지를 판단한다(S340).The network block device server receives an operation command for the virtual machine from a network block device client (NBD Client) (S320), determines whether the received operation command is a read operation command (S330), and the received operation command is If it is a read operation command, it is determined whether a block of an OS image file corresponding to the read operation command exists in the cache memory (S340).
네트워크 블록 디바이스 서버는 상기 판단 결과, 블록이 캐시 메모리에 존재하면 상기 블록을 캐시 메모리로부터 읽고(S350), 캐시 메모리에 존재하지 않으면 Peer To Peer(P2P) 네트워크를 통해 블록을 제공받는다(S355). 이때, 상기 Peer To Peer(P2P) 네트워크는 비트토렌트 네트워크(BitTorrent network)로 구성될 수 있다. 이후, 네트워크 블록 디바이스 서버는 상기 블록을 상기 네트워크 블록 디바이스 클라이언트로 제공한다(S360).As a result of the determination, the network block device server reads the block from the cache memory if the block exists in the cache memory (S350), and receives the block through the Peer To Peer (P2P) network if the block does not exist in the cache memory (S355). In this case, the Peer To Peer (P2P) network may be configured as a BitTorrent network. Thereafter, the network block device server provides the block to the network block device client (S360).
또 달리, 네트워크 블록 디바이스 서버의 판단 결과, 상기 수신한 연산 명령이 읽기 연산 명령이 아닌 쓰기 연산 명령이면, 상기 쓰기 데이터 파일 상의 쓰기 연산 명령에 해당하는 블록의 비트맵에 기존의 블록이 존재하는지를 판단한다(S370).Alternatively, if the network block device server determines that the received operation command is a write operation command instead of a read operation command, it is determined whether an existing block exists in the bitmap of the block corresponding to the write operation command on the write data file. (S370).
네트워크 블록 디바이스 서버의 판단 결과, 기존의 블록이 존재하면 쓰기 연산 명령에 해당하는 블록의 비트맵에 쓰기 연산 명령에 따른 블록을 기록한다(S380). 또한, 네트워크 블록 디바이스 서버의 판단 결과, 기존의 블록이 존재하지 않으면 쓰기 연산 명령에 해당하는 블록의 비트맵에 쓰기 연산 명령에 따른 블록을 기록하고 블록을 처음으로 저장하였음을 나타내는 값을 쓰기 데이터 파일 상에 저장한다(S385).As a result of the determination by the network block device server, if an existing block exists, the block according to the write operation command is recorded in the bitmap of the block corresponding to the write operation command (S380). In addition, if the existing block does not exist, the network block device server determines that the block corresponding to the write operation command is written to the bitmap of the block corresponding to the write operation command, and writes a value indicating that the block is stored for the first time. Stored in the (S385).
이와 같이, 본 발명은 가상 머신을 제공하는 OS 이미지 파일과 상기 OS 이미지 파일에 대한 쓰기 데이터를 별도로 관리한다. 따라서, 본 발명에 따르면 가상 머신의 제공을 위한 용량의 낭비를 최소화하고 사용자에게 제공할 수 있는 가상 머신의 수도 최대화 할 수 있으며, 다수의 사용자에게 가상 머신의 제공 시에도 네트워크 병목 현상이 발생하지 않는다.As described above, the present invention manages an OS image file for providing a virtual machine and write data for the OS image file separately. Therefore, according to the present invention, it is possible to minimize the waste of capacity for providing a virtual machine and to maximize the number of virtual machines that can be provided to a user, and a network bottleneck does not occur even when a virtual machine is provided to a plurality of users. .
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described by specific embodiments such as specific components and the like. For those skilled in the art to which the present invention pertains, various modifications and variations are possible. Therefore, the spirit of the present invention should not be limited to the described embodiments, and all of the equivalents or equivalents of the claims as well as the claims to be described later will belong to the scope of the present invention. .
110: 네트워크 블록 디바이스 서버
111: OS 이미지 파일 저장부
112: 쓰기 데이터 파일 저장부
121: 제1 네트워크 블록 디바이스 클라이언트
122: 제2 네트워크 블록 디바이스 클라이언트
130: Peer To Peer 네트워크
131: 제1 피어
132: 제2 피어
133: 제3 피어
141: 빈 블록
142: 캐시된 블록
143: 업데이트된 블록110: network block device server
111: OS image file storage
112: write data file storage
121: first network block device client
122: second network block device client
130: Peer To Peer Network
131: first peer
132: second peer
133: third peer
141: empty block
142: cached block
143: Updated block
Claims (10)
네트워크 블록 디바이스 클라이언트(NBD Client)로부터 상기 가상 머신에 대한 연산 명령을 수신하는 단계;
상기 수신한 연산 명령이 읽기 연산 명령이면 상기 읽기 연산 명령에 해당하는 상기 OS 이미지 파일의 블록(block)이 캐시 메모리에 존재하는지를 판단하여, 상기 캐시 메모리에 존재하면 상기 블록을 상기 네트워크 블록 디바이스 클라이언트로 제공하는 단계; 및
상기 수신한 연산 명령이 쓰기 연산 명령이면 상기 쓰기 데이터 파일 상의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에, 상기 쓰기 연산 명령에 따른 블록을 기록하는 단계
를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버의 제어 방법.Storing an operating system image file providing a virtual machine and a write data file for recording data on a write command to the OS image file;
Receiving an operation command for the virtual machine from a network block device client;
If the received operation command is a read operation command, it is determined whether a block of the OS image file corresponding to the read operation command exists in the cache memory. If the received operation command exists in the cache memory, the block is transferred to the network block device client. Providing; And
If the received operation command is a write operation command, writing a block according to the write operation command to a bitmap of a block corresponding to the write operation command on the write data file.
Control method of a network block device server providing a personalized virtual machine in a cloud computing environment comprising a.
상기 블록을 상기 네트워크 블록 디바이스 클라이언트로 제공하는 단계는,
상기 수신한 연산 명령이 읽기 연산 명령이면 상기 읽기 연산 명령에 해당하는 상기 OS 이미지 파일의 블록(block)이 캐시 메모리에 존재하는지를 판단하여, 상기 캐시 메모리에 존재하지 않으면 Peer To Peer(P2P) 네트워크를 통해 상기 블록을 제공받아 상기 네트워크 블록 디바이스 클라이언트로 제공하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버의 제어 방법.The method of claim 1,
Providing the block to the network block device client,
If the received operation command is a read operation command, it is determined whether a block of the OS image file corresponding to the read operation command exists in the cache memory, and if not, the Peer To Peer (P2P) network is determined. The control method of a network block device server providing a personalized virtual machine in a cloud computing environment, characterized in that receiving the block through the network block device client.
상기 쓰기 연산 명령에 따른 블록을 기록하는 단계는,
상기 수신한 연산 명령이 쓰기 연산 명령이면 상기 쓰기 데이터 파일 상의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 기존의 블록이 존재하는지를 판단하여, 상기 기존의 블록이 존재하지 않으면 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 상기 쓰기 연산 명령에 따른 블록을 기록하고 상기 블록을 처음으로 저장하였음을 나타내는 값을 상기 쓰기 데이터 파일 상에 저장하는 단계인 것을 특징으로 하는 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버의 제어 방법.The method of claim 1,
The step of writing a block according to the write operation command,
If the received operation command is a write operation command, it is determined whether an existing block exists in a bitmap of a block corresponding to the write operation command on the write data file, and if the existing block does not exist, it corresponds to the write operation command. Providing a personalized virtual machine in a cloud computing environment, recording a block according to the write operation command in a bitmap of a block and storing a value indicating that the block is stored for the first time on the write data file. A control method of a network block device server.
상기 쓰기 연산 명령에 따른 블록을 기록하는 단계는,
상기 수신한 연산 명령이 쓰기 연산 명령이면 상기 쓰기 데이터 파일 상의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 기존의 블록이 존재하는지를 판단하여, 상기 기존의 블록이 존재하면 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 상기 쓰기 연산 명령에 따른 블록을 기록하는 단계인 것을 특징으로 하는 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버의 제어 방법.The method of claim 1,
The step of writing a block according to the write operation command,
If the received operation command is a write operation command, it is determined whether an existing block exists in a bitmap of a block corresponding to the write operation command on the write data file, and if the existing block exists, it corresponds to the write operation command. The method of controlling a network block device server providing a personalized virtual machine in a cloud computing environment, comprising: writing a block according to the write operation command in a bitmap of a block.
상기 Peer To Peer(P2P) 네트워크는,
비트토렌트 네트워크(BitTorrent network)인 것을 특징으로 하는 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버의 제어 방법.The method of claim 2,
The Peer To Peer (P2P) network,
Control method of a network block device server providing a personalized virtual machine in a cloud computing environment, characterized in that the BitTorrent network (BitTorrent network).
상기 OS 이미지 파일에 대한 쓰기 명령에 대한 데이터가 기록되는 쓰기 데이터 파일 저장부; 및
네트워크 블록 디바이스 클라이언트(NBD Client)로부터 상기 가상 머신에 대한 연산 명령을 수신하고, 상기 수신한 연산 명령이 읽기 연산 명령이면 상기 읽기 연산 명령에 해당하는 블록(block)이 상기 OS 이미지 파일 저장부의 캐시 메모리에 존재하는지를 판단하여, 상기 캐시 메모리에 존재하면 상기 블록을 상기 네트워크 블록 디바이스 클라이언트로 제공하도록 제어하고, 상기 수신한 연산 명령이 쓰기 연산 명령이면 상기 쓰기 데이터 파일 저장부 상의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에, 상기 쓰기 연산 명령에 따른 블록을 기록하도록 제어하는 중앙 제어부
를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버.An OS image file storage unit for storing an OS image file providing a virtual machine;
A write data file storage unit in which data on a write command to the OS image file is recorded; And
Receives an operation command for the virtual machine from a network block device client (NBD Client), and if the received operation command is a read operation command, a block corresponding to the read operation command is a cache memory of the OS image file storage unit. If it is present in the cache memory, the controller determines to provide the block to the network block device client if it exists in the cache memory. If the received operation command is a write operation command, the block corresponds to the write operation command on the write data file storage unit. Central control unit for controlling to write the block according to the write operation command in the bitmap of the block
Network block device server providing a personalized virtual machine in a cloud computing environment comprising a.
상기 중앙 제어부는,
상기 수신한 연산 명령이 읽기 연산 명령이면 상기 읽기 연산 명령에 해당하는 상기 OS 이미지 파일의 블록(block)이 캐시 메모리에 존재하는지를 판단하여, 상기 캐시 메모리에 존재하지 않으면 Peer To Peer(P2P) 네트워크를 통해 상기 블록을 제공받아 상기 OS 이미지 파일 저장부에 저장하고, 상기 OS 이미지 파일 저장부에 저장된 상기 블록을 상기 네트워크 블록 디바이스 클라이언트로 제공하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버.The method of claim 6,
The central control unit,
If the received operation command is a read operation command, it is determined whether a block of the OS image file corresponding to the read operation command exists in the cache memory, and if not, the Peer To Peer (P2P) network is determined. The network providing a personalized virtual machine in a cloud computing environment, wherein the block is received and stored in the OS image file storage unit and the block stored in the OS image file storage unit is provided to the network block device client. Block device server.
상기 중앙 제어부는,
상기 수신한 연산 명령이 쓰기 연산 명령이면 상기 쓰기 데이터 파일 저장부 상의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 기존의 블록이 존재하는지를 판단하여, 상기 기존의 블록이 존재하지 않으면 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 상기 쓰기 연산 명령에 따른 블록을 기록하고 상기 블록을 처음으로 저장하였음을 나타내는 값을 상기 쓰기 데이터 파일 저장부에 저장하도록 제어하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버.The method of claim 6,
The central control unit,
If the received operation command is a write operation command, it is determined whether an existing block exists in a bitmap of a block corresponding to the write operation command on the write data file storage unit, and if the existing block does not exist, the write operation command Personalized virtual in the cloud computing environment, characterized in that to write the block according to the write operation command in the bitmap of the block corresponding to the storage data stored in the write data file storage unit indicating that the block is stored for the first time Network block device server providing a machine.
상기 중앙 제어부는,
상기 수신한 연산 명령이 쓰기 연산 명령이면 상기 쓰기 데이터 파일 저장부 상의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 기존의 블록이 존재하는지를 판단하여, 상기 기존의 블록이 존재하면 상기 쓰기 데이터 파일 저장부의 상기 쓰기 연산 명령에 해당하는 블록의 비트맵에 상기 쓰기 연산 명령에 따른 블록을 기록하도록 제어하는 것을 특징으로 하는 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버.The method of claim 6,
The central control unit,
If the received operation command is a write operation command, it is determined whether an existing block exists in a bitmap of a block corresponding to the write operation command on the write data file storage unit, and if the existing block exists, the write data file is stored. The network block device server providing a personalized virtual machine in a cloud computing environment, characterized by controlling to write a block according to the write operation command in a bitmap of a block corresponding to the negative write operation command.
상기 Peer To Peer(P2P) 네트워크는,
비트토렌트 네트워크(BitTorrent network)인 것을 특징으로 하는 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 서버.
The method of claim 7, wherein
The Peer To Peer (P2P) network,
A network block device server providing a personalized virtual machine in a cloud computing environment, characterized in that a BitTorrent network.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100022882A KR101329759B1 (en) | 2010-03-15 | 2010-03-15 | Network block device providing personalized virtual machine in cloud computing environment and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100022882A KR101329759B1 (en) | 2010-03-15 | 2010-03-15 | Network block device providing personalized virtual machine in cloud computing environment and control method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110103699A true KR20110103699A (en) | 2011-09-21 |
KR101329759B1 KR101329759B1 (en) | 2013-11-14 |
Family
ID=44954826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100022882A KR101329759B1 (en) | 2010-03-15 | 2010-03-15 | Network block device providing personalized virtual machine in cloud computing environment and control method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101329759B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150087990A (en) * | 2014-01-23 | 2015-07-31 | 한국전자통신연구원 | System and Method for Caching Disk Image File of Full-Cloned Virtual Machine |
KR20160093877A (en) | 2015-01-30 | 2016-08-09 | 엔트릭스 주식회사 | Virtual client, cloud streaming server, cloud streaming server test system comprising the same, control method thereof and computer readable medium having computer program recorded therefor |
WO2017074303A1 (en) * | 2015-10-26 | 2017-05-04 | Hewlett-Packard Development Company, L.P. | Cloud platform os management |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090001305A (en) * | 2007-06-29 | 2009-01-08 | 엘지엔시스(주) | Supporting system and method for multiple computing environment |
KR100956637B1 (en) * | 2007-12-07 | 2010-05-11 | 한국전자통신연구원 | Method for asynchronous data replication in distributed file system and system thereof |
KR101007279B1 (en) * | 2007-12-17 | 2011-01-13 | 한국전자통신연구원 | Method and system for provisioning of virtual machine using virtual machine disk pool |
-
2010
- 2010-03-15 KR KR1020100022882A patent/KR101329759B1/en active IP Right Grant
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150087990A (en) * | 2014-01-23 | 2015-07-31 | 한국전자통신연구원 | System and Method for Caching Disk Image File of Full-Cloned Virtual Machine |
KR20160093877A (en) | 2015-01-30 | 2016-08-09 | 엔트릭스 주식회사 | Virtual client, cloud streaming server, cloud streaming server test system comprising the same, control method thereof and computer readable medium having computer program recorded therefor |
WO2017074303A1 (en) * | 2015-10-26 | 2017-05-04 | Hewlett-Packard Development Company, L.P. | Cloud platform os management |
Also Published As
Publication number | Publication date |
---|---|
KR101329759B1 (en) | 2013-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3027756C (en) | Systems and methods for efficient distribution of stored data objects | |
US10853339B2 (en) | Peer to peer ownership negotiation | |
US10652330B2 (en) | Object storage in cloud with reference counting using versions | |
CN104239575A (en) | Virtual machine mirror image file storage and distribution method and device | |
CN104580439B (en) | Method for uniformly distributing data in cloud storage system | |
WO2019085769A1 (en) | Tiered data storage and tiered query method and apparatus | |
WO2017167056A1 (en) | Virtual machine data storage method and apparatus | |
US8938550B2 (en) | Autonomous network streaming | |
CN108139974B (en) | Distributed cache live migration | |
US9609044B2 (en) | Methods, systems, and media for stored content distribution and access | |
CN102708060A (en) | Method, device and system for accessing image files | |
CN106817388B (en) | Method and device for acquiring data by virtual machine and host machine and system for accessing data | |
US10360189B2 (en) | Data object storage across multiple storage nodes | |
CN107153512B (en) | Data migration method and device | |
US20160335199A1 (en) | Extending a cache of a storage system | |
KR20140143775A (en) | Cache management | |
US11416176B2 (en) | Function processing using storage controllers for load sharing | |
KR101329759B1 (en) | Network block device providing personalized virtual machine in cloud computing environment and control method thereof | |
US10387043B2 (en) | Writing target file including determination of whether to apply duplication elimination | |
US20090327303A1 (en) | Intelligent allocation of file server resources | |
US11588891B2 (en) | Access pattern driven data placement in cloud storage | |
Meyer et al. | Supporting heterogeneous pools in a single ceph storage cluster | |
JP4224279B2 (en) | File management program | |
US12038872B2 (en) | Apparatus and method for managing in-memory container storage | |
CN117194439B (en) | Method for creating resource storage system, electronic equipment and storage medium |
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: 20161107 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20171101 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20181030 Year of fee payment: 6 |