KR20110109610A - Cloud computing network system and file distribution method of the same - Google Patents

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

Info

Publication number
KR20110109610A
KR20110109610A KR1020100029406A KR20100029406A KR20110109610A KR 20110109610 A KR20110109610 A KR 20110109610A KR 1020100029406 A KR1020100029406 A KR 1020100029406A KR 20100029406 A KR20100029406 A KR 20100029406A KR 20110109610 A KR20110109610 A KR 20110109610A
Authority
KR
South Korea
Prior art keywords
file
cloud
client
cloud members
members
Prior art date
Application number
KR1020100029406A
Other languages
Korean (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 KR1020100029406A priority Critical patent/KR20110109610A/en
Publication of KR20110109610A publication Critical patent/KR20110109610A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • 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]

Abstract

본 발명의 클라이언트의 요청에 응답해서 서비스를 제공하는 클라우드 컴퓨팅 네트워크 시스템은, 메인 서버와, 상기 클라이언트에게 제공될 파일들을 저장하는 스토리지 서버, 그리고 상기 클라이언트로부터 요청된 파일을 제공하기 위한 클라우드 멤버를 포함한다. 상기 메인 서버는 상기 클라이언트로부터 요청된 파일을 제공할 클라우드 멤버들을 선정하고, 선정된 클라우드 멤버들에 대한 정보를 상기 클라이언트에게 제공하되, 상기 클라우드 멤버들 각각으로부터 상태 정보를 수신하고, 오프 상태로 변화된 클라우드 멤버의 수가 기준값보다 클 때 상기 파일을 분산할 클라우드 멤버들을 재선정하고, 상기 재선정된 클라우드 멤버에게 상기 파일을 전송한다.A cloud computing network system providing a service in response to a request of a client of the present invention includes a main server, a storage server for storing files to be provided to the client, and a cloud member for providing a file requested from the client. do. The main server selects cloud members to provide a file requested from the client, provides the client with information on the selected cloud members, receives state information from each of the cloud members, and changes the state to off. When the number of cloud members is greater than the reference value, the cloud members to distribute the file are reselected, and the file is transmitted to the reselected cloud members.

Description

클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법{CLOUD COMPUTING NETWORK SYSTEM AND FILE DISTRIBUTION METHOD OF THE SAME}CLOUD COMPUTING NETWORK SYSTEM AND FILE DISTRIBUTION 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 can purchase large numbers of expensive computers that can act as servers to increase the number of users / customers and improve the quality of services. For example, a huge investment in network bandwidth is required. 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.

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

상기와 같은 목적을 달성하기 위한 본 발명의 일 특징에 의하면, 클라우드 컴퓨팅 네트워크 시스템 내 상기 메인 서버에서의 파일 분산 방법은: 메인 서버 및 스토리지 서버를 포함하며, 클라이언트의 파일 요청에 응답해서 서비스를 제공하는 클라우드 컴퓨팅 네트워크 시스템 내 상기 메인 서버에서의 파일 분산 방법에 있어서: 요청된 파일이 핫파일일 때, 상기 스토리지 서버에 저장된 파일이 분산 저장될 클라우드 멤버들을 선정하는 단계와, 선정된 클라우드 멤버들에게 상기 스토리지 서버에 저장된 파일을 전송하는 단계와, 상기 요청된 파일을 제공할 클라우드 멤버들을 선정하고, 선정된 클라우드 멤버들에 대한 정보를 상기 클라이언트에게 제공하는 단계와, 상기 클라우드 멤버들로부터 상태 정보를 수신하는 단계와, 상기 파일을 저장하고 있는 클라우드 멤버들 중 오프 상태로 변화된 클라우드 멤버의 수가 기준값보다 클 때 상기 스토리지 서버에 저장된 파일을 분산할 클라우드 멤버들을 재선정하는 단계, 그리고 상기 재선정된 클라우드 멤버에게 상기 스토리지 서버에 저장된 파일을 전송하는 단계를 포함한다.According to an aspect of the present invention for achieving the above object, a file distribution method on the main server in the cloud computing network system includes: a main server and a storage server, and provides a service in response to a file request from a client A method for distributing a file on the main server in a cloud computing network system, the method comprising: selecting cloud members to which a file stored in the storage server is distributed and stored when the requested file is a hot file; Transmitting a file stored in the storage server, selecting cloud members to provide the requested file, providing information about the selected cloud members to the client, and providing status information from the cloud members. Receiving and storing the file Reselecting cloud members to distribute files stored in the storage server when the number of cloud members changed to off states among cloud members is greater than a reference value, and transmitting the files stored on the storage server to the reselected cloud members. Steps.

이 실시예에 있어서, 상기 요청된 파일이 핫파일인 지를 판별하는 단계와;In this embodiment, the method further comprises: determining whether the requested file is a hot file;

상기 요청된 파일이 핫파일일 때 상기 스토리지 서버에 저장된 파일이 분산 저장될 클라우드 멤버들을 선정하는 단계, 그리고 상기 스토리지 서버에 저장된 파일을 상기 선정된 클라우드 멤버들에게 전송하는 단계를 더 포함한다.Selecting cloud members to which the file stored in the storage server is distributed and stored when the requested file is a hot file, and transmitting the file stored in the storage server to the selected cloud members.

이 실시예에 있어서, 상기 파일을 저장하고 있는 클라우드 멤버들 중 상기 상태 정보가 수신되지 않는 클라우드 멤버는 상기 오프 상태로 간주된다.In this embodiment, among the cloud members who are storing the file, cloud members whose state information is not received are considered to be in the off state.

