KR100952599B1 - User computer using local disk as caching device, method for using the same and hybrid network storage system - Google Patents

User computer using local disk as caching device, method for using the same and hybrid network storage system Download PDF

Info

Publication number
KR100952599B1
KR100952599B1 KR1020070117052A KR20070117052A KR100952599B1 KR 100952599 B1 KR100952599 B1 KR 100952599B1 KR 1020070117052 A KR1020070117052 A KR 1020070117052A KR 20070117052 A KR20070117052 A KR 20070117052A KR 100952599 B1 KR100952599 B1 KR 100952599B1
Authority
KR
South Korea
Prior art keywords
data
predetermined data
cache
storage
storage unit
Prior art date
Application number
KR1020070117052A
Other languages
Korean (ko)
Other versions
KR20090050547A (en
Inventor
정연수
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020070117052A priority Critical patent/KR100952599B1/en
Publication of KR20090050547A publication Critical patent/KR20090050547A/en
Application granted granted Critical
Publication of KR100952599B1 publication Critical patent/KR100952599B1/en

Links

Images

Classifications

    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/461Sector or disk block

Abstract

로컬디스크의 일부분 또는 전체를 네트워크 스토리지를 이용하기 위한 가상디스크에 대한 캐쉬로 할당하여 로컬디스크와 네트워크 스토리지를 함께 사용하고, 네트워크를 통한 파일접근을 위한 방법으로 블럭 기반의 프로토콜을 사용함으로써 사용자 컴퓨터에서 실행되는 가상디스크의 전체적인 속도를 향상시키고, 로컬디스크와 동일한 성능으로 사용할 수 있다. 또한, 캐쉬에 데이터를 선별하여 저장함으로써 소정의 테이터는 캐쉬에 저장이 되지 않도록 하여 기밀유지가 가능하고, 다른 소정의 데이터는 캐쉬에서 지워지지 않도록 하여 네트워크 장애 시에도 그 파일을 이용할 수 있다.All or part of the local disk is allocated as a cache for the virtual disk to use the network storage, and the local disk and the network storage are used together, and the block-based protocol is used to access files over the network. It can improve the overall speed of the running virtual disk and use the same performance as the local disk. In addition, by sorting and storing data in the cache, predetermined data is not stored in the cache so that confidentiality can be maintained, and other predetermined data can not be erased from the cache so that the file can be used even in the event of a network failure.

웹하드, 로컬디스크 캐쉬, 네트워크 스토리지 Web Hard, Local Disk Cache, Network Storage

Description

로컬디스크를 캐쉬로 이용하는 사용자 컴퓨터, 그를 이용하는 방법 및 하이브리드 네트워크 스토리지 시스템{USER COMPUTER USING LOCAL DISK AS CACHING DEVICE, METHOD FOR USING THE SAME AND HYBRID NETWORK STORAGE SYSTEM}USER COMPUTER USING LOCAL DISK AS CACHING DEVICE, METHOD FOR USING THE SAME AND HYBRID NETWORK STORAGE SYSTEM}

로컬디스크를 캐쉬로 이용하는 사용자 컴퓨터, 그를 이용하는 방법 및 하이브리드 네트워크 스토리지 시스템 에 관한 것으로, 보다 상세하게는 사용자 컴퓨터에 가상디스크를 구비함으로써 사용자 컴퓨터와 인터넷을 통해 연결된 네트워크 스토리지를 사용자 컴퓨터의 로컬 디스크와 동일한 기능을 같도록 하고, 또한, 사용자 컴퓨터의 로컬디스크를 가상디스크에 대한 캐쉬로 사용함으로써 네트워크 스토리지를 보다 효율적으로 사용하는 사용자 컴퓨터, 그를 이용하는 방법 및 하이브리드 네트워크 스토리지 시스템에 관한 것에 관한 것이다. The present invention relates to a user computer using a local disk as a cache, a method of using the same, and a hybrid network storage system. More specifically, a virtual disk is provided in the user computer, so that the network storage connected to the user computer and the internet through the internet is the same as the local disk of the user computer. The present invention relates to a user computer using the network storage more efficiently by using the same function and using the local disk of the user computer as a cache for the virtual disk, a method of using the same, and a hybrid network storage system.

일반적으로, 데스크탑이나 노트북과 같은 사용자 컴퓨터에 설치된 하드디스크는 로컬 디스크로서 사용자 컴퓨터에 물리적으로 고정되어 사용되며, 이러한 로컬 디스크는 데이터 저장용량이 크고 접근성이 좋으며 속도가 빠른 장점이 있다.In general, a hard disk installed in a user computer such as a desktop or a notebook is a local disk, which is physically fixed to the user computer. The local disk has advantages of large data storage capacity, accessibility, and speed.

그러나, 로컬 디스크는 상술한 장점을 가짐에도 불구하고 이동성과 네트워크 상에서의 데이터 공유가 어렵고 용량 확장을 위해서는 별도로 로컬 디스크를 구입 하여야 하는 단점이 있다. However, although the local disk has the advantages described above, mobility and data sharing on a network are difficult, and a local disk must be purchased separately for capacity expansion.

따라서, 이와 같은 문제점을 개선하기 위한 하나의 방법으로서, 로컬디스크에 저장된 데이터를 다른 컴퓨터로 이동하여 저장하거나 다른 컴퓨터에서 사용하고자 할 때는 주로 USB 메모리나 외장형 하드디스크와 같은 이동식 디스크를 사용하게 되었다. Therefore, as one method for improving such a problem, when moving the data stored in the local disk to another computer to store or use in another computer is mainly used a removable disk such as a USB memory or an external hard disk.

그러나, 이동식 디스크 또한 속도가 빠르고 이동성이 좋은 장점이 있는 반면에 로컬디스크에 비하여 용량이 작고 여러 사람들과의 데이터 공유가 어려우며 분실의 위험성이 있다는 단점이 여전히 존재하고 있다.  However, while the removable disk also has the advantages of fast speed and good portability, there are still disadvantages that the capacity is smaller than that of the local disk, it is difficult to share data with various people, and there is a risk of loss.

그러므로, 여러 사람들과 데이터를 서로 공유하는 일이 많은 경우에는 로컬디스크 및 이동식 디스크만으로는 데이터 공유가 어렵기 때문에, 다른 방법으로서 최근에는 웹하드와 같이 인터넷을 통해 복수의 사용자 컴퓨터가 데이터를 저장하고 공유할 수 있는 네트워크 스토리지가 자주 사용된다. Therefore, when data is shared with many people, it is difficult to share data with only local disk and removable disk. Therefore, as a different method, recently, a plurality of user computers store and share data over the Internet like Web hard. Network storage is often used.

이하, 종래의 네트워크 스토리지 시스템에 대해 보다 구체적으로 설명한다.Hereinafter, a conventional network storage system will be described in more detail.

도 1 은 종래의 가상 디스크를 이용한 네트워크 스토리지 시스템을 도시한 개략도이다.1 is a schematic diagram illustrating a network storage system using a conventional virtual disk.

도 1 에 도시된 바와 같이, 사용자 컴퓨터 (100)의 저장장치 (110)는 로컬디스크 (120)와 가상디스크 (130)로 구분되어 있다. 가상디스크 (130)는 인터넷을 통하여 스토리지 서버 (150)에 연결되어 있고, 사용자가 가상디스크 (130)를 통해 파일을 요청하거나 파일을 변경하게 되면 그 내용은 인터넷을 통하여 스토리지 서버 (150)에 전달되고, 네트워크 스토리지 (160)에 저장된 파일 (161, 162, 163, 164)이 요청되거나 변경되게 된다. 이러한 종래의 네트워크 스토리지는 파일 공유를 위해 nfs, samba 등과 같은 파일 기반의 프로토콜을 사용하고 있다. 파일 기반 프로토콜을 사용하면 네트워크 스토리지 (160)에 저장된 데이터를 파일 단위로 읽어오고 저장하게 된다. 이는 사용자 컴퓨터 (100) 및 스토리지 서버 (150)가 각각 자신의 파일시스템을 이용하여 파일을 관리하게 되는 것을 의미한다.As shown in FIG. 1, the storage device 110 of the user computer 100 is divided into a local disk 120 and a virtual disk 130. The virtual disk 130 is connected to the storage server 150 through the Internet. When a user requests a file or changes a file through the virtual disk 130, the contents are transferred to the storage server 150 through the Internet. The files 161, 162, 163, and 164 stored in the network storage 160 are requested or changed. Such conventional network storage uses file-based protocols such as nfs and samba for file sharing. The file-based protocol reads and stores data stored in the network storage 160 in units of files. This means that the user computer 100 and the storage server 150 manage files using their own file systems.

그러므로 파일 기반 프로토콜을 사용하게 되면 스토리지 서버 (150)도 자신의 파일시스템을 사용하여 네트워크 스토리지 (160)에 저장된 파일들을 관리해야 하므로 서버의 자원을 많이 이용하게 되어 대용량 파일이나 많은 수의 파일들을 관리해야 하는 경우 스토리지 서버 (150)에 많은 부하가 걸려서 사용자 컴퓨터 (100)에서 실행되는 가상디스크 (130)의 사용속도가 현저히 느려지고 불안정하게 된다.Therefore, if the file-based protocol is used, the storage server 150 also needs to manage files stored in the network storage 160 using its own file system, thus using a large amount of server resources to manage large files or a large number of files. When it is necessary to load a lot of load on the storage server 150, the use speed of the virtual disk 130 running in the user computer 100 is significantly slowed and unstable.

이와 같이, 최근 초고속 인터넷이 널리 보급됨에 따라 네트워크 스토리지에 대한 이용이 활성화되고 있는데, 이러한 네트워크 스토리지는 데이터의 공유가 쉽고, 저장장치를 가지고 다닐 필요가 없어 이동성이 뛰어날 뿐만 아니라 용량 확장이 용이한 장점이 있는 반면, 네트워크 스토리지에 접근하는 속도가 네트워크 속도에 따라 좌우되고, 또한, 네트워크 장애 시에는 네트워크 스토리지에 저장된 파일을 전혀 사용할 수 없다는 단점이 있어 로컬디스크를 대신하여 사용자 컴퓨터의 주 저장장치로 사용하기에는 문제점이 많다.As such, recently, the widespread use of the high-speed Internet has enabled the use of network storage. The network storage is easy to share data and does not need to carry storage devices, so it is not only portable but also easy to expand capacity. On the other hand, the speed of accessing the network storage depends on the speed of the network, and in the event of a network failure, the files stored in the network storage cannot be used at all. There are many problems to follow.

이러한 각 저장장치들의 단점들로 인하여 지금까지는 저장장치를 사용하는데 있어서 하나의 저장장치만을 사용하지 못하고 각 용도에 따라 다른 저장장치를 사용한다. 즉, 대부분의 데이터를 주 저장장치인 로컬디스크에 저장하여 사용하면 서, 로컬디스크에 저장된 데이터 중 오랫동안 사용되지 않거나 별도로 저장이 필요한 중요한 데이터들은 선별하여 백업용 장치에 보관하고, 데이터를 다른 컴퓨터에서 사용하거나 다른 사람들과 데이터를 공유해야 할 경우에 이동식 디스크나 네트워크 스토리지에 복사하여 사용한다.Due to the shortcomings of each of these storage devices, until now, only one storage device is used in using the storage device, and different storage devices are used for each purpose. That is, while most of the data is stored on the local disk, which is the main storage device, important data that is not used for a long time or needs to be stored separately among the data stored on the local disk are sorted and stored in the backup device, and the data is used on another computer. Copy it to removable disks or network storage if you need to share data with others.

