KR102221638B1 - 대용량 파일 배포 시스템, 방법 및 컴퓨터 프로그램 및 시스템 - Google Patents

대용량 파일 배포 시스템, 방법 및 컴퓨터 프로그램 및 시스템 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
English (en)
Inventor
박성원
성윤한
Original Assignee
데이터비즈 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 데이터비즈 주식회사 filed Critical 데이터비즈 주식회사
Priority to KR1020190135265A priority Critical patent/KR102221638B1/ko
Priority to PCT/KR2020/014968 priority patent/WO2021086087A1/ko
Application granted granted Critical
Publication of KR102221638B1 publication Critical patent/KR102221638B1/ko

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

본 발명은 파일을 배포하는 시스템, 방법 및 컴퓨터 프로그램에 관한 것으로서, 보다 구체적으로는 서버가 대용량의 파일을 복수의 클라이언트로 고속 배포할 수 있는 파일 배포 시스템, 방법 및 컴퓨터 프로그램에 관한 것이다.
본 발명에서는, 서버에서 제1 그룹에 속하는 복수의 클라이언트로 제1 파일을 배포하는 파일 배포 시스템에 있어서, 서버; 및 제1 클라이언트를 포함하는 복수의 클라이언트;를 포함하여 구성되며, 상기 서버는, 상기 제1 파일을 복수의 블록으로 분할하고, 상기 복수의 블록을 상기 복수의 클라이언트로 나누어 전송하며, 상기 복수의 클라이언트 중 상기 제1 클라이언트는, 상기 복수의 블록 중 일부 블록을 수신하고, 상기 제1 그룹에 속하는 하나 이상의 다른 클라이언트로부터 상기 복수의 블록 중 나머지 블록을 수신한 후, 상기 복수의 블록으로부터 상기 제1 파일을 복원하는 것을 특징으로 하는 파일 배포 시스템을 개시한다.

Description

