KR101138937B1 - Context-aware prefetching system and method exploiting network buffer as prefetching buffer - Google Patents

Context-aware prefetching system and method exploiting network buffer as prefetching buffer Download PDF

Info

Publication number
KR101138937B1
KR101138937B1 KR1020080127870A KR20080127870A KR101138937B1 KR 101138937 B1 KR101138937 B1 KR 101138937B1 KR 1020080127870 A KR1020080127870 A KR 1020080127870A KR 20080127870 A KR20080127870 A KR 20080127870A KR 101138937 B1 KR101138937 B1 KR 101138937B1
Authority
KR
South Korea
Prior art keywords
data
network connection
context
read
client
Prior art date
Application number
KR1020080127870A
Other languages
Korean (ko)
Other versions
KR20100069232A (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 KR1020080127870A priority Critical patent/KR101138937B1/en
Publication of KR20100069232A publication Critical patent/KR20100069232A/en
Application granted granted Critical
Publication of KR101138937B1 publication Critical patent/KR101138937B1/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/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Abstract

본 발명은 사용자와 서버 간의 통신 환경에서 빈번한 네트워크 연결/해제에 의해서 발생하는 부하를 최소화하면서 통신의 전송 효율은 향상시킬 수 있는 컨텍스트 상태 정보 기반 미리 읽기 시스템 및 방법 것으로, 본 발명의 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 방법은, 네트워크 연결 컨텍스트 리스트를 검색하여 기존의 네트워크 연결을 획득하거나 새로운 네트워크 연결을 생성하여 획득하는 단계, 상기 획득된 네트워크 연결을 통해 쓰기 요청을 서버에게 전송하고 상기 쓰기 요청과 관련된 파일의 데이터를 일정량까지 모아서 한번에 상기 서버에게 전송하는 단계, 및 상기 획득된 네트워크 연결을 통해 읽기 요청을 상기 서버에게 전송하고 상기 읽기 요청과 관련된 파일의 연속적인 영역의 데이터를 상기 서버로부터 얻는 단계를 포함하는 것을 특징으로 한다.The present invention relates to a context-based information read-ahead system and method capable of improving transmission efficiency of communication while minimizing load caused by frequent network connection / disconnection in a communication environment between a user and a server. The context state information-based read method includes: acquiring a network connection context list by acquiring an existing network connection or creating a new network connection; transmitting a write request to the server through the obtained network connection; Collecting a predetermined amount of data of a file associated with the read request and transmitting the collected data to the server at once, and transmitting a read request to the server through the obtained network connection and obtaining data of a continuous area of the file associated with the read requestThe method comprising the steps of:

네트워크버퍼, 컨텍스트상태정보, 미리읽기, 클라이언트, 서버 Network buffer, context status information, read ahead, client, server

Description

네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 시스템 및 방법{Context-aware prefetching system and method exploiting network buffer as prefetching buffer}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a context-aware prefetching system,

본 발명은 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 시스템 및 방법에 관한 것이며, 특히 사용자와 서버 간의 통신 환경에서 빈번한 네트워크 연결/해제에 의해서 발생하는 부하를 최소화하면서 통신의 전송 효율은 향상시킬 수 있는 컨텍스트 상태 정보 기반 미리 읽기 시스템 및 방법 것이고, 그리고 보다 구체적으로 사용자와 서버 간에 하나의 컨텍스트의 연속적인 영역의 읽기/쓰기 요청과 데이터 전송이 순차적으로 발생하는 경우 하나의 네트워크 연결을 이용하여 모든 네트워크 통신을 수행하고, 해당 네트워크 연결의 입출력 버퍼를 사용자와 서버에게 보낼 데이터의 미리 읽기(prefetch) 버퍼로서 이용하여 입출력 성능을 극대화할 수 있는 컨텍스트 상태 정보 기반 미리 읽기 시스템 및 방법에 관한 것이다.The present invention relates to a context-information-based read ahead system and method using a network buffer. More particularly, the present invention relates to a context-information-based read-ahead system and method for minimizing load caused by frequent network connection / And more specifically, when a read / write request and a data transfer are sequentially generated in a continuous area of one context between a user and a server, all network communication And a context-information-based read-ahead system and method capable of maximizing I / O performance by using an input / output buffer of the network connection as a prefetch buffer of data to be sent to a user and a server.

본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-016-02, 과제명: 저비용 대규모 글로벌 인터넷 서비스 솔루션 개발].The present invention was derived from research carried out as part of the IT Growth Driving Technology Development Project of the Ministry of Knowledge Economy and the Korea IT Industry Promotion Agency. [Assignment Number: 2007-S-016-02, Title: Development of Low Cost Large-scale Global Internet Service Solution ].

사용자와 서버 간의 통신은 모든 인터넷 어플리케이션의 가장 기본적인 기능이다. 사용자가 원하는 컨텍스트를 관리하는 서버에게 해당 컨텍스트에 대한 읽기/쓰기 요청을 전송하면, 해당 서버는 기본적으로 그 컨텍스트 데이터를 사용자에 전달하는 역할을 한다. 이때, 각 사용자 요청마다 매번 새로운 네트워크 연결을 할당하고 사용자 요청 처리 후 바로 네트워크 연결을 해제하는 것은 사용자 및 서버에 큰 부담을 준다. 또한, 네트워크 연결/해제 때마다 서버 내에서 저장소에 접근하여 해당 컨텍스트 파일을 열고 데이터 서비스 후 해당 파일을 다시 닫는 과정도 서버에 많은 부담을 준다. 따라서, 사용자와 서버 간의 통신은 가급적 네트워크 연결을 최소화시키면서 서버 내에서의 저장소 접근을 최소화시켜야 한다.Communication between users and servers is the most basic function of any Internet application. When the user sends a read / write request to the context managing server, the server basically transmits the context data to the user. At this time, allocating a new network connection for each user request and releasing the network connection immediately after the user request processing places a heavy burden on the user and the server. Also, the process of accessing the repository within the server every time the network is connected / disconnected, opening the corresponding context file, and closing the file again after data service also puts a lot of burden on the server. Therefore, communication between the user and the server should minimize access to the storage within the server while minimizing the network connection as much as possible.

사용자 요청은 컨텍스트의 연속적인 영역의 순차적 요청과 컨텍스트의 임의의 영역의 불연속적 요청으로 구분될 수 있다. 따라서, 요청의 성격에 따라 순차적 요청과 불연속적 요청이 구분되고, 연속적인 영역에 관한 순차적 요청들은 모아서 한번에 처리하고 불연속적 요청은 즉시 처리하여야 서비스의 응답속도 및 네트워크의 데이터 전송 효율을 최대화할 수 있다.A user request can be divided into a sequential request for a contiguous region of the context and a non-contiguous request for an arbitrary region of the context. Therefore, sequential and non-sequential requests are classified according to the nature of the request, sequential requests about the continuous area are collected and processed at once, and discontinuous requests are processed immediately to maximize the response speed of the service and the data transmission efficiency of the network have.

서버 상에서 컨텍스트 데이터를 저장소로부터 가져오거나 컨텍스트 데이터를 저장소에 저장하는 경우에, 데이터 처리 단위가 일정 이상 커져야 데이터 처리 효율을 최대화시킬 수 있다. 따라서, 저장 공간상에서 물리적 혹은 논리적으로 연속적인 데이터에 대한 모든 요청들을 동시에 처리함으로써 한 번의 데이터 처리 단위 를 증가시키는 방법을 통해, 데이터 서비스에 대한 성능이 향상될 수 있다.When the context data is retrieved from the repository on the server or the context data is stored in the repository, the data processing unit must be larger than a certain size to maximize the data processing efficiency. Therefore, the performance of the data service can be improved through a method of increasing a data processing unit by simultaneously processing all requests for data physically or logically continuous on the storage space.

Sanjeev Bagewadi에 의해 발명되고 Sun Microsystems에 의해 2003년 9월 23일자로 출원되어 2007년 5월 8일자로 등록된 미국특허 US7216203B1은 네트워크 기반의 파일시스템에서 미리 읽기를 통하여 네트워크의 전송 효율을 극대화하는 방법을 제안하였다. 미국특허 US7216203B1에서, 사용자가 미리 현재 요청하는 파일 오프셋에 해당하는 데이터보다 더 많은 수의 데이터를 서버에 요청하고 요청한 데이터를 버퍼 캐시 상에서 보관함으로써, 사용자 어플리케이션에 대한 응답 속도를 향상시킨다. 미리 읽어둔(prefetched) 데이터가 소모되어 일정량 이하로 감소될 경우에, 사용자가 소모된 만큼의 데이터를 서버에 추가로 요청하고 읽어옴으로써, 미국특허 US7216203B1은 끊임없이 데이터 서비스가 제공되도록 한다.U.S. Patent No. 7,216,203 B1, which was invented by Sanjeev Bagewadi and filed on September 23, 2003 by Sun Microsystems and registered May 8, 2007, is a method for maximizing the transmission efficiency of a network through read-ahead in a network-based file system . U.S. Patent No. 7,216,203B1 increases the speed of response to a user application by requesting a larger number of data from the server than data corresponding to a file offset that the user is currently requesting and storing the requested data on the buffer cache. When prefetched data is consumed and reduced to a certain amount or less, US Patent No. 7,216,203B1 continuously provides data service by additionally requesting and reading data as much as the user has consumed.

