KR102154653B1 - 토러스 네트워크 기반의 분산 파일 시스템을 위한 파일 접근 경로 설정 방법 및 이를 위한 장치 - Google Patents

토러스 네트워크 기반의 분산 파일 시스템을 위한 파일 접근 경로 설정 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102154653B1
KR102154653B1 KR1020170008514A KR20170008514A KR102154653B1 KR 102154653 B1 KR102154653 B1 KR 102154653B1 KR 1020170008514 A KR1020170008514 A KR 1020170008514A KR 20170008514 A KR20170008514 A KR 20170008514A KR 102154653 B1 KR102154653 B1 KR 102154653B1
Authority
KR
South Korea
Prior art keywords
data server
target data
path
file
access
Prior art date
Application number
KR1020170008514A
Other languages
English (en)
Other versions
KR20180085188A (ko
Inventor
김영창
김영균
김홍연
박정숙
박준영
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020170008514A priority Critical patent/KR102154653B1/ko
Priority to US15/684,267 priority patent/US20180205635A1/en
Publication of KR20180085188A publication Critical patent/KR20180085188A/ko
Application granted granted Critical
Publication of KR102154653B1 publication Critical patent/KR102154653B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • 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]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

토러스 네트워크 기반의 분산 파일 시스템을 위한 파일 접근 경로 설정 방법 및 이를 위한 장치가 개시된다. 본 발명의 일실시예에 따른 파일 접근 경로 설정 방법은 클라이언트가 접근하고자 하는 파일에 대한 레이아웃 정보를 획득하는 단계; 레이아웃 정보를 기반으로 복수개의 데이터 서버들 중 대상 데이터 서버를 검색하고, 파일 접근 위치 및 크기를 기반으로 파일 접근 패턴을 판단하는 단계; 및 파일 접근 패턴과 대상 데이터 서버로 접근하기 위한 최단 경로 상에 위치하는 네트워크 주소의 대역폭 사용률을 고려하여, 최단 경로 및 최단 경로보다 한 홉 많은 2차 경로 중 어느 하나를 접근 경로로 설정하는 단계를 포함한다.

Description