한편, 웹하드의 경우는 사용자가 웹을 통해서 네트워크 스토리지에 접속해서 사용하며 웹을 통한 파일 업로드 및 다운로드 기능만이 제공되기 때문에, 파일 접근 방법이 일반 저장장치와 다르고 다른 응용 프로그램과 연동이 되지 않는 등의 불편한 점이 있다. 최근에는 전용 프로그램을 통해서 네트워크 스토리지도 컴퓨터에서 로컬 디스크처럼 인식되도록 해서 일반 디스크처럼 사용할 수 있어 사용자 편의성은 보완되었지만 속도가 느리고 네트워크 장애 시에 사용할 수 없는 단점은 여전히 존재한다. On the other hand, in the case of Webhard, users access and use network storage through the web, and only file upload and download functions are provided through the web, so the file access method is different from general storage devices and does not work with other applications. There is such an inconvenience. In recent years, network storage can be recognized as a local disk in a computer through a dedicated program, so it can be used like a regular disk.

본 발명은 상술한 문제점을 인식하여 이루어진 것으로, 로컬디스크의 일부분 또는 전체를 네트워크 스토리지를 이용하기 위한 가상디스크에 대한 캐쉬로 할당하여 로컬디스크와 네트워크 스토리지를 함께 사용함으로써 두 저장장치의 단점은 서로 보완하면서 여러 장점들을 살린 하이브리드형 네트워크 스토리지 시스템을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned problems, and the disadvantages of the two storage devices are compensated for by using a local disk and a network storage together by allocating a part or all of the local disk as a cache for a virtual disk for using the network storage. It aims to provide a hybrid network storage system that utilizes several advantages.

또한, 본 발명은 네트워크를 통한 파일접근을 위한 방법으로 블럭 기반의 프로토콜을 사용하여 사용자의 컴퓨터에서 실행되는 가상디스크의 전체적인 속도를 향상시키는 것을 목적으로 한다.In addition, an object of the present invention is to improve the overall speed of a virtual disk running on a user's computer using a block-based protocol as a method for file access over a network.

또한, 본 발명은 로컬 디스크에 할당된 캐쉬에 데이터를 선별하여 저장함으로써 기밀유지가 가능하고 네트워크 장애 시에도 소정의 데이터를 이용할 수 있게 하는 것을 목적으로 한다. In addition, an object of the present invention is to make it possible to maintain confidentiality by selecting and storing data in a cache allocated to a local disk and to use predetermined data even in the event of a network failure.

상기 목적을 달성하기 위하여, 본 발명의 일 태양에 따르면, 인터넷을 통해 스토리지 서버와 연결되는 사용자 컴퓨터에 있어서, 상기 스토리지 서버에 설치된 네트워크 스토리지를 상기 사용자 컴퓨터에 존재하는 저장장치로서 기능하게 하는 가상디스크 및 상기 가상디스크에 대한 캐쉬로 사용되는 제 1 저장부를 구비하는 로컬디스크를 포함하는 사용자 컴퓨터가 제공된다. 상기 로컬디스크는 상기 가상디스크에 대한 캐쉬로 사용되지 않고 사용자 컴퓨터 내부에서 사용되는 제 2 저장 부를 더 포함할 수도 있다.In order to achieve the above object, according to an aspect of the present invention, in a user computer connected to a storage server via the Internet, a virtual disk for making network storage installed in the storage server to function as a storage device present in the user computer And a local disk having a first storage unit used as a cache for the virtual disk. The local disk may further include a second storage unit used inside the user computer without being used as a cache for the virtual disk.

상기 가상디스크와 상기 네트워크 스토리지 사이에서 데이터가 블럭 기반 프로토콜을 이용하여 송수신됨으로써, 상기 사용자 컴퓨터에서 상기 네트워크 스토리지에 저장된 데이터 블럭들을 직접 제어하는 것이 바람직하다.It is preferable that data is transmitted and received between the virtual disk and the network storage using a block-based protocol, so that the user computer directly controls the data blocks stored in the network storage.

상기 가상디스크는 사용자로부터 소정의 데이터를 요청받을 때, 상기 제 1 저장부에 상기 소정의 데이터가 존재하는지 검색하는 캐쉬 관리수단을 더 포함할수 있으며, 상기 캐쉬 관리 수단은 요청된 상기 소정의 데이터가 상기 제 1 저장부에 존재하는 경우, 상기 제 1 저장부로부터 요청된 상기 소정의 데이터를 사용자에게 제공하고, 요청된 상기 소정의 데이터가 상기 제 1 저장부에 존재하지 않는 경우에는 상기 스토리지 서버로부터 요청된 상기 소정의 데이터를 제공받아 상기 사용자에게 제공하는 것이 바람직하다.The virtual disk may further include cache managing means for searching whether the predetermined data exists in the first storage unit when the predetermined data is requested from a user, and the cache managing means may include the requested data. If present in the first storage unit, provides the user with the predetermined data requested from the first storage unit, and if the requested predetermined data does not exist in the first storage unit from the storage server. Preferably, the requested data is received and provided to the user.

상기 가상디스크는 사용자로부터 소정의 데이터의 변경을 요청 받을 때, 상기 제 1 저장부에 상기 소정의 데이터가 존재하는지 여부를 검색하는 캐쉬 관리수단을 더 포함하며, 상기 캐쉬 관리 수단은 요청된 상기 소정의 데이터가 상기 제 1 저장부에 존재하는 경우, 상기 제 1 저장부에 저장된 상기 소정의 데이터를 변경하는 동시에 변경된 상기 소정의 데이터를 상기 네트워크 스토리지에 저장하고, 요청된 상기 소정의 데이터가 상기 제 1 저장부에 존재하지 않는 경우에는 상기 네트워크 스토리지에 존재하는 요청된 상기 소정의 데이터 변경하고 변경된 상기 소정의 데이터를 제공받을 수 있다. The virtual disk further includes cache management means for searching whether the predetermined data exists in the first storage unit when a change of predetermined data is requested from a user, and the cache managing means further includes the requested management information. Data of the first storage unit is stored, the predetermined data stored at the first storage unit is changed, and the changed predetermined data is stored in the network storage, and the requested data is stored in the first storage unit. 1, if the storage unit does not exist, the requested data present in the network storage may be changed and the changed data may be provided.

상기 캐쉬 관리 수단은 상기 스토리지 서버로부터 제공받은 상기 소정의 데 이터가 상기 제 1 저장부에 스왑인될 수 있는지 여부를 판단하는 스왑인 판단수단을 더 포함할 수 있고, 상기 스왑인 판단수단이 상기 소정의 데이터가 스왑인될 수 있다고 판단된 경우에는 상기 캐쉬 관리 수단은 상기 소정의 데이터가 상기 제 1 저장부에 저장될 여유 공간이 있는지 판단하는 수단을 더 포함할 수 있다. 또한, 상기 제 1 저장부에 여유 공간이 있는 경우, 상기 소정의 데이터를 상기 여유 공간에 저장하며, 상기 캐쉬 관리수단은 상기 소정의 데이터가 상기 제 1 저장부에 저장될 여유 공간이 없는 경우, 상기 제 1 저장부에 저장된 데이터 중 스왑아웃될 데이터를 선택하여 삭제하고, 삭제된 상기 삭제된 데이터 공간에 상기 소정의 데이터를 저장하는 스왑아웃 수단을 더 포함하며, 상기 스왑아웃될 데이터를 선택할 때 특정한 데이터는 삭제되지 아니하도록 하는 스왑아웃 방지옵션을 갖는 것이 바람직하다.The cache management means may further include a swap-in determining means for determining whether the predetermined data provided from the storage server can be swapped in the first storage unit, and the swap-in determining means includes: When it is determined that predetermined data may be swapped in, the cache managing means may further include means for determining whether there is free space in which the predetermined data is to be stored. In addition, when there is free space in the first storage unit, the predetermined data is stored in the free space, and the cache managing means, when there is no free space in which the predetermined data is stored in the first storage unit, And a swapout means for selecting and deleting data to be swapped out of the data stored in the first storage unit, and storing the predetermined data in the deleted data space, wherein when selecting the data to be swapped out. It is desirable to have a swapout prevention option to ensure that certain data is not deleted.

또한, 인터넷을 통해 연결된 스토리지 서버에 설치된 네트워크 스토리지를 사용자 컴퓨터에 존재하는 저장장치로서 기능하게 하는 가상디스크 및 상기 가상디스크에 대한 캐쉬를 구비하는 로컬디스크를 포함하는 사용자 컴퓨터를 이용하는 방법에 있어서, 사용자로부터 소정 데이터에 대한 요청이 있는 경우 상기 가상 디스크에서 상기 캐쉬에 상기 소정 데이터가 존재하는지 검색하는 데이터검색단계 및 상기 소정 데이터가 존재하는 경우, 상기 소정 데이터를 사용자에게 제공하고, 상기 소정 데이터가 존재하지 않는 경우, 상기 소정 데이터를 상기 스토리지 서버로부터 제공받는 데이터수신단계를 포함하는, 사용자 컴퓨터 이용방법이 제공된다.In addition, a method of using a user computer comprising a virtual disk for making network storage installed in a storage server connected through the Internet as a storage device existing in a user computer, and a local disk having a cache for the virtual disk. A data retrieval step of searching for whether the predetermined data exists in the cache in the virtual disk when a request for predetermined data is received from the virtual disk and providing the predetermined data to a user when the predetermined data exists, and the predetermined data exists. If not, a method of using a user computer is provided, including a data receiving step of receiving the predetermined data from the storage server.

또한, 인터넷을 통해 연결된 스토리지 서버에 설치된 네트워크 스토리지를 사용자 컴퓨터에 존재하는 저장장치로서 기능하게 하는 가상디스크 및 상기 가상디스크에 대한 캐쉬를 구비하는 로컬디스크를 포함하는 사용자 컴퓨터를 이용하는 방법에 있어서, 사용자로부터 소정 데이터에 대한 변경 요청이 있는 경우 상기 가상 디스크에서 상기 캐쉬에 상기 소정의 데이터가 존재하는지 여부를 검색하는 데이터검색단계 및 상기 소정의 데이터가 존재하는 경우, 상기 소정 데이터를 변경하는 동시에 변경된 상기 소정의 데이터를 상기 네트워크 스토리지에 저장하고, 상기 소정의 데이터가 존재하지 않는 경우, 상기 네트워크 스토리지에 존재하는 상기 소정의 데이터를 변경하는 동시에 변경된 상기 소정의 데이터를 상기 스토리지 서버로부터 제공받는 데이터수신단계를 포함하는, 사용자 컴퓨터 이용방법이 제공된다.In addition, a method of using a user computer comprising a virtual disk for making network storage installed in a storage server connected through the Internet as a storage device existing in a user computer, and a local disk having a cache for the virtual disk. A data retrieval step of retrieving whether or not the predetermined data exists in the cache in the virtual disk when a change request for predetermined data is received from the virtual disk; When the predetermined data is stored in the network storage, and the predetermined data does not exist, the predetermined data that is changed and the modified data existing in the network storage are simultaneously received from the storage server. A method of using a user computer is provided, including a data receiving step.

