KR100378598B1 - A Buffer Management System and Method for the SAN Environment - Google Patents

A Buffer Management System and Method for the SAN Environment Download PDF

Info

Publication number
KR100378598B1
KR100378598B1 KR10-2001-0021337A KR20010021337A KR100378598B1 KR 100378598 B1 KR100378598 B1 KR 100378598B1 KR 20010021337 A KR20010021337 A KR 20010021337A KR 100378598 B1 KR100378598 B1 KR 100378598B1
Authority
KR
South Korea
Prior art keywords
buffer
global
data
host
individual
Prior art date
Application number
KR10-2001-0021337A
Other languages
Korean (ko)
Other versions
KR20020081886A (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 KR10-2001-0021337A priority Critical patent/KR100378598B1/en
Publication of KR20020081886A publication Critical patent/KR20020081886A/en
Application granted granted Critical
Publication of KR100378598B1 publication Critical patent/KR100378598B1/en

Links

Classifications

    • 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]
    • 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/0656Data buffering arrangements
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 네트워크 파일시스템에서 다수의 호스트가 클러스터 형태로 운용되는 네트워크 연결형 자료저장 시스템의 버퍼관리기법이다. 설계한 버퍼관리기법은 각 호스트에 존재하는 개별 버퍼들을 통합 관리하고 이를 바탕으로 호스트간에 버퍼 내용의 전송을 지원함으로써 호스트들이 서로의 버퍼를 개념적으로 공유할 수 있도록 한다. 즉, 기존의 일반 리눅스(Linux)시스템에서는 특정 자료가 필요한 경우에 자신의 버퍼를 살펴보고 버퍼에 없는 경우에는 바로 디스크로부터 읽어 들이는 방식을 취했지만, 제안하는 네트워크 연결형 자료저장시스템의 버퍼관리기법은 자신의 버퍼에 자료가 없는 경우에 다른 호스트의 버퍼를 살펴보고 만약 필요한 자료를 가지고 있는 호스트가 있다면 그 호스트로부터 그 자료를 전송받는다.The present invention is a buffer management technique of a network-connected data storage system in which a plurality of hosts are operated in a cluster form in a network file system. The designed buffer management technique manages individual buffers existing in each host and supports transfer of buffer contents between hosts based on this, enabling hosts to conceptually share each other's buffers. That is, in the existing general Linux system, if a specific data is needed, it checks its buffer and reads it directly from disk if it is not in the buffer, but the buffer management technique of the proposed network-connected data storage system If there is no data in its buffer, it looks at the buffer of the other host and, if there is a host that has the necessary data, receives the data from that host.

일반적으로 디스크 I/O에 비해서 SAN 환경의 Fibre Channel이나 Gigabit Ethernet 상에서의 전송이 훨씬 빠른 시간 내에 수행되므로 전역 버퍼를 관리한다면 전체 클러스터 성능 향상을 기대할 수 있다. 이에 본 발명에서는 기존의 네트워크 파일시스템 환경에서 전역버퍼관리자 모듈을 통한 클러스터 성능 향상의 문제점을 해결하기 위해 새롭게 전역버퍼관리자와 개별버퍼관리자를 설계하고 버퍼 관리자와 잠금 관리자 모듈을 통합함으로써 SAN환경내의 모든 호스트에서의 버퍼 내용 공유를 가능하게 하는 기법이다.In general, transfers over Fiber Channel or Gigabit Ethernet in SAN environments are much faster than disk I / O, so managing global buffers can improve overall cluster performance. Therefore, in the present invention, in order to solve the problem of cluster performance improvement through the global buffer manager module in the existing network file system environment, the global buffer manager and individual buffer manager are newly designed, and the buffer manager and lock manager module are integrated to all the members of the SAN environment. This technique enables sharing of buffer contents on the host.

Description

네트워크 연결형 자료저장시스템의 버퍼관리시스템 및 방법 { A Buffer Management System and Method for the SAN Environment }Buffer management system and method for network-connected data storage system {A Buffer Management System and Method for the SAN Environment}

본 발명은 네트워크에 연결된 분산파일시스템의 버퍼관리시스템 및 방법에 관한 것으로서, 보다 상세하게 설명하면 네트워크 파일시스템에서 다수의 호스트가 클러스터 형태로 운용되는 네트워크 연결형 자료저장시스템의 버퍼관리시스템 및방법에 관한 것이다.The present invention relates to a buffer management system and method of a distributed file system connected to a network. More specifically, the present invention relates to a buffer management system and method of a network-connected data storage system in which a plurality of hosts are operated in a cluster form in a network file system. will be.

인터넷 사용의 확산으로 말미암아 업무 환경은 급속하게 변하고 있고, 저장할 데이터의 양은 폭발적으로 증가하고 있다. 그러나, 하나의 서버에 접속되어 데이터를 저장하고 관리하는 클라이언트 서버 형태의 데이터관리시스템이나 파일서버를 기반으로 하는 네트워크 파일시스템과 같은 기존의 자료저장시스템들은 기하급수적으로 늘고있는 엄청난 양의 데이터를 처리하는 데에는 한계가 있다. 이러한 문제를 해결하기 위한 것이 SAN(storage area network)이다. 이 SAN은 파이버채널(fiber channel)로 연결되는 고속의 저장장치 전용 네트워크로 서버에 디스크를 직접 연결한 기존의 DAS(direct attached storage)와 달리 저장장치를 고속의 파이버채널에 직접 연결시켜 사용할 수 있기 때문에 고성능, 고확장성, 고가용성 및 공유성을 제공하는 장점이 있다. 이러한 SAN의 장점은 현재의 자료저장시스템이 안고있는 대용량 저장장치의 문제점을 효과적으로 해결할 수 있다.Due to the proliferation of the Internet, the work environment is changing rapidly, and the amount of data to be stored is exploding. However, existing data storage systems such as client server-type data management systems that connect to one server to store and manage data, or network file systems based on file servers, process exponentially increasing amounts of data. There is a limit to doing so. To solve this problem is a storage area network (SAN). This SAN is a high-speed storage-only network connected by fiber channel. Unlike conventional direct attached storage (DAS) that directly connects a disk to a server, the SAN can be directly connected to a high-speed fiber channel. This provides the advantage of providing high performance, high scalability, high availability and sharing. This advantage of SAN can effectively solve the problem of mass storage device of current data storage system.

현재의 리눅스(Linux) 시스템에서는 사용자의 요청이나 커널 자체의 요구에 의해서 특정 데이터가 필요한 경우, 자신의 버퍼를 살펴보고 필요한 데이터가 버퍼에 없으면 디스크 I/O를 수행해서 디스크로부터 데이터를 읽어 들인다. 일반적으로 디스크 I/O는 많은 시간을 소요하는 연산이기 때문에 빈번한 디스크 I/O가 발생하면 그만큼 시스템 성능이 저하된다. 따라서, 시스템 성능을 향상시키기 위해서는 버퍼의 데이터 적중률(hit ratio)을 높이고 디스크 I/O 횟수를 최소화해야 한다.In current Linux system, if specific data is needed by user's request or kernel's own request, it checks its buffer and if the required data is not in the buffer, it performs disk I / O and reads data from disk. In general, disk I / O is a time-consuming operation. Therefore, when frequent disk I / O occurs, the system performance decreases accordingly. Therefore, to improve system performance, it is necessary to increase the data hit ratio of the buffer and minimize the number of disk I / Os.

상기와 같은 종래 기술의 문제점을 해결하기 위한 본 발명의 목적은, 각 호스트에 있는 개별버퍼들을 통합해서 하나의 전역버퍼로 구성하고 전역버퍼리스트를 관리하여 어느 호스트의 버퍼에 어떤 데이터가 있는 지를 파악할 수 있도록 함으로써, 임의의 호스트에서 필요한 데이터의 위치를 쉽게 찾을 수 있도록 하는 네트워크 연결형 자료저장시스템의 버퍼관리시스템 및 방법을 제공하기 위한 것이다.An object of the present invention for solving the problems of the prior art as described above, by combining the individual buffers in each host to configure a global buffer and manage the global buffer list to determine what data is in the buffer of which host The present invention provides a buffer management system and method for a network-connected data storage system that makes it easy to locate a required data on any host.

또한 본 발명의 목적은, 하나의 데이터가 여러 호스트에 동시에 존재하는 경우에 각 데이터간의 일관성을 유지시키고, 데이터 변경이 발생하면 최신 버전만 남겨두고 다른 데이터 블록들은 무효화(invalidate)시키며, 잠금 관리자와의 통합으로 분산 환경을 지원하도록 하는 네트워크 연결형 자료저장시스템의 버퍼관리시스템 및 방법을 제공하기 위한 것이다.It is also an object of the present invention to maintain consistency between data when one data exists on multiple hosts at the same time, and to invalidate other data blocks, leaving only the latest version when data changes occur, To provide a buffer management system and method for a network-connected data storage system that supports distributed environments through integration.

