KR102221638B1 - System, method and computer program for distributing large file - Google Patents

System, method and computer program for distributing large file Download PDF

Info

Publication number
KR102221638B1
KR102221638B1 KR1020190135265A KR20190135265A KR102221638B1 KR 102221638 B1 KR102221638 B1 KR 102221638B1 KR 1020190135265 A KR1020190135265 A KR 1020190135265A KR 20190135265 A KR20190135265 A KR 20190135265A KR 102221638 B1 KR102221638 B1 KR 102221638B1
Authority
KR
South Korea
Prior art keywords
file
blocks
client
clients
group
Prior art date
Application number
KR1020190135265A
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 KR1020190135265A priority Critical patent/KR102221638B1/en
Priority to PCT/KR2020/014968 priority patent/WO2021086087A1/en
Application granted granted Critical
Publication of KR102221638B1 publication Critical patent/KR102221638B1/en

Links

Images

Classifications

    • H04L67/2828
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention relates to a file distribution system, method and computer program, and more specifically, to a file distribution system, method and computer program, in which a server can distribute a large file to a plurality of clients at high speed. In the present invention, the file distribution system for distributing a first file to a plurality of clients belong to a first group from a server comprises: a server; and the plurality of clients including a first client, wherein the server segments a first file into a plurality of blocks, and separately transmits the plurality of blocks to the plurality of clients, and the first client, among the plurality of clients, receives some blocks among the plurality of blocks, and receives the rest of the blocks, of the plurality of blocks, from one or more other clients belonging to a first group, and then reconstructs the first file from the plurality of blocks.

Description

대용량 파일 배포 시스템, 방법 및 컴퓨터 프로그램 및 시스템{System, method and computer program for distributing large file}System, method and computer program for distributing large file}

본 발명은 파일을 배포하는 시스템, 방법 및 컴퓨터 프로그램에 관한 것으로서, 보다 구체적으로는 서버가 대용량의 파일을 복수의 클라이언트로 고속 배포할 수 있는 파일 배포 시스템, 방법 및 컴퓨터 프로그램에 관한 것이다.The present invention relates to a system, a method, and a computer program for distributing files, and more particularly, to a file distribution system, a method, and a computer program through which a server can distribute a large file at high speed to a plurality of clients.

정보통신 기술의 발달과 함께 스마트폰이나 개인용 컴퓨터(PC) 등 다양한 단말을 이용한 멀티미디어 정보 등의 활용이 빠르게 증가하고 있다. With the development of information and communication technology, the use of multimedia information using various terminals such as smartphones and personal computers (PC) is rapidly increasing.

특히, 종래에는 정보의 유통을 위하여 주로 텍스트를 포함하는 문서 등이 주로 사용되었으나, 근래 들어서는 사용자가 동영상 등을 활용하는 경우가 빠르게 늘어나고 있으며, 이는 백문불여일견(百聞不如一見)이라는 말처럼 텍스트 만으로 정보를 습득하는 것보다는 동영상이나 이미지 등을 보는 것이 효율적인 경우가 많기 때문이다. In particular, in the past, documents including text were mainly used for the distribution of information, but in recent years, the cases of users using videos, etc. are rapidly increasing. This is because in many cases it is more efficient to watch videos or images than to learn.

이에 따라, 유무선 통신 네트워크를 통해 전송되는 파일의 용량 및 데이터 트래픽이 빠르게 증대되고 있는바, 종래의 기술 만으로는 파일 전송에 의해 과부하가 유발되면서 시스템 성능이 저하되거나 나아가 시스템이 정지되는 문제까지 발생할 수 있었다.Accordingly, the capacity and data traffic of files transmitted through the wired/wireless communication network are rapidly increasing, and with the conventional technology alone, the system performance may be degraded or even the system may be stopped due to the overload caused by the file transmission. .

나아가, 대용량의 파일을 전송하기 위해서는 보다 많은 전송 시간이 소요될 수 있으며, 이에 따라 사용자가 제공받는 서비스의 품질이 저하되는 문제도 따를 수 있었다.Furthermore, it may take a longer transmission time to transmit a large file, and accordingly, there may be a problem in that the quality of a service provided to a user is deteriorated.

이에 따라, 제한된 통신 네트워크 환경에서 대용량의 파일을 보다 효율적으로 고속 배포할 수 있는 방안이 지속적으로 요구되고 있는 실정이다.Accordingly, there is a continuous demand for a method for more efficiently and high-speed distribution of large-capacity files in a limited communication network environment.

대한민국 공개특허 제 10-2014-0141925호(2014년 12월 11일 공개)Republic of Korea Patent Publication No. 10-2014-0141925 (published on December 11, 2014)

본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위해 창안된 것으로, 제한된 통신 네트워크 환경에서 대용량의 파일을 고속으로 배포할 수 있는 파일 배포 시스템, 방법 및 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.The present invention has been invented to solve the problems of the prior art as described above, and an object of the present invention is to provide a file distribution system, method, and computer program capable of distributing large-capacity files at high speed in a limited communication network environment.

나아가, 본 발명은 서버에서 복수의 클라이언트로 배포하는 데이터 트래픽을 줄여 대용량의 파일을 보다 효율적으로 전송할 수 있는 파일 배포 시스템, 방법 및 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.Further, an object of the present invention is to provide a file distribution system, method, and computer program capable of more efficiently transmitting a large-capacity file by reducing data traffic distributed from a server to a plurality of clients.

상기 과제를 해결하기 위한 본 발명의 한 측면에 따른 파일 배포 시스템은, 서버에서 제1 그룹에 속하는 복수의 클라이언트로 제1 파일을 배포하는 파일 배포 시스템에 있어서, 서버; 및 제1 클라이언트를 포함하는 복수의 클라이언트;를 포함하여 구성되며, 상기 서버는, 상기 제1 파일을 복수의 블록으로 분할하고, 상기 복수의 블록을 상기 복수의 클라이언트로 나누어 전송하며, 상기 복수의 클라이언트 중 상기 제1 클라이언트는, 상기 복수의 블록 중 일부 블록을 수신하고, 상기 제1 그룹에 속하는 하나 이상의 다른 클라이언트로부터 상기 복수의 블록 중 나머지 블록을 수신한 후, 상기 복수의 블록으로부터 상기 제1 파일을 복원하는 것을 특징으로 한다.A file distribution system according to an aspect of the present invention for solving the above problem is a file distribution system for distributing a first file from a server to a plurality of clients belonging to a first group, comprising: a server; And a plurality of clients including a first client, wherein the server divides the first file into a plurality of blocks, divides the plurality of blocks into the plurality of clients, and transmits the plurality of Among clients, the first client receives some blocks from the plurality of blocks, receives the remaining blocks from the plurality of blocks from one or more other clients belonging to the first group, and then receives the first from the plurality of blocks. It is characterized by restoring files.

이때, 상기 제1 클라이언트는, 자신이 수신한 상기 일부 블록을 상기 다른 클라이언트에게 제공하고, 상기 다른 클라이언트로부터 상기 나머지 블록을 제공받을 수 있다.In this case, the first client may provide the partial block received by the first client to the other client, and may receive the remaining blocks from the other client.

또한, 상기 서버는, 전체 클라이언트 중 일부의 클라이언트를 상기 제1 그룹으로 지정하고, 상기 제1 그룹에 속하는 클라이언트에 대한 정보, 상기 제1 파일에 대한 정보, 상기 복수의 블록에 대한 정보 중 하나 이상을 포함하는 배포 정책 데이터를 제공할 수 있다.In addition, the server designates some of the clients as the first group, and at least one of information on clients belonging to the first group, information on the first file, and information on the plurality of blocks Distribution policy data including a can be provided.

이때, 상기 제1 클라이언트는, 상기 서버에 새로운 배포 정책 데이터가 있음을 확인하면, 상기 다른 클라이언트에게 상기 새로운 배포 정책 데이터가 있음을 알릴 수 있다.In this case, when the first client confirms that there is new distribution policy data in the server, the first client may inform the other client of the existence of the new distribution policy data.

나아가, 상기 제1 클라이언트는, 미리 정해진 주기마다 상기 서버로 배포 정책 데이터를 요청할 수 있다.Furthermore, the first client may request distribution policy data from the server at every predetermined period.

또한, 상기 서버는, 상기 제1 파일을 상기 복수의 클라이언트의 숫자에 따라 상기 복수의 블록으로 분할하여 상기 각 복수의 클라이언트로 전송할 수 있다.In addition, the server may divide the first file into the plurality of blocks according to the number of the plurality of clients and transmit the first file to each of the plurality of clients.

또한, 상기 서버는, 상기 제1 그룹에 더하여, 제2 파일을 복수의 블록으로 분할하여 제2 그룹에 속하는 복수의 클라이언트로 나누어 배포할 수 있다.In addition to the first group, the server may divide the second file into a plurality of blocks and distribute the second file to a plurality of clients belonging to the second group.