대용량 파일 배포 시스템, 방법 및 컴퓨터 프로그램 및 시스템{System, method and computer program for distributing large file}
본 발명은 파일을 배포하는 시스템, 방법 및 컴퓨터 프로그램에 관한 것으로서, 보다 구체적으로는 서버가 대용량의 파일을 복수의 클라이언트로 고속 배포할 수 있는 파일 배포 시스템, 방법 및 컴퓨터 프로그램에 관한 것이다.
정보통신 기술의 발달과 함께 스마트폰이나 개인용 컴퓨터(PC) 등 다양한 단말을 이용한 멀티미디어 정보 등의 활용이 빠르게 증가하고 있다.
특히, 종래에는 정보의 유통을 위하여 주로 텍스트를 포함하는 문서 등이 주로 사용되었으나, 근래 들어서는 사용자가 동영상 등을 활용하는 경우가 빠르게 늘어나고 있으며, 이는 백문불여일견(百聞不如一見)이라는 말처럼 텍스트 만으로 정보를 습득하는 것보다는 동영상이나 이미지 등을 보는 것이 효율적인 경우가 많기 때문이다.
이에 따라, 유무선 통신 네트워크를 통해 전송되는 파일의 용량 및 데이터 트래픽이 빠르게 증대되고 있는바, 종래의 기술 만으로는 파일 전송에 의해 과부하가 유발되면서 시스템 성능이 저하되거나 나아가 시스템이 정지되는 문제까지 발생할 수 있었다.
나아가, 대용량의 파일을 전송하기 위해서는 보다 많은 전송 시간이 소요될 수 있으며, 이에 따라 사용자가 제공받는 서비스의 품질이 저하되는 문제도 따를 수 있었다.
이에 따라, 제한된 통신 네트워크 환경에서 대용량의 파일을 보다 효율적으로 고속 배포할 수 있는 방안이 지속적으로 요구되고 있는 실정이다.
대한민국 공개특허 제 10-2014-0141925호(2014년 12월 11일 공개)
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위해 창안된 것으로, 제한된 통신 네트워크 환경에서 대용량의 파일을 고속으로 배포할 수 있는 파일 배포 시스템, 방법 및 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.
나아가, 본 발명은 서버에서 복수의 클라이언트로 배포하는 데이터 트래픽을 줄여 대용량의 파일을 보다 효율적으로 전송할 수 있는 파일 배포 시스템, 방법 및 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.
상기 과제를 해결하기 위한 본 발명의 한 측면에 따른 파일 배포 시스템은, 서버에서 제1 그룹에 속하는 복수의 클라이언트로 제1 파일을 배포하는 파일 배포 시스템에 있어서, 서버; 및 제1 클라이언트를 포함하는 복수의 클라이언트;를 포함하여 구성되며, 상기 서버는, 상기 제1 파일을 복수의 블록으로 분할하고, 상기 복수의 블록을 상기 복수의 클라이언트로 나누어 전송하며, 상기 복수의 클라이언트 중 상기 제1 클라이언트는, 상기 복수의 블록 중 일부 블록을 수신하고, 상기 제1 그룹에 속하는 하나 이상의 다른 클라이언트로부터 상기 복수의 블록 중 나머지 블록을 수신한 후, 상기 복수의 블록으로부터 상기 제1 파일을 복원하는 것을 특징으로 한다.
이때, 상기 제1 클라이언트는, 자신이 수신한 상기 일부 블록을 상기 다른 클라이언트에게 제공하고, 상기 다른 클라이언트로부터 상기 나머지 블록을 제공받을 수 있다.
또한, 상기 서버는, 전체 클라이언트 중 일부의 클라이언트를 상기 제1 그룹으로 지정하고, 상기 제1 그룹에 속하는 클라이언트에 대한 정보, 상기 제1 파일에 대한 정보, 상기 복수의 블록에 대한 정보 중 하나 이상을 포함하는 배포 정책 데이터를 제공할 수 있다.
이때, 상기 제1 클라이언트는, 상기 서버에 새로운 배포 정책 데이터가 있음을 확인하면, 상기 다른 클라이언트에게 상기 새로운 배포 정책 데이터가 있음을 알릴 수 있다.
나아가, 상기 제1 클라이언트는, 미리 정해진 주기마다 상기 서버로 배포 정책 데이터를 요청할 수 있다.
또한, 상기 서버는, 상기 제1 파일을 상기 복수의 클라이언트의 숫자에 따라 상기 복수의 블록으로 분할하여 상기 각 복수의 클라이언트로 전송할 수 있다.
또한, 상기 서버는, 상기 제1 그룹에 더하여, 제2 파일을 복수의 블록으로 분할하여 제2 그룹에 속하는 복수의 클라이언트로 나누어 배포할 수 있다.
또한, 상기 제1 그룹에 속하는 복수의 클라이언트 중 일부 클라이언트가 서버로부터 블록을 수신하지 못하는 경우에는, 상기 복수의 클라이언트 중 다른 클라이언트가 상기 블록을 수신하여 상기 제1 그룹에 속하는 클라이언트로 제공할 수 있다.
또한, 상기 제1 그룹에 속하는 제2 클라이언트는, 상기 제1 클라이언트로부터 전송된 상기 나머지 블록에 대한 요청을 자신과 연결된 제3 클라이언트로 전송하여 상기 제1 그룹에 속하는 복수의 클라이언트 전체로 전달시킬 수 있다.
또한, 본 발명의 다른 측면에 따른 파일 배포 방법은, 서버가 제1 그룹에 속하는 복수의 클라이언트로 제1 파일을 배포하는 방법에 있어서, 서버가 전송하고자 하는 제1 파일을 복수의 블록으로 분할하는 파일 분할 단계; 및 상기 서버가 상기 복수의 블록을 상기 제1 그룹에 속하는 복수의 클라이언트로 나누어 전송하는 블록 전송 단계;를 포함하며, 상기 복수의 클라이언트 중 제1 클라이언트는, 상기 복수의 블록 중 일부 블록을 수신하고, 상기 제1 그룹에 속하는 하나 이상의 다른 클라이언트로부터 상기 복수의 블록 중 나머지 블록을 수신한 후, 상기 복수의 블록으로부터 상기 제1 파일을 복원하는 것을 특징으로 한다.
또한, 본 발명의 또 다른 측면에 따른 파일 배포 방법은, 제1 그룹에 속하는 복수의 클라이언트가 서버로부터 제1 파일을 배포 받는 방법에 있어서, 상기 복수의 클라이언트 중 제1 클라이언트가, 상기 서버로부터 상기 제1 파일에서 분할된 복수의 블록 중 일부 블록을 수신하는 제1 블록 수신 단계; 상기 제1 클라이언트가 상기 제1 그룹에 속하는 하나 이상의 다른 클라이언트로부터 상기 복수의 블록 중 나머지 블록을 수신하는 제2 블록 수신 단계; 및 상기 제1 클라이언트가 상기 복수의 블록으로부터 상기 제1 파일을 복원하는 파일 복원 단계;를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따른 컴퓨터 프로그램은 상기 기재된 파일 배포 방법의 각 단계를 컴퓨터에서 실행시키기 위한 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램인 것을 특징으로 한다.
본 발명의 일 실시예에 따른 파일 배포 시스템, 방법 및 컴퓨터 프로그램에서는, 서버가 전송하고자 하는 파일을 복수의 블록으로 분할하여 복수의 클라이언트로 나누어 전송하고, 상기 복수의 클라이언트에서 상기 복수의 블록을 서로 공유함으로써, 대용량의 파일을 고속으로 배포할 수 있으며, 나아가 서버에서 복수의 클라이언트로 배포하는 데이터 트래픽을 줄여 대용량의 파일을 보다 효율적으로 전송할 수 있게 된다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 본 발명의 일 실시예에 따른 파일 배포 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 파일 배포 시스템의 동작을 설명하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 파일 배포 시스템의 구체적인 동작을 설명하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 파일 배포 시스템의 구체적인 구성을 도시하는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 서버 관점의 파일 배포 방법의 순서도이다.
도 6은 본 발명의 일 실시예에 따른 클라이언트 관점의 파일 배포 방법의 순서도이다.
도 7은 본 발명의 일 실시예에 따른 파일 배포 방법의 구체적인 동작을 예시하는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 파일 배포 시스템에서 클라이언트 간의 데이터 공유를 설명하는 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 이하에서는 특정 실시예들을 첨부된 도면을 기초로 상세히 설명하고자 한다.
이하의 실시예는 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시 예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되는 것은 아니며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하, 본 발명에 따른 파일 배포 시스템, 방법 및 컴퓨터 프로그램의 예시적인 실시형태들을 첨부된 도면을 참조하여 상세히 설명한다.
먼저, 도 1에서는 본 발명의 일 실시예에 따른 파일 배포 시스템(100)의 구성도를 보여주고 있다. 도 1에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 파일 배포 시스템 (100)은, 서버(120)에서 제1 그룹(150a)에 속하는 복수의 클라이언트(110)로 제1 파일(210)을 배포하는 파일 배포 시스템(100)으로서, 서버(120), 제1 클라이언트(110a)를 포함하는 복수의 클라이언트(110) 및 상기 서버(120)와 클라이언트(110)를 연결하는 네트워크(130)를 포함하여 구성될 수 있다.
이때, 상기 서버(120)는, 상기 제1 파일(210)을 복수의 블록(220)으로 분할하고, 상기 복수의 블록(220)을 상기 복수의 클라이언트(110)로 나누어 전송하게 된다. 이에 따라, 상기 복수의 클라이언트(110) 중 상기 제1 클라이언트(110a)는, 상기 복수의 블록(220) 중 일부 블록(220)을 수신하고, 상기 제1 그룹(150a)에 속하는 하나 이상의 다른 클라이언트(110)로부터 상기 복수의 블록(220) 중 나머지 블록(220)을 수신한 후, 상기 복수의 블록(220)으로부터 상기 제1 파일(210)을 복원하게 된다.
여기서, 상기 클라이언트(110)로서 스마트폰, 태블릿 PC, PDA, 휴대전화 등 휴대 단말기가 사용될 수 있고, 또는 퍼스널 컴퓨터(PC), 노트북 PC 등 개인용 정보 처리 장치가 사용될 수도 있으며, 나아가 게이트웨이, 라우터 등의 통신용 장비 등 데이터 통신에 이용되는 다양한 장치가 사용될 수도 있다.
또한, 상기 단말(110)과 서버(120)를 연결하는 네트워크(130)로서는 유선 네트워크와 무선 네트워크를 포함할 수 있으며, 구체적으로, 근거리 통신망 (LAN: Local Area Network), 도시권 통신망 (MAN: Metropolitan Area Network), 광역 통신망 (WAN: Wide Area Network) 등의 다양한 통신망을 포함할 수 있다. 또한, 상기 네트워크(130)는 공지의 월드 와이드 웹(WWW: World Wide Web)을 포함할 수도 있다. 그러나, 본 발명에 따른 네트워크(130)는 상기 열거된 네트워크에 국한되지 않고, 공지의 무선 데이터 네트워크나 공지의 전화 네트워크 또는 공지의 유무선 텔레비전 네트워크를 적어도 일부로 포함할 수도 있다.
보다 구체적으로, 도 2에서는 본 발명의 일 실시예에 따른 파일 배포 시스템(100)의 동작을 보다 구체적으로 설명하고 있다. 도 2를 참조하여 살펴보면, 본 발명의 일 실시예에 따른 파일 배포 시스템(100)에서, 상기 서버(120)는 제1 그룹(150a)에 속하는 복수의 클라이언트(110)로 배포하고자 하는 제1 파일(210)을 복수의 블록(220)으로 분할하고, 상기 복수의 블록(220)을 상기 복수의 클라이언트(110)로 나누어 전송하게 된다.
보다 구체적인 예를 들어, 상기 서버(120)가 제1 파일(210)을 제1 그룹(150a)에 속하는 제1 클라이언트(110a) 및 제2 클라이언트(110b)로 배포하고자 하는 경우, 상기 서버(120)는 상기 제1 파일(120)을 복수의 블록(예를 들어, 제1 블록(220a) 및 제2 블록(220b))로 분할한 후, 상기 복수의 블록 중 일부인 제1 블록(220a)을 상기 제1 클라이언트(110a)로 전송하고 제2 블록(220b)를 상기 제2 클라이언트(11b)로 전송할 수 있다.
이어서, 상기 복수의 클라이언트(110) 중 제1 클라이언트(110a)는 상기 복수의 블록(220) 중 일부 블록(220)을 수신하고, 상기 제1 그룹(150a)에 속하는 하나 이상의 다른 클라이언트(110)로부터 상기 복수의 블록(220) 중 나머지 블록(220)을 수신한 후, 상기 복수의 블록(220)으로부터 상기 제1 파일(210)을 복원하게 된다.
보다 구체적인 예를 들어, 상기 제1 클라이언트(110a)는 상기 복수의 블록(220) 중 일부인 제1 블록(220a)을 수신하고, 상기 제1 그룹(150a)에 속하는 제2 클라이언트(110b)로부터 상기 복수의 블록(220) 중 나머지 제2 블록(220b)을 수신한 후, 상기 제1 블록(220a) 및 제2 블록(220b)으로부터 상기 제1 파일(210)을 복원할 수 있다.
나아가, 상기 제2 클라이언트(110b)도 상기 복수의 블록(220) 중 일부인 제2 블록(220b)을 수신하고, 상기 제1 그룹(150a)에 속하는 제1 클라이언트(110a)로부터 상기 복수의 블록(220) 중 나머지 제1 블록(220a)을 수신한 후, 상기 제1 블록(220a) 및 제2 블록(220b)으로부터 상기 제1 파일(210)을 복원할 수 있다.
이와 같이, 상기 제1 클라이언트(110a)는, 자신이 수신한 상기 일부 블록(220)을 상기 다른 클라이언트(110)에게 제공하고, 상기 다른 클라이언트(110)로부터 상기 나머지 블록(220)을 제공받는 과정(즉, 블록의 공유)을 통해, 상기 서버(120)로부터 일부 블록(220) 만을 전송 받으면서도 나머지 블록(220)을 다른 클라이언트(110)로부터 공유 받아 상기 제1 파일(210)을 복원할 수 있게 된다.
또한, 도 2에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 파일 배포 시스템, 방법 및 컴퓨터 프로그램에서, 상기 서버(120)는 상기 제1 그룹(150a)에 더하여, 제2 파일(230)을 복수의 블록(220)으로 분할하여 제2 그룹(150b)에 속하는 복수의 클라이언트(110)로 나누어 배포할 수 있다.
이때, 상기 제2 파일(230)은 상기 제1 파일(210)과 상이한 파일일 수 있겠으나, 본 발명이 반드시 이에 한정되는 것은 아니며, 상기 제2 파일(230)이 상기 제1 파일(210)과 동일한 파일일 수도 있다.
보다 구체적으로, 도 3에서는 본 발명의 일 실시예에 따른 파일 배포 시스템(100)의 구체적인 동작을 설명하고 있다. 도 3에서 볼 수 있는 바와 같이, 먼저 서버(120)는 배포하고자 하는 제1 파일(210)을 복수의 블록(220)으로 분할하게 된다(예를 들어, 도 3에 예시된 바와 같이 제1 블록(220a), 제2 블록(220b) 및 제3 블록(220c)으로 분할).
이때, 상기 서버(120)는 미리 정해진 블록 사이즈에 따라 상기 제1 파일(210)을 분할할 수 있으나, 본 발명이 반드시 이에 한정되는 것은 아니며, 상기 서버(120)는 상기 제1 파일(210)을 상기 복수의 클라이언트(110)의 숫자를 고려하여 분할하는 것도 가능하며, 이외에도 적용 환경에 따라 다양한 방법으로 상기 제1 파일(210)을 분할하는 것도 가능하다.
이어서, 상기 서버(120)는 상기 분할된 블록(220)을 압축(compress)하여 네트워크(130)를 통해 전송될 데이터 트래픽을 줄일 수 있다. 이때, 상기 블록(220)을 압축하기 위하여 사용되는 알고리즘은 전송하고자 하는 데이터의 종류에 따라 다양한 압축 알고리즘 중에서 선택될 수 있다.
이어서, 서버(120)는 상기 압축된 복수의 블록(220)을 나누어 각 클라이언트(110)로 고속 전송하게 된다.
이때, 상기 서버(120)는 상기 각 클라이언트(110)와 소켓 통신(socket communication)을 이용하여 상기 압축된 복수의 블록(220)을 전송할 수 있다.
보다 구체적으로, 먼저 상기 서버(120)가 소켓(socket)을 생성하게 되고, 이어서 상기 클라이언트(110)가 연결을 요청(connection request)하면, 상기 서버(120)가 이를 수락하여 소켓 연결이 형성되고, 상기 서버(120)가 상기 압축된 블록(220)을 상기 클라이언트(110)로 전송하게 된다.
이러한 과정을 통해, 상기 서버(120)는 상기 압축된 제1 블록(220a)을 상기 제1 클라이언트(110a)로 전송하고, 상기 압축된 제2 블록(220b)을 상기 제2 클라이언트(110b)로 전송하며, 상기 압축된 제3 블록(220c)을 상기 제3 클라이언트(110c)로 전송하게 된다.
이에 따라, 상기 제1 클라이언트(110a)는 상기 압축된 제1 블록(220a)의 압축을 풀어(decompress) 상기 제1 블록(220a)을 복원한다. 이때, 상기 제1 클라이언트(110a)는 상기 복원된 제1 블록(220a)에 대하여 오류 검증 작업(Cyclical Redundancy Check, CRC)을 수행하여 전송상의 오류를 검증할 수도 있다.
마찬가지로 상기 제2 클라이언트(110b)와 상기 제3 클라이언트(110c)도 상기 제2 블록(220b)와 제3 블록(220c)의 압축을 풀어 상기 제2 블록(220b)와 상기 제3 블록(220c)을 복원한다. 또한, 상기 제2 클라이언트(110b)와 제3 클라이언트(110c)도 상기 복원된 제2 블록(220b) 및 제3 블록(220c)에 대하여 오류 검증 작업(CRC)을 수행할 수 있다.
이어서, 상기 복수의 클라이언트(220)는 각자 보유하고 있는 블록(220)을 교환하게 된다.
보다 구체적으로, 상기 제1 블록(220a)을 보유하고 있는 상기 제1 클라이언트(110a)는 상기 제2 클라이언트(110b)와 상기 제3 클라이언트(110c)로부터 상기 제2 블록(220b)와 제3 블록(220c)를 수신하게 된다.
이에 따라, 상기 제1 클라이언트(110a)는 상기 제1 블록(220a), 제2 블록(220b) 및 제3 블록(220c)을 모두 보유하게 되는 바, 상기 제1 블록(220a), 제2 블록(220b) 및 제3 블록(220c)으로부터 상기 제1 파일(210)을 복원하게 된다. 이때, 상기 제1 클라이언트(110a)는 상기 복원된 제1 파일(210)에 대하여 오류 검증 작업(CRC)을 수행할 수도 있다.
마찬가지로, 상기 제2 클라이언트(110b)와 상기 제3 클라이언트(110c)도 상기 제1 블록(220a), 제2 블록(220b) 및 제3 블록(220c)을 모두 수집하고 이로부터 상기 제1 파일(210)을 복원할 수 있게 된다. 또한, 상기 제2 클라이언트(110b)와 제3 클라이언트(110c)도 상기 복원된 제1 파일(210)에 대하여 오류 검증 작업(CRC)을 수행할 수 있다.
또한, 도 4에서는 본 발명의 일 실시예에 따른 파일 배포 시스템(100)의 구체적인 구성을 도시하는 블록도를 예시하고 있다. 도 4에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 파일 배포 시스템(100)은, 서버(120) 및 복수의 클라이언트(110)를 포함하여 구성될 수 있다.
이때, 상기 서버(120)는 웹서버(121), 파일 전송 서버(122) 및 데이터베이스(123)를 포함할 수 있다.
또한, 상기 클라이언트(110)는 어플리케이션(111), 파일 수신 클라이언트(112) 및 파일 공유 서버(113)를 포함할 수 있다.
이때, 상기 서버(120)는 상기 웹서버(121)의 HTTP 프로토콜 등을 통해 상기 클라이언트(110)의 어플리케이션(111)과 연동되어 제어 기능을 수행할 수 있다.
또한, 상기 서버(120)의 파일 전송 서버(122)는 TCP 프로토콜을 이용하여 상기 제1 파일(210)에서 분할된 복수의 블록(220)을 상기 클라이언트(110)의 파일 수신 클라이언트(112)로 전송할 수 있다.
또한, 상기 서버(120)에는 데이터베이스(123)가 구비되어 상기 복수의 클라이언트(110)에 대한 관리, 파일 배포 등에 필요한 배포 정책 등의 데이터를 저장하고 관리할 수 있다.
또한, 상기 복수의 클라이언트(110)에는 파일 공유 서버(113)가 구비되어 상기 동일한 제1 그룹(150a)에 속하는 복수의 클라이언트(110) 간에 상기 복수의 블록(220)을 교환하거나 신규 배포 정책 데이터의 유무 등의 정보를 공유하기 위한 그룹 정보 데이터 등을 교환하는데 사용될 수 있다.
또한, 도 5에서는 본 발명의 일 실시예에 따른 서버(120) 관점의 파일 배포 방법의 순서도를 도시하고 있다.
도 5에서 볼 수 있는 바와 같이, 본 발명의 일 실시예에 따른 서버(120) 관점의 파일 배포 방법은, 서버가(120) 제1 그룹(150a)에 속하는 복수의 클라이언트(110)로 제1 파일(210)을 배포하는 방법에 있어서, 서버(120)가 전송하고자 하는 제1 파일(210)을 복수의 블록(220_으로 분할하는 파일 분할 단계(S110) 및 상기 서버(120)가 상기 복수의 블록(220)을 상기 제1 그룹(150a)에 속하는 복수의 클라이언트(220)로 나누어 전송하는 블록 전송 단계(S120)를 포함하게 된다.
이때, 상기 복수의 클라이언트(220) 중 제1 클라이언트(220a)는, 상기 복수의 블록(220) 중 일부 블록을 수신하고(예를 들어, 제1 블록(220a)), 상기 제1 그룹(150a)에 속하는 하나 이상의 다른 클라이언트로부터 상기 복수의 블록 중 나머지 블록을 수신한 후(예를 들어, 제2 클라이언트(110b)와 제3 클라이언트(110c)으로부터 제2 블록(220b)과 제3 블록(220c)을 수신), 상기 복수의 블록(220)으로부터 상기 제1 파일(210)을 복원하는 것을 특징으로 한다.
또한, 도 6에서는 본 발명의 일 실시예에 따른 클라이언트(110) 관점의 파일 배포 방법의 순서도를 도시하고 있다.
도 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)를 포함하게 된다.
보다 구체적으로, 도 7에서는 본 발명의 일 실시예에 따른 파일 배포 방법의 구체적인 동작을 예시하는 흐름도를 도시하고 있다.
이하, 도 7을 참조하여 본 발명의 일 실시예에 따른 파일 배포 방법을 보다 자세하게 설명한다.
먼저, 상기 제1 클라이언트(110a)는 상기 서버(120)로 새로운 배포 정책이 있는지 요청하게 된다(도 7의 ⓐ).
이때, 새롭게 배포할 파일이 없는 경우, 상기 서버(120)는 상기 제1 클라이언트(110a)로 새롭게 배포할 파일 및 그에 따른 새로운 배포 정책이 없음을 회신하게 된다.
이에 대하여, 상기 제1 클라이언트(110a)는 미리 정해진 주기에 따른 폴링(polling)을 통해 새로운 배포 정책의 유무를 주기적으로 확인하게 된다(도 7의 ⓑ).
이와 유사하게, 상기 제1 클라이언트(110a)와 동일한 제1 그룹에 속하는 제2 클라이언트(110b)와 제3 클라이언트(110c)도 주기적인 폴링(polling)을 통해 상기 서버(120)로 새로운 배포 정책의 유무를 주기적으로 확인한다.
이어서, 상기 서버(120)에 새롭게 배포할 제1 파일(210)이 준비된 경우, 상기 제1 클라이언트(110a)의 배포 정책 요청에 대하여(도 7의 ①), 상기 서버(120)는 새로운 배포 정책 데이터를 상기 제1 클라이언트(110a)로 전송하게 된다(도 7의 ⓒ).
이때, 상기 배포 정책 데이터에는 상기 제1 그룹(150a)에 속하는 복수의 클라이언트(110)의 IP 주소 등 식별 정보, 상기 배포하고자 하는 제1 파일(210)에 대한 정보(예를 들어, 상기 제1 파일(210)의 파일 사이즈와 오류 검증 정보(CRC) 등), 상기 제1 파일(210)에서 분할된 복수의 블록(220)에 대한 정보(예를 들어, 상기 복수의 블록(220)의 블록 사이즈와 오류 검증 정보(CRC) 등)이 포함될 수 있다.
이에 따라, 상기 제1 클라이언트(110a)는 상기 배포 정책 데이터에 따라 상기 서버(120)로부터 상기 제1 블록(220a)을 전송 받게 된다(도 7의 ⓓ).
또한, 상기 제1 클라이언트(110a)는, 상기 서버(120)에 새로운 배포 정책 데이터가 있음을 확인하면, 동일한 제1 그룹(150a)에 속하는 다른 클라이언트(110)와의 그룹 정보(도 7의 세그먼트 정보) 교환을 통해 다른 클라이언트(110)에게 상기 새로운 배포 정책 데이터가 있음을 알리게 된다(도 7의 ②).
이에 따라, 상기 제2 클라이언트(110b)와 상기 제3 클라이언트(110c)에서도 상기 서버(120)로 배포 정책 데이터를 요청하여 수신하고(도 7의 ⓔ 및 ⓕ). 상기 배포 정책 데이터에 따라 상기 서버(120)로부터 상기 제2 블록(220b) 및 제3 블록(220c)을 전송 받게 된다(도 7의 ⓖ).
나아가, 상기 동일한 제1 그룹(150a)에 속하는 복수의 클라이언트(110)들은 상기 그룹 정보 교환을 통해, 상기 제1 그룹(150a)에 속하는 복수의 클라이언트(110) 중에서 동작 오류 등의 원인으로 상기 서버(120)로부터 블록(220)을 수신하지 못하는 클라이언트(110)가 존재하는지 확인하고, 이러한 경우 상기 복수의 클라이언트(110) 중 다른 클라이언트(110)가 상기 블록(220)을 수신하여 상기 제1 그룹(150a)에 속하는 클라이언트(110)로 제공할 수 있다.
이에 따라, 상기 제1 그룹(150a)에 속하는 복수의 클라이언트(110)는 상기 서버(120)로부터 수신한 각 블록(220)에 대한 정보를 공유하고, 각 클라이언트(110)가 필요한 나머지 블록(220)을 다른 클라이언트(110)로부터 수신할 수 있게 된다.
나아가, 상기 제1 클라이언트(110a)가 상기 서버(120)로부터 상기 제1 블록(220a)을 다운로드한 후, 오류 등으로 인하여 상기 제2 클라이언트(110b) 및 제3 클라이언트(110c)로부터 상기 제2 블록(220b) 및 제3 블록(220c)를 제공받을 수 없는 경우, 상기 제1 클라이언트(110a)는 상기 서버(120)로부터 상기 제2 블록(220b) 및 제3 블록(220c)를 다운로드 받을 수도 있다.
또한, 도 8에서는 본 발명의 일 실시예에 따른 파일 배포 시스템에서 클라이언트(110) 간의 데이터 공유를 설명하고 있다.
도 8에서 볼 수 있는 바와 같이, 본 발명에서 동일한 제1 그룹(150a)에 속하는 복수의 클라이언트(110)는, 상기 복수의 클라이언트(110) 간에 복수의 블록(220)을 교환하거나 신규 배포 정책 데이터의 유무 등의 정보를 공유하기 위한 그룹 정보 데이터 등을 교환하기 위하여 데이터 공유 알고리즘을 사용할 수 있다.
이때, 상기 제1 그룹(150a)에 속하는 제2 클라이언트(110b)는, 상기 제1 클라이언트(110a)로부터 전송된 상기 나머지 블록(220)에 대한 요청을 자신과 연결된 제3 클라이언트(110c)로 전송하여 상기 제1 그룹(150a)에 속하는 복수의 클라이언트(110) 전체로 전달시키게 된다.
보다 구체적으로, 도 8에서 볼 수 있는 바와 같이, 상기 제1 그룹에 속하는 제1 클라이언트(110a)가 자신이 수신한 제1 블록(220a) 이외의 제2 블록(220b)를 제공 받기 위하여 자신과 연결된 제2 클라이언트(110b)로 상기 제2 블록(220b)을 요청하는 메시지를 전송하면(도 8의 ⓐ), 상기 제2 클라이언트(110b)는 자신이 상기 제2 블록(220b)을 보유하고 있는지 확인하고, 상기 메시지를 자신과 연결된 제3 클라이언트(110c)와 제4 클라이언트(111d)로 전송하게 된다(도 8의 ⓑ 및 ⓒ).
이어서, 상기 제3 클라이언트(110c)가 상기 제2 블록(220b)을 보유하고 있는 경우, 상기 제3 클라이언트(110c)는 상기 제2 클라이언트(110b)로 상기 제2 블록(220b)을 보유하고 있다는 메시지를 회신하고 되고(도 8의 ⓓ), 상기 제2 클라이언트(110b)는 상기 제1 클라이언트(110a)로 상기 메시지를 전달하게 된다(도 8의 ⓔ).
본 발명의 일 실시예에 따른 파일 배포 시스템, 방법 및 컴퓨터 프로그램에서는 이러한 방식으로 동일한 그룹에 속하는 복수의 클라이언트(110) 간에 복수의 블록(220)을 교환하거나 신규 배포 정책 데이터의 유무 등의 정보를 공유하기 위한 그룹 정보 데이터 등을 교환할 수 있게 된다.
또한, 본 발명의 또 다른 측면에 따른 컴퓨터 프로그램은 앞서 살핀 파일 배포 방법의 각 단계를 컴퓨터에서 실행시키기 위하여 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램인 것을 특징으로 한다. 상기 컴퓨터 프로그램은 컴파일러에 의해 만들어지는 기계어 코드를 포함하는 컴퓨터 프로그램뿐만 아니라, 인터프리터 등을 사용해서 컴퓨터에서 실행될 수 있는 고급 언어 코드를 포함하는 컴퓨터 프로그램일 수도 있다. 이때, 상기 컴퓨터로서는 퍼스널 컴퓨터(PC)나 노트북 컴퓨터 등에 한정되지 아니하며, 서버, 스마트폰, 태블릿 PC, PDA, 휴대전화 등 중앙처리장치(CPU)를 구비하여 컴퓨터 프로그램을 실행할 수 있는 일체의 정보처리 장치를 포함한다. 또한, 상기 상기 컴퓨터로 판독 가능한 매체는 전자적 기록 매체(예를 들면, 롬, 플래시 메모리, 등), 마그네틱 저장매체(예를 들면, 플로피 디스크, 하드디스크 등) 및 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같이 컴퓨터로 판독이 가능한 일체의 저장매체를 포함한다.
이에 따라, 본 발명의 일 실시예에 따른 파일 배포 시스템, 방법 및 컴퓨터 프로그램에서는, 서버가 전송하고자 하는 파일을 복수의 블록으로 분할하여 복수의 클라이언트로 나누어 전송하고, 상기 복수의 클라이언트에서 상기 복수의 블록을 서로 공유함으로써, 대용량의 파일을 고속으로 배포할 수 있으며, 나아가 서버에서 복수의 클라이언트로 배포하는 데이터 트래픽을 줄여 대용량의 파일을 보다 효율적으로 전송할 수 있게 된다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명에 기재된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의해서 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
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 파일