상기 데이터수신단계에서 상기 스토리지 서버로부터 제공받은 상기 소정의 데이터가 상기 캐쉬에 스왑인될 수 있는지 여부를 판단하는 스왑인 판단단계를 더 포함할 수 있으며, 상기 스왑인 판단단계에서 상기 소정의 데이터가 스왑인될 수 있다고 판단된 경우에는 상기 캐쉬 관리 수단은 상기 소정의 데이터가 상기 캐쉬에 저장될 여유 공간이 있는지 판단하는 단계를 더 포함할 수 있다.The data receiving step may further include a swap-in determining step of determining whether the predetermined data provided from the storage server can be swapped in the cache, wherein the predetermined data is determined in the swap-in determining step. If it is determined that the data can be swapped in, the cache managing means may further include determining whether there is free space in which the predetermined data is to be stored in the cache.

상기 캐쉬에 저장될 여유 공간이 있다고 판단된 경우, 상기 소정의 데이터를 상기 여유 공간에 저장하는 단계를 더 포함할 수 있으며, 상기 캐쉬에 저장될 여유 공간이 없다고 판단된 경우, 상기 캐쉬에 저장된 데이터 중 스왑아웃될 데이터를 선택하여 삭제하고, 삭제된 상기 삭제된 데이터 공간에 상기 소정의 데이터를 저장하는 단계를 더 포함하며, 상기 스왑아웃될 데이터를 선택할 때 특정한 데이터는 삭제되지 아니하도록 하는 스왑아웃 방지옵션을 갖는 것이 바람직하다.If it is determined that there is free space to be stored in the cache, the method may further include storing the predetermined data in the free space. When it is determined that there is no free space to be stored in the cache, data stored in the cache Selecting and deleting data to be swapped out of the data; and storing the predetermined data in the deleted data space, wherein the specific data is not deleted when the data to be swapped out is selected. It is desirable to have prevention options.

상기 가상디스크와 상기 네트워크 스토리지 사이에서의 데이터 송수신은 블럭 기반 프로토콜을 이용함으로써, 상기 사용자 컴퓨터에서 상기 네트워크 스토리지에 저장된 데이터 블럭들을 직접 제어하는 것이 바람직하다.In the data transmission and reception between the virtual disk and the network storage, a block-based protocol is used, whereby the user computer directly controls the data blocks stored in the network storage.

또한, 본 발명의 일 태양에 따르면, 상기 방법이 컴퓨터 상에서 실행되도록 하는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체가 제공된다.According to one aspect of the present invention, there is also provided a computer readable recording medium having recorded thereon a program for executing the method on a computer.

본 발명의 또 다른 태양에 따르면, 인터넷을 통해 연결된 스토리지 서버에 설치된 네트워크 스토리지를 사용자 컴퓨터에 존재하는 저장장치로서 기능하게 하는 가상디스크 및 상기 가상디스크에 대한 캐쉬로 사용되는 제 1 저장부를 구비하는 로컬디스크를 포함하는 사용자 컴퓨터 및 상기 스토리지 서버를 포함하는 하이브리드 네트워크 스토리지 시스템이 제공된다.According to another aspect of the present invention, there is provided a local disk having a virtual disk for making network storage installed in a storage server connected through the Internet function as a storage device existing in a user computer, and a first storage unit used as a cache for the virtual disk. A hybrid network storage system is provided that includes a user computer comprising a disk and the storage server.

본 발명에 따르면, 로컬디스크의 일부분 또는 전체를 가상디스크에 대한 캐쉬로 할당하여 가상디스크를 사용함으로써 종래의 네트워크 스토리지 시스템에 비하여 더욱 신속하고 안정적인 가상디스크의 사용이 가능하다.According to the present invention, by using a virtual disk by allocating a part or all of the local disk as a cache for the virtual disk, it is possible to use the virtual disk more quickly and stably than the conventional network storage system.

또한, 본 발명에 따르면, 네트워크를 통한 파일공유를 위하여 블럭 기반의 프로토콜을 사용함으로써 사용자 컴퓨터에서 실행되는 가상디스크의 전체적인 속도를 향상시키고, 가상디스크를 로컬디스크와 동일한 성능으로 사용할 수 있다In addition, according to the present invention, by using a block-based protocol for file sharing over a network, the overall speed of the virtual disk running on the user computer can be improved, and the virtual disk can be used with the same performance as the local disk.

또한, 본 발명에 따르면, 로컬 디스크에 할당된 캐쉬에 데이터를 선별하여 저장함으로써 소정의 파일은 캐쉬에 저장이 되지 않도록 하여 기밀유지가 가능하고, 다른 소정의 파일은 캐쉬에서 지워지지 않도록 하여 네트워크 장애 시에도 그 파일을 이용할 수 있다.In addition, according to the present invention, by selecting and storing data in the cache allocated to the local disk, predetermined files are not stored in the cache so that confidentiality is possible, and other predetermined files are not erased from the cache so that the network fails. The file is also available.

이하, 첨부된 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하나, 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, with reference to the accompanying drawings will be described a specific embodiment of the present invention, but this is only an example and the present invention is not limited thereto.

로컬디스크라 함은 사용자 컴퓨터에 실제로 설치되어 데이터를 저장할 수 있는 장치를 말한다.A local disk is a device that is actually installed on your computer and can store data.

네트워크 스토리지라 함은 네트워크 망에 연결된 스토리지 장치를 말하는데, 로컬장치 또는 사용자 컴퓨터의 저장장치만으로는 저장공간이 부족하거나, 원격의 여러 장소에서 데이터 공유가 필요한 경우 사용되는 장치이다. Network storage refers to a storage device connected to a network. The storage device of a local device or a user's computer alone is used when there is insufficient storage space or when data sharing is required at various places in remote areas.

캐쉬라 함은 사용빈도가 높은 데이터를 고속의 기억장치에 저장해 둠으로써, 일일이 저속의 장치에서 불러들일 필요 없이 데이터 입출력을 고속화하는 것, 또는 그 때에 사용되는 고속의 기억장치를 뜻한다. 본 발명에서 로컬디스크를 캐쉬로 사용한다는 것은 네트워크 스토리지 보다 데이터 입출력 속도가 빠른 로컬디스크에 네트워크 스토리지에 저장된 데이터의 일부를 저장함으로써 로컬디스크를 캐쉬로 사용한다는 것이다.The cache refers to a high speed memory device used for storing data frequently used in a high speed memory device, thereby speeding up data input / output without having to load it from a low speed device. In the present invention, using a local disk as a cache means that the local disk is used as a cache by storing a part of data stored in the network storage on the local disk having a faster data input / output speed than the network storage.

도 2 는 본 발명의 일 실시형태에 따른 로컬디스크를 캐쉬로 사용하는 하이브리드 네트워크 스토리지 시스템을 도시한 개략도이다. 2 is a schematic diagram illustrating a hybrid network storage system using a local disk as a cache according to an embodiment of the present invention.

도 2 를 참조하면, 사용자 컴퓨터 (200)의 저장장치 (210)는 로컬디스크 (220) 및 가상디스크 (230)로 구성되어 있으며, 사용자 컴퓨터 (200)는 인터넷을 통해 공유 데이터를 저장하고 있는 네트워크 스토리지 (260)를 구비한 스토리지 서 버 (250)에 연결된다.Referring to FIG. 2, the storage device 210 of the user computer 200 includes a local disk 220 and a virtual disk 230, and the user computer 200 stores a shared data through the Internet. It is connected to a storage server 250 having a storage 260.

로컬디스크 (220)는 다시 캐쉬용 파티션으로 할당된 제 1 저장부 (222) 및 일반 파티션으로 할당된 제 2 저장부 (221)로 분할되며, 제 1 저장부 (222)는 가상디스크 (230)의 캐쉬로 사용되는 저장공간인 반면, 제 2 저장부 (221)는 사용자 컴퓨터 (200) 내부에서 통상의 저장장치로서 기능하는 저장공간이다. The local disk 220 is divided into a first storage unit 222 allocated as a cache partition and a second storage unit 221 allocated as a general partition, and the first storage unit 222 is a virtual disk 230. While the storage space used as a cache of the second storage unit 221 is a storage space that functions as a normal storage device in the user computer 200.

제 1 저장부 (222)는 여러 캐쉬 블럭 (231, 232, 233, 234)들로 구성되어 있는데, 각 캐쉬 블럭 (231, 232, 233, 234)은 네트워크 스토리지 (260)의 각 블럭 (261, 262, 263, 264, 265, 266) 중에서 사용자가 가상디스크 (230)을 통해 캐쉬로 읽어 들여 저장한 것이다. The first storage unit 222 is composed of several cache blocks 231, 232, 233, and 234, and each cache block 231, 232, 233, and 234 is a block of the network storage 260. 262, 263, 264, 265, and 266, the user reads the cache through the virtual disk 230 and stores it.

구체적으로, 사용자가 가상디스크 (230)에 소정 파일을 요청하면 가상디스크 (230)는 우선, 제 1 저장부 (222)에 있는 캐쉬 블럭 (231, 232, 233, 234)에 요청된 파일이 존재하는지 먼저 확인하고, 존재할 경우 해당 캐쉬 블럭 (231, 232, 233, 234)으로부터 해당 파일을 제공한다. 만약 해당 파일이 캐쉬 블럭 (231, 232, 233, 234)에 존재하지 않는 경우에는 스토리지 서버 (250)로부터 요청된 파일이 저장되어 있는 네트워크 스토리지 (260) 내의 블럭 (261, 262, 263, 264, 265, 266) 중 해당 블럭을 전송 받아 제 1 저장부 (222)에 저장하면서 동시에 사용자에게 해당 파일을 제공한다. In detail, when a user requests a predetermined file from the virtual disk 230, the virtual disk 230 first includes a requested file in the cache blocks 231, 232, 233, and 234 in the first storage unit 222. If there is one, then the file is provided from the corresponding cache block (231, 232, 233, 234). If the file does not exist in the cache blocks 231, 232, 233, and 234, the blocks 261, 262, 263, 264, in the network storage 260 in which the requested file is stored from the storage server 250 are stored. 265 and 266, the corresponding block is received and stored in the first storage unit 222, and the corresponding file is provided to the user.

동일한 방식으로, 사용자가 가상디스크 (230)에 소정 파일 내용의 변경을 요청하면 가상디스크 (230)는 우선, 제 1 저장부 (222)에 있는 캐쉬 블럭 (231, 232, 233, 234)에 요청된 파일이 존재하는지 먼저 확인하고, 존재할 경우 변경된 파일을 해당 캐쉬 블럭 (231, 232, 233, 234) 내에 저장하는 동시에 인터넷을 통해 네트워크 스토리지 (260)에 변경된 블럭을 저장하여 캐쉬 블럭 (231, 232, 233, 234)과 네트워크 스토리지 (260)의 블럭 (261, 262, 263, 264, 265, 266)을 동기화한다. In the same way, when the user requests the virtual disk 230 to change the contents of a predetermined file, the virtual disk 230 first requests the cache blocks 231, 232, 233, and 234 in the first storage unit 222. First, check whether the file exists, and if it exists, the changed file is stored in the corresponding cache block (231, 232, 233, 234), and at the same time, the changed block is stored in the network storage 260 through the Internet. , 233, 234 and blocks 261, 262, 263, 264, 265, and 266 of the network storage 260 are synchronized.