또한, 상기 제1 그룹에 속하는 복수의 클라이언트 중 일부 클라이언트가 서버로부터 블록을 수신하지 못하는 경우에는, 상기 복수의 클라이언트 중 다른 클라이언트가 상기 블록을 수신하여 상기 제1 그룹에 속하는 클라이언트로 제공할 수 있다.In addition, when some of the plurality of clients belonging to the first group do not receive a block from the server, another client among the plurality of clients may receive the block and provide it to a client belonging to the first group. .

또한, 상기 제1 그룹에 속하는 제2 클라이언트는, 상기 제1 클라이언트로부터 전송된 상기 나머지 블록에 대한 요청을 자신과 연결된 제3 클라이언트로 전송하여 상기 제1 그룹에 속하는 복수의 클라이언트 전체로 전달시킬 수 있다.In addition, a second client belonging to the first group may transmit a request for the remaining block transmitted from the first client to a third client connected to it and transmit the request to all of the plurality of clients belonging to the first group. have.

또한, 본 발명의 다른 측면에 따른 파일 배포 방법은, 서버가 제1 그룹에 속하는 복수의 클라이언트로 제1 파일을 배포하는 방법에 있어서, 서버가 전송하고자 하는 제1 파일을 복수의 블록으로 분할하는 파일 분할 단계; 및 상기 서버가 상기 복수의 블록을 상기 제1 그룹에 속하는 복수의 클라이언트로 나누어 전송하는 블록 전송 단계;를 포함하며, 상기 복수의 클라이언트 중 제1 클라이언트는, 상기 복수의 블록 중 일부 블록을 수신하고, 상기 제1 그룹에 속하는 하나 이상의 다른 클라이언트로부터 상기 복수의 블록 중 나머지 블록을 수신한 후, 상기 복수의 블록으로부터 상기 제1 파일을 복원하는 것을 특징으로 한다.In addition, a file distribution method according to another aspect of the present invention is a method in which a server distributes a first file to a plurality of clients belonging to a first group, wherein the server divides the first file to be transmitted into a plurality of blocks. File dividing step; And a block transmission step of the server dividing the plurality of blocks into a plurality of clients belonging to the first group and transmitting the blocks, wherein the first client of the plurality of clients receives some blocks of the plurality of blocks, and , After receiving the remaining blocks from among the plurality of blocks from one or more other clients belonging to the first group, the first file is restored from the plurality of blocks.

또한, 본 발명의 또 다른 측면에 따른 파일 배포 방법은, 제1 그룹에 속하는 복수의 클라이언트가 서버로부터 제1 파일을 배포 받는 방법에 있어서, 상기 복수의 클라이언트 중 제1 클라이언트가, 상기 서버로부터 상기 제1 파일에서 분할된 복수의 블록 중 일부 블록을 수신하는 제1 블록 수신 단계; 상기 제1 클라이언트가 상기 제1 그룹에 속하는 하나 이상의 다른 클라이언트로부터 상기 복수의 블록 중 나머지 블록을 수신하는 제2 블록 수신 단계; 및 상기 제1 클라이언트가 상기 복수의 블록으로부터 상기 제1 파일을 복원하는 파일 복원 단계;를 포함하는 것을 특징으로 한다.In addition, a file distribution method according to another aspect of the present invention is a method in which a plurality of clients belonging to a first group distribute a first file from a server, wherein a first client among the plurality of clients receives the first file from the server. A first block receiving step of receiving some blocks among a plurality of blocks divided from a first file; A second block receiving step of receiving, by the first client, the remaining blocks among the plurality of blocks from one or more other clients belonging to the first group; And a file restoration step of restoring, by the first client, the first file from the plurality of blocks.

본 발명의 또 다른 측면에 따른 컴퓨터 프로그램은 상기 기재된 파일 배포 방법의 각 단계를 컴퓨터에서 실행시키기 위한 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램인 것을 특징으로 한다.A computer program according to another aspect of the present invention is characterized in that it is a computer program stored in a computer-readable medium for executing each step of the file distribution method described above on a computer.

본 발명의 일 실시예에 따른 파일 배포 시스템, 방법 및 컴퓨터 프로그램에서는, 서버가 전송하고자 하는 파일을 복수의 블록으로 분할하여 복수의 클라이언트로 나누어 전송하고, 상기 복수의 클라이언트에서 상기 복수의 블록을 서로 공유함으로써, 대용량의 파일을 고속으로 배포할 수 있으며, 나아가 서버에서 복수의 클라이언트로 배포하는 데이터 트래픽을 줄여 대용량의 파일을 보다 효율적으로 전송할 수 있게 된다.In the file distribution system, method, and computer program according to an embodiment of the present invention, a file to be transmitted by a server is divided into a plurality of blocks and transmitted to a plurality of clients, and the plurality of blocks are separated from each other by the plurality of clients. By sharing, a large file can be distributed at high speed, and further, data traffic distributed from a server to a plurality of clients can be reduced, so that a large file can be transmitted more efficiently.

본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 본 발명의 일 실시예에 따른 파일 배포 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 파일 배포 시스템의 동작을 설명하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 파일 배포 시스템의 구체적인 동작을 설명하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 파일 배포 시스템의 구체적인 구성을 도시하는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 서버 관점의 파일 배포 방법의 순서도이다.
도 6은 본 발명의 일 실시예에 따른 클라이언트 관점의 파일 배포 방법의 순서도이다.
도 7은 본 발명의 일 실시예에 따른 파일 배포 방법의 구체적인 동작을 예시하는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 파일 배포 시스템에서 클라이언트 간의 데이터 공유를 설명하는 도면이다.
The accompanying drawings, which are included as part of the detailed description to aid in understanding of the present invention, provide embodiments for the present invention, and describe the technical idea of the present invention together with the detailed description.
1 is a configuration diagram of a file distribution system according to an embodiment of the present invention.
2 is a diagram illustrating an operation of a file distribution system according to an embodiment of the present invention.
3 is a diagram illustrating a specific operation of the file distribution system according to an embodiment of the present invention.
4 is a block diagram showing a specific configuration of a file distribution system according to an embodiment of the present invention.
5 is a flowchart of a method for distributing files from a server perspective according to an embodiment of the present invention.
6 is a flowchart of a method for distributing a file from a client perspective according to an embodiment of the present invention.
7 is a flowchart illustrating a specific operation of a file distribution method according to an embodiment of the present invention.
8 is a diagram illustrating data sharing between clients in a file distribution system according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 이하에서는 특정 실시예들을 첨부된 도면을 기초로 상세히 설명하고자 한다.The present invention may apply various transformations and may have various embodiments. Hereinafter, specific embodiments will be described in detail based on the accompanying drawings.

이하의 실시예는 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.The following examples are provided to aid in a comprehensive understanding of the methods, apparatus and/or systems described herein. However, this is only an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시 예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다. In describing the embodiments of the present invention, when it is determined that a detailed description of a known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of users or operators. Therefore, the definition should be made based on the contents throughout the present specification. The terms used in the detailed description are only for describing the embodiments of the present invention, and should not be limiting. Unless explicitly used otherwise, expressions in the singular form include the meaning of the plural form. In the present description, expressions such as "comprising" or "feature" are intended to refer to certain features, numbers, steps, actions, elements, some or combination thereof, and one or more It should not be construed to exclude the presence or possibility of other features, numbers, steps, actions, elements, any part or combination thereof.

또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되는 것은 아니며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.In addition, terms such as first and second may be used to describe various components, but the components are not limited by the terms, and the terms are used to distinguish one component from other components. Is only used.

이하, 본 발명에 따른 파일 배포 시스템, 방법 및 컴퓨터 프로그램의 예시적인 실시형태들을 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of a file distribution system, method, and computer program according to the present invention will be described in detail with reference to the accompanying drawings.

먼저, 도 1에서는 본 발명의 일 실시예에 따른 파일 배포 시스템(100)의 구성도를 보여주고 있다. 도 1에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 파일 배포 시스템 (100)은, 서버(120)에서 제1 그룹(150a)에 속하는 복수의 클라이언트(110)로 제1 파일(210)을 배포하는 파일 배포 시스템(100)으로서, 서버(120), 제1 클라이언트(110a)를 포함하는 복수의 클라이언트(110) 및 상기 서버(120)와 클라이언트(110)를 연결하는 네트워크(130)를 포함하여 구성될 수 있다.First, FIG. 1 shows a configuration diagram of a file distribution system 100 according to an embodiment of the present invention. As can be seen in FIG. 1, the file distribution system 100 according to an embodiment of the present invention includes a first file 210 from the server 120 to a plurality of clients 110 belonging to the first group 150a. ) As a file distribution system 100 that distributes, a server 120, a plurality of clients 110 including a first client 110a, and a network 130 connecting the server 120 and the client 110 It can be configured to include.