그러나, 사용자는 데이터를 매번 추가 요청을 할 때마다 서버에게 요청 메시지를 보내야 한다. 따라서, 미국특허 US7216203B1은 요청 메시지를 전송하고 응답 메시지를 수신하는데 소요되는 시간만큼 네트워크의 전송 효율이 감소된다. 비록 미국특허 US7216203B1은 사용자의 요청을 버퍼 공간의 크기 단위로 한번에 처리할 수 있지만, 각 사용자 요청마다 해당 파일을 열고 닫는 동작을 여전히 필요로 하기 때문에, 서버의 부하를 증가시킨다.However, the user must send a request message to the server every time data is added to the request. Thus, U.S. Patent US 7,216,203 B1 reduces the transmission efficiency of the network by the time it takes to send a request message and receive a response message. Although U.S. Pat. No. 7,216,203B1 can process user requests at a time in units of buffer space, it increases the load on the server because each user request still needs to open and close the file.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 본 발명의 목적은 사용자와 서버 간의 통신 환경에서 빈번한 네트워크 연결/해제에 의해서 발생하는 부하를 최소화하면서 통신의 전송 효율은 향상시킬 수 있는 컨텍스트 상태 정보 기반 미리 읽기 시스템 및 방법을 제공하는 데 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to provide a communication system and a communication method therefor, which can minimize the load caused by frequent network connection / Based read-ahead system and method.

본 발명의 다른 목적은 사용자와 서버 간의 통신시 네트워크 버퍼 상에 전송 데이터를 모아서 한번에 처리함으로써, 요청 메시지 응답에 걸리는 시간을 줄이고 서버 상에서 디스크 입출력 효율을 향상시킬 수 있는 컨텍스트 상태 정보 기반 미리 읽기 시스템 및 방법을 제공하는 데 있다.Another object of the present invention is to provide a context-information-based read-ahead system capable of reducing time taken to respond to a request message and improving disk I / O efficiency on a server by collecting transmission data on a network buffer at the time of communication between a user and a server, Method.

본 발명의 또 다른 목적은 기존의 네트워크 연결을 이용하여 하나의 컨텍스트에 대한 사용자의 연속적인 요청들을 서비스함으로써, 서버 측 네트워크 연결 관리 부하 및 파일 정보 관리 부하를 최소화할 수 있는 하는 컨텍스트 상태 정보 기반 미리 읽기 시스템 및 방법을 제공하는 데 있다.It is still another object of the present invention to provide a method and system for providing a context-based information service capable of minimizing load on a server-side network connection management load and file information management load by servicing consecutive requests of a user for a context using an existing network connection Reading system and method.

이와 같은 목적을 달성하기 위한 본 발명의 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 방법은, 네트워크 연결 컨텍스트 리스트를 검색하여 기존의 네트워크 연결을 획득하거나 새로운 네트워크 연결을 생성하여 획득하는 단계; 상기 획득된 네트워크 연결을 통해 쓰기 요청을 서버에게 전송하고 상기 쓰기 요청과 관련된 파일의 데이터를 일정량까지 모아서 한번에 상기 서버에게 전송하는 단계; 및 상기 획득된 네트워크 연결을 통해 읽기 요청을 상기 서버에게 전송하고 상기 읽기 요청과 관련된 파일의 연속적인 영역의 데이터를 상기 서버로부터 얻는 단계를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a method of reading context-based information using a network buffer, the method comprising: retrieving a network connection context list to acquire an existing network connection or create a new network connection; Transmitting a write request to a server through the obtained network connection, collecting a predetermined amount of data of a file related to the write request, and transmitting the collected data to the server at once; And transmitting a read request to the server through the obtained network connection and obtaining data of a continuous area of the file related to the read request from the server.

본 발명의 컨텍스트 상태 정보 기반 미리 읽기 방법은, 클라이언트로부터의 쓰기/읽기 요청에 대하여 하나의 컨텍스트에 관한 연속적인 쓰기/읽기 요청마다 쓰기 쓰레드나 읽기 쓰레드를 생성하는 단계; 상기 쓰기 쓰레드는 상기 획득된 네트워크 연결이 완료되기 전까지 제 1 네트워크 버퍼로 수신되는 데이터를 해당 파일에 순차적으로 기록하는 단계; 및 상기 읽기 쓰레드는 상기 획득된 네트워크 연결이 완료되기 전까지 저장된 파일의 데이터를 읽어서 제 2 네트워크 버퍼로 전송하는 단계를 포함하는 것을 특징으로 한다.According to an embodiment of the present invention, there is provided a method for reading a context-based information, comprising: generating a write thread or a read thread for each write / read request for a context in response to a write / read request from a client; The writing thread sequentially recording data received in the first network buffer in the file until the obtained network connection is completed; And reading the data of the stored file until the obtained network connection is completed and transmitting the read data to the second network buffer.

본 발명은 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 시스템의 클라이언트에 있어서, 쓰기 데이터를 저장하기 위한 제 1 네트워크 버퍼; 읽기 데이터를 저장하기 위한 제 2 네트워크 버퍼; 및 네트워크 연결 컨텍스트 리스트를 저장하기 위한 저장소자를 구비하며, 상기 클라이언트는 상기 네트워크 연결 컨텍스트 리스트에 포함된 기존의 네트워크 연결을 통해 쓰기 요청을 서버에게 전송하고 상기 쓰기 요청과 관련된 파일의 데이터를 일정량까지 모아서 한번에 상기 서버에게 전송하며, 그리고 상기 기존의 네트워크 연결을 통해 읽기 요청을 상기 서버에게 전송하고 상기 읽기 요청과 관련된 파일의 연속적인 영역의 데이터를 상기 서버로부터 얻는 것을 특징으로 한다.A client of a context-based information read-ahead system using a network buffer, the client comprising: a first network buffer for storing write data; A second network buffer for storing read data; And a repository for storing a list of network connection contexts, wherein the client transmits a write request to a server through an existing network connection included in the network connection context list, collects data of a file related to the write request to a predetermined amount And transmits the read request to the server through the existing network connection and obtains data of a continuous area of the file related to the read request from the server.

상기 구성을 갖는 본 발명의 컨텍스트 상태 정보 기반 미리 읽기 시스템 및 방법은, 사용자와 서버 간의 통신 환경에서 빈번한 네트워크 연결/해제에 의해서 발생하는 부하를 최소화하면서 통신의 전송 효율은 향상시킬 수 있다.The context state information based read ahead system and method according to the present invention having the above configuration can improve the transmission efficiency of communication while minimizing load caused by frequent network connection / release in a communication environment between a user and a server.

본 발명의 컨텍스트 상태 정보 기반 미리 읽기 시스템 및 방법은, 사용자와 서버 간의 통신시 네트워크 버퍼 상에 전송 데이터를 모아서 한번에 처리함으로써, 요청 메시지 응답에 걸리는 시간을 줄이고 서버 상에서 디스크 입출력 효율을 향상시킬 수 있다.The system and method for reading context-based information according to the present invention collects transmission data on a network buffer at a time in a communication between a user and a server, thereby reducing a time required for a response to a request message and improving disk I / .

본 발명의 컨텍스트 상태 정보 기반 미리 읽기 시스템 및 방법은, 기존의 네트워크 연결을 이용하여 하나의 컨텍스트에 대한 사용자의 연속적인 요청들을 서비스함으로써, 서버 측 네트워크 연결 관리 부하 및 파일 정보 관리 부하를 최소화할 수 있다.The system and method for reading context-based information according to the present invention can minimize the burden of server-side network connection management load and file information management by servicing consecutive requests of a user for one context using existing network connection have.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 시스템의 구성도이다.1 is a configuration diagram of a context state information based read ahead system using a network buffer according to an embodiment of the present invention.

본 발명에 따른 컨텍스트 상태 정보 기반 미리 읽기 시스템이 가정하고 있는 환경에서, 클라이언트들과 서버가 양방향 네트워크로 연결되어 있고, 각 입력 방향과 출력 방향마다 버퍼가 설정되어 있으며, 클라이언트들은 서버에 컨텍스트 파일의 임의의 오프셋에 대한 읽기 혹은 쓰기 요청을 서버에게 보내고, 그리고 해당 서버는 읽기/쓰기 요청에 대한 적절한 서비스를 제공한다.In an environment assumed by the context state information-based read-ahead system according to the present invention, clients and servers are connected in a bidirectional network, buffers are set for each input direction and output direction, It sends a read or write request to an arbitrary offset to the server, and the server provides the appropriate service for the read / write request.