만약 해당 파일이 캐쉬 블럭 (231, 232, 233, 234)에 존재하지 않는 경우에는 스토리지 서버 (250)로부터 변경 요청된 파일이 저장되어 있는 네트워크 스토리지 (260) 내의 블럭 (261, 262, 263, 264, 265, 266) 중 해당 블럭을 전송 받아 해당 파일을 변경하여 제 1 저장부 (222)에 저장하면서 동시에 네트워크 스토리지 (260) 의 해당 블럭에 저장한다. 또는 네트워크 스토리지 (260) 내의 블럭 (261, 262, 263, 264, 265, 266) 중 해당 블럭을 바로 변경하고 변경된 해당 블럭을 전송 받아 해당 제 1 저장부 (222)에 저장한다.If the file does not exist in the cache blocks 231, 232, 233, and 234, the block 261, 262, 263, 264 in the network storage 260 in which the file requested to be changed from the storage server 250 is stored is stored. , 265 and 266, the corresponding block is received, the corresponding file is changed and stored in the first storage unit 222 and simultaneously stored in the corresponding block of the network storage 260. Alternatively, among the blocks 261, 262, 263, 264, 265, and 266 in the network storage 260, the corresponding block is immediately changed and the changed block is received and stored in the first storage unit 222.

이와 같이, 가상디스크 (230)는 스토리지 서버 (250)에 저장된 파일을 요청하거나 파일의 변경을 요청할 때 먼저 캐쉬 블럭 (231, 232, 233, 234)을 탐색하여 해당 파일이 있는지 여부를 확인하여 작동하기 때문에 그 당시 캐쉬 블럭 (231, 232, 233, 234)에 해당 파일이 존재하는 경우 신속하고 안정적으로 그 파일을 이용할 수 있다.As such, when the virtual disk 230 requests a file stored in the storage server 250 or requests to change the file, the virtual disk 230 first searches the cache blocks 231, 232, 233, and 234 to check whether the file exists. Therefore, if the file exists in the cache blocks 231, 232, 233, and 234 at that time, the file can be used quickly and stably.

일반적으로, 캐쉬메모리나 디스크캐쉬를 사용할 때의 성능 향상 효과에서도 알 수 있듯이 한 번 사용된 가까운 미래에 재사용될 가능성이 매우 크므로, 사용된 파일들을 로컬디스크에 저장하게 되면 네트워크 스토리지로부터 파일을 가져오는 횟수를 줄일 수 있게 되어 성능 향상효과를 가져올 수 있다. 뿐만 아니라 일반적으로 로컬디스크는 일상적인 업무를 하기 위한 대부분의 파일들을 저장할 수 있을 정도로 용량이 크므로, 로컬디스크의 많은 부분을 캐쉬로 사용할 경우 자주 사용되는 파일들은 대부분 로컬디스크에 저장되어 있어 실제 네트워크 트래픽이 거의 발생하지 않아 사용자는 로컬디스크를 사용하는 것과 속도의 차이를 거의 느끼지 못하게 되고 네트워크 장애 시에도 큰 불편 없이 가상디스크를 사용할 수 있다.In general, as can be seen in the performance improvement when using cache memory or disk cache, it is very likely to be reused in the near future once it has been used. The number of comings can be reduced, which can improve performance. In addition, the local disk is large enough to store most of the files for daily work, so if you use a large portion of the local disk as a cache, most of the frequently used files are stored on the local disk. Since there is little traffic, the user can hardly notice the difference in speed from using the local disk and can use the virtual disk without any inconvenience in case of network failure.

물론, 통상적으로 사용하는 웹브라우져에 캐쉬기능을 구비함으로써, 이전에 방문했던 웹페이지의 파일들은 캐쉬 공간에 저장하고 있어 이후에 그 웹페이지를 재방문하는 경우 그 파일을 다시 가져올 필요가 없어 전체적인 성능이 향상될 수도 있지만, 이는 웹페이지에 포함된 파일에 대해서만 캐쉬기능이 동작하므로 웹하드를 사용할 때에도 캐쉬의 효과를 얻기는 어렵다.Of course, by providing a caching function in a commonly used web browser, files of previously visited web pages are stored in a cache space, so when the user revisits the web pages later, the files do not need to be retrieved again. This may be improved, but since the cache function only works for files included in the web page, it is difficult to obtain the cache effect even when using the web hard disk.

도 3 은 본 발명의 일 실시형태에 따른 로컬디스크를 캐쉬로 사용하는 하이브리드 네트워크 스토리지 시스템을 구성하는 사용자 컴퓨터와 스토리지 서버를 도시한 기능 블럭도이다.FIG. 3 is a functional block diagram illustrating a user computer and a storage server configuring a hybrid network storage system using a local disk as a cache according to an embodiment of the present invention.

도 3 을 참조하면, 사용자 컴퓨터 (300)는 사용자가 사용하는 프로그램인 어플리케이션 (310), 인터넷으로 네트워크 스토리지 (260)와 연결되는 가상디스크 (320), 로컬디스크 (220), 상기 로컬 디스크에 포함된 캐쉬를 관리하는 캐쉬 관리수단 (330), 인터넷을 통해 데이터를 블럭 단위로 전송할 수 있게 하는 블럭 기반 프로토콜 수단 (340)을 포함한다. Referring to FIG. 3, the user computer 300 includes an application 310 which is a program used by the user, a virtual disk 320 connected to the network storage 260 via the Internet, a local disk 220, and the local disk. Cache management means 330 for managing the cache, the block-based protocol means 340 for transmitting data on a block basis over the Internet.

또한, 스토리지 서버 (250)는 네트워크 스토리지 (260)와 블럭 기반 프로토콜 수단 (350)을 포함하며, 네트워크 스토리지 (260)는 각 블럭 (261, 262, 263, 264, 265, 266)들로 구분되어 있다.The storage server 250 also includes a network storage 260 and block-based protocol means 350, which are divided into blocks 261, 262, 263, 264, 265, and 266. have.

이하 각 기능 블럭들의 기능을 구체적으로 살펴보면, 어플리케이션 (310)은 사용자가 실제로 사용하는 프로그램을 말하며, 사용자가 원하는 작업을 수행하게 된다. 어플리케이션 (310)은 직접 파일에 대해 접근을 하기도 하고 오퍼레이팅시스템(OS; Operating System)을 경유하여 파일에 접근하기도 한다. 도 3 에서는 어플리케이션 (310)이 직접 파일을 요청 변경하는 것으로 간단히 표현하였다. Looking at the function of each functional block in detail, the application 310 refers to a program actually used by the user, and performs a task desired by the user. The application 310 may directly access the file or may access the file via an operating system (OS). In FIG. 3, the application 310 simply expresses a request change of a file.

가상디스크 (320)는 사용자 컴퓨터 (300) 내부에 물리적으로 설치된 디스크는 아니나 네트워크 스토리지와 연결되어 네트워크 스토리지가 사용자 컴퓨터에 실제로 설치된 것처럼 기능하게 하는 수단으로 어플리케이션 (310)의 요청이 있으면 이에 따라 파일을 관리한다. The virtual disk 320 is not a disk physically installed inside the user computer 300 but is connected to the network storage so that the network storage functions as if it is actually installed on the user computer. Manage.

캐쉬 관리 수단 (330)은 로컬디스크 (220)의 제 1 저장부 (222)에 존재하는 캐쉬 블럭 (231, 232, 233, 234)을 관리하는 수단으로, 가상디스크 (320)가 원하는 파일이 캐쉬 블럭 (231, 232, 233, 234)에 존재하는지 판단하고, 캐쉬 블럭 (231, 232, 233, 234)을 읽거나 저장하거나 또는 삭제하는 작업을 관리한다. 상기 언급한 바와 같이, 가상디스크에 대한 캐쉬는 로컬디스크 (220)에 제 1 저장부 (222)를 별도의 파티션으로 구분하여 사용한다. 그러므로 제 2 저장부 (221)와 분리되어 운영되기 때문에 제 2 저장부 (221)에 에러가 생기는 경우에도 제 1 저장부 (222)는 영향을 받지 않게 된다. The cache managing means 330 is a means for managing the cache blocks 231, 232, 233, and 234 existing in the first storage unit 222 of the local disk 220. The files desired by the virtual disk 320 are cached. It determines whether the block 231, 232, 233, 234 exists, and manages the operation of reading, storing, or deleting the cache block 231, 232, 233, 234. As mentioned above, the cache for the virtual disk divides the first storage unit 222 into a separate partition on the local disk 220. Therefore, the first storage unit 222 is not affected even when an error occurs in the second storage unit 221 because it is operated separately from the second storage unit 221.

블럭 기반 프로토콜 수단 (340)은 인터넷으로 연결된 스토리지들 사이에 데이터 전송을 블럭 단위로 이루어지게 하는 수단을 의미하며, 그 대표적인 예로 iSCSI(Internet Small Computer Systems Interface)가 있다. iSCSI는 TCP/IP 네트 워크 상에서 SCSI(Small Computer Systems Interface)명령과 데이터들이 오고 갈 수 있게 정리된 것이며 iSCSI를 이용한 공유 디스크는 TCP/IP 네트워크를 통해서 여러 노드들이 동시에 접근하는 연산을 허용한다. The block-based protocol means 340 means a means for performing data transfer in units of blocks between storages connected to the Internet. An example thereof is an Internet Small Computer Systems Interface (iSCSI). iSCSI organizes small computer systems interface (SCSI) commands and data into and out of a TCP / IP network. Shared disks using iSCSI allow multiple nodes to access concurrently over a TCP / IP network.

종래의 네트워크 스토리지 시스템에서 사용하는 방식인 파일 기반 프로토콜을 사용하게 되면 네트워크 스토리지 (260)에 저장된 파일을 가상디스크에서 사용할 경우 스토리지 서버 (250)의 파일시스템을 거쳐서 네트워크 스토리지 (260)에 저장된 파일에 접근하게 된다. 반면에 블럭 기반 프로토콜을 사용하는 경우, 사용자 컴퓨터 (300)에서 스토리지 서버 (250)의 데이터 블럭들을 직접 제어할 수 있게 된다. 즉 저장장치의 블럭을 직접 제어한다는 것은 저장장치의 파일을 제어하는 것보다 더 하위적인 작업으로, 단순히 파일만 제어하는 것보다 더 광범위하게 저장장치를 제어한다는 것이다.When using a file-based protocol, which is a method used in a conventional network storage system, when a file stored in the network storage 260 is used in a virtual disk, the file stored in the network storage 260 passes through the file system of the storage server 250. Approached. On the other hand, when using a block-based protocol, it is possible to directly control the data blocks of the storage server 250 from the user computer (300). In other words, controlling a block of storage directly is a subordinate task than controlling a file on a storage device, which means controlling the storage device more broadly than simply controlling a file.