이때, 상기 서버(120)는, 상기 제1 파일(210)을 복수의 블록(220)으로 분할하고, 상기 복수의 블록(220)을 상기 복수의 클라이언트(110)로 나누어 전송하게 된다. 이에 따라, 상기 복수의 클라이언트(110) 중 상기 제1 클라이언트(110a)는, 상기 복수의 블록(220) 중 일부 블록(220)을 수신하고, 상기 제1 그룹(150a)에 속하는 하나 이상의 다른 클라이언트(110)로부터 상기 복수의 블록(220) 중 나머지 블록(220)을 수신한 후, 상기 복수의 블록(220)으로부터 상기 제1 파일(210)을 복원하게 된다.In this case, the server 120 divides the first file 210 into a plurality of blocks 220 and transmits the plurality of blocks 220 by dividing the plurality of blocks 220 into the plurality of clients 110. Accordingly, the first client 110a among the plurality of clients 110 receives some blocks 220 of the plurality of blocks 220, and one or more other clients belonging to the first group 150a After receiving the remaining block 220 of the plurality of blocks 220 from 110, the first file 210 is restored from the plurality of blocks 220.

여기서, 상기 클라이언트(110)로서 스마트폰, 태블릿 PC, PDA, 휴대전화 등 휴대 단말기가 사용될 수 있고, 또는 퍼스널 컴퓨터(PC), 노트북 PC 등 개인용 정보 처리 장치가 사용될 수도 있으며, 나아가 게이트웨이, 라우터 등의 통신용 장비 등 데이터 통신에 이용되는 다양한 장치가 사용될 수도 있다.Here, as the client 110, a portable terminal such as a smart phone, a tablet PC, a PDA, or a mobile phone may be used, or a personal information processing device such as a personal computer (PC) or a notebook PC may be used, and further, a gateway, a router, etc. A variety of devices used for data communication, such as communication equipment, may be used.

또한, 상기 단말(110)과 서버(120)를 연결하는 네트워크(130)로서는 유선 네트워크와 무선 네트워크를 포함할 수 있으며, 구체적으로, 근거리 통신망 (LAN: Local Area Network), 도시권 통신망 (MAN: Metropolitan Area Network), 광역 통신망 (WAN: Wide Area Network) 등의 다양한 통신망을 포함할 수 있다. 또한, 상기 네트워크(130)는 공지의 월드 와이드 웹(WWW: World Wide Web)을 포함할 수도 있다. 그러나, 본 발명에 따른 네트워크(130)는 상기 열거된 네트워크에 국한되지 않고, 공지의 무선 데이터 네트워크나 공지의 전화 네트워크 또는 공지의 유무선 텔레비전 네트워크를 적어도 일부로 포함할 수도 있다.In addition, the network 130 connecting the terminal 110 and the server 120 may include a wired network and a wireless network, and specifically, a local area network (LAN), a metropolitan area network (MAN: Metropolitan Area Network) and a wide area network (WAN). In addition, the network 130 may include a known World Wide Web (WWW). However, the network 130 according to the present invention is not limited to the networks listed above, and may include at least a part of a known wireless data network, a known telephone network, or a known wired/wireless television network.

보다 구체적으로, 도 2에서는 본 발명의 일 실시예에 따른 파일 배포 시스템(100)의 동작을 보다 구체적으로 설명하고 있다. 도 2를 참조하여 살펴보면, 본 발명의 일 실시예에 따른 파일 배포 시스템(100)에서, 상기 서버(120)는 제1 그룹(150a)에 속하는 복수의 클라이언트(110)로 배포하고자 하는 제1 파일(210)을 복수의 블록(220)으로 분할하고, 상기 복수의 블록(220)을 상기 복수의 클라이언트(110)로 나누어 전송하게 된다.More specifically, FIG. 2 describes the operation of the file distribution system 100 according to an embodiment of the present invention in more detail. Referring to FIG. 2, in the file distribution system 100 according to an embodiment of the present invention, the server 120 is a first file to be distributed to a plurality of clients 110 belonging to the first group 150a. (210) is divided into a plurality of blocks 220, and the plurality of blocks 220 is divided into the plurality of clients 110 and transmitted.

보다 구체적인 예를 들어, 상기 서버(120)가 제1 파일(210)을 제1 그룹(150a)에 속하는 제1 클라이언트(110a) 및 제2 클라이언트(110b)로 배포하고자 하는 경우, 상기 서버(120)는 상기 제1 파일(120)을 복수의 블록(예를 들어, 제1 블록(220a) 및 제2 블록(220b))로 분할한 후, 상기 복수의 블록 중 일부인 제1 블록(220a)을 상기 제1 클라이언트(110a)로 전송하고 제2 블록(220b)를 상기 제2 클라이언트(11b)로 전송할 수 있다.For a more specific example, when the server 120 wants to distribute the first file 210 to the first clients 110a and the second clients 110b belonging to the first group 150a, the server 120 ) Divides the first file 120 into a plurality of blocks (for example, a first block 220a and a second block 220b), and then divides the first block 220a, which is a part of the plurality of blocks. It may transmit to the first client 110a and transmit the second block 220b to the second client 11b.

이어서, 상기 복수의 클라이언트(110) 중 제1 클라이언트(110a)는 상기 복수의 블록(220) 중 일부 블록(220)을 수신하고, 상기 제1 그룹(150a)에 속하는 하나 이상의 다른 클라이언트(110)로부터 상기 복수의 블록(220) 중 나머지 블록(220)을 수신한 후, 상기 복수의 블록(220)으로부터 상기 제1 파일(210)을 복원하게 된다.Subsequently, the first client 110a of the plurality of clients 110 receives some blocks 220 of the plurality of blocks 220, and one or more other clients 110 belonging to the first group 150a After receiving the remaining block 220 from among the plurality of blocks 220, the first file 210 is restored from the plurality of blocks 220.

보다 구체적인 예를 들어, 상기 제1 클라이언트(110a)는 상기 복수의 블록(220) 중 일부인 제1 블록(220a)을 수신하고, 상기 제1 그룹(150a)에 속하는 제2 클라이언트(110b)로부터 상기 복수의 블록(220) 중 나머지 제2 블록(220b)을 수신한 후, 상기 제1 블록(220a) 및 제2 블록(220b)으로부터 상기 제1 파일(210)을 복원할 수 있다.For a more specific example, the first client 110a receives the first block 220a, which is a part of the plurality of blocks 220, and receives the first block 220a from the second client 110b belonging to the first group 150a. After receiving the remaining second block 220b of the plurality of blocks 220, the first file 210 may be restored from the first block 220a and the second block 220b.

나아가, 상기 제2 클라이언트(110b)도 상기 복수의 블록(220) 중 일부인 제2 블록(220b)을 수신하고, 상기 제1 그룹(150a)에 속하는 제1 클라이언트(110a)로부터 상기 복수의 블록(220) 중 나머지 제1 블록(220a)을 수신한 후, 상기 제1 블록(220a) 및 제2 블록(220b)으로부터 상기 제1 파일(210)을 복원할 수 있다.Furthermore, the second client 110b also receives the second block 220b, which is a part of the plurality of blocks 220, and the plurality of blocks ( After receiving the remaining first block 220a of 220), the first file 210 may be restored from the first block 220a and the second block 220b.

이와 같이, 상기 제1 클라이언트(110a)는, 자신이 수신한 상기 일부 블록(220)을 상기 다른 클라이언트(110)에게 제공하고, 상기 다른 클라이언트(110)로부터 상기 나머지 블록(220)을 제공받는 과정(즉, 블록의 공유)을 통해, 상기 서버(120)로부터 일부 블록(220) 만을 전송 받으면서도 나머지 블록(220)을 다른 클라이언트(110)로부터 공유 받아 상기 제1 파일(210)을 복원할 수 있게 된다.In this way, the first client 110a provides the partial block 220 received by itself to the other client 110 and receives the remaining block 220 from the other client 110 (I.e., through block sharing), while receiving only some blocks 220 from the server 120, the first file 210 can be restored by receiving the remaining blocks 220 from other clients 110 do.

또한, 도 2에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 파일 배포 시스템, 방법 및 컴퓨터 프로그램에서, 상기 서버(120)는 상기 제1 그룹(150a)에 더하여, 제2 파일(230)을 복수의 블록(220)으로 분할하여 제2 그룹(150b)에 속하는 복수의 클라이언트(110)로 나누어 배포할 수 있다.In addition, as can be seen in Figure 2, in the file distribution system, method, and computer program according to an embodiment of the present invention, the server 120 in addition to the first group 150a, the second file 230 ) May be divided into a plurality of blocks 220 and distributed to a plurality of clients 110 belonging to the second group 150b.

이때, 상기 제2 파일(230)은 상기 제1 파일(210)과 상이한 파일일 수 있겠으나, 본 발명이 반드시 이에 한정되는 것은 아니며, 상기 제2 파일(230)이 상기 제1 파일(210)과 동일한 파일일 수도 있다.In this case, the second file 230 may be a file different from the first file 210, but the present invention is not necessarily limited thereto, and the second file 230 is the first file 210 It may be the same file as.