도 1을 참조하면, 본 발명에 따른 컨텍스트 상태 정보 기반 미리 읽기 시스템은, 파일(111), 네트워크 입력버퍼(112) 및 네트워크 연결 컨텍스트 리스트(113)를 갖는 클라이언트(110)와, 파일(121), 네트워크 출력버퍼(122) 및 네트워크 연결 컨텍스트 리스트(123)를 갖는 클라이언트(120)와, 파일(131), 네트워크 입력버퍼(132), 네트워크 출력버퍼(133) 및 파일(131)이 저장되는 디스크(134)를 갖는 서버(130)를 구비한다. 여기서, 클라이언트(110)는 네트워크 연결 컨텍스트 리스트(113)를 저장하기 위한 저장소자를 더 구비하며, 그리고 클라이언트(120)는 네트워크 연결 컨텍스트 리스트(123)를 저장하기 위한 저장소자를 더 구비한다.Referring to FIG. 1, the context state information-based preview system according to the present invention includes a client 110 having a file 111, a network input buffer 112, and a network connection context list 113, A client 120 having a network output buffer 122 and a network connection context list 123 and a disk 130 in which a file 131, a network input buffer 132, a network output buffer 133, (130) having a server (134). Here, the client 110 further comprises a repository for storing the network connection context list 113, and the client 120 further comprises a repository for storing the network connection context list 123. [

클라이언트(110)가 파일(111)의 갱신한 데이터를 서버(130)에 저장하고자 하는 경우, 클라이언트(110)는 네트워크 연결 컨텍스트 리스트(113)를 체크하여 이전의 쓰기/읽기 요청에 의해서 이미 형성된 네트워크 연결이 있는지 여부를 판단한다.When the client 110 desires to store the updated data of the file 111 in the server 130, the client 110 checks the network connection context list 113, And judges whether or not there is a connection.

판단결과 이미 형성된 네트워크 연결이 존재하면, 클라이언트(110)는 관련 파일(131)을 저장하고 있는 서버(130)에게 쓰기 요청을 이미 형성된 네트워크 연결을 통해 전송하고 이 쓰기 요청에 관련된 파일(111)의 데이터를 서버(130)에게 전송한다. 그리고, 클라이언트(110)는 이미 형성된 네트워크 연결을 이용하여 전송 데이터를 서버(130)에게 전송하되, 네트워크 출력버퍼(112)에 전송 데이터를 일정량까지 모아서 한번에 전송하고, 그리고 서버(130)는 전송된 연속적인 데이터를 네트워크 입력버퍼(132)에 모아서 한번에 디스크(134)에 기록한다.As a result of the determination, if there is a network connection already established, the client 110 transmits a write request to the server 130 storing the related file 131 through the already established network connection, And transmits the data to the server 130. The client 110 transmits the transmission data to the server 130 using the already established network connection and collects a predetermined amount of the transmission data to the network output buffer 112 and transmits the transmission data to the server 130 at one time. The continuous data is collected in the network input buffer 132 and written to the disk 134 at once.

클라이언트(120)가 서버(130)에 저장된 파일(131)의 데이터를 읽는 경우, 클라이언트(120)는 네트워크 연결 컨텍스트 리스트(123)를 체크하여 이전의 읽기/쓰기 요청에 의해서 이미 형성된 네트워크 연결이 있는지 여부를 판단한다.When the client 120 reads the data of the file 131 stored in the server 130, the client 120 checks the network connection context list 123 to determine whether there is a network connection already established by the previous read / .

판단결과 이미 형성된 네트워크 연결이 존재하면, 클라이언트(120)는 이미 형성된 네트워크 연결을 이용하여 해당 파일(131)에 대한 읽기 요청을 서버(130)에게 보낸다. 이 읽기 요청에 응답하여, 서버(130)는 요청받은 파일(131)의 데이터를 읽어서 네트워크 출력버퍼(133)에 채우고, 그리고 네트워크 출력버퍼(133)에 채워진 데이터는 클라이언트(120)의 네트워크 입력버퍼(122)를 채운다. 이때, 서버(130)는 클라이언트(120)의 추가적인 읽기 요청에 관계없이 네트워크 출력버퍼(133)가 비워진 후 즉시 파일(131)의 다음 연속적인 데이터를 읽어서 네트워크 출력버퍼(133)를 네트워크 출력버퍼(133)로부터 비워진 데이터량만큼 채운다. 따라서, 클라이언트(120)는 단지 네트워크 입력버퍼(122)를 읽음으로써 파일(131)의 연속적인 영역의 데이터를 얻을 수 있다.As a result of the determination, if there is a network connection already established, the client 120 sends a read request for the file 131 to the server 130 using the already established network connection. In response to the read request, the server 130 reads the data of the requested file 131 and fills it in the network output buffer 133, and the data that is filled in the network output buffer 133 is sent to the network input buffer 133 of the client 120 (122). At this time, the server 130 reads the next continuous data of the file 131 immediately after the network output buffer 133 is empty regardless of the additional read request of the client 120, and transmits the network output buffer 133 to the network output buffer 133). Thus, the client 120 can only obtain data in the contiguous area of the file 131 by reading the network input buffer 122.

한편, 도 1에서는 클라이언트들(110, 120)이 별도로 분리되어 도시되어 있으나, 이는 설명의 편의를 위한 것이다. 즉, 클라이언트들(110, 120)은 동일한 하나의 클라이언트일 수 있고, 또한 서로 다른 클라이언트들일 수도 있다.In FIG. 1, the clients 110 and 120 are separately shown and are for convenience of description. That is, the clients 110 and 120 may be one and the same client.

도 2는 도 1의 클라이언트와 서버 간의 네트워크 연결 컨텍스트의 구조를 나 타낸 것이다.FIG. 2 shows the structure of the network connection context between the client and the server in FIG.

도 2에 도시된 바와 같이, 네트워크 연결 컨텍스트(Network connection context)(200)는 현재 활성화된 네트워크 연결의 갯수만큼 상태정보들(210-1 내지 220-N)(N은 2이상의 자연수)을 갖는다. 상태정보들(210-1 내지 210-N) 각각은, 컨텍스트에 연계된 파일 디스크립터(File descriptor)(211), 컨텍스트에 연계된 해당 파일의 가장 최근 입출력 오프셋(Offset)(212), 네트워크 연결 구분을 위한 소켓 디스크립터(Socket descriptor)(213), 그리고 클라이언트들(110, 120)의 현재 동작이 파일의 읽기 또는 쓰기인지를 나타내는 입출력 모드 플래그(I/O mode flag(W/R))(214)로 이루어진다.2, the network connection context 200 has status information 210-1 to 220-N (N is a natural number of 2 or more) by the number of currently active network connections. Each of the status information 210-1 to 210-N includes a file descriptor 211 associated with the context, a most recent input / output offset 212 of the file associated with the context, A socket descriptor 213 for the client 110 and an input / output mode flag 214 for indicating whether the current operation of the client 110 or 120 is a file read or write, .

도 3은 도 1의 클라이언트와 서버의 네트워크 연결의 관리 상태를 나타낸 예시도이다.3 is an exemplary view showing a management state of a network connection between a client and a server in FIG.

도 3을 참조하면, 클라이언트(120)와 서버(130) 간에 읽기를 위한 네트워크 연결이 형성되어 있는 경우, 하나의 연결관련 자료(310)가 연결관리 구조체에 저장되어 있다. 이 연결관련 자료(310)에서, 해당 네트워크 연결이 파일 디스크립터 값 3(311)과 소켓 디스크립터 값 4(313)를 이용하고 읽기 모드 R(314)로 동작하고 있으며, 그리고 현재 오프셋은 16진수로 0x00000100 임을 나타낸다. 이때, 기존의 네트워크 연결에 대한 추가적인 256 바이트 읽기 요청과 새로운 파일에 대한 쓰기 요청이 동시에 입력되는 경우에, 도 3에 도시된 바와 같이 네트워크 연결 관리 구조가 변경된다. 즉, 기존의 오프셋 값(312A)은 새로운 오프셋 값(312B)으로 변경되어 256이 더해진 0x00000200으로 변경되며, 그리고 새로운 쓰기 연결을 위한 구 조(320)가 생성된다. 이때, 파일 디스크립터(321)는 해당 값인 5를 갖고, 오프셋(322)은 해당 값인 0x00000000을 갖고, 소켓 디스크립터(323)는 해당 값인 6을 갖고, 그리고 쓰기 모드(324)는 W를 갖는다.Referring to FIG. 3, when a network connection for reading is established between the client 120 and the server 130, one connection related data 310 is stored in the connection management structure. In the connection related data 310, the network connection is operating in the read mode R 314 using the file descriptor value 3 311 and socket descriptor value 4 313, and the current offset is 0x00000100 in hexadecimal Respectively. At this time, when an additional 256 byte read request for the existing network connection and a write request for the new file are input at the same time, the network connection management structure is changed as shown in FIG. That is, the existing offset value 312A is changed to the new offset value 312B, the value is changed to 0x00000200 where 256 is added, and a structure 320 for a new write connection is created. At this time, the file descriptor 321 has the corresponding value 5, the offset 322 has the corresponding value 0x00000000, the socket descriptor 323 has the corresponding value 6, and the writing mode 324 has the W value.