또한 본 발명의 다른 목적은, 호스트간에 버퍼의 전송(forwarding)을 지원하여, 데이터가 필요한 호스트는 자신의 개별버퍼뿐만 아니라 전역버퍼에서 해당 데이터를 찾아보도록 함으로써, 데이터의 적중률을 향상시키는 네트워크 연결형 자료저장시스템의 버퍼관리시스템 및 방법을 제공하기 위한 것이다.Another object of the present invention is to support forwarding of buffers between hosts so that a host in need of data searches for the data in the global buffer as well as in the individual buffer, thereby improving the hit ratio of the data. To provide a buffer management system and method of the storage system.

도 1은 SAN 환경의 버퍼 관리자 구조도,1 is a structural diagram of a buffer manager in a SAN environment;

도 2는 호스트들 사이의 버퍼 관리자 분담 모델을 도시한 도면,2 is a diagram illustrating a buffer manager sharing model between hosts;

도 3은 개별버퍼관리자가 관리하는 개별버퍼리스트의 구조도,3 is a structural diagram of an individual buffer list managed by an individual buffer manager;

도 4는 버퍼 해쉬 테이블을 도시한 도면,4 shows a buffer hash table;

도 5는 개별버퍼리스트 및 관련 전역버퍼리스트의 구조도,5 is a structural diagram of an individual buffer list and an associated global buffer list;

도 6은 전역버퍼관리자가 관리하는 전역버퍼리스트의 구조도,6 is a structural diagram of a global buffer list managed by a global buffer manager;

도 7은 버퍼송수신과정의 동작 순서도이다.7 is an operation flowchart of a buffer transmission and reception process.

상기한 목적을 달성하기 위한 본 발명에 따른 네트워크 연결형 자료저장시스템의 버퍼관리시스템은, 복수 개의 호스트들이 SAN망을 통해 연결되어 각 호스트들에 연결된 버퍼의 데이터를 공유하도록 하는 바,In the buffer management system of the network-connected data storage system according to the present invention for achieving the above object, a plurality of hosts are connected through a SAN network to share the data of the buffer connected to each host,

이 네트워크 연결형 자료저장시스템의 버퍼관리시스템은,The buffer management system of this networked data storage system,

상기 호스트들에 각각 위치하여 각 호스트에 직접 연결된 버퍼의 데이터에 대한 개별버퍼리스트를 관리하는 복수 개의 개별버퍼관리자와,A plurality of individual buffer managers respectively located in the hosts and managing individual buffer lists for data of a buffer directly connected to each host;

복수 개의 호스트를 통합 관리하기 위해 선정된 전역버퍼서버에 위치하며 상기 전역버퍼서버가 관리하는 호스트들에 연결된 버퍼의 데이터를 통합하여 전역버퍼리스트를 관리하는 적어도 하나 이상의 전역버퍼관리자와,At least one global buffer manager located in a global buffer server selected for integrated management of a plurality of hosts and managing global buffer lists by integrating data of buffers connected to hosts managed by the global buffer server;

상기 각 호스트에 위치하여 해당 호스트가 현재 가지고 있는 잠금에 대한 개별잠금리스트를 관리하는 개별잠금관리자, 및An individual lock manager located on each host to manage an individual lock list for locks currently owned by the host, and

상기 전역버퍼서버에 위치하여 상기 전역버퍼서버가 관리하는 데이터에 대한 전역잠금리스트를 관리하는 전역잠금관리자를 포함하며, 상기 전역버퍼서버는 상기 전역버퍼관리자와 상기 전역잠금관리자를 통합 관리하는 것을 특징으로 한다.Located in the global buffer server includes a global lock manager for managing a global lock list for the data managed by the global buffer server, the global buffer server characterized in that the global buffer manager and the global lock manager integrated management It is done.

또한, 본 발명에 따른 네트워크 연결형 자료저장시스템의 버퍼관리방법은, SAN망을 통해 연결된 복수 개의 호스트들을 개별 호스트와 적어도 하나 이상의 전역버퍼서버로 구분하고, 상기 개별 호스트는 개별버퍼관리자를 포함하고 상기 전역버퍼서버는 전역버퍼관리자를 포함하도록 구성하여, 상기 각 호스트들이 버퍼의 데이터를 공유하도록 하는 바,In addition, the buffer management method of the network-connected data storage system according to the present invention, the plurality of hosts connected via a SAN network is divided into a separate host and at least one global buffer server, the individual host includes a separate buffer manager and The global buffer server is configured to include a global buffer manager so that each of the hosts share data in the buffer.

이 네트워크 연결형 자료저장시스템의 개별버퍼관리자에서의 버퍼관리방법은,The buffer management method in the individual buffer manager of this network-connected data storage system is

상기 개별 호스트 내에 연결된 버퍼의 데이터에 대한 개별버퍼리스트를 관리하고 상기 전역버퍼관리자에게 등록하며, 상기 버퍼의 변동사항을 상기 전역버퍼관리자에게 알리는 제 1 단계와,A first step of managing an individual buffer list for data of buffers connected in the individual host and registering the buffer with the global buffer manager, and notifying the global buffer manager of changes in the buffer;

상기 전역버퍼관리자로부터 전역버퍼리스트를 입력받아 상기 전역버퍼리스트를 기준으로 전역버퍼관리자에 접근하는 제 2 단계와,Receiving a global buffer list from the global buffer manager and accessing the global buffer manager based on the global buffer list;

상기 SAN망에 접속된 다른 호스트로부터 데이터블록 전송이 요청되면, 상기 데이터블록을 상기 다른 호스트에게 전송하는 제 3 단계를 포함한 것을 특징으로 한다.When a data block transmission is requested from another host connected to the SAN network, a third step of transmitting the data block to the other host is included.

또한, 본 발명에 따른 네트워크 연결형 자료저장시스템의 전역버퍼관리자에서의 버퍼관리방법은,In addition, the buffer management method in the global buffer manager of the network-connected data storage system according to the present invention,

상기 개별 호스트들의 개별버퍼관리자들로부터 개별버퍼리스트가 입력되면, 상기 개별버퍼리스트들을 취합하여 전역버퍼리스트를 관리하는 제 1 단계와,A first step of managing a global buffer list by collecting the individual buffer lists when an individual buffer list is input from individual buffer managers of the individual hosts;

상기 전역버퍼리스트를 상기 개별 호스트들에게 제공하는 제 2 단계를 포함한 것을 특징으로 한다.And providing a global buffer list to the individual hosts.

또한, 네트워크 연결형 자료저장시스템의 데이터블록 검색방법은, SAN망을 통해 연결된 복수 개의 호스트들을 개별 호스트와 적어도 하나 이상의 전역버퍼서버로 구분하고, 상기 개별 호스트는 개별버퍼관리자를 포함하고 상기 전역버퍼서버는 전역버퍼관리자를 포함하도록 구성하여, 상기 각 호스트들이 버퍼의 데이터를 공유하도록 하는 바,In addition, the data block retrieval method of a network-attached data storage system, the plurality of hosts connected through a SAN network is divided into individual hosts and at least one global buffer server, the individual host includes an individual buffer manager and the global buffer server Is configured to include a global buffer manager, so that each of the hosts share data in the buffer,

이 네트워크 연결형 자료저장시스템의 임의의 호스트에서의 데이터블록 검색방법은,The data block retrieval method on any host of this networked data storage system is

클라이언트로부터 데이터 요구가 발생하면, 상기 개별버퍼관리자가 개별버퍼리스트를 검색하여 데이터를 찾는 제 1 단계와,A first step in which the individual buffer manager searches the individual buffer list to find data when a data request is generated from a client;

상기 제 1 단계의 검색 결과 데이터를 찾으면, 찾은 데이터를 상기 클라이언트에게 제공하고, 데이터를 못 찾으면 상기 전역버퍼관리자에게 데이터 전송을 요청하는 제 2 단계와,A second step of providing the client with the found data when the search result data of the first step is found, and requesting data transmission from the global buffer manager if no data is found;

상기 전역버퍼관리자가 전역버퍼리스트를 검색하여 상기 데이터를 포함한 호스트를 검사하여, 상기 데이터를 포함한 데이터 제공 호스트 정보를 상기 데이터 요구 호스트에게 제공하는 제 3 단계와,A third step of the global buffer manager searching a global buffer list to inspect a host including the data and providing data providing host information including the data to the data requesting host;

상기 데이터 요구 호스트가 상기 데이터 제공 호스트로부터 상기 데이터를 읽어와 상기 클라이언트에게 제공하는 제 4 단계를 포함한 것을 특징으로 한다.And a fourth step of the data requesting host reading the data from the data providing host and providing the data to the client.

이하, 첨부된 도면을 참조하면서 본 발명의 한 실시예에 따른 "네트워크 연결형 자료저장시스템의 버퍼관리시스템 및 방법"을 보다 상세하게 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in more detail "buffer management system and method of the network-connected data storage system" according to an embodiment of the present invention.

도 1과 도 2는 본 발명에 따른 네트워크 연결형 자료저장시스템의 버퍼관리자를 도시한 구조도이다.1 and 2 are structural diagrams illustrating a buffer manager of a network-connected data storage system according to the present invention.