보다 구체적으로, 도 3에서는 본 발명의 일 실시예에 따른 파일 배포 시스템(100)의 구체적인 동작을 설명하고 있다. 도 3에서 볼 수 있는 바와 같이, 먼저 서버(120)는 배포하고자 하는 제1 파일(210)을 복수의 블록(220)으로 분할하게 된다(예를 들어, 도 3에 예시된 바와 같이 제1 블록(220a), 제2 블록(220b) 및 제3 블록(220c)으로 분할).More specifically, in FIG. 3, a detailed operation of the file distribution system 100 according to an embodiment of the present invention is described. As can be seen in FIG. 3, first, the server 120 divides the first file 210 to be distributed into a plurality of blocks 220 (for example, as illustrated in FIG. 3, the first block (220a), divided into a second block 220b and a third block 220c).

이때, 상기 서버(120)는 미리 정해진 블록 사이즈에 따라 상기 제1 파일(210)을 분할할 수 있으나, 본 발명이 반드시 이에 한정되는 것은 아니며, 상기 서버(120)는 상기 제1 파일(210)을 상기 복수의 클라이언트(110)의 숫자를 고려하여 분할하는 것도 가능하며, 이외에도 적용 환경에 따라 다양한 방법으로 상기 제1 파일(210)을 분할하는 것도 가능하다.In this case, the server 120 may divide the first file 210 according to a predetermined block size, but the present invention is not necessarily limited thereto, and the server 120 is the first file 210 The first file 210 may be divided in consideration of the number of the plurality of clients 110, and in addition, the first file 210 may be divided in various ways according to the application environment.

이어서, 상기 서버(120)는 상기 분할된 블록(220)을 압축(compress)하여 네트워크(130)를 통해 전송될 데이터 트래픽을 줄일 수 있다. 이때, 상기 블록(220)을 압축하기 위하여 사용되는 알고리즘은 전송하고자 하는 데이터의 종류에 따라 다양한 압축 알고리즘 중에서 선택될 수 있다.Subsequently, the server 120 may compress the divided blocks 220 to reduce data traffic to be transmitted through the network 130. In this case, the algorithm used to compress the block 220 may be selected from various compression algorithms according to the type of data to be transmitted.

이어서, 서버(120)는 상기 압축된 복수의 블록(220)을 나누어 각 클라이언트(110)로 고속 전송하게 된다.Subsequently, the server 120 divides the plurality of compressed blocks 220 and transmits them to each client 110 at high speed.

이때, 상기 서버(120)는 상기 각 클라이언트(110)와 소켓 통신(socket communication)을 이용하여 상기 압축된 복수의 블록(220)을 전송할 수 있다. In this case, the server 120 may transmit the plurality of compressed blocks 220 using socket communication with each of the clients 110.

보다 구체적으로, 먼저 상기 서버(120)가 소켓(socket)을 생성하게 되고, 이어서 상기 클라이언트(110)가 연결을 요청(connection request)하면, 상기 서버(120)가 이를 수락하여 소켓 연결이 형성되고, 상기 서버(120)가 상기 압축된 블록(220)을 상기 클라이언트(110)로 전송하게 된다.More specifically, first, the server 120 creates a socket, and then, when the client 110 requests a connection, the server 120 accepts it and a socket connection is formed. , The server 120 transmits the compressed block 220 to the client 110.

이러한 과정을 통해, 상기 서버(120)는 상기 압축된 제1 블록(220a)을 상기 제1 클라이언트(110a)로 전송하고, 상기 압축된 제2 블록(220b)을 상기 제2 클라이언트(110b)로 전송하며, 상기 압축된 제3 블록(220c)을 상기 제3 클라이언트(110c)로 전송하게 된다.Through this process, the server 120 transmits the compressed first block 220a to the first client 110a, and transfers the compressed second block 220b to the second client 110b. Then, the compressed third block 220c is transmitted to the third client 110c.

이에 따라, 상기 제1 클라이언트(110a)는 상기 압축된 제1 블록(220a)의 압축을 풀어(decompress) 상기 제1 블록(220a)을 복원한다. 이때, 상기 제1 클라이언트(110a)는 상기 복원된 제1 블록(220a)에 대하여 오류 검증 작업(Cyclical Redundancy Check, CRC)을 수행하여 전송상의 오류를 검증할 수도 있다.Accordingly, the first client 110a restores the first block 220a by decompressing the compressed first block 220a. In this case, the first client 110a may verify a transmission error by performing an error verification operation (Cyclical Redundancy Check, CRC) on the restored first block 220a.

마찬가지로 상기 제2 클라이언트(110b)와 상기 제3 클라이언트(110c)도 상기 제2 블록(220b)와 제3 블록(220c)의 압축을 풀어 상기 제2 블록(220b)와 상기 제3 블록(220c)을 복원한다. 또한, 상기 제2 클라이언트(110b)와 제3 클라이언트(110c)도 상기 복원된 제2 블록(220b) 및 제3 블록(220c)에 대하여 오류 검증 작업(CRC)을 수행할 수 있다.Likewise, the second and third clients 110b and 110c decompress the second and third blocks 220b and 220c to form the second and third blocks 220b and 220c. Restore. In addition, the second client 110b and the third client 110c may also perform an error verification operation (CRC) on the restored second block 220b and third block 220c.

이어서, 상기 복수의 클라이언트(220)는 각자 보유하고 있는 블록(220)을 교환하게 된다.Subsequently, the plurality of clients 220 exchange blocks 220 each of them.

보다 구체적으로, 상기 제1 블록(220a)을 보유하고 있는 상기 제1 클라이언트(110a)는 상기 제2 클라이언트(110b)와 상기 제3 클라이언트(110c)로부터 상기 제2 블록(220b)와 제3 블록(220c)를 수신하게 된다.More specifically, the first client (110a) holding the first block (220a) is the second block (220b) and the third block from the second client (110b) and the third client (110c) (220c) is received.

이에 따라, 상기 제1 클라이언트(110a)는 상기 제1 블록(220a), 제2 블록(220b) 및 제3 블록(220c)을 모두 보유하게 되는 바, 상기 제1 블록(220a), 제2 블록(220b) 및 제3 블록(220c)으로부터 상기 제1 파일(210)을 복원하게 된다. 이때, 상기 제1 클라이언트(110a)는 상기 복원된 제1 파일(210)에 대하여 오류 검증 작업(CRC)을 수행할 수도 있다.Accordingly, the first client 110a holds all of the first block 220a, the second block 220b, and the third block 220c. The first block 220a and the second block The first file 210 is restored from 220b and the third block 220c. In this case, the first client 110a may perform an error verification operation (CRC) on the restored first file 210.

마찬가지로, 상기 제2 클라이언트(110b)와 상기 제3 클라이언트(110c)도 상기 제1 블록(220a), 제2 블록(220b) 및 제3 블록(220c)을 모두 수집하고 이로부터 상기 제1 파일(210)을 복원할 수 있게 된다. 또한, 상기 제2 클라이언트(110b)와 제3 클라이언트(110c)도 상기 복원된 제1 파일(210)에 대하여 오류 검증 작업(CRC)을 수행할 수 있다.Similarly, the second client 110b and the third client 110c also collect all of the first block 220a, the second block 220b, and the third block 220c, from which the first file ( 210) can be restored. In addition, the second client 110b and the third client 110c may also perform an error verification operation (CRC) on the restored first file 210.

또한, 도 4에서는 본 발명의 일 실시예에 따른 파일 배포 시스템(100)의 구체적인 구성을 도시하는 블록도를 예시하고 있다. 도 4에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 파일 배포 시스템(100)은, 서버(120) 및 복수의 클라이언트(110)를 포함하여 구성될 수 있다.In addition, FIG. 4 illustrates a block diagram showing a specific configuration of the file distribution system 100 according to an embodiment of the present invention. As can be seen in FIG. 4, the file distribution system 100 according to an embodiment of the present invention may include a server 120 and a plurality of clients 110.

이때, 상기 서버(120)는 웹서버(121), 파일 전송 서버(122) 및 데이터베이스(123)를 포함할 수 있다.In this case, the server 120 may include a web server 121, a file transfer server 122, and a database 123.

또한, 상기 클라이언트(110)는 어플리케이션(111), 파일 수신 클라이언트(112) 및 파일 공유 서버(113)를 포함할 수 있다.In addition, the client 110 may include an application 111, a file receiving client 112, and a file sharing server 113.

이때, 상기 서버(120)는 상기 웹서버(121)의 HTTP 프로토콜 등을 통해 상기 클라이언트(110)의 어플리케이션(111)과 연동되어 제어 기능을 수행할 수 있다.In this case, the server 120 may perform a control function by interlocking with the application 111 of the client 110 through the HTTP protocol of the web server 121 or the like.

