KR20110041194A - 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법 - Google Patents

클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법 Download PDF

Info

Publication number
KR20110041194A
KR20110041194A KR1020090098256A KR20090098256A KR20110041194A KR 20110041194 A KR20110041194 A KR 20110041194A KR 1020090098256 A KR1020090098256 A KR 1020090098256A KR 20090098256 A KR20090098256 A KR 20090098256A KR 20110041194 A KR20110041194 A KR 20110041194A
Authority
KR
South Korea
Prior art keywords
file
cloud
client
members
manager
Prior art date
Application number
KR1020090098256A
Other languages
English (en)
Other versions
KR101089509B1 (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 KR1020090098256A priority Critical patent/KR101089509B1/ko
Publication of KR20110041194A publication Critical patent/KR20110041194A/ko
Application granted granted Critical
Publication of KR101089509B1 publication Critical patent/KR101089509B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/042Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명의 클라우드 컴퓨팅 네트워크 시스템은, 상기 클라우드 멤버들로부터 클라이언트로 데이터 파일이 전송되도록 제어하되, 클라우드 멤버들의 데이터 전송 속도가 기준값보다 낮으면 데이터 파일을 제공하는 클라우드 멤버를 변경한다. 그러므로 대용량의 파일이 복수의 클라우드 멤버들에게 분산 저장된 상태에서, 클라이언트가 클라우드 멤버들로부터 파일을 다운로드할 때 빠른 속도로 다운로드 할 수 있다.

Description

클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법{CLOUD COMPUTING NETWORK SYSTEM AND FILE DISTRUBUTING METHOD OF THE SAME}
본 발명은 분산 처리가 가능한 클라우드 컴퓨팅 네트워크 시스템에 관한 것이다.
일반적으로 임의의 네트워크를 통해 전자화된 정보를 전달받기 위해서는 소정의 정보를 요구하는 컴퓨터(이하 클라이언트라 칭함)와, 클라이언트로부터 요구된 정보를 제공하는 컴퓨터(이하 서버라 칭함) 그리고 이들 간의 정보 전달 경로를 구성하는 네트워크가 존재해야 한다. 이 중 서버와 네트워크는 하나의 클라이언트에게만 서비스되는 자원이 아니므로, 복수의 서로 다른 클라이언트들의 요구에 응답할 때 과중한 부하가 걸리게 된다. 그 결과, 서버에 동시에 접속할 수 있는 클라이언트의 수는 제한되어야 하고 정보를 요구하는 클라이언트는 자신에게 할당된 대역폭 중의 일부만을 사용할 수 밖에 없다.
이와 같은 문제점을 해결하기 위해서 인터넷을 통해 정보를 판매하는 콘텐츠 제공자(contents provider)들은 사용자/고객의 수를 늘이고 서비스의 품질을 향상시키기 위해서 서버의 역할을 할 수 있는 대용량의 고가 컴퓨터를 다수 구입하거 나, 네트워크의 대역폭을 증가시키는 등의 막대한 투자를 해야한다. 콘텐츠 제공자들은 정보 제공 서비스를 안정적으로 제공하기 위하여 최대 클라이언트 수를 예측하고 그에 대비한 자원을 준비하여야 하는데, 예측한 최대 클라이언트 수만큼의 정보 요구가 발생하지 않은 경우에는 자원 낭비가 초래되고, 예측한 최대 클라이언트 수보다 정보를 요구하는 클라이언트의 수가 많은 경우에는 정상적인 서비스 제공이 어려운 문제는 여전히 존재한다.
따라서 본 발명의 목적은 한정된 자원을 가지고 많은 클라이언트들에게 서비스를 제공할 수 있는 클라우드 컴퓨팅 네트워크 시스템을 제공하는 데 있다.
본 발명의 다른 목적은 대용량 파일을 효율적으로 클라이언트에게 제공하기 위한 파일 분산 방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 일 특징에 의하면, 클라우드 컴퓨팅 네트워크 시스템의 파일 분산 방법은: 클라이언트로부터 파일 요청을 수신하는 단계와, 요청된 파일을 제공할 클라우드 멤버들을 선정하고, 선정된 클라우드 멤버들에 대한 정보를 상기 클라이언트에게 제공하는 단계와, 상기 클라우드 멤버들로부터 데이터 전송 속도를 수신하는 단계와, 수신된 데이터 전송 속도에 따라서 상기 클라우드 멤버에 대한 변경 여부를 결정하는 단계, 그리고 상기 요청된 파일을 제공할 클라우드 멤버의 변경이 결정되었을 때, 변경된 클라우드 멤버 정보를 상기 클라이언트에게 제공하는 단계를 포함한다.
이 실시예에 있어서, 상기 파일 분산 방법은, 상기 요청된 파일이 핫파일인 지를 판별하는 단계와, 상기 요청된 파일이 핫파일일 때 스토리지 서버에 저장된 파일이 분산 저장될 클라우드 멤버들을 선정하는 단계, 그리고 상기 선정된 클라우드 멤버들에게 상기 스토리지 서버에 저장된 파일을 전송하는 단계를 더 포함한다.
이 실시예에 있어서, 상기 파일 분산 방법은 상기 스토리지 서버에 저장된 파일을 복수의 데이터 블록들로 분할하는 단계를 더 포함하며, 상기 파일 전송 단계는, 상기 데이터 블록들 각각을 상기 선정된 클라우드 멤버들에게 전송하는 단계를 포함한다.
이 실시예에 있어서, 상기 클라우드 멤버에 대한 변경 여부를 결정하는 단계는, 상기 클라우드 멤버로부터 수신된 데이터 전송 속도가 기준값 이하일 때 상기 클라우드 멤버에 대한 변경을 결정한다.
이 실시예에 있어서, 상기 변경된 클라우드 멤버 정보를 상기 클라이언트에게 제공하는 단계는, 상기 클라우드 멤버들 중 데이터 전송 속도가 기준값 이하인 클라우드 멤버가 있을 때, 데이터 전송 속도가 기준값 이하인 클라우드 멤버에서 제공하는 데이터 블록과 동일한 데이터 블록을 저장하고 있는 클라우드 멤버에 대한 정보를 상기 클라이언트에게 제공한다.
이 실시예에 있어서, 상기 기준값은 300KB/sec이다.
본 발명의 다른 특징에 따른 클라이언트의 요청에 응답해서 서비스를 제공하는 클라우드 컴퓨팅 네트워크 시스템은: 메인 서버와, 상기 클라이언트에게 제공될 파일들을 저장하는 스토리지 서버, 그리고 상기 클라이언트로부터 요청된 파일을 제공하기 위한 클라우드 멤버를 포함한다. 상기 메인 서버는 상기 클라이언트로부터 요청된 파일을 제공할 클라우드 멤버들을 선정하고, 선정된 클라우드 멤버들에 대한 정보를 상기 클라이언트에게 제공하되, 상기 클라우드 멤버들로부터 데이터 전송 속도를 수신하고, 수신된 데이터 전송 속도에 따라서 상기 요청된 파일을 제공할 클라우드 멤버를 변경하고, 변경된 클라우드 멤버 정보를 상기 클라이언트에 게 전송한다.
이 실시예에 있어서, 상기 메인 서버는, 상기 클라이언트를 관리하며, 상기 클라이언트로부터 요청된 파일이 저장된 클라우드 멤버들에 대한 정보를 상기 클라이언트에게 제공하는 클라이언트 관리자와, 상기 클라우드 멤버들을 관리하는 멤버 관리자, 그리고 상기 클라이언트로부터 요청된 파일이 파일일 때 상기 스토리지 서버로부터 상기 파일을 다운로드하는 파일 분산 관리자를 포함한다. 상기 멤버 관리자는 상기 핫파일을 저장가능한 클라우드 멤버 정보를 상기 파일 분산 관리자로 제공하며, 상기 파일 분산 관리자는 상기 클라우드 멤버 정보를 참조하여 상기 다운로드된 파일을 상기 클라우드 멤버들로 전송한다.
상기 멤버 관리자는, 상기 클라이언트로 상기 파일을 전송하는 상기 클라우드 멤버들로부터 데이터 전송 속도 정보를 수신하고, 수신된 데이터 전송 속도가 기준값보다 낮을 때 상기 변경된 클라우드 멤버 정보를 상기 클라이언트 관리자에게 제공하고, 상기 클라이언트 관리자는 상기 변경된 클라우드 멤버 정보를 상기 클라이언트에게 제공한다.
이 실시예에 있어서, 상기 파일 분산 관리자는, 상기 스토리지 서버로부터 다운로드된 파일을 복수의 데이터 블록들로 분할하고, 상기 데이터 블록들을 상기 클라우드 멤버들에게 각각 전송한다.
이 실시예에 있어서, 상기 멤버 관리자는, 상기 클라우드 멤버들 중 데이터 전송 속도가 기준값 이하인 클라우드 멤버가 있을 때, 데이터 전송 속도가 기준값 이하인 클라우드 멤버에서 제공하는 데이터 블록과 동일한 데이터 블록을 저장하고 있는 클라우드 멤버에 대한 정보를 상기 클라이언트 관리자에게 제공한다.
이 실시예에 있어서, 상기 클라이언트에 의해서 요청된 파일은 어플리케이션 프로그램 파일, 게임 프로그램 파일, 텍스트 데이터 파일, 문서 파일, 그림 파일, 음악 파일 및 동영상 파일 중 어느 하나이다.
이와 같은 본 발명의 클라우딩 컴퓨팅 네트워크 시스템은 파일 스토리지에 저장된 파일들을 클라우드 멤버들에게 분산시킴으로써 한정된 자원을 가지고 많은 클라이언트들에게 서비스를 제공할 수 있다. 특히, 대용량의 파일이 복수의 클라우드 멤버들에게 분산 저장된 상태에서, 클라이언트가 클라우드 멤버들로부터 파일을 다운로드할 때 빠른 속도로 다운로드 할 수 있다.
이하 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다.
클라우드 컴퓨팅 네트워크(Cloud Computing Network, CCN)란 네트워크 및 스토리지 자원의 가상화를 통해 사용자에게 각종 소프트웨어와 보안 솔루션, 컴퓨팅 능력까지 온디맨드(on-demend) 방식으로 제공하기 위한 네트워크 서비스이다. 이러한 CCN 서비스는 네트워크 효율성을 향상시키고, 트래픽 집중 시에도 속도 저하가 발생하지 않으므로 고품질의 서비스 제공이 가능해진다. 본 발명은 이와 같은 CCN을 적용한 시스템 및 그것의 파일 분산 방법을 제공한다.
도 1은 본 발명의 바람직한 실시예에 따른 클라우딩 컴퓨팅 네트워크 시스템 을 보여주는 도면이다.
도 1을 참조하면, 클라우딩 컴퓨팅 네트워크 시스템(100)은 메인 서버(110), 스토리지 서버(120), 네트워크(130), 클라이언트들(141-143) 그리고 클라우드 멤버들(151-153)을 포함한다. 메인 서버(110), 스토리지 서버(120), 클라이언트들(141-143) 및 클라우드 멤버들(151-153)은 인터넷과 같은 통신 회선인 네트워크(130)를 통해 상호 연결된다. 메인 서버(110)와 클라이언트들(141-143) 사이에 연결된 인터넷 회선은 유한한 자원이며, 회선의 용량을 늘리기 위해서 메인 서버(110)를 운영하는 사업자는 IDC(internet data center) 또는 ISP(internet service provider)에게 더 많은 회선 사용 비용을 지불해야만 한다. 그러므로 메인 서버(110)를 운영하는 사업자는 한정된 회선을 가지고 효율적으로 클라이언트들(141-143)에게 서비스를 제공하기 위한 노력이 요구된다.
스토리지 서버(120)는 어플리케이션 프로그램 파일, 게임 프로그램 파일, 텍스트 데이터 파일, 문서 파일, 그림 파일, 음악 파일, 동영상 파일 및 바코드 파일 등과 같은 대용량 데이터를 제공하는 사업자(콘텐츠 제공자)로부터 제공된 파일들을 저장한다. 스토리지 서버(120)에 저장된 파일들은 메인 서버(110)의 제어에 의해서 클라이언트들(141-143)로 제공될 수 있다.
메인 서버(110)는 클라이언트들(141-143)의 파일 요청에 응답해서 스토리지 서버(120)에 저장된 파일들이 클라이언트들(141-143)에게 제공되도록 제어한다. 메인 서버(110)는, 네트워크(130)의 한정된 자원을 효율적으로 이용하기 위하여, 스토리지 서버(120)에 저장된 파일들을 클라우드 멤버들(151-153)에게 분산 저장하 고, 클라이언트들(141-143)이 스토리지 서버(120) 대신 클라우드 멤버들(151-153)로부터 파일을 다운로드하도록 제어한다.
클라이언트들(141-143)은 퍼스널 컴퓨터를 이용하여 네트워크(130)를 통해 메인 서버(110)에 접속한다. 클라이언트들(141-143)은 메인 서버(110)가 제공 가능한 파일들 중 일부에 대한 다운로드를 요청하고, 메인 서버(110)의 제어에 따라서 스토리지 서버(120) 또는 클라우드 멤버들(151-153)로부터 원하는 파일을 다운로드한다. 클라이언트들(141-143)은 데스크탑 컴퓨터, 노트북과 같은 퍼스널 컴퓨터 뿐만 아니라 PDA(personal digital assistant), 휴대폰 등과 같이 무선 인터넷이 가능한 다양한 휴대용 단말기들(handheld terminal)이 될 수 있다.
네트워크(130)를 통하여 메인 서버(110)와 연결되는 클라이언트들(141-143)은 클라우드 멤버들(151-153)로부터 파일을 다운로드하기 위해서 필요한 클라이언트 소프트웨어 프로그램을 저장하는 메모리(미 도시됨)를 포함하며, 상기 클라이언트 소프트웨어 프로그램은 프로세서(미 도시됨)에 의해서 실행된다.
클라우드 멤버들(151-153)은 퍼스널 컴퓨터를 이용하여 네트워크(130)를 통해 메인 서버(110)와 연결된다. 클라우드 멤버들(151-153)은 메인 서버(110)의 제어에 따라서 스토리지 서버(120)에 저장된 파일을 다운로드하고, 클라이언트들(141-143)에게 파일을 전송한다.
도 2는 도 1에 도시된 메인 서버(110)의 구성을 보여주는 도면이다.
도 2를 참조하면, 메인 서버(110)는 클라이언트 관리자(111), 마스터 관리자(112), 멤버 관리자(113) 그리고 파일 분산 관리자(114)를 포함한다. 클라이언 트 관리자(110)는, 스토리지 서버(120)에 저장되어 있으며 클라이언트들에게 제공 가능한 파일 리스트를 웹 브라우저(web browser)에 개시한다. 클라이언트들(141-143)은 웹 브라우저의 파일 리스트에 포함된 파일들에 대한 다운로드를 요청한다. 클라이언트 관리자(111)는 파일을 요청하는 클라이언트들(141-143)에 대한 관리를 담당한다. 즉, 클라이언트 관리자(111)는 동일한 파일을 요청하는 클라이언트들의 수, 소정 시간동안 동일한 파일을 다운로드한 클라이언트들의 수 및 파일에 대한 트래픽 등에 따라서 클라이언트들(141-143)로부터 요청된 파일이 핫파일인 지를 판별한다. 클라이언트 관리자(110)는 클라이언트들(141-143)에 의해서 요청된 파일이 핫파일이 아니면 요청된 파일이 스토리지 서버(120)에서 클라이언트들(141-143)로 전송되도록 제어한다. 클라이언트 관리자(110)는 클라이언트들(141-143)로부터 요청된 파일이 핫파일이면 스토리지 서버(120)에 저장된 파일이 클라우드 멤버들(151-153)에게 분산 저장되도록 마스터 관리자(112) 및 멤버 관리자(113)를 제어한다.
멤버 관리자(113)는 클라우드 멤버들(151-153)을 관리한다. 즉, 클라우드 멤버들(151-153) 중 파워 온 상태이고, 네트워크(130)에 접속한 상태이며, 파일을 다운로드 가능한 클라우드 멤버들에 대한 정보를 주기적으로 수집한다. 멤버 관리자(113)는 수집된 클라우드 멤버에 대한 정보를 파일 분산 관리자(114)에 제공한다.
파일 분산 관리자(114)는 마스터 관리자(112)의 제어에 따라서 스토리지 서버(120)로부터 핫파일을 다운로드하여 저장하고, 저장된 핫파일을 클라우드 멤버 들(151-153)로 분산 전송한다. 클라이언트 관리자(111)는 클라이언트들(141-143)이 요청한 파일이 저장된 클라우드 멤머들(151-153)에 대한 정보를 클라이언트들(141-143)에게 전송한다.
마스터 관리자(112)는, 파일 분산 관리자(114)가 스토리지 서버(120)로부터 핫파일을 다운로드하도록 제어하고, 파일 분산 관리자(114)에 의해서 다운로드된 핫파일의 오류 여부를 검사한다.
메인 서버(110)에 포함된 클라이언트 관리자(111), 마스터 관리자(112), 멤버 관리자(113) 및 파일 분산 관리자(114)는 단일의 관리자로 통합 구성될 수 있다. 또한 클라이언트 관리자(111), 마스터 관리자(112), 멤버 관리자(113) 및 파일 분산 관리자(114) 각각은 소정의 기능을 수행하기 위한 소프트웨어 프로그램을 내장한 컴퓨터로 구성될 수 있으며 서버(server)로 불리울 수 있다.
도 3은 도 2에 도시된 파일 분산 관리자에 의해서 클라우드 멤버들(151-153)로 전송되는 파일을 개념적으로 보여주는 도면이다.
도 3을 참조하면, 파일 분산 관리자(114)는 스토리지 서버(120)로부터 다운로드된 파일(D_FILE)을 복수쩜 데이터 블록들(B0-Bn)로 분할한다. 스토리지 서버(120)로부터 파일 분산 관리자(114)로 다운로드되는 파일(D_FILE)의 크기는 작게는 수십 메가바이트(MByte)에서 수백 메가바이트에 이른다. 이와 같이 대용량의 파일(D_FILE)을 클라우드 멤버들(151-153)에 효율적으로 분산 저장하기 위하여 본 발명의 파일 분산 관리자(114)는 다운로드되는 파일(D_FILE)을 작은 데이터 블록들(B0-Bn)로 나눈다.
도 4는 클라이언트가 4 개의 클라우드 멤버들로부터 데이터 블록들을 다운로드하는 것을 개념적으로 보여주는 도면이다.
도 4를 참조하면, 클라우드 멤버들(410-440)은 클라이언트(400)가 요청한 파일의 데이터 블록들(B0-B3)을 각각 저장하고 있다. 클라이언트(400)의 파일 요청에 응답해서 메인 서버(110)는 요청된 파일의 데이터 블록들(B0-B3)이 저장된 클라우드 멤버들(410-440)에 대한 정보를 클라이언트(400)에게 제공한다. 클라이언트(400)는 메인 서버(110)로부터 제공된 정보에 따라서 클라우드 멤버들(410-440)에 액세스하고, 클라우드 멤버들(410-440)로부터 필요한 데이터 블록들(B0-B3)을 각각 다운로드한다. 클라이언트(400)와 클라우드 멤버들(410-440)은 인터넷과 같은 네트워크(405)를 통해 상호 연결된다.
예컨대, 클라이언트(400)로부터 요청되어서 클라우드 멤버들(410-440)로부터 다운로드되는 파일이 영화 파일인 경우, 영화 파일의 크기는 수백 메가 바이트에서 수 기가 바이트에 달한다. 일반적으로 클라이언트(400)의 영화 재생 프로그램은 대용량 영화 파일을 모두 다운로드하는데 많은 시간이 소요되므로, 영화 파일 전체가 다운로드되기 전에 일정 크기의 영화 파일이 다운로드되면 영화 파일을 재생한다. 클라우드 멤버(410)로부터 클라이언트(400)로 첫 번째 데이터 블록(B0)이 다운로드되어서 재생되고 있는 동안 나머지 데이터 블록들(B1-B3)이 다운로드되어야 한다. 만일 클라이언트(400)에서 첫 번째 데이터 블록(B0)이 모두 재생되기 전에 다음 데이터 블록(B1)이 다운로드되지 않으면 영화 재생이 중단될 수 있다. 즉, 어느 한 데이터 블록(Bi)이 모두 재생되기 전에 다음 데이터 블록(Bi+1)의 다운로 드가 완료되어야 한다.
본 발명의 메인 서버(110)는 클라우드 멤버들(410-440)의 데이터 전송 속도를 모니터링하고, 데이터 전송 속도가 기준값(예를 들면, 300KB/sec) 이하인 클라우드 멤버가 있을 경우 다른 클라우드 멤버가 데이터 블록을 클라이언트(400)에게 전송하도록 제어한다.
이 실시예에서는 클라이언트(400)에 의해서 요청된 파일을 복수의 클라우드 멤버들(410-440)이 데이터 블록 단위로 클라이언트(400)에게 제공하는 것으로 설명하나, 요청된 파일 전체를 특정 클라우드 멤버로부터 클라이언트(400)로 다운로드 하는 경우에도 적용될 수 있다. 또한 특정 클라우드 멤버가 두 개 이상의 데이터 블록을 클라이언트(400)에게 전송하도록 설정될 수 있다.
도 5는 도 1에 도시된 클라우드 컴퓨팅 네트워크 시스템의 메인 서버에서 파일을 분산하는 방법을 보여주는 플로우차트이다.
도 5를 참조하면, 메인 서버(110)는 클라우드 멤버들(151-153)로부터 상태 정보를 수신한다(510). 클라우드 멤버들(151-153)로부터 메인 서버(110)로 전송되는 상태 정보에는 최대 대역폭(bandwidth), 저장된 데이터 크기, 가용 디스크 용량 및 CPU 사용률 등이 포함된다. 메인 서버(11) 내 멤버 관리자(113)는 이러한 정보들에 기초해서 파일이 분산될 멤버를 선택하고, 멤버에 대한 보상 등을 제공한다.
메인 서버(110)는 클라이언트들(141-143)로부터 파일 요청을 수신한다(512). 이 실시예에서는 클라이언트(141)가 메인 서버(110)에게 스토리지 서버(120)에 저장된 파일(F1)에 대한 다운로드를 요청한 것으로 설명한다.
메인 서버(110)의 클라언트 관리자(111)는 클라이언트(141)에 의해서 요청된 파일(F1)이 핫파일(hot-file)인 지의 여부를 판별한다(514). 핫 파일이란 많은 수의 클라이언트들로부터 파일 다운로드 요청이 있었거나 또는 현재 다운로드되고 있는 인기있는 파일을 칭한다. 예를 들어, 클라이언트 관리자(111)는, 5분동안 100명의 클라이언트들이 파일(F1)에 대한 다운로드를 요청했거나, 20명의 클라이언트들에게 동시에 파일(F1)이 다운로드되고 있는 중일 때 또는 트래픽이 10GB 이상이면 파일(F1)을 핫파일로 분류할 수 있다.
클라이언트 관리자(111)는 클라이언트(141)에 의해서 요청된 파일(F1)이 핫파일이 아니면 스토리지 서버(120)에 저장된 파일(F1)이 클라이언트(141)에게 전송되도록 제어한다(540).
클라이언트 관리자(111)는 클라이언트(141)에 의해서 요청된 파일(F1)이 핫파일인 것으로 판별되면, 파일(F1)이 클라우드 멤버들(151-153)에 분산 저장되어 있는 지의 여부를 판별한다(516). 만일 핫파일이 클라우드 멤버들(151-153)에 분산 저장되어 있다면, 클라우드 관리자(111)는 클라이언트(141)에게 파일(F1)이 분산 저장된 클라우드 멤버에 대한 정보를 전송한다(522). 클라우드 멤버에 대한 정보는 멤버 관리자(113)로부터 제공된 것이다. 클라이언트(141)는 클라이언트 관리자(111)로부터 수신된 클라우드 멤버 정보를 참조하여 클라우드 멤버들로부터 원하는 파일(F1)을 다운로드 한다.
만일 파일(F1)이 클라우드 멤버들(151-153)에 분산 저장되어 있지 않다면, 즉, 파일(F1)이 새롭게 핫파일로 분류되었다면, 클라이언트 관리자(111)는 마스터 관리자(112), 멤버 관리자(113) 및 파일 분산 관리자(114)에게 파일(F1)에 대한 분산 저장을 요청한다. 멤버 관리자(113)는 클라우드 멤버들(151-153)에 대한 정보를 수집하고, 수집된 정보에 따라서 파일을 전송 가능한 클라우드 멤버들에 대한 정보를 파일 분산 관리자(114)에게 제공한다.
파일 분산 관리자(114)는 스토리지 서버(120)로부터 파일(F1)을 다운로드하고, 다운로드된 파일(D_FILE)을 복수의 데이터 블록들(B0-Bn)로 분할한다. 파일 분산 관리자(114)는 분할된 데이터 블록들(B0-Bn(을 클라우드 멤버들(151-153)로 각각 전송된다. 파일 분산 관리자(114)는 멤버 관리자(113)로부터 제공된 클라우드 멤버 정보에 따라서 파일이 분산 저장될 클라우드 멤버들에게 데이터 블록들(B0-Bn)을 전송한다(520). 이때, 다운로드된 파일(D_FILE)의 크기 및 파일(D_FILE)을 요청하는 클라이언트들의 수에 따라서 파일(D_FILE)은 복수의 블록들로 분할되지 않고 단일의 파일로 유지되거나 또는 복수의 블록들로 분할될 수 있다. 또한 파일(D_FILE) 또는 파일 블록들은 특정 클라우드 멤버에게만 전송되거나 또는 복수의 클라우드 멤버들(151-153)에게 분산되어 저장될 수 있다. 예컨대, 파일(F1)에 대한 요구도가 높으면 더 많은 수의 클라이언트 멤버들에게 분산 저장되고, 파일(F1)에 대한 요구도가 낮으면 적은 수의 클라이언트 멤버들에게만 분산 저장될 수 있다.
파일 분산 관리자(114)에 의해서 클라우드 멤버들(151-153)에게 파일 전송이 완료되면, 클라이언트 관리자(111)는 클라이언트(141)에게 데이터 블록들(B-Bn)이 저장된 클라우드 멤버들에 대한 정보를 전송한다(522). 클라이언트(141)는 클라이 언트 관리자(111)로부터 제공된 클라우드 멤버 정보에 따라서 네트워크(130)를 통하여 클라우드 멤버들(151-153)에 접속하여 데이터 블록들(B0-Bn)을 다운로드한다. 클라이언트(141)는 클라우드 멤버들(151-153)로부터 파일을 다운로드하기 위해서 필요한 클라이언트 소프트웨어 프로그램을 보유하고 있어야 한다. 클라이언트 소프트웨어 프로그램은 사전에 클라이언트 관리자(111)에 의해서 클라이언트(141)에게 제공될 수 있다.
메인 서버(110) 내 멤버 관리자(113)는 클라이언트(141)에게 데이터 블록들(B0-Bn)을 전송하고 있는 클라우드 멤버들(151-153)로부터 데이터 전송 속도 정보를 수신한다(524).
만일 클라우드 멤버들(151-153) 중 데이터 전송 속도가 기준값보다 낮은 클라우드 멤버가 있다면 멤버 관리자(113)는 데이터 전송 속도가 낮은 클라우드 멤버를 새로운 클라우드 멤버로 교체한다(528). 데이터 전송 속도와 비교되는 기준값은 예컨대, 300KB/sec이다. 멤버 관리자(113)에 의해서 선택된 새로운 클라우드 멤버는 이전 클라우드 멤버가 제공하는 데이터 블록과 동일한 데이터 블록을 저장하고 있어야 한다.
메인 서버(110)의 클라이언트 관리자(111)는 멤버 관리자(113)로부터 제공되는 새로운 클라우드 멤버에 대한 정보를 클라이언트(141)에게 제공한다(530). 클라이언트(141)는 메인 서버(110)로부터 입력되는 새로운 클라우드 멤버 정보에 응답해서 새로 지정된 클라우드 멤버로부터 데이터 블록을 다운로드한다.
이와 같은 본 발명에 의하면, 클라이언트들(141-143)에 의한 다운로드 요청 이 많은 파일을 클라우드 멤버들(151-153)에게 분산해서 저장하고, 클라이언트들(141-143)로부터 파일 다운로드 요청이 있을 때 스토리지 서버(120) 대신 클라우드 멤버들(151-153)을 통하여 파일을 제공함으로써, 한정된 네트워크(130) 자원을 효율적으로 사용할 수 있다. 또한 메인 서버(110) 또는 스토리지 서버(120)의 일부 기능 장애가 발생하더라도 서비스 제공 장애를 최소화할 수 있다.
특히, 대용량 파일을 복수의 클라우드 멤버들(151-153)로부터 다운로드할 때 특정 클라우드 멤버의 데이터 전송 속도가 기준값보다 낮아지면 새로운 클라우드 멤버로 변경함으로써 대용량 파일을 고속으로 안전하게 다운로드할 수 있다.
본 발명은 TV 방송, 케이블 방송, 영화, 인터넷 강의, 상품 광고, 성인 방송과 같은 동영상 방송, 인터넷 노래방 중계, 이미지캐싱, 실시간 음악듣기, 온라인 게임 다운로드 뿐만 아니라 소프트웨어의 버그 패치와 업그레이드와 같이 단기간에 폭발적으로 이용자의 수가 증가하는 분야에서 파일의 다운로드 품질을 향상시키는데 이용될 수 있다. 이와 같은 본 발명에 의하면, 기업의 비용부담을 최소화하고, 다양한 컨텐츠 및 파일을 장애 없이 신속하게 전달함으로써 산업 발달에 도움이 될 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 클라우딩 컴퓨팅 네트워크 시스템을 보여주는 도면이다.
도 2는 도 1에 도시된 메인 서버의 구성을 보여주는 도면이다
도 3은 도 2에 도시된 파일 분산 관리자에 의해서 클라우드 멤버들로 전송되는 파일을 개념적으로 보여주는 도면이다.
도 4는 클라이언트가 4 개의 클라우드 멤버들로부터 데이터 블록들을 다운로드하는 것을 개념적으로 보여주는 도면이다.
도 5는 도 1에 도시된 클라우드 컴퓨팅 네트워크 시스템의 메인 서버에서 파일을 분산하는 방법을 보여주는 플로우차트이다.

Claims (12)

  1. 클라이언트로부터 파일 요청을 수신하는 단계와;
    요청된 파일을 제공할 클라우드 멤버들을 선정하고, 선정된 클라우드 멤버들에 대한 정보를 상기 클라이언트에게 제공하는 단계와;
    상기 클라우드 멤버들로부터 데이터 전송 속도를 수신하는 단계와;
    수신된 데이터 전송 속도에 따라서 상기 클라우드 멤버에 대한 변경 여부를 결정하는 단계; 그리고
    상기 요청된 파일을 제공할 클라우드 멤버의 변경이 결정되었을 때, 변경된 클라우드 멤버 정보를 상기 클라이언트에게 제공하는 단계를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템의 파일 분산 방법.
  2. 제 1 항에 있어서,
    상기 요청된 파일이 핫파일인 지를 판별하는 단계와;
    상기 요청된 파일이 핫파일일 때 스토리지 서버에 저장된 파일이 분산 저장될 클라우드 멤버들을 선정하는 단계; 그리고
    상기 선정된 클라우드 멤버들에게 상기 스토리지 서버에 저장된 파일을 전송하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템의 파일 분산 방법.
  3. 제 2 항에 있어서,
    상기 스토리지 서버에 저장된 파일을 복수의 데이터 블록들로 분할하는 단계를 더 포함하며;
    상기 파일 전송 단계는,
    상기 데이터 블록들 각각을 상기 선정된 클라우드 멤버들에게 전송하는 단계를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템의 파일 분산 방법.
  4. 제 3 항에 있어서,
    상기 클라우드 멤버에 대한 변경 여부를 결정하는 단계는,
    상기 클라우드 멤버로부터 수신된 데이터 전송 속도가 기준값 이하일 때 상기 클라우드 멤버에 대한 변경을 결정하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템의 파일 분산 방법.
  5. 제 3 항에 있어서,
    상기 변경된 클라우드 멤버 정보를 상기 클라이언트에게 제공하는 단계는,
    상기 클라우드 멤버들 중 데이터 전송 속도가 기준값 이하인 클라우드 멤버가 있을 때, 데이터 전송 속도가 기준값 이하인 클라우드 멤버에서 제공하는 데이터 블록과 동일한 데이터 블록을 저장하고 있는 클라우드 멤버에 대한 정보를 상기 클라이언트에게 제공하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템의 파일 분산 방법.
  6. 제 5 항에 있어서,
    상기 기준값은 300KB/sec인 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템의 파일 분산 방법.
  7. 클라이언트의 요청에 응답해서 서비스를 제공하는 클라우드 컴퓨팅 네트워크 시스템에 있어서:
    메인 서버와;
    상기 클라이언트에게 제공될 파일들을 저장하는 스토리지 서버; 그리고
    상기 클라이언트로부터 요청된 파일을 제공하기 위한 클라우드 멤버를 포함하되;
    상기 메인 서버는 상기 클라이언트로부터 요청된 파일을 제공할 클라우드 멤버들을 선정하고, 선정된 클라우드 멤버들에 대한 정보를 상기 클라이언트에게 제공하되, 상기 클라우드 멤버들로부터 데이터 전송 속도를 수신하고, 수신된 데이터 전송 속도에 따라서 상기 요청된 파일을 제공할 클라우드 멤버를 변경하고, 변경된 클라우드 멤버 정보를 상기 클라이언트에게 전송하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템.
  8. 제 7 항에 있어서,
    상기 메인 서버는,
    상기 클라이언트를 관리하며, 상기 클라이언트로부터 요청된 파일이 저장된 클라우드 멤버들에 대한 정보를 상기 클라이언트에게 제공하는 클라이언트 관리자와;
    상기 클라우드 멤버들을 관리하는 멤버 관리자; 그리고
    상기 클라이언트로부터 요청된 파일이 파일일 때 상기 스토리지 서버로부터 상기 파일을 다운로드하는 파일 분산 관리자를 포함하되;
    상기 멤버 관리자는 상기 핫파일을 저장가능한 클라우드 멤버 정보를 상기 파일 분산 관리자로 제공하며;
    상기 파일 분산 관리자는 상기 클라우드 멤버 정보를 참조하여 상기 다운로드된 파일을 상기 클라우드 멤버들로 전송하는 클라우드 컴퓨팅 네트워크 시스템.
  9. 제 8 항에 있어서,
    상기 멤버 관리자는,
    상기 클라이언트로 상기 파일을 전송하는 상기 클라우드 멤버들로부터 데이터 전송 속도 정보를 수신하고, 수신된 데이터 전송 속도가 기준값보다 낮을 때 상기 변경된 클라우드 멤버 정보를 상기 클라이언트 관리자에게 제공하고,
    상기 클라이언트 관리자는 상기 변경된 클라우드 멤버 정보를 상기 클라이언트에게 제공하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템.
  10. 제 8 항에 있어서,
    상기 파일 분산 관리자는,
    상기 스토리지 서버로부터 다운로드된 파일을 복수의 데이터 블록들로 분할하고, 상기 데이터 블록들을 상기 클라우드 멤버들에게 각각 전송 하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템.
  11. 제 10 항에 있어서,
    상기 멤버 관리자는,
    상기 클라우드 멤버들 중 데이터 전송 속도가 기준값 이하인 클라우드 멤버가 있을 때, 데이터 전송 속도가 기준값 이하인 클라우드 멤버에서 제공하는 데이터 블록과 동일한 데이터 블록을 저장하고 있는 클라우드 멤버에 대한 정보를 상기 클라이언트 관리자에게 제공하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템.
  12. 제 8 항에 있어서,
    상기 클라이언트에 의해서 요청된 파일은 어플리케이션 프로그램 파일, 게임 프로그램 파일, 텍스트 데이터 파일, 문서 파일, 그림 파일, 음악 파일 및 동영상 파일 중 어느 하나인 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템.
KR1020090098256A 2009-10-15 2009-10-15 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법 KR101089509B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090098256A KR101089509B1 (ko) 2009-10-15 2009-10-15 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090098256A KR101089509B1 (ko) 2009-10-15 2009-10-15 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법

Publications (2)

Publication Number Publication Date
KR20110041194A true KR20110041194A (ko) 2011-04-21
KR101089509B1 KR101089509B1 (ko) 2011-12-05

Family

ID=44047209

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090098256A KR101089509B1 (ko) 2009-10-15 2009-10-15 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법

Country Status (1)

Country Link
KR (1) KR101089509B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013001214A1 (fr) * 2011-06-28 2013-01-03 France Telecom Procede et systeme de stockage reparti d'informations a gestion de ressources optimisee
CN102955983A (zh) * 2011-08-19 2013-03-06 大连网信软件有限公司 基于云计算及rfid技术的泛在文献管理服务平台
KR20130082689A (ko) * 2011-12-14 2013-07-22 한국전자통신연구원 클라우드 환경에서 그리드 파일 시스템 방식의 분산 기반 실시간 트랜잭셔널 트랜스코딩 방법 및 장치와 그 시스템
KR101315681B1 (ko) * 2011-07-18 2013-10-08 이니텍(주) 클라우드 컴퓨팅 환경에서의 정보 처리 장치 및 정보 처리 방법
WO2014126322A1 (ko) * 2013-02-13 2014-08-21 Song Hyung Keun 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치
KR20200046187A (ko) * 2018-10-19 2020-05-07 주식회사 엘지유플러스 클라우드 파일 다운로드 장치 및 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102670863B1 (ko) * 2016-12-29 2024-05-29 주식회사 넥슨코리아 데이터 다운로드 제공 장치 및 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013001214A1 (fr) * 2011-06-28 2013-01-03 France Telecom Procede et systeme de stockage reparti d'informations a gestion de ressources optimisee
FR2977337A1 (fr) * 2011-06-28 2013-01-04 France Telecom Procede et systeme de stockage reparti d'informations a gestion de ressources optimisee
KR101315681B1 (ko) * 2011-07-18 2013-10-08 이니텍(주) 클라우드 컴퓨팅 환경에서의 정보 처리 장치 및 정보 처리 방법
CN102955983A (zh) * 2011-08-19 2013-03-06 大连网信软件有限公司 基于云计算及rfid技术的泛在文献管理服务平台
KR20130082689A (ko) * 2011-12-14 2013-07-22 한국전자통신연구원 클라우드 환경에서 그리드 파일 시스템 방식의 분산 기반 실시간 트랜잭셔널 트랜스코딩 방법 및 장치와 그 시스템
WO2014126322A1 (ko) * 2013-02-13 2014-08-21 Song Hyung Keun 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치
US9203778B2 (en) 2013-02-13 2015-12-01 Hyung K. SONG Device to efficiently allocate resources for cloud computing
KR20200046187A (ko) * 2018-10-19 2020-05-07 주식회사 엘지유플러스 클라우드 파일 다운로드 장치 및 방법

Also Published As

Publication number Publication date
KR101089509B1 (ko) 2011-12-05

Similar Documents

Publication Publication Date Title
US10904597B2 (en) Dynamic binding for use in content distribution
KR101120572B1 (ko) 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 다운로드 방법
KR101089509B1 (ko) 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
AU2011274249B2 (en) Systems and methods for storing digital content
KR20100122197A (ko) 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
US8230100B2 (en) Variable fidelity media provision system and method
KR20130062462A (ko) 스트리밍 게임 서비스를 위한 분산 서버 시스템 및 방법
KR101033813B1 (ko) 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
KR101195123B1 (ko) 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
KR20110109610A (ko) 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
KR20150011087A (ko) 컨텐츠 전송 서비스를 위한 분산 캐싱 관리 방법 및 이를 위한 중앙 관리 장치
KR20220006463A (ko) 콘텐츠 서비스를 위해 통신 가입자의 자원을 공유하고 보상하기 위한 장치 및 방법
US8301775B2 (en) Affiliate bandwidth management
KR20200101502A (ko) 클라우드 네트워크 시스템과 이것의 효과적인 파일 분산법
CN110968419A (zh) 数据接收方法及装置
KR101047844B1 (ko) 그리드 전용장치를 이용한 그리드 시스템 및 그것의 운영방법
KR20110132797A (ko) 클라우드 컴퓨팅 환경을 적용한 디지털 케이블 방송에서의 주문형 비디오 서비스 제공 장치 및 제공 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
Gkamas et al. Integrating the Kaltura video platform with the Photodentro Video repository: A case study
CN102165429B (zh) 向媒体服务器的多媒体相册发布
Lee Video block device for user-friendly delivery in IaaS clouds
Sandhya et al. Dynamic load balancing for video processing system in cloud
KR20130034366A (ko) 네트워크의 파일 분산 처리 시스템
Islam et al. Beyond CDN: Content processing at the edge of the cloud
CN112565811A (zh) 一种互联网电视去中心化边缘节点分发系统
Vani et al. Cloud-Based Multimedia Storage System with QoS Provision

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
LAPS Lapse due to unpaid annual fee