토러스 네트워크 기반의 분산 파일 시스템을 위한 파일 접근 경로 설정 방법 및 이를 위한 장치 {METHOD FOR SETTING FILE ACCESS PATH FOR DISTRIBUTE FILE SYSTEM BASED ON TORUS NETWORK AND APPARATUS USING THE SAME}
본 발명은 토러스 네트워크 기반의 분산 파일 시스템을 위한 파일 접근 경로 설정 방법에 관한 것으로, 특히 클라이언트가 접근하기를 원하는 파일을 저장하고 있는 데이터 서버로의 접근 경로는 다양하게 존재할 수 있기 때문에 접근 패턴과 대역폭에 따라 클라이언트에게 가장 적합한 접근 경로를 제공할 수 있는 기술에 관한 것이다.
엑사바이트(Exabyte) 규모의 스토리지를 제공하기 위해 토러스 네트워크 기반의 분산 파일 시스템이 제안되었다. 해당 분산 파일시스템에서는 데이터 서버들을 3차원 토러스 네트워크를 통해 연결하고, 제 1평면에 위치하는 데이터 서버와 클라이언트 사이의 연결에만 스위치를 사용하였다.
이 때, 클라이언트가 스위치와 직접 연결되지 않은 제2 평면 이상에 위치하는 데이터 서버들로 접근하기 위해, 클라이언트 및 모든 데이터 서버들은 각각 라우팅 기능을 수행함으로써 클라이언트 및 모든 데이터 서버들 사이에 접근할 수 있는 경로들이 설정된다. 즉, 클라이언트는 제2 평면 이상에 위치하는 데이터 서버들로 접근하기 위해 설정된 경로를 따라 파일 입출력을 수행하게 된다.
일반적으로 데이터 서버들 사이의 경로 설정은 최소 홉(hop) 수를 갖는 최단 경로 설정된다. 토러스 네트워크 기반의 분산 파일 시스템에서 클라이언트는 제1 평면의 데이터 서버들과 스위치를 통해 연결되어 있기 때문에, 클라이언트와 특정 데이터 서버 사이의 최단 경로는 하나만이 존재한다. 따라서, 다수의 클라이언트가 동일한 데이터 서버에 접근하고자 할 때, 다수의 클라이언트가 동일한 최단 경로를 통해 해당 데이터 서버에 접근하기 때문에 파일 입출력 최대 성능이 단일 경로의 최대 대역폭으로 한정 지어지는 단점이 존재한다.
미국 특허 제2016/0065449호 "Bandwidth-weighted equal cost multi-path routing"에서는 시작 노드와 목적지 노드 사이에 다수의 동일 비용 경로가 존재할 경우, 복수개의 경로를 활용하여 네트워크 트래픽을 전송할 수 있는 방법을 제시하였다. 그러나 시작 노드와 목적지 노드 사이에 존재하는 최단 경로 중 동일 비용, 즉, 동일 홉 수를 갖는 경로만을 대상으로 하기 때문에 상기한 단점을 극복하지 못한다.
이러한 한계점을 극복하기 위해 최단 경로뿐만 아니라 다른 경로를 활용하여 단일 데이터 서버의 파일 입출력 최대 성능을 향상시키기 위한 방법이 필요하다.
미국 공개 특허 US2016/0065449호, 2016년 3월 3일 공개(명칭: Bandwidth-Weighted Equal Cost Multi-Path Routing)
본 발명의 목적은 파일로 접근을 요청하는 케이스에 따라 최단 경로와 유사한 다른 경로를 제공함으로써 파일 입출력 성능이 단일 경로의 최대 대역폭에 한정 지어지는 단점을 해결하는 것이다.
또한, 본 발명의 목적은 트래픽의 지연시간에 크게 영향을 주지 않는 순차 접근 패턴일 경우 최단 경로 이외의 경로를 제공하여 최단 경로의 대역폭 사용률을 감소시키고 전체적인 파일 입출력 성능을 향상시키는 것이다.
또한, 본 발명의 목적은 최단 경로의 선택을 통해 가장 효과적인 데이터 송수신 성능을 제공함과 동시에 파일 시스템의 토폴로지 모니터링을 효율적으로 할 수 있는 아이디어를 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 분산 파일 시스템을 위한 파일 접근 경로 설정 장치를 이용한 파일 접근 경로 설정 방법은 클라이언트가, 접근하고자 하는 파일에 대한 레이아웃 정보를 메타데이터 서버로부터 획득하는 단계; 상기 클라이언트가, 관리 서버와의 통신 및 상기 레이아웃 정보를 기반으로 복수개의 데이터 서버들 중 상기 파일이 저장된 대상 데이터 서버를 검색하고, 파일 접근 위치 및 크기를 기반으로 파일 접근 패턴을 판단하는 단계; 및 상기 클라이언트가, 상기 파일 접근 패턴과 상기 대상 데이터 서버로 접근하기 위한 최단 경로 상에 위치하는 네트워크 주소의 대역폭 사용률을 고려하여, 상기 최단 경로 및 상기 최단 경로보다 한 홉 많은 2차 경로 중 어느 하나를 상기 대상 데이터 서버에 대한 접근 경로로 설정하는 단계를 포함한다.
이 때, 대상 데이터 서버에 대한 접근 경로를 설정하는 단계는 상기 파일 접근 패턴이 순차 접근일 경우, 상기 레이아웃 정보를 기반으로 상기 최단 경로 상에 위치하는 상기 대상 데이터 서버의 제1 네트워크 주소에 대한 대역폭 사용률을 체크하는 단계; 상기 제1 네트워크 주소의 대역폭 사용률이 기설정된 임계치 이상일 경우에 상기 2차 경로로 사용 가능한 상기 대상 데이터 서버의 복수개의 후보 네트워크 주소들 각각의 대역폭 사용률을 체크하는 단계; 및 상기 제1 네트워크 주소 및 상기 복수개의 후보 네트워크 주소들 중 대역폭 사용률이 가장 낮은 네트워크 주소가 어느 것인지에 따라 상기 접근 경로를 설정하는 단계를 포함할 수 있다.
이 때, 접근 경로를 설정하는 단계는 상기 제1 네트워크 주소의 대역폭 사용률이 가장 낮을 경우에 상기 최단 경로를 상기 접근 경로로 설정하고, 상기 복수개의 후보 네트워크 주소들 중 어느 하나의 후보 네트워크 주소의 대역폭 사용률이 가장 낮을 경우에 상기 어느 하나의 후보 네트워크 주소를 이용한 상기 2차 경로를 상기 접근 경로로 설정할 수 있다.
이 때, 대상 데이터 서버에 대한 접근 경로를 설정하는 단계는 상기 파일 접근 패턴이 랜덤 접근일 경우에 상기 최단 경로를 상기 대상 데이터 서버에 대한 접근 경로로 설정할 수 있다.
이 때, 레이아웃 정보는 상기 복수개의 데이터 서버들로 구성되는 토러스 네트워크 상에서의 상기 대상 데이터 서버의 위치 좌표에 해당하는 상기 대상 데이터 서버의 데이터 서버 ID를 포함하고, 상기 클라이언트는 상기 관리 서버로부터 상기 데이터 서버 ID를 기반으로 상기 토러스 네트워크의 구조에 따라 상기 대상 데이터 서버에 할당된 복수개의 네트워크 주소들 및 상기 복수개의 네트워크 주소들 각각에 대한 대역폭 사용률 중 적어도 하나에 해당하는 데이터 서버 정보를 기설정된 주기마다 획득할 수 있다.
이 때, 접근 경로를 설정하는 단계는 상기 복수개의 데이터 서버들 중 상기 2차 경로 상에 위치하되, 상기 토러스 네트워크의 구조에서 제1 평면에 해당하는 어느 하나의 데이터 서버를 중계 서버로 선택하는 단계; 및 상기 대상 데이터 서버의 위치 좌표를 기반으로 상기 중계 서버의 위치 좌표를 계산하여 획득하고, 상기 중계 서버의 위치 좌표를 포함하여 상기 접근 경로를 설정하는 단계를 포함할 수 있다.
이 때, 제1 네트워크 주소는 상기 대상 데이터 서버의 앞쪽 방향에 할당된 프론트(front) 네트워크 주소에 해당할 수 있다.
이 때, 파일 접근 경로 설정 방법은 상기 접근 경로의 설정이 완료되어 상기 클라이언트로부터 상기 파일에 대한 입출력 처리 요청이 발생하는 경우, 상기 대상 데이터 서버에서 상기 입출력 처리 요청에 포함된 목표 데이터 서버 정보가 상기 대상 데이터 서버와 일치하는지 여부를 판단하는 단계; 및 상기 목표 데이터 서버 정보가 상기 대상 데이터 서버와 일치하지 않는 경우, 상기 클라이언트에서 상기 클라이언트가 상기 목표 데이터 서버 정보와 일치하는 목표 데이터 서버로 연결될 수 있도록 상기 접근 경로를 재설정하는 단계를 더 포함할 수 있다.
이 때, 파일 접근 경로 설정 방법은 상기 목표 데이터 서버 정보가 상기 대상 데이터 서버와 일치하는 경우, 상기 입출력 처리 요청으로 발생한 대역폭 사용량에 따라 상기 접근 경로에 해당하는 네트워크 주소의 대역폭 사용률을 갱신하는 단계를 더 포함할 수 있다.
이 때, 파일 접근 패턴을 분석하는 단계는 기설정된 판단시간 동안 상기 파일에 대한 접근 요청에 포함된 오프셋(offset) 및 상기 파일의 크기 중 적어도 하나를 기반으로 상기 파일 접근 패턴을 분석할 수 있다.
또한, 본 발명의 일실시예에 따른 분산 파일 시스템을 위한 파일 접근 경로 설정 장치는, 토러스 네트워크의 구조로 상호 간에 연결되고, 각각 적어도 하나의 파일을 저장하는 복수개의 데이터 서버들; 상기 적어도 하나의 파일에 대한 레이아웃 정보를 저장하는 메타데이터 서버; 상기 복수개의 데이터 서버들에 대한 데이터 서버 정보를 저장하고, 상기 복수개의 데이터 서버들을 관리하는 관리 서버; 및 상기 레이아웃 정보를 기반으로 상기 복수개의 데이터 서버들 중 접근하고자 하는 대상 파일을 저장하고 있는 대상 데이터 서버를 검색하고, 상기 대상 파일에 대한 파일 접근 패턴과 상기 대상 데이터 서버로의 최단 경로 상에 위치하는 네트워크 주소의 대역폭 사용률을 고려하여 상기 최단 경로 및 상기 최단 경로보다 한 홉 많은 2차 경로 중 어느 하나를 상기 대상 데이터 서버에 대한 상기 접근 경로로 설정하는 클라이언트를 포함한다.
이 때, 클라이언트는 상기 파일 접근 패턴이 순차 접근일 경우, 상기 레이아웃 정보를 기반으로 상기 최단 경로 상에 위치하는 상기 대상 데이터 서버의 제1 네트워크 주소에 대한 대역폭 사용률을 체크하되, 상기 제1 네트워크 주소의 대역폭 사용률이 기설정된 임계치 이상일 경우에 상기 2차 경로로 사용 가능한 상기 대상 데이터 서버의 복수개의 후보 네트워크 주소들 각각의 대역폭 사용률을 체크하고, 상기 제1 네트워크 주소 및 상기 복수개의 후보 네트워크 주소들 중 대역폭 사용률이 가장 낮은 네트워크 주소가 어느 것인지에 따라 상기 접근 경로를 설정할 수 있다.
이 때, 클라이언트는 상기 제1 네트워크 주소의 대역폭 사용률이 가장 낮을 경우에 상기 최단 경로를 상기 접근 경로로 설정하고, 상기 복수개의 후보 네트워크 주소들 중 어느 하나의 후보 네트워크 주소의 대역폭 사용률이 가장 낮을 경우에 상기 어느 하나의 후보 네트워크 주소를 이용한 상기 2차 경로를 상기 접근 경로로 설정할 수 있다.
이 때, 클라이언트는 상기 파일 접근 패턴이 랜덤 접근일 경우에 상기 최단 경로를 상기 접근 경로로 설정할 수 있다.
이 때, 레이아웃 정보는 상기 토러스 네트워크 상에서의 상기 대상 데이터 서버의 위치 좌표에 해당하는 상기 대상 데이터 서버의 데이터 서버 ID를 포함하고, 상기 클라이언트는 상기 관리 서버로부터 상기 데이터 서버 ID를 기반으로 상기 토러스 네트워크의 구조에 따라 상기 대상 데이터 서버에 할당된 복수개의 네트워크 주소들 및 상기 복수개의 네트워크 주소들 각각에 대한 대역폭 사용률 중 적어도 하나에 해당하는 데이터 서버 정보를 기설정된 주기마다 획득할 수 있다.
이 때, 클라이언트는 상기 복수개의 데이터 서버들 중 상기 2차 경로 상에 위치하되, 상기 토러스 네트워크의 구조에서 제1 평면에 해당하는 어느 하나의 데이터 서버를 중계 서버로 선택하고, 상기 대상 데이터 서버의 위치 좌표를 기반으로 상기 중계 서버의 위치 좌표를 계산하여 획득하고, 상기 중계 서버의 위치 좌표를 포함하여 상기 접근 경로를 설정할 수 있다.
이 때, 제1 네트워크 주소는 상기 대상 데이터 서버의 앞쪽 방향에 할당된 프론트(front) 네트워크 주소에 해당할 수 있다.
이 때, 클라이언트는 상기 접근 경로의 설정이 완료되어 상기 클라이언트로부터 상기 대상 파일에 대한 입출력 처리 요청이 발생하는 경우, 상기 입출력 처리 요청에 포함된 목표 데이터 서버 정보가 상기 대상 데이터 서버와 일치하는지 여부에 따라 상기 접근 경로를 재설정할 수 있다.
이 때, 클라이언트는 상기 목표 데이터 서버 정보가 상기 대상 데이터 서버와 일치하지 않는 경우, 상기 클라이언트가 상기 목표 데이터 서버 정보와 일치하는 목표 데이터 서버로 연결될 수 있도록 상기 접근 경로를 재설정할 수 있다.
이 때, 클라이언트는 상기 목표 데이터 서버 정보가 상기 대상 데이터 서버와 일치하는 경우, 상기 입출력 처리 요청으로 발생한 대역폭 사용량에 따라 상기 접근 경로에 해당하는 네트워크 주소의 대역폭 사용률을 갱신할 수 있다.
본 발명에 따르면, 파일로 접근을 요청하는 케이스에 따라 최단 경로와 유사한 다른 경로를 제공함으로써 파일 입출력 성능이 단일 경로의 최대 대역폭에 한정 지어지는 단점을 해결할 수 있다.
또한, 본 발명은 트래픽의 지연시간에 크게 영향을 주지 않는 순차 접근 패턴일 경우 최단 경로 이외의 경로를 제공하여 최단 경로의 대역폭 사용률을 감소시키고 전체적인 파일 입출력 성능을 향상시킬 수 있다.
또한, 본 발명은 최단 경로의 선택을 통해 가장 효과적인 데이터 송수신 성능을 제공함과 동시에 파일 시스템의 토폴로지 모니터링을 효율적으로 할 수 있는 아이디어를 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 분산 파일 시스템을 위한 파일 접근 경로 설정 시스템을 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 분산 파일 시스템을 위한 파일 접근 경로 설정 방법을 나타낸 동작 흐름도이다.
도 3은 본 발명에 따른 데이터 서버 정보의 일 예를 나타낸 도면이다.
도 4는 본 발명에 따라 클라이언트의 접근 경로를 설정하는 일 실시예를 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 파일 접근 경로 설정 방법을 통해 파일의 입출력을 처리하는 과정을 상세하게 나타낸 동작 흐름도이다.
도 6은 본 발명의 일실시예에 따라 클라이언트의 파일 입출력 요청을 처리하는 방법을 나타낸 동작 흐름도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 분산 파일 시스템을 위한 파일 접근 경로 설정 시스템을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 분산 파일 시스템을 위한 파일 접근 경로 설정 시스템은 클라이언트(110), 스위치(120), 관리 서버(Management Server, MGS)(130), 메타데이터 서버(Metadata Server, MDS)(140) 및 복수개의 데이터 서버들(150)로 구성된다.
클라이언트(110)는 스위치(120)를 통해 분산 파일 시스템에 접근하여 파일 연산을 수행하는 주체일 수 있다.
관리 서버(130)는 복수개의 데이터 서버들(150)을 관리하는 서버일 수 있다.
이 때, 관리 서버(130)는 고가용성을 제공하기 위해서 다수의 관리 서버가 액티브 스탠바이(active-standby)의 구성으로 존재할 수도 있다.
이 때, 관리 서버(130)는 클라이언트(110)와의 빠른 접근을 위해서 도 1에 도시된 것과 같이 토러스 네트워크가 아닌 스위치(120)에 직접 연결되어 독립적으로 존재할 수 있다. 또한, 관리 서버(130)는 분산 파일 시스템의 구성에 따라 토러스 네트워크의 제1 평면에 존재할 수도 있다.
메타데이터 서버(140)는 의미 그대로 메타데이터를 저장하는 서버일 수 있다.
이 때, 메타데이터 서버(140)는 복수개의 서버들 구성될 수 있으며, 복수개의 서버들에 메타데이터를 분산하여 저장하고 관리할 수 있다.
이 때, 메타데이터 서버(140)도 관리 서버(130)와 유사하게 스위치(120)에 직접 연결되어 독립적으로 존재하거나 분산 파일 시스템의 구성에 따라 토러스 네트워크의 어느 평면에도 존재할 수 있다.
복수개의 데이터 서버들(150)은 실제 데이터 또는 파일 등을 저장하는 서버일 수 있다.
복수개의 데이터 서버들(150)은 상호간에 별도의 스위치 없이 토러스 네트워크로 연결될 수 있다.
이 때, 제1 평면에 위치하는 데이터 서버들은 스위치(120)에 직접 연결되어 클라이언트(110)와 연결될 수 있다.
이 때, 클라이언트(110), 관리 서버(130) 및 메타데이터 서버(140) 등은 스위치(120)에 연결되어 있지 않은 제2 평면 이상의 데이터 서버들과의 네트워크 연결을 위해서 라우팅 기능을 수행함으로써 상호간에 접근할 수 있는 경로들이 설정되어 있을 수 있다.
이와 같은 따른 분산 파일 시스템을 위한 파일 접근 경로 설정 시스템에서는 토러스 망 기반으로 연결된 메타데이터 서버(140)나 복수개의 데이터 서버들(150)의 위치 정보를 평면, 행, 열로 구성되는 좌표 값으로 표현할 수 있고, 이러한 좌표 값을 클라이언트(110)와의 정보 송수신에 사용할 수 있다. 또한, 이와 같은 방법을 활용함으로써 최단 시간으로 정보를 송수신할 수 있는 성능을 제공할 수 있으며, 파일 시스템의 토폴로지 모니터링을 효율적으로 수행할 수도 있다.
도 2는 본 발명의 일실시예에 따른 분산 파일 시스템을 위한 파일 접근 경로 설정 방법을 나타낸 동작 흐름도이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 분산 파일 시스템을 위한 파일 접근 경로 설정 방법은 클라이언트가, 접근하고자 하는 파일에 대한 레이아웃 정보를 메타데이터 서버로부터 획득한다(S210).
이 때, 레이아웃 정보는 복수개의 데이터 서버들로 구성되는 토러스 네트워크 상에서의 클라이언트가 접근하고자 하는 파일이 저장된 대상 데이터 서버의 위치 좌표에 해당하는 대상 데이터 서버의 데이터 서버 ID를 포함할 수 있다.
이 때, 클라이언트는 관리 서버로부터 데이터 서버 I를 기반으로 토러스 네트워크의 구조에 따라 대상 데이터 서버에 할당된 복수개의 네트워크 주소들 및 복수개의 네트워크 주소들 각각에 대한 대역폭 사용률 중 적어도 하나에 해당하는 데이터 서버 정보를 기설정된 주기마다 획득할 수 있다.
이 때, 클라이언트는 스위치를 통해 메타데이터 서버나 관리 서버와 연결되어 통신을 수행할 수 있다.
또한, 본 발명의 일실시예에 따른 분산 파일 시스템을 위한 파일 접근 경로 설정 방법은 클라이언트가, 관리 서버와의 통신 및 레이아웃 정보를 기반으로 복수개의 데이터 서버들 중 파일이 저장된 대상 데이터 서버를 검색하고, 파일 접근 위치 및 크기를 기반으로 파일에 대한 파일 접근 패턴을 판단한다(S220).
이 때, 기설정된 판단시간 동안 파일에 대한 접근 요청에 포함된 오프셋(offset) 및 파일의 크기 중 적어도 하나를 기반으로 파일 접근 패턴을 분석할 수 있다.
이 때, 순차 접근(Sequential Access)은 디스크에 있는 파일을 마치 테이프를 재생하는 것처럼 접근하는 방식으로, 저장되어 있는 레코드 순서대로 접근함을 의미할 수 있다. 이러한 순차 접근은 가장 일반적인 접근 방식에 해당할 수 있으며, 일반적으로 편집기나 컴파일러가 이러한 방식으로 파일로 접근할 수 있다.
또한, 랜덤 접근 또는 직접 접근(Direct Access)은 디스크가 임의의 파일의 어떠한 블록으로도 바로 접근하는 방식으로, 예를 들어, 디스크가 10번 파일 블록을 읽고, 이후 파일 블록 24를 읽고, 이후 파일 블록 40을 쓸 수 있는 방식이다. 따라서, 랜덤 접근을 위해 파일은 번호를 갖는 일련의 블록이나 레코드로 간주될 수 있다.
또한, 본 발명의 일실시예에 따른 분산 파일 시스템을 위한 파일 접근 경로 설정 방법은 클라이언트가, 파일 접근 패턴과 대상 데이터 서버로 접근하기 위한 최단 경로 상에 위치하는 네트워크 주소의 대역폭 사용률을 고려하여, 최단 경로 및 최단 경로보다 한 홉 많은 2차 경로 중 어느 하나를 대상 데이터 서버에 대한 접근 경로로 설정한다(S230).
이 때, 파일 접근 패턴이 순차 접근일 경우, 레이아웃 정보를 기반으로 최단 경로 상에 위치하는 대상 데이터 서버의 제1 네트워크 주소에 대한 대역폭 사용률을 체크할 수 있다.
이 때, 제1 네트워크 주소는 대상 데이터 서버의 앞쪽 방향에 할당된 프론트(front) 네트워크 주소(IPfront)에 해당할 수 있다.
이 때, 제1 네트워크 주소의 대역폭 사용률(BWfront)이 기설정된 임계치 이상일 경우에 2차 경로로 사용 가능한 대상 데이터 서버의 복수개의 후보 네트워크 주소들 각각의 대역폭 사용률을 체크할 수 있다.
이 때, 기설정된 임계치는 제1 네트워크 주소의 최대 대역폭에 대한 일정 비율 값에 해당할 수 있다. 예를 들어, 기설정된 임계치는 제1 네트워크 주소의 최대 대역폭 크기의 90% 에 상응하게 설정된다고 가정한다면, 제1 네트워크 주소의 대역폭 사용률이 90% 이상일 경우에 복수개의 후보 네트워크 주소들 각각의 대역폭 사용률을 체크할 수 있다.
이 때, 2차 경로로 사용 가능한 대상 데이터 서버의 복수개의 후보 네트워크 주소들이란, 최단 경로보다 한 홉 많은 모든 경로 상에 위치하는 대상 데이터 서버의 네트워크 주소를 의미할 수 있다. 예를 들어, 대상 데이터 서버에 할당된 네트워크 주소들 중 앞쪽 방향에 해당하는 IPfront가 최단 경로에 해당하므로, IPleft, IPright, IPup, IPdown 등이 복수개의 후보 네트워크 주소들에 해당할 수 있다.
이 때, 제1 네트워크 주소 및 복수개의 후보 네트워크 주소들 중 대역폭 사용률이 가장 낮은 네트워크 주소가 어느 것인지에 따라 접근 경로를 설정할 수 있다.
이 때, 제1 네트워크 주소의 대역폭 사용률이 가장 낮을 경우에 최단 경로를 접근 경로로 설정하고, 복수개의 후보 네트워크 주소들 중 어느 하나의 후보 네트워크 주소의 대역폭 사용률이 가장 낮을 경우에 어느 하나의 후보 네트워크 주소를 이용한 2차 경로를 접근 경로로 설정할 수 있다.
즉, 제1 네트워크 주소의 대역폭 사용률이 가장 낮을 경우에는 복수개의 후보 네트워크 주소들도 이미 대역폭 사용률이 높으므로, 클라이언트가 굳이 한 홉 더 많은 경로를 이용하지 않고 최단 경로를 이용하여 대상 데이터 서버에 접근하도록 할 수 있다.
이 때, 복수개의 데이터 서버들 중 2차 경로 상에 위치하되, 토러스 네트워크의 구조에서 제1 평면에 해당하는 어느 하나의 데이터 서버를 중계 서버로 선택할 수 있다.
이 때, 대상 데이터 서버의 위치 좌표를 기반으로 중계 서버의 위치 좌표를 계산하여 획득하고, 중계 서버의 위치 좌표를 포함하여 접근 경로를 설정할 수 있다. 이 때, 중계 서버의 위치 좌표를 계산하는 과정은 도 4에서 상세하게 설명하도록 한다.
이와 같이 중계 서버를 포함한 2차 경로가 접근 경로로 설정되면, 클라이언트는 스위치를 통해 중계 서버의 IPfront로 네트워크 연결을 설정하여 대상 데이터 서버로 접근할 수 있다.
또한, 파일 접근 패턴이 랜덤 접근일 경우에 최단 경로를 대상 데이터 서버에 대한 접근 경로로 설정할 수 있다.
즉, 파일 접근 패턴이 랜덤 접근일 경우에는 클라이언트가 대상 데이터 서버와의 최단 경로 상에 위치하는 대상 데이터 서버의 제1 네트워크 주소를 이용하여 대상 데이터 서버에 접근할 수 있다.
이 후, 클라이언트는 대상 데이터 서버로 읽기나 쓰기 요청을 전송하고, 요청에 의한 결과를 대상 데이터 서버로부터 수신할 수 있다.
또한, 도 2에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 분산 파일 시스템을 위한 파일 접근 경로 설정 방법은 접근 경로의 설정이 완료되어 클라이언트로부터 파일에 대한 입출력 처리 요청이 발생하는 경우, 대상 데이터 서버에서 입출력 처리 요청에 포함된 목표 데이터 서버 정보가 대상 데이터 서버와 일치하는지 여부를 판단할 수 있다.
이 때, 목표 데이터 서버 정보가 대상 데이터 서버와 일치하는 경우, 입출력 처리 요청으로 발생한 대역폭 사용량에 따라 접근 경로에 해당하는 네트워크 주소의 대역폭 사용률을 갱신할 수 있다.
또한, 도 2에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 분산 파일 시스템을 위한 파일 접근 경로 설정 방법은 목표 데이터 서버 정보가 대상 데이터 서버와 일치하지 않는 경우, 클라이언트가 목표 데이터 서버 정보와 일치하는 목표 데이터 서버로 연결될 수 있도록 접근 경로를 재설정할 수 있다.
또한, 도 2에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 분산 파일 시스템을 위한 파일 접근 경로 설정 방법은 상술한 바와 같은 파일 접근 경로 설정 과정에서 발생하는 다양한 정보를 저장할 수 있다.
이와 같은 분산 파일 시스템을 위한 파일 접근 경로 설정 방법을 이용함으로써, 파일로 접근을 요청하는 케이스에 따라 최단 경로와 유사한 다른 경로를 제공함으로써 파일 입출력 성능이 단일 경로의 최대 대역폭에 한정 지어지는 단점을 해결할 수 있다.
또한, 트래픽의 지연시간에 크게 영향을 주지 않는 순차 접근 패턴일 경우 최단 경로 이외의 경로를 제공하여 최단 경로의 대역폭 사용률을 감소시키고 전체적인 파일 입출력 성능을 향상시킬 수 있다.
또한, 최단 경로의 선택을 통해 가장 효과적인 데이터 송수신 성능을 제공함과 동시에 파일 시스템의 토폴로지 모니터링을 효율적으로 할 수 있는 아이디어를 제공할 수 있다.
도 3은 본 발명에 따른 데이터 서버 정보의 일 예를 나타낸 도면이다.
도 3을 참조하면, 본 발명에 따른 클라이언트는 마운트를 통해 관리 서버에 접근함으로써 사용하고자 하는 볼륨 정보나 데이터 서버 정보를 획득할 수 있다.
이 때, 데이터 서버 정보에는 데이터 서버 ID(310, 320), 데이터 서버의 네트워크 주소(311) 및 네트워크 주소의 대역폭 사용률(312)이 포함되어 있을 수 있다. 이 때, 데이터 서버 정보에는 상기한 데이터 서버 ID, 네트워크 주소 및 대역폭 사용률 이외에도 데이터 서버에 대한 다양한 정보가 존재할 수 있다.
데이터 서버 ID(310, 320)는 토러스 네트워크 상에서 데이터 서버들의 위치 정보인 위치 좌표(x, y, z)를 포함할 수 있다. 즉, 데이터 서버 ID(310, 320)를 이용하면 위치 좌표를 통해 해당 데이터 서버의 위치 정보를 계산할 수 있으며, 반대로 위치 정보를 이용하면 해당 데이터 서버의 데이터 서버 ID를 계산하여 획득할 수도 있다.
데이터 서버의 네트워크 주소(311)는 3차원 토러스 네트워크의 구조 상에서 데이터 서버에 연결된 6개의 네트워크 주소에 해당할 수 있다. 따라서, 데이터 서버 ID(310, 320)마다 각각 앞, 뒤, 좌, 우, 위, 아래의 방향에 연결되는 링크에 대한 네트워크 주소를 나타낼 수 있다.
네트워크 주소의 대역폭 사용률(312)은 데이터 서버의 네트워크 주소마다의 대역폭 사용률을 나타낼 수 있다. 이 때, 네트워크 주소의 대역폭 사용률(312)은 정해진 주기 동안 데이터 서버의 각 네트워크 주소로 전송되거나 수신된 데이터의 크기, 즉 초당 파일 입출력 성능을 의미할 수 있다.
이 때, 도 3에 도시된 것과 같은 데이터 서버 정보는 토러스 네트워크에 포함된 모든 데이터 서버들에 대해서 존재할 수 있으며, 해당 정보는 관리 서버에 저장되어 관리될 수 있다.
따라서, 클라이언트는 메타데이터 서버를 통해 접근하고자 하는 파일을 저장하고 있는 데이터 서버에 대한 데이터 서버 ID를 획득하고, 획득한 데이터 서버 ID를 기반으로 관리 서버로부터 데이터 서버 정보를 획득할 수 있다.
도 4는 본 발명에 따라 클라이언트의 접근 경로를 설정하는 일 실시예를 나타낸 도면이다.
도 4를 참조하면, 본 발명에 따라 클라이언트의 접근 경로를 설정하는 과정은 N * M 개의 데이터 서버로 구성된 2차원 토러스 네트워크를 예로 설명하도록 한다.
먼저 도 4에 도시된 클라이언트(410)가 파일 입출력을 위해 접근하고자 하는 데이터 서버의 좌표가 (x, y)라고 가정할 수 있다. 이 때, 대상 데이터 서버(430)는 Serverx,y에 해당할 수 있고, 대상 데이터 서버(430)까지의 최단 경로는 경로(452)에 상응할 수 있다.
이 때, 본 발명에 따른 접근 경로 설정 방법을 이용하지 않는 경우, 대상 데이터 서버(430)로 접근하기 위한 다수의 클라이언트들은 경로(452)만을 이용하여 파일 입출력을 수행하고자 하기 때문에, 경로(452)의 최대 대역폭이 최대 입출력 성능의 상한이 될 수 있다.
그러나, 본 발명에 따른 접근 경로 설정 방법을 이용하면, 경로(452)에 해당하는 대상 데이터 서버(430)의 네트워크 주소에 대한 대역폭 사용률(BWfront)를 체크하고, 체크한 대역폭 사용률이 기설정된 임계치(BWthreshold) 이상이 될 경우에는 최단 경로인 경로(452)보다 한 홉이 많은 경로(451)와 경로(453)를 이용하도록 2차 경로를 제공할 수 있다.
즉, 최단 경로에 해당하는 네트워크 주소의 대역폭 사용률이 이미 최대 대역폭의 일정 비율 이상으로 혼잡한 상황에서, 지속적으로 최단 경로로 파일 입출력을 수행하도록 경로를 제공하는 것보다는 비교적 여유롭고 홉 수가 많이 추가되지 않는 2차 경로를 제공하는 것이 효율적일 수 있다.
이 때, 2차 경로로 제공될 가능성이 있는 경로(451)와 경로(453) 각각의 대역폭 사용률인 BWup과 BWdown을 체크하고, 보다 적은 대역폭 사용률을 갖는 경로를 2차 경로로 선택하여 클라이언트(410)의 접근 경로로 제공할 수 있다.
또한, 2차 경로가 선택됨에 따라, 대상 데이터 서버(430)의 위치 좌표를 기반으로 스위치(420)와 연결되는 복수개의 데이터 서버들 중 어느 하나의 데이터 서버를 중계 서버로 선택할 수 있다.
예를 들어, 경로(451)를 2차 경로로 선택하는 경우, 2차 경로 상에 위치하되, 스위치(420)와 연결되어 있는 Server0,y +1이 중계 서버로 선택될 수 있으며, 대상 데이터 서버(430)의 위치 좌표인 (x, y)를 기반으로 중계 서버의 위치 좌표(0, y+1)을 계산하여 Server0,y+1의 데이터 서버 ID를 획득할 수 있다.
이와 같은 방법으로 접근 경로를 제공함으로써, 대상 데이터 서버(430)의 입출력 최대 성능을, 최단 경로에 해당하는 경로(452)의 최대 대역폭의 한정시키지 않고, 3 개의 경로(451, 452, 453)에 대한 최대 대역폭의 합에 상응하게 향상시킬 수 있다.
이 때, 도 4에서는 2차원 네트워크 구조임에 따라 경로(451)와 경로(453)에 의한 2차 경로의 가능성을 제시했지만, 3차원 토러스 네트워크를 기반으로 한 경우에 대상 데이터 서버의 뒷면을 제외한 나머지 오른쪽, 왼쪽, 위, 아래의 방향에 할당된 네트워크 주소를 이용하여 2차 경로를 제공할 수도 있다.
도 5는 본 발명의 일실시예에 따른 파일 접근 경로 설정 방법을 통해 파일의 입출력을 처리하는 과정을 상세하게 나타낸 동작 흐름도이다.
도 5를 참조하면, 본 발명의 일실시예에 따른 파일 접근 경로 설정 방법을 통해 파일의 입출력을 처리하는 과정은 먼저 메타데이터 서버로부터 파일의 레이아웃 정보를 획득한다(S502).
이 후, 파일의 레이아웃 정보에서 대상 데이터 서버의 정보를 획득하고(S504), 이를 기반으로 파일에 대한 파일 접근 패턴을 분석하여 순차 접근인지 여부를 판단한다(S506).
단계(S506)의 판단결과 순차 접근이 아니면, 랜덤 접근으로 판단하고 대상 데이터 서버의 제1 네트워크 주소인 IPfront를 통해 클라이언트를 연결한다(S522).
이 후, 클라이언트가 대상 데이터 서버로 파일에 대한 읽기 및 쓰기 요청을 하면(S524), 대상 데이터 서버가 요청을 처리하여 클라이언트가 읽기 및 쓰기 요청에 대한 결과를 획득한다(S526).
이 후, 대상 데이터 서버로 연결된 네트워크 주소의 대역폭 사용률을 갱신하고(S528), 파일 읽기 및 쓰기에 대한 결과를 반환한다(S530).
이 때, 최단 경로로 연결되었으므로, IPfront에 대역폭 사용률에 해당하는 BWfront를 갱신할 수 있다.
또한, 단계(S506)의 판단결과 순차 접근이면, 최단 경로상에 해당하는 제1 네트워크 주소의 대역폭 사용량(BWfront)이 기설정된 임계치(BWthreshold) 미만인지 여부를 판단한다(S508).
단계(S508)의 판단결과 BWfront가 BWthreshold 미만이면, 단계 S522에 상응하게 데이터 서버의 제1 네트워크 주소인 IPfront를 통해 클라이언트를 연결하고, 이후 단계 S524부터 단계 S530에 상응하게 동작할 수 있다.
또한, 단계(S508)의 판단결과 판단결과 BWfront가 BWthreshold 미만이 아니면, 제1 네트워크 주소의 대역폭 사용률을 나타내는 BWfront와 2차 경로로 사용 가능한 대상 데이터 서버의 네트워크 주소인 IPright, IPleft, IPup, IPdown에 각각 해당하는 대역폭 사용률을 나타내는 BWright, BWleft, BWup, BWdown 중에서 최소 값에 해당하는 Index를 선택한다(S510).
이 후, IPfront, IPright, IPleft, IPup, IPdown 중 Index에 해당하는 어느 하나의 네트워크 주소를 선택하여 획득하고(S512), 선택된 어느 하나의 네트워크 주소가 제1 네트워크 주소인 IPfront에 해당하는지 여부를 판단한다(S514).
단계(S514)의 판단결과 선택된 어느 하나의 네트워크 주소가 IPfront이면, 단계 S522에 상응하게 데이터 서버의 제1 네트워크 주소인 IPfront를 통해 클라이언트를 연결하고, 이후 단계 S524부터 단계 S530에 상응하게 동작할 수 있다.
또한, 단계(514)의 판단결과 선택된 어느 하나의 네트워크 주소가 IPfront가 아니면, 선택된 어느 하나의 네트워크 주소로 접근하기 위한 중계 서버를 선택하여 중계 서버의 위치 좌표를 계산한다(S516).
이 후, 중계 서버의 위치 좌표를 기반으로 중계 서버의 데이터 서버 ID를 획득하고, 스위치를 기반으로 클라이언트가 중계 서버의 IPfront로 연결하여(S518) 대상 데이터 서버의 Index에 해당하는 네트워크 주소로 연결한다(S520).
이 후, 단계 S524에 상응하게 클라이언트가 대상 데이터 서버로 파일에 대한 읽기 및 쓰기 요청을 하면(S524), 대상 데이터 서버가 요청을 처리하여 클라이언트가 읽기 및 쓰기 요청에 대한 결과를 획득한다(S526).
이 후, 대상 데이터 서버로 연결된 네트워크 주소의 대역폭 사용률을 갱신하고(S528), 파일 읽기 및 쓰기에 대한 결과를 반환한다(S530).
그러나, 이때에는 클라이언트가 최단 경로가 아닌 Index에 해당하는 네트워크 주소에 의한 2차 경로로 연결되었으므로, IPright, IPleft, IPup, IPdown 중 Index에 해당하는 IP의 대역폭 사용률을 갱신할 수 있다. 즉, BWright, BWleft, BWup, BWdown 중 어느 하나를 갱신할 수 있다.
도 6은 본 발명의 일실시예에 따라 클라이언트의 파일 입출력 요청을 처리하는 방법을 나타낸 동작 흐름도이다.
도 6을 참조하면, 본 발명의 일실시예에 따라 클라이언트의 파일 입출력 요청을 처리하는 방법은 대상 데이터 서버가 클라이언트로부터 파일에 대한 입출력 처리 요청을 수신하면(S610), 입출력 처리 요청된 정보에서 클라이언트가 입출력 처리를 요청한 목표 데이터 서버 정보를 획득한다(S620).
이 후, 현재 클라이언트가 연결된 대상 데이터 서버는 목표 데이터 서버가 자신과 일치하는지 여부를 판단한다(S625).
단계(S625)의 판단결과 대상 데이터 서버가 목표 데이터 서버와 일치하면, 대상 데이터 서버가 파일 읽기 및 쓰기에 해당하는 입출력 처리 요청을 처리한다(S630).
이 후, 대상 데이터 서버가 클라이언트에게 처리 결과를 제공한 뒤(S670), 클라이언트가 접근한 경로에 해당하는 대역폭 사용률을 갱신한다(S680).
또한, 단계(S625)의 판단결과 대상 데이터 서버가 목표 데이터 서버와 일치하지 않으면, 클라이언트가 목표 데이터 서버에 해당하는 데이터 서버로 연결되도록 접근 경로를 재설정한다(S640).
이 후, 목표 데이터 서버에 해당하는 데이터 서버가 클라이언트의 입출력 처리 요청을 수신하고(S650), 파일의 읽기 및 쓰기에 해당하는 입출력 처리 요청을 처리한다(S660).
이 후, 목표 데이터 서버에 해당하는 데이터 서버가 클라이언트에게 처리 결과를 제공한 뒤(S670), 클라이언트가 접근한 경로에 해당하는 대역폭 사용률을 갱신한다(S680).
이상에서와 같이 본 발명에 따른 토러스 네트워크 기반의 분산 파일 시스템을 위한 파일 접근 경로 설정 방법 및 이를 위한 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
110, 410: 클라이언트 120, 420: 스위치
130: 관리 서버 140: 메타데이터 서버
150: 복수개의 데이터 서버들 310, 320: 데이터 서버 ID
311: 데이터 서버의 네트워크 주소 312: 네트워크 주소의 대역폭 사용률
430: 대상 데이터 서버
441, 442, 443: 제1 평면에 위치하는 데이터 서버
451, 452, 453: 경로

Claims (20)

  1. 분산 파일 시스템을 위한 파일 접근 경로 설정 장치를 이용한 파일 접근 경로 설정 방법에 있어서,
    클라이언트가, 접근하고자 하는 파일에 대한 레이아웃 정보를 메타데이터 서버로부터 획득하는 단계;
    상기 클라이언트가, 관리 서버와의 통신 및 상기 레이아웃 정보를 기반으로 복수개의 데이터 서버들 중 상기 파일이 저장된 대상 데이터 서버를 검색하고, 파일 접근 위치 및 크기를 기반으로 파일 접근 패턴을 판단하는 단계; 및
    상기 클라이언트가, 상기 파일 접근 패턴과 상기 대상 데이터 서버로 접근하기 위한 최단 경로 상에 위치하는 네트워크 주소의 대역폭 사용률을 고려하여, 상기 최단 경로 및 상기 최단 경로보다 한 홉 많은 2차 경로 중 어느 하나를 상기 대상 데이터 서버에 대한 접근 경로로 설정하는 단계
    를 포함하고,
    상기 파일 접근 패턴은
    디스크에 저장되어 있는 레코드 순서대로 파일에 접근하는 순차 접근 및 디스크가 임의의 파일의 어떠한 블록으로도 바로 접근 가능한 랜덤 접근 중 어느 하나에 상응하고,
    상기 대상 데이터 서버에 대한 접근 경로로 설정하는 단계는
    상기 파일 접근 패턴이 상기 랜덤 접근일 경우에 상기 2차 경로를 고려하지 않고, 상기 최단 경로를 상기 대상 데이터 서버에 대한 접근 경로로 설정하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 방법.
  2. 청구항 1에 있어서,
    상기 대상 데이터 서버에 대한 접근 경로를 설정하는 단계는
    상기 파일 접근 패턴이 순차 접근일 경우, 상기 레이아웃 정보를 기반으로 상기 최단 경로 상에 위치하는 상기 대상 데이터 서버의 제1 네트워크 주소에 대한 대역폭 사용률을 체크하는 단계;
    상기 제1 네트워크 주소의 대역폭 사용률이 기설정된 임계치 이상일 경우에 상기 2차 경로로 사용 가능한 상기 대상 데이터 서버의 복수개의 후보 네트워크 주소들 각각의 대역폭 사용률을 체크하는 단계; 및
    상기 제1 네트워크 주소 및 상기 복수개의 후보 네트워크 주소들 중 대역폭 사용률이 가장 낮은 네트워크 주소가 어느 것인지에 따라 상기 접근 경로를 설정하는 단계를 포함하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 방법.
  3. 청구항 2에 있어서,
    상기 접근 경로를 설정하는 단계는
    상기 제1 네트워크 주소의 대역폭 사용률이 가장 낮을 경우에 상기 최단 경로를 상기 접근 경로로 설정하고, 상기 복수개의 후보 네트워크 주소들 중 어느 하나의 후보 네트워크 주소의 대역폭 사용률이 가장 낮을 경우에 상기 어느 하나의 후보 네트워크 주소를 이용한 상기 2차 경로를 상기 접근 경로로 설정하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 방법.
  4. 삭제
  5. 청구항 3에 있어서,
    상기 레이아웃 정보는
    상기 복수개의 데이터 서버들로 구성되는 토러스 네트워크 상에서의 상기 대상 데이터 서버의 위치 좌표에 해당하는 상기 대상 데이터 서버의 데이터 서버 ID를 포함하고,
    상기 클라이언트는
    상기 관리 서버로부터 상기 데이터 서버 ID를 기반으로 상기 토러스 네트워크의 구조에 따라 상기 대상 데이터 서버에 할당된 복수개의 네트워크 주소들 및 상기 복수개의 네트워크 주소들 각각에 대한 대역폭 사용률 중 적어도 하나에 해당하는 데이터 서버 정보를 기설정된 주기마다 획득하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 방법.
  6. 청구항 5에 있어서,
    상기 접근 경로를 설정하는 단계는
    상기 복수개의 데이터 서버들 중 상기 2차 경로 상에 위치하되, 상기 토러스 네트워크의 구조에서 제1 평면에 해당하는 어느 하나의 데이터 서버를 중계 서버로 선택하는 단계; 및
    상기 대상 데이터 서버의 위치 좌표를 기반으로 상기 중계 서버의 위치 좌표를 계산하여 획득하고, 상기 중계 서버의 위치 좌표를 포함하여 상기 접근 경로를 설정하는 단계를 포함하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 방법.
  7. 청구항 2에 있어서,
    상기 제1 네트워크 주소는
    상기 대상 데이터 서버의 앞쪽 방향에 할당된 프론트(front) 네트워크 주소에 해당하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 방법.
  8. 청구항 2에 있어서,
    상기 파일 접근 경로 설정 방법은
    상기 접근 경로의 설정이 완료되어 상기 클라이언트로부터 상기 파일에 대한 입출력 처리 요청이 발생하는 경우, 상기 대상 데이터 서버에서 상기 입출력 처리 요청에 포함된 목표 데이터 서버 정보가 상기 대상 데이터 서버와 일치하는지 여부를 판단하는 단계; 및
    상기 목표 데이터 서버 정보가 상기 대상 데이터 서버와 일치하지 않는 경우, 상기 클라이언트가 상기 목표 데이터 서버 정보와 일치하는 목표 데이터 서버로 연결될 수 있도록 상기 접근 경로를 재설정하는 단계를 더 포함하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 방법.
  9. 청구항 8에 있어서,
    상기 파일 접근 경로 설정 방법은
    상기 목표 데이터 서버 정보가 상기 대상 데이터 서버와 일치하는 경우, 상기 입출력 처리 요청으로 발생한 대역폭 사용량에 따라 상기 접근 경로에 해당하는 네트워크 주소의 대역폭 사용률을 갱신하는 단계를 더 포함하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 방법.
  10. 청구항 1에 있어서,
    상기 파일 접근 패턴을 분석하는 단계는
    기설정된 판단시간 동안 상기 파일에 대한 접근 요청에 포함된 오프셋(offset) 및 상기 파일의 크기 중 적어도 하나를 기반으로 상기 파일 접근 패턴을 분석하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 방법.
  11. 토러스 네트워크의 구조로 상호 간에 연결되고, 각각 적어도 하나의 파일을 저장하는 복수개의 데이터 서버들;
    상기 적어도 하나의 파일에 대한 레이아웃 정보를 저장하는 메타데이터 서버;
    상기 복수개의 데이터 서버들에 대한 데이터 서버 정보를 저장하고, 상기 복수개의 데이터 서버들을 관리하는 관리 서버; 및
    상기 레이아웃 정보를 기반으로 상기 복수개의 데이터 서버들 중 접근하고자 하는 대상 파일을 저장하고 있는 대상 데이터 서버를 검색하고, 상기 대상 파일에 대한 파일 접근 패턴과 상기 대상 데이터 서버로의 최단 경로 상에 위치하는 네트워크 주소의 대역폭 사용률을 고려하여 상기 최단 경로 및 상기 최단 경로보다 한 홉 많은 2차 경로 중 어느 하나를 상기 대상 데이터 서버에 대한 접근 경로로 설정하는 클라이언트
    를 포함하고,
    디스크에 저장되어 있는 레코드 순서대로 파일에 접근하는 순차 접근 및 디스크가 임의의 파일의 어떠한 블록으로도 바로 접근 가능한 랜덤 접근 중 어느 하나에 상응하고,
    상기 클라이언트는
    상기 파일 접근 패턴이 상기 랜덤 접근일 경우에 상기 2차 경로를 고려하지 않고, 상기 최단 경로를 상기 대상 데이터 서버에 대한 접근 경로로 설정하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 장치.
  12. 청구항 11에 있어서,
    상기 클라이언트는
    상기 파일 접근 패턴이 순차 접근일 경우, 상기 레이아웃 정보를 기반으로 상기 최단 경로 상에 위치하는 상기 대상 데이터 서버의 제1 네트워크 주소에 대한 대역폭 사용률을 체크하되, 상기 제1 네트워크 주소의 대역폭 사용률이 기설정된 임계치 이상일 경우에 상기 2차 경로로 사용 가능한 상기 대상 데이터 서버의 복수개의 후보 네트워크 주소들 각각의 대역폭 사용률을 체크하고, 상기 제1 네트워크 주소 및 상기 복수개의 후보 네트워크 주소들 중 대역폭 사용률이 가장 낮은 네트워크 주소가 어느 것인지에 따라 상기 접근 경로를 설정하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 장치.
  13. 청구항 12에 있어서,
    상기 클라이언트는
    상기 제1 네트워크 주소의 대역폭 사용률이 가장 낮을 경우에 상기 최단 경로를 상기 접근 경로로 설정하고, 상기 복수개의 후보 네트워크 주소들 중 어느 하나의 후보 네트워크 주소의 대역폭 사용률이 가장 낮을 경우에 상기 어느 하나의 후보 네트워크 주소를 이용한 상기 2차 경로를 상기 접근 경로로 설정하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 장치.
  14. 삭제
  15. 청구항 13에 있어서,
    상기 레이아웃 정보는
    상기 토러스 네트워크 상에서의 상기 대상 데이터 서버의 위치 좌표에 해당하는 상기 대상 데이터 서버의 데이터 서버 ID를 포함하고,
    상기 클라이언트는
    상기 관리 서버로부터 상기 데이터 서버 ID를 기반으로 상기 토러스 네트워크의 구조에 따라 상기 대상 데이터 서버에 할당된 복수개의 네트워크 주소들 및 상기 복수개의 네트워크 주소들 각각에 대한 대역폭 사용률 중 적어도 하나에 해당하는 데이터 서버 정보를 기설정된 주기마다 획득하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 장치.
  16. 청구항 15에 있어서,
    상기 클라이언트는
    상기 복수개의 데이터 서버들 중 상기 2차 경로 상에 위치하되, 상기 토러스 네트워크의 구조에서 제1 평면에 해당하는 어느 하나의 데이터 서버를 중계 서버로 선택하고, 상기 대상 데이터 서버의 위치 좌표를 기반으로 상기 중계 서버의 위치 좌표를 계산하여 획득하고, 상기 중계 서버의 위치 좌표를 포함하여 상기 접근 경로를 설정하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 장치.
  17. 청구항 12에 있어서,
    상기 제1 네트워크 주소는
    상기 대상 데이터 서버의 앞쪽 방향에 할당된 프론트(front) 네트워크 주소에 해당하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 장치.
  18. 청구항 12에 있어서,
    상기 클라이언트는
    상기 접근 경로의 설정이 완료되어 상기 클라이언트로부터 상기 대상 파일에 대한 입출력 처리 요청이 발생하는 경우, 상기 입출력 처리 요청에 포함된 목표 데이터 서버 정보가 상기 대상 데이터 서버와 일치하는지 여부에 따라 상기 접근 경로를 재설정하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 장치.
  19. 청구항 18에 있어서,
    상기 클라이언트는
    상기 목표 데이터 서버 정보가 상기 대상 데이터 서버와 일치하지 않는 경우, 상기 클라이언트가 상기 목표 데이터 서버 정보와 일치하는 목표 데이터 서버로 연결될 수 있도록 상기 접근 경로를 재설정하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 장치.
  20. 청구항 18에 있어서,
    상기 클라이언트는
    상기 목표 데이터 서버 정보가 상기 대상 데이터 서버와 일치하는 경우, 상기 입출력 처리 요청으로 발생한 대역폭 사용량에 따라 상기 접근 경로에 해당하는 네트워크 주소의 대역폭 사용률을 갱신하는 것을 특징으로 하는 분산 파일 시스템을 위한 파일 접근 경로 설정 장치.