Claims (12)

  1. 서버에서 제1 그룹에 속하는 복수의 클라이언트로 제1 파일을 배포하는 파일 배포 시스템에 있어서,
    서버; 및
    제1 클라이언트를 포함하는 복수의 클라이언트;를 포함하여 구성되며,
    상기 서버는,
    상기 제1 파일을 복수의 블록으로 분할하고,
    상기 제1 그룹에 속하는 복수의 클라이언트에 대한 식별 정보, 상기 제1 파일에 대한 정보, 상기 복수의 블록에 대한 정보를 포함하는 배포 정책 데이터를 상기 제1 그룹에 속하는 복수의 클라이언트로 제공한 후,
    상기 복수의 블록을 상기 제1 그룹에 속하는 복수의 클라이언트로 나누어 전송하며,
    상기 복수의 클라이언트 중 상기 제1 클라이언트는,
    상기 복수의 블록 중 일부 블록을 수신하고,
    상기 배포 정책 데이터를 이용하여 상기 제1 그룹에 속하는 하나 이상의 다른 클라이언트와의 상기 복수의 블록의 교환을 통해 상기 복수의 블록 중 나머지 블록을 수신한 후,
    상기 복수의 블록으로부터 상기 제1 파일을 복원하여,
    상기 제1 그룹에 속하는 복수의 클라이언트 전체로 상기 제1 파일을 배포하는 것을 특징으로 하는 파일 배포 시스템.
  2. 제1항에 있어서,
    상기 제1 클라이언트는,
    자신이 수신한 상기 일부 블록을 상기 다른 클라이언트에게 제공하고,
    상기 다른 클라이언트로부터 상기 나머지 블록을 제공받는 것을 특징으로 하는 파일 배포 시스템.
  3. 삭제
  4. 제1항에 있어서,
    상기 제1 클라이언트는,
    상기 서버에 새로운 배포 정책 데이터가 있음을 확인하면,
    상기 다른 클라이언트에게 상기 새로운 배포 정책 데이터가 있음을 알리는 것을 특징으로 하는 파일 배포 시스템.
  5. 제1항에 있어서,
    상기 제1 클라이언트는,
    미리 정해진 주기마다 상기 서버로 배포 정책 데이터를 요청하는 것을 특징으로 하는 파일 배포 시스템.
  6. 제1항에 있어서,
    상기 서버는,
    상기 제1 파일을 상기 복수의 클라이언트의 숫자에 따라 상기 복수의 블록으로 분할하여 상기 각 복수의 클라이언트로 전송하는 것을 특징으로 하는 파일 배포 시스템.
  7. 제1항에 있어서,
    상기 서버는,
    상기 제1 그룹에 더하여,
    제2 파일을 복수의 블록으로 분할하여 제2 그룹에 속하는 복수의 클라이언트로 나누어 배포하는 것을 특징으로 하는 파일 배포 시스템.
  8. 제1항에 있어서,
    상기 제1 그룹에 속하는 복수의 클라이언트 중 일부 클라이언트가 서버로부터 블록을 수신하지 못하는 경우에는,
    상기 복수의 클라이언트 중 다른 클라이언트가 상기 블록을 수신하여 상기 제1 그룹에 속하는 클라이언트로 제공하는 것을 특징으로 하는 파일 배포 시스템.
  9. 제1항에 있어서,
    상기 제1 그룹에 속하는 제2 클라이언트는,
    상기 제1 클라이언트로부터 전송된 상기 나머지 블록에 대한 요청을 자신과 연결된 제3 클라이언트로 전송하여 상기 제1 그룹에 속하는 복수의 클라이언트 전체로 전달시키는 것을 특징으로 하는 파일 배포 시스템.
  10. 서버가 제1 그룹에 속하는 복수의 클라이언트로 제1 파일을 배포하는 방법에 있어서,
    서버가 전송하고자 하는 제1 파일을 복수의 블록으로 분할하는 파일 분할 단계; 및
    상기 서버가 상기 제1 그룹에 속하는 복수의 클라이언트에 대한 식별 정보, 상기 제1 파일에 대한 정보, 상기 복수의 블록에 대한 정보를 포함하는 배포 정책 데이터를 상기 제1 그룹에 속하는 복수의 클라이언트로 제공한 후, 상기 복수의 블록을 상기 제1 그룹에 속하는 복수의 클라이언트로 나누어 전송하는 블록 전송 단계;를 포함하며,
    상기 복수의 클라이언트 중 제1 클라이언트는,
    상기 복수의 블록 중 일부 블록을 수신하고,
    상기 배포 정책 데이터를 이용하여 상기 제1 그룹에 속하는 하나 이상의 다른 클라이언트와의 상기 복수의 블록의 교환을 통해 상기 복수의 블록 중 나머지 블록을 수신한 후,
    상기 복수의 블록으로부터 상기 제1 파일을 복원하여,
    상기 제1 그룹에 속하는 복수의 클라이언트 전체로 상기 제1 파일을 배포하는 것을 특징으로 하는 파일 배포 방법.
  11. 제1 그룹에 속하는 복수의 클라이언트가 서버로부터 제1 파일을 배포 받는 방법에 있어서,
    상기 복수의 클라이언트 중 제1 클라이언트가, 상기 서버로부터 상기 제1 그룹에 속하는 복수의 클라이언트에 대한 식별 정보, 상기 제1 파일에 대한 정보, 상기 복수의 블록에 대한 정보를 포함하는 배포 정책 데이터를 상기 제1 그룹에 속하는 복수의 클라이언트로 제공받은 후, 상기 제1 파일에서 분할된 복수의 블록 중 일부 블록을 수신하는 제1 블록 수신 단계;
    상기 제1 클라이언트가 상기 배포 정책 데이터를 이용하여 상기 제1 그룹에 속하는 하나 이상의 다른 클라이언트와의 상기 복수의 블록의 교환을 통해 상기 복수의 블록 중 나머지 블록을 수신하는 제2 블록 수신 단계; 및
    상기 제1 클라이언트가 상기 복수의 블록으로부터 상기 제1 파일을 복원하여, 상기 제1 그룹에 속하는 복수의 클라이언트 전체로 상기 제1 파일이 배포되어 복원되는 파일 복원 단계;
    를 포함하는 것을 특징으로 하는 파일 배포 방법.
  12. 컴퓨터에서 제10항 내지 제11항 중 어느 한 항에 기재된 파일 배포 방법의 각 단계를 실행시키기 위한 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터 프로그램 .