클라이언트들(110, 120)이 주어진 파일 디스크립터에 대해서 입출력 동작을 수행하는 방법은 다음 2개의 과정들, 예를 들어 도 4의 네트워크 연결 자료구조의 탐색 및 생성 과정과 도 5 및 도 6의 해당 네트워크 연결을 이용한 입출력 동작 과정을 수행한다.The method by which the clients 110 and 120 perform an input / output operation for a given file descriptor includes the following two processes, for example, the search and generation process of the network connection data structure of FIG. 4, And performs the input / output operation process using the connection.

도 4는 본 발명의 일실시예에 따른 컨텍스트 상태 정보 기반 미리 읽기 시스템에서 클라이언트가 디스크립터에 해당하는 네트워크 연결을 선택하는 과정을 나타낸 흐름도이다. 이하에서, 상기 클라이언트는 도 1의 클라이언트(110) 및/또는 상기 클라이언트(120)이다. 4 is a flowchart illustrating a process of a client selecting a network connection corresponding to a descriptor in a context state information-based read system according to an exemplary embodiment of the present invention. Hereinafter, the client is the client 110 and / or the client 120 of FIG.

도 4를 참조하면, 상기 클라이언트는 네트워크 연결 컨텍스트(200)를 검색하여(S401), 주어진 디스크립터에 해당하는 네트워크 연결이 존재하는지를 확인한다(S402).Referring to FIG. 4, the client searches for a network connection context 200 (S401) and determines whether there is a network connection corresponding to a given descriptor (S402).

확인결과 네트워크 연결이 존재하면, 상기 클라이언트는 이전 요청(쓰기/읽기 요청)의 연결 컨텍스트의 오프셋과 현재 요청(쓰기/읽기 요청)의 연결 컨텍스트의 오프셋이 일치하는지를 판단한다(S403). 판단결과 오프셋이 일치하면, 이전 요청의 읽기 모드 및 쓰기 모드와 현재 요청의 읽기 모드 및 쓰기 모드 중 적어도 하나의 모드가 일치하는지 여부를 판단한다(S404). 판단결과 읽기 모드와 쓰기 모드 중 적어도 하나의 모드가 일치하면, 상기 클라이언트가 현재 요청과 일치하는 기존 의 네트워크 연결을 획득한다(S405). 따라서, 상기 클라이언트는 연속적인 작업의 경우에 네트워크의 추가적 해제 및 연결 없이 기존의 네트워크 연결을 지속적으로 이용할 수 있다.If the network connection exists, the client determines whether the offset of the connection context of the previous request (write / read request) matches the offset of the connection context of the current request (write / read request) (S403). If it is determined that the offsets match, it is determined whether or not the read mode and the write mode of the previous request match the mode of at least one of the read mode and the write mode of the current request (S404). If it is determined that the mode matches at least one of the read mode and the write mode, the client obtains an existing network connection matching the current request (S405). Thus, the client can continue to use the existing network connection without further release and connection of the network in case of continuous operation.

판단 과정(S403)에서의 판단결과 오프셋이 일치하지 않으면, 상기 클라이언트는 기존의 네트워크 연결을 해제하고(S406), 새로운 네트워크 연결을 생성하고 생성된 네트워크 연결을 초기화한다(S407). 이어서, 상기 클라이언트는 새로 생성된 네트워크 연결을 획득한다(S408).If it is determined in step S403 that the offsets do not match, the client cancels the existing network connection (S406), creates a new network connection, and initializes the created network connection (S407). Then, the client obtains a newly created network connection (S408).

확인 과정(S402)에서의 확인결과 네트워크 연결이 존재하지 않으면, 상기 클라이언트는 기존의 네트워크 연결의 해제없이 새로운 네트워크 연결의 생성 및 초기화 과정(S407)과 새로 생성된 네트워크 연결의 획득 과정(S408)을 순차적으로 진행한다.If it is determined in step S402 that there is no network connection, the client creates and initializes a new network connection (S407) and acquires a newly created network connection (S408) without releasing the existing network connection Proceed sequentially.

판단 과정(S404)에서의 판단결과 읽기 모드와 쓰기 모드가 일치하지 않으면, 상기 클라이언트는 기존의 네트워크 연결의 해제 과정(S406), 새로운 네트워크 연결의 생성 및 초기화 과정(S407) 및 새로 생성된 네트워크 연결의 획득 과정(S408)을 순차적으로 진행한다.As a result of the determination in step S404, if the read mode and the write mode do not coincide with each other, the client performs a process of releasing an existing network connection (S406), creating and initializing a new network connection (S407) (S408). ≪ / RTI >

도 5는 본 발명의 일실시예에 따른 컨텍스트 상태 정보 기반 미리 읽기 시스템에서 클라이언트가 주어진 네트워크 연결을 이용하여 데이터를 쓰는 과정을 나타낸 흐름도이다. 이하에서, 상기 클라이언트는 도 1의 클라이언트(110) 및/또는 클라이언트(120)이다.5 is a flowchart illustrating a process of a client writing data using a given network connection in a context-based information-based read-ahead system according to an embodiment of the present invention. Hereinafter, the client is the client 110 and / or the client 120 of FIG.

도 5를 참조하면, 상기 클라이언트는 주어진 네트워크 연결의 버퍼에 원하는 양의 데이터를 쓴다(S501). 상기 클라이언트는 데이터의 쓰기 동작이 정상적으로 완료되었는지를 판단하여(S502), 쓰기 동작이 정상적으로 완료되었으면, 상기 클라이언트는 데이터 쓰기를 종료한다.Referring to FIG. 5, the client writes a desired amount of data to a buffer of a given network connection (S501). The client determines whether or not the data write operation is normally completed (S502). If the write operation is normally completed, the client ends the data write operation.

판단결과 쓰기 동작이 정상적으로 완료되지 않았으면, 해당 네트워크 연결이 서버의 부하 및 상태 또는 네트워크의 상태에 의해서 끊어진 상태이므로, 상기 클라이언트는 네트워크 연결을 해제하고 네트워크 연결 컨텍스트를 수정한 후(S503), 상기 클라이언트는 네트워크 오류에 의해서 더 이상 쓰기 동작을 진행할 수 없음을 관리자에게 알린다(S504).If it is determined that the write operation is not normally completed, the client is disconnected from the network connection and the network connection context is modified (S503) because the network connection is broken due to the load and state of the server or the state of the network. The client informs the manager that it is no longer able to proceed with the write operation due to a network error (S504).

도 6은 본 발명의 일실시예에 따른 컨텍스트 상태 정보 기반 미리 읽기 시스템에서 클라이언트가 주어진 네트워크 연결을 이용하여 데이터를 읽는 과정을 나타낸 흐름도이다. 이하에서, 상기 클라이언트는 도 1의 클라이언트(110) 및/또는 클라이언트(120)이다.FIG. 6 is a flowchart illustrating a process of a client reading data using a given network connection in a context-based information read-ahead system according to an exemplary embodiment of the present invention. Hereinafter, the client is the client 110 and / or the client 120 of FIG.

도 6을 참조하면, 상기 클라이언트는 주어진 네트워크 연결의 버퍼로부터 원하는 양의 데이터를 읽는다(S601). 상기 클라이언트는 데이터의 읽기 동작이 정상적으로 완료되었는지를 판단하여(S602), 읽기 동작이 정상적으로 완료되었으면, 상기 클라이언트는 읽은 데이터를 획득한다(S603).Referring to FIG. 6, the client reads a desired amount of data from a buffer of a given network connection (S601). The client determines whether the data reading operation is normally completed (S602). If the reading operation is normally completed, the client obtains the read data (S603).

판단결과 데이터 읽기 동작이 정상적으로 완료되지 않았으면, 상기 클라이언트는 해당 네트워크 연결이 정상적으로 완료되었는지를 판단한다(S604). 판단결과 네트워크 연결이 정상적으로 종료되었으면, 상기 클라이언트는 해당 컨텍스트 파일의 끝(End of File)에 도달했음을 관리자에게 알리고(S605), 파일의 끝까지 읽은 데이터를 획득한다(S606).If it is determined that the data reading operation is not normally completed, the client determines whether the network connection is normally completed (S604). As a result of the determination, if the network connection is normally terminated, the client informs the administrator that the end of the corresponding context file has been reached (S605), and obtains the data read to the end of the file (S606).

판단 과정(S604)에서의 판단결과 해당 네트워크 연결이 정상적으로 완료되지 않았으면, 해당 네트워크 연결을 더 이상 이용할 수 없으므로, 상기 클라이언트는 네트워크 연결을 해제하고 네트워크 연결 컨텍스트를 수정한 후(S607), 네트워크 오류로 인해 더 이상 읽기 동작을 진행할 수 없음을 관리자에게 알린다(S608). 이 경우 상기 클라이언트는 네트워크 연결의 획득 동작부터 다시 수행한 후에 데이터 읽기를 진행할 수 있다.As a result of the determination in step S604, if the network connection is not normally completed, the client can not use the network connection any more. Therefore, the client cancels the network connection and modifies the network connection context (S607) It is notified that the read operation can not be proceeded any more (S608). In this case, the client can perform data reading after performing the network connection acquisition operation again.