그러므로, 블럭 기반으로 데이터를 전송하게 되면 파일 기반으로 한 것과 달리 네트워크 스토리지 (260)를 사용자 컴퓨터 (300)에 있는 로컬디스크 (220)와 동일한 디스크처럼 동작하게 하는 것이 가능하여 가상디스크의 사용을 안정적으로 할 수 있고, 스토리지 서버 (250)의 파일시스템을 사용하지 아니하여 가상디스크의 실행 속도가 향상된다.Therefore, when data is transferred on a block-based basis, unlike the file-based scheme, it is possible to make the network storage 260 behave like the same disk as the local disk 220 in the user computer 300, thereby stably using the virtual disk. In this case, the execution speed of the virtual disk is improved by not using the file system of the storage server 250.

구체적으로, 도 3 을 참조하여 각 기능 블럭들의 결합 관계를 살펴보면, 사용자는 사용자 컴퓨터 (300)를 통해 원하는 작업을 수행하기 위해서 컴퓨터 프로그램인 어플리케이션 (310)을 작동시킨다. 어플리케이션 (310)은 해당 작업 수행을 위해 가상 디스크 (320)에 대해 소정의 파일을 요청하거나 변경하게 되는데, 그 해 당 파일이 가상디스크 (320)에 존재하게 되면 가상디스크 (320)에게 해당 파일을 요청하거나 변경을 명령한다.Specifically, referring to FIG. 3, the coupling relationship between the respective functional blocks is operated. The user operates the application 310, which is a computer program, to perform a desired task through the user computer 300. The application 310 requests or changes a predetermined file for the virtual disk 320 to perform a corresponding operation. When the file exists on the virtual disk 320, the application 310 sends the file to the virtual disk 320. Request or order a change.

그러면 가상디스크 (320)는 먼저 캐쉬 관리 수단 (330)을 통해 해당 파일이 제 1 저장부 (222)에 존재하는지 확인한다. 캐쉬 관리 수단 (330)은 해당파일이 제 1 저장부 (222)의 캐쉬 블럭 (231, 232, 233, 234) 중에 존재하는 경우 해당 파일을 읽어서 가상디스크 (320)에게 전송하고 변경이 필요한 경우에는 해당 파일을 변경하여 캐쉬 블럭 (231, 232, 233, 234)에 저장함과 동시에 블럭 기반 프로토콜 수단 (340 및 350)을 통해 네트워크 스토리지 (260)의 블럭 (261, 262, 263, 264, 265, 266)에 변경된 사항을 동기화 시킨다. Then, the virtual disk 320 first checks whether the corresponding file exists in the first storage unit 222 through the cache management means 330. The cache managing means 330 reads the file when the file exists in the cache blocks 231, 232, 233, and 234 of the first storage unit 222, and transmits the file to the virtual disk 320. Change the file and store it in the cache blocks 231, 232, 233, 234, and at the same time block 261, 262, 263, 264, 265, 266 of the network storage 260 via the block based protocol means 340 and 350. ) To synchronize the changes.

그러나, 캐쉬 블럭 (231, 232, 233, 234)에 해당 파일이 존재하지 않는 경우에는 캐쉬 관리 수단 (330)은 블럭 기반 프로토콜 수단 (340 및 350)을 통해 네트워크 스토리지 (260)의 블럭 (261, 262, 263, 264, 265, 266) 중에서 해당 파일이 존재하는 블럭을 그대로 전송 받아 캐쉬 블럭 (231, 232, 233, 234)에 저장하거나, 해당 파일의 변경이 필요한 경우 전송 받은 블럭을 변경하여 캐쉬 블럭 (231, 232, 233, 234)에 저장하고 동시에 그 변경된 블럭을 네트워크 스토리지 (260)에 다시 저장시키고 가상디스크 (320)에게 해당 파일을 전달한다.However, if the file does not exist in the cache blocks 231, 232, 233, and 234, the cache management means 330 uses the block based protocol means 340 and 350 to block the block 261,. Among the 262, 263, 264, 265, and 266, the block in which the file exists is transmitted as it is and stored in the cache block (231, 232, 233, 234), or when the file needs to be changed, the received block is changed and cached. At block 231, 232, 233, and 234, the changed block is again stored in the network storage 260 and the corresponding file is transferred to the virtual disk 320.

또한, 캐쉬 관리 수단 (330)은 캐쉬에 소정의 데이터가 저장되는 것을 방지하는 스왑인 방지 수단, 캐쉬에 소정의 데이터가 삭제되는 것을 방지하는 스왑아웃 방지 수단을 더 포함한다. (단, 도면에는 미도시.)In addition, the cache management means 330 further includes swap-in preventing means for preventing the predetermined data from being stored in the cache, and swap-out preventing means for preventing the predetermined data from being deleted in the cache. (However, not shown in the drawing.)

여기서 캐쉬에 소정의 데이터가 저장되는 것을 스왑인, 캐쉬에서 소정의 데 이터가 삭제되는 것을 스왑아웃이라고 한다. 보통 캐쉬는 상술한 바와 같이 저속의 저장장치에 저장된 데이터 중 빈번하게 사용되는 것을 고속의 캐쉬에 저장하여 그 활용성을 높이는 것인데, 고속의 저장장치인 캐쉬의 저장공간의 크기는 저속의 저장장치의 저장공간보다 작은 것이 일반적이다. 그러므로 캐쉬를 사용함에 따라 캐쉬의 저장공간은 부족하게 되고, 캐쉬에 저장된 데이타의 일부는 삭제해야고 삭제된 공간에 새로운 데이터가 저장된다. 이렇게 캐쉬에서 소정의 데이터를 삭제하는 과정을 스왑아웃이라 하고 캐쉬에 새로운 데이터를 저장하는 과정을 스왑인이라고 한다.In this case, swapping out a predetermined data stored in the cache is called swapping out and deleting predetermined data from the cache is called swap out. In general, the cache stores the frequently used data stored in the low speed storage device in the high speed cache to increase its utilization. The size of the storage space of the high speed storage device is the size of the low speed storage device. It is common to be smaller than the storage space. Therefore, as the cache is used, the storage space of the cache becomes insufficient, some of the data stored in the cache must be deleted, and new data is stored in the deleted space. The process of deleting certain data from the cache is called swap out, and the process of storing new data in the cache is called swap-in.

본 발명의 일 실시형태에 따르면, 소정 데이터의 기밀유지를 위해서 보안유지가 필요한 소정의 데이터를 사용자 컴퓨터 (300)에 저장되는 것을 방지하는 스왑인 방지 수단을 캐쉬 관리수단 (330)에 추가한 것이다. 또한 사용자 컴퓨터 (300)에 항상 존재할 필요가 있는 데이터에 대해서는 스왑아웃이 되지 않도록 스왑아웃 방지 수단을 추가하여 네트워크 장애가 있는 경우에도 소정의 데이터를 계속하여 안정적으로 사용할 수 있다.According to one embodiment of the present invention, a swap-in prevention means is added to the cache management means 330 to prevent the predetermined data requiring the security maintenance for the confidentiality of the predetermined data from being stored in the user computer 300. . In addition, by adding a swapout prevention means so that data that always needs to exist in the user computer 300 is not swapped out, predetermined data can be continuously and stably used even when there is a network failure.

도 4 는 본 발명의 일 실시형태에 따른 로컬디스크를 캐쉬로 사용하는 하이브리드 네트워크 스토리지 시스템을 여러 컴퓨터에서 사용하는 예를 도시한 개략도이다. 4 is a schematic diagram showing an example of using a hybrid network storage system using a local disk as a cache in various computers according to an embodiment of the present invention.

도 4 를 참조하면, 사용자는 데스크탑 (410), 휴대컴퓨터 (430) 및 PDA (450)의 로컬디스크 (412, 432 및 452)에 제 1 저장부 (420, 440 및 460)을 만들고 이를 각각 가상디스크 (411, 431 및 451)에 대한 캐쉬용 공간으로 사용한다. 그리 고, 동일한 네트워크 스토리지 (480)로부터 각각 필요한 블럭 (481, 482, 483, 484, 485, 486)을 가져와서 제 1 저장부 (420, 440 및 460)에 저장하여 사용하고 변경된 블럭들을 동기화함으로써 모든 컴퓨터에서 동일한 시스템 환경을 사용할 수 있게 된다. Referring to FIG. 4, a user creates first storages 420, 440, and 460 on local disks 412, 432, and 452 of desktop 410, portable computer 430, and PDA 450, and virtualizes them respectively. Used as a cache space for the disks 411, 431 and 451. Then, by taking the necessary blocks 481, 482, 483, 484, 485, 486 from the same network storage 480, respectively, storing them in the first storage unit 420, 440, and 460, and synchronizing the changed blocks. All computers will be able to use the same system environment.

경우에 따라서는 PDA (450)와 같이 로컬 디스크 (452)가 부족한 경우에는 로컬 디스크 (452) 전체를 가상 디스크 (451)에 대한 캐쉬용 공간인 제 1 저장부 (460)로 할당하여 사용할 수도 있다.In some cases, when the local disk 452 is insufficient, such as the PDA 450, the entire local disk 452 may be allocated to the first storage unit 460 which is a cache space for the virtual disk 451. .

또한, 기본적으로 전체 파일들을 네트워크 스토리지 (480)에 저장하므로 사용하는 모든 컴퓨터 (410, 430 및 450)를 동일한 환경으로 사용할 수 있으며 여러 사람들과 자료를 공유할 수도 있다. In addition, the entire file is basically stored in the network storage 480, so that all the computers 410, 430, and 450 can be used in the same environment, and the data can be shared with multiple people.

게다가, 로컬디스크를 캐쉬로 사용하게 되면 별도의 파일 복사 없이도 자동으로 항상 동일한 내용의 파일시스템이 모든 컴퓨터의 로컬디스크에 보관되어 있는 것과 같은 효과를 얻을 수 있을 뿐만 아니라 컴퓨터나 로컬디스크를 교체하게 되더라도 별도의 복구작업이 필요 없게 된다.In addition, using the local disk as a cache will automatically achieve the same effect as always having the same file system stored on all computers' local disks, without having to copy files. No recovery is necessary.

도 5 는 본 발명의 일 실시형태에 따른 로컬디스크를 캐쉬로 사용하는 하이브리드 네트워크 스토리지로부터 파일을 읽어오는 과정을 도시한 흐름도이다.5 is a flowchart illustrating a process of reading a file from a hybrid network storage using a local disk as a cache according to an embodiment of the present invention.

도 5 를 참조하면, 가상디스크에 대해서 사용자의 파일접근 요청 (S510)이 있으면 우선 파일이 캐쉬블럭에 존재하는 지를 확인 (S520)한 후 존재할 경우 사용자에게 파일을 제공 (S530)하고 동작이 종료된다. 단계 S520에서는 네트워크 스토리지에 파일을 요청하기 전에 먼저 캐쉬블럭에 해당 파일이 존재하는지 확인하므로 캐쉬블럭에 존재하는 파일은 네트워크를 통해 수신받지 아니하여 가상디스크 작동속도가 향상된다. Referring to FIG. 5, if there is a user's file access request for the virtual disk (S510), first, it is checked whether the file exists in the cache block (S520), and if present, the file is provided to the user (S530) and the operation is terminated. . In step S520, before requesting a file to the network storage, first check whether the file exists in the cache block, so that the file existing in the cache block is not received through the network, thereby improving the operation speed of the virtual disk.