이 실시예에 있어서, 상기 파일을 저장하고 있는 클라우드 멤버들 중 최대 대역폭이 최소 허용값보다 낮은 클라우드 멤버는 상기 오프 상태로 간주된다.In this embodiment, among the cloud members who are storing the file, the cloud member whose maximum bandwidth is lower than the minimum allowable value is regarded as the off state.

본 발명의 다른 특징에 따른 클라이언트의 요청에 응답해서 서비스를 제공하는 클라우드 컴퓨팅 네트워크 시스템은: 메인 서버와, 상기 클라이언트에게 제공될 파일들을 저장하는 스토리지 서버, 그리고 상기 클라이언트로부터 요청된 파일을 제공하기 위한 클라우드 멤버를 포함한다. 상기 메인 서버는 상기 클라이언트로부터 요청된 파일을 제공할 클라우드 멤버들을 선정하고, 선정된 클라우드 멤버들에 대한 정보를 상기 클라이언트에게 제공하되, 상기 클라우드 멤버들 각각으로부터 상태 정보를 수신하고, 오프 상태로 변화된 클라우드 멤버의 수가 기준값보다 클 때 상기 파일을 분산할 클라우드 멤버들을 재선정하고, 상기 재선정된 클라우드 멤버에게 상기 파일을 전송한다.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. Include cloud members. The main server selects cloud members to provide a file requested from the client, provides the client with information on the selected cloud members, receives state information from each of the cloud members, and changes the state to off. When the number of cloud members is greater than the reference value, the cloud members to distribute the file are reselected, and the file is transmitted to the reselected cloud members.

이 실시예에 있어서, 상기 메인 서버는, 상기 파일을 저장하고 있는 클라우드 멤버들 중 상기 상태 정보가 수신되지 않는 클라우드 멤버를 상기 오프 상태로 간주한다.In this embodiment, the main server regards the cloud member in which the state information is not received among the cloud members storing the file as the off state.

이 실시예에 있어서, 상기 메인 서버는, 상기 파일을 저장하고 있는 클라우드 멤버들 중 최대 대역폭이 최소 허용값보다 낮은 클라우드 멤버를 상기 오프 상태로 간주한다.In this embodiment, the main server regards the cloud member whose maximum bandwidth is lower than the minimum allowable value among the cloud members storing the file as the off state.

이 실시예에 있어서, 상기 메인 서버는, 상기 클라이언트를 관리하며, 상기 클라이언트로부터 요청된 파일이 저장된 클라우드 멤버들에 대한 정보를 상기 클라이언트에게 제공하는 클라이언트 관리자와, 상기 클라우드 멤버들을 관리하는 멤버 관리자, 그리고 상기 클라이언트로부터 요청된 파일이 핫파일일 때 상기 스토리지 서버로부터 상기 파일을 다운로드하는 파일 분산 관리자를 포함한다. 상기 멤버 관리자는 상기 클라우드 멤버들 각각으로부터 상태 정보를 수신하고, 오프 상태로 변화된 클라우드 멤버의 수가 기준값보다 클 때 상기 상태 정보를 상기 파일 분산 관리자에게 제공하며, 상기 파일 분산 관리자는 상기 파일을 분산할 클라우드 멤버들을 재선정하고, 상기 재선정된 클라우드 멤버에게 상기 파일을 전송한다.In this embodiment, the main server, a client manager for managing the client, providing the client with information about cloud members in which the file requested from the client is stored, a member manager for managing the cloud members, And a file distribution manager for downloading the file from the storage server when the file requested from the client is a hot file. The member manager receives status information from each of the cloud members, and provides the status information to the file distribution manager when the number of cloud members changed to an off state is greater than a reference value, and the file distribution manager distributes the file. Reselect cloud members and send the file to the reselected cloud members.

이 실시예에 있어서, 상기 파일 분산 관리자는 상기 파일이 저장된 클라우드 멤버들에 대한 정보를 상기 클라이언트 관리자에게 제공하고, 상기 클라이언트 관리자는, 상기 클라우드 멤버가 재선정되었을 때, 상기 클라이언트의 요청에 응답해서 상기 재선정된 클라우드 멤버에 대한 정보를 상기 클라이언트로 제공한다.In this embodiment, the file distribution manager provides the client manager with information about cloud members in which the file is stored, and the client manager responds to the client's request when the cloud member is reselected. Provides information about the reselected cloud member to the client.

이 실시예에 있어서, 상기 멤버 관리자는, 상기 클라우드 멤버들로부터 주기적으로 상기 상태 정보를 수신한다.In this embodiment, the member manager periodically receives the status information from the cloud members.

이와 같은 본 발명의 클라우딩 컴퓨팅 네트워크 시스템은 파일 스토리지에 저장된 파일들을 클라우드 멤버들에게 분산시킴으로써 한정된 자원을 가지고 많은 클라이언트들에게 서비스를 제공할 수 있다. 또한 클라우드 멤버들 중 오프 상태로 변화되거나 정상 동작 상태가 아닌 클라우드 멤버의 수가 많을 때 핫파일을 다시 분산 저장함으로써 클라이언트에서 요구하는 데이터 다운로드 속도를 충족할 수 있다.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 members. In addition, when a large number of cloud members are turned off or not in a normal operation state, the hot files are distributed again and stored to satisfy the data download speed required by the client.

도 1은 본 발명의 바람직한 실시예에 따른 클라우딩 컴퓨팅 네트워크 시스템을 보여주는 도면이다.
도 2는 도 1에 도시된 메인 서버의 구성을 보여주는 도면이다.
도 3은 클라우드 멤버들의 상태 변화를 예시적으로 보여주는 도면이다.
도 4는 도 1에 도시된 클라우드 컴퓨팅 네트워크 시스템의 클라이언트의 요청에 따라서 메인 서버가 파일을 분산하는 방법을 보여주는 플로우차트이다.
1 illustrates a cloud computing network system in accordance with a preferred embodiment of the present invention.
FIG. 2 is a diagram illustrating a configuration of the main server shown in FIG. 1.
3 is a diagram illustrating a state change of cloud members by way of example.
4 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 illustrated in FIG. 1.