또한, 상기 서버(120)의 파일 전송 서버(122)는 TCP 프로토콜을 이용하여 상기 제1 파일(210)에서 분할된 복수의 블록(220)을 상기 클라이언트(110)의 파일 수신 클라이언트(112)로 전송할 수 있다.In addition, the file transmission server 122 of the server 120 transfers the plurality of blocks 220 divided from the first file 210 to the file receiving client 112 of the client 110 using a TCP protocol. Can be transmitted.

또한, 상기 서버(120)에는 데이터베이스(123)가 구비되어 상기 복수의 클라이언트(110)에 대한 관리, 파일 배포 등에 필요한 배포 정책 등의 데이터를 저장하고 관리할 수 있다.In addition, the server 120 is provided with a database 123 to store and manage data such as distribution policies necessary for management of the plurality of clients 110 and file distribution.

또한, 상기 복수의 클라이언트(110)에는 파일 공유 서버(113)가 구비되어 상기 동일한 제1 그룹(150a)에 속하는 복수의 클라이언트(110) 간에 상기 복수의 블록(220)을 교환하거나 신규 배포 정책 데이터의 유무 등의 정보를 공유하기 위한 그룹 정보 데이터 등을 교환하는데 사용될 수 있다.In addition, the plurality of clients 110 are provided with a file sharing server 113 to exchange the plurality of blocks 220 between the plurality of clients 110 belonging to the same first group 150a or to exchange new distribution policy data It can be used to exchange group information data to share information such as the presence or absence of a child.

또한, 도 5에서는 본 발명의 일 실시예에 따른 서버(120) 관점의 파일 배포 방법의 순서도를 도시하고 있다. In addition, FIG. 5 shows a flow chart of a file distribution method from the perspective of the server 120 according to an embodiment of the present invention.

도 5에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 서버(120) 관점의 파일 배포 방법은, 서버가(120) 제1 그룹(150a)에 속하는 복수의 클라이언트(110)로 제1 파일(210)을 배포하는 방법에 있어서, 서버(120)가 전송하고자 하는 제1 파일(210)을 복수의 블록(220_으로 분할하는 파일 분할 단계(S110) 및 상기 서버(120)가 상기 복수의 블록(220)을 상기 제1 그룹(150a)에 속하는 복수의 클라이언트(220)로 나누어 전송하는 블록 전송 단계(S120)를 포함하게 된다.As can be seen in FIG. 5, in the method of distributing files from the viewpoint of the server 120 according to an embodiment of the present invention, the server 120 includes a plurality of clients 110 belonging to the first group 150a. In the method of distributing the file 210, the file dividing step (S110) of dividing the first file 210 to be transmitted by the server 120 into a plurality of blocks 220_ and the server 120 A block transmission step (S120) of dividing and transmitting the block 220 of the first group 150a into a plurality of clients 220 belonging to the first group 150a.

이때, 상기 복수의 클라이언트(220) 중 제1 클라이언트(220a)는, 상기 복수의 블록(220) 중 일부 블록을 수신하고(예를 들어, 제1 블록(220a)), 상기 제1 그룹(150a)에 속하는 하나 이상의 다른 클라이언트로부터 상기 복수의 블록 중 나머지 블록을 수신한 후(예를 들어, 제2 클라이언트(110b)와 제3 클라이언트(110c)으로부터 제2 블록(220b)과 제3 블록(220c)을 수신), 상기 복수의 블록(220)으로부터 상기 제1 파일(210)을 복원하는 것을 특징으로 한다.In this case, the first client 220a of the plurality of clients 220 receives some blocks of the plurality of blocks 220 (for example, the first block 220a), and the first group 150a ) After receiving the remaining blocks from among the plurality of blocks from one or more other clients belonging to (e.g., the second block 220b and the third block 220c from the second client 110b and the third client 110c) ), and the first file 210 is restored from the plurality of blocks 220.

또한, 도 6에서는 본 발명의 일 실시예에 따른 클라이언트(110) 관점의 파일 배포 방법의 순서도를 도시하고 있다. In addition, FIG. 6 shows a flow chart of a file distribution method from the perspective of the client 110 according to an embodiment of the present invention.

도 6에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 클라이언트(110) 관점의 파일 배포 방법은, 제1 그룹(150a)에 속하는 복수의 클라이언트(110)가 서버(120)로부터 제1 파일(210)을 배포 받는 방법에 있어서, 상기 복수의 클라이언트(110) 중 제1 클라이언트(110a)가, 상기 서버(120)로부터 상기 제1 파일(210)에서 분할된 복수의 블록(220) 중 일부 블록을 수신(예를 들어, 제1 블록(220a))하는 제1 블록 수신 단계(S210), 상기 제1 클라이언트(110a)가 상기 제1 그룹(150a)에 속하는 하나 이상의 다른 클라이언트(110)로부터 상기 복수의 블록(220) 중 나머지 블록(220)을 수신(예를 들어, 제2 클라이언트(110b)와 제3 클라이언트(110c)으로부터 제2 블록(220b)과 제3 블록(220c)을 수신)하는 제2 블록 수신 단계(S220) 및 상기 제1 클라이언트(110a)상기 복수의 블록(220)으로부터 상기 제1 파일(210)을 복원하는 파일 복원 단계(S230)를 포함하게 된다.As can be seen in FIG. 6, in the file distribution method from the perspective of the client 110 according to an embodiment of the present invention, a plurality of clients 110 belonging to the first group 150a In the method of distributing a file 210, a first client 110a among the plurality of clients 110 is selected from among a plurality of blocks 220 divided in the first file 210 from the server 120 A first block receiving step (S210) of receiving some blocks (for example, the first block 220a), the first client 110a is one or more other clients 110 belonging to the first group 150a Receiving the remaining block 220 of the plurality of blocks 220 from (e.g., receiving the second block 220b and the third block 220c from the second client 110b and the third client 110c) ) A second block receiving step (S220) and a file restoring step (S230) of restoring the first file 210 from the plurality of blocks 220 of the first client 110a.

보다 구체적으로, 도 7에서는 본 발명의 일 실시예에 따른 파일 배포 방법의 구체적인 동작을 예시하는 흐름도를 도시하고 있다. More specifically, FIG. 7 is a flowchart illustrating a specific operation of a method for distributing a file according to an embodiment of the present invention.

이하, 도 7을 참조하여 본 발명의 일 실시예에 따른 파일 배포 방법을 보다 자세하게 설명한다.Hereinafter, a file distribution method according to an embodiment of the present invention will be described in more detail with reference to FIG. 7.

먼저, 상기 제1 클라이언트(110a)는 상기 서버(120)로 새로운 배포 정책이 있는지 요청하게 된다(도 7의 ⓐ).First, the first client 110a requests whether there is a new distribution policy to the server 120 (ⓐ in FIG. 7 ).

이때, 새롭게 배포할 파일이 없는 경우, 상기 서버(120)는 상기 제1 클라이언트(110a)로 새롭게 배포할 파일 및 그에 따른 새로운 배포 정책이 없음을 회신하게 된다.In this case, when there is no file to be newly distributed, the server 120 returns a file to be newly distributed to the first client 110a and that there is no new distribution policy accordingly.

이에 대하여, 상기 제1 클라이언트(110a)는 미리 정해진 주기에 따른 폴링(polling)을 통해 새로운 배포 정책의 유무를 주기적으로 확인하게 된다(도 7의 ⓑ).In contrast, the first client 110a periodically checks the presence or absence of a new distribution policy through polling according to a predetermined period (b in FIG. 7 ).

이와 유사하게, 상기 제1 클라이언트(110a)와 동일한 제1 그룹에 속하는 제2 클라이언트(110b)와 제3 클라이언트(110c)도 주기적인 폴링(polling)을 통해 상기 서버(120)로 새로운 배포 정책의 유무를 주기적으로 확인한다.Similarly, the second client 110b and the third client 110c belonging to the same first group as the first client 110a also transmit a new distribution policy to the server 120 through periodic polling. Check the presence or absence periodically.

이어서, 상기 서버(120)에 새롭게 배포할 제1 파일(210)이 준비된 경우, 상기 제1 클라이언트(110a)의 배포 정책 요청에 대하여(도 7의 ①), 상기 서버(120)는 새로운 배포 정책 데이터를 상기 제1 클라이언트(110a)로 전송하게 된다(도 7의 ⓒ).Subsequently, when the first file 210 to be newly distributed to the server 120 is prepared, in response to the request for the distribution policy of the first client 110a (1 in Fig. 7), the server 120 is assigned a new distribution policy. Data is transmitted to the first client 110a (ⓒ of FIG. 7).