서버(130)가 주어진 네트워크 연결에 대해서 입출력 동작을 수행하는 방법은 다음 2개의 과정들, 예를 들어 도 7의 입출력 쓰레드의 생성 과정과 도 8 및 도 9의 해당 쓰레드의 입출력 동작 과정을 수행한다.A method for the server 130 to perform an input / output operation for a given network connection performs the following two processes, for example, the input / output thread creation process of FIG. 7 and the input / output operation process of the corresponding thread of FIGS. 8 and 9 .

도 7은 본 발명의 일실시예에 따른 컨텍스트 상태 정보 기반 미리 읽기 시스템에서 서버가 입출력 쓰레드를 생성하는 과정을 나타낸 흐름도이다. 이하에서, 상기 클라이언트는 도 1의 클라이언트(110) 및/또는 클라이언트(120)이다.7 is a flowchart illustrating a process of generating an input / output thread in a server in a context state information based read ahead system according to an embodiment of the present invention. Hereinafter, the client is the client 110 and / or the client 120 of FIG.

도 7을 참조하여 아래 설명되는 바와 같이, 서버(130)는 상기 클라이언트로부터의 입출력 요청에 대해서, 하나의 컨텍스트에 대한 연속적인 요청마다 하나의 전담 입출력 쓰레드를 생성하여 처리한다.As described below with reference to FIG. 7, the server 130 creates and processes a dedicated dedicated input / output thread for each consecutive request for one context for an input / output request from the client.

도 7을 참조하면, 서버(130)는 상기 클라이언트로부터 입출력 요청을 기다린다(S701). 이때, 서버(130)는 상기 클라이언트로부터 입출력 요청이 수신되었는지를 판단하여(S702), 판단결과 입출력 요청이 없으면, 입출력 요청의 대기 과정(S701)으로 넘어간다.Referring to FIG. 7, the server 130 waits for an input / output request from the client (S701). At this time, the server 130 determines whether an input / output request has been received from the client (S702), and if there is no input / output request as a result of the determination, the server 130 proceeds to the waiting process of the input / output request (S701).

판단결과 입출력 요청이 있으면, 서버(130)는 해당 작업의 수행 쓰레드를 생성하는데 필요한 양의 리소스가 확보되어 있는지 여부를 검사한다(S703). 검사결과 리소스가 부족하면, 서버(130)는 리소스 부족으로 인해 데이터의 입출력을 수행할 수 없음을 상기 클라이언트에게 알린다(S704).As a result of the determination, if there is an input / output request, the server 130 checks whether a sufficient amount of resources for generating a task execution thread is secured (S703). If the resource is insufficient as a result of the check, the server 130 informs the client that it is impossible to perform data input / output due to lack of resources (S704).

검사결과 필요한 양의 리소스가 확보되어 있으면, 서버(130)는 상기 클라이언트로부터 데이터 쓰기 요청이 수신되었는지를 확인한다(S705).If it is determined that a necessary amount of resources is secured, the server 130 determines whether a data write request has been received from the client (S705).

확인결과 데이터 쓰기 요청이 수신되었으면, 서버(130)는 상기 클라이언트의 요청의 종류에 따라 데이터 쓰기 쓰레드를 생성한 후(S706), 생성된 데이터 쓰기 쓰레드에게 상기 클라이언트의 요청이 수신된 네트워크 연결의 정보를 전달하여 상기 데이터 쓰기 쓰레드가 데이터의 입출력을 수행하도록 한다.(S707).If the data write request is received, the server 130 generates a data write thread according to the type of the request of the client (S706), and transmits the generated data write thread the information of the network connection To allow the data writing thread to perform data input / output (S707).

확인결과 데이터 쓰기 요청이 수신되지 않았으면, 서버(130)는 상기 클라이언트의 요청의 종류에 따라 데이터 읽기 쓰레드를 생성한 후(S708), 생성된 데이터 읽기 쓰레드에게 상기 클라이언트의 요청이 수신된 네트워크 연결의 정보를 전달하여 상기 데이터 읽기 쓰레드가 데이터의 입출력을 수행하도록 한다.(S709).If the data write request is not received, the server 130 creates a data read thread according to the type of the request of the client (S708), and transmits the read data to the read data read thread through the network connection To allow the data reading thread to perform data input / output (S709).

도 8은 본 발명의 일실시예에 따른 컨텍스트 상태 정보 기반 미리 읽기 시스템에서 쓰기 쓰레드의 동작 과정을 나타낸 흐름도이다. 이하에서, 상기 클라이언트는 도 1의 클라이언트(110) 및/또는 클라이언트(120)이다.FIG. 8 is a flowchart illustrating an operation procedure of a write thread in a context-based information read-ahead system according to an embodiment of the present invention. Hereinafter, the client is the client 110 and / or the client 120 of FIG.

쓰기 쓰레드는 주어진 네트워크 연결이 끊어지기 전까지 네트워크 버퍼로 수신되는 데이터를 해당 파일에 순차적으로 기록한다. 이때, 기록의 시작위치는 처음 네트워크 연결 생성을 요청하는 시점에 상기 클라이언트에 의해서 전달된다. 이에 대한 상세한 과정은 다음과 같다.The write thread sequentially writes data received in the network buffer to the file until the given network connection is disconnected. At this time, the recording start position is transmitted by the client at the time of requesting the first network connection creation. The detailed procedure is as follows.

도 8을 참조하면, 쓰기 쓰레드는 주어진 네트워크 연결의 버퍼에 상기 클라이언트로부터 데이터가 수신되는 것을 기다린다(S801).Referring to FIG. 8, the write thread waits for data to be received from the client in a buffer of a given network connection (S801).

이때, 상기 쓰기 쓰레드는 새로운 데이터가 수신되었는지를 판단하여(S802), 판단결과 새로운 데이터가 수신되었으면, 상기 쓰기 쓰레드는 수신된 데이터를 쓰기 버퍼로 옮긴다(S802). 이렇게 버퍼에 데이터를 모으는 이유는 쓰기 동작의 효율을 극대화할 수 있는 양의 데이터를 저장소에 모아서 쓰기 위한 것이다.At this time, the writing thread determines whether new data has been received (S802). If the new thread is received as a result of the determination, the writing thread moves the received data to the writing buffer (S802). The reason for collecting data in the buffer is to collect the amount of data in the storage so as to maximize the efficiency of the write operation.

상기 쓰기 쓰레드는 쓰기 버퍼의 양이 소정의 기준 량을 초과하는 지, 즉 쓰기 버퍼의 효율적인 저장이 가능한 지를 판단하여(S804), 판단결과 소정의 기준 량을 초과하면, 상기 쓰기 쓰레드는 저장소에 쓰기 버퍼의 데이터를 기록하고(S805), 버퍼를 비우고 데이터 수신을 기다리는 과정(S801)으로 넘어간다. 판단결과 쓰기 버퍼의 양이 소정의 기준 량을 초과하지 않으면, 상기 쓰기 쓰레드는 데이터 수신을 기다리는 과정(S801)으로 넘어간다.The writing thread determines whether the amount of the writing buffer exceeds a predetermined reference amount, that is, whether or not the writing buffer can be efficiently stored (S804). If the writing thread exceeds a predetermined reference amount, the writing thread writes The data of the buffer is recorded (S805), and the process goes to the process of waiting for data reception (S801). If it is determined that the amount of the write buffer does not exceed the predetermined reference amount, the writing thread proceeds to step S801 for waiting for data reception.

판단 과정(S802)에서의 판단결과 새로운 데이터가 수신되지 않았으면, 상기 쓰기 쓰레드는 네트워크 연결이 완료되었는지를 판단하여(S806), 판단결과 네트워크 연결이 완료되지 않았으면, 상기 쓰기 쓰레드는 데이터 수신을 기다리는 과정(S801)으로 넘어간다.If it is determined in step S802 that no new data is received, the writing thread determines whether the network connection is completed (step S806). If the determination result in step S806 indicates that the network connection is not completed, The process proceeds to the waiting process (S801).

판단 과정(S806)에서의 판단결과 네트워크 연결이 완료되었으면, 즉 네트워크 상태 변화 메시지가 들어온 경우, 상기 쓰기 쓰레드는 쓰기 버퍼의 데이터를 저장소에 기록하고(S807), 동작을 종료한다.As a result of the determination in step S806, if the network connection is completed, that is, if a network status change message is received, the write thread writes data of the write buffer in the storage (S807) and ends the operation.

도 9는 본 발명의 일실시예에 따른 컨텍스트 상태 정보 기반 미리 읽기 시스템에서 읽기 쓰레드의 동작 과정을 나타낸 흐름도이다. 이하에서, 상기 클라이언트는 도 1의 클라이언트(110) 및/또는 클라이언트(120)이다.9 is a flowchart illustrating an operation procedure of a read thread in a context state information based read ahead system according to an embodiment of the present invention. Hereinafter, the client is the client 110 and / or the client 120 of FIG.