KR1020170008514A 2017-01-18 2017-01-18 토러스 네트워크 기반의 분산 파일 시스템을 위한 파일 접근 경로 설정 방법 및 이를 위한 장치 KR102154653B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170008514A KR102154653B1 (ko) 2017-01-18 2017-01-18 토러스 네트워크 기반의 분산 파일 시스템을 위한 파일 접근 경로 설정 방법 및 이를 위한 장치
US15/684,267 US20180205635A1 (en) 2017-01-18 2017-08-23 File access path selection method for torus network-based distributed file system and apparatus for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170008514A KR102154653B1 (ko) 2017-01-18 2017-01-18 토러스 네트워크 기반의 분산 파일 시스템을 위한 파일 접근 경로 설정 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20180085188A KR20180085188A (ko) 2018-07-26
KR102154653B1 true KR102154653B1 (ko) 2020-09-10

Family

ID=62840797

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170008514A KR102154653B1 (ko) 2017-01-18 2017-01-18 토러스 네트워크 기반의 분산 파일 시스템을 위한 파일 접근 경로 설정 방법 및 이를 위한 장치

Country Status (2)

Country Link
US (1) US20180205635A1 (ko)
KR (1) KR102154653B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4343550A1 (en) * 2017-12-08 2024-03-27 Google Llc Content source allocation between computing devices
US10812445B2 (en) * 2018-02-13 2020-10-20 Sling Media Pvt Ltd Cloud access to local network addresses
CN111163150A (zh) * 2019-12-25 2020-05-15 上海精鲲计算机科技有限公司 一种分布式调用追踪系统
CN111262781A (zh) * 2020-03-19 2020-06-09 黄诗嵘 一种智能加速路由选择方法
CN113132233B (zh) * 2021-04-06 2022-09-23 中国联合网络通信集团有限公司 数据处理方法、软件定义网络控制器和数据处理系统
US11733912B2 (en) * 2022-01-19 2023-08-22 Dell Products L.P. Intelligent target routing in a distributed storage system
US11829602B2 (en) * 2022-03-16 2023-11-28 Dell Products L.P. Intelligent path selection in a distributed storage system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100537582B1 (ko) * 2001-02-24 2005-12-20 인터내셔널 비지네스 머신즈 코포레이션 신규의 초병렬 수퍼컴퓨터

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010088742A (ko) * 2001-08-28 2001-09-28 문의선 분산처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보전송 병렬화 방법
KR20100072992A (ko) * 2008-12-22 2010-07-01 (주)씨엔에스 다수의 클라이언트를 위한 분산 네트워크 스토리지 장치 및그 방법
KR101092658B1 (ko) * 2008-12-22 2011-12-13 한국전자통신연구원 분산 파일 시스템 및 그의 메타데이터 서버 선택 방법
KR102028428B1 (ko) * 2015-04-09 2019-10-04 한국전자통신연구원 토러스 네트워크를 이용하는 분산 파일 시스템 및 토러스 네트워크를 이용하는 분산 파일 시스템의 구성 및 운영 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100537582B1 (ko) * 2001-02-24 2005-12-20 인터내셔널 비지네스 머신즈 코포레이션 신규의 초병렬 수퍼컴퓨터

Also Published As

Publication number Publication date
KR20180085188A (ko) 2018-07-26
US20180205635A1 (en) 2018-07-19

Similar Documents

Publication Publication Date Title
KR102154653B1 (ko) 토러스 네트워크 기반의 분산 파일 시스템을 위한 파일 접근 경로 설정 방법 및 이를 위한 장치
KR102301353B1 (ko) 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법
KR101409991B1 (ko) P2p 통신 환경에서의 데이터 전송 방법 및 장치
US8495013B2 (en) Distributed storage system and method for storing objects based on locations
US9998354B2 (en) Server selection for content distribution
KR101978177B1 (ko) 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법
CN107517228B (zh) 一种内容分发网络中的动态加速方法及装置
US8489629B2 (en) Communication terminal device, computer program, and content search method
KR20140009931A (ko) 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법
US20150281074A1 (en) Data transfer control device and data transfer control method
JP2008516528A (ja) ネットワークのサービスノードの特定
KR20130008325A (ko) 컨텐츠 중심 네트워크에서 컨텐츠 요청자, 중간 노드 및 컨텐츠 소유자의 통신 방법
CN102075359B (zh) 一种基于网络坐标的服务器部署方法及装置
EP3496346A1 (en) Data message forwarding method and apparatus
US11706471B2 (en) Scheduling method, server, first peer node and computer-readable storage medium
US10469348B2 (en) Centrality-based caching in information-centric networks
CN104378452A (zh) 一种用于域名解析的方法、装置及系统
US20040208119A1 (en) Providing a node of a peer-to peer network with access to a resource
US20180260463A1 (en) Computer system and method of assigning processing
US20090154420A1 (en) Method of and apparatus for managing neighbor node having similar characteristic to that of active node and computer-readable recording medium having recorded thereon program for executing the method
US20140317271A1 (en) Method and node apparatus for collecting information in content network based on information-centric networking
JP6886874B2 (ja) エッジ装置、データ処理システム、データ送信方法、及びプログラム
US20240171634A1 (en) Scalable autonomous storage networks
US20140289307A1 (en) Method for transmitting data between electronic devices
CN109788075B (zh) 专网网络系统、数据的获取方法及边缘服务器

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