KR20190047484A - 복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법 및 그 장치 - Google Patents

복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법 및 그 장치 Download PDF

Info

Publication number
KR20190047484A
KR20190047484A KR1020170141415A KR20170141415A KR20190047484A KR 20190047484 A KR20190047484 A KR 20190047484A KR 1020170141415 A KR1020170141415 A KR 1020170141415A KR 20170141415 A KR20170141415 A KR 20170141415A KR 20190047484 A KR20190047484 A KR 20190047484A
Authority
KR
South Korea
Prior art keywords
storage
file
providing
profile
management service
Prior art date
Application number
KR1020170141415A
Other languages
English (en)
Other versions
KR102362699B1 (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 KR1020170141415A priority Critical patent/KR102362699B1/ko
Publication of KR20190047484A publication Critical patent/KR20190047484A/ko
Application granted granted Critical
Publication of KR102362699B1 publication Critical patent/KR102362699B1/ko

Links

Images

Classifications

    • 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/13File access structures, e.g. distributed indices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법이 제공된다. 복수의 스토리지 장치에 대한 읽기/쓰기 서비스를 제공하는 스토리지 관리 장치에 의하여 수행되는 본 발명의 실시예에 따른 파일 관리 서비스 제공 방법은, 제1 파일에 대한 파일 쓰기 요청을 제공 받는 단계, 상기 스토리지 관리 장치에 의하여 관리되는 복수의 스토리지 프로필 중 상기 제1 파일의 속성에 대응되는 스토리지 프로필을 조회하는 단계 및 상기 조회된 스토리지 프로필이 가리키는 스토리지 장치에 상기 제1 파일이 저장되도록 하는 단계를 포함할 수 있다.

Description

복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법 및 그 장치{Method for providing a file management service using a plurality of storage devices and Apparatus thereof}
본 발명은 복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법 및 그 장치에 관한 것이다. 보다 자세하게는, 복수의 스토리지 장치 각각의 용도에 기초하여 보다 효과적으로 파일 관리 서비스를 제공하는 방법 및 그 방법을 수행하는 장치에 관한 것이다.
관리되는 데이터의 양이 기하급수적으로 증가함에 따라, 기존의 스토리지 시스템에 새로운 스토리지를 추가하거나 스토리지 시스템 자체를 교체해야 하는 상황이 빈번하게 발생하고 있다.
대부분의 스토리지 서비스 시스템에서, 스토리지 추가 및/또는 스토리지 교체 시에 기존 스토리지의 데이터를 신규 스토리지로 마이그레이션(data migration)하는 작업이 수행된다. 그러나, 데이터 마이그레이션 작업은 많은 작업 시간이 소요되고, 마이그레이션 도중에 데이터가 손실될 위험성이 존재한다. 아울러, 데이터 마이그레이션 도중에는 해당 데이터에 대한 접근이 불가하기 때문에, 스토리지 서비스의 제공이 중단된다. 이는, 서비스 제공 업체에게 막대한 비용 손실을 초래하고, 서비스를 제공 받는 사용자에게는 상당한 불편을 초래한다.
또한, 대다수의 스토리지 서비스 시스템은 데이터의 특성, 스토리지의 특성에 따라 유연하게 파일 관리 정책을 설정하는 기능을 제공하지 않는다. 예를 들어, 복수의 스토리지가 포함된 단일 시스템 내에서, 중요 파일은 재해 복구(disaster storage) 기능이 제공되는 제1 스토리지에 저장되도록 하고, 일반 파일은 재해 복구 기능이 제공되지 않은 제2 스토리지에 저장되도록 파일 관리 정책을 설정하는 기능을 제공하지 않는다.
따라서, 데이터 마이그레이션 없이 스토리지의 확장이 가능하고, 데이터의 특성 등에 따라 유연한 파일 관리 정책을 설정할 수 있는 방법이 요구된다.
한국공개특허 제10-2013-0048594호 (2013.05.10 공개)
본 발명이 해결하고자 하는 기술적 과제는, 복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 데이터 마이그레이션 없이 스토리지 확장이 가능한 파일 관리 서비스의 제공 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 파일의 특성 및/또는 스토리지에 대한 요구사항에 따라 유연한 파일 관리 정책 설정 기능을 제공하는 파일 관리 서비스의 제공 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법은, 복수의 스토리지 장치에 대한 읽기/쓰기 서비스를 제공하는 스토리지 관리 장치에 의하여 수행되는 방법에 있어서, 제1 파일에 대한 파일 쓰기 요청을 제공 받는 단계, 상기 스토리지 관리 장치에 의하여 관리되는 복수의 스토리지 프로필 중 상기 제1 파일의 속성에 대응되는 스토리지 프로필을 조회하는 단계 및 상기 조회된 스토리지 프로필이 가리키는 스토리지 장치에 상기 제1 파일이 저장되도록 하는 단계를 포함할 수 있다.
일 실시예에서, 상기 스토리지 프로필을 조회하는 단계는, 상기 제1 파일의 속성에 대응되는 용도 코드를 가지는 스토리지 프로필을 조회하는 단계를 포함할 수 있다.
일 실시예에서, 상기 조회된 스토리지 프로필에 포함된 스토리지 식별자를, 상기 파일 쓰기 요청에 대한 응답으로 제공하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 조회된 스토리지 프로필에 포함된 스토리지 식별자를, 상기 스토리지 관리 장치에 의하여 관리되는 파일 메타 정보에 상기 제1 파일의 식별자와 함께 저장하는 단계를 더 포함할 수 있다.
일 실시예에서, 스토리지 관리 서비스 사용 장치로부터 상기 제1 파일의 식별자를 포함한 파일 읽기 요청을 제공 받고, 이에 응답하여 i) 상기 제1 파일의 식별자를 이용하여 파일 메타 정보에서 상기 제1 파일이 저장된 스토리지 식별자를 얻고, ii) 상기 스토리지 관리 장치에 의하여 관리되는 복수의 스토리지 프로필 중 상기 얻은 스토리지 식별자를 가지는 스토리지 프로필을 조회하며, iii) 상기 조회된 스토리지 프로필이 가리키는 스토리지 장치에서 상기 제1 파일을 읽어오도록 하는 커맨드를 생성하고, iv) 읽어온 상기 제1 파일을 상기 스토리지 관리 서비스 사용 장치에 제공하는 동작을 수행하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 제1 파일에 대한 파일 쓰기 요청을 제공 받는 단계는, 상기 제1 파일이 기록될 스토리지에 대한 요구 사항을 가리키는 정보를 상기 파일 쓰기 요청과 함께 제공 받는 단계를 포함하고, 상기 스토리지 프로필을 조회하는 단계는, 상기 제1 파일의 속성 및 상기 제1 파일이 기록될 스토리지에 대한 요구 사항에 대응되는 용도 코드를 결정하는 단계 및 상기 결정된 용도 코드를 가지는 스토리지 프로필을 조회하는 단계를 포함할 수 있다.
일 실시예에서, 상기 복수의 스토리지 프로필에 대한 적어도 일부에 대한 편집 기능을 지원하는 사용자 인터페이스를 제공하는 단계를 더 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 스토리지 관리 장치는, 프로세서, 네트워크 인터페이스, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리, 복수의 스토리지 프로필 및 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 제1 파일에 대한 파일 쓰기 요청을 제공 받는 오퍼레이션, 상기 스토리지 관리 장치에 의하여 관리되는 상기 복수의 스토리지 프로필 중 상기 제1 파일의 속성에 대응되는 용도 코드를 가지는 스토리지 프로필을 조회하는 오퍼레이션, 및 상기 조회된 스토리지 프로필이 가리키는 스토리지 장치에 상기 제1 파일이 저장되도록 하는 커맨드를 생성하는 오퍼레이션을 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 제1 파일에 대한 파일 쓰기 요청을 제공 받는 단계, 상기 스토리지 관리 장치에 의하여 관리되는 복수의 스토리지 프로필 중 상기 제1 파일의 속성에 대응되는 용도 코드를 가지는 스토리지 프로필을 조회하는 단계 및 상기 조회된 스토리지 프로필이 가리키는 스토리지 장치에 상기 제1 파일이 저장되도록 하는 커맨드를 생성하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.
상술한 본 발명의 실시예에 따르면, 스토리지 프로필에 해당 스토리지의 용도를 가리키는 용도 코드가 부여되고, 상기 용도 코드에 기초하여 파일 쓰기 요청이 타깃 스토리지로 포워딩 될 수 있다. 이에 따라, 스토리지 프로필의 용도 코드를 부여/변경하는 간편한 방식으로 파일 관리 정책이 설정될 수 있는 바, 서비스 관리의 편의성이 향상될 수 있다.
또한, 사용률이 높은 기존 스토리지에 쓰기 바활성화를 가리키는 용도 코드를 부여하고, 신규 스토리지에 쓰기 활성화를 가리키는 용도 코드를 부여함으로써, 마이그레이션 없이 스토리지에 대한 확장 기능이 제공될 수 있다. 이에 따라, 무중단 파일 관리 서비스가 제공될 수 있고, 마이그레이션에 요구되는 시간 비용 및 인적 비용이 절감되며, 서비스 중단에 따라 초래되는 손실이 방지될 수 있다.
또한, 상기 용도 코드는 파일의 속성 및 스토리지에 대한 요구사항 중 적어도 하나의 요소에 기초하여 결정되므로, 상기 파일의 속성 및 상기 스토리지에 대한 요구사항에 따라 유연한 파일 관리 정책이 설정될 수 있다. 예를 들어, 대상 파일의 소유자를 기초로 타깃 스토리지가 결정되도록 파일 관리 정책이 설정되는 경우, 사용자 별로 차별화된 파일 관리 서비스가 제공될 수 있다. 다른 예를 들어, 대상 파일의 관리 등급을 기초로 타깃 스토리지가 결정되도록 파일 관리 정책이 설정되는 경우, 파일의 중요도 별로 차별화된 파일 관리 서비스가 제공될 수 있다.
또한, 스토리지 프로필을 편집하는 사용자 인터페이스가 제공된다. 이에 따라, 관리자의 편의성이 더욱 향상될 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 제1 실시예에 따른 파일 관리 서비스의 제공 시스템의 구성도이다.
도 2는 본 발명의 제2 실시예에 따른 파일 관리 서비스의 제공 시스템의 구성도이다.
도 3은 본 발명의 제3 실시예에 따른 파일 관리 서비스의 제공 시스템의 구성도이다.
도 4는 본 발명의 일 실시예에 따른 스토리지 관리 장치를 나타내는 블록도이다.
도 5는 본 발명의 몇몇 실시예에서 참조될 수 있는 스토리지 프로필 및 파일 메타 정보의 예시도이다.
도 6은 본 발명의 일 실시예에 따른 스토리지 프로필 편집 기능을 설명하기 위한 도면이다.
도 7 및 도 8은 본 발명의 일 실시예 따른 파일 관리 서비스 제공 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 스토리지 관리 장치를 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 발명의 제1 실시예에 따른 파일 관리 서비스 제공 시스템의 구성도이다.
도 1을 참조하면, 상기 제1 실시예에 따른 파일 관리 서비스 제공 시스템은 스토리지 관리 장치(100), 복수의 스토리지 장치(10a, 10b, 10c, 10n) 및 적어도 하나의 사용자 단말(30)을 포함하도록 구성될 수 있다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 1에 도시된 파일 관리 서비스의 제공 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.
상기 제1 실시예에 따른 파일 관리 서비스 제공 시스템에서, 스토리지 관리 장치(100)는 파일 관리 서비스를 제공하고, 복수의 스토리지(10a, 10b, 10c, 10n)를 관리하는 컴퓨팅 장치이다. 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능 및 통신 기능이 구비된 모든 종류의 장치를 포함할 수 있다. 다만, 다수의 사용자에 대한 파일 관리 서비스를 제공하는 경우, 스토리지 관리 장치(100)는 고성능의 서버 컴퓨팅 장치로 구현되는 것이 바람직할 수 있다.
본 발명의 실시예에 따르면, 사용자 단말(30)로부터 수신된 대상 파일에 대한 업로드 요청에 응답하여, 스토리지 관리 장치(100)는 상기 대상 파일이 저장될 타깃 스토리지를 결정할 수 있다. 구체적으로, 스토리지 관리 장치(100)는 대상 파일의 속성 및/또는 스토리지에 대한 요구사항에 부합하는 용도를 갖는 스토리지를 상기 타깃 스토리지로 결정할 수 있다. 본 실시예에 대한 자세한 설명은 이후 도 4 내지 도 7을 참조하여 상세하게 설명하도록 한다.
본 발명의 실시예에 따르면, 스토리지 관리 장치(100)는 데이터 마이그레이션 없이 스토리지에 대한 확장 기능을 제공한다. 예를 들어, 제n 스토리지 장치(10n)의 용량 문제로 인해, 신규 스토리지 장치를 추가한다고 가정하자. 이때, 스토리지 관리 장치(100)는 사용자 단말(300)의 파일 읽기 요청은 제n 스토리지 장치(10n)로 포워딩 하나, 사용자 단말(300)의 파일 쓰기 요청은 제n 스토리지 장치(10n)로 포워딩 하지 않고, 상기 신규 스토리지 장치로 포워딩 되도록 제어할 수 있다. 이에 따라, 별도의 데이터 마이그레이션 없이 스토리지 확장 기능이 제공될 수 있다. 상기와 같은 제어는 상기 신규 스토리지 장치와 제n 스토리지 장치(10n)에 대한 스토리지 프로필의 용도 코드를 통해 수행될 수 있다. 이에 대한 자세한 설명은 도 4 및 도 5를 참조하여 후술하도록 한다. 본 실시예에 따르면, 데이터 마이그레이션이 소모되는 시간 비용이 절감되고, 데이터 마이그레이션 시 서비스 중단으로 초래되는 손실이 방지될 수 있으며, 데이터 마이그레이션의 위험에서 벗어나 안전한 파일 관리 서비스가 제공될 수 있다.
스토리지 관리 장치(100)의 세부 구성 및 동작에 대한 자세한 설명은 이후 도 4 내지 도 6을 참조하여 상세하게 설명하도록 한다.
상기 제1 실시예에 따른 파일 관리 서비스 제공 시스템에서, 복수의 스토리지(10a, 10b, 10c, 10n)는 스토리지 관리 장치(100)에 의해 포워딩 되는 파일 쓰기 요청 및/또는 파일 읽기 요청에 응답하여 대상 파일을 기록하거나 읽어오는 장치이다. 각 스토리지(10a, 10b, 10c, 10n)는 파일을 기록하기 위한 임의의 저장 매체(e.g. HDD, SDD)을 포함하도록 구성될 수 있다.
상기 제1 실시예에 따른 파일 관리 서비스 제공 시스템에서, 사용자 단말(30)은 스토리지 관리 장치(100) 및 복수의 스토리지(10a, 10b, 10c, 10n)에 의해 제공되는 파일 관리 서비스를 제공받는 단말이다. 사용자는 사용자 단말(30)을 통해 대상 파일을 다운로드 하거나, 업로드 할 수 있다. 본 명세서에서, 사용자 단말(30)은 파일 관리 서비스 사용 장치라는 용어와 혼용되어 사용될 수 있다.
스토리지 관리 장치(100)와 사용자 단말(30)은 네트워크(20)를 통해 통신할 수 있다. 네트워크(20)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.
지금까지 도 1을 참조하여 본 발명의 제1 실시예에 따른 파일 관리 서비스의 제공 시스템에 대하여 설명하였다. 다음으로, 도 2를 참조하여, 본 발명의 제2 실시예에 따른 파일 관리 서비스의 제공 시스템에 대하여 설명하도록 한다. 특히, 도 2는 스토리지 관리 장치(100)의 세부 구성을 더 도시하고 있다.
도 2를 참조하면, 상기 제2 실시예에 따른 파일 관리 서비스의 제공 시스템에서, 스토리지 관리 장치(100)는 복수의 스토리지 서비스 시스템(40a, 40b)을 기초로 통합된 파일 관리 서비스를 제공할 수 있다.
상기 제2 실시예에 따른 파일 관리 서비스의 제공 시스템에서, 스토리지 관리 장치(100)는 스토리지 어댑터(102), 스토리지 관리 모듈(104) 및 서비스 모듈(106)을 포함하도록 구성될 수 있다.
스토리지 어댑터(102)는 스토리지 장치(e.g. 도 1에 도시된 스토리지 10a) 또는 스토리지 서비스 시스템(40a, 40b)에 대한 인터페이스 기능을 제공한다. 스토리지 어댑터(102)는 스토리지 관리 모듈(104)로부터 파일 읽기 커맨드 및/또는 파일 쓰기 커맨드와 스토리지 식별자를 수신하고, 상기 수신된 커맨드/정보를 상기 스토리지 식별자가 가리키는 타깃 스토리지로 전달하여 파일 읽기 및/또는 파일 쓰기가 수행되도록 한다.
스토리지 어댑터(102)는 서로 상이한 스토리지 장치 및/또는 서로 다른 벤더가 제공하는 스토리지 서비스 시스템과 연동하기 위해 다양한 연동 모듈을 포함하도록 구성될 수 있다.
스토리지 관리 모듈(104)은 복수의 스토리지에 대한 프로필 관리 기능 및 파일 읽기/쓰기 요청을 처리 기능을 제공하는 모듈이다. 이때, 상기 스토리지는 도 2에 도시된 바와 같이 스토리지 서비스 시스템(40a, 40b) 또는 도 1에 도시된 바와 같이 스토리지 장치를 가리키는 포괄적인 개념의 용어이다.
스토리지 관리 모듈(104)은 서비스 모듈(106)로부터 수신된 대상 파일에 대한 파일 읽기/쓰기 요청에 응답하여, 상기 대상 파일에 대한 타깃 스토리지의 식별자 및 파일 읽기/쓰기 커맨드를 스토리지 어댑터(102)로 전달한다. 스토리지 관리 모듈(104)에 대한 보다 자세한 설명은 도 4를 참조하여 후술하도록 한다.
서비스 모듈(106)은 사용자 단말(30)과의 인터페이스 기능을 제공하는 모듈이다. 구체적으로, 서비스 모듈(106)은 사용자 단말(30)로부터 수신된 업로드 파일(60a)에 대한 파일 쓰기 요청을 스토리지 관리 모듈(104)로 제공한다. 또한, 서비스 모듈(106)은 사용자 단말(300)로부터 수신된 파일 다운로드 요청에 응답하여 파일 읽기 요청을 스토리지 관리 모듈(104)로 제공하고, 스토리지 관리 모듈(104)에 의해 제공된 다운로드 파일(60b)을 사용자 단말(30)로 제공한다.
본 발명의 실시예에 따르면, 서비스 모듈(106)은 대상 파일에 대한 파일 메타 정보를 관리한다. 상기 파일 메타 정보는 파일의 속성 정보 및 대상 파일이 저장된 스토리지의 식별자를 포함하는 정보로, 파일 쓰기 요청 처리 시 타깃 스토리지의 식별자를 결정하는 용도 또는 파일 읽기 요청 처리 시 타깃 스토리지를 식별하는 용도로 이용된다. 다만, 실시예에 따라, 상기 파일 메타 정보는 스토리지 관리 모듈(104)에 의해 관리될 수도 있다. 상기 파일 메타 정보의 구체적인 예 및 이용 방법에 대해서는 도 4 내지 도 5를 참조하여 후술하도록 한다.
한편, 본 발명의 실시예에 따르면, 서비스 모듈(106)은 도 3에 도시된 바와 같이 독립된 장치(200)로 구현될 수도 있다. 이와 같은 경우, 스토리지 관리 장치(100)는 스토리지 어댑터(102) 및 스토리지 관리 모듈(104)만을 포함하도록 구성될 수 있다.
상기 제2 실시예에 따른 파일 관리 서비스의 제공 시스템에서, 스토리지 서비스 시스템(40a, 40b)은 아마존의 S3(simple storage service), 구글의 스토리지 서비스와 같이 클라우드 스토리지 서비스를 제공하는 시스템이다.
도 2에 도시된 바와 같이, 제1 스토리지 서비스 시스템(40a)은 복수의 스토리지(10d, 10e) 및 복수의 스토리지를 관리하는 서비스 관리 장치(50a)를 포함하도록 구성될 수 있다. 본 실시예에서, 스토리지 어댑터(102) 및 스토리지 관리 모듈(104)이 타깃 스토리지 서비스 시스템으로 파일 쓰기/읽기 요청을 포워딩 하는 역할을 수행한다면, 서비스 관리 장치(50a)는 상기 파일 쓰기/읽기 요청을 타깃 스토리지 장치(10d, 10e)로 포워딩 하는 역할을 수행하는 것으로 이해될 수 있다.
도 1을 참조하여 설명한 본 발명의 몇몇 실시예는 도 2에 도시된 환경에서 동일하게 적용될 수 있다. 예를 들어, 스토리지 관리 장치(100)는 대상 파일의 속성 및/또는 스토리지에 대한 요구사항에 부합하는 용도를 갖는 스토리지 서비스 시스템(40a, 40b)을 상기 타깃 스토리지를 결정할 수 있다. 다른 예를 들어, 스토리지 관리 장치(100)는 제1 스토리지 서비스 시스템(40a, 40b)의 용도를 읽기 전용으로 변경하고, 읽기 및 쓰기 전용의 용도를 갖는 새로운 스토리지 서비스 시스템(미도시)을 추가함으로써 무중단 스토리지 확장 기능을 제공할 수 있다.
지금까지 도 2 및 도 3을 참조하여 본 발명의 몇몇 실시예에 따른 파일 관리 서비스의 제공 시스템에 대하여 설명하였다. 다음으로, 도 4를 참조하여, 스토리지 관리 장치(100)의 구성 및 동작에 대하여 상세하게 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 스토리지 관리 장치(100)를 나타내는 블록도이다. 특히, 도 4는 스토리지 관리 모듈(104)의 세부 구성을 더 도시하고 있다. 스토리지 어댑터(102)에 대한 설명은 전술한 바와 같으므로 생략하고 스토리지 관리 모듈(104)의 구성 및 동작에 대하여 상세하게 설명하도록 한다.
도 4를 참조하면, 스토리지 관리 모듈(104)은 저장부(140), 파일 읽기/쓰기 요청 처리부(142) 및 스토리지 프로필 관리부(144)를 포함하도록 구성될 수 있다. 다만, 도 4에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 4에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 4에 도시된 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.
각 구성 요소를 살펴보면, 저장부(140)는 스토리지 프로필(140a) 및 파일 메타 정보(140b)를 저장하고 관리한다. 다만, 실시예에 따라, 파일 메타 정보(140b)는 별도의 장치(e.g. 서비스 제공 장치 200)에서 관리될 수도 있다. 저장부(140)는 상기와 같은 기능을 제공하기 위해 임의의 저장매체를 포함하도록 구성될 수 있다.
스토리지 프로필(140a)은 각 스토리지 장치에 관한 프로필 정보로, 하나의 스토리지 장치는 적어도 하나의 스토리지 프로필과 대응될 수 있다. 스토리지 프로필(140a)의 일 예시는 도 5에 도시되어 있다. 도 5를 참조하면, 스토리지 프로필(140a)은 예를 들어 스토리지 식별자(1400), 스토리지 이름(1401), 스토리지 URL(1402), 스토리지 접속 ID 및 패스워드(1403, 1404), 스토리지의 용도 코드(1405) 및 용도 코드의 디스크립션(1406) 등의 정보를 포함할 수 있다.
스토리지 프로필(140a)에 포함된 정보 중에서 스토리지 식별자(1400)는 각 스토리지를 유일하게 구분해주는 정보이다. 스토리지 식별자(1400)는 대상 파일이 기록되는 타깃 스토리지를 식별하기 위해 파일 메타 정보(140b)에도 포함된다. 파일 쓰기 요청의 처리 과정에서, 타깃 스토리지가 결정되면, 상기 타깃 스토리지의 식별자가 파일 메타 정보(140b)에 삽입될 수 있다. 또한, 파일 읽기 요청의 처리 과정에서, 타깃 스토리지를 식별하기 위해, 파일 메타 정보(140b)에 포함된 스토리지 식별자(1400)가 이용된다. 파일 읽기/쓰기 요청 처리 과정에서, 스토리지 식별자(1400)가 이용되는 방법에 대한 보다 구체적인 설명은 도 7 및 도 8을 참조하도록 한다.
스토리지 프로필(140a)에 포함된 정보 중에서 용도 코드(1405)는 각 스토리지의 용도를 가리키는 코드이다. 동일 용도를 갖는 복수의 스토리지가 존재하는 경우, 상기 복수의 스토리지는 동일한 용도 코드를 가질 수 있다.
본 발명의 실시예에 따르면, 각 스토리지의 용도 코드는 파일의 속성 및/또는 스토리지에 대한 요구사항에 따라 부여될 수 있다. 이때, 상기 파일의 속성은 예를 들어 파일의 확장자, 파일의 소유자, 파일의 사이즈 및 상기 파일의 관리 등급 등을 포함할 수 있다. 또한, 상기 스토리지에 대한 요구 사항은 예를 들어 I/O 요구 속도, 재해 복구 지원, 스토리지의 지리적 위치, 스토리지 서비스 벤더 등을 포함할 수 있다. 본 실시예에 따르면, 파일의 속성 및/또는 스토리지에 대한 요구사항을 기초로 유연한 파일 관리 정책이 설정될 수 있다. 예를 들어, 관리자는 파일의 제1 속성에 대응되는 제1 용도 코드를 제1 스토리지에 부여함으로써, 상기 제1 속성을 갖는 파일이 제1 스토리지에서 관리되도록 할 수 있다. 다른 예를 들어, 관리자는 스토리지에 대한 제1 요구사항에 대응되는 제2 용도 코드를 제2 스토리지에 부여함으로써, 상기 제1 요구사항을 갖는 파일이 제2 스토리지에서 관리되도록 할 수 있다. 보다 이해의 편의를 제공하기 위해, 용도 코드를 설정하는 몇몇 예시에 대하여 설명하도록 한다.
일 예시에서, 파일의 속성 중 파일 소유자를 기초로 각 스토리지에 대한 용도 코드가 부여될 수 있다. 본 예시에서, 제1 사용자의 파일은 제1 스토리지에서 관리되고, 제2 사용자의 파일은 제2 스토리지에서 관리될 수 있다. 따라서, 사용자 별로 차별화된 파일 관리 서비스가 제공될 수 있다. 예를 들어, 유료 서비스에 가입한 사용자의 파일은 재해 복구 기능 또는 빠른 I/O 속도가 제공되는 제1 스토리지에서 관리되고, 무료로 서비스를 이용하는 사용자의 파일은 상기와 같은 기능이 제공되지 않는 제2 스토리지에서 관리되도록 하여 차별화된 서비스 제공이 가능하다.
다른 일 예시에서, 파일의 속성 중 파일의 관리 등급을 기초로 각 스토리지에 대한 용도 코드가 부여될 수 있다. 본 예시에서, 관리 등급이 높은 제1 파일은 보안성이 높은 제1 스토리지에서 관리되고, 관리 등급이 낮은 제2 파일은 보안성이 높지 않은 제2 스토리지에서 관리될 수 있다. 따라서, 파일의 등급 별로 차별화된 파일 관리 서비스가 제공될 수 있다.
또 다른 일 예시에서, 파일의 확장자 등의 파일 속성 또는 I/O 요구 속도, 재해 복구 지원 등의 스토리지에 대한 요구사항에 따라 각 스토리지에 대한 용도 코드가 부여될 수도 있다. 이를 통해, 동일 확장자를 갖는 파일은 동일 스토리지에서 관리되도록 하거나 재해 복구 지원을 요구하는 파일은 재해 복구 기능이 제공되는 스토리지에서 관리되도록 하는 등 유연한 파일 관리 정책 설정이 가능한다.
지금까지, 각 스토리지의 용도 코드를 부여하는 일부 예시들을 설명하였다. 다만, 상기 예시들은 본 발명의 일부 실시예를 설명하기 위한 것으로, 본 발명의 범위가 상기 예시들에 한정되는 것은 아니다.
한편, 본 발명의 실시예에 따르면, 상기 용도 코드는 읽기/쓰기 기능을 활성화/비활성화 하는 코드를 포함할 수 있다. 이를 통해, 제1 스토리지는 읽기 전용으로 사용되고, 제2 스토리지는 읽기/쓰기 전용으로 사용되도록 파일 관리 정책이 설정될 수 있다. 본 실시예에서, 신규 스토리지에 쓰기 활성화를 가리키는 용도 코드를 부여하고, 사용률이 특정 수치를 초과한 기존 스토리지에 쓰기 비활성화를 가리키는 용도 코드를 부여함으로써, 데이터 마이그레이션 없는 스토리지 확장 기능이 제공될 수 있다. 즉, 기존 스토리지를 읽기 전용으로 이용하고, 새로운 파일은 신규 스토리지에 저장되도록 함으로써, 별도의 데이터 마이그레이션 없이 무중단 파일 관리 서비스가 제공될 수 있다. 이에 따라, 데이터 마이그레이션에 따른 시간 및 인적 비용이 절감되고 서비스 중단에 따라 초래되는 손실이 방지될 수 있다.
파일 메타 정보(140b)는 파일의 속성에 관한 제반 정보를 의미한다. 파일 메타 정보(140b)의 일 예시는 도 5에 도시되어 있다. 도 5를 참조하면, 파일 메타 정보(140b)는 파일의 식별자, 파일의 사이즈, 파일의 소유자 등의 속성 정보를 포함한다. 또한, 파일 메타 정보(140b)는 파일의 관리 등급에 대한 속성 정보를 더 포함할 수 있다. 또한, 파일 메타 정보(140b)는 파일 식별자에 의해 식별되는 대상 파일의 타깃 스토리지를 가리키는 스토리지 식별자(1400)를 포함한다. 스토리지 식별자(1400)는 대상 파일의 쓰기 요청 처리 과정을 통해 파일 메타 정보(140b)에 삽입되고, 이후 대상 파일의 파일 읽기 요청 처리를 위해 이용된다. 이에 대한 설명은 도 7 및 도 8을 참조하여 부연 설명하도록 한다.
다시 도 4를 참조하면, 파일 읽기/쓰기 요청 처리부(142)는 서비스 제공 장치(200) 및/또는 사용자 단말(30)로부터 수신된 파일 읽기 및/또는 파일 쓰기 요청을 처리한다.
구체적으로, 대상 파일의 파일 읽기 요청에 응답하여, 파일 읽기/쓰기 요청 처리부(142)는 대상 파일의 파일 메타 정보(140b)에 포함된 스토리지 식별자를 상기 파일 읽기 커맨드와 함께 스토리지 어댑터(102)로 제공한다. 이를 통해, 스토리지 식별자가 가리키는 타깃 스토리지에서 파일 읽기가 수행될 수 있다.
또한, 대상 파일의 파일 쓰기 요청에 응답하여, 파일 읽기/쓰기 요청 처리부(142)는 대상 파일의 파일 메타 정보(140b)에 포함된 파일 속성 및/또는 스토리지에 대한 요구사항에 대응되는 용도 코드를 결정하고, 스토리지 프로필(140a)을 이용하여 상기 용도 코드를 갖는 타깃 스토리지의 식별자를 획득한다. 다음으로, 파일 읽기/쓰기 요청 처리부(142)는 타깃 스토리지의 식별자 및 파일 쓰기 커맨드를 스토리지 어댑터(102)로 제공한다. 이를 통해, 스토리지 식별자가 가리키는 타깃 스토리지에서 파일 쓰기가 수행될 수 있다.
본 발명의 실시예에 따르면, 파일 읽기/쓰기 요청 처리부(142)에 의해 대상 파일에 대한 자동 마이그레이션이 수행될 수 있다. 예를 들어, 대상 파일이 저장된 타깃 스토리지가 쓰기 비활성화로 변경되고, 사용자가 상기 대상 파일을 다운로드 한 다음, 일부 내용을 수정하여 다시 업로드 하는 케이스를 가정하자. 상기 케이스에서, 타깃 스토리지가 읽기 전용으로 용도가 변경됨에 따라, 파일 읽기/쓰기 요청 처리부(142)는 수정된 대상 파일을 쓰기 활성화를 가리키는 용도 코드를 갖는 새로운 타깃 스토리지에 저장되도록 할 수 있다. 이를 통해, 대상 파일이 재 업로드 될 때마다, 자동으로 상기 대상 파일의 저장 위치가 변경됨으로써, 서비스 중단 없이 자동 마이그레이션이 수행될 수 있다.
다음으로, 스토리지 프로필 관리부(144)는 복수의 스토리지에 대한 스토리지 프로필을 관리한다. 스토리지 프로필 관리부(144)는 스토리지 프로필에 대한 편집 기능을 제공하는 사용자 인터페이스(이하, "스토리지 프로필 편집 인터페이스"로 칭하기로 함)를 제공할 수 있다. 상기 스토리지 프로필 편집 인터페이스는 관리의 편의성을 위해 소정의 GUI(graphic user interface) 형태로 제공될 수 있으나, 어떠한 형태로 제공되더라도 무방하다.
관리자 단말(70)을 소지한 관리자는 스토리지 편집 인터페이스를 이용하여 스토리지 프로필을 관리할 수 있다. 상기 스토리지 편집 인터페이스의 일 예시는 도 6에 도시되어 있다. 도 6을 참조하면, 스토리지 편집 인터페이스(80)는 스토리지 프로필의 검색/조회 기능을 제공하는 제1 영역(81) 및 스토리지 프로필의 편집 기능을 제공하는 제2 영역(82)을 포함할 수 있다.
예를 들어, 관리자는 제1 영역(81)의 인터페이스를 이용하여 복수의 스토리지 프로필 중 스토리지 사용률이 특정 수치 이상인 스토리지에 대한 스토리지 프로필을 조회할 수 있다. 조회된 스토리지 프로필은 제2 영역(88)에 제공될 수 있고, 조회된 스토리지 프로필의 개수 정보(81a)가 함께 제공될 수도 있다.
또한, 관리자는 제2 영역(88)의 인터페이스를 이용하여 스토리지 식별자(82a)를 갖는 스토리지 프로필의 값(82b)을 편집할 수 있다. 예를 들어, 관리자는 사용률이 특정 수치 이상인 스토리지에 대한 스토리지 프로필의 용도 코드를 쓰기 비활성화를 가리키는 값으로 변경하여, 해당 스토리지의 용도를 읽기 전용으로 변경할 수 있다. 이에 따라, 데이터 마이그레이션 없는 무중단 파일 관리 서비스가 제공될 수 있다.
본 발명의 실시예에 따르면, 스토리지 프로필 관리부(144)는 스토리지의 사용률이 제1 특정 수치 이상이 되는지 판정하고, 상기 사용률이 상기 제1 특정 수치 이상이라는 판정에 응답하여, 관리자 단말(70)로 알람 메시지를 제공할 수 있다. 이에 따라, 관리자는 스토리지의 사용률에 대한 지속적인 모니터링을 수행하지 않고, 수신된 알람 메시지를 기초로 스토리지 관리를 수행할 수 있는 바, 관리의 편의성이 크게 향상될 수 있다.
또한, 스토리지 프로필 관리부(144)는 스토리지의 사용률이 제2 특정 수치 이상이 되는지 판정하고, 상기 사용률이 상기 제2 특정 수치 이상이라는 판정에 응답하여, 자동으로 상기 스토리지의 용도 코드를 쓰기 비활성화를 가리키는 값으로 변경할 수 있다. 이때, 스토리지 프로필 관리부(144)는 관리자 단말(70)로 신규 스토리지의 추가를 가리키는 알람 메시지를 제공할 수도 있다.
도 2 및 도 4에 도시된 스토리지 관리 장치(100)의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
지금까지, 도 4 내지 도 6을 참조하여, 본 발명의 실시예에 따른 스토리지 관리 장치(100)의 구성 및 동작에 대하여 설명하였다. 다음으로, 도 7 및 도 8을 참조하여 본 발명의 실시예에 따른 파일 관리 서비스의 제공 방법에서 파일 쓰기 요청 및 파일 읽기 요청이 처리되는 과정에 대하여 설명한다.
이하, 본 발명의 실시예에 따른 파일 관리 서비스의 제공 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 스토리지 관리 장치(100) 또는 서비스 제공 장치(200)일 수 있다. 다만, 설명의 편의를 위해, 상기 파일 관리 서비스의 제공 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 상기 파일 관리 서비스의 제공 방법의 각 단계는 메모리에 로드되어 프로세서에 의해 실행되는 컴퓨터 프로그램의 각 오퍼레이션으로 구현될 수 있다. 있다.
도 7은 본 발명의 일 실시예에 따른 파일 쓰기 요청 처리 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다. 특히, 도 7은 스토리지 관리 장치(100)에 의해 파일 쓰기 요청이 처리되는 과정을 도시하고 있다.
도 7을 참조하면, 단계(S100)에서, 스토리지 관리 장치(100)는 대상 파일에 대한 파일 쓰기 요청을 제공 받는다. 예를 들어, 스토리지 관리 장치(100)는 사용자 단말(30)로부터 상기 대상 파일에 대한 파일 쓰기 요청을 제공받을 수 있다. 또는, 스토리지 관리 장치(100)는 서비스 제공 장치(200)로부터 상기 파일 쓰기 요청을 제공 받을 수 있다.
단계(S102)에서, 스토리지 관리 장치(100)는 대상 파일의 속성을 결정한다. 전술한 바와 같이, 상기 대상 파일의 속성은 예를 들어 파일의 확장자, 파일의 소유자, 파일의 사이즈 및 상기 파일의 관리 등급 등을 포함할 수 있다.
단계(S104)에서, 스토리지 관리 장치(100)는 상기 대상 파일이 기록될 타깃 스토리지에 대한 요구사항을 결정한다. 이때, 상기 타깃 스토리지에 대한 요구 사항은 예를 들어 I/O 요구 속도, 재해 복구 지원, 스토리지의 지리적 위치, 스토리지 서비스 벤더 등의 정보를 포함할 수 있다.
일 실시예에서, 상기 스토리지에 대한 요구사항은 상기 대상 파일의 파일 쓰기 요청과 함께 제공될 수 있다. 예를 들어, 파일 관리 서비스의 사용자에게 스토리지에 대한 요구사항을 선택할 수 있는 기능이 제공된다고 가정하자. 그러면, 사용자는 관리 등급이 높은 중요 파일을 업로드 할 때, 재해 복구 기능을 지원하는 스토리지를 선택할 수 있고, 이에 따라, 사용자 단말(30)로부터 재해 복구 지원을 가리키는 스토리지 요구사항이 제공될 수 있다. 다만, 상기 예시는 본 발명의 일부 실시예를 설명하기 위한 것일 뿐, 상기 스토리지에 대한 요구사항이 제공되는 방식은 실시예에 따라 얼마든지 달라질 수 있다.
일 실시예에서, 상기 스토리지에 대한 요구사항은 상기 대상 파일의 속성 정보를 기초로 결정될 수 있다. 예를 들어, 파일의 속성 정보에 따른 스토리지 요구사항이 파일 관리 정책으로 설정되면, 상기 파일 관리 정책에 따라 상기 대상 파일의 속성 정보에 부합하는 스토리지 요구사항이 결정될 수 있다. 보다 구체적인 예를 들어, 상기 파일 관리 정책에 따라, 대상 파일의 사이즈가 임계 값 이상인 경우, 스토리지 요구사항은 "빠른 I/O 요구 속도"로 결정될 수 있다. 본 예시에서, 대용량 파일은 빠른 I/O 속도의 스토리지에 저장되도록 함으로써, 사용자의 체감 응답 속도를 향상시킬 수 있다. 다른 예를 들어, 대상 파일의 관리 등급이 높은 경우, 스토리지 요구사항은 "재해 복구 지원"으로 결정될 수 있다. 또 다른 예를 들어, 상기 파일 관리 정책에 따라, 대상 파일의 소유자가 유료 또는 비싼 요금의 파일 관리 서비스를 이용하는 사용자인 경우, 스토리지 요구사항은 "빠른 I/O 요구 속도" 및/또는 "재해 복구 지원"으로 결정될 수 있다. 다만, 상기 예시들은 본 발명의 일부 실시예를 설명하기 위한 것으로, 이외에도 다양한 파일 관리 정책이 설정될 수 있음은 물론이다.
단계(S106)에서, 스토리지 관리 장치(100)는 용도 코드를 결정한다. 보다 자세하게는, 스토리지 관리 장치(100)가 대상 파일의 속성 및 스토리지에 대한 요구사항 중 적어도 하나의 요소를 기초로 대응되는 용도 코드를 결정한다. 예를 들어, 스토리지 관리 장치(100)는 소정의 매핑 정보를 이용하여 상기 용도 코드를 결정할 수 있다. 다른 예를 들어, 파일의 속성 및 스토리지에 대한 요구사항이 각각 제1 코드 및 제2 코드에 대응되고, 용도 코드가 상기 제1 코드 및 상기 제2 코드의 조합으로 부여되는 경우, 스토리지 관리 장치(100)는 대상 파일의 속성 및 스토리지에 대한 요구사항을 대응되는 코드로 변환하고, 상기 변환된 코드가 포함된 용도 코드를 조회함으로써 상기 용도 코드를 결정할 수 있다. 단, 상기 예시들은 본 발명의 일부 실시예를 설명하기 위한 것으로, 용도 코드를 결정하는 방식은 얼마든지 달라질 수 있다.
단계(S108)에서, 스토리지 관리 장치(100)는 복수의 스토리지 프로필 중에서 결정된 용도 코드를 가지는 스토리지 프로필을 조회한다.
한편, 동일한 용도로 이용되는 복수의 스토리지 장치가 존재하는 경우, 상기 조회 결과로 복수의 스토리지 프로필이 조회될 수 있다. 복수의 스토리지 장치가 존재하는지 여부는, 조회된 스토리지 프로필에서 서로 다른 스토리지 식별자가 나타나는지 여부로 판정될 수 있다. 이와 같은 경우, 스토리지 관리 장치(100)는 스토리지 프로필에 부여된 우선 순위를 기준으로 어느 하나의 스토리지 프로필을 선정할 수 있다. 이때, 상기 우선순위는 관리자에 의해 부여되는 고정된 우선 순위 또는 스토리지 장치의 사용률, I/O 성능 등의 요소에 기초하여 자동으로 변동되는 우선 순위일 수 있다.
단계(S110)에서, 스토리지 관리 장치(100)는 조회된 스토리지 프로필의 스토리지 식별자를 상기 파일 쓰기 요청의 응답으로 제공한다. 상기 파일 쓰기 요청의 응답으로 제공된 스토리지 식별자는 대상 파일의 메타 정보에 기록될 수 있다.
단계(S112)에서, 스토리지 관리 장치(100)는 조회된 스토리지 프로필의 스토리지에 대상 파일이 저장되도록 하는 커맨드를 생성한다. 상기 커맨드에 따라, 조회된 스토리지 프로필이 가리키는 스토리지에 상기 대상 파일이 저장될 수 있다.
지금까지, 도 7을 참조하여, 본 발명의 일 실시예에 따른 파일 쓰기 요청 처리 방법에 대하여 설명하였다. 다음으로, 도 8을 참조하여, 본 발명의 일 실시예에 따른 파일 읽기 요청이 처리되는 과정에 대하여 설명하도록 한다.
도 8은 본 발명의 일 실시예에 따른 파일 읽기 요청 처리 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다. 특히, 도 8은 서비스 제공 장치(200)와 스토리지 관리 장치(100) 사이에 파일 쓰기 요청이 처리된 이후 파일 읽기 요청이 처리되는 과정을 도시하고 있다.
도 8을 참조하면, 단계(S200)에서, 서비스 제공 장치(200)는 업로드 파일의 파일 쓰기 요청을 스토리지 관리 장치(100)로 제공한다. 실시예에 따라, 서비스 제공 장치(200)는 서비스 모듈(106)로 스토리지 관리 장치(100) 내부의 모듈로 구현될 수도 있으나, 이해의 편의를 제공하기 위해, 별도의 장치(e.g. 도 3 참조)인 것을 가정하여 설명하도록 한다.
단계(S202)에서, 서비스 제공 장치(200)는 스토리지 관리 장치(100)로부터 스토리지 식별자를 제공받는다. 도 7을 참조하여 설명한 바와 같이, 업로드 파일의 속성 및/또는 스토리지에 대한 요구사항을 기초로 용도 코드가 결정되고, 프로필 조회를 통해 상기 용도 코드를 갖는 타깃 스토리지의 스토리지 식별자가 제공될 수 있다.
단계(S204)에서, 서비스 제공 장치(200)는 상기 업로드 파일의 파일 메타 정보에 스토리지 식별자를 삽입한다.
단계(S206)에서, 서비스 제공 장치(200)는 업로드 된 파일의 다운로드 요청을 받는다. 예를 들어, 서비스 제공 장치(200)는 사용자 단말(30)로부터 업로드 된 파일의 다운로드 요청을 수신할 수 있다.
단계(S208)에서, 서비스 제공 장치(200)는 파일 메타 정보에서 업로드 된 파일의 파일 식별자(FILE_ID)를 이용하여 스토리지 식별자를 획득한다.
단계(S210)에서, 서비스 제공 장치(200)는 스토리지 식별자를 포함한 파일 읽기 요청을 스토리지 관리 장치(100)로 제공한다. 그러면, 스토리지 관리 장치(100)는 상기 스토리지 식별자를 갖는 타깃 스토리지에서 파일을 읽어오도록 하는 커맨드를 생성한다. 또한, 스토리지 관리 장치(100)는 상기 생성된 커맨드에 따라 읽어온 파일을 서비스 제공 장치(200)로 제공한다.
지금까지, 도 8을 참조하여, 본 발명의 실시예에 따라 파일 쓰기 요청 처리 이후에 파일 읽기 요청이 처리되는 과정에 대하여 설명하였다. 다음으로, 도 9를 참조하여, 스토리지 관리 장치(100)를 구현하는데 이용될 수 있는 예시적인 컴퓨팅 장치에 대하여 설명하도록 한다.
도 9는 본 발명의 일 실시예에 따른 스토리지 관리 장치(100)를 구현할 수 있는 예시적인 컴퓨팅 장치(300)의 하드웨어 구성도이다.
도 9를 참조하면, 컴퓨팅 장치(300)는 하나 이상의 프로세서(301), 버스(305), 네트워크 인터페이스(307), 프로세서(301)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(303)와, 복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 소프트웨어(309a)를 저장하는 스토리지(309)를 포함할 수 있다. 다만, 도 9에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 9에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(301)는 스토리지 관리 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(301)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(301)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 스토리지 관리 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(303)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(303)는 본 발명의 실시예들에 따른 복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법을 실행하기 위하여 스토리지(309)로부터 하나 이상의 프로그램(309a)을 로드할 수 있다. 도 9에서 메모리(303)의 예시로 RAM이 도시되었다.
버스(305)는 스토리지 관리 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(305)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
네트워크 인터페이스(307)는 스토리지 관리 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(307)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(307)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(309)는 상기 하나 이상의 프로그램(309a)을 비임시적으로 저장할 수 있다. 도 9에서 상기 하나 이상의 프로그램(309a)의 예시로 복수의 스토리지 장치를 이용한 파일 관리 서비스 제공 소프트웨어(309a)가 도시되었다.
스토리지(309)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
파일 관리 서비스 제공 소프트웨어(309a)는 메모리(303)에 로드되어, 프로세서(301)로 하여금 본 발명의 실시예에 따른 파일 관리 서비스 제공 방법을 실행하도록 하는 오퍼레이션을 포함할 수 있다.
예를 들어, 파일 관리 서비스 제공 소프트웨어(309a)는 제1 파일에 대한 파일 쓰기 요청을 제공 받는 오퍼레이션, 상기 스토리지 관리 장치에 의하여 관리되는 복수의 스토리지 프로필 중 상기 제1 파일의 속성에 대응되는 용도 코드를 가지는 스토리지 프로필을 조회하는 오퍼레이션 및 상기 조회된 스토리지 프로필이 가리키는 스토리지 장치에 상기 제1 파일이 저장되도록 하는 커맨드를 생성하는 오퍼레이션을 포함할 수 있다.
지금까지, 도 9를 참조하여 본 발명의 실시예에 따른 스토리지 관리 장치(100)를 구현할 수 있는 예시적인 컴퓨팅 장치(300)에 대하여 설명하였다.
지금까지 도 1 내지 도 9를 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티 태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (10)

  1. 복수의 스토리지 장치에 대한 읽기/쓰기 서비스를 제공하는 스토리지 관리 장치에 의하여 수행되는 방법에 있어서,
    제1 파일에 대한 파일 쓰기 요청을 제공 받는 단계;
    상기 스토리지 관리 장치에 의하여 관리되는 복수의 스토리지 프로필 중 상기 제1 파일의 속성에 대응되는 스토리지 프로필을 조회하는 단계; 및
    상기 조회된 스토리지 프로필이 가리키는 스토리지 장치에 상기 제1 파일이 저장되도록 하는 단계를 포함하는,
    복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법.
  2. 제1 항에 있어서,
    상기 조회된 스토리지 프로필에 포함된 스토리지 식별자를, 상기 파일 쓰기 요청에 대한 응답으로 제공하는 단계를 더 포함하는,
    복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법.
  3. 제1 항에 있어서,
    상기 조회된 스토리지 프로필에 포함된 스토리지 식별자를, 상기 스토리지 관리 장치에 의하여 관리되는 파일 메타 정보에 상기 제1 파일의 식별자와 함께 저장하는 단계를 더 포함하는,
    복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법.
  4. 제1 항에 있어서,
    스토리지 관리 서비스 사용 장치로부터 상기 제1 파일의 식별자를 포함한 파일 읽기 요청을 제공 받고, 이에 응답하여 i) 상기 제1 파일의 식별자를 이용하여 파일 메타 정보에서 상기 제1 파일이 저장된 스토리지 식별자를 얻고, ii) 상기 스토리지 관리 장치에 의하여 관리되는 복수의 스토리지 프로필 중 상기 얻은 스토리지 식별자를 가지는 스토리지 프로필을 조회하며, iii) 상기 조회된 스토리지 프로필이 가리키는 스토리지 장치에서 상기 제1 파일을 읽어오도록 하는 커맨드를 생성하고, iv) 읽어온 상기 제1 파일을 상기 스토리지 관리 서비스 사용 장치에 제공하는 동작을 수행하는 단계를 더 포함하는,
    복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법.
  5. 제1 항에 있어서,
    상기 제1 파일에 대한 파일 쓰기 요청을 제공 받는 단계는,
    상기 제1 파일이 기록될 스토리지에 대한 요구 사항을 가리키는 정보를 상기 파일 쓰기 요청과 함께 제공 받는 단계를 포함하고,
    상기 스토리지 프로필을 조회하는 단계는,
    상기 제1 파일의 속성 및 상기 제1 파일이 기록될 스토리지에 대한 요구 사항에 대응되는 용도 코드를 결정하는 단계; 및
    상기 결정된 용도 코드를 가지는 스토리지 프로필을 조회하는 단계를 포함하는,
    복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법.
  6. 제5 항에 있어서,
    상기 제1 파일의 속성은,
    상기 제1 파일의 확장자, 상기 제1 파일의 소유자, 상기 제1 파일의 사이즈 및 상기 제1 파일의 관리 등급 중 적어도 일부를 가리키는 정보인,
    복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법.
  7. 제5 항에 있어서,
    상기 제1 파일이 기록될 스토리지에 대한 요구 사항은,
    I/O 요구 속도, 재해 복구 지원, 스토리지의 지리적 위치, 스토리지 서비스 벤더 중 적어도 일부를 가리키는 정보인,
    복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법.
  8. 제1 항에 있어서,
    상기 스토리지 프로필을 조회하는 단계는,
    상기 제1 파일의 속성을 기준으로 상기 제1 파일이 기록될 스토리지에 대한 요구 사항을 결정하는 단계;
    상기 제1 파일의 속성 및 상기 결정된 요구 사항에 대응되는 용도 코드를 결정하는 단계; 및
    상기 결정된 용도 코드를 가지는 스토리지 프로필을 조회하는 단계를 포함하는,
    복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법.
  9. 제1 항에 있어서,
    스토리지 프로필을 조회하는 단계는,
    상기 조회된 스토리지 프로필이 복수 개 이고, 적어도 일부는 서로 다른 스토리지 식별자를 가지는 것인 경우, 스토리지 프로필에 부여된 우선 순위를 기준으로 하나의 스토리지 프로필을 조회하는 단계를 포함하는,
    복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법.
  10. 제1 항에 있어서,
    상기 복수의 스토리지 프로필에 대한 적어도 일부에 대한 편집 기능을 지원하는 사용자 인터페이스를 제공하는 단계를 더 포함하는,
    복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법.
KR1020170141415A 2017-10-27 2017-10-27 복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법 및 그 장치 KR102362699B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170141415A KR102362699B1 (ko) 2017-10-27 2017-10-27 복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170141415A KR102362699B1 (ko) 2017-10-27 2017-10-27 복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20190047484A true KR20190047484A (ko) 2019-05-08
KR102362699B1 KR102362699B1 (ko) 2022-02-11

Family

ID=66580480

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170141415A KR102362699B1 (ko) 2017-10-27 2017-10-27 복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102362699B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021040456A1 (ko) * 2019-08-29 2021-03-04 삼성전자 주식회사 파일 시스템에 저장된 파일 또는 디렉토리의 크기를 획득하기 위한 전자 장치 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069295B2 (en) * 2001-02-14 2006-06-27 The Escher Group, Ltd. Peer-to-peer enterprise storage
US20080235191A1 (en) * 2005-08-01 2008-09-25 Koninklijke Philips Electronics, N.V. Organizing Content Using a Dynamic Profile
US20100205263A1 (en) * 2006-10-10 2010-08-12 Bea Systems, Inc. Sip server architecture for improving latency during message processing
KR20130048594A (ko) 2011-11-02 2013-05-10 삼성전자주식회사 지연 요소를 고려한 분산 스토리지 시스템, 분산 스토리지 관리 장치 및 방법
KR20140048396A (ko) * 2012-10-11 2014-04-24 주식회사 케이티 클라우드 스토리지 서비스의 파일 검색 시스템 및 방법, 및 파일 제어 방법
KR20140103870A (ko) * 2013-02-19 2014-08-27 주식회사 엘지씨엔에스 클라우드 컴퓨팅 기반의 네트워크 접속 스토리지 관리

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069295B2 (en) * 2001-02-14 2006-06-27 The Escher Group, Ltd. Peer-to-peer enterprise storage
US20080235191A1 (en) * 2005-08-01 2008-09-25 Koninklijke Philips Electronics, N.V. Organizing Content Using a Dynamic Profile
US20100205263A1 (en) * 2006-10-10 2010-08-12 Bea Systems, Inc. Sip server architecture for improving latency during message processing
KR20130048594A (ko) 2011-11-02 2013-05-10 삼성전자주식회사 지연 요소를 고려한 분산 스토리지 시스템, 분산 스토리지 관리 장치 및 방법
KR20140048396A (ko) * 2012-10-11 2014-04-24 주식회사 케이티 클라우드 스토리지 서비스의 파일 검색 시스템 및 방법, 및 파일 제어 방법
KR20140103870A (ko) * 2013-02-19 2014-08-27 주식회사 엘지씨엔에스 클라우드 컴퓨팅 기반의 네트워크 접속 스토리지 관리

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021040456A1 (ko) * 2019-08-29 2021-03-04 삼성전자 주식회사 파일 시스템에 저장된 파일 또는 디렉토리의 크기를 획득하기 위한 전자 장치 및 방법
US11868401B2 (en) 2019-08-29 2024-01-09 Samsung Electronics Co., Ltd Electronic device and method for acquiring size of file or directory stored in file system

Also Published As

Publication number Publication date
KR102362699B1 (ko) 2022-02-11

Similar Documents

Publication Publication Date Title
US10671285B2 (en) Tier based data file management
US9189168B2 (en) Data migration system and data migration method
US7890716B2 (en) Method of managing time-based differential snapshot
US8756199B2 (en) File level hierarchical storage management system, method, and apparatus
US11102299B2 (en) Data processing system
US8099394B2 (en) Persistent data storage for data files of application data
US9141542B1 (en) System, method and computer program product for host system LTFS auto-adaptation
US8560801B1 (en) Tiering aware data defragmentation
US20070276838A1 (en) Distributed storage
KR20120102664A (ko) 미래 사용 추정에 기반한 저장 메모리 할당
CN108234554B (zh) 一种云文件编辑方法及装置
US10360076B1 (en) Prioritized rebalancing of distributed file system
CN106331075B (zh) 用于存储文件的方法、元数据服务器和管理器
US8924359B1 (en) Cooperative tiering
EP3401775A1 (en) Object overlay for storage-area network (san) appliances
US20170109376A1 (en) Method for managing data using in-memory database and apparatus thereof
CN103197987A (zh) 一种数据备份的方法、数据恢复的方法及系统
US8631166B2 (en) Storage devices with bi-directional communication techniques and method of forming bi-directional communication layer between them
KR102362699B1 (ko) 복수의 스토리지 장치를 이용한 파일 관리 서비스의 제공 방법 및 그 장치
CN108984589A (zh) 一种数据写入方法及服务器
JP5444728B2 (ja) ストレージシステム、ストレージシステムにおけるデータ書込方法及びデータ書込プログラム
CN109241011B (zh) 一种虚拟机文件处理方法及装置
CN111858498A (zh) 存储类型转换方法、系统、装置及设备
CN112527323A (zh) 一种安装Ambari的方法、装置和Ambari架构
WO2024174899A1 (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
GRNT Written decision to grant