이하 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다.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), 클라우드 멤버들(151-154)을 포함한다. 메인 서버(110), 스토리지 서버(120), 클라이언트들(141-143), 클라우드 멤버들(151-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 members 151-154. . The main server 110, the storage server 120, the clients 141-143, and the cloud members 151-154 are interconnected through a network 130, which is a communication line such as the Internet. 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)에 저장된 파일들을 클라우드 멤버들(151-152)에게 분산 저장하고, 클라이언트들(141-143)이 스토리지 서버(120) 대신 클라우드 멤버들(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 members 151-152 in order to efficiently use the limited resources of the network 130, and the clients 141-143. Instead of the storage server 120 controls to download files from the cloud members (151-152).

클라이언트들(141-143)은 퍼스널 컴퓨터를 이용하여 네트워크(130)를 통해 메인 서버(110)에 접속한다. 클라이언트들(141-143)은 메인 서버(110)가 제공 가능한 파일들 중 일부에 대한 다운로드를 요청하고, 메인 서버(110)의 제어에 따라서 스토리지 서버(120) 또는 클라우드 멤버들(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 the storage server 120 or the cloud members 151-152 under the control of the main server 110. Download the desired file 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)은 클라우드 멤버들(151-152)로부터 파일을 다운로드하기 위해서 필요한 클라이언트 소프트웨어 프로그램을 저장하는 메모리(미 도시됨)를 포함하며, 상기 클라이언트 소프트웨어 프로그램은 프로세서(미 도시됨)에 의해서 실행된다.Clients 141-143, which are connected to main server 110 via network 130, have a memory (not shown) that stores client software programs necessary for downloading files from cloud members 151-152. And the client software program is executed by a processor (not shown).

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

클라우드 멤버들(151-154) 중 일부는 퍼스널 컴퓨터와 독립된 저장 장치 즉, 홈스토리지로 구성될 수 있다. 홈 스토리지는 프로세서, 프로세서의 동작에 필요한 소프트웨어를 저장하는 메모리, 파일을 저장하기 위한 하드디스크 드라이브, 입출력 인터페이스 등을 포함한다. 이러한 홈 스토리지들은 메인 서버(110)의 제어에 응답해서 메인 서버(110)로부터 제공되는 파일을 저장하고, 클라이언트들(141-143)의 요청에 응답해서 저장된 파일을 제공한다.Some of the cloud members 151-154 may be configured as storage devices that are independent of a personal computer, that is, home storage. Home storage includes a processor, memory for storing software required for the operation of the processor, a hard disk drive for storing files, an input / output interface, and the like. These home storage stores the file provided from the main server 110 in response to the control of the main server 110, and provides the stored file in response to the requests of the clients (141-143).

도 2는 도 1에 도시된 메인 서버의 구성을 보여주는 도면이다.FIG. 2 is a diagram illustrating a configuration of the main server shown 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)에 저장된 파일이 클라우드 멤버들(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 manager such that the file stored in the storage server 120 is distributed to the cloud members 151-152 if the file requested from the clients 141-143 is a hot file. Control 113.

멤버 관리자(113)는 클라우드 멤버들(151-154)을 관리한다. 즉, 클라우드 멤버들(151-154) 중 파워 온 상태이고, 네트워크(130)에 접속한 상태이며, 파일을 다운로드 가능한 클라우드 멤버들에 대한 정보를 주기적으로 수집한다. 멤버 관리자(113)는 수집된 클라우드 멤버들에 대한 정보를 파일 분산 관리자(114)로 제공한다.The member manager 113 manages cloud members 151-154. That is, the cloud members 151-154 are in a power-on state and connected to the network 130, and periodically collect information on cloud members who can download a file. The member manager 113 provides the file distribution manager 114 with information about the collected cloud members.

파일 분산 관리자(114)는 마스터 관리자(112)의 제어에 따라서 스토리지 서버(120)로부터 핫파일을 다운로드하여 저장하고, 저장된 핫파일을 클라우드 멤버들(151-154)로 분산 전송한다. 클라이언트 관리자(111)는 클라이언트들(141-143)이 요청한 파일이 저장된 클라우드 멤버들(151-154)에 대한 정보를 클라이언트들(141-143)에게 전송한다. 클라이언트들(141-143)이 요청한 파일이 저장된 클라우드 멤버들(151-154)에 대한 정보는 파일 분산 관리자(114)에서 클라이언트 관리자(111)로 제공된다.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 transmits the stored hot file to the cloud members 151-154. The client manager 111 transmits information about the cloud members 151-154 in which the file requested by the clients 141-143 is stored, to the clients 141-143. Information about the cloud members 151-154 in which the files requested by the clients 141-143 are stored is provided from the file distribution manager 114 to the client manager 111.

마스터 관리자(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은 클라우드 멤버들의 상태 변화를 예시적으로 보여주는 도면이다.3 is a diagram illustrating a state change of cloud members by way of example.

도 3을 참조하면, 멤버 관리자(113) 및 파일 분산 관리자(114)에는 복수의 클라우드 멤버들(151-154)이 연결된다. 복수의 클라우드 멤버들(151-154)은 통신 네트워크를 통해 멤버 관리자(113) 및 파일 분산 관리자(114)에 연결될 수 있다. 복수의 클라우드 멤버들(151-154) 각각은 사용자의 제어에 따라서 온(on) 상태에서 오프(off) 상태로 또는 오프 상태에서 온 상태로 변화할 수 있다. 여기서, 온 상태란 클라우드 멤버들(151-154) 각각이 전원을 공급받고, 정상적으로 멤버 관리자(113) 및 파일 분산 관리자(114)와 통신할 수 있는 정상 동작 상태를 말하며, 오프 상태는 클라우드 멤버들(151-154)의 전원이 차단되어 있거나 어떠한 이유로 멤버 관리자(113) 및 파일 분산 관리자(114)와 정상적으로 통신할 수 없는 동작 불능 상태를 일컫는다. 정상 동작 상태인 클라우드 멤버들(151-154)의 수가 충분히 확보되어야만 클라이언트에게 서비스를 제공하는데 문제되지 않는다. 그러나 핫파일을 저장하고 있는 많은 수의 클라우드 멤버들이 동시에 오프 상태로 변화하면 클라이언트에게 파일을 제공하는 서비스에 문제가 발생할 수 있다. 예컨대, 클라우드 멤버들(151-154)로부터 클라이언트로 파일을 다운로드하는 속도가 느려지거나, 클라우드 멤버들(151-154)로부터 클라이언트로의 파일 전송이 중지되는 등의 문제가 발생할 수 있다.Referring to FIG. 3, a plurality of cloud members 151-154 are connected to the member manager 113 and the file distribution manager 114. The plurality of cloud members 151-154 may be connected to the member manager 113 and the file distribution manager 114 via a communication network. Each of the plurality of cloud members 151-154 may change from an on state to an off state or from an off state to an on state under the control of a user. Here, the on state refers to a normal operating state in which each of the cloud members 151-154 is supplied with power and can normally communicate with the member manager 113 and the file distribution manager 114, and the off state refers to the cloud members. It refers to an inoperable state in which the power of the (151-154) is cut off or cannot communicate normally with the member manager 113 and the file distribution manager 114 for some reason. The number of cloud members 151-154 in a normal operating state must be sufficiently secured to provide a service to a client. However, if a large number of cloud members storing hot files are turned off at the same time, there may be a problem with the service serving the file. For example, a problem may occur such that a file download rate from the cloud members 151-154 to the client is slow, or a file transfer from the cloud members 151-154 to the client is stopped.

멤버 관리자(113)는 클라우드 멤버들(151-154)의 상태 정보를 주기적으로 수집하고, 수집된 상태 정보를 파일 분산 관리자(114)에게 제공한다. 파일 분산 관리자(114)는 클라우드 멤버들(151-154)의 상태 정보에 따라서 클라우드 멤버들(151-555)로 파일을 재전송해야하는 지의 여부를 결정한다. 예컨대, 특정 파일을 저장하고 있는 클라우드 멤버들 중 오프 상태로 변화된 클라우드 멤버의 수가 기준값보다 크면, 파일 분산 관리자(114)는 도 2에 도시된 마스터 관리자(112)를 통하여 스토리지 서버(120)로부터 파일을 다운로드하고, 다운로드된 파일을 클라우드 멤버들(151-555)로 재전송한다.The member manager 113 periodically collects state information of the cloud members 151-154, and provides the collected state information to the file distribution manager 114. The file distribution manager 114 determines whether to retransmit the file to the cloud members 151-555 according to the state information of the cloud members 151-154. For example, if the number of cloud members that are turned off among the cloud members storing a specific file is larger than a reference value, the file distribution manager 114 may store the file from the storage server 120 through the master manager 112 shown in FIG. 2. Download the file and resend the downloaded file to the cloud members 151-555.

파일 재전송이 완료된 후, 도 2에 도시된 클라이언트 관리자(111)는 클라이언트들(141-143) 중 파일을 요청하는 새로운 클라이언트에게 파일이 저장된 클라우드 멤버들(151-154)에 대한 정보를 전송한다.After the file retransmission is completed, the client manager 111 illustrated in FIG. 2 transmits information about cloud members 151-154 in which the file is stored to a new client requesting a file among the clients 141-143.

도 4는 도 1에 도시된 클라우드 컴퓨팅 네트워크 시스템의 클라이언트의 요청에 따라서 메인 서버가 파일을 분산하는 방법을 보여주는 플로우차트이다.4 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 illustrated in FIG. 1.

도 4를 참조하면, 메인 서버(110)는 클라우드 멤버들(151-154)로부터 상태 정보를 수신한다(410). 클라우드 멤버들(151-154)로부터 메인 서버(110)로 전송되는 상태 정보에는 최대 대역폭(bandwidth), 저장된 데이터 크기, 가용 디스크 용량 등이 포함된다. 메인 서버(110) 내 멤버 관리자(113)는 이러한 정보들에 기초해서 파일이 분산될 멤버를 선택하고, 멤버에 대한 보상 등을 제공한다.4, the main server 110 receives state information from cloud members 151-154 (410). State information transmitted from the cloud members 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 110 selects a member to which a file is distributed based on such information, and provides compensation for the member.

메인 서버(110)는 클라이언트들(141-143)로부터 파일 요청을 수신한다(412). 이 실시예에서는 클라이언트(141)가 메인 서버(110)에게 스토리지 서버(120)에 저장된 파일(F1)에 대한 다운로드를 요청한 것으로 설명한다.Main server 110 receives a file request from clients 141-143 (412). 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)인 지의 여부를 판별한다(414). 핫 파일이란 많은 수의 클라이언트들로부터 파일 다운로드 요청이 있었거나 또는 현재 다운로드되고 있는 인기있는 파일을 칭한다. 예를 들어, 클라이언트 관리자(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 (414). Hot files refer to popular files that have been file download requests from a large number of clients or are currently being downloaded. 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)에게 전송되도록 제어한다(440).If the file F1 requested by the client 141 is not a hot file, the client manager 111 controls the file F1 stored in the storage server 120 to be transmitted to the client 141 (440).

클라이언트 관리자(111)는 클라이언트(141)에 의해서 요청된 파일(F1)이 핫파일인 것으로 판별되면, 파일(F1)이 클라우드 멤버들(151-154)에 분산 저장되어 있는 지의 여부를 판별한다(416). 만일 핫파일이 클라우드 멤버들(151-154)에 이미 분산 저장되어 있다면, 클라우드 관리자(111)는 클라이언트(141)에게 파일(F1)이 분산 저장된 클라우드 멤버에 대한 정보를 전송한다(422). 클라우드 멤버에 대한 정보는 멤버 관리자(113)로부터 제공된 것이다. 클라이언트(141)는 클라이언트 관리자(111)로부터 수신된 클라우드 멤버 정보를 참조하여 클라우드 멤버들로부터 원하는 파일(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 members 151-154 ( 416). If the hot file is already distributed and stored in the cloud members 151-154, the cloud manager 111 transmits the information about the cloud member in which the file F1 is distributed and stored (422) to the client 141. Information about the cloud member is provided from the member manager 113. The client 141 refers to the cloud member information received from the client manager 111 to download a desired file F1 from the cloud members.

만일 파일(F1)이 클라우드 멤버들(151-154)에 분산 저장되어 있지 않다면, 즉, 파일(F1)이 새롭게 핫파일로 분류되었다면, 클라이언트 관리자(111)는 마스터 관리자(112), 멤버 관리자(113) 및 파일 분산 관리자(114)에게 파일(F1)에 대한 분산 저장을 요청한다. 멤버 관리자(113)는 클라우드 멤버들(151-154)에 대한 정보를 수집하고, 수집된 정보에 따라서 파일을 전송 가능한 클라우드 멤버들에 대한 정보를 파일 분산 관리자(114)에게 제공한다.If the file F1 is not distributed to the cloud members 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 ( 113) and the file distribution manager 114 request distributed storage for the file F1. The member manager 113 collects information about the cloud members 151-154, and provides the file distribution manager 114 with information about cloud members capable of transmitting a file according to the collected information.

파일 분산 관리자(114)는 스토리지 서버(120)로부터 파일(F1)을 다운로드하고, 다운로드된 파일(D_FILE)을 복수의 데이터 블록들(B0-Bn)로 분할한다(418). 파일 분산 관리자(114)는 분할된 데이터 블록들(B0-Bn)을 클라우드 멤버들(151-154)로 각각 전송한다. 파일 분산 관리자(114)는 파일(D_FILE)이 효율적으로 클라우드 멤버들(151-154)로 분산저장되도록 하고, 클라우드 멤버들(151-154)로부터 클라이언트들(141-143)로의 전송 속도 향상을 위하여 파일(D_FILE)을 복수의 데이터 블록들(B0-Bn)로 분할할 수 있다. 이때, 파일(D_FILE)의 크기 및 파일(D_FILE)을 요청하는 클라이언트들의 수에 따라서 파일(D_FILE)은 복수의 블록들로 분할되지 않고 단일의 파일로 유지되거나 또는 복수의 블록들로 분할될 수 있다. 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 (418). The file distribution manager 114 transmits the divided data blocks B0-Bn to the cloud members 151-154, respectively. The file distribution manager 114 allows the file D_FILE to be distributed and stored efficiently to the cloud members 151-154 and to improve the transfer speed from the cloud members 151-154 to the clients 141-143. The file D_FILE may be divided into a plurality of data blocks B0-Bn. 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 file D_FILE and the number of clients requesting the file D_FILE. .

파일 분산 관리자(114)는 멤버 관리자(113)로부터 제공된 클라우드 멤버 정보에 따라서 파일이 분산 저장될 클라우드 멤버들에게 데이터 블록들(B0-Bn)을 전송한다(420). 또한 파일(D_FILE) 또는 파일 블록들(BO-Bn)은 특정 클라우드 멤버에게만 전송되거나 또는 복수의 클라우드 멤버들(151-154) 중 일부 또는 전체에게 분산되어 저장될 수 있다. 예컨대, 파일(F1)에 대한 요구도가 높으면 파일 블록들(B0-Bn)은 더 많은 수의 클라이언트 멤버들에게 분산 저장되고, 파일(F1)에 대한 요구도가 낮으면 파일 블록들(B0-Bn)은 적은 수의 클라이언트 멤버들에게만 분산 저장될 수 있다.The file distribution manager 114 transmits the data blocks B0-Bn to the cloud members whose files are to be distributed and stored according to the cloud member information provided from the member manager 113 (420). In addition, the file D_FILE or the file blocks BO-Bn may be transmitted only to a specific cloud member or distributed to some or all of the plurality of cloud members 151-154. For example, if the demand for file F1 is high, file blocks B0-Bn are distributed and stored to a larger number of client members. If the demand for file F1 is low, file blocks B0-Bn are stored. Can be distributed to only a small number of client members.

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

메인 서버(110) 내 멤버 관리자(113)는 클라우드 멤버들(151-154)로부터 상태 정보를 수신한다(424). 앞서 설명한 바와 같이, 상태 정보는 최대 대역폭, 저장된 데이터 크기, 가용 디스크 용량 등을 포함한다. 멤버 관리자(113)는 상태 정보가 수신되지 않는 클라우드 멤버는 오프 상태인 것으로 간주한다. 멤버 관리자(113)는 최대 대역폭이 최소 허용값보다 낮은 클라우드 멤버에 대해서도 오프 상태인 것으로 간주한다.The member manager 113 in the main server 110 receives the state information from the cloud members 151-154 (424). As described above, state information includes maximum bandwidth, stored data size, available disk capacity, and the like. The member manager 113 considers that a cloud member for which state information is not received is in an off state. The member manager 113 considers it to be off even for cloud members whose maximum bandwidth is lower than the minimum allowable value.

멤버 관리자(113)는 파일(D_FILE)을 저장하고 있는 클라우드 멤버들 중 오프 상태로 변화된 수가 기준값보다 큰 지를 판별한다(426). 예컨대, 기준값은 파일(D_FILE)을 저장하고 있는 클라우드 멤버들의 수의 10%로 설정될 수 있다. 만일 파일(D_FILE)을 저장하고 있는 클라우드 멤버들의 수가 30이고, 온 상태에서 오프 상태로 변화한 클라우드 멤버들의 수가 2이면, 멤버 관리자(113)는 나머지 온 상태의 클라우드 멤버들에 의해서 충분히 정상적인 파일 전송 서비스가 가능하다고 판단한다. 만일 파일(D_FILE)을 저장하고 있는 클라우드 멤버들 중 오프 상태로 변화된 수가 기준값보다 큰 5이면, 멤버 관리자(113)는 파일 재전송이 필요함을 요청하기 위한 신호와 클라우드 멤버들(151-154)의 상태 정보를 파일 분산 관리자(114)에게 전송한다.The member manager 113 determines whether the number of the cloud members storing the file D_FILE changed to the off state is greater than the reference value (426). For example, the reference value may be set to 10% of the number of cloud members storing the file D_FILE. If the number of cloud members storing the file D_FILE is 30 and the number of cloud members changed from the on state to the off state is 2, the member manager 113 transfers a file sufficiently normal by the remaining on-cloud members. I think the service is available. If the number of the cloud members storing the file D_FILE changed to the off state is 5 which is greater than the reference value, the member manager 113 signals the request for the file retransmission and the state of the cloud members 151-154. The information is sent to the file distribution manager 114.

파일 분산 관리자(114)는 클라우드 멤버들(151-154)의 상태 정보를 참조하여 파일 분산 대상 클라우드 멤버들을 재선정한다(428). 파일 분산 관리자(114)는 오프 상태로 변화된 클라우드 멤버들 대신 온 상태의 클라우드 멤버들로 파일을 전송한다(430). 파일 분산 관리자(114)는 파일(D_FILE)의 블록들(B0-Bn)이 저장된 클라우드 멤버들에 대한 정보를 클라이언트 관리자(111)에게 제공한다.The file distribution manager 114 may reselect the file distribution target cloud members with reference to the state information of the cloud members 151-154 (428). The file distribution manager 114 transmits the file to the cloud members in the on state instead of the cloud members changed to the off state (430). The file distribution manager 114 provides the client manager 111 with information about cloud members in which the blocks B0-Bn of the file D_FILE are stored.

이후, 클라이언트들(141-143)에 의해서 단계 412와 같이, 파일(F1) 다운로드 요청이 수신되면, 클라이언트 관리자(111)는 단계 422에서, 파일(D_FILE)의 블록들(B0-Bn)이 저장된 클라우드 멤버들에 대한 정보를 클라이언트들(141-143)에게 제공할 수 있다.Subsequently, when the file F1 download request is received by the clients 141-143, as shown in step 412, the client manager 111 stores blocks B0-Bn of the file D_FILE in step 422. Information about cloud members may be provided to clients 141-143.

이와 같은 본 발명에 의하면, 클라이언트들(141-143)에 의한 다운로드 요청이 많은 파일을 클라우드 멤버들(151-152)에게 분산해서 저장하고, 클라이언트들(141-143)로부터 파일 다운로드 요청이 있을 때 스토리지 서버(120) 대신 클라우드 멤버들(151-152)을 통하여 파일을 제공함으로써, 한정된 네트워크(130) 자원을 효율적으로 사용할 수 있다. 또한 클라우드 멤버들(151-154) 중 오프 상태로 변화되거나 정상 동작 상태가 아닌 클라우드 멤버의 수가 많을 때 핫파일을 다시 분산 저장함으로써 클라이언트(141)에서 요구하는 데이터 다운로드 속도를 충족할 수 있다.According to the present invention as described above, when the download request by the clients (141-143) is a lot of files distributed to the cloud members (151-152) and stored, and when there is a file download request from the clients (141-143) By providing files through the cloud members 151-152 instead of the storage server 120, it is possible to efficiently use the limited network 130 resources. In addition, when a large number of cloud members are changed to the off state or the non-normal operation state among the cloud members 151-154, the hot file may be distributed again and stored to satisfy the data download speed required by the client 141.

본 발명은 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.

100: 클라우드 컴퓨팅 네트워크 시스템
110: 메인 서버 120: 스토리지 서버
120: 네트워크 141-143: 클라이언트
151-154: 클라우드 멤버 111: 클라이언트 관리자
112: 마스터 관리자 113: 멤버 관리자
114: 파일 분산 관리자
100: cloud computing network system
110: main server 120: storage server
120: network 141-143: client
151-154: Cloud Member 111: Client Manager
112: master manager 113: member manager
114: File Distribution Manager

Claims (10)

메인 서버 및 스토리지 서버를 포함하며, 클라이언트의 파일 요청에 응답해서 서비스를 제공하는 클라우드 컴퓨팅 네트워크 시스템 내 상기 메인 서버에서의 파일 분산 방법에 있어서:
요청된 파일이 핫파일일 때, 상기 스토리지 서버에 저장된 파일이 분산 저장될 클라우드 멤버들을 선정하는 단계와;
선정된 클라우드 멤버들에게 상기 스토리지 서버에 저장된 파일을 전송하는 단계와;
상기 요청된 파일을 제공할 클라우드 멤버들을 선정하고, 선정된 클라우드 멤버들에 대한 정보를 상기 클라이언트에게 제공하는 단계와;
상기 클라우드 멤버들로부터 상태 정보를 수신하는 단계와;
상기 파일을 저장하고 있는 클라우드 멤버들 중 오프 상태로 변화된 클라우드 멤버의 수가 기준값보다 클 때 상기 스토리지 서버에 저장된 파일을 분산할 클라우드 멤버들을 재선정하는 단계; 그리고
상기 재선정된 클라우드 멤버에게 상기 스토리지 서버에 저장된 파일을 전송하는 단계를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템 내 상기 메인 서버에서의 파일 분산 방법.
A method for distributing a file on a main server in a cloud computing network system including a main server and a storage server and providing a service in response to a client's file request:
Selecting cloud members whose files stored in the storage server are to be distributed and stored when the requested file is a hot file;
Transmitting a file stored in the storage server to selected cloud members;
Selecting cloud members to provide the requested file and providing information about the selected cloud members to the client;
Receiving status information from the cloud members;
Reselecting cloud members for distributing a file stored in the storage server when the number of cloud members changed to an off state among the cloud members storing the file is larger than a reference value; And
And transmitting a file stored in the storage server to the reselected cloud member.
제 1 항에 있어서,
상기 요청된 파일이 핫파일인 지를 판별하는 단계와;
상기 요청된 파일이 핫파일일 때 상기 스토리지 서버에 저장된 파일이 분산 저장될 클라우드 멤버들을 선정하는 단계; 그리고
상기 스토리지 서버에 저장된 파일을 상기 선정된 클라우드 멤버들에게 전송하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템 내 상기 메인 서버에서의 파일 분산 방법.
The method of claim 1,
Determining whether the requested file is a hot file;
Selecting cloud members to which the file stored in the storage server is distributed and stored when the requested file is a hot file; And
And transmitting the file stored in the storage server to the selected cloud members.
제 1 항에 있어서,
상기 파일을 저장하고 있는 클라우드 멤버들 중 상기 상태 정보가 수신되지 않는 클라우드 멤버는 상기 오프 상태로 간주되는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템 내 상기 메인 서버에서의 파일 분산 방법.
The method of claim 1,
A cloud member of the cloud members storing the file, in which the state information is not received, is regarded as the off state.
제 1 항에 있어서,
상기 파일을 저장하고 있는 클라우드 멤버들 중 최대 대역폭이 최소 허용값보다 낮은 클라우드 멤버는 상기 오프 상태로 간주되는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템 내 상기 메인 서버에서의 파일 분산 방법.
The method of claim 1,
And among the cloud members storing the file, cloud members whose maximum bandwidth is lower than a minimum allowable value are regarded as the off state.
클라이언트의 요청에 응답해서 서비스를 제공하는 클라우드 컴퓨팅 네트워크 시스템에 있어서:
메인 서버와;
상기 클라이언트에게 제공될 파일들을 저장하는 스토리지 서버; 그리고
상기 클라이언트로부터 요청된 파일을 제공하기 위한 클라우드 멤버를 포함하되;
상기 메인 서버는 상기 클라이언트로부터 요청된 파일을 제공할 클라우드 멤버들을 선정하고, 선정된 클라우드 멤버들에 대한 정보를 상기 클라이언트에게 제공하되, 상기 클라우드 멤버들 각각으로부터 상태 정보를 수신하고, 오프 상태로 변화된 클라우드 멤버의 수가 기준값보다 클 때 상기 파일을 분산할 클라우드 멤버들을 재선정하고, 상기 재선정된 클라우드 멤버에게 상기 파일을 전송하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템.
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
Including a cloud member for providing a file requested from the client;
The main server selects cloud members to provide a file requested from the client, provides the client with information on the selected cloud members, receives state information from each of the cloud members, and changes the state to off. And reselecting cloud members to distribute the file when the number of cloud members is greater than a reference value, and transmitting the file to the reselected cloud members.
제 5 항에 있어서,
상기 메인 서버는,
상기 파일을 저장하고 있는 클라우드 멤버들 중 상기 상태 정보가 수신되지 않는 클라우드 멤버를 상기 오프 상태로 간주하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템.
The method of claim 5, wherein
The main server,
The cloud computing network system, characterized in that the cloud member that stores the file is not received the state of the cloud member is stored as the off state.
제 5 항에 있어서,
상기 메인 서버는,
상기 파일을 저장하고 있는 클라우드 멤버들 중 최대 대역폭이 최소 허용값보다 낮은 클라우드 멤버를 상기 오프 상태로 간주하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템.
The method of claim 5, wherein
The main server,
The cloud computing network system, characterized in that the cloud member of the cloud members storing the file, the maximum bandwidth is lower than the minimum allowable value to be considered as the off state.
제 5 항에 있어서,
상기 메인 서버는,
상기 클라이언트를 관리하며, 상기 클라이언트로부터 요청된 파일이 저장된 클라우드 멤버들에 대한 정보를 상기 클라이언트에게 제공하는 클라이언트 관리자와;
상기 클라우드 멤버들을 관리하는 멤버 관리자; 그리고
상기 클라이언트로부터 요청된 파일이 핫파일일 때 상기 스토리지 서버로부터 상기 파일을 다운로드하는 파일 분산 관리자를 포함하되;
상기 멤버 관리자는 상기 클라우드 멤버들 각각으로부터 상태 정보를 수신하고, 오프 상태로 변화된 클라우드 멤버의 수가 기준값보다 클 때 상기 상태 정보를 상기 파일 분산 관리자에게 제공하며,
상기 파일 분산 관리자는 상기 파일을 분산할 클라우드 멤버들을 재선정하고, 상기 재선정된 클라우드 멤버에게 상기 파일을 전송하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템.
The method of claim 5, wherein
The main server,
A client manager that manages the client and provides the client with information about cloud members storing files requested by the client;
A member manager managing the cloud members; And
A file distribution manager for downloading the file from the storage server when the file requested from the client is a hot file;
The member manager receives status information from each of the cloud members, and provides the status information to the file distribution manager when the number of cloud members changed to an off state is greater than a reference value.
And the file distribution manager reselects cloud members to distribute the file and transmits the file to the reselected cloud members.
제 8 항에 있어서,
상기 파일 분산 관리자는 상기 파일이 저장된 클라우드 멤버들에 대한 정보를 상기 클라이언트 관리자에게 제공하고,
상기 클라이언트 관리자는,
상기 클라우드 멤버가 재선정되었을 때,
상기 클라이언트의 요청에 응답해서 상기 재선정된 클라우드 멤버에 대한 정보를 상기 클라이언트로 제공하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템.
The method of claim 8,
The file distribution manager provides the client manager with information about cloud members in which the file is stored,
The client manager,
When the cloud member is reselected,
And provide the client with information about the reselected cloud member in response to a request of the client.
제 8 항에 있어서,
상기 멤버 관리자는,
상기 클라우드 멤버들로부터 주기적으로 상기 상태 정보를 수신하는 것을 특징으로 하는 클라우드 컴퓨팅 네트워크 시스템.
The method of claim 8,
The member manager,
And periodically receiving the status information from the cloud members.
KR1020100029406A 2010-03-31 2010-03-31 Cloud computing network system and file distribution method of the same KR20110109610A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100029406A KR20110109610A (en) 2010-03-31 2010-03-31 Cloud computing network system and file distribution method of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100029406A KR20110109610A (en) 2010-03-31 2010-03-31 Cloud computing network system and file distribution method of the same

Publications (1)

Publication Number Publication Date
KR20110109610A true KR20110109610A (en) 2011-10-06

Family

ID=45026778

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100029406A KR20110109610A (en) 2010-03-31 2010-03-31 Cloud computing network system and file distribution method of the same

Country Status (1)

Country Link
KR (1) KR20110109610A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101379848B1 (en) * 2013-02-15 2014-04-04 서울대학교산학협력단 Method and apparatus for managing distribution of file to recover original file with at least pre-determined number file shares
KR20140046860A (en) * 2012-10-11 2014-04-21 주식회사 케이티 Apparatus and method for generating identifier of content file based on hash, and method for hash code generation
WO2014092292A1 (en) * 2012-12-12 2014-06-19 에스케이플래닛 주식회사 Method and system for cloud- and streaming-based data transfer, client terminal and service apparatus
KR20140083289A (en) * 2012-12-26 2014-07-04 주식회사 엘지유플러스 Method and apparatus for storing contents using plural distributed storage servers

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140046860A (en) * 2012-10-11 2014-04-21 주식회사 케이티 Apparatus and method for generating identifier of content file based on hash, and method for hash code generation
WO2014092292A1 (en) * 2012-12-12 2014-06-19 에스케이플래닛 주식회사 Method and system for cloud- and streaming-based data transfer, client terminal and service apparatus
KR20140083289A (en) * 2012-12-26 2014-07-04 주식회사 엘지유플러스 Method and apparatus for storing contents using plural distributed storage servers
KR101379848B1 (en) * 2013-02-15 2014-04-04 서울대학교산학협력단 Method and apparatus for managing distribution of file to recover original file with at least pre-determined number file shares

Similar Documents

Publication Publication Date Title
KR20100122197A (en) Cloud computing network system and file distrubuting method of the same
US10411956B2 (en) Enabling planned upgrade/downgrade of network devices without impacting network sessions
KR101120572B1 (en) Cloud computing network system and file download method of the same
KR101424362B1 (en) Chunked downloads over a content delivery network
US20080071907A1 (en) Methods and apparatus for data transfer
US20100229222A1 (en) Peer-to-Peer Video Content Distribution Network Based on Personal Network Storage
TW200404439A (en) Remote dynamic configuration of a web server to facilitate capacity on demand
CN102067094A (en) Cache optimzation
KR101033813B1 (en) Cloud computing network system and file distrubuting method of the same
JP2010020782A (en) Method for transferring information
KR101089509B1 (en) Cloud computing network system and file distrubuting method of the same
EP3582116A1 (en) Webpage loading method, webpage loading system, and server
CN102164317A (en) Internet protocol (IP) set-top box-oriented multi-server segmented downloading system
KR101195123B1 (en) Cloud computing network system and file distrubuting method of the same
CN101500016A (en) Service control method, system and equipment
KR20110109610A (en) Cloud computing network system and file distribution method of the same
CN104581421A (en) Point-to-point flow media download method and node terminal device
WO2019074547A1 (en) Predictive load mitigation and control in a content delivery network (cdn)
WO2010058215A1 (en) Method and system for content handling
CN103181140A (en) Method, media server and terminal device for identifying service request type
CN102017568A (en) System for delivery of content to be played autonomously
KR101595512B1 (en) Apparatus and method for uploading multimedia file
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
US20080320141A1 (en) Affiliate bandwidth management

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20120419

Effective date: 20130930

S901 Examination by remand of revocation
E902 Notification of reason for refusal
S601 Decision to reject again after remand of revocation