KR1020190135265A 2019-10-29 2019-10-29 대용량 파일 배포 시스템, 방법 및 컴퓨터 프로그램 및 시스템 KR102221638B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190135265A KR102221638B1 (ko) 2019-10-29 2019-10-29 대용량 파일 배포 시스템, 방법 및 컴퓨터 프로그램 및 시스템
PCT/KR2020/014968 WO2021086087A1 (ko) 2019-10-29 2020-10-29 대용량 파일 배포 시스템, 방법 및 컴퓨터 프로그램 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190135265A KR102221638B1 (ko) 2019-10-29 2019-10-29 대용량 파일 배포 시스템, 방법 및 컴퓨터 프로그램 및 시스템

Publications (1)

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

Family

ID=75174822

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190135265A KR102221638B1 (ko) 2019-10-29 2019-10-29 대용량 파일 배포 시스템, 방법 및 컴퓨터 프로그램 및 시스템

Country Status (2)

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

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213508A (ja) * 2003-01-08 2004-07-29 Hitachi Software Eng Co Ltd ピアツーピア技術を用いたファイルダウンロード方法及びシステム
JP2009031894A (ja) * 2007-07-25 2009-02-12 Himacs Ltd コンテンツ配信システム,管理サーバ用コンテンツ配信プログラム,およびクライアント用コンテンツ配信プログラム
KR20090036955A (ko) * 2007-10-10 2009-04-15 주식회사 버츄얼스톰 파일 전송 서비스 방법
KR20120038346A (ko) * 2010-10-13 2012-04-23 한국전자통신연구원 하이브리드 p2p 프로토콜을 이용한 고속 서버 데이터 전송 방법 및 시스템
KR20140141925A (ko) 2013-06-03 2014-12-11 양진호 대용량 파일의 다운로드 장치 및 방법
JP2016006671A (ja) * 2011-11-10 2016-01-14 株式会社スクウェア・エニックス データ送受信システム及びデータ送受信方法
KR20160150231A (ko) * 2015-06-19 2016-12-29 중앙대학교 산학협력단 콘텐츠를 배포하는 사용자 단말기 및 서버

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213508A (ja) * 2003-01-08 2004-07-29 Hitachi Software Eng Co Ltd ピアツーピア技術を用いたファイルダウンロード方法及びシステム
JP2009031894A (ja) * 2007-07-25 2009-02-12 Himacs Ltd コンテンツ配信システム,管理サーバ用コンテンツ配信プログラム,およびクライアント用コンテンツ配信プログラム
KR20090036955A (ko) * 2007-10-10 2009-04-15 주식회사 버츄얼스톰 파일 전송 서비스 방법
KR20120038346A (ko) * 2010-10-13 2012-04-23 한국전자통신연구원 하이브리드 p2p 프로토콜을 이용한 고속 서버 데이터 전송 방법 및 시스템
JP2016006671A (ja) * 2011-11-10 2016-01-14 株式会社スクウェア・エニックス データ送受信システム及びデータ送受信方法
KR20140141925A (ko) 2013-06-03 2014-12-11 양진호 대용량 파일의 다운로드 장치 및 방법
KR20160150231A (ko) * 2015-06-19 2016-12-29 중앙대학교 산학협력단 콘텐츠를 배포하는 사용자 단말기 및 서버