만약 파일이 존재하지 않으면 네트워크 스토리지에 해당 파일을 요청 (S540)하고 네트워크 스토리지 내의 블럭들 중 해당 파일이 저장된 블럭을 수신 (S550)하여 사용자에게 해당 파일을 제공 (S530)하면서 동시에 수신된 블럭이 스왑인이 허용되는지 확인 (S560)한다. 단계 S560에서는 캐쉬블럭에 저장이 허용되는 것인지 즉, 스왑인이 허용되는 블럭인지를 확인하는데 이는 기밀문서가 유출되는 것을 방지하는 기능을 제공하기 위함이다. 기밀사항이 기록된 파일은 로컬디스크의 캐쉬블럭에 저장되지 않게 하여 사용자 컴퓨터에 기밀내용이 저장되는 것을 방지한다.If the file does not exist, it requests the file to the network storage (S540), receives the block in which the file is stored among the blocks in the network storage (S550), provides the file to the user (S530), and simultaneously receives a block swapped. Check whether the phosphorus is allowed (S560). In step S560, it is checked whether the cache block is allowed to be stored, that is, whether the block is allowed to be swapped in, so as to provide a function of preventing the leakage of confidential documents. Confidential files are not stored in the cache block of the local disk, preventing confidential information from being stored on the user's computer.

다음으로, 단계 S560에서 수신된 블럭이 스왑인이 허용되지 않는 블럭인 경우에는 프로세스가 종료되고, 스왑인이 허용되는 블럭인 경우에는 로컬 디스크의 캐쉬 내에 여유 캐쉬블럭이 존재하는지 확인 (S570)하여 여유 캐쉬블럭이 존재한다면 여유 블럭에 수신된 블럭을 저장 (S590)한다. 만약, 여유 캐쉬블럭이 존재하지 않는다면 캐쉬 알고리즘에 의해 스왑아웃할 블럭을 선택 (S581)하고 선택된 블럭의 내용을 삭제 (S582)한 후에 캐쉬블럭에 수신한 블럭을 저장 (S590)하고 종료된다. Next, if the block received in step S560 is a block that is not allowed to be swapped in, the process is terminated. If the block is allowed to be swapped in, it is checked whether a free cache block exists in the cache of the local disk (S570). If there is a free cache block, the received block is stored in the free block (S590). If the free cache block does not exist, the block to be swapped out is selected by the cache algorithm (S581), the contents of the selected block are deleted (S582), and the received block is stored (S590) and terminated.

특히, S581에서는 캐쉬블럭에서 지워져야할 블럭 즉, 스왑아웃할 블럭을 선택하게 되는데 캐쉬 알고리즘을 이용하여 삭제될 필요가 있는 블럭을 적절하게 선택하여 그 블럭을 단계 S582에서 삭제한다.  In particular, in S581, a block to be erased from the cache block, that is, a block to be swapped out is selected, and a block that needs to be deleted using a cache algorithm is appropriately selected and the block is deleted in step S582.

또한, 항상 로컬디스크의 캐쉬블럭에 항상 저장될 필요가 있는 파일은 미리 캐쉬 알고리즘에 설정하여 해당 파일이 저장된 블럭은 스왑아웃되지 아니하도록 할 수 있다. 이렇게 삭제되지 않는 파일은 네트워크를 사용할 수 없는 경우에도 가상디스크를 통해 캐쉬블럭으로부터 읽어서 사용할 수 있다.In addition, a file that always needs to be always stored in the cache block of the local disk can be set in advance in the cache algorithm so that the block in which the file is stored is not swapped out. These undeleted files can be read from the cache block via the virtual disk even when the network is unavailable.

예를 들어, 가상디스크에 저장되는 파일 중 시스템 파일과 같이 시스템의 동작에 영향을 미치는 파일들을 따로 분류해서 스왑아웃 되지 않도록 함으로써 네트워크 장애 시에도 시스템의 동작이 영향을 받지 않도록 한다.For example, among the files stored in the virtual disk, files that affect the operation of the system, such as system files, are classified separately so that they are not swapped out so that the operation of the system is not affected even in the event of a network failure.

한편, 이와 같은 방법은 소프트웨어로 구현되어 컴퓨터에서 실행될 수 있다. 소프트웨어는 상술한 방법 단계의 일부 또는 전부를 실행하는 소프트웨어 모듈을 1 이상 포함하는 형태로 구현될 수도 있다. 또한 소프트웨어는 다양한 프로그래밍 언어로 다양한 플랫폼에서 구현될 수 있다. Meanwhile, the method may be implemented in software and executed on a computer. The software may be implemented in a form that includes one or more software modules that execute some or all of the above described method steps. Software can also be implemented on a variety of platforms in a variety of programming languages.

또한 소프트웨어 및 소프트웨어 모듈은 다양한 서비스 모델로 구현될 수 있다. 예를 들어, 스토리지 서버가 사용자 컴퓨터와 통신하는 경우에는, 서버 상에서 수행되는 방법은 ASP (Application Service Provider)의 형태로 구현되어 사용자 컴퓨터의 요청에 따라 제공되어 동작하는 애플리케이션일 수 있다. 다르게는 애플리케이션이 서버 자체에서 실행되고 그 결과만이 사용자 컴퓨터로 전송될 수도 있다. 또한 소프트웨어는 PHP, JSP (JAVA Script Page) 등 다양한 사용자에게 친근한 형태로 구현되어 사용자의 사용을 용이하게 할 수 있다.In addition, software and software modules may be implemented in various service models. For example, when the storage server communicates with a user computer, the method performed on the server may be an application implemented in the form of an application service provider (ASP) and provided and operated according to a request of the user computer. Alternatively, the application may run on the server itself and only the results may be sent to the user's computer. In addition, the software can be implemented in a user-friendly form such as PHP, JSP (JAVA Script Page), etc. to facilitate the user's use.

소프트웨어는 CD-ROM, 플로피디스크, 플래쉬 메모리, 하드 디스크, 자기 테이프 등 다양한 광학적, 전기적, 자기적 기록 매체에 기록되고, 필요에 따라 컴퓨터에 의해 판독되어 실행될 수 있다. The software is recorded on various optical, electrical and magnetic recording media such as CD-ROM, floppy disk, flash memory, hard disk, magnetic tape, and can be read and executed by a computer as necessary.

이상 본 발명의 구체적 실시형태들을 참조하여 본 발명을 설명하였으나, 이 는 예시에 불과하며 본 발명의 범위를 제한하는 것이 아니다. 당업자는 본 발명의 범위를 벗어나지 않는 범위 내에서 설명된 실시형태들을 변경 또는 변형할 수 있다. 본 명세서에서 설명된 각 기능 블럭들은 전자 회로, 집적 회로, ASIC (Application Specific Integrated Circuit) 등 공지된 다양한 소자들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수 있다. 본 명세서 및 청구범위에서 별개인 것으로 설명된 수단 등의 구성요소는 단순히 기능상 구별된 것으로 물리적으로는 하나의 수단으로 구현될 수 있으며, 단일한 것으로 설명된 수단 등의 구성요소도 수개의 구성요소의 결합으로 이루어질 수 있다. 또한 본 명세서에서 설명된 각 방법 단계들은 본 발명의 범위를 벗어나지 않고 그 순서가 변경될 수 있고, 다른 단계가 부가될 수 있다. 뿐만 아니라, 본 명세서에서 설명된 실시형태들은 각각 독립하여서뿐만 아니라 적절하게 결합되어 구현될 수도 있다. 따라서 본 발명의 범위는 설명된 실시형태가 아니라 첨부된 청구범위 및 그 균등범위에 의해 정해져야 함이 명백하다.Although the present invention has been described above with reference to specific embodiments of the present invention, this is only an example and does not limit the scope of the present invention. Those skilled in the art can change or modify the described embodiments without departing from the scope of the present invention. Each of the functional blocks described in the present specification may be implemented by various well-known elements such as an electronic circuit, an integrated circuit, and an application specific integrated circuit (ASIC), and may be separately implemented or two or more may be integrated into one. Components such as means described as separate in the specification and claims may be simply functionally distinct and may be physically implemented as one means, and components such as means described as a single element may be It can be made in combination. In addition, each method step described herein may be changed in order without departing from the scope of the present invention, and other steps may be added. In addition, the embodiments described herein may be implemented independently as well as independently combined. It is therefore evident that the scope of the invention should be defined by the appended claims and their equivalents, rather than by the described embodiments.

도 1 은 종래의 가상 디스크를 이용한 네트워크 스토리지 시스템을 도시한 개략도.1 is a schematic diagram illustrating a network storage system using a conventional virtual disk.

도 2 는 본 발명의 일 실시형태에 따른 로컬디스크를 캐쉬로 사용하는 하이브리드 네트워크 스토리지 시스템을 도시한 개략도.2 is a schematic diagram illustrating a hybrid network storage system using a local disk as a cache according to an embodiment of the present invention.

도 3 은 본 발명의 일 실시형태에 따른 로컬디스크를 캐쉬로 사용하는 하이브리드 네트워크 스토리지 시스템을 구성하는 사용자 컴퓨터와 스토리지 서버를 도시한 기능 블럭도.FIG. 3 is a functional block diagram illustrating a user computer and a storage server configuring a hybrid network storage system using a local disk as a cache according to an embodiment of the present invention. FIG.

도 4 는 본 발명의 일 실시형태에 따른 로컬디스크를 캐쉬로 사용하는 하이브리드 네트워크 스토리지 시스템을 여러 컴퓨터에서 사용하는 예를 도시한 개략도.4 is a schematic diagram showing an example of using a hybrid network storage system using a local disk as a cache in various computers according to an embodiment of the present invention.

도 5 는 본 발명의 일 실시형태에 따른 로컬디스크를 캐쉬로 사용하는 하이브리드 네트워크 스토리지로부터 파일을 읽어오는 과정을 도시한 흐름도. 5 is a flowchart illustrating a process of reading a file from a hybrid network storage using a local disk as a cache according to an embodiment of the present invention.

Claims (35)