상기 읽기 쓰레드는 주어진 네트워크 연결이 끊어지기 전까지 저장소에 저장된 파일의 데이터를 읽어서 네트워크 버퍼로 전송한다. 이때, 읽기의 시작위치는 처음 네트워크 연결 생성을 요청하는 시점에 사용자에 의해서 전달된다. 이에 대한 상세한 과정은 다음과 같다.The read thread reads the data of the file stored in the storage and transfers it to the network buffer until the given network connection is disconnected. At this time, the start position of the read is transmitted by the user at the time of requesting the first network connection creation. The detailed procedure is as follows.

도 9를 참조하면, 상기 읽기 쓰레드는 파일로부터 일정량의 데이터를 순차적으로 읽어온다(S901). 이때, 상기 읽기 쓰레드는 읽기 동작이 성공하였는지를 파단하여(S902), 판단결과 읽기 동작이 실패하였으면, 상기 읽기 쓰레드는 상기 클라이언트에게 저장소에 에러가 발생하였음을 알리고(S903), 동작을 종료한다. 여기서, 저장소의 에러 발생이 가능한 경우로서 파일의 마지막에 도달한 경우 및 저장소의 이상으로 인해 데이터 접근이 더 이상 불가능한 경우 등이 존재한다.Referring to FIG. 9, the read thread sequentially reads a predetermined amount of data from a file (S901). At this time, the read thread breaks whether the read operation is successful (S902). If the read operation fails as a result of the determination, the read thread informs the client that an error has occurred in the storage (S903), and ends the operation. Here, there is a case where an error of the storage can occur, a case where the end of the file is reached, and data access is no longer possible due to an error in the storage.

판단결과 읽기 동작이 성공하였으면, 상기 읽기 쓰레드는 읽은 데이터를 네트워크 연결의 버퍼로 전송한다(S904).As a result of the determination, if the read operation is successful, the read thread transmits the read data to the buffer of the network connection (S904).

이때, 상기 쓰기 쓰레드는 읽은 데이터의 전송 동안에 네트워크 연결이 완료되었는 지를 판단하여(S905), 네트워크 연결이 완료되었으면, 상기 쓰기 쓰레드는 동작을 종료한다.At this time, the writing thread determines whether the network connection is completed during the transmission of the read data (S905), and if the network connection is completed, the writing thread ends the operation.

판단 과정(S905)에서의 판단결과 네트워크 연결이 완료되지 않았으면, 상기 쓰기 쓰레드는 아직 전송이 완료되지 못한 데이터들 때문에 버퍼가 가득찬 상태인 지를 판단하여(S906), 판단결과 버퍼가 가득찬 상태이면, 상기 쓰기 쓰레드는 버퍼에 공간이 생길 때까지 기다린 후(S907), 데이터를 읽는 과정(S901)으로 넘어간다. 판단결과 버퍼가 가득차지 않았으면, 데이터를 읽는 과정(S901)으로 넘어간다.As a result of the determination in step S905, if the network connection is not completed, the write thread determines whether the buffer is full due to the data that has not yet been transmitted (S906) , The writing thread waits until there is space in the buffer (S907), and then the process goes to the process of reading data (S901). If it is determined that the buffer is not full, the process goes to the step of reading data (S901).

전술한 바와 같이, 본 발명에 따른 실시예들은 상기 클라이언트들과 상기 서버 간의 통신시 네트워크 버퍼 상에 전송 데이터를 모아서 한번에 처리함으로써, 요청 메시지 응답에 걸리는 시간을 줄이고 서버 상에서 디스크 입출력 효율을 향상시킬 수 있다. 또한, 본 발명에 따른 실시예들은 기존의 네트워크 연결을 이용하여 하나의 컨텍스트에 대한 사용자의 연속적인 요청들을 서비스함으로써, 서버 측 네트워크 연결 관리 부하 및 파일 정보 관리 부하를 최소화할 수 있다.As described above, embodiments of the present invention collect transmission data on a network buffer at a time during communication between the clients and the server, thereby reducing the time taken to respond to a request message response and improving disk I / O efficiency on the server have. In addition, embodiments of the present invention can minimize the load on the server-side network connection management load and the file information management load by servicing consecutive requests of the user for one context using the existing network connection.

본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술사상의 범위에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.It is to be noted that the technical idea of the present invention has been specifically described in accordance with the above preferred embodiment, but the above-mentioned embodiments are intended to be illustrative and not restrictive. In addition, it will be understood by those of ordinary skill in the art that various embodiments are possible within the scope of the technical idea of the present invention.

도 1은 본 발명의 일실시예에 따른 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 시스템의 구성도.BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a configuration diagram of a context state information based read ahead system using a network buffer according to an embodiment of the present invention; FIG.

도 2는 도 1의 클라이언트와 서버 간의 네트워크 연결 컨텍스트의 구조를 나타낸 도면.2 illustrates a structure of a network connection context between a client and a server in FIG. 1;

도 3은 도 1의 클라이언트와 서버의 네트워크 연결의 관리 상태를 나타낸 예시도.FIG. 3 is an exemplary view showing a management state of a network connection between a client and a server in FIG. 1. FIG.

도 4는 본 발명의 일실시예에 따른 컨텍스트 상태 정보 기반 미리 읽기 시스템에서 클라이언트가 디스크립터에 해당하는 네트워크 연결을 선택하는 과정을 나타낸 흐름도.FIG. 4 is a flowchart illustrating a process of a client selecting a network connection corresponding to a descriptor in a context-based information-based read system according to an exemplary embodiment of the present invention; FIG.

도 5는 본 발명의 일실시예에 따른 컨텍스트 상태 정보 기반 미리 읽기 시스템에서 클라이언트가 주어진 네트워크 연결을 이용하여 데이터를 쓰는 과정을 나타낸 흐름도.FIG. 5 is a flowchart illustrating a process in which a client writes data using a given network connection in a context-based information read-ahead system according to an embodiment of the present invention;

도 6은 본 발명의 일실시예에 따른 컨텍스트 상태 정보 기반 미리 읽기 시스템에서 클라이언트가 주어진 네트워크 연결을 이용하여 데이터를 읽는 과정을 나타낸 흐름도.FIG. 6 is a flowchart illustrating a process of a client reading data using a given network connection in a context-based information read-ahead system according to an embodiment of the present invention; FIG.

도 7은 본 발명의 일실시예에 따른 컨텍스트 상태 정보 기반 미리 읽기 시스템에서 서버가 입출력 쓰레드를 생성하는 과정을 나타낸 흐름도.7 is a flowchart illustrating a process of generating an input / output thread in a server in a context state information based read ahead system according to an embodiment of the present invention.

도 8은 본 발명의 일실시예에 따른 컨텍스트 상태 정보 기반 미리 읽기 시스템에서 쓰기 쓰레드의 동작 과정을 나타낸 흐름도.FIG. 8 is a flowchart illustrating an operation process of a write thread in a context-based information read-ahead system according to an embodiment of the present invention; FIG.

도 9는 본 발명의 일실시예에 따른 컨텍스트 상태 정보 기반 미리 읽기 시스템에서 읽기 쓰레드의 동작 과정을 나타낸 흐름도.9 is a flowchart illustrating a process of a read thread in a context state information based read ahead system according to an embodiment of the present invention.

Claims (11)