Also Published As

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

Similar Documents

Publication Publication Date Title
CN102693297B (zh) 数据处理方法、节点和提取、转换和加载etl***
CN108494788B (zh) 数据的传输方法、数据传输装置及计算机可读存储介质
CN105868231A (zh) 缓存数据的更新方法及装置
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 (zh) 本地缓存装置以及用于提供内容缓存服务的***和方法
US20120014321A1 (en) Messaging activity feed
CN101018227A (zh) 数据管理装置、存储有数据管理程序的存储介质、协议切换装置和方法
CN104980925A (zh) 用户请求的认证方法和装置
CN104754009A (zh) 一种服务获取调用方法、装置以及客户端和服务器
CN103095824A (zh) 文件上传控制方法及***
CN105379224A (zh) 基于移动计算设备之间的电话呼叫来管理数据通信
CN103716230A (zh) 消息发送方法、装置及服务器
CN103259818A (zh) 分散式数据存取***及方法
CN103138871B (zh) 移动通讯***中应用程序的服务器数据处理***和方法
CN112073366B (zh) 一种用于铁路财务***的数据处理方法及数据中台
KR102221638B1 (ko) 대용량 파일 배포 시스템, 방법 및 컴퓨터 프로그램 및 시스템
CN104092826A (zh) 终端上个人信息的共享方法及装置
CN116684468A (zh) 数据处理方法、装置、设备及存储介质
CN111400630A (zh) 资源预加载方法及相关设备
CN113704206B (zh) 一种元数据的处理方法、装置、电子设备及存储介质
CN108848156B (zh) 接入网关处理方法、装置及存储介质
CN115189956A (zh) 一种文件安全共享方法
CN111586174B (zh) 一种网络服务***

Legal Events

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