네트워크 연결형 자료저장시스템에서는 전역버퍼관리를 위해서 정보의 종류 및 정확성에 따라 중앙 집중기법과 분산기법이 있으며, 분산기법에는 중복 분산기법과 분할 분산기법이 있다. 중앙 집중기법은 전역버퍼리스트 관리를 하나의 서버가 담당한다. 이 서버는 모든 개별 호스트의 버퍼리스트를 취합해서 전역버퍼리스트를 구성하고 이를 바탕으로 개별 호스트들의 버퍼 접근 요구를 처리한다.In the network-connected data storage system, there are a centralized method and a distributed method depending on the type and accuracy of information for global buffer management. The distributed method includes a redundant distributed method and a divided distributed method. In a centralized technique, one server is responsible for managing the global buffer list. The server aggregates the buffer lists of all individual hosts to form a global buffer list and uses them to handle the buffer access requests of individual hosts.

반면에, 분산기법은 전역버퍼관리를 위한 서버가 여러 개 존재하고 서버들이 역할을 분담해서 전역버퍼를 관리한다. 이 분산기법은 서버간에 관리하는 정보가 중복되어 있는지 혹은 서로 배타적인지에 따라서 중복 분산 및 분할 분산기법으로 나뉜다. 전역버퍼를 중앙 집중기법으로 관리하면 버퍼관리서버에 부담이 집중되어서 성능에 병목현상이 발생할 수 있으며 서버의 오동작시 대체를 위한 오버헤드가 크다는 문제가 있다. 반면에 분산기법은 버퍼 관리를 위한 오버헤드를 여러 서버가 나누기 때문에 병목현상이 발생하지 않는다. 서버의 오동작에 대한 대처는 중복관리기법이 더 우수하지만 중복관리를 하려면 분할관리에 비해서 오버헤드가 더 커진다는 단점이 있다.On the other hand, there are several servers for managing global buffers and the servers share the roles to manage global buffers. This distributed technique is divided into redundant distributed and divided distributed techniques according to whether information managed between servers is redundant or mutually exclusive. If the global buffer is managed by the centralized method, the burden is concentrated on the buffer management server, which may cause a bottleneck in performance, and there is a problem in that a large overhead for replacement in the case of a malfunction of the server is large. On the other hand, the distributed technique does not cause bottlenecks because multiple servers divide the overhead of buffer management. The countermeasures against server malfunctions are superior to the duplication management technique, but the disadvantage is that the duplication management requires more overhead than the division management.

따라서, 본 발명에 따른 네트워크 연결형 자료저장시스템은 버퍼 관리를 위해서 분할 분산방식을 채택한다. 개별버퍼관리자와 다수의 전역버퍼관리자가 별도로 존재하며 전역버퍼관리자들은 버퍼리스트를 상호 배타적으로 관리한다. 즉, 각 호스트마다 개별버퍼관리자(LBM, local buffer manager)가 설치되며 각각의 호스트 내의 버퍼에 어떤 데이터블록이 있는 지를 관리한다. 또한, 전역버퍼와의 통신을 통해서 개별버퍼리스트를 전역버퍼관리자에게 알리며 개별 호스트에서 필요한 버퍼가 어디 있는 지를 파악한다.Therefore, the network-connected data storage system according to the present invention adopts a split distribution method for buffer management. There are separate buffer managers and multiple global buffer managers, and the global buffer managers manage the buffer lists mutually exclusively. That is, a separate buffer manager (LBM) is installed in each host and manages which data blocks are in the buffers in each host. In addition, it communicates with the global buffer to inform the global buffer manager of the individual buffer list and figure out where the necessary buffers are on the individual hosts.

또한, 전역버퍼서버로 선정된 일부의 호스트에는 전역버퍼관리자(GBM,global buffer manager)가 별도로 마련되는데, 이 전역버퍼관리자는 개별버퍼관리자와의 통신을 위해서 각 호스트의 버퍼블록리스트를 파악하고 이를 취합해서 전역버퍼리스트를 관리한다. 이 각 전역버퍼관리자들이 관리하는 전역버퍼리스트는 상호 배타적이다. 또한, 전역버퍼관리자(GBM)는 개별버퍼관리자(LBM)에게 전역버퍼리스트를 파급시켜서 각 호스트가 필요한 버퍼블록을 로컬버퍼에서 찾지 못하는 경우에 전역버퍼에서 찾을 수 있도록 돕는 기능을 수행한다.In addition, some hosts selected as global buffer servers are provided with a global buffer manager (GBM), which identifies the buffer block list of each host for communication with individual buffer managers. Collect and manage global buffer list. The global buffer list managed by each global buffer manager is mutually exclusive. In addition, the global buffer manager (GBM) spreads the global buffer list to the individual buffer manager (LBM) to help each host find the global buffer when it cannot find the required buffer block in the local buffer.

개별버퍼관리자(LBM, Local Buffer Manager)는 개별버퍼리스트와, 전역버퍼리스트를 이용하여 자료검색을 수행한다.Local Buffer Manager (LBM) performs data retrieval using individual buffer list and global buffer list.

도 1은 개별버퍼관리자와 전역버퍼관리자의 구성을 도시한 도면이다. 도 1의 개별버퍼관리자(LBM, Local Buffer Manager)는 기존의 리눅스(Linux)의 버퍼관리자를 확장하여 밀결합 방식(tightly-coupled approach)으로 결합하며, 네트워크 연결형 자료저장시스템이 수행되는 모든 호스트에 설치되며 각각의 호스트 내의 버퍼에 어떤 데이터 블록이 있는지를 관리한다. 또한, 전역버퍼와의 통신을 통해서 개별버퍼리스트를 전역버퍼관리자에게 알리며 개별 호스트에서 필요한 버퍼가 어디 있는지를 파악한다. 또한, 전역버퍼관리자(GBM, Global Buffer Manager)는 전역버퍼서버로 선정된 일부의 호스트에만 존재하며 LBM과의 통신을 위해서 각 호스트의 버퍼블록리스트를 파악하고 이를 취합해서 전역버퍼리스트를 관리한다. 또한, LBM에게 이 리스트를 파급시켜서 필요한 블록을 로컬 버퍼에서 찾지 못하는 경우에 전역버퍼에서 찾을 수 있도록 돕는 기능을 수행한다.1 is a diagram illustrating the configuration of an individual buffer manager and a global buffer manager. The local buffer manager (LBM) of FIG. 1 extends the existing Linux Linux buffer manager and combines it in a tightly-coupled approach to all hosts where a network-connected data storage system is performed. It is installed and manages which data blocks are in buffers in each host. In addition, it communicates with the global buffer to inform the global buffer manager of the individual buffer list and finds out where the necessary buffers are on the individual host. In addition, the Global Buffer Manager (GBM) exists only on a part of hosts selected as global buffer servers and manages the global buffer list by identifying and collecting the buffer block list of each host for communication with the LBM. It also propagates this list to the LBM so that the global buffer can be found if the necessary blocks cannot be found in the local buffer.

개별버퍼관리자(LBM, Local Buffer Manager)는 크게 다음과 같은 세 가지의자료구조를 사용한다. 즉, 개별버퍼리스트와 전역버퍼서버의 리스트, 및 전역버퍼리스트의 자료구조를 사용한다.The Local Buffer Manager (LBM) uses three main data structures: That is, it uses individual buffer lists, lists of global buffer servers, and data structures of global buffer lists.

첫째, 개별버퍼관리자(LBM)는 개별 호스트 내에 존재하는 버퍼 블록의 내용을 관리하는 개별버퍼리스트(Local Buffer List)를 사용한다. 버퍼에 파일을 읽거나 쓰기 전에는 항상 잠금을 획득해야 한다. 즉, 각 버퍼 블록들 역시 특정 잠금과 연관되어 있다. 예를 들어, 도 2에 도시된 바와 같이 6개의 호스트가 존재하며 파일시스템이 초기화될 때 2개의 전역버퍼서버를 두고 나머지 4개는 개별버퍼를 가지고 있는 환경인 경우, 호스트 A와 호스트 B에서 파일 1, 2, 3이 존재하고 각각의 Inode의 끝자리가 1, 3, 6이며, 전역버퍼를 위한 해쉬 함수는 모듈러 2(Modular 2)라고 가정하면 전역버퍼서버1에는 파일 1과 파일 3의 버퍼제어정보가 저장되고 전역버퍼서버2에는 파일 6의 버퍼제어정보가 저장된다. 이런 식으로 전역버퍼관리자는 파일의 Inode에 따라 전역버퍼의 부하를 서로 나누어 갖는다. 따라서, 버퍼 블록에 대한 잠금은 결국 파일시스템의 고유 정보인 Inode나 디렉토리 엔트리(Directory Entry)와 연관되며 이들 정보의 일관성을 유지하는 것이 잠금에 대한 제어 정보이다. 예에서 호스트 A에는 파일 1에 대한 블록 데이터가 존재하며 블록을 얻어온 시점에서 전역버퍼에는 파일 1에 대한 제어 정보가 존재한다. 따라서, LBM에서는 개별버퍼리스트를 잠금과 연관시켜서 관리한다. 이러한 정보를 저장하는 실제적인 구조는 도 3에 도시된 바와 같다. 도 3에서는 개별버퍼리스트 구조를 나타내고 있다. 각각의 버퍼리스트는 링크드 리스트의 변형 형태이고 버퍼 블록을 가지고 있으며, 전역버퍼서버와의 제어정보 전송을 위해 통신모듈과 잠금모듈이 존재한다. 통신모듈은 제어정보를 최소화하여 전송의 속도를 극대화하였으며 잠금모듈은 각각의 Inode에 잠금 정보를 저장한다. 잠금 정보에는 디바이스정보, 파일정보, Inode정보, 디렉토리 엔트리 정보 등이 존재한다.First, the individual buffer manager (LBM) uses a local buffer list that manages the contents of buffer blocks existing in individual hosts. You should always acquire a lock before reading or writing a file to the buffer. That is, each buffer block is also associated with a specific lock. For example, as shown in FIG. 2, if there are six hosts and two global buffer servers and four separate buffers when the file system is initialized, the files on host A and host B Assuming that 1, 2, and 3 exist, each inode ends 1, 3, and 6, and the hash function for the global buffer is Modular 2, the buffer control of file 1 and file 3 is performed in the global buffer server 1. The information is stored and the buffer control information of file 6 is stored in the global buffer server 2. In this way, the global buffer manager divides the load of global buffers according to file inodes. Thus, a lock on a buffer block is eventually associated with an inode or directory entry, which is unique to the file system, and keeping the information consistent is the control information for the lock. In the example, host A has block data for file 1, and at the time of obtaining the block, control information for file 1 exists in the global buffer. Therefore, LBM manages individual buffer lists in association with locks. The actual structure for storing this information is shown in FIG. 3 shows an individual buffer list structure. Each buffer list is a variant of the linked list, has a buffer block, and there is a communication module and a lock module for transmitting control information to the global buffer server. The communication module maximizes the transmission speed by minimizing the control information, and the lock module stores the lock information in each inode. The lock information includes device information, file information, inode information, directory entry information, and the like.