네트워크 연결 컨텍스트 리스트를 검색하여 기존의 네트워크 연결을 획득하거나 새로운 네트워크 연결을 생성하여 획득하는 단계;Retrieving a network connection context list to acquire an existing network connection or create a new network connection; 상기 획득된 네트워크 연결을 통해 쓰기 요청을 서버에게 전송하고 상기 쓰기 요청과 관련된 파일의 데이터를 일정량까지 모아서 한번에 상기 서버에게 전송하는 단계; 및Transmitting a write request to a server through the obtained network connection, collecting a predetermined amount of data of a file related to the write request, and transmitting the collected data to the server at once; And 상기 획득된 네트워크 연결을 통해 읽기 요청을 상기 서버에게 전송하고 상기 읽기 요청과 관련된 파일의 연속적인 영역의 데이터를 상기 서버로부터 얻는 단계를 포함하되,Sending a read request to the server via the obtained network connection and obtaining data of a continuous area of the file associated with the read request from the server, 상기 네트워크 연결의 획득 단계는,Wherein the obtaining of the network connection comprises: 네트워크 연결 컨텍스트를 검색하여 주어진 디스크립터에 해당하는 네트워크 연결이 존재하는지를 확인하는 단계;Retrieving a network connection context and checking whether there is a network connection corresponding to the given descriptor; 확인결과 기존의 네트워크 연결이 존재하지 않으면, 새로운 네트워크 연결을 생성하여 초기화하고, 상기 생성된 네트워크 연결을 획득하는 단계;If it is determined that the existing network connection does not exist, creating and initializing a new network connection and acquiring the created network connection; 확인결과 상기 기존의 네트워크 연결이 존재하면, 이전 요청의 연결 컨텍스트의 오프셋과 현재 요청의 연결 컨텍스트의 오프셋이 일치하는지를 판단하는 단계;Determining whether the offset of the connection context of the previous request matches the offset of the connection context of the current request if the existing network connection exists; 판단결과 상기 오프셋이 일치하지 않으면, 상기 기존의 네트워크 연결을 해제하고, 새로운 네트워크 연결을 생성하여 초기화하고, 상기 생성된 네트워크 연결을 획득하는 단계;If the offset does not match, releasing the existing network connection, creating and initializing a new network connection, and acquiring the created network connection; 판단결과 상기 오프셋이 일치하면, 상기 이전 요청의 읽기 모드 및 쓰기 모드와 상기 현재 요청의 읽기 모드 및 쓰기 모드 중 적어도 하나의 모드가 일치하는지 여부를 판단하는 단계;Determining whether a mode of at least one of a read mode and a write mode of the previous request matches a mode of at least one of a read mode and a write mode of the current request if the offsets match; 판단결과 상기 읽기 모드와 상기 쓰기 모드 중 적어도 하나의 모드가 일치하면, 상기 현재 요청과 일치하는 기존의 네트워크 연결을 획득하는 단계; 및Acquiring an existing network connection that matches the current request if at least one of the reading mode and the writing mode is matched; And 판단결과 상기 읽기 모드와 상기 쓰기 모드가 일치하지 않으면, 상기 기존의 네트워크 연결을 해제하고, 새로운 네트워크 연결을 생성하여 초기화하고, 상기 생성된 네트워크 연결을 획득하는 단계If it is determined that the read mode and the write mode do not coincide with each other, the control unit releases the existing network connection, creates and initializes a new network connection, and acquires the created network connection 를 포함하는 것을 특징으로 하는 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 방법.Wherein the context information includes at least one of context information and context information. 삭제delete 제1항에 있어서, 상기 쓰기 요청과 관련된 파일의 데이터를 상기 서버에게 전송하는 단계는 클라이언트가 상기 획득된 네트워크 연결을 이용하여 데이터의 쓰기 단계를 포함하고, The method of claim 1, wherein the step of transmitting data of a file associated with the write request to the server includes a step of the client using the obtained network connection to write data, 상기 데이터의 쓰기 단계는,Wherein the writing of the data comprises: 상기 획득된 네트워크 연결의 버퍼에 원하는 양의 데이터를 쓰는 단계;Writing a desired amount of data to a buffer of the obtained network connection; 데이터의 쓰기 동작이 정상적으로 완료되지 않았으면, 네트워크 연결을 해제하고 네트워크 연결 컨텍스트를 수정한 후, 네트워크 오류에 의해서 더 이상 쓰기 동작을 진행할 수 없음을 관리자에게 알리는 단계; 및If the write operation of the data is not normally completed, notifying the administrator that the network connection is canceled, the network connection context is modified, and the write operation can no longer be proceeded due to a network error; And 상기 데이터의 쓰기 동작이 정상적으로 완료되면, 데이터 쓰기를 종료하는 단계If the data write operation is normally completed, terminating the data writing 를 포함하는 것을 특징으로 하는 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 방법.Wherein the context information includes at least one of context information and context information. 제1항에 있어서, 상기 읽기 요청과 관련된 파일의 연속적인 영역의 데이터를 상기 서버로부터 얻는 단계는 상기 획득된 네트워크 연결을 이용한 데이터의 읽기 단계를 포함하고,The method of claim 1, wherein the step of obtaining data of a continuous area of a file associated with the read request from the server includes a step of reading data using the obtained network connection, 상기 데이터의 읽기 단계는,Wherein the reading of the data comprises: 상기 획득된 네트워크 연결의 버퍼로부터 원하는 양의 데이터를 읽는 단계;Reading a desired amount of data from the buffer of the obtained network connection; 데이터의 읽기 동작이 정상적으로 완료되면, 읽은 데이터를 획득하는 단계;Acquiring read data if the data read operation is normally completed; 상기 데이터 읽기 동작이 정상적으로 완료되지 않았으면, 상기 획득된 네트워크 연결이 정상적으로 완료되었는지를 판단하는 단계;Determining whether the acquired network connection is normally completed if the data reading operation is not normally completed; 판단결과 상기 획득된 네트워크 연결이 정상적으로 종료되면, 해당 컨텍스트 파일의 끝에 도달했음을 관리자에게 알리고, 상기 파일의 끝까지 읽은 데이터를 획득하는 단계; 및When the acquired network connection is normally completed, notifying the administrator that the end of the corresponding context file has been reached, and acquiring data read to the end of the file; And 판단결과 상기 획득된 네트워크 연결이 정상적으로 완료되지 않았으면, 상기 획득된 네트워크 연결을 해제하고 네트워크 연결 컨텍스트를 수정한 후, 네트워크 오류로 인해 더 이상 읽기 동작을 진행할 수 없음을 상기 관리자에게 알리는 단계If it is determined that the acquired network connection is not completed normally, the network connection is released, the network connection context is modified, and then the management server notifies the manager that the network connection error can not be proceeded due to a network error 를 포함하는 것을 특징으로 하는 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 방법.Wherein the context information includes at least one of context information and context information. 클라이언트로부터의 쓰기/읽기 요청에 대하여 하나의 컨텍스트에 관한 연속적인 쓰기/읽기 요청마다 쓰기 쓰레드나 읽기 쓰레드를 생성하는 단계;Generating a write thread or a read thread for each write / read request for a context in response to a write / read request from a client; 상기 쓰기 쓰레드는 상기 획득된 네트워크 연결이 완료되기 전까지 제 1 네트워크 버퍼로 수신되는 데이터를 해당 파일에 순차적으로 기록하는 단계; 및The writing thread sequentially recording data received in the first network buffer in the file until the obtained network connection is completed; And 상기 읽기 쓰레드는 상기 획득된 네트워크 연결이 완료되기 전까지 저장된 파일의 데이터를 읽어서 제 2 네트워크 버퍼로 전송하는 단계를 포함하되,Reading the data of the stored file until the obtained network connection is completed, and transmitting the read data to the second network buffer, 상기 쓰기/읽기 쓰레드의 생성 단계는,Wherein the step of generating the write / 상기 클라이언트로부터 입출력 요청이 수신되면, 해당 작업의 수행 쓰레드를 생성하는데 필요한 양의 리소스가 확보되어 있는지 여부를 검사하는 단계;Checking whether an amount of resources required to create a task thread of the task is secured when an input / output request is received from the client; 검사결과 상기 리소스가 부족하면, 상기 리소스의 부족으로 인해 데이터의 입출력을 수행할 수 없음을 상기 클라이언트에게 알리는 단계;If the resource is insufficient, informing the client that data input / output can not be performed due to the lack of resources; 검사결과 필요한 양의 상기 리소스가 확보되어 있으면, 상기 클라이언트로부터 데이터 쓰기 요청이 수신되었는지를 확인하는 단계;Confirming whether a data write request has been received from the client if a necessary amount of the resource is secured as a result of the checking; 확인결과 상기 데이터 쓰기 요청이 수신되면, 상기 클라이언트의 요청의 종류에 따라 데이터 쓰기 쓰레드를 생성한 후, 상기 생성된 데이터 쓰기 쓰레드에게 상기 클라이언트의 요청이 수신된 네트워크 연결의 정보를 전달하는 단계; 및Generating a data writing thread according to a type of the request of the client when the data writing request is received, and transmitting information on the received network connection to the generated data writing thread; And 확인결과 상기 데이터 쓰기 요청이 수신되지 않았으면, 상기 클라이언트의 요청의 종류에 따라 데이터 읽기 쓰레드를 생성한 후, 상기 생성된 데이터 읽기 쓰레드에게 상기 클라이언트의 요청이 수신된 네트워크 연결의 정보를 전달하는 단계If it is determined that the data write request is not received, generating a data read thread according to the type of the request of the client, and transmitting the received network connection information to the generated data read thread, 를 포함하는 것을 특징으로 하는 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 방법.Wherein the context information includes at least one of context information and context information. 삭제delete 제5항에 있어서, 상기 데이터를 해당 파일에 기록하는 단계는,6. The method of claim 5, wherein the step of writing the data to a corresponding file comprises: 주어진 네트워크 연결의 버퍼에 상기 클라이언트로부터 데이터가 수신되었는지를 판단하는 단계;Determining whether data is received from the client in a buffer of a given network connection; 판단결과 상기 데이터가 수신되면, 상기 수신된 데이터를 상기 제 1 네트워크 버퍼로 옮기는 단계;When the data is received, moving the received data to the first network buffer; 상기 제 1 네트워크 버퍼의 양이 소정의 기준 량을 초과하면, 저장소에 쓰기 버퍼의 데이터를 기록하는 단계; 및Writing data in a write buffer to a storage if the amount of the first network buffer exceeds a predetermined reference amount; And 판단결과 상기 데이터가 수신되지 않은 경우, 네트워크 연결이 완료되면, 상기 제 1 네트워크 버퍼의 데이터를 저장소에 기록하는 단계If the data is not received as a result of the determination, writing the data of the first network buffer to the storage when the network connection is completed 를 포함하는 것을 특징으로 하는 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 방법.Wherein the context information includes at least one of context information and context information. 제5항에 있어서, 상기 파일의 데이터를 읽어서 상기 제 2 네트워크 버퍼로 전송하는 단계는,6. The method of claim 5, wherein reading the data of the file and transmitting the data to the second network buffer comprises: 상기 파일로부터 일정량의 데이터를 순차적으로 읽어오는 단계;Sequentially reading a predetermined amount of data from the file; 읽기 동작이 성공하였는지를 판단하는 단계;Determining whether the read operation is successful; 판단결과 상기 읽기 동작이 실패하면, 상기 클라이언트에게 저장소에 에러가 발생하였음을 알리는 단계;If the read operation fails, notifying the client that an error has occurred in the storage; 판단결과 상기 읽기 동작이 성공하면, 읽은 데이터를 상기 제 2 네트워크 버퍼로 전송하는 단계;Transmitting the read data to the second network buffer if the read operation is successful; 네트워크 연결이 완료되면, 상기 쓰기 쓰레드가 동작을 종료하는 단계; 및When the network connection is completed, ending the operation of the writing thread; And 상기 네트워크 연결이 완료되지 않은 상태에서 상기 제 2 네트워크 버퍼의 저장 공간이 부족하면, 상기 제 2 네트워크 버퍼에 저장 공간이 생길 때까지 기다리는 단계Waiting until a storage space is created in the second network buffer if the storage space of the second network buffer is insufficient in the state where the network connection is not completed 를 포함하는 것을 특징으로 하는 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 방법.Wherein the context information includes at least one of context information and context information. 네트워크 버퍼를 이용한 컨텍스트 상태 정보 기반 미리 읽기 시스템에 있어서,A system for reading a context based information using a network buffer, 쓰기 데이터를 저장하기 위한 제 1 네트워크 버퍼와, 읽기 데이터를 저장하기 위한 제 2 네트워크 버퍼 및 네트워크 연결 컨텍스트 리스트를 저장하기 위한 저장소자를 포함하는 클라이언트; 및A client including a first network buffer for storing write data, a second network buffer for storing read data, and a repository for storing a network connection context list; And 상기 네트워크 연결 컨텍스트 리스트에 따라 상기 클라인어트와 네트워크 연결되는 서버를 포함하고, And a server connected to the network according to the network connection context list, 상기 클라이언트는 상기 네트워크 연결 컨텍스트 리스트에 포함된 기존의 네트워크 연결을 통해 쓰기 요청을 서버에게 전송하고 상기 쓰기 요청과 관련된 파일의 데이터를 일정량까지 모아서 한번에 상기 서버에게 전송하며, 그리고 상기 기존의 네트워크 연결을 통해 읽기 요청을 상기 서버에게 전송하고 상기 읽기 요청과 관련된 파일의 연속적인 영역의 데이터를 상기 서버로부터 얻으며, The client transmits a write request to the server through an existing network connection included in the network connection context list, collects a predetermined amount of data of a file related to the write request, and transmits the collected data to the server at once, A read request is transmitted to the server and data of a continuous area of the file associated with the read request is obtained from the server, 상기 클라이언트는 일정량의 데이터를 상기 제 1 네트워크 버퍼에 모아서 한번에 전송하고,The client collects a certain amount of data in the first network buffer and transmits the data at a time, 상기 서버는 상기 읽기 요청받은 파일의 데이터를 읽어서 제 3 네트워크 버퍼에 채우고, 상기 제 3 네트워크 버퍼에 채워진 데이터는 상기 클라이언트의 제 2 네트워크 버퍼를 채우고, 상기 서버는 상기 클라이언트의 추가적인 읽기 요청에 관계없이 상기 제 3 네트워크 버퍼가 비워진 후 즉시 상기 파일의 다음 연속적인 데이터를 읽어서 상기 제 3 네트워크 버퍼를 채우고, 상기 클라이언트는 상기 제 2 네트워크 버퍼를 읽음으로써 상기 파일의 연속적인 영역의 데이터를 얻는 것을 특징으로 하는 컨텍스트 상태 정보 기반 미리 읽기 시스템의 클라이언트.The server reads the data of the read requested file to fill the third network buffer, the data filled in the third network buffer fills the second network buffer of the client, and the server notifies the client of the read request Characterized in that data of a continuous area of the file is obtained by reading the next consecutive data of the file immediately after the third network buffer is emptied to fill the third network buffer and the client reads the second network buffer A client of a context-aware information-based read-ahead system. 삭제delete 제 9 항에 있어서, 상기 네트워크 연결 컨텍스트 리스트는, 현재 활성화된 네트워크 연결의 개수만큼 상태정보들 구비하며,10. The method according to claim 9, wherein the network connection context list includes status information of the number of currently active network connections, 상기 상태정보들은, 컨텍스트에 연계된 파일 디스크립터, 컨텍스트에 연계된 해당 파일의 가장 최근 입출력 오프셋, 네트워크 연결 구분을 위한 소켓 디스크립터, 및 상기 클라이언트의 현재 동작이 파일의 읽기 또는 쓰기인지를 나타내는 입출력 모드 플래그를 구비하는 것을 특징으로 하는 컨텍스트 상태 정보 기반 미리 읽기 시스템의 클라이언트.The status information includes at least one of a file descriptor associated with the context, a latest input / output offset of the file associated with the context, a socket descriptor for network connection identification, and an input / output mode flag indicating whether the current operation of the client is reading or writing the file. Wherein the context-information-based client reads the context-based information.
KR1020080127870A 2008-12-16 2008-12-16 Context-aware prefetching system and method exploiting network buffer as prefetching buffer KR101138937B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080127870A KR101138937B1 (en) 2008-12-16 2008-12-16 Context-aware prefetching system and method exploiting network buffer as prefetching buffer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080127870A KR101138937B1 (en) 2008-12-16 2008-12-16 Context-aware prefetching system and method exploiting network buffer as prefetching buffer