삭제delete 삭제delete 삭제delete 인터넷을 통해 스토리지 서버와 연결되는 사용자 컴퓨터에 있어서,For a user's computer connected to a storage server over the Internet, 상기 스토리지 서버에 설치된 네트워크 스토리지를 상기 사용자 컴퓨터에 존재하는 저장장치로서 기능하게 하는 가상디스크; 및A virtual disk for making network storage installed in the storage server function as a storage device present in the user computer; And 상기 가상디스크에 대한 캐쉬로 사용되는 제 1 저장부를 구비하는 로컬디스크를 포함하며, It includes a local disk having a first storage unit used as a cache for the virtual disk, 상기 가상디스크는 사용자로부터 소정의 데이터를 요청받을 때, 상기 제 1 저장부에 상기 소정의 데이터가 존재하는지 여부를 검색하는 캐쉬 관리수단을 포함하고, The virtual disk includes cache management means for searching whether the predetermined data exists in the first storage unit when the predetermined data is requested from a user. 상기 캐쉬 관리 수단은 요청된 상기 소정의 데이터가 상기 제 1 저장부에 존재하는 경우, 상기 제 1 저장부로부터 요청된 상기 소정의 데이터를 사용자에게 제공하며, The cache management means provides the user with the predetermined data requested from the first storage unit, if the requested data exists in the first storage unit. 요청된 상기 소정의 데이터가 상기 제 1 저장부에 존재하지 않는 경우에는 상기 스토리지 서버로부터 요청된 상기 소정의 데이터를 제공받아 상기 사용자에게 제공하는, 사용자 컴퓨터.And when the requested data is not present in the first storage unit, receives the requested data from the storage server and provides the requested data to the user. 인터넷을 통해 스토리지 서버와 연결되는 사용자 컴퓨터에 있어서,For a user's computer connected to a storage server over the Internet, 상기 스토리지 서버에 설치된 네트워크 스토리지를 상기 사용자 컴퓨터에 존재하는 저장장치로서 기능하게 하는 가상디스크; 및A virtual disk for making network storage installed in the storage server function as a storage device present in the user computer; And 상기 가상디스크에 대한 캐쉬로 사용되는 제 1 저장부를 구비하는 로컬디스크를 포함하며, It includes a local disk having a first storage unit used as a cache for the virtual disk, 상기 가상디스크는 사용자로부터 소정의 데이터의 변경을 요청 받을 때, 상기 제 1 저장부에 상기 소정의 데이터가 존재하는지 여부를 검색하는 캐쉬 관리수단을 포함하고, The virtual disk includes cache management means for searching whether the predetermined data exists in the first storage unit when receiving a change request of predetermined data from a user. 상기 캐쉬 관리 수단은 요청된 상기 소정의 데이터가 상기 제 1 저장부에 존재하는 경우, 상기 제 1 저장부에 저장된 상기 소정의 데이터를 변경하는 동시에 변경된 상기 소정의 데이터를 상기 네트워크 스토리지에 저장하며,The cache managing means stores the changed predetermined data in the network storage while changing the predetermined data stored in the first storage unit when the requested predetermined data exists in the first storage unit, 요청된 상기 소정의 데이터가 상기 제 1 저장부에 존재하지 않는 경우에는 상기 네트워크 스토리지에 존재하는 요청된 상기 소정의 데이터 변경하고 변경된 상기 소정의 데이터를 제공받는, 사용자 컴퓨터.And if the requested predetermined data does not exist in the first storage unit, change the requested predetermined data present in the network storage and receive the changed predetermined data. 제 4 항 또는 제 5항에 있어서,The method according to claim 4 or 5, 상기 캐쉬 관리 수단은 상기 스토리지 서버로부터 제공받은 상기 소정의 데이터가 상기 제 1 저장부에 스왑인될 수 있는지 여부를 판단하는 스왑인 판단수단을 더 포함하는, 사용자 컴퓨터.The cache management means further comprises swap in determining means for determining whether the predetermined data provided from the storage server can be swapped in to the first storage. 제 6 항에 있어서,The method of claim 6, 상기 스왑인 판단수단이 상기 소정의 데이터가 스왑인될 수 있다고 판단된 경우에는 상기 캐쉬 관리 수단은 상기 소정의 데이터가 상기 제 1 저장부에 저장될 여유 공간이 있는지 판단하는 수단을 더 포함하는, 사용자 컴퓨터.If the swap-in determining means determines that the predetermined data can be swapped in, the cache managing means further includes means for determining whether there is free space for the predetermined data to be stored in the first storage unit. Your computer. 제 7 항에 있어서,The method of claim 7, wherein 상기 제 1 저장부에 여유 공간이 있는 경우, 상기 소정의 데이터를 상기 여유 공간에 저장하는, 사용자 컴퓨터.And if the first storage unit has free space, stores the predetermined data in the free space. 제 7 항에 있어서,The method of claim 7, wherein 상기 캐쉬 관리수단은 상기 소정의 데이터가 상기 제 1 저장부에 저장될 여유 공간이 없는 경우, 상기 제 1 저장부에 저장된 데이터 중 스왑아웃될 데이터를 선택하여 삭제하고, 삭제된 상기 삭제된 데이터 공간에 상기 소정의 데이터를 저장하는 스왑아웃 수단을 더 포함하며,The cache managing means selects and deletes data to be swapped out of data stored in the first storage unit when there is no free space for the predetermined data to be stored in the first storage unit, and deletes the deleted data space. Swapping means for storing the predetermined data in the; 상기 스왑아웃될 데이터를 선택할 때 특정한 데이터는 삭제되지 아니하도록 하는 스왑아웃 방지옵션을 갖는 것을 특징으로 하는 사용자 컴퓨터.And a swapout prevention option to prevent specific data from being deleted when selecting the data to be swapped out. 인터넷을 통해 연결된 스토리지 서버에 설치된 네트워크 스토리지를 사용자 컴퓨터에 존재하는 저장장치로서 기능하게 하는 가상디스크 및 상기 가상디스크에 대한 캐쉬를 구비하는 로컬디스크를 포함하는 사용자 컴퓨터를 이용하는 방법에 있어서,A method of using a user computer comprising a virtual disk for making network storage installed in a storage server connected through the Internet as a storage device existing in a user computer, and a local disk having a cache for the virtual disk. 사용자로부터 소정 데이터에 대한 요청이 있는 경우 상기 가상 디스크에서 상기 캐쉬에 상기 소정 데이터가 존재하는지 검색하는 데이터검색단계; 및A data retrieval step of retrieving whether the predetermined data exists in the cache in the virtual disk when a request for predetermined data is received from a user; And 상기 소정 데이터가 존재하는 경우, 상기 소정 데이터를 사용자에게 제공하고, 상기 소정 데이터가 존재하지 않는 경우, 상기 소정 데이터를 상기 스토리지 서버로부터 제공받는 데이터수신단계를 포함하는, 사용자 컴퓨터 이용방법.And providing the predetermined data to the user when the predetermined data exists, and receiving the predetermined data from the storage server when the predetermined data does not exist. 인터넷을 통해 연결된 스토리지 서버에 설치된 네트워크 스토리지를 사용자 컴퓨터에 존재하는 저장장치로서 기능하게 하는 가상디스크 및 상기 가상디스크에 대한 캐쉬를 구비하는 로컬디스크를 포함하는 사용자 컴퓨터를 이용하는 방법에 있어서,A method of using a user computer comprising a virtual disk for making network storage installed in a storage server connected through the Internet as a storage device existing in a user computer, and a local disk having a cache for the virtual disk. 사용자로부터 소정 데이터에 대한 변경 요청이 있는 경우 상기 가상 디스크에서 상기 캐쉬에 상기 소정의 데이터가 존재하는지 검색하는 데이터검색단계; 및 A data retrieval step of retrieving whether the predetermined data exists in the cache in the virtual disk when a change request for predetermined data is received from a user; And 상기 소정의 데이터가 존재하는 경우, 상기 소정 데이터를 변경하는 동시에 변경된 상기 소정의 데이터를 상기 네트워크 스토리지에 저장하고, 상기 소정의 데이터가 존재하지 않는 경우, 상기 네트워크 스토리지에 존재하는 상기 소정의 데이 터를 변경하는 동시에 변경된 상기 소정의 데이터를 상기 스토리지 서버로부터 제공받는 데이터수신단계를 포함하는, 사용자 컴퓨터 이용방법.When the predetermined data exists, the predetermined data is changed at the same time, and the changed predetermined data is stored in the network storage, and when the predetermined data does not exist, the predetermined data existing in the network storage. And a data receiving step of receiving the changed predetermined data from the storage server at the same time as changing the data. 제 10 항 또는 제 11 항에 있어서,The method of claim 10 or 11, 상기 데이터수신단계에서 상기 스토리지 서버로부터 제공받은 상기 소정의 데이터가 상기 캐쉬에 스왑인될 수 있는지 여부를 판단하는 스왑인 판단단계를 더 포함하는, 사용자 컴퓨터 이용방법.And a swap-in determining step of determining whether the predetermined data provided from the storage server in the data receiving step can be swapped into the cache. 제 12 항에 있어서,The method of claim 12, 상기 스왑인 판단단계에서 상기 소정의 데이터가 스왑인될 수 있다고 판단된 경우에는 상기 캐쉬 관리 수단은 상기 소정의 데이터가 상기 캐쉬에 저장될 여유 공간이 있는지 판단하는 단계를 더 포함하는, 사용자 컴퓨터 이용방법.If it is determined in the swap-in determination step that the predetermined data can be swapped in, the cache management means further comprises determining whether there is free space for the predetermined data to be stored in the cache. Way. 제 13 항에 있어서,The method of claim 13, 상기 캐쉬에 저장될 여유 공간이 있다고 판단된 경우, 상기 소정의 데이터를 상기 여유 공간에 저장하는 단계를 더 포함하는, 사용자 컴퓨터 이용방법.And if it is determined that there is free space to be stored in the cache, storing the predetermined data in the free space. 제 13 항에 있어서,The method of claim 13, 상기 캐쉬에 저장될 여유 공간이 없다고 판단된 경우, 상기 캐쉬에 저장된 데이터 중 스왑아웃될 데이터를 선택하여 삭제하고, 삭제된 상기 삭제된 데이터 공 간에 상기 소정의 데이터를 저장하는 단계를 더 포함하며,If it is determined that there is no free space to be stored in the cache, selecting and deleting data to be swapped out of the data stored in the cache, and storing the predetermined data in the deleted data space, 상기 스왑아웃될 데이터를 선택할 때 특정한 데이터는 삭제되지 아니하도록 하는 스왑아웃 방지옵션을 갖는 것을 특징으로 하는 사용자 컴퓨터 이용방법.And a swapout prevention option to prevent specific data from being deleted when selecting the data to be swapped out. 제 10 항 또는 제 11 항에 있어서,The method of claim 10 or 11, 상기 가상디스크와 상기 네트워크 스토리지 사이에서의 데이터 송수신은 블럭 기반 프로토콜을 이용함으로써, 상기 사용자 컴퓨터에서 상기 네트워크 스토리지에 저장된 데이터 블럭들을 직접 제어하는, 사용자 컴퓨터 이용방법.Data transmission and reception between the virtual disk and the network storage uses a block-based protocol to directly control data blocks stored in the network storage at the user computer. 제 10 항 또는 제 11 항의 방법이 컴퓨터 상에서 실행되도록 하는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium having recorded thereon a program for executing the method of claim 10 or 11 on a computer. 제 12 항의 방법이 컴퓨터 상에서 실행되도록 하는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium having recorded thereon a program for causing the method of claim 12 to be executed on a computer. 제 13 항의 방법이 컴퓨터 상에서 실행되도록 하는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium having recorded thereon a program for causing the method of claim 13 to be executed on a computer. 제 14 항의 방법이 컴퓨터 상에서 실행되도록 하는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium having recorded thereon a program for causing the method of claim 14 to be executed on a computer. 제 15 항의 방법이 컴퓨터 상에서 실행되도록 하는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium having recorded thereon a program for causing the method of claim 15 to be executed on a computer. 제 16 항의 방법이 컴퓨터 상에서 실행되도록 하는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium having recorded thereon a program for causing the method of claim 16 to be executed on a computer. 삭제delete 삭제delete 삭제delete 인터넷을 통해 연결된 스토리지 서버에 설치된 네트워크 스토리지를 사용자 컴퓨터에 존재하는 저장장치로서 기능하게 하는 가상디스크 및 상기 가상디스크에 대한 캐쉬로 사용되는 제 1 저장부를 구비하는 로컬디스크를 포함하는 사용자 컴퓨터; 및A user computer including a virtual disk for making network storage installed in a storage server connected through the Internet as a storage device existing in a user computer, and a local disk having a first storage unit used as a cache for the virtual disk; And 상기 스토리지 서버를 포함하며, Including the storage server, 상기 가상디스크는 사용자로부터 소정의 데이터를 요청받을 때, 상기 제 1 저장부에 상기 소정의 데이터가 존재하는지 여부를 검색하는 캐쉬 관리수단을 포함하고, The virtual disk includes cache management means for searching whether the predetermined data exists in the first storage unit when the predetermined data is requested from a user. 상기 캐쉬 관리 수단은 요청된 상기 소정의 데이터가 상기 제 1 저장부에 존재하는 경우, 상기 제 1 저장부로부터 요청된 상기 소정의 데이터를 사용자에게 제공하며, The cache management means provides the user with the predetermined data requested from the first storage unit, if the requested data exists in the first storage unit. 요청된 상기 소정의 데이터가 상기 제 1 저장부에 존재하지 않는 경우에는 상기 스토리지 서버로부터 요청된 상기 소정의 데이터를 제공받아 상기 사용자에게 제공하는, 하이브리드 네트워크 스토리지 시스템.And when the requested data is not present in the first storage unit, receives the requested data from the storage server and provides the requested data to the user. 인터넷을 통해 연결된 스토리지 서버에 설치된 네트워크 스토리지를 사용자 컴퓨터에 존재하는 저장장치로서 기능하게 하는 가상디스크 및 상기 가상디스크에 대한 캐쉬로 사용되는 제 1 저장부를 구비하는 로컬디스크를 포함하는 사용자 컴퓨터; 및A user computer including a virtual disk for making network storage installed in a storage server connected through the Internet as a storage device existing in a user computer, and a local disk having a first storage unit used as a cache for the virtual disk; And 상기 스토리지 서버를 포함하며, Including the storage server, 상기 가상디스크는 사용자로부터 소정의 데이터의 변경을 요청 받을 때, 상기 제 1 저장부에 상기 소정의 데이터가 존재하는지 여부를 검색하는 캐쉬 관리수단을 포함하고, The virtual disk includes cache management means for searching whether the predetermined data exists in the first storage unit when receiving a change request of predetermined data from a user. 상기 캐쉬 관리 수단은 요청된 상기 소정의 데이터가 상기 제 1 저장부에 존재하는 경우, 상기 제 1 저장부에 저장된 상기 소정의 데이터를 변경하는 동시에 변경된 상기 소정의 데이터를 상기 네트워크 스토리지에 저장하며,The cache managing means stores the changed predetermined data in the network storage while changing the predetermined data stored in the first storage unit when the requested predetermined data exists in the first storage unit, 요청된 상기 소정의 데이터가 상기 제 1 저장부에 존재하지 않는 경우에는 상기 네트워크 스토리지에 존재하는 요청된 상기 소정의 데이터 변경하고 변경된 상기 소정의 데이터를 제공받는, 하이브리드 네트워크 스토리지 시스템.And if the requested predetermined data does not exist in the first storage unit, the requested predetermined data present in the network storage is changed and provided with the changed predetermined data. 제 26 항 또는 제 27 항에 있어서,The method of claim 26 or 27, 상기 캐쉬 관리 수단은 상기 스토리지 서버로부터 제공받은 상기 소정의 데이터가 상기 제 1 저장부에 스왑인될 수 있는지 여부를 판단하는 스왑인 판단수단을 더 포함하는, 하이브리드 네트워크 스토리지 시스템.And the cache management means further comprises swap-in determining means for determining whether the predetermined data provided from the storage server can be swapped in to the first storage unit. 제 28 항에 있어서,29. The method of claim 28, 상기 스왑인 판단수단이 상기 소정의 데이터가 스왑인될 수 있다고 판단된 경우에는 상기 캐쉬 관리 수단은 상기 소정의 데이터가 상기 제 1 저장부에 저장될 여유 공간이 있는지 판단하는 수단을 더 포함하는, 하이브리드 네트워크 스토리지 시스템.If the swap-in determining means determines that the predetermined data can be swapped in, the cache managing means further includes means for determining whether there is free space for the predetermined data to be stored in the first storage unit. Hybrid network storage system. 제 29 항에 있어서,30. The method of claim 29, 상기 제 1 저장부에 여유 공간이 있는 경우, 상기 소정의 데이터를 상기 여유 공간에 저장하는, 하이브리드 네트워크 스토리지 시스템.And storing the predetermined data in the free space when there is free space in the first storage. 제 29 항에 있어서,30. The method of claim 29, 상기 캐쉬 관리수단은 상기 소정의 데이터가 상기 제 1 저장부에 저장될 여유 공간이 없는 경우, 상기 제 1 저장부에 저장된 데이터 중 스왑아웃될 데이터를 선택하여 삭제하고, 삭제된 상기 삭제된 데이터 공간에 상기 소정의 데이터를 저장하는 스왑아웃 수단을 더 포함하며,The cache managing means selects and deletes data to be swapped out of data stored in the first storage unit when there is no free space for the predetermined data to be stored in the first storage unit, and deletes the deleted data space. Swapping means for storing the predetermined data in the; 상기 스왑아웃될 데이터를 선택할 때 특정한 데이터는 삭제되지 아니하도록 하는 스왑아웃 방지옵션을 갖는 것을 특징으로 하는 하이브리드 네트워크 스토리지 시스템.And a swapout prevention option to prevent specific data from being deleted when selecting the data to be swapped out. 제 4 항 또는 제 5 항에 있어서,The method according to claim 4 or 5, 상기 로컬디스크는 상기 가상디스크에 대한 캐쉬로 사용되지 않고 사용자 컴퓨터 내부에서 사용되는 제 2 저장부를 더 포함하는, 사용자 컴퓨터.The local disk further includes a second storage unit used inside the user computer instead of being used as a cache for the virtual disk. 제 4 항 또는 제 5 항에 있어서,The method according to claim 4 or 5, 상기 가상디스크와 상기 네트워크 스토리지 사이에서 데이터가 블럭 기반 프로토콜을 이용하여 송수신됨으로써, 상기 사용자 컴퓨터에서 상기 네트워크 스토리지에 저장된 데이터 블럭들을 직접 제어하는, 사용자 컴퓨터.Data is transmitted and received between the virtual disk and the network storage using a block-based protocol, thereby directly controlling data blocks stored in the network storage at the user computer. 제 26 항 또는 제 27 항에 있어서,The method of claim 26 or 27, 상기 로컬디스크는 상기 가상디스크에 대한 캐쉬로 사용되지 않고 사용자 컴퓨터 내부에서 사용되는 제 2 저장부를 더 포함하는, 하이브리드 네트워크 스토리지 시스템.The local disk further comprises a second storage unit used inside the user computer rather than being used as a cache for the virtual disk. 제 26 항 또는 제 27 항에 있어서,The method of claim 26 or 27, 상기 가상디스크와 상기 네트워크 스토리지 사이에서 데이터가 블럭 기반 프로토콜을 이용하여 송수신됨으로써, 상기 사용자 컴퓨터에서 상기 네트워크 스토리지에 저장된 데이터 블럭들을 직접 제어하는, 하이브리드 네트워크 스토리지 시스템.And data is transmitted and received between the virtual disk and the network storage using a block-based protocol, thereby directly controlling data blocks stored in the network storage at the user computer.
KR1020070117052A 2007-11-16 2007-11-16 User computer using local disk as caching device, method for using the same and hybrid network storage system KR100952599B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070117052A KR100952599B1 (en) 2007-11-16 2007-11-16 User computer using local disk as caching device, method for using the same and hybrid network storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070117052A KR100952599B1 (en) 2007-11-16 2007-11-16 User computer using local disk as caching device, method for using the same and hybrid network storage system

Publications (2)

Publication Number Publication Date
KR20090050547A KR20090050547A (en) 2009-05-20
KR100952599B1 true KR100952599B1 (en) 2010-04-15

Family

ID=40858996

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070117052A KR100952599B1 (en) 2007-11-16 2007-11-16 User computer using local disk as caching device, method for using the same and hybrid network storage system

Country Status (1)

Country Link
KR (1) KR100952599B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101626117B1 (en) 2009-06-22 2016-05-31 삼성전자주식회사 Client, brokerage sever and method for providing cloud storage
CN110196683B (en) * 2018-09-05 2021-09-07 腾讯科技(深圳)有限公司 Operation control method, device, terminal equipment and medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010838A (en) 1998-06-18 2000-01-14 Nagano Nippon Denki Software Kk Remote disk access system
KR20040035723A (en) * 2001-08-06 2004-04-29 레프트핸드 네트워크스 인코퍼레이티드 Block data storage within a computer network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010838A (en) 1998-06-18 2000-01-14 Nagano Nippon Denki Software Kk Remote disk access system
KR20040035723A (en) * 2001-08-06 2004-04-29 레프트핸드 네트워크스 인코퍼레이티드 Block data storage within a computer network

Also Published As

Publication number Publication date
KR20090050547A (en) 2009-05-20

Similar Documents

Publication Publication Date Title
CN103116618B (en) Based on Telefile mirror method and the system of the lasting buffer memory of client
JP4349301B2 (en) Storage management system, method and program
CN102667772B (en) File level hierarchical storage management system, method, and apparatus
US10303649B2 (en) Storage media abstraction for uniform data storage
US7590671B2 (en) Storage system, file migration method and computer program product
US9348842B2 (en) Virtualized data storage system optimizations
CN106537881B (en) Method and computing equipment for allowing synchronous access to cloud storage system based on stub tracking
JP5485866B2 (en) Information management method and information providing computer
JP5400889B2 (en) File server apparatus, storage system management method, and program
CN106775446B (en) Distributed file system small file access method based on solid state disk acceleration
US20130232215A1 (en) Virtualized data storage system architecture using prefetching agent
US20070220029A1 (en) System and method for hierarchical storage management using shadow volumes
US20110078220A1 (en) Filesystem building method
US20190205056A1 (en) Transparent data movement between a private cloud and storage ecosystem and another storage system
WO2012164617A1 (en) Data management method for nas
JP5241298B2 (en) System and method for supporting file search and file operations by indexing historical file names and locations
US20090327303A1 (en) Intelligent allocation of file server resources
KR100952599B1 (en) User computer using local disk as caching device, method for using the same and hybrid network storage system
JP2004246702A (en) Computer system, computer apparatus, and data access method and program in computer system
CN113853778B (en) Cloning method and device of file system
CN103246716A (en) Object copy efficient management method based on object cluster file system and object copy efficient management system based on object cluster file system
KR101848277B1 (en) Method and Apparatus for controlling cache data
CN109343928A (en) The virtual memory file redirection method and its system of virtual machine in virtual cluster
US20210209165A1 (en) Migrating data files to magnetic tape according to a query having one or more predefined criterion and one or more query expansion profiles
CN115774695A (en) File searching method, storage device and storage equipment

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
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130401

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150305

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170309

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180403

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 10