이때, 상기 배포 정책 데이터에는 상기 제1 그룹(150a)에 속하는 복수의 클라이언트(110)의 IP 주소 등 식별 정보, 상기 배포하고자 하는 제1 파일(210)에 대한 정보(예를 들어, 상기 제1 파일(210)의 파일 사이즈와 오류 검증 정보(CRC) 등), 상기 제1 파일(210)에서 분할된 복수의 블록(220)에 대한 정보(예를 들어, 상기 복수의 블록(220)의 블록 사이즈와 오류 검증 정보(CRC) 등)이 포함될 수 있다.In this case, the distribution policy data includes identification information such as IP addresses of the plurality of clients 110 belonging to the first group 150a, and information on the first file 210 to be distributed (for example, the first File size and error verification information (CRC) of the file 210, and information on the plurality of blocks 220 divided in the first file 210 (e.g., blocks of the plurality of blocks 220) Size and error verification information (CRC), etc.) may be included.

이에 따라, 상기 제1 클라이언트(110a)는 상기 배포 정책 데이터에 따라 상기 서버(120)로부터 상기 제1 블록(220a)을 전송 받게 된다(도 7의 ⓓ).Accordingly, the first client 110a receives the transmission of the first block 220a from the server 120 according to the distribution policy data (ⓓ in FIG. 7 ).

또한, 상기 제1 클라이언트(110a)는, 상기 서버(120)에 새로운 배포 정책 데이터가 있음을 확인하면, 동일한 제1 그룹(150a)에 속하는 다른 클라이언트(110)와의 그룹 정보(도 7의 세그먼트 정보) 교환을 통해 다른 클라이언트(110)에게 상기 새로운 배포 정책 데이터가 있음을 알리게 된다(도 7의 ②).In addition, when the first client 110a confirms that the server 120 has new distribution policy data, group information with other clients 110 belonging to the same first group 150a (segment information in FIG. 7) ) It is notified that there is the new distribution policy data to the other client 110 through the exchange (2 in FIG. 7).

이에 따라, 상기 제2 클라이언트(110b)와 상기 제3 클라이언트(110c)에서도 상기 서버(120)로 배포 정책 데이터를 요청하여 수신하고(도 7의 ⓔ 및 ⓕ). 상기 배포 정책 데이터에 따라 상기 서버(120)로부터 상기 제2 블록(220b) 및 제3 블록(220c)을 전송 받게 된다(도 7의 ⓖ).Accordingly, the second client 110b and the third client 110c also request and receive distribution policy data from the server 120 (ⓔ and ⓕ in FIG. 7 ). The second block 220b and the third block 220c are transmitted from the server 120 according to the distribution policy data (ⓖ in FIG. 7 ).

나아가, 상기 동일한 제1 그룹(150a)에 속하는 복수의 클라이언트(110)들은 상기 그룹 정보 교환을 통해, 상기 제1 그룹(150a)에 속하는 복수의 클라이언트(110) 중에서 동작 오류 등의 원인으로 상기 서버(120)로부터 블록(220)을 수신하지 못하는 클라이언트(110)가 존재하는지 확인하고, 이러한 경우 상기 복수의 클라이언트(110) 중 다른 클라이언트(110)가 상기 블록(220)을 수신하여 상기 제1 그룹(150a)에 속하는 클라이언트(110)로 제공할 수 있다.Further, a plurality of clients 110 belonging to the same first group 150a, among the plurality of clients 110 belonging to the first group 150a, through the group information exchange, It is checked whether a client 110 that cannot receive the block 220 from 120 exists, and in this case, another client 110 among the plurality of clients 110 receives the block 220 and the first group It can be provided to the client 110 belonging to (150a).

이에 따라, 상기 제1 그룹(150a)에 속하는 복수의 클라이언트(110)는 상기 서버(120)로부터 수신한 각 블록(220)에 대한 정보를 공유하고, 각 클라이언트(110)가 필요한 나머지 블록(220)을 다른 클라이언트(110)로부터 수신할 수 있게 된다.Accordingly, the plurality of clients 110 belonging to the first group 150a share information on each block 220 received from the server 120, and the remaining blocks 220 required for each client 110 ) Can be received from another client (110).

나아가, 상기 제1 클라이언트(110a)가 상기 서버(120)로부터 상기 제1 블록(220a)을 다운로드한 후, 오류 등으로 인하여 상기 제2 클라이언트(110b) 및 제3 클라이언트(110c)로부터 상기 제2 블록(220b) 및 제3 블록(220c)를 제공받을 수 없는 경우, 상기 제1 클라이언트(110a)는 상기 서버(120)로부터 상기 제2 블록(220b) 및 제3 블록(220c)를 다운로드 받을 수도 있다.Further, after the first client (110a) downloads the first block (220a) from the server (120), the second client (110b) and the third client (110c) due to an error, etc. If the block 220b and the third block 220c cannot be provided, the first client 110a may download the second block 220b and the third block 220c from the server 120. have.

또한, 도 8에서는 본 발명의 일 실시예에 따른 파일 배포 시스템에서 클라이언트(110) 간의 데이터 공유를 설명하고 있다.In addition, FIG. 8 illustrates data sharing between clients 110 in a file distribution system according to an embodiment of the present invention.

도 8에서 볼 수 있는 바와 같이, 본 발명에서 동일한 제1 그룹(150a)에 속하는 복수의 클라이언트(110)는, 상기 복수의 클라이언트(110) 간에 복수의 블록(220)을 교환하거나 신규 배포 정책 데이터의 유무 등의 정보를 공유하기 위한 그룹 정보 데이터 등을 교환하기 위하여 데이터 공유 알고리즘을 사용할 수 있다.As can be seen in FIG. 8, in the present invention, a plurality of clients 110 belonging to the same first group 150a exchanges a plurality of blocks 220 between the plurality of clients 110 or provides new distribution policy data. A data sharing algorithm can be used to exchange group information data to share information such as the presence or absence of a person.

이때, 상기 제1 그룹(150a)에 속하는 제2 클라이언트(110b)는, 상기 제1 클라이언트(110a)로부터 전송된 상기 나머지 블록(220)에 대한 요청을 자신과 연결된 제3 클라이언트(110c)로 전송하여 상기 제1 그룹(150a)에 속하는 복수의 클라이언트(110) 전체로 전달시키게 된다.At this time, the second client 110b belonging to the first group 150a transmits the request for the remaining block 220 transmitted from the first client 110a to the third client 110c connected to it. As a result, it is transmitted to all of the plurality of clients 110 belonging to the first group 150a.

보다 구체적으로, 도 8에서 볼 수 있는 바와 같이, 상기 제1 그룹에 속하는 제1 클라이언트(110a)가 자신이 수신한 제1 블록(220a) 이외의 제2 블록(220b)를 제공 받기 위하여 자신과 연결된 제2 클라이언트(110b)로 상기 제2 블록(220b)을 요청하는 메시지를 전송하면(도 8의 ⓐ), 상기 제2 클라이언트(110b)는 자신이 상기 제2 블록(220b)을 보유하고 있는지 확인하고, 상기 메시지를 자신과 연결된 제3 클라이언트(110c)와 제4 클라이언트(111d)로 전송하게 된다(도 8의 ⓑ 및 ⓒ).More specifically, as can be seen in FIG. 8, in order to receive a second block 220b other than the first block 220a received by the first client 110a belonging to the first group, When a message requesting the second block 220b is transmitted to the connected second client 110b (ⓐ in FIG. 8), the second client 110b checks whether it has the second block 220b. After checking, the message is transmitted to the third client 110c and the fourth client 111d connected to itself (b and ⓒ of FIG. 8).

이어서, 상기 제3 클라이언트(110c)가 상기 제2 블록(220b)을 보유하고 있는 경우, 상기 제3 클라이언트(110c)는 상기 제2 클라이언트(110b)로 상기 제2 블록(220b)을 보유하고 있다는 메시지를 회신하고 되고(도 8의 ⓓ), 상기 제2 클라이언트(110b)는 상기 제1 클라이언트(110a)로 상기 메시지를 전달하게 된다(도 8의 ⓔ).Subsequently, when the third client 110c holds the second block 220b, the third client 110c indicates that the second client 110b holds the second block 220b. The message is returned (ⓓ in FIG. 8 ), and the second client 110b transmits the message to the first client 110a (ⓔ in FIG. 8 ).

본 발명의 일 실시예에 따른 파일 배포 시스템, 방법 및 컴퓨터 프로그램에서는 이러한 방식으로 동일한 그룹에 속하는 복수의 클라이언트(110) 간에 복수의 블록(220)을 교환하거나 신규 배포 정책 데이터의 유무 등의 정보를 공유하기 위한 그룹 정보 데이터 등을 교환할 수 있게 된다.In the file distribution system, method, and computer program according to an embodiment of the present invention, information such as the presence or absence of new distribution policy data is exchanged between a plurality of clients 110 belonging to the same group in this manner. Group information data for sharing can be exchanged.