Publications (2)

Publication Number Publication Date
KR20100069232A KR20100069232A (en) 2010-06-24
KR101138937B1 true KR101138937B1 (en) 2012-04-25

Family

ID=42367371

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080127870A KR101138937B1 (en) 2008-12-16 2008-12-16 Context-aware prefetching system and method exploiting network buffer as prefetching buffer

Country Status (1)

Country Link
KR (1) KR101138937B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101978256B1 (en) 2012-09-27 2019-05-14 삼성전자주식회사 Method of reading data on mobile system and mobile system using the same
KR101581776B1 (en) * 2015-05-14 2015-12-31 주식회사 티맥스 소프트 Method for distributing file descriptors in web-server, and web-server and computer-readable recording medium using the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990047340A (en) * 1997-12-03 1999-07-05 정선종 Session inquiry and information sharing system using identifier of session cache and global cache server and method
US7216203B1 (en) * 2003-09-23 2007-05-08 Sun Microsystems, Inc. Read ahead technique for network based file systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990047340A (en) * 1997-12-03 1999-07-05 정선종 Session inquiry and information sharing system using identifier of session cache and global cache server and method
US7216203B1 (en) * 2003-09-23 2007-05-08 Sun Microsystems, Inc. Read ahead technique for network based file systems

Also Published As

Publication number Publication date
KR20100069232A (en) 2010-06-24

Similar Documents

Publication Publication Date Title
CN106506587B (en) Docker mirror image downloading method based on distributed storage
US8055702B2 (en) System and method for caching network file systems
CN101350030B (en) Method and apparatus for caching data
CN104731516B (en) A kind of method, apparatus and distributed memory system of accessing file
US11687488B2 (en) Directory deletion method and apparatus, and storage server
US20230153035A1 (en) Global cache for container images in a clustered container host system
CN110401724B (en) File management method, file transfer protocol server and storage medium
AU2013210018B2 (en) Location independent files
JP2008519362A (en) Content address storage device for maintaining content address mapping
CN107148622B (en) Intelligent flash memory high-speed cache recorder
US20100115061A1 (en) Server system, server apparatus, program and method
CN114051056B (en) Data caching and reading method and data access system
CN108540510B (en) Cloud host creation method and device and cloud service system
JP4713257B2 (en) Data storage device and version management program
JP2004094935A (en) Object state transfer method, object state transfer device, object state transfer program, and storage medium therefor
US20110258424A1 (en) Distributive Cache Accessing Device and Method for Accelerating to Boot Remote Diskless Computers
KR101138937B1 (en) Context-aware prefetching system and method exploiting network buffer as prefetching buffer
US20110282923A1 (en) File management system, method, and recording medium of program
JP5163171B2 (en) Cache system and server
WO2023045492A1 (en) Data pre-fetching method, and computing node and storage system
US20140310458A1 (en) Data transferring method and apparatus and storage system
CN111488324B (en) Distributed network file system based on message middleware and working method thereof
CN104333803B (en) Method, equipment and the system of frame losing when preventing video editing
JP5884595B2 (en) Message communication method, message communication program, and computer
US20210026809A1 (en) Data caching method and node based on hyper-converged infrastructure

Legal Events

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

Payment date: 20160330

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180302

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190416

Year of fee payment: 8