둘째, 네트워크 연결형 자료저장 시스템에서 전역버퍼리스트는 분할분산방식으로 관리하기 때문에 각 로컬 호스트에서는 전역버퍼서버들의 리스트를 알고 있어야 한다. 전역버퍼서버는 잠금서버와 동일하기 때문에 버퍼서버 테이블은 잠금모듈에서 관리하는 잠금서버 테이블과 동일하다. 서버들 간에 공평한 역할 분담을 위해서 여기서는 파일 Inode에 대한 해쉬값을 이용해서 서버를 결정한다. 즉, 버퍼서버가 n개인 경우에 0에서 (n-1)까지의 값을 가지는 해쉬 함수를 각 파일의 Inode에 적용하면 해당 파일에 대한 잠금과 전역 버퍼를 어느 서버에서 관리하는지 알 수 있다. 한 예로 도 4에서 존재하는 버퍼 해쉬 테이블은 각각 파일의 Inode가 주어졌을 때 해쉬 함수를 통해 해당 서버를 지정할 수 있으며 기본적인 해쉬 함수는 모듈러 기능(Modular function)을 사용한다. 또한, 서버의 성능에 따라 가중치를 부여할 수 있게 가중치 정보도 가지고 있어야 한다.Second, since global buffer lists are managed in a distributed and distributed manner in a network-attached data storage system, each local host must know the list of global buffer servers. Since the global buffer server is the same as the lock server, the buffer server table is the same as the lock server table managed by the lock module. In order to share the roles equally among the servers, we use the hash value for the file inode to determine the server. In other words, if there are n buffer servers, applying a hash function with a value from 0 to (n-1) to each file's inode tells which server manages the lock and global buffer for that file. As an example, the buffer hash table existing in FIG. 4 can specify a server through a hash function when each file's inode is given, and a basic hash function uses a modular function. In addition, it should have weight information so that weight can be assigned according to the performance of the server.

셋째, 로컬 호스트들은 특정 파일에 대한 잠금을 획득할 때 해당 파일에 대한 전역버퍼리스트를 함께 받는다. 파일의 특정 데이터 블록을 사용할 때 먼저 자신의 버퍼를 살펴보고 발견하지 못하면 잠금 획득시에 받았던 전역버퍼리스트를 살펴본다. 전역버퍼리스트에서 발견하면 해당 호스트로 그 블록을 전송해달라는 요청을 보낸다. 따라서, 관련 전역버퍼리스트 역시 잠금을 기준으로 해서 저장한다. 하나의 잠금을 여러 호스트가 소유하고 있을 수 있기 때문에 한 잠금에 대한 전역버퍼리스트는 여러 호스트의 버퍼리스트를 가리키게 된다. 도 5는 호스트 사이의 버퍼의 요구가 있을 때 이를 전송하기 위한 기본적인 통신 헤더와 바디 부분을 나타내는 것이다.Third, when local hosts acquire a lock on a file, they receive a global buffer list for that file. When using a specific block of data in a file, first look at its buffer and if it does not find it, it looks at the global buffer list that it received when it acquired the lock. If found in the global buffer list, a request is made to send the block to the host. Therefore, the relevant global buffer list is also stored based on the lock. Since a lock can be owned by multiple hosts, the global buffer list for a lock will point to the buffer list of multiple hosts. Figure 5 shows the basic communication header and body part for transmitting a buffer request between hosts when there is a request.

전역버퍼관리자(GBM, Global Buffer Manager)는 전역버퍼관리를 위해서 전역버퍼리스트를 사용하며 역시 개별버퍼리스트와 마찬가지로 잠금을 기반으로 관리된다. 전역버퍼서버와 잠금서버들이 동일하기 때문에 전역버퍼서버에는 잠금에 대한 배열이 존재하며 각 잠금을 어떤 호스트가 가지고 있는지를 알 수 있다. 이때, 잠금을 소유한 호스트가 어떤 버퍼들을 가지고 있는지 리스트로 관리한다.Global Buffer Manager (GBM) uses global buffer list for global buffer management, and it is managed based on lock like individual buffer list. Because global buffer servers and lock servers are the same, there is an array of locks in the global buffer server, and you can see which host owns each lock. At this time, the host that owns the lock maintains a list of buffers.

도 6은 전역버퍼서버에서 관리하는 전역버퍼리스트를 보여준다. 현재 파일 F1에 대한 잠금은 호스트 H1, H2가 공유하고, F2에 대한 잠금은 H1, H3, H4가 공유하며, F3에 대한 잠금은 H2가 소유하고 있다. 또한, 호스트 H1은 파일 F1의 블록 B1, B2와, 파일 F2의 블록 B2, B3을 소유한다. 호스트 H3은 파일 F2의 블록 B2, B5를, 호스트 H4는 파일 F2의 블록 B1, B5를 소유한다. 도 6의 예에서 어떤 호스트가 파일 2에 대한 버퍼정보를 요청하면 전역버퍼관리자는 전역버퍼리스트의 Lock(F2)에 매달려 있는 호스트 1과 호스트3에 대한 버퍼블록의 컨트롤정보를 요청한 호스트에게 보낸다.6 shows a global buffer list managed by a global buffer server. Currently, locks on file F1 are shared by hosts H1 and H2, locks on F2 are shared by H1, H3, and H4, and locks on F3 are owned by H2. In addition, the host H1 owns blocks B1 and B2 of the file F1 and blocks B2 and B3 of the file F2. Host H3 owns blocks B2 and B5 of file F2, and host H4 owns blocks B1 and B5 of file F2. In the example of FIG. 6, when a host requests buffer information for file 2, the global buffer manager sends control information of buffer blocks for host 1 and host 3 hanging on lock (F2) of the global buffer list to the requesting host.

다음, 개별버퍼관리자의 버퍼관리방법을 설명하면 다음과 같다. 개별버퍼관리자는 개별버퍼리스트를 갱신하고, 개별버퍼리스트를 등록하며, 관련 전역버퍼리스트를 관리하고, 버퍼블록을 전송하는 기능을 담당한다.Next, the buffer management method of the individual buffer manager is as follows. The individual buffer manager is responsible for updating individual buffer lists, registering individual buffer lists, managing related global buffer lists, and transferring buffer blocks.

먼저, 개별버퍼리스트를 갱신하는 기능을 살펴보면 다음과 같다. 개별버퍼관리자는 개별 호스트에 변경이 생길 때마다 버퍼 리스트를 갱신한다. 리눅스에서 버퍼의 내용이 변경되는 경우는 디스크 I/O가 발생할 때, swap 데몬(bdflush(buffer flush daemon), kupdate(kernel update daemon))에 의해서 버퍼가 제거될 때이며, 네트워크 연결형 자료저장시스템 자체적으로 버퍼의 내용을 변경하는 경우는 다른 호스트로부터 버퍼를 전송받는 경우와 잠금 해제시에 버퍼도 함께 해제하는 경우이다. 따라서, 이런 각각의 경우에 버퍼의 내용이 바뀔 때마다 개별버퍼리스트를 갱신해서 개별버퍼리스트에 있는 내용과 실제 버퍼의 내용이 항상 일치하도록 관리해야 한다.First, the function of updating the individual buffer list is as follows. The individual buffer manager updates the buffer list whenever changes are made to individual hosts. In Linux, the contents of a buffer change when the disk I / O occurs, when the buffer is removed by the swap daemon (bdflush (buffer flush daemon), kupdate (kernel update daemon)). The contents of the buffer can be changed either by receiving a buffer from another host or by releasing the buffer when the lock is released. Therefore, in each of these cases, whenever the contents of the buffer change, the individual buffer list must be updated so that the contents of the individual buffer list and the actual buffer always match.

다음, 개별버퍼리스트를 등록하는 기능을 살펴보면 다음과 같다. 호스트 내에서 관리하고 있는 버퍼 리스트를 전역버퍼서버에 등록해야 전역버퍼로서 의미를 가진다. 개별 호스트 내에 있는 버퍼리스트를 전역서버에 등록하면 개별버퍼리스트의 내용이 전역버퍼리스트에 반영되고 다른 호스트들이 이를 참조해서 호스트간의 버퍼 전송이 발생한다. 전역버퍼의 성능을 극대화하려면 개별버퍼리스트에 변경이 발생할 때마다 변경 사실을 버퍼서버에게 알리고 버퍼서버는 이 사실을 다른 호스트들에게 알려야 한다. 그러나, 이런 방식을 택하면 버퍼리스트 관리를 위한 메시지가 호스트간에 매우 빈번하게 발생하며 버퍼서버의 오버헤드도 매우 커진다. 예를 들어, 한 호스트에서 하나의 버퍼블록이 새로 만들어지거나 혹은 폐기될 때마다 이 호스트는 버퍼서버로 메시지를 보내야 하고 버퍼서버에서는 그 메시지의 내용을 전역버퍼리스트에 반영한 후 다른 해당 잠금을 가지고 있는 모든 호스트들에게 그 사실을 알려야 한다. 따라서, 버퍼의 한 블록이 변경될 때마다 많은 메시지가 발생하게 된다.Next, the function of registering an individual buffer list is as follows. The list of buffers managed in the host must be registered in the global buffer server to have meaning as a global buffer. When a buffer list in an individual host is registered in the global server, the contents of the individual buffer list are reflected in the global buffer list, and other hosts refer to it, and buffer transfer between hosts occurs. To maximize the performance of the global buffer, whenever a change occurs in an individual buffer list, the buffer server must be notified and the buffer server must notify the other hosts. However, this way, messages for buffer list management occur very frequently between hosts, and the buffer server overhead is very large. For example, every time a new buffer block is created or discarded on a host, the host must send a message to the buffer server, which reflects the contents of the message in the global buffer list, and then holds another lock. You must inform all hosts. Thus, many messages occur each time a block in the buffer is changed.

이와 같은 오버헤드를 줄이기 위해서 본 발명에 따른 네트워크 연결형 자료저장시스템에서는 특정한 시기(잠금관련메시지가 오고 가는 시기)에만, 개별버퍼리스트를 전역버퍼서버에 등록한다. 구체적으로 설명하면, 개별호스트의 버퍼 내용에 변화가 생기면 변경 사실을 전역서버에는 알리지 않고 개별버퍼리스트에만 반영한다. 버퍼에 발생하는 변경 사실을 계속 개별버퍼리스트에만 반영하고 있다가, 파일에 대한 잠금을 획득하거나 해제하기 위해서 버퍼서버(잠금서버와 동일)에게 메시지를 보내야 할 필요가 있을 때 그 동안 관리하던 개별버퍼리스트를 메시지에 추가해서 보낸다.In order to reduce such overhead, the network-connected data storage system according to the present invention registers an individual buffer list in the global buffer server only at a specific time (a time when a lock related message comes and goes). Specifically, if a change is made to the buffer contents of an individual host, the change is reflected only to the individual buffer list, not to the global server. The individual buffer list is continuously reflected to the buffer list, and when it is necessary to send a message to the buffer server (same as the lock server) to acquire or release the lock on the file, the individual buffer that has been managed Send the list appended to the message.

이때, 호스트 내에 있는 버퍼리스트 전체를 서버에게 보낼 필요는 없으며 해당 서버가 관리하는 파일에 대한 리스트만 등록한다. 예를 들어, 잠금/버퍼서버가 s1, s2, s3 세 개가 있는 경우를 생각해 보자. 서버 s1이 파일 f1, f4를 관리하고 서버 s2가 f2, f5, 그리고 서버 s3이 f3, f6을 관리한다면, s1은 파일 f1, f4의 블록들이 어느 호스트의 어디에 있는 지만을 관리하며 s2는 f2, f5 블록들을 관리하고 s3은 f3, f6 블록들을 관리한다. 따라서, 개별 호스트 h1에서 서버 s1에게 잠금메시지를 보낼 필요가 있으면 자신이 관리하는 버퍼리스트 중에서 파일 f1과 f4의 버퍼블록에 대한 리스트만 등록한다.At this time, it is not necessary to send the entire buffer list in the host to the server. Only the list of files managed by the server is registered. For example, suppose you have three lock / buffer servers: s1, s2, and s3. If server s1 manages files f1, f4, server s2 manages f2, f5, and server s3 manages f3, f6, s1 manages only where on the host the blocks of files f1, f4, and s2 manages f2, Manage f5 blocks and s3 manage f3 and f6 blocks. Therefore, if it is necessary to send a lock message from the individual host h1 to the server s1, only the list of the buffer blocks of the files f1 and f4 is registered among the buffer lists managed by the host h1.

다음, 관련 전역버퍼리스트를 관리하는 기능에 대해 살펴본다. 개별 호스트는 자신의 버퍼리스트를 지속적으로 갱신해서 잠금 메시지를 보낼 때마다 개별버퍼리스트를 서버에게 알린다. 서버는 개별버퍼리스트를 취합해서 전역버퍼리스트를 관리하고 이 정보를 개별호스트에게 알려준다. 개별호스트는 서버로부터 받은 전역버퍼리스트를 관리하고 이를 바탕으로 전역버퍼에 접근한다.Next, let's take a look at the function to manage related global buffer list. Each host constantly updates its own buffer list and informs the server each time it sends a lock message. The server aggregates individual buffer lists to manage the global buffer list and informs individual hosts of this information. Each host manages the global buffer list received from the server and accesses the global buffer based on it.

다음, 버퍼블록을 전송하는 기능을 살펴본다. 전역버퍼에 대한 접근이 필요할 때, 즉 필요한 데이터 블록이 자신의 버퍼에 없으나 다른 호스트의 버퍼에 있는 경우에 각 호스트는 다른 호스트에게 버퍼 블록의 전송을 요구한다. 이때, 한가지 주의할 점은 개별호스트의 변경 사실이 즉시 다른 호스트에게 파급되지 않기 때문에, 자신이 가지고 있는 전역리스트에 의거해서 버퍼 전송을 요청하더라도 실제로 상대 호스트에서는 그 데이터 블록을 가지고 있지 않을 수도 있다. 이는 그 데이터블록이 이미 상대방 호스트의 버퍼에서 폐기되었음을 의미한다. 이 경우에 버퍼블록 전송을 요청받은 호스트는 해당 블록이 없음을 알려야 한다. 반대로 요청받은 버퍼블록을 가지고 있는 경우에는 해당 블록을 요청한 호스트에게 전송해 준다.Next, the function of transmitting the buffer block will be described. When access to the global buffer is required, that is, if the required data block is not in its buffer but in the buffer of another host, each host requests the transfer of the buffer block to the other host. One thing to note is that changes to individual hosts are not immediately propagated to other hosts, so even if you request a buffer transfer based on your global list, you may not actually have the data blocks. This means that the data block has already been discarded in the buffer of the other host. In this case, the host that is requested to transmit the buffer block should inform that there is no corresponding block. On the contrary, if the requested buffer block is found, the block is sent to the requesting host.

다음, 전역버퍼관리자의 버퍼관리방법을 설명하면 다음과 같다. 전역버퍼관리자는 개별버퍼리스트를 취합하고, 관련 전역버퍼리스트를 제공하며, 오류복구 기능 및 버퍼작용 시나리오 기능을 갖는다.Next, the buffer management method of the global buffer manager will be described. The global buffer manager collects individual buffer lists, provides related global buffer lists, and has error recovery and buffer operation scenario functions.

먼저, 개별버퍼리스트를 취합하는 기능에 대해 살펴본다. 각 호스트는 개별버퍼리스트를 관리하다가 서버에게 잠금 메시지를 보낼 필요가 있을 때 그 동안 관리하던 개별버퍼리스트를 함께 보낸다. 전역버퍼서버는 이 리스트를 받아서 전역버퍼리스트로 관리한다. 이때, 하나의 전역버퍼서버는 자신이 담당하는 파일들에대한 리스트만 관리한다. 따라서, 서버들이 관리하는 전역버퍼리스트들은 서로 독립적이다.First, let's take a look at the function of collecting individual buffer lists. Each host maintains a separate buffer list, and when it needs to send a lock message to the server, it sends the individual buffer list that it has been managing. The global buffer server receives this list and manages it as a global buffer list. At this time, one global buffer server manages only the list of files in charge. Thus, global buffer lists managed by servers are independent of each other.

다음, 관련 전역버퍼리스트를 제공하는 과정을 살펴본다. 각 호스트들이 서버에게 개별버퍼리스트를 등록하는 것과는 반대로 서버는 개별호스트들에게 전역버퍼리스트를 제공한다. 이때도 개별버퍼리스트의 등록과 마찬가지로 얼마나 자주 전역버퍼리스트를 전달해 줄 것인지를 결정해야 한다. 전역버퍼리스트에 변경이 생길 때마다 개별호스트에게 버퍼리스트를 제공한다면 각 호스트 입장에서는 더 정확한 전역버퍼리스트를 가지게 되므로 전역버퍼 적중률이 높아지는 장점이 있지만, 반대로 전역버퍼리스트를 전송하기 위한 오버헤드가 발생한다. 따라서, 본 발명에 따른 네트워크 연결형 자료저장시스템은 서버에서 호스트로 잠금관련메시지를 보낼 필요가 있는 경우에만 전역버퍼리스트를 메시지에 첨부해서 보낸다.Next, we look at the process of providing the relevant global buffer list. In contrast to each host registering an individual buffer list with the server, the server provides the global host with a global buffer list. In this case, as well as the registration of individual buffer lists, it is necessary to decide how often to deliver the global buffer list. If a buffer list is provided to an individual host whenever a change is made to the global buffer list, each host has a more accurate global buffer list, which increases the global buffer hit rate. However, there is an overhead for transmitting the global buffer list. do. Therefore, the network-connected data storage system according to the present invention attaches the global buffer list to the message only when it is necessary to send a lock related message from the server to the host.

또한, 서버에서 호스트로 전역버퍼리스트를 보낼 때 서버에서 관리하던 모든 전역버퍼리스트를 보낼 필요는 없고, 해당 호스트가 사용할 가능성이 있는 버퍼리스트만 보내면 된다. 즉, 현재 그 호스트가 잠금을 가지고 있는 파일들에 대한 버퍼 리스트만 보내면 된다. 예를 들어, 서버 s1에서 파일 f1, f4, f7을 관리하고 있고, 호스트 h1은 현재 파일 f1, f2에 대한 잠금을 가지고 있는 경우를 생각해 보자. 호스트 h1에서 파일 f4를 사용하고자 한다면, 서버 s1에게 파일 f4에 대한 잠금을 요청할 것이다. 물론, 이때 h1에서는 스스로 관리하던 개별버퍼리스트 중에서 파일 f1에 대한 리스트를 잠금 메시지에 덧붙여서 서버 s1에게 보낼 것이다(파일 f2는 서버 s1이 담당하지 않기 때문에 보낼 필요가 없음). 서버 s1에서는 호스트 h1에게 파일 f4에 대한 잠금허용 메시지를 보낼 때, 전역버퍼리스트 중에서 파일 f1과 f4에 대한 리스트를 첨부해서 보낸다. 왜냐하면, 호스트 h1에서는 파일 f1과 f4에 대한 잠금을 가지므로 이 파일들에 대해서 접근할 수 있기 때문이다.Also, when you send a global buffer list from a server to a host, you do not have to send all the global buffer lists managed by the server, but only the buffer lists that the host might use. That is, you only need to send a list of buffers for the files that the host currently has a lock on. For example, suppose server s1 manages files f1, f4, and f7, and host h1 currently holds a lock on files f1, f2. If you want to use file f4 on host h1, you will ask server s1 to lock file f4. Of course, at this time, h1 will send a list of file f1 among the individual buffer lists that it manages to the server s1 with a lock message (file f2 does not need to be sent because server s1 is not responsible). When the server s1 sends the lock permission message for the file f4 to the host h1, the server s1 attaches a list of the files f1 and f4 from the global buffer list. Because host h1 has locks on files f1 and f4, they can access these files.

다음, 오류 복구 기능을 살펴본다. 시스템 운용 중에 특정 호스트나 서버가 죽는다면(crash) 이런 이상 상황에 대한 대처 기능이 필요하다. 버퍼 관점에서 볼 때 시스템 이상 상황은 크게 다음과 같은 두 가지로 나눠서 생각할 수 있다. 첫째, 일반 호스트 오류상황이 발생한 경우에 그 호스트와의 통신이 불가능하기 때문에 죽은 호스트의 버퍼 내용에 대한 리스트는 무의미해진다. 따라서, 각 전역 버퍼 서버에서는 죽은 호스트에 대한 버퍼 리스트를 전역버퍼리스트로부터 제거해야 한다. 또한, 일반 호스트들은 자신들이 가지고 있던 관련 전역버퍼리스트에서 죽은 호스트에 대한 버퍼리스트를 제거해야 한다. 둘째, 전역버퍼서버 오류인 경우에 전역버퍼서버도 역시 일반 호스트의 기능을 그대로 가지고 있기 때문에 전역버퍼서버가 죽은 경우에도 일반 시스템 이상상황과 같이 동일한 일을 수행해야 한다. 여기에 추가로, 죽은 서버의 역할을 대신할 방법이 필요하다. 죽은 서버의 역할을 대신하는 방법으로는 살아있는 서버들이 공평하게 역할을 분담하는 방법이나 혹은 새로운 서버를 선정해서 죽은 서버의 역할을 담당하게 하는 방법이 있을 수 있는데 본 발명에 따른 네트워크 연결형 자료저장시스템에서는 후자의 방법을 선택한다. 즉, 전역버퍼서버가 죽으면 살아 있는 호스트들(다른 전역버퍼서버를 포함) 중에서 임의로 하나를 선정해서 새로운 전역버퍼서버로 지정한다. 새로운 전역버퍼서버가 지정되면 모든 호스트에서는 버퍼서버테이블의 내용을 변경해서 새로운 서버가 할당되었음을 반영한다. 또한, 새로 지정된 서버는 전역버퍼리스트를 재구성하기 위하여, 모든 호스트들에게 요청해서 각 호스트들이 획득하고 있는 잠금과 관리하고 있는 개별버퍼리스트들을 모은다.Next, take a look at the error recovery function. If a particular host or server crashes while the system is running, you need to deal with this anomaly. From a buffer point of view, there are two main types of system anomalies: First, the list of buffer contents of a dead host becomes meaningless because communication with that host is impossible in case of a general host error. Therefore, each global buffer server must remove the buffer list for the dead host from the global buffer list. Also, ordinary hosts should remove the buffer list for dead hosts from their associated global buffer list. Second, in the case of a global buffer server error, the global buffer server also has the function of a normal host. Therefore, even when the global buffer server is dead, the same work must be performed as in a normal system abnormal situation. In addition, you need a way to take over the role of a dead server. As a method of substituting the role of the dead server, there may be a method in which the live servers share the role equally or a method of selecting a new server to play the role of the dead server. In the network-connected data storage system according to the present invention, Choose the latter method. That is, when a global buffer server dies, it randomly selects one of the living hosts (including other global buffer servers) and designates it as a new global buffer server. When a new global buffer server is specified, all hosts change the contents of the buffer server table to reflect that a new server has been allocated. In addition, the newly designated server asks all hosts to reconstruct the global buffer list, gathering the locks that each host is obtaining and the individual buffer lists it manages.

다음, 버퍼 작용 시나리오에 대해 설명한다. 도 7은 본 발명의 한 실시예에 따른 네트워크 연결형 자료저장시스템의 버퍼송수신과정을 도시한 동작 흐름도이다.Next, a buffer operation scenario will be described. 7 is an operation flowchart illustrating a buffer transmission and reception process of a network-connected data storage system according to an embodiment of the present invention.

임의의 클라이언트로부터 버퍼 요구가 발생하면(S701), 우선 개별버퍼리스트에서 요청 데이터를 찾고(S702), 찾으면(local hit)(S703) 해당 버퍼의 데이터를 호스트에게 송신한다(S704). 그러나, 찾지 못하면(S703) 전역버퍼관리자에게 잠금 관리자의 잠금 요청과 더불어 버퍼요청을 송신하고(S705), 이 전역버퍼관리자는 요청 데이터를 전역버퍼리스트에서 검색하여 어떤 호스트의 버퍼에 해당 데이터가 존재하는 지를 찾는다(S706).When a buffer request is generated from an arbitrary client (S701), first, request data is found in an individual buffer list (S702), and if found (local hit) (S703), data of the buffer is transmitted to the host (S704). However, if it is not found (S703), the buffer request is sent to the global buffer manager along with the lock request of the lock manager (S705), and the global buffer manager retrieves the request data from the global buffer list and the data exists in the buffer of a host. To find out whether (S706).

전역버퍼리스트에서 해당 데이터가 찾아지면(S707), 전역버퍼관리자는 해당 데이터가 포함된 버퍼를 가지고 있는 다른 호스트에게 버퍼요청을 송신하고(S708), 해당 다른 호스트로부터 버퍼의 데이터를 수신하며(S709), 버퍼 요청을 한 호스트에게 해당 데이터를 송신한다(S710). 한편, 전역버퍼리스트에서도 해당 데이터가 없으면(S707), 버퍼 요청을 한 호스트에게 "데이터 찾지 못함" 메시지를 송신한다(S712). 해당 개별 호스트는 개별 디스크에서 해당 요청 데이터를 검색하여(S712), 요청 데이터를 수신받는다(S713).If the corresponding data is found in the global buffer list (S707), the global buffer manager sends a buffer request to another host having a buffer including the data (S708), and receives the buffer data from the other host (S709). In step S710, the data is transmitted to the host that made the buffer request. On the other hand, if there is no corresponding data in the global buffer list (S707), a "data not found" message is transmitted to the host that made the buffer request (S712). The individual host retrieves the request data from the individual disk (S712) and receives the request data (S713).

이러한 버퍼 작용 시나리오는 기본적으로 잠금관리자와의 통합을 통해 이루어지는 것이며 잠금관리자 역시 전역잠금관리자와 개별잠금관리자 모듈을 두고 버퍼관리자와 상호 작용을 하게 된다. 또한, 전역버퍼관리자들을 설정함으로 인하여 발생하는 오버헤드를 최소화하기 위해 메시지 교환시 버퍼관련메시지를 잠금관련메시지에 덧붙여서(piggyback) 보내는 방법을 채택한다. 이는 전역버퍼리스트의 정확성과 최신성은 다소 감소하지만, 오버헤드를 최소화할 수 있다.This buffer operation scenario is basically achieved through integration with the lock manager, and the lock manager also interacts with the buffer manager through the global lock manager and the individual lock manager modules. Also, in order to minimize the overhead incurred by setting the global buffer manager, a buffer-related message is added to the lock-related message when the message is exchanged. This somewhat reduces the accuracy and freshness of the global buffer list, but minimizes the overhead.

위에서 양호한 실시예에 근거하여 이 발명을 설명하였지만, 이러한 실시예는 이 발명을 제한하려는 것이 아니라 예시하려는 것이다. 이 발명이 속하는 분야의 숙련자에게는 이 발명의 기술사상을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능함이 자명할 것이다. 그러므로, 이 발명의 보호범위는 첨부된 청구범위에 의해서만 한정될 것이며, 위와 같은 변화예나 변경예 또는 조절예를 모두 포함하는 것으로 해석되어야 할 것이다.While the invention has been described above based on the preferred embodiments thereof, these embodiments are intended to illustrate rather than limit the invention. It will be apparent to those skilled in the art that various changes, modifications, or adjustments to the above embodiments can be made without departing from the spirit of the invention. Therefore, the protection scope of the present invention will be limited only by the appended claims, and should be construed as including all such changes, modifications or adjustments.

이상과 같이 본 발명에 의하면, SAN 환경에서 개별버퍼들을 통합해서 전역버퍼로 관리함으로써, 데이터의 적중률이 향상되어 시스템 성능이 향상되는 효과가 있다.As described above, according to the present invention, by integrating individual buffers in a SAN environment and managing them as global buffers, the hit ratio of data is improved, thereby improving system performance.

Claims (17)

복수 개의 호스트들이 SAN망을 통해 연결되어 각 호스트들에 연결된 버퍼의 데이터를 공유하도록 하는 네트워크 연결형 자료저장시스템의 버퍼관리시스템에 있어서,In the buffer management system of a network-connected data storage system in which a plurality of hosts are connected through a SAN network to share data of a buffer connected to each host, 상기 호스트들에 각각 위치하여 각 호스트에 직접 연결된 버퍼의 데이터에 대한 개별버퍼리스트를 관리하는 복수 개의 개별버퍼관리자와,A plurality of individual buffer managers respectively located in the hosts and managing individual buffer lists for data of a buffer directly connected to each host; 복수 개의 호스트를 통합 관리하기 위해 선정된 전역버퍼서버에 위치하며 상기 전역버퍼서버가 관리하는 호스트들에 연결된 버퍼의 데이터를 통합하여 전역버퍼리스트를 관리하는 적어도 하나 이상의 전역버퍼관리자와,At least one global buffer manager located in a global buffer server selected for integrated management of a plurality of hosts and managing global buffer lists by integrating data of buffers connected to hosts managed by the global buffer server; 상기 각 호스트에 위치하여 해당 호스트가 현재 가지고 있는 잠금에 대한 개별잠금리스트를 관리하는 개별잠금관리자, 및An individual lock manager located on each host to manage an individual lock list for locks currently owned by the host, and 상기 전역버퍼서버에 위치하여 상기 전역버퍼서버가 관리하는 데이터에 대한 전역잠금리스트를 관리하는 전역잠금관리자를 포함하며,Located in the global buffer server includes a global lock manager for managing a global lock list for the data managed by the global buffer server, 상기 전역버퍼서버는 상기 전역버퍼관리자와 상기 전역잠금관리자를 통합 관리하는 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 버퍼관리시스템.The global buffer server buffer management system of a network-connected data storage system, characterized in that the global buffer manager and the global lock manager integrated management. SAN망을 통해 연결된 복수 개의 호스트들을 개별 호스트와 적어도 하나 이상의 전역버퍼서버로 구분하고, 상기 개별 호스트는 개별버퍼관리자를 포함하고 상기전역버퍼서버는 전역버퍼관리자를 포함하도록 구성하여, 상기 각 호스트들이 버퍼의 데이터를 공유하도록 하는 네트워크 연결형 자료저장시스템의 개별버퍼관리자에서의 버퍼관리방법에 있어서,A plurality of hosts connected through a SAN network are divided into individual hosts and at least one global buffer server, wherein each individual host includes an individual buffer manager and the global buffer server includes a global buffer manager. In the buffer management method in the individual buffer manager of the network-connected data storage system to share the data of the buffer, 상기 개별 호스트 내에 연결된 버퍼의 데이터에 대한 개별버퍼리스트를 관리하고 상기 전역버퍼관리자에게 등록하며, 상기 버퍼의 변동사항을 상기 전역버퍼관리자에게 알리는 제 1 단계와,A first step of managing an individual buffer list for data of buffers connected in the individual host and registering the buffer with the global buffer manager, and notifying the global buffer manager of changes in the buffer; 상기 전역버퍼관리자로부터 전역버퍼리스트를 입력받아 상기 전역버퍼리스트를 기준으로 전역버퍼관리자에 접근하는 제 2 단계와,Receiving a global buffer list from the global buffer manager and accessing the global buffer manager based on the global buffer list; 상기 SAN망에 접속된 다른 호스트로부터 데이터블록 전송이 요청되면, 상기 데이터블록을 상기 다른 호스트에게 전송하는 제 3 단계를 포함한 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 버퍼관리방법.And a third step of transmitting the data block to the other host when a data block transmission is requested from another host connected to the SAN network. 제 2 항에 있어서, 상기 제 1 단계는,The method of claim 2, wherein the first step, 상기 개별 호스트 내에 연결된 버퍼 데이터에 변동사항이 발생하면 상기 개별버퍼리스트를 갱신하고, 상기 전역버퍼관리자와의 잠금관련메시지 송수신시 상기 개별버퍼리스트 변동사항을 덧붙여서 송수신하는 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 버퍼관리방법.When a change occurs in the buffer data connected to the individual host, the individual buffer list is updated, and when the lock-related message is transmitted and received with the global buffer manager, the network-connected data storage is added and transmitted. How to manage buffers in your system. 제 3 항에 있어서, 상기 제 1 단계는,The method of claim 3, wherein the first step, 상기 전역버퍼관리자가 2 이상이면, 상기 변동사항이 발생한 파일을 관리하는 전역버퍼관리자에게만 상기 변동사항을 알리는 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 버퍼관리방법.If the global buffer manager is 2 or more, the buffer management method of a network-connected data storage system, characterized in that notifying the change only to the global buffer manager for managing the file on which the change occurred. 제 2 항에 있어서, 상기 제 2 단계는,The method of claim 2, wherein the second step, 상기 개별 호스트 내에 연결된 버퍼에 필요한 데이터블록이 없으면, 상기 전역버퍼리스트를 검색하여 상기 데이터블록이 존재하는 다른 호스트에게 상기 데이터블록 전송을 요청하는 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 버퍼관리방법.If there is no data block required for the buffer connected in the individual host, the buffer management method of the network-connected data storage system, characterized in that to request the transmission of the data block to another host where the data block exists by searching the global buffer list. 제 2 항에 있어서, 상기 제 3 단계는,The method of claim 2, wherein the third step, 상기 데이터블록이 버퍼에서 폐기된 후 상기 다른 호스트로부터 데이터블록 전송이 요청되면, 상기 데이터블록이 없음을 상기 다른 호스트에게 알리는 제 4 단계를 더 포함한 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 버퍼관리방법.And a fourth step of notifying the other host of the absence of the data block when the data block transmission is requested from the other host after the data block is discarded in the buffer. . SAN망을 통해 연결된 복수 개의 호스트들을 개별 호스트와 적어도 하나 이상의 전역버퍼서버로 구분하고, 상기 개별 호스트는 개별버퍼관리자를 포함하고 상기 전역버퍼서버는 전역버퍼관리자를 포함하도록 구성하여, 상기 각 호스트들이 버퍼의 데이터를 공유하도록 하는 네트워크 연결형 자료저장시스템의 전역버퍼관리자에서의 버퍼관리방법에 있어서,A plurality of hosts connected through a SAN network are divided into individual hosts and at least one global buffer server, wherein each individual host includes an individual buffer manager and the global buffer server includes a global buffer manager. In the buffer management method in the global buffer manager of the network-connected data storage system to share the data of the buffer, 상기 개별 호스트들의 개별버퍼관리자들로부터 개별버퍼리스트가 입력되면, 상기 개별버퍼리스트들을 취합하여 전역버퍼리스트를 관리하는 제 1 단계와,A first step of managing a global buffer list by collecting the individual buffer lists when an individual buffer list is input from individual buffer managers of the individual hosts; 상기 전역버퍼리스트를 상기 개별 호스트들에게 제공하는 제 2 단계를 포함한 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 버퍼관리방법.And a second step of providing the global buffer list to the individual hosts. 제 7 항에 있어서, 상기 전역버퍼서버가 2 이상이면 상기 각 전역버퍼서버가 관리하는 상기 전역버퍼리스트들이 상호 독립적인 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 버퍼관리방법.8. The method of claim 7, wherein if the global buffer server is 2 or more, the global buffer lists managed by the global buffer servers are independent of each other. 제 7 항에 있어서, 상기 제 2 단계는,The method of claim 7, wherein the second step, 상기 전역버퍼관리자는 상기 개별 호스트에 잠금관련메시지를 송신할 때 상기 전역버퍼리스트를 덧붙여서 송신하는 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 버퍼관리방법.And the global buffer manager transmits the global buffer list in addition to the global buffer list when transmitting the lock related message to the individual host. 제 9 항에 있어서,The method of claim 9, 상기 전역버퍼관리자는 상기 개별 호스트가 사용할 가능성이 있는 전역버퍼리스트만을 상기 잠금관련메시지에 덧붙여서 송신하는 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 버퍼관리방법.And the global buffer manager transmits only the global buffer list that may be used by the individual host in addition to the lock related message. 제 7 항에 있어서,The method of claim 7, wherein 상기 개별 호스트에 이상상황이 발생하여 통신 불가능 상태가 되면, 상기 개별 호스트의 개별버퍼리스트를 상기 전역버퍼리스트에서 제거하는 제 3 단계를 더 포함한 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 버퍼관리방법.And a third step of removing the individual buffer list of the individual host from the global buffer list when an abnormal situation occurs in the individual host and makes communication impossible. SAN망을 통해 연결된 복수 개의 호스트들을 개별 호스트와 적어도 하나 이상의 전역버퍼서버로 구분하고, 상기 개별 호스트는 개별버퍼관리자를 포함하고 상기 전역버퍼서버는 전역버퍼관리자를 포함하도록 구성하여, 상기 각 호스트들이 버퍼의 데이터를 공유하도록 하는 네트워크 연결형 자료저장시스템의 임의의 호스트에서의 데이터블록 검색방법에 있어서,A plurality of hosts connected through a SAN network are divided into individual hosts and at least one global buffer server, wherein each individual host includes an individual buffer manager and the global buffer server includes a global buffer manager. A data block retrieval method in an arbitrary host of a network-connected data storage system for sharing data of a buffer, 클라이언트로부터 데이터 요구가 발생하면, 상기 개별버퍼관리자가 개별버퍼리스트를 검색하여 데이터를 찾는 제 1 단계와,A first step in which the individual buffer manager searches the individual buffer list to find data when a data request is generated from a client; 상기 제 1 단계의 검색 결과 데이터를 찾으면, 찾은 데이터를 상기 클라이언트에게 제공하고, 데이터를 못 찾으면 상기 전역버퍼관리자에게 데이터 전송을 요청하는 제 2 단계와,A second step of providing the client with the found data when the search result data of the first step is found, and requesting data transmission from the global buffer manager if no data is found; 상기 전역버퍼관리자가 전역버퍼리스트를 검색하여 상기 데이터를 포함한 호스트를 검사하여, 상기 데이터를 포함한 데이터 제공 호스트 정보를 상기 데이터 요구 호스트에게 제공하는 제 3 단계와,A third step of the global buffer manager searching a global buffer list to inspect a host including the data and providing data providing host information including the data to the data requesting host; 상기 데이터 요구 호스트가 상기 데이터 제공 호스트로부터 상기 데이터를 읽어와 상기 클라이언트에게 제공하는 제 4 단계를 포함한 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 데이터블록 검색방법.And a fourth step of the data requesting host reading the data from the data providing host and providing the data to the client. 제 12 항에 있어서,The method of claim 12, 상기 제 3 단계에서 상기 데이터를 포함한 호스트를 못 찾거나, 상기 제 4 단계에서 상기 데이터 제공 호스트에 상기 데이터가 없으면, 상기 데이터 요구 호스트는 디스크에 접근하여 상기 데이터를 읽어오는 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 데이터블록 검색방법.If the host including the data is not found in the third step or the data is not present in the data providing host in the fourth step, the data requesting host accesses a disk and reads the data. Data block retrieval method of data storage system. 제 12 항에 있어서, 상기 데이터 제공 호스트는,The method of claim 12, wherein the data providing host, 상기 데이터블록이 버퍼에서 폐기된 후 상기 데이터 요구 호스트로부터 데이터블록 전송이 요청되면, 상기 데이터블록이 없음을 상기 데이터 요구 호스트에게 알리는 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 데이터블록 검색방법.And when the data block transmission is requested from the data requesting host after the data block is discarded in the buffer, notifying the data requesting host of the absence of the data block. 제 12 항에 있어서,The method of claim 12, 상기 개별버퍼관리자는 상기 전역버퍼관리자와의 잠금관련메시지 송신시 상기 개별버퍼리스트 변동사항을 덧붙여서 송신하고, 상기 전역버퍼관리자는 상기 개별 호스트에 잠금관련메시지를 송신할 때 상기 전역버퍼리스트를 덧붙여서 송신하는 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 데이터블록 검색방법.The individual buffer manager sends the lock buffer message with the change of the individual buffer list when the lock related message is transmitted to the global buffer manager, and the global buffer manager sends the lock buffer message with the global buffer list when the lock buffer message is sent to the individual host. Data block retrieval method of a network-connected data storage system, characterized in that. 제 12 항에 있어서,The method of claim 12, 상기 개별 호스트에 이상상황이 발생하여 통신 불가능 상태가 되면, 상기 개별 호스트의 개별버퍼리스트를 상기 전역버퍼리스트에서 제거하는 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 데이터블록 검색방법.And when an abnormal situation occurs in the individual host and the communication is impossible, the individual buffer list of the individual host is removed from the global buffer list. 제 12 항에 있어서,The method of claim 12, 상기 전역버퍼서버에 이상상황이 발생하여 통신 불가능 상태가 되면, 임의의 개별 호스트를 새로운 전역버퍼서버로 지정하고, 상기 새로운 전역버퍼서버는 나머지 개별 호스트로부터 개별버퍼리스트와 개별잠금리스트를 전송받아 전역버퍼리스트와 전역잠금리스트를 재구성하여 전역버퍼기능을 수행하도록 하는 것을 특징으로 하는 네트워크 연결형 자료저장시스템의 데이터블록 검색방법.If an abnormal situation occurs in the global buffer server and the communication is not possible, a random individual host is designated as a new global buffer server, and the new global buffer server receives the individual buffer list and the individual lock list from the remaining individual hosts, A method for retrieving a data block of a network-connected data storage system, characterized by reconfiguring a buffer list and a global lock list to perform a global buffer function.
KR10-2001-0021337A 2001-04-20 2001-04-20 A Buffer Management System and Method for the SAN Environment KR100378598B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0021337A KR100378598B1 (en) 2001-04-20 2001-04-20 A Buffer Management System and Method for the SAN Environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0021337A KR100378598B1 (en) 2001-04-20 2001-04-20 A Buffer Management System and Method for the SAN Environment

Publications (2)

Publication Number Publication Date
KR20020081886A KR20020081886A (en) 2002-10-30
KR100378598B1 true KR100378598B1 (en) 2003-04-03

Family

ID=27701907

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0021337A KR100378598B1 (en) 2001-04-20 2001-04-20 A Buffer Management System and Method for the SAN Environment

Country Status (1)

Country Link
KR (1) KR100378598B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020084324A (en) * 2001-04-26 2002-11-07 세림정보기술 주식회사 A method of building a data room for group studying

Also Published As

Publication number Publication date
KR20020081886A (en) 2002-10-30

Similar Documents

Publication Publication Date Title
US10209893B2 (en) Massively scalable object storage for storing object replicas
US9898521B2 (en) Massively scalable object storage system
US10534681B2 (en) Clustered filesystems for mix of trusted and untrusted nodes
US10104175B2 (en) Massively scalable object storage system
CN101689129B (en) File system mounting in a clustered file system
AU2015240916B2 (en) File storage using variable stripe sizes
US8510267B2 (en) Synchronization of structured information repositories
US6339793B1 (en) Read/write data sharing of DASD data, including byte file system data, in a cluster of multiple data processing systems
EP1465072A2 (en) Computer system with distributed file system for managing distributed files
CN1723434A (en) Apparatus and method for a scalable network attach storage system
WO2016148670A1 (en) Deduplication and garbage collection across logical databases
US10503693B1 (en) Method and system for parallel file operation in distributed data storage system with mixed types of storage media
WO2004055675A1 (en) File management apparatus, file management program, file management method, and file system
KR101341412B1 (en) Apparatus and method of controlling metadata in asymmetric distributed file system
KR100378598B1 (en) A Buffer Management System and Method for the SAN Environment
WO2011136261A1 (en) Storage system, control method for storage system, and computer program
JP2022070669A (en) Database system and query execution method

Legal Events

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

Payment date: 20091228

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee