KR101120572B1 - Cloud computing network system and file download method of the same - Google Patents

Cloud computing network system and file download method of the same Download PDF

Info

Publication number
KR101120572B1
KR101120572B1 KR1020090117959A KR20090117959A KR101120572B1 KR 101120572 B1 KR101120572 B1 KR 101120572B1 KR 1020090117959 A KR1020090117959 A KR 1020090117959A KR 20090117959 A KR20090117959 A KR 20090117959A KR 101120572 B1 KR101120572 B1 KR 101120572B1
Authority
KR
South Korea
Prior art keywords
file
client
pcs
cloud member
cloud
Prior art date
Application number
KR1020090117959A
Other languages
Korean (ko)
Other versions
KR20110061342A (en
Inventor
김대중
강찬룡
Original Assignee
주식회사 클루넷
강찬룡
김대중
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 클루넷, 강찬룡, 김대중 filed Critical 주식회사 클루넷
Priority to KR1020090117959A priority Critical patent/KR101120572B1/en
Publication of KR20110061342A publication Critical patent/KR20110061342A/en
Application granted granted Critical
Publication of KR101120572B1 publication Critical patent/KR101120572B1/en

Links

Images

Classifications

    • 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
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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

Abstract

본 발명의 클라우드 컴퓨팅 네트워크 시스템은, 상기 클라우드 멤버 PC들로부터 클라이언트로 데이터 파일이 전송되도록 제어하되, 클라우드 멤버 PC들 각각의 데이터 전송 속도의 합이 기준 전송 속도보다 낮을 때 상기 요청된 파일의 일부가 스토리지 서버로부터 클라이언트로 전송되도록 제어한다. 그러므로 대용량의 파일이 복수의 클라우드 멤버 PC들에게 분산 저장된 상태에서, 클라우드 멤버 PC들로부터 클라이언트로의 파일 전송이 원활하지 않을 때 파일의 일부를 스토리지 서버로부터 직접 클라이언트로 제공할 수 있다.The cloud computing network system of the present invention controls a data file to be transmitted from the cloud member PCs to a client, but when the sum of the data transfer rates of each of the cloud member PCs is lower than the reference transfer rate, a part of the requested file is lost. Controls transfer from the storage server to the client. Therefore, while a large file is distributed and stored in a plurality of cloud member PCs, when the file transfer from the cloud member PCs to the client is not smooth, a part of the file can be provided directly to the client from the storage server.

Description

클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 다운로드 방법{CLOUD COMPUTING NETWORK SYSTEM AND FILE DOWNLOAD METHOD OF THE SAME}CLOUD COMPUTING NETWORK SYSTEM AND FILE DOWNLOAD METHOD OF THE SAME}

본 발명은 분산 처리가 가능한 클라우드 컴퓨팅 네트워크 시스템에 관한 것이다.The present invention relates to a cloud computing network system capable of distributed processing.

일반적으로 임의의 네트워크를 통해 전자화된 정보를 전달받기 위해서는 소정의 정보를 요구하는 컴퓨터(이하 클라이언트라 칭함)와, 클라이언트로부터 요구된 정보를 제공하는 컴퓨터(이하 서버라 칭함) 그리고 이들 간의 정보 전달 경로를 구성하는 네트워크가 존재해야 한다. 이 중 서버와 네트워크는 하나의 클라이언트에게만 서비스되는 자원이 아니므로, 복수의 서로 다른 클라이언트들의 요구에 응답할 때 과중한 부하가 걸리게 된다. 그 결과, 서버에 동시에 접속할 수 있는 클라이언트의 수는 제한되어야 하고 정보를 요구하는 클라이언트는 자신에게 할당된 대역폭 중의 일부만을 사용할 수 밖에 없다.In general, a computer (hereinafter referred to as a client) requesting predetermined information in order to receive electronicized information through an arbitrary network, a computer (hereinafter referred to as a server) providing the requested information from the client, and an information transmission path between them The network constituting the network must exist. Among them, the server and the network are not resources that are serviced by only one client. Therefore, a heavy load is applied when responding to requests from a plurality of different clients. As a result, the number of clients that can connect to the server at the same time should be limited, and clients requesting information can only use a portion of the bandwidth allocated to them.

이와 같은 문제점을 해결하기 위해서 인터넷을 통해 정보를 판매하는 콘텐츠 제공자(contents provider)들은 사용자/고객의 수를 늘이고 서비스의 품질을 향상시키기 위해서 서버의 역할을 할 수 있는 대용량의 고가 컴퓨터를 다수 구입하거 나, 네트워크의 대역폭을 증가시키는 등의 막대한 투자를 해야한다. 콘텐츠 제공자들은 정보 제공 서비스를 안정적으로 제공하기 위하여 최대 클라이언트 수를 예측하고 그에 대비한 자원을 준비하여야 하는데, 예측한 최대 클라이언트 수만큼의 정보 요구가 발생하지 않은 경우에는 자원 낭비가 초래되고, 예측한 최대 클라이언트 수보다 정보를 요구하는 클라이언트의 수가 많은 경우에는 정상적인 서비스 제공이 어려운 문제는 여전히 존재한다.To solve this problem, content providers who sell information through the Internet purchase large numbers of expensive computers that can act as servers to increase the number of users / customers and improve the quality of service. I have to invest heavily in increasing the bandwidth of the network. Content providers should estimate the maximum number of clients and prepare resources for the stable provision of information services. If the information demand does not occur as the maximum number of clients, the content providers will be wasted. If there are more clients requesting information than the maximum number of clients, the problem of providing a normal service still remains.

따라서 본 발명의 목적은 한정된 자원을 가지고 많은 클라이언트들에게 서비스를 제공할 수 있는 클라우드 컴퓨팅 네트워크 시스템을 제공하는 데 있다.Accordingly, an object of the present invention is to provide a cloud computing network system capable of providing a service to many clients with limited resources.

본 발명의 다른 목적은 대용량 파일을 클라우드 멤버 PC들로부터 클라이언트에게 제공할 때 클라우드 멤버 PC들에 의한 전송 속도 저하를 최소화할 수 있는 파일 다운로드 방법을 제공하는 데 있다.Another object of the present invention is to provide a file download method that can minimize the transmission speed degradation by the cloud member PCs when providing a large file from the cloud member PCs to the client.

상기와 같은 목적을 달성하기 위한 본 발명의 일 특징에 의하면, 클라우드 컴퓨팅 네트워크 시스템의 파일 다운로드 방법은: 클라이언트로부터의 파일 요청을 메인 서버에서 수신하는 단계와, 상기 메인 서버가, 상기 요청된 파일을 제공할 클라우드 멤버 PC들을 선정하고, 선정된 클라우드 멤버 PC들에 대한 정보를 상기 클라이언트에게 제공하는 단계와, 상기 메인 서버가 상기 클라우드 멤버 PC들로부터 데이터 전송 속도를 수신하는 단계, 그리고 상기 메인 서버가, 상기 클라우드 멤버 PC들 각각의 데이터 전송 속도의 합이 기준 전송 속도보다 낮을 때 상기 요청된 파일의 일부가 스토리지 서버로부터 상기 클라이언트로 직접 전송되도록 제어하는 단계를 포함한다.According to an aspect of the present invention for achieving the above object, a file download method of a cloud computing network system includes: receiving a file request from a client at a main server, wherein the main server is configured to receive the requested file; Selecting cloud member PCs to be provided, providing information about the selected cloud member PCs to the client, receiving the data transfer rate from the cloud member PCs by the main server, and And controlling a portion of the requested file to be transferred directly from a storage server to the client when the sum of data transfer rates of each of the cloud member PCs is lower than a reference transfer rate.

이 실시예에 있어서, 상기 파일 다운 로드 방법은 상기 메인 서버에서, 상기 요청된 파일이 핫파일인 지를 판별하는 단계와, 상기 메인 서버에서, 상기 요청된 파일이 핫파일일 때 상기 스토리지 서버에 저장된 파일이 분산 저장될 클라우드 멤버 PC들을 선정하는 단계, 그리고 상기 메인 서버의 제어에 의해서, 상기 스토리지 서버에 저장된 파일을 상기 선정된 클라우드 멤버 PC들에게 전송하는 단계를 더 포함한다.In this embodiment, the file download method includes determining, at the main server, whether the requested file is a hot file, and at the main server, storing the requested file when the requested file is a hot file. Selecting cloud member PCs to which files are distributed and stored, and transmitting, by the control of the main server, a file stored in the storage server to the selected cloud member PCs.

이 실시예에 있어서, 상기 파일 다운 로드 방법은 상기 메인 서버가 상기 스토리지 서버에 저장된 파일을 복수의 데이터 블록들로 분할하는 단계를 더 포함하며, 상기 파일 전송 단계는, 상기 데이터 블록들 각각을 상기 선정된 클라우드 멤버 PC들에게 전송하는 단계를 포함한다.In this embodiment, the file download method further includes the main server partitioning a file stored in the storage server into a plurality of data blocks, wherein the file transfer step comprises: each of the data blocks; And transmitting to the selected cloud member PCs.

이 실시예에 있어서, 상기 메인 서버는, 상기 클라우드 멤버 PC들 각각의 데이터 전송 속도의 합이 기준 전송 속도보다 낮을 때 상기 클라우드 멤버 PC들 중 가장 느린 데이터 전송 속도를 갖는 클라우드 멤버 PC로부터의 상기 데이터 블록 대신 상기 스토리지 서버에 저장된 상기 데이터 블록을 상기 클라이언트로 전송한다.In this embodiment, the main server is the data from the cloud member PC having the slowest data transfer rate among the cloud member PCs when the sum of the data transfer rates of each of the cloud member PCs is lower than a reference transfer rate. Instead of the block, the data block stored in the storage server is transmitted to the client.

이 실시예에 있어서, 상기 기준 전송 속도는 상기 클라이언트에 의해서 요구되는 최소 전송 속도에 따라서 설정된다.In this embodiment, the reference transmission rate is set according to the minimum transmission rate required by the client.

본 발명의 다른 특징에 따른 클라이언트의 요청에 응답해서 서비스를 제공하는 클라우드 컴퓨팅 네트워크 시스템은: 메인 서버와, 상기 클라이언트에게 제공될 파일들을 저장하는 스토리지 서버, 그리고 상기 클라이언트로부터 요청된 파일을 제공하기 위한 클라우드 멤버 PC를 포함한다 상기 메인 서버는 상기 클라이언트로부터 요청된 파일을 제공할 클라우드 멤버 PC들을 선정하고, 선정된 클라우드 멤버 PC들에 대한 정보를 상기 클라이언트에게 제공하되, 상기 클라우드 멤버 PC들 각각으로부터 수신된 데이터 전송 속도의 합이 기준 전송 속도보다 낮을 때 상기 요청된 파일의 일부가 스토리지 서버로부터 상기 클라이언트로 직접 전송되도록 제어한다.A cloud computing network system providing a service in response to a client request in accordance with another aspect of the present invention comprises: a main server, a storage server for storing files to be provided to the client, and a file requested from the client. The main server selects cloud member PCs to provide a file requested from the client, and provides information about the selected cloud member PCs to the client, and receives from each of the cloud member PCs. When the sum of the data transfer rates is lower than the reference transfer rate, a part of the requested file is controlled to be transferred directly from the storage server to the client.

이 실시예에 있어서, 상기 메인 서버는, 상기 클라이언트를 관리하며, 상기 클라이언트로부터 요청된 파일이 저장된 클라우드 멤버 PC들에 대한 정보를 상기 클라이언트에게 제공하는 클라이언트 관리자와, 상기 클라우드 멤버 PC들을 관리하는 멤버 관리자, 그리고 상기 클라이언트로부터 요청된 파일이 파일일 때 상기 스토리지 서버로부터 상기 파일을 다운로드하는 파일 분산 관리자를 포함한다. 상기 멤버 관리자는 상기 핫파일을 저장가능한 클라우드 멤버 PC 정보를 상기 파일 분산 관리자로 제공하며, 상기 파일 분산 관리자는 상기 클라우드 멤버 PC 정보를 참조하여 상기 다운로드된 파일을 상기 클라우드 멤버 PC들로 전송한다.In this embodiment, the main server, a client manager for managing the client, providing the client with information about the cloud member PCs stored the file requested from the client, and a member for managing the cloud member PCs An administrator, and a file distribution manager for downloading the file from the storage server when the file requested from the client is a file. The member manager provides cloud member PC information capable of storing the hot file to the file distribution manager, and the file distribution manager transmits the downloaded file to the cloud member PCs with reference to the cloud member PC information.

이 실시예에 있어서, 상기 멤버 관리자는, 상기 클라이언트로 상기 파일을 전송하는 상기 클라우드 멤버 PC들로부터 데이터 전송 속도 정보를 수신하고, 상기 클라우드 멤버 PC들 각각의 데이터 전송 속도의 합이 기준 전송 속도보다 낮을 때 상기 요청된 파일의 일부가 스토리지 서버로부터 상기 클라이언트로 직접 전송되도록 제어한다.In this embodiment, the member manager receives data transfer rate information from the cloud member PCs that transfer the file to the client, and the sum of the data transfer rates of each of the cloud member PCs is greater than a reference transfer rate. When low, control the portion of the requested file to be sent directly from the storage server to the client.

이 실시예에 있어서, 상기 파일 분산 관리자는, 상기 스토리지 서버로부터 다운로드된 파일을 복수의 데이터 블록들로 분할하고, 상기 데이터 블록들을 상기 클라우드 멤버 PC들에게 각각 전송한다.In this embodiment, the file distribution manager divides the file downloaded from the storage server into a plurality of data blocks, and transmits the data blocks to the cloud member PCs, respectively.

이 실시예에 있어서, 상기 멤버 관리자는, 상기 클라우드 멤버 PC들 각각의 데이터 전송 속도의 합이 기준 전송 속도보다 낮을 때, 상기 클라우드 멤버 PC들 중 가장 느린 데이터 전송 속도를 갖는 클라우드 멤버 PC로부터 제공되는 데이터 블록에 대한 정보를 상기 클라이언트 관리자에게 제공하고, 상기 클라이언트 관리자는 가장 느린 데이터 전송 속도를 갖는 클라우드 멤버 PC에서 제공하는 데이터 블록과 동일한 데이터 블록을 상기 스토리지 서버로부터 독출해서 상기 클라이언트로 제공한다.In this embodiment, the member manager is provided from a cloud member PC having the slowest data transfer rate among the cloud member PCs when the sum of data transfer rates of each of the cloud member PCs is lower than a reference transfer rate. Information about a data block is provided to the client manager, and the client manager reads from the storage server the same data block as that provided by the cloud member PC having the slowest data transfer rate and provides the same to the client.

이 실시예에 있어서, 상기 클라이언트에 의해서 요청된 파일은 어플리케이션 프로그램 파일, 게임 프로그램 파일, 텍스트 데이터 파일, 문서 파일, 그림 파일, 음악 파일 및 동영상 파일 중 어느 하나이다.In this embodiment, the file requested by the client is any one of an application program file, a game program file, a text data file, a document file, a picture file, a music file, and a video file.

이와 같은 본 발명의 클라우딩 컴퓨팅 네트워크 시스템은 파일 스토리지에 저장된 파일들을 클라우드 멤버 PC들에게 분산시킴으로써 한정된 자원을 가지고 많은 클라이언트들에게 서비스를 제공할 수 있다. 특히, 대용량의 파일이 복수의 클라우드 멤버 PC들에게 분산 저장된 상태에서, 클라우드 멤버 PC들로부터 클라이언트로의 파일 전송이 원활하지 않을 때 파일의 일부를 스토리지 서버로부터 직접 클라이언트로 제공할 수 있다. 그러므로 클라이언트는 원하는 파일을 빠른 속도로 다운로드할 수 있다.Such a cloud computing network system of the present invention can provide services to many clients with limited resources by distributing files stored in file storage to cloud member PCs. In particular, in a state where a large amount of files are distributed and stored in a plurality of cloud member PCs, when the file transfer from the cloud member PCs to the client is not smooth, a part of the file may be provided directly to the client from the storage server. Therefore, the client can download the desired file at high speed.

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

클라우드 컴퓨팅 네트워크(Cloud Computing Network, CCN)란 네트워크 및 스토리지 자원의 가상화를 통해 사용자에게 각종 소프트웨어와 보안 솔루션, 컴퓨팅 능력까지 온디맨드(on-demend) 방식으로 제공하기 위한 네트워크 서비스이다. 이러한 CCN 서비스는 네트워크 효율성을 향상시키고, 트래픽 집중 시에도 속도 저하가 발생하지 않으므로 고품질의 서비스 제공이 가능해진다. 본 발명은 이와 같은 CCN을 적용한 시스템 및 그것의 파일 다운로드 방법을 제공한다.Cloud Computing Network (CCN) is a network service designed to provide users with software, security solutions and computing power on-demand through virtualization of network and storage resources. The CCN service improves network efficiency, and does not cause a slowdown even when concentrating traffic, thereby providing high quality service. The present invention provides a system to which such a CCN is applied and a file download method thereof.

도 1은 본 발명의 바람직한 실시예에 따른 클라우딩 컴퓨팅 네트워크 시스템을 보여주는 도면이다.1 illustrates a cloud computing network system in accordance with a preferred embodiment of the present invention.

도 1을 참조하면, 클라우딩 컴퓨팅 네트워크 시스템(100)은 메인 서버(110), 스토리지 서버(120), 네트워크(130), 클라이언트들(141-143), 클라우드 멤버 PC(personal computer)들(151-152) 그리고 홈 스토리지들(153-154)을 포함한다. 메인 서버(110), 스토리지 서버(120), 클라이언트들(141-143), 클라우드 멤버 PC들(151-152) 그리고 홈 스토리지들(153-154)은 인터넷과 같은 통신 회선인 네트워크(130)를 통해 상호 연결된다. 메인 서버(110)와 클라이언트들(141-143) 사이에 연결된 인터넷 회선은 유한한 자원이며, 회선의 용량을 늘리기 위해서 메인 서버(110)를 운영하는 사업자는 IDC(internet data center) 또는 ISP(internet service provider)에게 더 많은 회선 사용 비용을 지불해야만 한다. 그러므로 메인 서버(110)를 운영하는 사업자는 한정된 회선을 가지고 효율적으로 클라이언트들(141-143)에게 서비스를 제공하기 위한 노력이 요구된다.Referring to FIG. 1, the cloud computing network system 100 includes a main server 110, a storage server 120, a network 130, clients 141-143, and cloud member PCs 151. -152) and home storages 153-154. The main server 110, the storage server 120, the clients 141-143, the cloud member PCs 151-152 and the home storages 153-154 connect the network 130, which is a communication line such as the Internet. Are interconnected through. The internet line connected between the main server 110 and the clients 141-143 is a finite resource, and the operator operating the main server 110 to increase the capacity of the line is an internet data center (IDC) or an ISP (internet). You have to pay the service provider more lines. Therefore, an operator operating the main server 110 requires an effort to efficiently provide services to the clients 141 to 143 with a limited line.

스토리지 서버(120)는 어플리케이션 프로그램 파일, 게임 프로그램 파일, 텍스트 데이터 파일, 문서 파일, 그림 파일, 음악 파일, 동영상 파일 및 바코드 파일 등과 같은 대용량 데이터를 제공하는 사업자(콘텐츠 제공자)로부터 제공된 파일들을 저장한다. 스토리지 서버(120)에 저장된 파일들은 메인 서버(110)의 제어에 의해서 클라이언트들(141-143)로 제공될 수 있다.The storage server 120 stores files provided by an operator (content provider) that provides a large amount of data such as an application program file, a game program file, a text data file, a document file, a picture file, a music file, a video file, a barcode file, and the like. . Files stored in the storage server 120 may be provided to the clients 141 to 143 under the control of the main server 110.

메인 서버(110)는 클라이언트들(141-143)의 파일 요청에 응답해서 스토리지 서버(120)에 저장된 파일들이 클라이언트들(141-143)에게 제공되도록 제어한다. 메인 서버(110)는, 네트워크(130)의 한정된 자원을 효율적으로 이용하기 위하여, 스토리지 서버(120)에 저장된 파일들을 클라우드 멤버 PC들(151-152)에게 분산 저장하고, 클라이언트들(141-143)이 스토리지 서버(120) 대신 클라우드 멤버 PC들(151-152)로부터 파일을 다운로드하도록 제어한다.The main server 110 controls the files stored in the storage server 120 to be provided to the clients 141-143 in response to the file request of the clients 141-143. The main server 110 distributes and stores the files stored in the storage server 120 to the cloud member PCs 151-152 in order to efficiently use the limited resources of the network 130, and the clients 141-143. ) To download files from the cloud member PCs 151-152 instead of the storage server 120.

클라이언트들(141-143)은 퍼스널 컴퓨터를 이용하여 네트워크(130)를 통해 메인 서버(110)에 접속한다. 클라이언트들(141-143)은 메인 서버(110)가 제공 가능한 파일들 중 일부에 대한 다운로드를 요청하고, 메인 서버(110)의 제어에 따라서 스토리지 서버(120) 또는 클라우드 멤버 PC들(151-152)로부터 원하는 파일을 다운로드한다. 클라이언트들(141-143)은 데스크탑 컴퓨터, 노트북과 같은 퍼스널 컴퓨터 뿐만 아니라 PDA(personal digital assistant), 휴대폰 등과 같이 무선 인터넷이 가능한 다양한 휴대용 단말기들(handheld terminal)이 될 수 있다.Clients 141-143 connect to main server 110 via network 130 using a personal computer. The clients 141-143 request download of some of the files that the main server 110 can provide, and under the control of the main server 110, the storage server 120 or the cloud member PCs 151-152. Download the file you want from. The clients 141-143 may be various handheld terminals capable of wireless Internet such as a personal digital assistant (PDA), a mobile phone, etc., as well as a personal computer such as a desktop computer and a notebook.

네트워크(130)를 통하여 메인 서버(110)와 연결되는 클라이언트들(141-143)은 클라우드 멤버 PC들(151-152)로부터 파일을 다운로드하기 위해서 필요한 클라이언트 소프트웨어 프로그램을 저장하는 메모리(미 도시됨)를 포함하며, 상기 클라이언트 소프트웨어 프로그램은 프로세서(미 도시됨)에 의해서 실행된다.The clients 141-143, which are connected to the main server 110 via the network 130, are memory (not shown) that stores client software programs necessary for downloading files from the cloud member PCs 151-152. Wherein the client software program is executed by a processor (not shown).

클라우드 멤버 PC들(151-152)은 퍼스널 컴퓨터를 이용하여 네트워크(130)를 통해 메인 서버(110)와 연결된다. 클라우드 멤버 PC들(151-152)은 메인 서버(110)의 제어에 따라서 스토리지 서버(120)에 저장된 파일을 다운로드하고, 클라이언트들(141-143)에게 파일을 전송한다.The cloud member PCs 151-152 are connected to the main server 110 via the network 130 using a personal computer. The cloud member PCs 151-152 download a file stored in the storage server 120 under the control of the main server 110, and transmit the file to the clients 141-143.

홈 스토리지들(153-154)은 클라우드 멤버 PC들(151-152)과 마찬가지로 네트워크(130)를 통하여 메인 서버(110)와 연결된다. 홈 스토리지들(153-154)은 퍼스널 컴퓨터와 별개의 저장 장치이다. 홈 스토리지들(153-154) 각각은 프로세서, 프로세서의 동작에 필요한 소프트웨어를 저장하는 메모리, 파일을 저장하기 위한 하드디스크 드라이브, 입출력 인터페이스 등을 포함한다. 이러한 홈 스토리지들(153-154)은 메인 서버(110)의 제어에 응답해서 메인 서버(110)로부터 제공되는 파일을 저장하고, 클라이언트들(141-143)의 요청에 응답해서 저장된 파일을 제공한다.The home storages 153-154 are connected to the main server 110 via the network 130, like the cloud member PCs 151-152. Home storage 153-154 is a storage device separate from the personal computer. Each of the home storages 153-154 includes a processor, a memory for storing software required for the operation of the processor, a hard disk drive for storing a file, an input / output interface, and the like. These home storages 153-154 store files provided from the main server 110 in response to the control of the main server 110, and provide stored files in response to requests from the clients 141-143. .

도 2는 도 1에 도시된 메인 서버(110)의 구성을 보여주는 도면이다.2 is a diagram illustrating a configuration of the main server 110 illustrated in FIG. 1.

도 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)에 저장된 파일이 클라우드 멤버 PC들(151-152)에게 분산 저장되도록 마스터 관리자(112) 및 멤버 관리자(113)를 제어한다.Referring to FIG. 2, the main server 110 includes a client manager 111, a master manager 112, a member manager 113, and a file distribution manager 114. The client manager 110 discloses a list of files stored in the storage server 120 and available to the clients in a web browser. The clients 141-143 request the download of the files included in the file list of the web browser. The client manager 111 is responsible for managing the clients 141-143 requesting files. That is, the client manager 111 determines that the file requested from the clients 141-143 is a hot file according to the number of clients requesting the same file, the number of clients downloading the same file for a predetermined time, the traffic for the file, and the like. Determine whether The client manager 110 controls the requested file to be transferred from the storage server 120 to the clients 141-143 if the file requested by the clients 141-143 is not a hot file. The client manager 110 stores the master manager 112 and the member such that the file stored in the storage server 120 is distributed to the cloud member PCs 151-152 if the file requested from the clients 141-143 is a hot file. The manager 113 is controlled.

멤버 관리자(113)는 클라우드 멤버 PC들(151-152) 및 홈 스토리지들(153-154)을 관리한다. 즉, 클라우드 멤버 PC들(151-152) 및 홈 스토리지들(153-154) 중 파워 온 상태이고, 네트워크(130)에 접속한 상태이며, 파일을 다운로드 가능한 클라우드 멤버 PC들 및 홈 스토리지들에 대한 정보를 주기적으로 수집한다. 멤버 관리자(113)는 수집된 클라우드 멤버 PC들 및 홈 스토리지들에 대한 정보를 파일 분산 관리자(114)에 제공한다.The member manager 113 manages cloud member PCs 151-152 and home storages 153-154. That is, the cloud member PCs 151-152 and home storages 153-154 may be powered on, connected to the network 130, and may be downloaded to cloud member PCs and home storages. Collect information periodically. The member manager 113 provides the file distribution manager 114 with information about the collected cloud member PCs and home storages.

파일 분산 관리자(114)는 마스터 관리자(112)의 제어에 따라서 스토리지 서버(120)로부터 핫파일을 다운로드하여 저장하고, 저장된 핫파일을 클라우드 멤버 PC들(151-152) 및 홈 스토리지들(153-154)로 분산 전송한다. 클라이언트 관리자(111)는 클라이언트들(141-143)이 요청한 파일이 저장된 클라우드 멤머들(151-152) 및 및 홈 스토리지들(153-154)에 대한 정보를 클라이언트들(141-143)에게 전송한다.The file distribution manager 114 downloads and stores a hot file from the storage server 120 under the control of the master manager 112, and stores the stored hot file in the cloud member PCs 151-152 and the home storages 153-. 154 distributed transmission. The client manager 111 transmits information about the cloud members 151-152 and the home storages 153-154 in which the file requested by the clients 141-143 is stored, to the clients 141-143. .

마스터 관리자(112)는, 파일 분산 관리자(114)가 스토리지 서버(120)로부터 핫파일을 다운로드하도록 제어하고, 파일 분산 관리자(114)에 의해서 다운로드된 핫파일의 오류 여부를 검사한다.The master manager 112 controls the file distribution manager 114 to download the hot file from the storage server 120, and checks whether the hot file downloaded by the file distribution manager 114 is in error.

메인 서버(110)에 포함된 클라이언트 관리자(111), 마스터 관리자(112), 멤버 관리자(113) 및 파일 분산 관리자(114)는 단일의 관리자로 통합 구성될 수 있다. 또한 클라이언트 관리자(111), 마스터 관리자(112), 멤버 관리자(113) 및 파일 분산 관리자(114) 각각은 소정의 기능을 수행하기 위한 소프트웨어 프로그램을 내장한 컴퓨터로 구성될 수 있으며 서버(server)로 불리울 수 있다.The client manager 111, the master manager 112, the member manager 113, and the file distribution manager 114 included in the main server 110 may be integrated into a single manager. In addition, each of the client manager 111, the master manager 112, the member manager 113, and the file distribution manager 114 may be configured as a computer in which a software program for performing a predetermined function is embedded. May be called.

도 3은 도 2에 도시된 파일 분산 관리자에 의해서 클라우드 멤버 PC들 및 홈스토리지들로 전송되는 파일을 개념적으로 보여주는 도면이다.3 is a diagram conceptually illustrating a file transmitted to cloud member PCs and home storages by the file distribution manager illustrated in FIG. 2.

도 3을 참조하면, 파일 분산 관리자(114)는 스토리지 서버(120)로부터 다운로드된 파일(D_FILE)을 복수의 데이터 블록들(B0-Bn)로 분할한다. 스토리지 서버(120)로부터 파일 분산 관리자(114)로 다운로드되는 파일(D_FILE)의 크기는 작게는 수십 메가바이트(MByte)에서 수백 메가바이트에 이른다. 이와 같이 대용량의 파일(D_FILE)을 클라우드 멤버 PC들(151-152)에 효율적으로 분산 저장하기 위하여 본 발명의 파일 분산 관리자(114)는 다운로드되는 파일(D_FILE)을 작은 데이터 블록들(B0-Bn)로 나눈다.Referring to FIG. 3, the file distribution manager 114 divides the file D_FILE downloaded from the storage server 120 into a plurality of data blocks B0-Bn. The size of the file D_FILE downloaded from the storage server 120 to the file distribution manager 114 may range from several tens of megabytes (MByte) to several hundred megabytes. In order to efficiently distribute and store the large file D_FILE in the cloud member PCs 151-152, the file distribution manager 114 of the present invention stores the downloaded file D_FILE in small data blocks B0-Bn. Divide by)

도 4는 클라이언트가 클라우드 멤버 PC들 및 홈 스트로지로부터 데이터 블록들을 다운로드하는 것을 개념적으로 보여주는 도면이다.4 conceptually illustrates a client downloading data blocks from cloud member PCs and home storage.

도 4를 참조하면, 클라우드 멤버 PC들(410-430) 및 홈 스토리지(440)는 클라이언트(400)가 요청한 파일의 데이터 블록들(B0-B3)을 각각 저장하고 있다. 이 실시예에서는 세 개의 클라우드 멤버 PC들(410-430)과 하나의 홈 스토리지(440)가 데이터 블록들(B0-B3)을 분산 저장하고 있는 것으로 도시하고 설명하나, n 개의 데이터 블록들이 분산 저장되는 클라우드 멤버 PC들 및 홈 스토리지들의 수는 통신 환경, 클라이언트(400)가 요구하는 전송 속도, 파일을 요청하는 클라이언트들의 수 등에 의해서 다양하게 변경될 수 있다.Referring to FIG. 4, the cloud member PCs 410-430 and the home storage 440 respectively store data blocks B0-B3 of a file requested by the client 400. In this embodiment, the three cloud member PCs (410-430) and one home storage 440 is shown and described as the distributed storage of the data blocks (B0-B3), n data blocks are distributed storage The number of cloud member PCs and home storages may vary depending on the communication environment, the transfer rate required by the client 400, the number of clients requesting a file, and the like.

클라이언트(400)의 파일 요청에 응답해서 메인 서버(110)는 요청된 파일의 데이터 블록들(B0-B3)이 저장된 클라우드 멤버 PC들(410-430) 및 홈스토리지(440)에 대한 정보를 클라이언트(400)에게 제공한다. 클라이언트(400)는 메인 서버(110)로부터 제공된 정보에 따라서 클라우드 멤버 PC들(410-430) 및 홈 스토리지(440)에 액세스하고, 클라우드 멤버 PC들(410-430) 및 홈 스토리지(440)로부터 필요한 데이터 블록들(B0-B3)을 각각 다운로드한다. 클라이언트(400)와 클라우드 멤버 PC들(410-430)과 홈 스토리지(440)는 인터넷과 같은 네트워크(405)를 통해 상호 연결된다.In response to the file request from the client 400, the main server 110 receives information about the cloud member PCs 410-430 and the home storage 440 in which the data blocks B0-B3 of the requested file are stored. To 400. Client 400 accesses cloud member PCs 410-430 and home storage 440 in accordance with information provided from main server 110, and from cloud member PCs 410-430 and home storage 440. Download the required data blocks B0-B3 respectively. Client 400, cloud member PCs 410-430, and home storage 440 are interconnected via a network 405, such as the Internet.

예컨대, 클라이언트(400)로부터 요청되어서 클라우드 멤버 PC들(410-430) 및 홈 스토리지(440)로부터 다운로드되는 파일이 영화 파일인 경우, 영화 파일의 크기는 수백 메가 바이트에서 수 기가 바이트에 달한다. 이와 같은 대용량 파일을 빠른 속도로 클라이언트(400)에게 제공하기 위해서는 클라우드 멤버 PC들(410-430) 및 홈 스토리지(440)로의 데이터 전송 속도가 일정 속도 이상이어야 한다. 클라우드 멤버 PC들(410-430) 및 홈 스토리지(440)에서의 문제 또는 네트워크(405)의 오류 등으로 인해 클라우드 멤버 PC들(410-430) 및 홈 스토리지(440)로부터 클라이언트(400)로의 데이터 전송 속도가 일정 속도 이하이면 클라이언트(400)가 요구하는 전송 품질이 만족될 수 없다. 그러므로 본 발명의 클랑드 네트워크 시스템은 클라우드 멤버 PC들(410-430) 및 홈 스토리지(440)로부터 클라이언트(400)로의 데이터 전송 속도가 기준 속도보다 낮으면 스토리지 서버(450)로부터 직접 데이터 블록을 전송할 수 있는 구조를 갖는다.For example, if the file requested from the client 400 and downloaded from the cloud member PCs 410-430 and the home storage 440 is a movie file, the movie file may range in size from several hundred megabytes to several gigabytes. In order to provide such a large file to the client 400 at a high speed, the data transfer speed to the cloud member PCs 410-430 and the home storage 440 should be greater than or equal to a certain speed. Data from cloud member PCs 410-430 and home storage 440 to client 400 due to problems in cloud member PCs 410-430 and home storage 440 or errors in network 405, etc. If the transmission rate is less than or equal to a certain rate, the transmission quality required by the client 400 may not be satisfied. Therefore, the Clandand network system of the present invention transmits data blocks directly from the storage server 450 when the data transfer rate from the cloud member PCs 410-430 and the home storage 440 to the client 400 is lower than the reference rate. It has a structure that can.

도 2에 도시된 멤버 관리자(113)는 클라우드 멤버 PC들(410-430) 및 홈 스토리지(440)로부터 클라이언트(400)로 제공되는 데이터 블록들(B0-B3) 각각의 전송 속도에 대한 정보를 클라우드 멤버 PC들(410-430) 및 홈 스토리지(440)로부터 수신한다. 데이터 블록들(B0-B3) 각각의 전송 속도의 합 즉, 전체 전송 속도가 기준 속도보다 낮으면, 멤버 관리자(113)는 가장 낮은 전송 속도를 갖는 클라우드 멤버 PC 또는 홈 스토리지에 대한 정보를 클라이언트 관리자(111)에게 알려준다. 클라이언트 관리자(111)는 멤버 관리자(113)로부터 제공된 정보에 따라서 가장 낮은 전송 속도를 갖는 클라우드 멤버 PC 또는 및 홈 스토리지에서 전송하는 데이터 블록 대신 스토리지 서버(450)에 저장된 데이터 블록(Bk)을 클라이언트(400)에게 직접 제공한다. 클라이언트(400)는 클라우드 멤버 PC들과 홈 스토리지 그리고 스토리지 서버(450)로부터 원하는 파일을 다운로드하게 되며, 요구되는 전송 속도를 충족시킬 수 있다.The member manager 113 shown in FIG. 2 provides information on the transfer rate of each of the data blocks B0-B3 provided from the cloud member PCs 410-430 and the home storage 440 to the client 400. Receive from the cloud member PCs 410-430 and the home storage 440. If the sum of the transfer rates of each of the data blocks B0-B3, that is, the total transfer rate is lower than the reference rate, the member manager 113 displays information about the cloud member PC or the home storage having the lowest transfer rate. (111). The client manager 111 stores the data block Bk stored in the storage server 450 in place of the data member transmitted from the cloud member PC or the home storage having the lowest transfer rate or the data according to the information provided from the member manager 113. 400 directly. The client 400 downloads the desired file from the cloud member PCs, the home storage and the storage server 450, and may satisfy the required transmission speed.

이 실시예에서는 가장 낮은 전송 속도를 갖는 클라우드 멤버 PC 또는 홈 스토리지에 대한 정보를 클라이언트 관리자(111)에게 알려주나, 클라우드 멤버 PC들 및 홈 스토리지들의 전체 전송 속도가 기준 속도보다 현저히 느린 경우 멤버 관리자(113)는 두 개 이상의 클라우드 멤버 PC 및 홈 스토리지 대신 스토리지 서버(450)로부터 클라이언트(400)로 직접 데이터 블록이 다운로드되도록 제어할 수 있다.In this embodiment, the client manager 111 informs the client manager 111 of the cloud member PC or the home storage having the lowest transfer rate. However, if the total transfer rate of the cloud member PCs and the home storage is significantly slower than the reference rate, 113 may control data blocks to be downloaded directly from the storage server 450 to the client 400 instead of two or more cloud member PCs and home storage.

도 5는 도 1에 도시된 클라우드 컴퓨팅 네트워크 시스템의 클라이언트의 요청에 따라서 메인 서버가 파일을 분산하는 방법을 보여주는 플로우차트이다.FIG. 5 is a flowchart illustrating a method in which a main server distributes files according to a request of a client of the cloud computing network system shown in FIG. 1.

도 5를 참조하면, 메인 서버(110)는 클라우드 멤버 PC들(151-152) 및 홈 스토리지들(153-154)로부터 상태 정보를 수신한다(510). 도 5에는 클라우드 멤버 PC들(151-152) 및 홈 스토리지들(153-154)를 통틀어 클라우드 멤버 PC로 통칭한다. 클라우드 멤버 PC는 개인 PC를 이용하여 클라우드 서비스를 제공할 수도 있으며, 홈스토리지를 이용해서 클라우드 서비스를 제공할 수 있다. 클라우드 멤버 PC들(151-154)로부터 메인 서버(110)로 전송되는 상태 정보에는 최대 대역폭(bandwidth), 저장된 데이터 크기, 가용 디스크 용량 등이 포함된다. 메인 서버(11) 내 멤버 관리자(113)는 이러한 정보들에 기초해서 파일이 분산될 멤버를 선택하고, 멤버에 대한 보상 등을 제공한다.Referring to FIG. 5, the main server 110 receives state information from cloud member PCs 151-152 and home storages 153-154 (510). In FIG. 5, cloud member PCs 151-152 and home storages 153-154 are collectively referred to as cloud member PCs. Cloud member PCs can provide cloud services using personal PCs, and cloud services can be provided using home storage. State information transmitted from the cloud member PCs 151-154 to the main server 110 includes a maximum bandwidth, a stored data size, an available disk capacity, and the like. The member manager 113 in the main server 11 selects a member to which the file is distributed based on such information, and provides compensation for the member.

메인 서버(110)는 클라이언트들(141-143)로부터 파일 요청을 수신한다(512). 이 실시예에서는 클라이언트(141)가 메인 서버(110)에게 스토리지 서버(120)에 저장된 파일(F1)에 대한 다운로드를 요청한 것으로 설명한다.Main server 110 receives a file request from clients 141-143 (512). In this exemplary embodiment, the client 141 requests the main server 110 to download the file F1 stored in the storage server 120.

메인 서버(110)의 클라언트 관리자(111)는 클라이언트(141)에 의해서 요청된 파일(F1)이 핫파일(hot-file)인 지의 여부를 판별한다(514). 핫 파일이란 많은 수 의 클라이언트들로부터 파일 다운로드 요청이 있었거나 또는 현재 다운로드되고 있는 인기있는 파일을 칭한다. 예를 들어, 클라이언트 관리자(111)는, 5분동안 100명의 클라이언트들이 파일(F1)에 대한 다운로드를 요청했거나, 20명의 클라이언트들에게 동시에 파일(F1)이 다운로드되고 있는 중일 때 또는 트래픽이 10GB 이상이면 파일(F1)을 핫파일로 분류할 수 있다.The client manager 111 of the main server 110 determines whether the file F1 requested by the client 141 is a hot file (514). Hot files refer to popular files that have been requested or have been downloaded from a large number of clients. For example, the client manager 111 may request that 100 clients request a download of the file F1 for 5 minutes, or that the file F1 is being downloaded to 20 clients at the same time, or the traffic is 10 GB or more. In this case, the file F1 can be classified as a hot file.

클라이언트 관리자(111)는 클라이언트(141)에 의해서 요청된 파일(F1)이 핫파일이 아니면 스토리지 서버(120)에 저장된 파일(F1)이 클라이언트(141)에게 전송되도록 제어한다(540).If the file F1 requested by the client 141 is not a hot file, the client manager 111 controls 540 to transmit the file F1 stored in the storage server 120 to the client 141.

클라이언트 관리자(111)는 클라이언트(141)에 의해서 요청된 파일(F1)이 핫파일인 것으로 판별되면, 파일(F1)이 클라우드 멤버 PC들(151-154)에 분산 저장되어 있는 지의 여부를 판별한다(516). 만일 핫파일이 클라우드 멤버 PC들(151-154)에 분산 저장되어 있다면, 클라우드 관리자(111)는 클라이언트(141)에게 파일(F1)이 분산 저장된 클라우드 멤버 PC에 대한 정보를 전송한다(522). 클라우드 멤버 PC에 대한 정보는 멤버 관리자(113)로부터 제공된 것이다. 클라이언트(141)는 클라이언트 관리자(111)로부터 수신된 클라우드 멤버 PC 정보를 참조하여 클라우드 멤버 PC들로부터 원하는 파일(F1)을 다운로드 한다.If it is determined that the file F1 requested by the client 141 is a hot file, the client manager 111 determines whether the file F1 is distributed and stored in the cloud member PCs 151-154. (516). If the hot file is distributed and stored in the cloud member PCs 151-154, the cloud manager 111 transmits information about the cloud member PC in which the file F1 is distributed and stored to the client 141 (522). Information about the cloud member PC is provided from the member manager 113. The client 141 refers to the cloud member PC information received from the client manager 111 and downloads the desired file F1 from the cloud member PCs.

만일 파일(F1)이 클라우드 멤버 PC들(151-154)에 분산 저장되어 있지 않다면, 즉, 파일(F1)이 새롭게 핫파일로 분류되었다면, 클라이언트 관리자(111)는 마스터 관리자(112), 멤버 관리자(113) 및 파일 분산 관리자(114)에게 파일(F1)에 대한 분산 저장을 요청한다. 멤버 관리자(113)는 클라우드 멤버 PC들(151-154)에 대한 정보를 수집하고, 수집된 정보에 따라서 파일을 전송 가능한 클라우드 멤버 PC들에 대한 정보를 파일 분산 관리자(114)에게 제공한다.If the file F1 is not distributed and stored in the cloud member PCs 151-154, that is, if the file F1 is newly classified as a hot file, the client manager 111 is a master manager 112, a member manager. Request the distributed storage for the file F1 to the 113 and the file distribution manager 114. The member manager 113 collects information on the cloud member PCs 151-154, and provides the file distribution manager 114 with information about cloud member PCs capable of transferring files according to the collected information.

파일 분산 관리자(114)는 스토리지 서버(120)로부터 파일(F1)을 다운로드하고, 다운로드된 파일(D_FILE)을 복수의 데이터 블록들(B0-Bn)로 분할한다(518). 파일 분산 관리자(114)는 분할된 데이터 블록들(B0-Bn)을 클라우드 멤버 PC들(151-154)로 각각 전송한다. 파일 분산 관리자(114)는 멤버 관리자(113)로부터 제공된 클라우드 멤버 PC 정보에 따라서 파일이 분산 저장될 클라우드 멤버 PC들에게 데이터 블록들(B0-Bn)을 전송한다(520). 이때, 다운로드된 파일(D_FILE)의 크기 및 파일(D_FILE)을 요청하는 클라이언트들의 수에 따라서 파일(D_FILE)은 복수의 블록들로 분할되지 않고 단일의 파일로 유지되거나 또는 복수의 블록들로 분할될 수 있다. 또한 파일(D_FILE) 또는 파일 블록들은 특정 클라우드 멤버 PC에게만 전송되거나 또는 복수의 클라우드 멤버 PC들(151-154)에게 분산되어 저장될 수 있다. 예컨대, 파일(F1)에 대한 요구도가 높으면 더 많은 수의 클라이언트 멤버들에게 분산 저장되고, 파일(F1)에 대한 요구도가 낮으면 적은 수의 클라이언트 멤버들에게만 분산 저장될 수 있다.The file distribution manager 114 downloads the file F1 from the storage server 120 and divides the downloaded file D_FILE into a plurality of data blocks B0-Bn (518). The file distribution manager 114 transmits the divided data blocks B0-Bn to the cloud member PCs 151-154, respectively. The file distribution manager 114 transmits the data blocks B0-Bn to the cloud member PCs whose files are to be distributed and stored according to the cloud member PC information provided from the member manager 113 (520). In this case, the file D_FILE may be maintained as a single file or divided into a plurality of blocks, depending on the size of the downloaded file D_FILE and the number of clients requesting the file D_FILE. Can be. In addition, the file D_FILE or file blocks may be transmitted only to a specific cloud member PC or distributed and stored in the plurality of cloud member PCs 151-154. For example, if the demand for file F1 is high, it may be distributed to a larger number of client members. If the demand for file F1 is low, it may be distributed to a smaller number of client members.

파일 분산 관리자(114)에 의해서 클라우드 멤버 PC들(151-152)에게 파일 전송이 완료되면, 클라이언트 관리자(111)는 클라이언트(141)에게 데이터 블록들(B0-Bn)이 저장된 클라우드 멤버 PC들에 대한 정보를 전송한다(522). 클라이언트(141)는 클라이언트 관리자(111)로부터 제공된 클라우드 멤버 PC 정보에 따라서 네트워크(130)를 통하여 클라우드 멤버 PC들(151-154)에 접속하여 데이터 블록들(B0-Bn)을 다운로드한다. 클라이언트(141)는 클라우드 멤버 PC들(151-154)로부터 파일을 다운로드하기 위해서 필요한 클라이언트 소프트웨어 프로그램을 보유하고 있어야 한다. 클라이언트 소프트웨어 프로그램은 사전에 클라이언트 관리자(111)에 의해서 클라이언트(141)에게 제공될 수 있다.When the file transfer is completed by the file distribution manager 114 to the cloud member PCs 151-152, the client manager 111 sends the client 141 to the cloud member PCs in which the data blocks B0-Bn are stored. Information about the transmission is transmitted (522). The client 141 downloads the data blocks B0-Bn by accessing the cloud member PCs 151-154 through the network 130 according to the cloud member PC information provided from the client manager 111. The client 141 must have a client software program necessary to download a file from the cloud member PCs 151-154. The client software program may be provided to the client 141 by the client manager 111 in advance.

메인 서버(110) 내 멤버 관리자(113)는 클라이언트(141)에게 데이터 블록들(B0-Bn)을 전송하고 있는 클라우드 멤버 PC들(151-154)로부터 데이터 전송 속도 정보를 수신한다(524).The member manager 113 in the main server 110 receives data transmission rate information from the cloud member PCs 151-154 that are transmitting the data blocks B0-Bn to the client 141 (524).

만일 클라우드 멤버 PC들(151-154)로부터 수신된 데이터 전송 속도의 합이 기준 속도보다 낮으면(526), 메인 서버(110)는 데이터 블록들(B0-Bn)의 일부가 클라우드 멤버 PC들(151-154) 대신 스토리지 서버(120)로부터 클라이언트(141)로 전송되도록 제어한다(528). 클라우드 멤버 PC들(151-154)로부터 수신된 데이터 전송 속도의 합과 비교되는 기준 속도는 클라이언트(141)에 의해서 요구되는 파일 다운로드 속도에 따라서 결정된다. 이 때 메인 서버(110)는 데이터 블록들(B0-Bn) 중 가장 전송 속도가 느린 적어도 하나의 클라우드 멤버 PC로부터 제공되는 데이터 블록이 스토리지 서버(120)로부터 클라이언트(141)로 전송되도록 제어할 수 있다.If the sum of the data transfer rates received from the cloud member PCs 151-154 is lower than the reference rate (526), the main server 110 may determine that some of the data blocks B0-Bn are part of the cloud member PCs ( In operation 528, the storage server 120 transmits the data from the storage server 120 to the client 141 instead. The reference rate compared with the sum of the data transfer rates received from the cloud member PCs 151-154 is determined in accordance with the file download rate required by the client 141. In this case, the main server 110 may control the data block provided from at least one cloud member PC having the slowest transmission rate among the data blocks B0-Bn to be transmitted from the storage server 120 to the client 141. have.

이와 같은 본 발명에 의하면, 클라이언트들(141-143)에 의한 다운로드 요청이 많은 파일을 클라우드 멤버 PC들(151-152)에게 분산해서 저장하고, 클라이언트들(141-143)로부터 파일 다운로드 요청이 있을 때 스토리지 서버(120) 대신 클라우드 멤버 PC들(151-152)을 통하여 파일을 제공함으로써, 한정된 네트워크(130) 자원을 효율적으로 사용할 수 있다. 또한 클라우드 멤버 PC들(151-154)로부터 클라이언트(141)로의 데이터 전송 속도가 기준 속도보다 느린 경우 메인 서버(110)는 클라우드 멤버 PC들(151-154) 뿐만 아니라 스토리지 서버(120)로부터 독출된 일부 데이터 블록을 클라이언트(141)로 제공함으로써 클라이언트(141)에서 요구하는 데이터 다운로드 속도를 충족할 수 있다.According to the present invention as described above, a file having many download requests by the clients 141-143 is distributed to the cloud member PCs 151-152 and stored therein, and a file download request from the clients 141-143 may be stored. When the file is provided through the cloud member PCs 151-152 instead of the storage server 120, the limited network 130 resources may be efficiently used. In addition, when the data transfer rate from the cloud member PCs 151-154 to the client 141 is slower than the reference speed, the main server 110 is read from the storage server 120 as well as the cloud member PCs 151-154. By providing some data blocks to the client 141, the data download rate required by the client 141 may be satisfied.

특히, 대용량 파일을 복수의 클라우드 멤버 PC들(151-154)로부터 다운로드할 때 스토리지 서버(120)로부터 파일의 일부를 직접 클라이언트(141)로 제공함으로써 클라우드 멤버 PC들(151-154)의 전송 속도 저하를 보상해줄 수 있으므로 대용량 파일을 고속으로 안전하게 다운로드할 수 있다. In particular, when downloading a large file from the plurality of cloud member PCs 151-154, the transfer speed of the cloud member PCs 151-154 by providing a portion of the file directly from the storage server 120 to the client 141. It can compensate for the degradation, allowing you to download large files safely and quickly.

본 발명은 TV 방송, 케이블 방송, 영화, 인터넷 강의, 상품 광고, 성인 방송과 같은 동영상 방송, 인터넷 노래방 중계, 이미지캐싱, 실시간 음악듣기, 온라인 게임 다운로드 뿐만 아니라 소프트웨어의 버그 패치와 업그레이드와 같이 단기간에 폭발적으로 이용자의 수가 증가하는 분야에서 파일의 다운로드 품질을 향상시키는데 이용될 수 있다. 이와 같은 본 발명에 의하면, 기업의 비용부담을 최소화하고, 다양한 컨텐츠 및 파일을 장애 없이 신속하게 전달함으로써 산업 발달에 도움이 될 것이다.The present invention can be used for short periods of time, such as bug patches and upgrades of software, as well as TV broadcasting, cable broadcasting, movies, internet lectures, product advertisements, video broadcasting such as adult broadcasting, internet karaoke broadcasting, image caching, real-time music listening, and online game downloads. It can be used to improve the download quality of files in the field where the number of users explosively increases. According to the present invention as described above, it will be helpful to the industrial development by minimizing the cost burden of the enterprise and quickly delivering various contents and files without obstacles.

도 1은 본 발명의 바람직한 실시예에 따른 클라우딩 컴퓨팅 네트워크 시스템을 보여주는 도면이다.1 illustrates a cloud computing network system in accordance with a preferred embodiment of the present invention.

도 2는 도 1에 도시된 메인 서버의 구성을 보여주는 도면이다FIG. 2 is a diagram illustrating a configuration of the main server shown in FIG. 1.

도 3은 도 2에 도시된 파일 분산 관리자에 의해서 클라우드 멤버 PC들 및 홈스토리지들로 전송되는 파일을 개념적으로 보여주는 도면이다.3 is a diagram conceptually illustrating a file transmitted to cloud member PCs and home storages by the file distribution manager illustrated in FIG. 2.

도 4는 클라이언트가 클라우드 멤버 PC들 및 홈 스트로지로부터 데이터 블록들을 다운로드하는 것을 개념적으로 보여주는 도면이다.4 conceptually illustrates a client downloading data blocks from cloud member PCs and home storage.

도 5는 도 1에 도시된 클라우드 컴퓨팅 네트워크 시스템의 클라이언트의 요청에 따라서 메인 서버가 파일을 분산하는 방법을 보여주는 플로우차트이다.FIG. 5 is a flowchart illustrating a method in which a main server distributes files according to a request of a client of the cloud computing network system shown in FIG. 1.

Claims (11)

클라이언트로부터의 파일 요청을 메인 서버에서 수신하는 단계와;Receiving a file request from a client at a main server; 상기 메인 서버가, 상기 요청된 파일을 제공할 클라우드 멤버 PC(personal computer)들을 선정하고, 선정된 클라우드 멤버 PC들에 대한 정보를 상기 클라이언트에게 제공하는 단계와;Selecting, by the main server, cloud member PCs to provide the requested file, and providing information about the selected cloud member PCs to the client; 상기 메인 서버가 상기 클라우드 멤버 PC들로부터 데이터 전송 속도를 수신하는 단계; 그리고Receiving, by the main server, a data transfer rate from the cloud member PCs; And 상기 메인 서버가, 상기 클라우드 멤버 PC들 각각의 데이터 전송 속도의 합이 기준 전송 속도보다 낮을 때 상기 요청된 파일의 일부가 스토리지 서버로부터 상기 클라이언트로 전송되도록 제어하는 단계를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템의 파일 다운로드 방법. And controlling, by the main server, a portion of the requested file to be transmitted from the storage server to the client when the sum of data transfer rates of each of the cloud member PCs is lower than a reference transfer rate. How to download files on a computing network system. 제 1 항에 있어서,The method of claim 1, 상기 메인 서버에서, 상기 요청된 파일이 핫파일인 지를 판별하는 단계와;Determining, at the main server, whether the requested file is a hot file; 상기 메인 서버에서, 상기 요청된 파일이 핫파일일 때 상기 스토리지 서버에 저장된 파일이 분산 저장될 클라우드 멤버 PC들을 선정하는 단계; 그리고Selecting, at the main server, cloud member PCs to which the file stored in the storage server is distributed and stored when the requested file is a hot file; And 상기 메인 서버의 제어에 의해서, 상기 스토리지 서버에 저장된 파일을 상기 선정된 클라우드 멤버 PC들로 전송하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템의 파일 다운로드 방법.And transmitting the file stored in the storage server to the selected cloud member PCs under the control of the main server. 제 2 항에 있어서,The method of claim 2, 상기 메인 서버가 상기 스토리지 서버에 저장된 파일을 복수의 데이터 블록들로 분할하는 단계를 더 포함하며;The main server further dividing a file stored in the storage server into a plurality of data blocks; 상기 파일 전송 단계는,The file transfer step, 상기 복수의 데이터 블록들 각각을 상기 선정된 클라우드 멤버 PC들로 전송하는 단계를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템의 파일 다운로드 방법.And transmitting each of the plurality of data blocks to the selected cloud member PCs. 제 3 항에 있어서,The method of claim 3, wherein 상기 메인 서버는, 상기 클라우드 멤버 PC들 각각의 데이터 전송 속도의 합이 기준 전송 속도보다 낮을 때 상기 클라우드 멤버 PC들 중 가장 느린 데이터 전송 속도를 갖는 클라우드 멤버 PC로부터 전송된 데이터 블록 대신 상기 스토리지 서버에 저장된 데이터 블록을 상기 클라이언트로 전송하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템의 파일 다운로드 방법.The main server is connected to the storage server instead of a data block transmitted from a cloud member PC having the slowest data transfer rate among the cloud member PCs when the sum of data transfer rates of each of the cloud member PCs is lower than a reference transfer rate. The file download method of the cloud computing network system, characterized in that for transmitting the stored data block to the client. 제 4 항에 있어서,The method of claim 4, wherein 상기 기준 전송 속도는 상기 클라이언트에 의해서 요구되는 최소 전송 속도에 따라서 설정되는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템의 파일 다운로드 방법.The reference transfer rate is set according to the minimum transfer rate required by the client file download method of the cloud computing network system. 클라이언트의 요청에 응답해서 서비스를 제공하는 클라우드 컴퓨팅 네트워크 시스템에 있어서:In a cloud computing network system that provides a service in response to a client request: 메인 서버와;A main server; 상기 클라이언트에게 제공될 파일들을 저장하는 스토리지 서버; 그리고A storage server for storing files to be provided to the client; And 상기 클라이언트로부터 요청된 파일을 제공하기 위한 클라우드 멤버 PC(personal computer)들을 포함하되;Cloud member personal computers (PCs) for providing a file requested from the client; 상기 메인 서버는 상기 클라이언트로부터 요청된 파일을 제공할 클라우드 멤버 PC들을 선정하고, 선정된 클라우드 멤버 PC들에 대한 정보를 상기 클라이언트에게 제공하되, 상기 클라우드 멤버 PC들 각각으로부터 수신된 데이터 전송 속도의 합이 기준 전송 속도보다 낮을 때 상기 요청된 파일의 일부가 스토리지 서버로부터 상기 클라이언트로 전송되도록 제어하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템.The main server selects cloud member PCs to provide a file requested from the client, and provides information about the selected cloud member PCs to the client, wherein the sum of data transfer rates received from each of the cloud member PCs is provided. And a portion of the requested file is transferred from a storage server to the client when the reference transfer rate is lower than the reference transfer rate. 제 6 항에 있어서, The method of claim 6, 상기 메인 서버는,The main server, 상기 클라이언트를 관리하며, 상기 클라이언트로부터 요청된 파일이 저장된 클라우드 멤버 PC들에 대한 정보를 상기 클라이언트에게 제공하는 클라이언트 관리자와;A client manager that manages the client and provides the client with information about cloud member PCs storing files requested from the client; 상기 클라우드 멤버 PC들을 관리하는 멤버 관리자; 그리고 A member manager managing the cloud member PCs; And 상기 클라이언트로부터 요청된 파일이 핫파일일 때 상기 스토리지 서버로부터 상기 파일을 다운로드하는 파일 분산 관리자를 포함하되;A file distribution manager for downloading the file from the storage server when the file requested from the client is a hot file; 상기 멤버 관리자는 상기 핫파일을 저장가능한 클라우드 멤버 PC 정보를 상기 파일 분산 관리자로 제공하며;The member manager provides cloud member PC information capable of storing the hot file to the file distribution manager; 상기 파일 분산 관리자는 상기 클라우드 멤버 PC 정보를 참조하여 상기 다운로드된 파일을 상기 클라우드 멤버 PC들로 전송하는 클라우드 컴퓨팅 네트워크 시스템.The file distribution manager transmits the downloaded file to the cloud member PCs by referring to the cloud member PC information. 제 7 항에 있어서,The method of claim 7, wherein 상기 멤버 관리자는,The member manager, 상기 클라이언트로 상기 파일을 전송하는 상기 클라우드 멤버 PC들로부터 데이터 전송 속도 정보를 수신하고, 상기 클라우드 멤버 PC들 각각의 데이터 전송 속도의 합이 기준 전송 속도보다 낮을 때 상기 요청된 파일의 일부가 스토리지 서버로부터 상기 클라이언트로 전송되도록 제어하는 클라우드 컴퓨팅 네트워크 시스템.Receiving a data transfer rate information from the cloud member PCs transferring the file to the client, and when the sum of the data transfer rates of each of the cloud member PCs is lower than a reference transfer rate, a portion of the requested file is stored in the storage server. A cloud computing network system for controlling transmission from the client to the client. 제 7 항에 있어서,The method of claim 7, wherein 상기 파일 분산 관리자는,The file distribution manager, 상기 스토리지 서버로부터 다운로드된 파일을 복수의 데이터 블록들로 분할하고, 상기 데이터 블록들을 상기 클라우드 멤버 PC들에게 각각 전송 하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템.And dividing the file downloaded from the storage server into a plurality of data blocks, and transmitting the data blocks to the cloud member PCs, respectively. 제 9 항에 있어서,The method of claim 9, 상기 멤버 관리자는, 상기 클라우드 멤버 PC들 각각의 데이터 전송 속도의 합이 기준 전송 속도보다 낮을 때, 상기 클라우드 멤버 PC들 중 가장 느린 데이터 전송 속도를 갖는 클라우드 멤버 PC로부터 제공되는 데이터 블록에 대한 정보를 상기 클라이언트 관리자에게 제공하고,When the sum of data transfer rates of each of the cloud member PCs is lower than a reference transfer rate, the member manager may provide information about a data block provided from a cloud member PC having the slowest data transfer rate among the cloud member PCs. To the client administrator, 상기 클라이언트 관리자는 가장 느린 데이터 전송 속도를 갖는 클라우드 멤버 PC에서 제공하는 데이터 블록과 동일한 데이터 블록을 상기 스토리지 서버로부터 독출해서 상기 클라이언트로 제공하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템.And the client manager reads the same data block from the storage server as the data block provided by the cloud member PC having the slowest data transfer rate and provides the same to the client. 제 7 항에 있어서,The method of claim 7, wherein 상기 클라이언트에 의해서 요청된 파일은 어플리케이션 프로그램 파일, 게임 프로그램 파일, 텍스트 데이터 파일, 문서 파일, 그림 파일, 음악 파일 및 동영상 파일 중 어느 하나인 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템.The file requested by the client is any one of an application program file, a game program file, a text data file, a document file, a picture file, a music file and a video file.
KR1020090117959A 2009-12-01 2009-12-01 Cloud computing network system and file download method of the same KR101120572B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090117959A KR101120572B1 (en) 2009-12-01 2009-12-01 Cloud computing network system and file download method of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090117959A KR101120572B1 (en) 2009-12-01 2009-12-01 Cloud computing network system and file download method of the same

Publications (2)

Publication Number Publication Date
KR20110061342A KR20110061342A (en) 2011-06-09
KR101120572B1 true KR101120572B1 (en) 2012-03-09

Family

ID=44395823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090117959A KR101120572B1 (en) 2009-12-01 2009-12-01 Cloud computing network system and file download method of the same

Country Status (1)

Country Link
KR (1) KR101120572B1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101819556B1 (en) * 2011-08-18 2018-01-18 삼성전자주식회사 Apparatus and method for supporting family cloud in cloud computing system
KR101164029B1 (en) * 2011-11-15 2012-07-18 주식회사 좋은친구 Method for managing pc on network based on calculation velocity information of pc, and web-server used therein
KR101339766B1 (en) * 2011-11-29 2013-12-11 삼성에스디에스 주식회사 Integrated cloud service system using mash-up between cloud service components
KR101272379B1 (en) * 2011-11-30 2013-06-07 삼성에스디에스 주식회사 Cloud service broker and method for providing and managing wan acceleration service
KR101946004B1 (en) 2012-01-11 2019-02-11 삼성전자주식회사 Microprocessor chip, data center, and computing system
KR101694301B1 (en) * 2012-04-23 2017-01-09 한국전자통신연구원 Method for processing files in storage system and data server thereof
KR20140015857A (en) 2012-07-26 2014-02-07 삼성전자주식회사 Computing device and virtual device controlling method for controlling virtual device by computing system
WO2014046380A1 (en) * 2012-09-18 2014-03-27 에스케이플래닛 주식회사 Meta information-based method for providing cloud service

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090248693A1 (en) 2008-03-27 2009-10-01 Microsoft Corporation Managing data transfer between endpoints in a distributed computing environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090248693A1 (en) 2008-03-27 2009-10-01 Microsoft Corporation Managing data transfer between endpoints in a distributed computing environment

Also Published As

Publication number Publication date
KR20110061342A (en) 2011-06-09

Similar Documents

Publication Publication Date Title
US10904597B2 (en) Dynamic binding for use in content distribution
KR101120572B1 (en) Cloud computing network system and file download method of the same
KR20100122197A (en) Cloud computing network system and file distrubuting method of the same
US10320891B2 (en) Node selection for message redistribution in an integrated application-aware load balancer incorporated within a distributed-service-application-controlled distributed computer system
EP2588977B1 (en) Systems and methods for storing digital content
US20120102154A1 (en) Cloud-Based Transcoding Platform Systems and Methods
KR101033813B1 (en) Cloud computing network system and file distrubuting method of the same
KR101089509B1 (en) Cloud computing network system and file distrubuting method of the same
CN104937584A (en) Providing optimized quality of service to prioritized virtual machines and applications based on quality of shared resources
CN102067094A (en) Cache optimzation
US20200153932A1 (en) Content acceleration for cross-site resources by cdn
US20200320154A1 (en) A webpage loading method, webpage loading system and server
KR101195123B1 (en) Cloud computing network system and file distrubuting method of the same
KR20110109610A (en) Cloud computing network system and file distribution method of the same
US20100250502A1 (en) Method and apparatus for contents de-duplication
US11461231B2 (en) Fractal based content delivery network layouts
KR20100069316A (en) Adaptive high-performance proxy cache server and caching method
KR20150011087A (en) Distributed caching management method for contents delivery network service and apparatus therefor
KR20200101502A (en) Cloud computing network system and file distrubuting method of the same
KR20190119497A (en) Offering system for large scale multi vod streaming service based on distributed file system and method thereof
Zhang et al. Towards a dynamic file bundling system for large-scale content distribution
KR101047844B1 (en) Grid system and its operation method using grid dedicated device
KR100969989B1 (en) Method and apparatus for distributing application programs in network
Sandhya et al. Dynamic load balancing for video processing system in cloud
KR20130034366A (en) Distiributed file system in network

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