KR101179472B1 - 파일관리 시스템 및 파일관리시스템의 컨텐츠 제공 방법 - Google Patents

파일관리 시스템 및 파일관리시스템의 컨텐츠 제공 방법 Download PDF

Info

Publication number
KR101179472B1
KR101179472B1 KR1020090061854A KR20090061854A KR101179472B1 KR 101179472 B1 KR101179472 B1 KR 101179472B1 KR 1020090061854 A KR1020090061854 A KR 1020090061854A KR 20090061854 A KR20090061854 A KR 20090061854A KR 101179472 B1 KR101179472 B1 KR 101179472B1
Authority
KR
South Korea
Prior art keywords
information
content
data group
file
data
Prior art date
Application number
KR1020090061854A
Other languages
English (en)
Other versions
KR20100094312A (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 US13/202,086 priority Critical patent/US9218346B2/en
Priority to PCT/KR2010/000925 priority patent/WO2010095836A2/en
Publication of KR20100094312A publication Critical patent/KR20100094312A/ko
Application granted granted Critical
Publication of KR101179472B1 publication Critical patent/KR101179472B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 파일 시스템, 파일 시스템의 장치, 파일시스템의 컨텐츠 제공방법 및 관리방법에 관한 것으로서, 1) 전체 데이터노드(서버)를 그룹화하여 수개의 데이터노드(서버)를 포함하는 데이터그룹으로 관리하고, 2) 컨텐츠관리 정보를 정의하고, 3) 그 정의한 컨텐츠 관리정보를 이용하여 컨텐츠들을 각 데이터그룹에 저장 및 복사하여 관리 및 유지하여, 4) 컨텐츠들을 파일조각(chunk)이 아닌, 파일 단위로 유지 및 관리함으로써, 데이터노드(서버) 장애로 인한 데이터 손실을 최소화하고 데이터(컨텐츠) 관리의 편의성을 제공한다.
파일 시스템

Description

파일관리 시스템 및 파일관리시스템의 컨텐츠 제공 방법{FILE SYSTEM AND METHOD FOR DELIVERING CONTENTS IN FILE SYSTEM}
본 발명은 파일 시스템(file system)에 관한 것으로서, 특히 클러스터 파일 시스템에 관한 것이다.
본 발명은 특허출원 제10-2009-0013617호(2009년 2월 18일자 출원)의 원출원을 기초로 국내우선권주장출원을 하는 바, 본 발명은 원출원에 기재된 사항을 원용합니다.
현재 인터넷뿐만 아니라 이동 통신망 등의 다양한 통신망을 통한 다양한 방법으로 파일의 전송이 수행되고 있다.
파일 시스템(file system)이란, 컴퓨터 파일에 이름을 붙이고, 저장이나 검색을 위해 논리적으로 그것들을 위치시키는 방법 등을 구현하는 시스템이다.
파일 시스템에는 RAID(Redundant Array of Inexpensive Disk)와 클러스터 파일 시스템(cluster file system)이 있다.
클러스터 파일시스템이란, 네트워크로 연결된 다수의 독립된 노드(서버)를 하나로 클러스터링하여 단일화된 스토리지로 사용자에게 제공하여 주는 파일 시스 템을 말한다. RAID가 여러 개의 디스크를 묶어 용량, 속도, 안정성을 배가하는 기술이라면, 클러스터 파일시스템은 여러 개의 스토리지 서버를 묶어 RAID로는 접근하기 어려운 고용량(수TB~수백TB), 높은 대역폭(수Gbps~수백Gbps), 고가용성(27*7 Service)을 구현하는 기술이다.
도 1은 일반적인 클러스터 파일 시스템 블록도이다.
도 1을 참조하면, LAN(Local Area Network) 내에서 수평관계의 데이터노드(즉, 서버)들을 네임노드(namenode)가 메타데이터(metadata)를 이용하여 관리한다. 여기서, 메타데이터란 파일이름, 파일크기, 복사정보 등 데이터 파일을 관리하기 위한 정보를 포함한다.
도 1과 같이, 종래 기술은 웹검색 엔진 등에서 빠른 응답속도를 보장하기 위해, 파일(즉, 컨텐츠)을 조각(chunk) 단위로 관리한다. 즉, 종래 클러스터 파일시스템은, 컨텐츠를 조각으로 분산 및 복사하여 데이터노드들에 저장한다. 따라서, 종래 클러스터 파일시스템은, 컨텐츠를 전송(delivery)하는 경우, 먼저 각 데이터노드에서 컨텐츠의 해당 조각(chunk)들을 취합하고, 그 다음 그 취합한 조각들(즉, 컨텐츠)을 전송하여야 한다. 예를 들어, 사용자가 특정 컨텐츠(데이터)를 업로드하려는 경우, 그 컨텐츠는 조각 단위(chunk)로 나뉘어져 데이터노드들에 분산되어 저장된다. 또한, 사용자가 특정 컨텐츠를 다운로드 받으려는 경우, 네임노드는 각 데이터노드에 조각으로 분산 저장된 데이터를 취합한 후 사용자에게 다운로드하여 준다.
그런데, 종래 클러스터 파일시스템은, 관리하는 컨텐츠(파일)의 크기가 작은 경우에는 상관이 없다. 그러나, 종래 클러스터 파일시스템에서 대용량의 컨텐츠 파일(예를 들어, 미디어 파일)을 데이터노드들에 분산 저장하려면, 그 분산 저장할 해당 파일의 조각들의 개수가 증가하기 때문에, 그 파일의 조각들을 분산저장 및 취합하기가 어렵다.
또한, 이와 같이 다수의 조각들로 분산 저장되는 대용량의 컨텐츠 파일은, 그 조각들의 개수가 많기 때문에, 원거리통신망(WAN: wide area network)에 적용하려면 별도의 중계기가 필요하다. 또한 종래 클러스터 파일시스템을 원거리통신망에 적용하는 경우, 전체 데이터노드를 하나의 로컬 세그먼트(local segment)로 묶어주어야 하기 때문에 트래픽 확장에 기술적 한계가 있다.
이상과 같이, 일반적인 클러스터 파일시스템을 트래픽(또는 delivery) 문제가 대두되는 인터넷 서비스 환경에 접목하는 경우에, 사용자 수가 증가와 컨텐츠의 고용량에 따라 고 가용성(24*7 Service)을 유지하며 트래픽을 유연하게 처리함에 어려움이 있다.
상기한 바와 같은 종래의 문제점을 해결하기 위해, 본 발명은 전체 데이터노드를 그룹화(일명, ‘데이터그룹’으로 그룹화)하여 파일 단위로 컨텐츠를 관리 및 유지함으로써, 클러스터 파일시스템의 기본적인 고용량과 안정성을 확보하고, 대용량 트래픽 처리 능력과 고가용성을 갖춘 파일 시스템 및 컨텐츠 서비스를 제공하는 것이다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 따른 파일 시스템의 컨텐츠 제공 방법은,
(A) 사용자로부터 컨텐츠 업로드 요청을 수신하는 단계와; (B) 컨텐츠 관리 정보를 이용하여 하나 이상의 데이터그룹에 상기 컨텐츠를 저장하는 단계와, 상기 데이터그룹은 하나 이상의 서버로 구성되며 상기 컨텐츠는 상기 데이터그룹에 한 개만이 존재하도록 저장되고; (C) 타 사용자들로부터 상기 컨텐츠의 접근 요청을 받으면 상기 컨텐츠를 제공하는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 컨텐츠가 타 데이터그룹으로 전달되는 단계를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 (C) 단계는, 상기 타 사용자들로부터 상기 컨텐츠의 접근 요청에 대한 트래픽을 산출하는 단계와; 상기 산출한 트래픽이 미리 정한 임계값보다 크면, 가속 서버를 통하여 상기 컨텐츠의 접근 요청한 상기 타 사용자들에 게 상기 컨텐츠를 제공하는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 타 사용자로부터 상기 컨텐츠의 접근 요청이 있으면, 상기 컨텐츠 관리 정보를 이용하여 상기 컨텐츠를 저장하고 있는 특정 데이터그룹을 선택하는 단계와; 상기 선택된 데이터그룹을 통하여 상기 컨텐츠를 상기 타 사용자에게 제공하는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 (B) 단계에서, 상기 컨텐츠는 파일 단위로 저장되는 것을 특징으로 한다.
바람직하게는, 상기 컨텐츠 관리 정보는, 로드(load) 정보와, 데이터그룹 정보와, 파일 정보와, 복사상태 정보 중 적어도 하나를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 데이터그룹과 상기 타 데이터그룹은, 동일한 컨텐츠를 유지하는 것을 특징으로 한다.
또한, 상기와 같은 목적을 달성하기 위해, 본 발명에 따른 파일 시스템의 컨텐츠 관리 방법은,
(a) 사용자들로부터 업로드된 컨텐츠들을 데이터그룹에 저장하는 단계와; (b) 상기 컨텐츠들과 관련된 컨텐츠관리 정보(또는 파일관리 정보)를 이용하여 상기 데이터그룹에 동일한 컨텐츠가 존재하지 않도록 관리하는 단계와; (c) 상기 컨텐츠관리 정보를 이용하여 상기 데이터그룹에 저장되어 있는 컨텐츠들을 타 데이터그룹에 복사하는 단계와; (d) 사용자들로부터 특정 컨텐츠의 접근 요청이 있는 경우, 상기 특정 컨텐츠 요청에 대한 트래픽에 기초하여 상기 특정 컨텐츠를 상기 사 용자들에게 제공하는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 (d) 단계는, 상기 컨텐츠들의 접근 요청에 대한 트래픽을 산출하는 단계와; 상기 산출한 트래픽 관련 정보와 상기 컨텐츠 관리정보를 이용하여 상기 특정 컨텐츠를 보유하고 있는 데이터그룹을 선택하는 단계와; 상기 선택한 데이터그룹으로부터 상기 특정 컨텐츠가 상기 사용자들에게 제공되는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 (d) 단계는
상기 특정 컨텐츠의 접근 요청에 대한 트래픽을 산출하는 단계와; 상기 산출한 트래픽이 이미 지정한 임계값보다 큰 경우, 가속 서버로부터상기 특정 컨텐츠를 상기 사용자들에게 제공되는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 파일 관리 정보는, 로드(load) 정보와, 데이터그룹 정보와, 파일 정보와, 복사상태 정보 중 적어도 하나를 포함하는 것을 특징으로 한다.
또한, 상기와 같은 목적을 달성하기 위해, 본 발명에 따른 파일관리 시스템은
다수의 데이터그룹들과; 사용자로부터 컨텐츠 업로드 요청을 수신하고, 컨텐츠 관리 정보를 이용하여 상기 컨텐츠를 저장할 데이터그룹을 선택하고, 상기 선택된 데이터그룹에 상기 컨텐츠를 저장하고, 상기 선택된 데이터그룹에 상기 컨텐츠가 한 개만 존재하도록 관리하고,
상기 선택된 데이터그룹에 저장된 컨텐츠들을 다른 데이터그룹들에 복사하는 관리서버를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 데이터그룹은, 적어도 하나 이상의 데이터노드를 포함하여 구성된 것을 특징으로 한다.
바람직하게는, 상기 다수의 데이터그룹들은 동일한 수와 양만큼의 컨텐츠들을 저장하고 있고, 상기 데이터그룹들의 각각은 동일한 컨텐츠를 중복하여 보유하고 있지 않은 것을 특징으로 한다.
바람직하게는, 상기 관리서버는 컨텐츠의 접속 요청에 대한 트래픽을 산출하고, 특정 컨텐츠에 대한 트래픽이 미리 정한 임계값 이상인 경우, 가속 서버를 통하여 상기 특정 컨텐츠를 사용자에게 제공하는 것을 특징으로 한다.
바람직하게는, 상기 관리 서버는, 상기 컨텐츠를 파일 단위로 상기 선택된 데이터그룹에 저장하는 것을 특징으로 한다.
바람직하게는, 상기 컨텐츠 관리 정보는 로드(load) 정보와, 데이터그룹 정보와, 파일 정보와, 복사상태 정보 중 적어도 하나를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 관리서버로부터 높은 트래픽의 컨텐츠 정보를 전달받고; 그 컨텐츠를 저장하고; 상기 관리서버의 제어에 의해 상기 컨텐츠를 상기 사용자들에게 제공하는 가속서버를 더 포함하는 것을 특징으로 한다.
또한, 상기와 같은 목적을 달성하기 위해, 본 발명에 따른 장치는,
사용자들로부터 컨텐츠들의 업로드 요청 및 상기 컨텐츠들을 수신하는 수신부와; 상기 수신한 컨텐츠들가 저장될 데이터그룹을 선택하고, 상기 컨텐츠들과 관련된 컨텐츠 관리정보(파일관리 정보)를 생성하고, 그 생성한 파일관리 정보를 이 용하여 상기 데이터그룹에 동일한 컨텐츠가 존재하지 않도록 관리하는 관리부와; 상기 컨텐츠관리 정보를 이용하여 상기 데이터그룹에 저장되어 있는 컨텐츠들을 복사하기 위해 타 데이터그룹에 전달하는 송신부와; 상기 사용자들로부터 상기 컨텐츠들 중 특정 컨텐츠의 접근 요청이 있는 경우, 상기 특정 컨텐츠 요청에 대한 트래픽에 기초하여 상기 특정 컨텐츠를 상기 사용자들에게 제공하는 처리부를 포함하는 것을 특징으로 한다.
또한, 상기와 같은 목적을 달성하기 위해, 본 발명에 따른 기록매체는,
(A) 사용자로부터 컨텐츠 업로드 요청을 수신하는 단계와; (B) 컨텐츠 관리 정보를 이용하여 하나 이상의 데이터그룹에 상기 컨텐츠를 저장하는 단계와, 상기 데이터그룹은 하나 이상의 데이터노드로 구성되며 상기 컨텐츠는 상기 데이터그룹에 한 개만이 존재하도록 저장되고; (C) 타 사용자들로부터 상기 컨텐츠의 접근 요청을 받으면 상기 데이터그룹에서 상기 컨텐츠를 제공하는 단계;를 수행하는 알고리즘이 포함된 것을 특징으로 한다.
또한, 상기와 같은 목적을 달성하기 위해, 본 발명에 따른 기록매체는,
(a) 사용자들로부터 업로드된 컨텐츠들을 데이터그룹에 저장하는 단계와; (b) 상기 컨텐츠들과 관련된 컨텐츠관리 정보를 이용하여 상기 데이터그룹에 동일한 컨텐츠가 존재하지 않도록 관리하는 단계와; (c) 상기 컨텐츠관리 정보를 이용하여 상기 데이터그룹에 저장되어 있는 컨텐츠들을 타 데이터그룹에 복사하는 단계와; (d) 사용자들로부터 특정 컨텐츠의 접근 요청이 있는 경우, 상기 특정 컨텐츠 요청에 대한 트래픽에 기초하여 상기 특정 컨텐츠를 상기 사용자들에게 제공하는 단계;를 수행하는, 파일 시스템에서의 컨텐츠 관리의 알고리즘을 포함하는 것을 특징으로 한다.
본 발명은 전체 데이터노드(서버)를 하나 이상의 데이터그룹들로 그룹화하고, 각 데이터그룹 내에 컨텐츠(즉, 파일)들이 한 개씩만 존재하도록, 컨텐츠를 조각 단위가 아닌 파일단위로 저장하기 때문에, 데이터(컨텐츠)의 취합 및 중계과정을 수행할 필요가 없다. 또한 본 발명은 클러스터 파일시스템의 기본적인 고용량과 안정성을 확보하면서도 대용량 트래픽 처리 능력과 고가용성을 제공할 수 있다.
본 발명은 데이터그룹에 파일의 완전한 복사본이 유지되고, 그룹간에 파일의 취합 과정이 없으므로, 데이터그룹 간에 WAN 환경 배치가 가능하다.
본 발명은 컨텐츠(데이터 또는 파일)를 분산하여 관리하기에 용이하고, 노드의 장애가 데이터 손실에 미치는 영향을 최소화할 수 있기 때문에, 시스템 관리에 있어서 편의성이 증대되는 효과가 있다.
본 발명은 클러스터 파일 시스템에 적용된다. 그러나, 본 발명은 이에 한정하지 않고, 본 발명의 기술적 사상이 적용될 수 있는 모든 데이터관리 및 데이터 제공 시스템에 적용될 수 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발 명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명의 설명을 위한 전제 사항 및 기술적 용어를 설명한다.
데이터노드는 스토리지 서버에 해당한다. 사용자가 업로드한 데이터(또는 컨텐츠)를 저장하는 장치에 해당한다. 상기 데이터노드는 한 개 이상으로 구성되어 데이터그룹의 구성요소가 될 수 있다.
사용자(유저)는 종단 사용자(end user)이거나 또는 본 발명의 시스템에 컨텐 츠를 제공하는 컨텐츠 제공자(content provider)일 수도 있다.
데이터그룹(data group)는 한 개 이상의 데이터노드를 포함하는 스토리지 그룹이다. 데이터그룹은 다수의 데이터노드를 포함하고, 특정 콘텐츠(데이터)가 데이터노드 기준이 아닌 데이터그룹 기준에서 관리된다. 즉, 데이터그룹에 3개의 스토리지 노드(예를 들어, 제1 데이터노드, 제2 데이터노드 및 제3 데이터노드)가 포함되어 있다면, 특정 데이터(예를 들어, A 컨텐츠)는 3개의 데이터노드 중 한 곳의 데이터노드에만 저장된다. 다시 말해서, 상기 특정 데이터는 데이터그룹에서 한 개만이 존재하도록 관리된다. 즉, 다수의 데이터노드를 포함하는 각각의 데이터그룹은 동일한 컨텐츠를 중복하여 유지하지 않도록 관리된다.
본 발명에서 네트워크는 LAN과 같은 근거리네트워크이거나 또는 WAN 같은 네트워크 의미일 수도 있다. 한편 본 발명에서 네트워크는 LAN과 WAN이 복합적으로 구성된 것 일 수도 있다. 예를 들어, 협의적 의미로 네트워크는 LAN 일 수도 있고, 한편 광의적 의미로서 다수의 데이터그룹을 포함하는 IDC (internet data center)일 수 있고, 또한 본 발명의 기술이 제공되는 시스템의 네트워크 구성요소(예를 들어, 도 6에 도시된 네트워크 구성요소들)를 모두 포함할 수 있다.
데이터그룹은 특정 컨텐츠(데이터)를 동일 네트워크(예를 들어, 서울의 지역 네트워크) 내의 데이터그룹 또는 타 네트워크(예를 들어, 뉴욕의 지역 네트워크) 내의 데이터그룹으로 복사를 위한 전송을 할 수 있다.
관리서버는 컨텐츠 관리 정보(또는 파일관리 정보)를 이용하여 데이터그룹에 파일단위로 컨텐츠(또는 데이터)를 저장하고, 타 데이터그룹노드에 복사되도록 관 리하는 네트워크 엔티티이다.
가속 서버(accelerated server)는 관리서버의 제어에 의해 트래픽이 높거나 특정 이벤트가 있는 컨텐츠를 빠르게 사용자에게 제공하기 위한 장치이며, 예를 들어 캐시(cache)서버이거나 상기 특정 이벤트가 있는 컨텐츠를 관리하는 별도의 데이터노드로 존재할 수 있다. 또한 가속 서버는 네트워크(예를 들어, LAN, 또는 IDC 그룹 ) 내에, 또는 데이터그룹 내에 일 구성요소로 구성되거나, 독립된 네트워크 구성요소로 구성하여 운용될 수도 있다.
컨텐츠 관리정보는 컨텐츠(데이터)를 파일단위로 데이터그룹에 저장되고, 타 데이터그룹에 복사하기 위해 관리서버가 이용하는 정보이다. 컨텐츠 관리 정보는 로드(load) 정보와, 데이터그룹 정보와, 파일 정보와 복사상태 정보를 포함한다. 컨텐츠 관리정보는 본 발명에서 정의한 것이며, 관리서버에서 생성된다.
컨텐츠 관리정보를 설명하면 다음과 같다:
1) 로드정보는 사용자(유저)가 업로드하는 컨텐츠와 관련된 로드정보이며, 예를 들어 Disk I/O과, 세션수 확인, 랭킹(즉, hit count check) 등과 같은 정보를 포함한다;
2) 데이터그룹 정보는 어느 데이터그룹에 저장될 것이고 또한 저장되어 있는가, 즉 데이터그룹의 위치 및 그 데이터그룹 내의 데이터노드의 위치, 데이터그룹의 동작상태(예를 들어, 장애유무등), 또한 저장된 시간 및 데이터노드의 ID, 데이터그룹 ID, 네트워크의 ID등을 포함한다;
3) 파일정보는 해당 컨텐츠에 대한 파일의 ID, 파일명, 상태(예를 들어, 정 상, 삭제, 임시보류), 파일크기, 생성시간, 파일의 형태, 코덱 등의 정보를 포함한다. 또한, 파일정보는 동접자수 확인 정보(즉, 프로그램 상으로 세션 수를 확인할 수 있는 정보)와, 히트 카운트 확인(hit count check) 정보(즉, 특정 파일 내지 컨텐츠에 대한 순간 히트 수를 확인 및/또는 누적 히트 수를 확인 할 수 있는 정보)와, 디스크의 입출력 확인(disk I/O check) 정보를 포함하고 있으며, 랭킹 정보를 확인할 수 있다;
4) 복사상태 정보는 컨텐츠가 복사된 횟수 및 복사된 시간, 복사(복제)된 파일의 ID, 복사위치정보(예를 들어, 데이터그룹의 ID 및 그 데이터그룹 내 데이터노드의 ID, 또는 가속서버에 대한 복사위치 정보 등), 분산요청정보 등이 포함된다.
이하, 상술한 본 발명의 기술적 용어에 기초하여, 본 발명의 기본개념 및 구체적인 실시 예를 설명한다.
본 발명의 기본개념은, (1) 전체 데이터노드를 수평하게 보지 않고, 그룹화하여 관리하고, (2) 컨텐츠 복사본(예를 들어, 사용자가 업로드한 동영상 데이터 또는 이미지 파일)은 그룹(일명, 데이터그룹)당 1개의 복사본을 유지하고, (3) 이를 위해 컨텐츠 관리 정보를 정의한다. 또한 (4) 본 발명은 상기 컨텐츠 복사본을 파일조각(chunk)가 아닌 파일 단위로 저장하고, (5) 다른 그룹에 분산 복사(복제)하고, 사용자로부터 요청이 많은 경우 가속서버(예를 들어, 캐시 또는 전용의 스토리지 서버 내지 장치)를 운영한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명한다. 다만, 첨부된 도면에서 도면 부호가 동일한 구성요소는, 그 동작 및 기 능이 동일하므로 그에 대한 중복되는 설명은 생략하기로 한다.
도 2은 본 발명의 일 실시 예로서, 본 발명에 따른 파일 시스템의 개략적인 블록도이다. 도 2은 컨텐츠(데이터)가 데이터그룹별로 관리가 되는데, 그 컨텐츠가 데이터그룹 내의 어느 데이터노드에 저장되는지를 나타낸 것이다. 도 2은, 로컬 네트워크로서 IDC(internet data center) A와 IDC B가 존재하는 예시이고, 상기 로컬 네트워크는 WAN(wide area network) 환경으로 구축된 예이다. 또한 도 2은 IDC A에는 데이터그룹 #1과 데이터그룹 #2가 있고, IDC B는 데이터그룹 #3이 존재하는 예시이다. 그리고, 도 2에서 각 데이터그룹은 3개의 데이터노드(스토리지 서버)를 포함하고 있는 구조이다. 즉, 도 2에서, 데이터그룹#1은 3개의 데이터노드 D1 ~ D3를, 데이터그룹#2은 3개의 데이터노드 D4 ~ D6를, 데이터그룹#3은 3개의 데이터노드 D7 ~ D9를, 각각 포함한다. 또한, 도 2에서, 데이터그룹 내의 데이터노드들에 저장되어 있는 c1, c2 및 c3은, 서로 다른 컨텐츠(데이터)들로서 사용자(예를 들어, 종단 사용자 또는 컨텐츠 제공자)가 업로드 내지 제공한 것이다. 다만, c1, c2 및 c3는 조각(chunk) 단위가 아닌 파일 단위로 데이터노드에 저장된다.
도 2에 도시된 바와 같이, 만약 컨텐츠 c1 및 c2는 데이터그룹 #1의 데이터노드들 중 D1에 저장되고, c3는 데이터그룹 #1의 D2에 저장되어 있다면, 상기 컨텐츠들(c1, c2 및 c3)은 데이터그룹 #2에 도 2과 같이 복사될 수 있다. 즉, c1은 데이터그룹 #2의 D5에, c2는 데이터그룹 #2의 D6에, c3는 데이터그룹 #2의 D4에 각각 복사되어 분산 저장된다. 한편, 데이터그룹 #1에 저장된 컨텐츠들(c1, c2 및 c3)은 WAN 환경으로 배치되어 있는 로컬 네트워크 IDC B의 데이터그룹 #3에 복사되어 저 장될 수 있다. 도 2의 일 예와 같이, c1은 데이터그룹 #3의 D9에, c2 및 c3는 데이터그룹 #3의 D8에 각각 전송되어, 각 컨텐츠의 복사본이 파일단위로 저장될 수 있다.
이상, 도 2에 도시된 바와 같이, 본 발명은 컨텐츠를 파일 단위로 데이터그룹 별로 저장 및 복사함으로써, 동일한 컨텐츠(데이터 또는 파일)가 동일한 데이터그룹에 한 개 만 존재하도록 관리 및 유지한다.
도 3는 본 발명의 일 실시 예로서, 본 발명에 따른 파일 시스템의 블록도이다. 도 3는 컨텐츠를 파일 단위로 관리함으로써, 데이터그룹이 저장하고 있는 컨텐츠(데이터)를 사용자에게 제공하는 블록도이다. 즉, 도 3에서, 데이터그룹은 동일 컨텐츠를 중복하여 저장하지 않고, 특정 컨텐츠를 한 개씩만 저장하고 있다. 따라서, 사용자의 요청이 있는 경우, 데이터그룹 별로 사용자가 요청한 컨텐츠(예를 들어, 동영상)를 파일단위로 직접 제공(delivery)할 수 있다.
도 2 및 도 3에 도시된 바와 같이, 본 발명은 파일단위로 데이터(컨텐츠)를 저장하고 있기 때문에, 컨텐츠의 조각들을 모으는 데이터의 취합 및 중계과정 필요없다. 또한, 데이터그룹은 파일(즉, 컨텐츠에 해당하는 파일)의 완전한 복사본을 유지하고 있으며, 파일 조각을 취합하는 과정이 필요 없기 때문에, 데이터그룹 간에 WAN 환경 배치를 용이하게 구현할 수 있다. 이러한 본 발명의 구조는 서버(즉, 데이터노드)들의 분산 관리에 용이하고, 데이터노드(또는 서버)의 장애가 데이터 손실에 미치는 영향을 최소화시킬 수 있다. 또한, 본 발명은 데이터그룹의 컨텐츠들을 임의로 다운로드 가능하기에, 관리의 편의성이 있다.
도 4은 본 발명의 일 실시 예로서, 가속서버를 적용한 본 발명에 따른 파일 시스템의 블록도이다. 도 4는 가속서버가 한국(Korea) 네트워크, 중국(China) 네트워크, 그리고 미국(USA) 네트워크에 구성된 예이다.
도 4에 도시된 바와 같이, 특정 컨텐츠에 대해 트래픽이 높거나 또는 이벤트 성 트래픽있는 경우, 가속서버가 적용될 수 있다. 즉, 트래픽이 높은 컨텐츠에 대한 트래픽을 외부 가속서버를 통해 라우팅하여, 특정 컨텐츠들에 집중되는 트래픽을 밸런싱(balancing)함으로써, 시스템의 성능 향상을 도모할 수 있다.
도 4에 도시된 바와 같이, 관리서버가 각 네트워크에서 특정 컨텐츠에 집중되는 히트(hit) 수, 즉, 트래픽을 계산하여, 그 트래픽(즉, 히트수)가 임계값 이상인 경우, 가속서버를 운영한다. 즉, 트래픽이 집중되는 컨텐츠를 가속서버에 저장하여 사용자들에게 제공을 한다.
도 4에서, 한국에 배치된 관리서버는, 미국이나 중국에서 특정 컨텐츠에 대한 트래픽이 집중되는 경우 미국이나 중국의 해당 데이터그룹 의 사용자에게 상기 특정 컨텐츠를 라우팅할 수 있다. 또한, 각 데이터그룹 또는 네트워크 내에 가속서버를 구성하여 높은 트래픽 또는 이벤트성 트래픽이 있는 컨텐츠가 사용자에게 제공된다.
예를 들어, 한국의 특정 데이터그룹에 있는 컨텐츠에 대하여 트래픽이 집중되면, 관리서버가 그 컨텐츠를 요청한 사용자에게 가속서버를 통하여 요청한 컨텐츠를 제공할 수 있다. 또 다른 예를 들면, 다른 데이터그룹의 가속 서버 또는 전체 네트워크에서 관리되는 가속서버를 통하여 상기 컨텐츠를 제공할 수도 있다. 즉, 도 4에서 중국 네트워크나 미국 네트워크에 가입된 사용자들이 요청하는 특정 컨텐츠에 트래픽이 집중되면, 한국 네트워크에 있는 가속서버를 통하여 상기 중국 또는 미국 네트워크의 사용자들에게 상기 요청한 컨텐츠들을 제공할 수도 있다. 이하, 가속서버의 기능 및 동작은 도 6을 참조하여 상세히 설명하기로 한다.
도 5는 본 발명의 일 실시 예로서, 본 발명에 따른 파일 시스템의 컨텐츠 제공 방법을 도시한 흐름도이다.
도 6는 본 발명의 일 실시 예로서, 본 발명에 따른 파일 시스템의 블록도이다. 도 7는 도 2 및 도 4의 실시 예가 적용된 도면이다. 또한, 도 6은 본 발명의 설명을 간결하기 위해, 개략적으로 도시한 본 발명의 일 실시 예이다.
이하, 도 5 및 도 6를 참조하여 설명한다.
사용자(10)가 컨텐츠(예를 들어, 동영상 데이터로서 c1)를 네트워크(IDC A)에 업로드 요청을 하면, 관리서버(30)는 사용자 인터페이스를 통하여 이를 수신한다(S1). 관리서버(30)는 상기 컨텐츠(즉, c1)의 정보와 네트워크 구성요소들의 정보를 이용하여, 컨텐츠 관리정보(또는 파일 관리정보)를 생성한다. 관리서버(30)는 상기 컨텐츠관리정보를 이용하여 상기 컨텐츠를 저장할 데이터그룹(예를 들어, 데이터그룹 #1)와 그 데이터그룹(예를 들어, 데이터그룹 #1) 내의 데이터노드(즉, D1, D2, D3 중 하나)를 결정하고, 그 결정된 데이터노드에 상기 컨텐츠를 조각(chunk) 단위가 아닌 파일 단위로 저장한다(S2). 즉, 상기 컨텐츠에 해당하는 한개의 파일을 다수의 파일 조각으로 분리하여 상기 데이터노드들(즉, D1, D2, D3)에 분산하여 저장하지 않고, 상기 컨텐츠에 해당하는 한 개의 파일을 상기 데이터노드 들(즉, D1, D2, D3) 중 결정된 한 데이터노드에 저장된다. 한편, 다른 컨텐츠(예를 들어, c2 및 c3)들 마찬가지로 상기 S1 및 S2과정을 통하여, 관리서버(30)가 컨텐츠 관리정보를 이용하여 데이터그룹 내의 데이터노드에 저장한다. 이때, 관리서버(30)는 상기 컨텐츠(c1, c2, 또는 c3)를 저장 시 상기 데이터그룹에 한 개만이 존재하도록 관리한다.
관리서버(30)는 데이터그룹 #1에 저장된 상기 컨텐츠(c1, c2, 및 c3)를 데이터그룹 #2 및 데이터그룹 #3에 복사하기 위해 전송을 한다(S3). 관리서버(30)가 상기 컨텐츠들을 다른 데이터그룹에 복사를 위해 전송할 때, 그 전송주기는 컨텐츠가 데이터노드에 저장될 때마다 또는 일정 시간마다 할 수도 있다. 또한, 관리서버(30)가 상기 컨텐츠들(c1, c2 및 c3)을 데이터그룹 #1에 일괄하여 저장한 후, 타 데이터그룹들(즉, 도 6에서 데이터그룹 #2 및 데이터그룹 #3)에 복사를 위한 전송을 할 수 있다. 한편, 관리서버(30)는 상기 컨텐츠들(c1, c2 및 c3)을 동일 네트워크(예를 들어, IDC A)의 데이터그룹 내 하나의 데이터노드에 저장한 후, 타 데이터그룹들에 복사를 위한 전송을 할 수 있다. 한편, 상기 컨텐츠들의 전송이 다른 네트워크로 수행될 때, 네트워크 간에 WAN 환경을 통하여 수행될 수 있다. 이러한 네트워크 간의 컨텐츠 복사 및 전송은 트래픽 밸런싱 및 CDN(contents delivery network)을 구현할 수 있게 한다.
또한, 관리서버(30)는 상기 컨텐츠를 일 데이터그룹(예를 들어, 데이터그룹 #1)가 타 데이터그룹(예를 들어, 데이터그룹 #2)로 전달하도록 제어할 수도 있고, 다른 실시 예로서 일 데이터그룹(예를 들어, 데이터그룹 #1)에 저장된 상기 컨텐츠 를 전달받아 타 데이터그룹(예를 들어, 데이터그룹 #2)로 직접 전달할 수도 있다.
관리서버(30)가 타 사용자들(20)로부터 상기 컨텐츠(예를 들어, c1)의 접근 요청을 받으면(S4), 상기 컨텐츠(즉, c1)을 저장하고 있는 상기 데이터그룹들(도 4에서, 데이터그룹 #1 또는 #2) 중에서 트래픽을 고려하여 데이터그룹을 선택하고, 그 선택된 데이터그룹이 상기 컨텐츠를 상기 사용자(20)에게 제공하게 한다(S5). 예를 들어, 데이터그룹 # 1 및 #2에 트래픽이 집중되어 있다면, 관리서버(30)는 트래픽 밸런싱을 수행할 수 있다. 즉, 관리서버(30)는 타 네트워크(예를 들어, IDC B)의 데이터그룹 #3이 상기 컨텐츠를 상기 타 사용자(20)에게 제공하게 관리할 수 있다.
한편, 관리서버(30)는 상기 타 사용자들로부터 상기 컨텐츠(예를 들어, c1)의 접근 요청에 있는 경우, 임의의 시간 내에 상기 컨텐츠에 집중되는 히트(hit) 수, 즉 트래픽을 산출한다. 그리고, 관리서버(30)는 상기 산출한 트래픽이 미리 정한 임계값보다 크면 가속서버(40)를 사용하여야 할 정도의 높은 트래픽으로 판단하고, 가속서버(40)가 상기 타 사용자들에게 상기 컨텐츠(즉, c1)를 파일단위로 제공하게 한다(S5). 따라서, 관리서버(30)는 특정 컨텐츠에 대한 히트(hit) 수를 확인하여, 데이터그룹의 데이터노드들에 저장되어 있는 컨텐츠들의 히트 랭킹을 정하고, 그 정한 랭킹의 일정 순위에 해당하는 컨텐츠들을 가속서버(40)에 복사한다. 한편, 가속서버(40)가 캐시(cache)인 경우는 해당 컨텐츠들이 자동으로 캐싱된다.
한편, 도 6에서 가속서버(40)는 독립된 서버로 확장된 경우의 실시 예이나, 가속서버(40)는 IDC 네트워크 내에 구성될 수도 있고 또한 데이터그룹 내에 구성될 수도 있다. 상기 S5 과정은 사용자(10 또는 20)가 요청한 컨텐츠를 파일단위로 제공하기 때문에, 컨텐츠가 파일 조각(chunk)들로 설정된 경우와 같이 데이터를 취합하고 중계하는 절차가 필요 없다.
이하, 본 발명에 따른 파일관리 시스템을 설명한다.
본 발명에 따른 파일 관리 시스템은, 다수의 데이터그룹들과; 사용자로부터 컨텐츠 업로드 요청을 수신하고, 컨텐츠 관리 정보를 이용하여 상기 컨텐츠를 저장할 데이터그룹을 선택하고, 상기 선택된 데이터그룹에 상기 컨텐츠를 저장하고, 상기 선택된 데이터그룹에 상기 컨텐츠가 한 개만 존재하도록 관리하고, 상기 선택된 데이터그룹에 저장된 컨텐츠들을 다른 데이터그룹들에 복사하는 관리서버를 포함하여 구성된다.
또한, 본 발명에 따른 파일관리 시스템은, 상기 관리서버로부터 높은 트래픽의 컨텐츠 정보를 전달받고, 그 컨텐츠를 저장하고, 상기 관리서버의 제어에 의해 상기 컨텐츠를 상기 사용자들에게 제공하는 가속서버를 더 포함하여 구성된다.
상기 데이터그룹들 각각은 한 개 이상의 데이터노드(스토리지 서버)를 포함하고 구성된다. 상기 데이터그룹들은 동일한 수와 양만큼의 컨텐츠들을 저장하고 있고,
상기 데이터그룹들의 각각은 동일한 컨텐츠들을 서로 복사하여 유지 및 저장하고 있으며, 동일한 컨텐츠를 중복하여 보유하지 않는다.
상기 관리서버는 컨텐츠의 접속 요청에 대한 트래픽을 산출하고, 특정 컨텐츠에 대한 트래픽이 미리 정한 임계값 이상인 경우, 가속 서버를 통하여 상기 특정 컨텐츠를 사용자에게 제공한다. 그 외 본 발명에 따른 파일 관리 시스템의 구성요소들의 각 기능은 도 2 내지 도 6에 설명한 바와 같다.
도 7은 본 발명의 일 실시 예로서, 본 발명에 따른 파일관리 장치를 개략적으로 도시한 블록도이다.
이하, 도 7을 참조하여, 본 발명에 따른 파일관리 장치를 설명한다.
본 발명에 따른 장치(30)는, 관리서버로서, 사용자들로부터 컨텐츠들의 업로드 요청 및 상기 컨텐츠들을 수신하는 수신부(31)와; 상기 수신한 컨텐츠들가 저장될 데이터그룹을 선택하고, 상기 컨텐츠들과 관련된 파일관리 정보(또는 컨텐츠관리 정보)를 생성하고, 그 생성한 파일관리 정보를 이용하여 상기 데이터그룹에 동일한 컨텐츠가 존재하지 않도록 관리하는 관리부(32)와; 상기 파일관리 정보를 이용하여 상기 데이터그룹에 저장되어 있는 컨텐츠들을 복사하기 위해 타 데이터그룹에 전달하는 송신부(33)와; 상기 사용자들로부터 상기 컨텐츠들 중 특정 컨텐츠의 접근 요청이 있는 경우, 상기 특정 컨텐츠 요청에 대한 트래픽에 기초하여 상기 특정 컨텐츠를 상기 사용자들에게 제공하는 처리부(34)를 포함하여 구성된다. 이외에도 상기 장치(30)는 본 발명을 구현하기 위한 기본적인 하드웨어(예를 들어, 입력부, 출력부, 저장부 등)와 소프트웨어(예를 들어, 구동 드라이버)를 포함한다. 이러한 구성은 본 발명의 기술분야의 장치에 필요한 장치들로서, 본 발명의 기술분야의 통상의 기술자에게 자명한 구성요소인 바, 그 상세한 명칭 및 기능을 생략한다.
이상, 본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 본 발명 기술 분야의 통상의 지식을 가진 자라면 이로부터 다 양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 일반적인 클러스터 파일 시스템 블록도이다.
도 2는 본 발명의 일 실시 예로서, 본 발명에 따른 파일 시스템의 개략적인 블록도이다.
도 3은 본 발명의 일 실시 예로서, 본 발명에 따른 파일 시스템의 블록도이다.
도 4는 본 발명의 일 실시 예로서, 가속서버를 적용한 본 발명에 따른 파일 시스템의 블록도이다.
도 5는 본 발명의 일 실시 예로서, 본 발명에 따른 파일 시스템의 컨텐츠 제공 방법을 도시한 흐름도이다.
도 6은 본 발명의 일 실시 예로서, 본 발명에 따른 파일 시스템의 블록도이다.
도 7은 본 발명의 일 실시 예로서, 본 발명에 따른 파일 관리 시스템의 일 장치를 개략적으로 도시한 블록도이다.

Claims (21)

  1. (A) 사용자로부터 컨텐츠 업로드 요청을 수신하는 단계와;
    (B) 파일관리 정보를 이용하여 하나 이상의 데이터그룹에 상기 컨텐츠를 파일 단위로 저장하는 단계와, 상기 데이터그룹은 하나 이상의 데이터노드로 구성되며 상기 컨텐츠는 상기 데이터그룹에 한 개만이 존재하도록 저장되고, 상기 파일관리 정보는 컨텐츠를 파일단위로 데이터그룹에 저장하고, 타 데이터그룹에 복사하기 위해 이용하는 정보이며, 상기 파일관리 정보는 로드(load) 정보와, 데이터그룹 정보와, 파일 정보와, 복사상태 정보 중 적어도 하나를 포함하고;
    (C) 타 사용자들로부터 상기 컨텐츠의 접근 요청을 받으면 상기 데이터그룹에서 상기 컨텐츠를 파일 단위로 제공하는 단계를 포함하는 것을 특징으로 하는 파일 시스템의 컨텐츠 제공 방법.
  2. 제1항에 있어서,
    상기 컨텐츠가 타 데이터그룹으로 전달되는 단계를 더 포함하는 것을 특징으로 하는 파일 시스템의 컨텐츠 제공 방법.
  3. 제1항에 있어서, 상기 (C) 단계는
    상기 타 사용자들로부터 상기 컨텐츠의 접근 요청에 대한 트래픽을 산출하는 단계와;
    상기 산출한 트래픽이 미리 정한 임계값보다 크면, 가속 서버를 통하여 상기 컨텐츠의 접근 요청한 상기 타 사용자들에게 상기 컨텐츠를 제공하는 단계;를 포함하되, 상기 가속 서버는 캐시(cache)서버로서, 네트워크 내의 일 구성되거나 도는 독립 네트워크로 구성되는 것을 특징으로 하는 파일 시스템의 컨텐츠 제공 방법.
  4. 제1항에 있어서, 상기 (C) 단계는
    상기 타 사용자로부터 상기 컨텐츠의 접근 요청이 있으면, 상기 파일관리 정보를 이용하여 상기 컨텐츠를 저장하고 있는 특정 데이터그룹을 선택하는 단계와;
    상기 선택된 데이터그룹을 통하여 상기 컨텐츠를 상기 타 사용자에게 제공하는 단계를 포함하는 것을 특징으로 하는 파일 시스템의 컨텐츠 제공 방법.
  5. 삭제
  6. 제1항에 있어서, 상기 파일관리 정보에서
    상기 로드정보는 사용자(유저)가 업로드하는 컨텐츠와 관련된 로드정보이고, 상기 로드정보는 Disk I/O과, 세션수 확인, 랭킹(hit count check) 중 적어도 한 개를 포함하고;
    상기 데이터그룹 정보는 상기 컨텐츠가 어느 데이터그룹에 파일단위로 저장될 것이고 또한 저장되어 있는가를 가리키는 정보이고, 상기 데이터그룹 정보는 데이터그룹의 위치와, 데이터그룹 내의 데이터노드의 위치와, 데이터그룹의 동작상태와, 상기 컨텐츠가 저장된 시간 및 데이터노드의 ID와, 데이터그룹 ID와, 네트워크의 ID 중 적어도 한 개를 포함하고;
    상기 파일정보는 상기 컨텐츠에 대한 파일의 ID와, 파일명과, 상태와, 삭제 정보, 파일크기와, 생성시간과, 파일의 형태와, 코덱 정보와, 동접자수 확인 정보와, 히트 카운트 확인(hit count check) 정보와, 디스크의 입출력 확인(disk I/O check) 정보와, 랭킹 정보 중 적어도 한 개를 포함하고;
    상기 복사상태 정보는 상기 컨텐츠가 파일단위로 복사된 횟수와, 복사된 시간과, 복사된 파일의 ID와, 복사위치정보와, 분산요청정보 중 적어도 한 개를 포함하는 것을 특징으로 하는 파일 시스템의 컨텐츠 제공 방법.
  7. 제2항에 있어서, 상기 데이터그룹과 상기 타 데이터그룹은
    동일한 컨텐츠를 유지하는 것을 특징으로 하는 파일 시스템의 컨텐츠 제공 방법.
  8. (a) 사용자들로부터 업로드된 컨텐츠들을 데이터그룹에 저장하는 단계와;
    (b) 상기 컨텐츠들과 관련된 파일관리 정보를 이용하여 상기 데이터그룹에 동일한 컨텐츠가 존재하지 않도록 관리하는 단계와, 상기 파일관리 정보는 컨텐츠를 파일단위로 데이터그룹에 저장하고, 타 데이터그룹에 복사하기 위해 이용하는 정보이며, 상기 파일관리 정보는 로드(load) 정보와, 데이터그룹 정보와, 파일 정보와, 복사상태 정보 중 적어도 하나를 포함하고;
    (c) 상기 파일관리 정보를 이용하여 상기 데이터그룹에 저장되어 있는 컨텐츠들을 타 데이터그룹에 복사하는 단계와;
    (d) 사용자들로부터 특정 컨텐츠의 접근 요청이 있는 경우,
    상기 특정 컨텐츠 요청에 대한 트래픽에 기초하여 상기 특정 컨텐츠를 상기 사용자들에게 제공하는 단계를 포함하는 것을 특징으로 하는 파일 시스템의 컨텐츠 관리 방법.
  9. 제8항에 있어서, 상기 (d) 단계는
    상기 컨텐츠들의 접근 요청에 대한 트래픽을 산출하는 단계와;
    상기 산출한 트래픽 관련 정보와 상기 파일관리 정보를 이용하여 상기 특정 컨텐츠를 보유하고 있는 데이터그룹을 선택하는 단계와;
    상기 선택한 데이터그룹으로부터 상기 특정 컨텐츠가 상기 사용자들에게 제공되는 단계를 포함하는 것을 특징으로 하는 파일 시스템의 컨텐츠 관리 방법.
  10. 제9항에 있어서, 상기 (d) 단계는
    상기 특정 컨텐츠의 접근 요청에 대한 트래픽을 산출하는 단계와;
    상기 산출한 트래픽이 이미 지정한 임계값보다 큰 경우, 가속 서버로부터 상기 특정 컨텐츠를 상기 사용자들에게 제공되는 단계를 포함하되, 상기 가속 서버는 캐시(cache)서버로서, 네트워크 내의 일 구성되거나 도는 독립 네트워크로 구성되는 것을 특징으로 하는 파일 시스템의 컨텐츠 관리 방법.
  11. 제8항에 있어서, 상기 파일관리 정보에서
    상기 로드정보는 사용자(유저)가 업로드하는 컨텐츠와 관련된 로드정보이고, 상기 로드정보는 Disk I/O과, 세션수 확인, 랭킹(hit count check) 중 적어도 한 개를 포함하고;
    상기 데이터그룹 정보는 상기 컨텐츠가 어느 데이터그룹에 파일단위로 저장될 것이고 또한 저장되어 있는가를 가리키는 정보이고, 상기 데이터그룹 정보는 데이터그룹의 위치와, 데이터그룹 내의 데이터노드의 위치와, 데이터그룹의 동작상태와, 상기 컨텐츠가 저장된 시간 및 데이터노드의 ID와, 데이터그룹 ID와, 네트워크의 ID 중 적어도 한 개를 포함하고;
    상기 파일정보는 상기 컨텐츠에 대한 파일의 ID와, 파일명과, 상태와, 삭제 정보, 파일크기와, 생성시간과, 파일의 형태와, 코덱 정보와, 동접자수 확인 정보와, 히트 카운트 확인(hit count check) 정보와, 디스크의 입출력 확인(disk I/O check) 정보와, 랭킹 정보 중 적어도 한 개를 포함하고;
    상기 복사상태 정보는 상기 컨텐츠가 파일단위로 복사된 횟수와, 복사된 시간과, 복사된 파일의 ID와, 복사위치정보와, 분산요청정보 중 적어도 한 개를 포함하는 것을 특징으로 하는 파일 시스템의 컨텐츠 관리 방법.
  12. 다수의 데이터그룹들과;
    사용자로부터 컨텐츠 업로드 요청을 수신하고, 파일관리 정보를 이용하여 상기 컨텐츠를 저장할 데이터그룹을 선택하고,
    상기 선택된 데이터그룹에 상기 컨텐츠를 파일단위로 저장하고,
    상기 선택된 데이터그룹에 상기 컨텐츠가 한 개만 존재하도록 관리하고,
    상기 선택된 데이터그룹에 저장된 컨텐츠들을 다른 데이터그룹들에 복사하는 관리서버를 포함하는 것을 특징으로 하되,
    상기 파일관리 정보는 컨텐츠를 파일단위로 데이터그룹에 저장하고, 타 데이터그룹에 복사하기 위해 이용하는 정보이며, 상기 파일관리 정보는 로드(load) 정보와, 데이터그룹 정보와, 파일 정보와, 복사상태 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 파일관리 시스템.
  13. 제12항에 있어서, 상기 데이터그룹은
    적어도 하나 이상의 데이터노드를 포함하여 구성된 것을 특징으로 하는 파일관리 시스템.
  14. 제13항에 있어서, 상기 다수의 데이터그룹들은
    동일한 수와 양만큼의 컨텐츠들을 저장하고 있고,
    상기 데이터그룹들의 각각은 동일한 컨텐츠를 중복하여 보유하고 있지 않은 것을 특징으로 하는 파일관리 시스템.
  15. 제12항에 있어서, 상기 관리서버는
    컨텐츠의 접속 요청에 대한 트래픽을 산출하고,
    특정 컨텐츠에 대한 트래픽이 미리 정한 임계값 이상인 경우, 가속 서버를 통하여 상기 특정 컨텐츠를 사용자에게 제공하고, 여기서 상기 가속 서버는 캐시(cache)서버로서, 네트워크 내의 일 구성되거나 도는 독립 네트워크로 구성되는 것을 특징으로 하는 파일관리 시스템.
  16. 삭제
  17. 제12항에 있어서, 상기 파일관리 정보에서
    상기 로드정보는 사용자(유저)가 업로드하는 컨텐츠와 관련된 로드정보이고, 상기 로드정보는 Disk I/O과, 세션수 확인, 랭킹(hit count check) 중 적어도 한 개를 포함하고;
    상기 데이터그룹 정보는 상기 컨텐츠가 어느 데이터그룹에 파일단위로 저장될 것이고 또한 저장되어 있는가를 가리키는 정보이고, 상기 데이터그룹 정보는 데이터그룹의 위치와, 데이터그룹 내의 데이터노드의 위치와, 데이터그룹의 동작상태와, 상기 컨텐츠가 저장된 시간 및 데이터노드의 ID와, 데이터그룹 ID와, 네트워크의 ID 중 적어도 한 개를 포함하고;
    상기 파일정보는 상기 컨텐츠에 대한 파일의 ID와, 파일명과, 상태와, 삭제 정보, 파일크기와, 생성시간과, 파일의 형태와, 코덱 정보와, 동접자수 확인 정보와, 히트 카운트 확인(hit count check) 정보와, 디스크의 입출력 확인(disk I/O check) 정보와, 랭킹 정보 중 적어도 한 개를 포함하고;
    상기 복사상태 정보는 상기 컨텐츠가 파일단위로 복사된 횟수와, 복사된 시간과, 복사된 파일의 ID와, 복사위치정보와, 분산요청정보 중 적어도 한 개를 포함하는 것을 특징으로 하는 파일관리 시스템.
  18. 제12항에 있어서,
    상기 관리서버로부터 트래픽의 컨텐츠 정보를 전달받고;
    상기 컨텐츠를 저장하고;
    상기 관리서버의 제어에 의해 상기 컨텐츠를 상기 사용자들에게 제공하는 가속서버를 더 포함하는 것을 특징으로 하는 파일 관리 시스템.
  19. 사용자들로부터 컨텐츠들의 업로드 요청 및 상기 컨텐츠들을 수신하는 수신부와;
    상기 수신한 컨텐츠들가 파일 단위로 저장될 데이터그룹을 선택하고,
    상기 컨텐츠들과 관련된 파일관리 정보를 생성하고, 그 생성한 파일관리 정보를 이용하여 상기 데이터그룹에 동일한 컨텐츠가 존재하지 않도록 관리하는 관리부와;
    상기 파일관리 정보를 이용하여 상기 데이터그룹에 저장되어 있는 컨텐츠들을 복사하기 위해 타 데이터그룹에 전달하는 송신부와;
    상기 사용자들로부터 상기 컨텐츠들 중 특정 컨텐츠의 접근 요청이 있는 경우, 상기 특정 컨텐츠 요청에 대한 트래픽에 기초하여 상기 특정 컨텐츠를 상기 사용자들에게 제공하는 처리부를 포함하되,
    상기 파일관리 정보는 컨텐츠를 파일단위로 데이터그룹에 저장하고, 타 데이터그룹에 복사하기 위해 이용하는 정보이며, 상기 파일관리 정보는 로드(load) 정보와, 데이터그룹 정보와, 파일 정보와, 복사상태 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 장치.
  20. (A) 사용자로부터 컨텐츠 업로드 요청을 수신하는 단계와;
    (B) 파일관리 정보를 이용하여 하나 이상의 데이터그룹에 상기 컨텐츠를 파일 단위로 저장하는 단계와, 상기 데이터그룹은 하나 이상의 데이터노드로 구성되며 상기 컨텐츠는 상기 데이터그룹에 한 개만이 존재하도록 저장되고, 상기 파일관리 정보는 컨텐츠를 파일단위로 데이터그룹에 저장하고, 타 데이터그룹에 복사하기 위해 이용하는 정보이며, 상기 파일관리 정보는 로드(load) 정보와, 데이터그룹 정보와, 파일 정보와, 복사상태 정보 중 적어도 하나를 포함하며;
    (C) 타 사용자들로부터 상기 컨텐츠의 접근 요청을 받으면 상기 데이터그룹에서 상기 컨텐츠를 제공하는 단계;를 포함하여 파일 시스템에서 컨텐츠를 제공하는 방법을 수행하는 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능 기록 매체.
  21. (a) 사용자들로부터 업로드된 컨텐츠들을 파일단위로 데이터그룹에 저장하는 단계와;
    (b) 상기 컨텐츠들과 관련된 파일관리 정보를 이용하여 상기 데이터그룹에 동일한 컨텐츠가 존재하지 않도록 관리하는 단계와, 상기 파일관리 정보는 컨텐츠를 파일단위로 데이터그룹에 저장하고, 타 데이터그룹에 복사하기 위해 이용하는 정보이며, 상기 파일관리 정보는 로드(load) 정보와, 데이터그룹 정보와, 파일 정보와, 복사상태 정보 중 적어도 하나를 포함하며;
    (c) 상기 파일관리 정보를 이용하여 상기 데이터그룹에 저장되어 있는 컨텐츠들을 타 데이터그룹에 복사하는 단계와;
    (d) 사용자들로부터 특정 컨텐츠의 접근 요청이 있는 경우,
    상기 특정 컨텐츠 요청에 대한 트래픽에 기초하여 상기 특정 컨텐츠를 상기 사용자들에게 제공하는 단계;를 포함하여 파일 시스템에서 컨텐츠를 제공하는 방법을 수행하는 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능 기록 매체.
KR1020090061854A 2009-02-18 2009-07-07 파일관리 시스템 및 파일관리시스템의 컨텐츠 제공 방법 KR101179472B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/202,086 US9218346B2 (en) 2009-02-18 2010-02-12 File system and method for delivering contents in file system
PCT/KR2010/000925 WO2010095836A2 (en) 2009-02-18 2010-02-12 File system and method for delivering contents in file system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090013617 2009-02-18
KR20090013617 2009-02-18

Publications (2)

Publication Number Publication Date
KR20100094312A KR20100094312A (ko) 2010-08-26
KR101179472B1 true KR101179472B1 (ko) 2012-09-07

Family

ID=42758486

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090061854A KR101179472B1 (ko) 2009-02-18 2009-07-07 파일관리 시스템 및 파일관리시스템의 컨텐츠 제공 방법

Country Status (2)

Country Link
US (1) US9218346B2 (ko)
KR (1) KR101179472B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5918937B2 (ja) * 2011-06-22 2016-05-18 キヤノン株式会社 情報処理装置及びその制御方法
US9424433B2 (en) * 2012-02-13 2016-08-23 Synchronoss Technologies, Inc. Data storage management
US9363163B2 (en) * 2013-04-22 2016-06-07 Codership Oy Group communication system arrangement
US9875292B2 (en) 2013-05-29 2018-01-23 Codership Oy Method of synchronizing data within database clusters
US9715516B1 (en) 2013-11-19 2017-07-25 Synchronoss Technologies, Inc. Edition-based redefinition for tables
US9336098B2 (en) 2014-03-19 2016-05-10 Codership Oy Method of synchronizing data
US9710532B2 (en) 2014-08-21 2017-07-18 Codership Oy Method for avoiding conflicts in database cluster
US10078680B2 (en) 2014-12-17 2018-09-18 Codership Oy Method for streaming transactions in database cluster
KR102269594B1 (ko) 2015-02-09 2021-06-28 삼성전자 주식회사 컨텐츠 전송 네트워크 시스템에서 서버 간의 정보 송수신 방법 및 장치
US9710533B2 (en) 2015-06-04 2017-07-18 Codership Oy Efficient buffer pool page pre-fetching for database clusters
KR102443305B1 (ko) * 2020-07-28 2022-09-15 홍영빈 동영상 콘텐츠 저작권 거래 방법, 장치 및 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020147774A1 (en) * 2001-04-02 2002-10-10 Akamai Technologies, Inc. Content storage and replication in a managed internet content storage environment
JP2004030423A (ja) * 2002-06-27 2004-01-29 Ntt Comware Corp コンテンツ配信制御装置及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0899662A1 (en) * 1997-08-29 1999-03-03 Hewlett-Packard Company Backup and restore system for a computer network
US6510469B1 (en) * 1998-05-13 2003-01-21 Compaq Information Technologies Group,L.P. Method and apparatus for providing accelerated content delivery over a network
US6405219B2 (en) * 1999-06-22 2002-06-11 F5 Networks, Inc. Method and system for automatically updating the version of a set of files stored on content servers
US7506034B2 (en) * 2000-03-03 2009-03-17 Intel Corporation Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user
US6976060B2 (en) * 2000-12-05 2005-12-13 Agami Sytems, Inc. Symmetric shared file storage system
KR100678081B1 (ko) 2001-02-28 2007-02-01 삼성전자주식회사 이동 통신 단말의 대용량 데이터파일 관리 방법
WO2003012578A2 (en) * 2001-08-01 2003-02-13 Actona Technologies Ltd. Virtual file-sharing network
AU2003228546A1 (en) * 2002-04-15 2003-11-03 Redundant Networks Inc. Method, apparatus, and computer program product for redundant network
KR100873788B1 (ko) 2002-06-27 2008-12-15 주식회사 케이티 멀티미디어 컨텐츠 분배망 구성 방법 및 그를 이용한멀티미디어 컨텐츠 서비스 방법
KR100703783B1 (ko) 2005-06-09 2007-04-06 삼성전자주식회사 컨텐츠 파일을 자동으로 업로드하는 장치 및 그 방법
US20090132621A1 (en) * 2006-07-28 2009-05-21 Craig Jensen Selecting storage location for file storage based on storage longevity and speed
WO2009032711A1 (en) * 2007-08-29 2009-03-12 Nirvanix, Inc. Policy-based file management for a storage delivery network
US20090100128A1 (en) * 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
US20090193147A1 (en) * 2008-01-30 2009-07-30 Viasat, Inc. Methods and Systems for the Use of Effective Latency to Make Dynamic Routing Decisions for Optimizing Network Applications
US8291036B2 (en) * 2009-03-16 2012-10-16 Microsoft Corporation Datacenter synchronization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020147774A1 (en) * 2001-04-02 2002-10-10 Akamai Technologies, Inc. Content storage and replication in a managed internet content storage environment
JP2004030423A (ja) * 2002-06-27 2004-01-29 Ntt Comware Corp コンテンツ配信制御装置及びプログラム

Also Published As

Publication number Publication date
US20110302242A1 (en) 2011-12-08
KR20100094312A (ko) 2010-08-26
US9218346B2 (en) 2015-12-22

Similar Documents

Publication Publication Date Title
KR101179472B1 (ko) 파일관리 시스템 및 파일관리시스템의 컨텐츠 제공 방법
US9779109B2 (en) Storing a file in a cloud storage solution using multiple process threads
US8260913B2 (en) Reading a file from a cloud storage solution
US8234372B2 (en) Writing a file to a cloud storage solution
JP5096441B2 (ja) 分散ファイルシステムにおけるファイルの再ストライピングのための方法
CN103890729B (zh) 计算机化方法、存储服务器及管理服务器
JP5210176B2 (ja) 複数のノードを有するストレージ・システムの保護管理方法
US7546486B2 (en) Scalable distributed object management in a distributed fixed content storage system
Peng et al. VDN: Virtual machine image distribution network for cloud data centers
US8171065B2 (en) Relational objects for the optimized management of fixed-content storage systems
JP5411250B2 (ja) 冗長データ記憶システムへの指示に従ってのデータ配置
US20020133491A1 (en) Method and system for managing distributed content and related metadata
Fuhrmann et al. dCache, storage system for the future
CN107734026A (zh) 一种网络附加存储集群的设计方法、装置及设备
JP2004054721A (ja) ネットワークストレージ仮想化方法
US20140365539A1 (en) Performing direct data manipulation on a storage device
US20160026672A1 (en) Data and metadata consistency in object storage systems
US9451024B2 (en) Self-organizing disk (SoD)
US20180052858A1 (en) Methods and procedures for timestamp-based indexing of items in real-time storage
KR101371202B1 (ko) 멀티 메타데이터 서버 구조를 갖는 분산 파일 시스템 및 이를 이용한 데이터 처리 방법
US10719556B2 (en) Information processing apparatus and computer-readable storage medium storing information processing program
WO2012046585A1 (ja) 分散ストレージシステム、その制御方法、およびプログラム
WO2017039538A1 (en) Systems and methods for unified storage services
JP2011180658A (ja) 分散ファイルシステムにおける冗長化方法
CN117546154A (zh) 用于智能缓存的方法和系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20150825

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160825

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170825

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180820

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190801

Year of fee payment: 8