또한, 본 발명의 또 다른 측면에 따른 컴퓨터 프로그램은 앞서 살핀 파일 배포 방법의 각 단계를 컴퓨터에서 실행시키기 위하여 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램인 것을 특징으로 한다. 상기 컴퓨터 프로그램은 컴파일러에 의해 만들어지는 기계어 코드를 포함하는 컴퓨터 프로그램뿐만 아니라, 인터프리터 등을 사용해서 컴퓨터에서 실행될 수 있는 고급 언어 코드를 포함하는 컴퓨터 프로그램일 수도 있다. 이때, 상기 컴퓨터로서는 퍼스널 컴퓨터(PC)나 노트북 컴퓨터 등에 한정되지 아니하며, 서버, 스마트폰, 태블릿 PC, PDA, 휴대전화 등 중앙처리장치(CPU)를 구비하여 컴퓨터 프로그램을 실행할 수 있는 일체의 정보처리 장치를 포함한다. 또한, 상기 상기 컴퓨터로 판독 가능한 매체는 전자적 기록 매체(예를 들면, 롬, 플래시 메모리, 등), 마그네틱 저장매체(예를 들면, 플로피 디스크, 하드디스크 등) 및 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같이 컴퓨터로 판독이 가능한 일체의 저장매체를 포함한다.In addition, the computer program according to another aspect of the present invention is characterized in that it is a computer program stored in a computer-readable medium in order to execute each step of the salpin file distribution method on a computer. The computer program may be a computer program including a machine language code generated by a compiler, as well as a computer program including a high-level language code that can be executed on a computer using an interpreter or the like. In this case, the computer is not limited to a personal computer (PC) or a notebook computer, and is equipped with a central processing unit (CPU) such as a server, a smart phone, a tablet PC, a PDA, and a mobile phone to execute a computer program. Including the device. In addition, the computer-readable medium includes an electronic recording medium (e.g., ROM, flash memory, etc.), a magnetic storage medium (e.g., a floppy disk, a hard disk, etc.), and an optical reading medium (e.g., Includes all storage media that can be read by a computer, such as CD-ROM, DVD, etc.

이에 따라, 본 발명의 일 실시예에 따른 파일 배포 시스템, 방법 및 컴퓨터 프로그램에서는, 서버가 전송하고자 하는 파일을 복수의 블록으로 분할하여 복수의 클라이언트로 나누어 전송하고, 상기 복수의 클라이언트에서 상기 복수의 블록을 서로 공유함으로써, 대용량의 파일을 고속으로 배포할 수 있으며, 나아가 서버에서 복수의 클라이언트로 배포하는 데이터 트래픽을 줄여 대용량의 파일을 보다 효율적으로 전송할 수 있게 된다.Accordingly, in the file distribution system, method, and computer program according to an embodiment of the present invention, a file to be transmitted by a server is divided into a plurality of blocks and transmitted by dividing it into a plurality of clients, and the plurality of clients By sharing blocks with each other, a large file can be distributed at high speed, and further, data traffic distributed from a server to a plurality of clients can be reduced, so that a large file can be transmitted more efficiently.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명에 기재된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의해서 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains will be able to make various modifications and variations without departing from the essential characteristics of the present invention. Therefore, the embodiments described in the present invention are not intended to limit the technical idea of the present invention, but to explain it, and are not limited to these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

100 : 파일 배포 시스템
110 : 클라이언트
111 : 어플리케이션
112 : 파일 수신 클라이언트
113 : 파일 공유 서버
110a : 제1 클라이언트
110b : 제2 클라이언트
110c : 제3 클라이언트
110d : 제4 클라이언트
110e : 제5 클라이언트
110f : 제6 클라이언트
150a : 제1 그룹
150b : 제2 그룹
120 : 서버
121 : 웹서버
122 : 파일 전송 서버
123 : 데이터베이스
130 : 네트워크
210 : 제1 파일
220 : 블록
220a : 제1 블록
220b : 제2 블록
220c : 제3 블록
230 : 제2 파일
100: file distribution system
110: client
111: application
112: file receiving client
113: file sharing server
110a: first client
110b: second client
110c: 3rd client
110d: fourth client
110e: fifth client
110f: 6th client
150a: first group
150b: second group
120: server
121: web server
122: File Transfer Server
123: database
130: network
210: first file
220: block
220a: first block
220b: second block
220c: 3rd block
230: second file

Claims (12)

서버에서 제1 그룹에 속하는 복수의 클라이언트로 제1 파일을 배포하는 파일 배포 시스템에 있어서,
서버; 및
제1 클라이언트를 포함하는 복수의 클라이언트;를 포함하여 구성되며,
상기 서버는,
상기 제1 파일을 복수의 블록으로 분할하고,
상기 제1 그룹에 속하는 복수의 클라이언트에 대한 식별 정보, 상기 제1 파일에 대한 정보, 상기 복수의 블록에 대한 정보를 포함하는 배포 정책 데이터를 상기 제1 그룹에 속하는 복수의 클라이언트로 제공한 후,
상기 복수의 블록을 상기 제1 그룹에 속하는 복수의 클라이언트로 나누어 전송하며,
상기 복수의 클라이언트 중 상기 제1 클라이언트는,
상기 복수의 블록 중 일부 블록을 수신하고,
상기 배포 정책 데이터를 이용하여 상기 제1 그룹에 속하는 하나 이상의 다른 클라이언트와의 상기 복수의 블록의 교환을 통해 상기 복수의 블록 중 나머지 블록을 수신한 후,
상기 복수의 블록으로부터 상기 제1 파일을 복원하여,
상기 제1 그룹에 속하는 복수의 클라이언트 전체로 상기 제1 파일을 배포하는 것을 특징으로 하는 파일 배포 시스템.
A file distribution system for distributing a first file from a server to a plurality of clients belonging to a first group,
server; And
It is configured to include; a plurality of clients including the first client,
The server,
Dividing the first file into a plurality of blocks,
After providing distribution policy data including identification information on a plurality of clients belonging to the first group, information on the first file, and information on the plurality of blocks to a plurality of clients belonging to the first group,
The plurality of blocks are divided into a plurality of clients belonging to the first group and transmitted,
The first client among the plurality of clients,
Receive some blocks of the plurality of blocks,
After receiving the remaining blocks among the plurality of blocks through exchange of the plurality of blocks with one or more other clients belonging to the first group using the distribution policy data,
By restoring the first file from the plurality of blocks,
And distributing the first file to all of a plurality of clients belonging to the first group.
제1항에 있어서,
상기 제1 클라이언트는,
자신이 수신한 상기 일부 블록을 상기 다른 클라이언트에게 제공하고,
상기 다른 클라이언트로부터 상기 나머지 블록을 제공받는 것을 특징으로 하는 파일 배포 시스템.
The method of claim 1,
The first client,
Provides the some block received by itself to the other client,
File distribution system, characterized in that receiving the remaining blocks from the other client.
삭제delete 제1항에 있어서,
상기 제1 클라이언트는,
상기 서버에 새로운 배포 정책 데이터가 있음을 확인하면,
상기 다른 클라이언트에게 상기 새로운 배포 정책 데이터가 있음을 알리는 것을 특징으로 하는 파일 배포 시스템.
The method of claim 1,
The first client,
When it is confirmed that there is new distribution policy data in the server,
File distribution system, characterized in that notifying the presence of the new distribution policy data to the other client.
제1항에 있어서,
상기 제1 클라이언트는,
미리 정해진 주기마다 상기 서버로 배포 정책 데이터를 요청하는 것을 특징으로 하는 파일 배포 시스템.
The method of claim 1,
The first client,
A file distribution system, comprising requesting distribution policy data to the server every predetermined period.
제1항에 있어서,
상기 서버는,
상기 제1 파일을 상기 복수의 클라이언트의 숫자에 따라 상기 복수의 블록으로 분할하여 상기 각 복수의 클라이언트로 전송하는 것을 특징으로 하는 파일 배포 시스템.
The method of claim 1,
The server,
And transmitting the first file to each of the plurality of clients by dividing the first file into the plurality of blocks according to the number of the plurality of clients.
제1항에 있어서,
상기 서버는,
상기 제1 그룹에 더하여,
제2 파일을 복수의 블록으로 분할하여 제2 그룹에 속하는 복수의 클라이언트로 나누어 배포하는 것을 특징으로 하는 파일 배포 시스템.
The method of claim 1,
The server,
In addition to the first group,
A file distribution system, characterized in that the second file is divided into a plurality of blocks and distributed to a plurality of clients belonging to the second group.
제1항에 있어서,
상기 제1 그룹에 속하는 복수의 클라이언트 중 일부 클라이언트가 서버로부터 블록을 수신하지 못하는 경우에는,
상기 복수의 클라이언트 중 다른 클라이언트가 상기 블록을 수신하여 상기 제1 그룹에 속하는 클라이언트로 제공하는 것을 특징으로 하는 파일 배포 시스템.
The method of claim 1,
If some of the plurality of clients belonging to the first group cannot receive the block from the server,
A file distribution system, characterized in that another client among the plurality of clients receives the block and provides the block to a client belonging to the first group.
제1항에 있어서,
상기 제1 그룹에 속하는 제2 클라이언트는,
상기 제1 클라이언트로부터 전송된 상기 나머지 블록에 대한 요청을 자신과 연결된 제3 클라이언트로 전송하여 상기 제1 그룹에 속하는 복수의 클라이언트 전체로 전달시키는 것을 특징으로 하는 파일 배포 시스템.
The method of claim 1,
A second client belonging to the first group,
And transmitting the request for the remaining block transmitted from the first client to a third client connected to the first client, and transmitting the request to all of the plurality of clients belonging to the first group.
서버가 제1 그룹에 속하는 복수의 클라이언트로 제1 파일을 배포하는 방법에 있어서,
서버가 전송하고자 하는 제1 파일을 복수의 블록으로 분할하는 파일 분할 단계; 및
상기 서버가 상기 제1 그룹에 속하는 복수의 클라이언트에 대한 식별 정보, 상기 제1 파일에 대한 정보, 상기 복수의 블록에 대한 정보를 포함하는 배포 정책 데이터를 상기 제1 그룹에 속하는 복수의 클라이언트로 제공한 후, 상기 복수의 블록을 상기 제1 그룹에 속하는 복수의 클라이언트로 나누어 전송하는 블록 전송 단계;를 포함하며,
상기 복수의 클라이언트 중 제1 클라이언트는,
상기 복수의 블록 중 일부 블록을 수신하고,
상기 배포 정책 데이터를 이용하여 상기 제1 그룹에 속하는 하나 이상의 다른 클라이언트와의 상기 복수의 블록의 교환을 통해 상기 복수의 블록 중 나머지 블록을 수신한 후,
상기 복수의 블록으로부터 상기 제1 파일을 복원하여,
상기 제1 그룹에 속하는 복수의 클라이언트 전체로 상기 제1 파일을 배포하는 것을 특징으로 하는 파일 배포 방법.
In a method for a server to distribute a first file to a plurality of clients belonging to a first group,
A file dividing step of dividing the first file to be transmitted by the server into a plurality of blocks; And
The server provides distribution policy data including identification information on a plurality of clients belonging to the first group, information on the first file, and information on the plurality of blocks to a plurality of clients belonging to the first group After that, a block transmission step of dividing and transmitting the plurality of blocks to a plurality of clients belonging to the first group; and
A first client among the plurality of clients,
Receive some blocks of the plurality of blocks,
After receiving the remaining blocks among the plurality of blocks through exchange of the plurality of blocks with one or more other clients belonging to the first group using the distribution policy data,
By restoring the first file from the plurality of blocks,
And distributing the first file to all of a plurality of clients belonging to the first group.
제1 그룹에 속하는 복수의 클라이언트가 서버로부터 제1 파일을 배포 받는 방법에 있어서,
상기 복수의 클라이언트 중 제1 클라이언트가, 상기 서버로부터 상기 제1 그룹에 속하는 복수의 클라이언트에 대한 식별 정보, 상기 제1 파일에 대한 정보, 상기 복수의 블록에 대한 정보를 포함하는 배포 정책 데이터를 상기 제1 그룹에 속하는 복수의 클라이언트로 제공받은 후, 상기 제1 파일에서 분할된 복수의 블록 중 일부 블록을 수신하는 제1 블록 수신 단계;
상기 제1 클라이언트가 상기 배포 정책 데이터를 이용하여 상기 제1 그룹에 속하는 하나 이상의 다른 클라이언트와의 상기 복수의 블록의 교환을 통해 상기 복수의 블록 중 나머지 블록을 수신하는 제2 블록 수신 단계; 및
상기 제1 클라이언트가 상기 복수의 블록으로부터 상기 제1 파일을 복원하여, 상기 제1 그룹에 속하는 복수의 클라이언트 전체로 상기 제1 파일이 배포되어 복원되는 파일 복원 단계;
를 포함하는 것을 특징으로 하는 파일 배포 방법.
In the method for receiving distribution of a first file from a server by a plurality of clients belonging to a first group,
The first client among the plurality of clients transmits distribution policy data including identification information on a plurality of clients belonging to the first group, information on the first file, and information on the plurality of blocks from the server. A first block receiving step of receiving some blocks from among a plurality of blocks divided from the first file after being provided to a plurality of clients belonging to a first group;
A second block receiving step of receiving, by the first client, the remaining blocks of the plurality of blocks through exchange of the plurality of blocks with one or more other clients belonging to the first group using the distribution policy data; And
A file restoration step of restoring the first file from the plurality of blocks by the first client, and distributing and restoring the first file to all of the plurality of clients belonging to the first group;
File distribution method comprising a.
컴퓨터에서 제10항 내지 제11항 중 어느 한 항에 기재된 파일 배포 방법의 각 단계를 실행시키기 위한 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램 .A computer program stored in a computer-readable medium for executing each step of the file distribution method according to any one of claims 10 to 11 on a computer.
KR1020190135265A 2019-10-29 2019-10-29 System, method and computer program for distributing large file KR102221638B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190135265A KR102221638B1 (en) 2019-10-29 2019-10-29 System, method and computer program for distributing large file
PCT/KR2020/014968 WO2021086087A1 (en) 2019-10-29 2020-10-29 Large file distribution system, method and computer program, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190135265A KR102221638B1 (en) 2019-10-29 2019-10-29 System, method and computer program for distributing large file

Publications (1)

Publication Number Publication Date
KR102221638B1 true KR102221638B1 (en) 2021-03-04

Family

ID=75174822

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190135265A KR102221638B1 (en) 2019-10-29 2019-10-29 System, method and computer program for distributing large file

Country Status (2)

Country Link
KR (1) KR102221638B1 (en)
WO (1) WO2021086087A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213508A (en) * 2003-01-08 2004-07-29 Hitachi Software Eng Co Ltd File download method and system using peer to peer technique
JP2009031894A (en) * 2007-07-25 2009-02-12 Himacs Ltd Content distribution system, content distribution program for management server, and content distribution program for client
KR20090036955A (en) * 2007-10-10 2009-04-15 주식회사 버츄얼스톰 Method for file transmission
KR20120038346A (en) * 2010-10-13 2012-04-23 한국전자통신연구원 System and method for transmitting high server data using hybrid peer to peer protocol
KR20140141925A (en) 2013-06-03 2014-12-11 양진호 Apparatus and method for downloading massive file
JP2016006671A (en) * 2011-11-10 2016-01-14 株式会社スクウェア・エニックス Data transmission/reception system and data transmission/reception method
KR20160150231A (en) * 2015-06-19 2016-12-29 중앙대학교 산학협력단 User device and server for distributing contents

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213508A (en) * 2003-01-08 2004-07-29 Hitachi Software Eng Co Ltd File download method and system using peer to peer technique
JP2009031894A (en) * 2007-07-25 2009-02-12 Himacs Ltd Content distribution system, content distribution program for management server, and content distribution program for client
KR20090036955A (en) * 2007-10-10 2009-04-15 주식회사 버츄얼스톰 Method for file transmission
KR20120038346A (en) * 2010-10-13 2012-04-23 한국전자통신연구원 System and method for transmitting high server data using hybrid peer to peer protocol
JP2016006671A (en) * 2011-11-10 2016-01-14 株式会社スクウェア・エニックス Data transmission/reception system and data transmission/reception method
KR20140141925A (en) 2013-06-03 2014-12-11 양진호 Apparatus and method for downloading massive file
KR20160150231A (en) * 2015-06-19 2016-12-29 중앙대학교 산학협력단 User device and server for distributing contents

Also Published As

Publication number Publication date
WO2021086087A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
CN102693297B (en) Data processing method, node and ETL (extract transform and load) system
CN108494788B (en) Data transmission method, data transmission device and computer readable storage medium
CN105868231A (en) Cache data updating method and device
US8903972B2 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
US20120297031A1 (en) Anonymous Signalling
US20220179831A1 (en) Management of content
CN103455439A (en) Local caching device, system and method for providing content caching service
US20120014321A1 (en) Messaging activity feed
CN101018227A (en) Data management device, storage medium having data management program, protocol switching device and method
CN104754009A (en) Service acquisition and invocation method, device, client-side and server
CN103095824A (en) File uploading control method and system
CN105379224A (en) Managing data communications based on phone calls between mobile computing devices
CN103716230A (en) Message sending method, device and server
CN103259818A (en) Distributed data access system and distributed data access method
CN112073366B (en) Data processing method for railway financial system and data center
KR102221638B1 (en) System, method and computer program for distributing large file
CN104092826A (en) Method and device for sharing personal information on terminal
CN116684468A (en) Data processing method, device, equipment and storage medium
CN111400630A (en) Resource preloading method and related equipment
CN113704206B (en) Metadata processing method and device, electronic equipment and storage medium
CN108848156B (en) Access gateway processing method, device and storage medium
CN115189956A (en) File security sharing method
CN111586174B (en) Network service system
CN104753774A (en) Distributed enterprise integrated access gateway
CN104427003B (en) Transmission device, transfer approach and relay system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant