KR20150008541A - 데이터 전송 제어 방법 및 서버 - Google Patents

데이터 전송 제어 방법 및 서버 Download PDF

Info

Publication number
KR20150008541A
KR20150008541A KR1020130082596A KR20130082596A KR20150008541A KR 20150008541 A KR20150008541 A KR 20150008541A KR 1020130082596 A KR1020130082596 A KR 1020130082596A KR 20130082596 A KR20130082596 A KR 20130082596A KR 20150008541 A KR20150008541 A KR 20150008541A
Authority
KR
South Korea
Prior art keywords
file
data
piece
files
extracted
Prior art date
Application number
KR1020130082596A
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 KR1020130082596A priority Critical patent/KR20150008541A/ko
Publication of KR20150008541A publication Critical patent/KR20150008541A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments

Landscapes

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

Abstract

불필요한 데이터의 송수신에 따른 네트워크의 트래픽 증가를 방지하고, 사용자들의 불편함을 감소시킬 수 있는 데이터 전송 방식을 제공한다. 본 발명의 일 실시예에 따른 데이터 전송 제어 방법은, 복수의 제1 파일들을 포함하는 제2 파일을 피투피(Peer to Peer) 네트워크를 통해 전송 시, 제2 파일을 보유한 사용자 단말들인 제1 사용자 단말들 각각으로부터 제2 파일을 기설정된 단위 크기로 나눈 조각 데이터를 추출하여 제1 파일들 중 적어도 하나의 제1 파일에 대한 수신을 요청한 사용자 단말인 제2 사용자 단말에 전송하는 것을 제어하는 데이터 전송 제어 서버가, 제2 파일의 정보들 중, 제2 파일에 설정된 기설정된 단위 크기 정보를 추출하는 단계; 하나의 조각 데이터에 포함된 제1 파일의 식별 정보가 동일하도록 제2 파일을 추출된 기설정된 단위 크기의 조각 데이터들로 분할하는 단계; 및 분할된 조각 데이터들에 대응하는 데이터들을 제1 사용자 단말들에 저장된 제2 파일들로부터 각각 추출하여 제2 사용자 단말에 전송하도록 제어하는 단계;를 포함하는 것을 특징으로 한다.

Description

데이터 전송 제어 방법 및 서버{METHOD AND SERVER FOR CONTROLLING DATA TRANSMITION}
본 발명은 사용자 단말에 파일을 전송하는 기술에 관한 것으로, 더욱 자세하게는 파일을 보유하고 있는 사용자 단말로부터 파일의 일부를 각각 추출하여 파일의 수신을 요청한 사용자 단말에 전송하는 기술에 있어서, 불필요한 파일의 다운로드를 방지하여 네트워크의 부하를 줄이고 파일 제공 서비스의 이용에 편의성을 제공하기 위한 기술이다.
데이터 처리 단말을 통해 이용할 수 있는 데이터의 종류가 늘어나고 있고, 이에 대응하여 다양한 데이터를 제공하는 서비스가 활발하게 이용되고 있다.
이 중, 파일을 서버로부터 직접 공급받는 것이 아닌, 파일을 보유하고 있는 사용자 단말들로부터 파일의 일부씩을 추출하여 수신할 수 있는 피투피(P2P, Peer to Peer) 네트워크 서비스를 이용하는 파일 다운로드 서비스의 이용 비율이 늘어나고 있다.
다양한 피투피 서비스 중, 토렌트로 지칭되는 피투피 서비스의 이용 비율이 매우 높은 현실이다. 토렌트는 인터넷에서 한 소스의 동일한 파일을 여러 사용자가 다운로드 시, 대역폭에 의해 발생할 수 있는 속도 저하나 다운로드 불가 현상을 피투피 네트워크를 이용하여 개선하는 기술이다.
일반적으로 토렌트에는 하나의 파일을 조각 단위로 다운로드하는 방식을 사용한다. 즉, 조각 단위에 해당하는 데이터를 파일을 보유하고 있는 사용자 단말로부터 파일의 수신을 요청한 사용자 단말에 전송하도록 하여, 최종적으로 해당 파일의 모든 조각 단위 데이터를 수신 시 파일의 수신이 완료되는 것이다.
기존의 토렌트 등의 피투피 서비스에서 복수개의 파일을 결합하여 전송 시에는, 복수개의 파일을 하나로 합친 이미지 파일을 생성하고 생성된 이미지 파일을 조각 단위의 데이터로 다운로드 하는 방식을 사용하고 있다. 이러한 이미지 파일은 토렌트 파일로 불리워지고 있다. 토렌트 파일에는 하나의 이미지 파일에 대한 메타데이터(Metadata)가 포함되어 있으며, 메타데이터에는 상기 언급한 조각 단위의 데이터로 파일을 분할 시 조각의 크기에 대한 정보가 포함되어 있다.
기존의 토렌트 등의 피투피 서비스에서는 하나의 조각 단위 데이터에 하나 이상의 파일에 대한 내용이 포함되어 있을 수 있다. 이미지 파일을 크기에 따라서 분할하기 때문이다. 이러한 경우, 사용자들은 이미지 파일을 전부 다운로드할 수 밖에 없으며, 이러한 경우 이미지 파일에 포함된 파일들 중 일부만을 다운로드하는 것이 불가능하여, 필요하지 않은 파일을 피투피 네트워크를 통해 다운로드함에 따라서, 불필요한 네트워크 트래픽을 소모하고, 필요하지 않은 파일은 수신 후 삭제해야 하는 불편함이 있어왔다.
이에 본 발명은, 피투피 서비스에서 하나의 이미지 파일을 이용하여 다수의 파일을 다운로드 시, 필요한 파일만을 다운로드할 수 있도록 이미지 파일로부터 조각 단위의 데이터를 효율적으로 생성하는 기술을 제공하는 데 그 목적이 있다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 데이터 전송 제어 방법은, 복수의 제1 파일들을 포함하는 제2 파일을 피투피(Peer to Peer) 네트워크를 통해 전송 시, 상기 제2 파일을 보유한 사용자 단말들인 제1 사용자 단말들 각각으로부터 상기 제2 파일을 기설정된 단위 크기로 나눈 조각 데이터를 추출하여 상기 제1 파일들 중 적어도 하나의 제1 파일에 대한 수신을 요청한 사용자 단말인 제2 사용자 단말에 전송하는 것을 제어하는 데이터 전송 제어 서버가, 상기 제2 파일의 정보들 중, 상기 제2 파일에 설정된 상기 기설정된 단위 크기 정보를 추출하는 단계; 하나의 조각 데이터에 포함된 제1 파일의 식별 정보가 동일하도록 상기 제2 파일을 상기 추출된 기설정된 단위 크기의 조각 데이터들로 분할하는 단계; 및 상기 분할된 조각 데이터들에 대응하는 데이터들을 상기 제1 사용자 단말들에 저장된 제2 파일들로부터 각각 추출하여 상기 제2 사용자 단말에 전송하도록 제어하는 단계;를 포함하는 것을 특징으로 한다.
본 발명의 다른 실시예에 따른 데이터 전송 제어 방법은, 복수의 제1 파일들을 포함하는 제2 파일을 피투피(Peer to Peer) 네트워크를 통해 전송 시, 상기 제2 파일을 보유한 사용자 단말들인 제1 사용자 단말들 각각으로부터 상기 제2 파일을 기설정된 단위 크기로 나눈 조각 데이터를 추출하여 상기 제1 파일들 중 적어도 하나의 제1 파일에 대한 수신을 요청한 사용자 단말인 제2 사용자 단말에 전송하는 것을 제어하는 데이터 전송 제어 서버가, 상기 제2 사용자 단말로부터 상기 제2 파일에 대한 수신 요청 정보를 수신하는 단계; 상기 제2 파일의 정보들 중, 상기 제2 파일에 설정된 상기 기설정된 단위 크기 정보를 추출하는 단계; 상기 수신 요청 정보에 상기 제2 파일에 포함된 복수의 제1 파일들 중 일부에 대한 수신 요청이 포함된 경우, 하나의 조각 데이터에 포함된 제1 파일의 식별 정보가 동일하도록 상기 제2 파일을 상기 추출된 기설정된 단위 크기의 조각 데이터들로 분할하는 단계; 및 상기 분할된 조각 데이터들 중 상기 수신 요청 정보에 포함된 제1 파일의 조각 데이터들에 대응하는 데이터들을 상기 제1 사용자 단말들 각각으로부터 추출하여 상기 제2 사용자 단말에 전송하도록 제어하는 단계;를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 데이터 전송 제어 서버는, 복수의 제1 파일들을 포함하는 제2 파일을 피투피(Peer to Peer) 네트워크를 통해 전송 시, 상기 제2 파일의 정보들 중, 상기 제2 파일을 보유한 사용자 단말들인 제1 사용자 단말들 각각으로부터 상기 제2 파일을 기설정된 단위 크기로 나눈 조각 데이터를 추출하여 상기 제1 파일들 중 적어도 하나의 제1 파일에 대한 수신을 요청한 사용자 단말인 제2 사용자 단말에 전송하기 위해 상기 제2 파일에 설정된 상기 기설정된 단위 크기 정보를 추출하는 메타데이터 추출부; 하나의 조각 데이터에 포함된 제1 파일의 식별 정보가 동일하도록 상기 제2 파일을 상기 추출된 기설정된 단위 크기의 조각 데이터들로 분할하는 조각 데이터 생성부; 및 상기 분할된 조각 데이터들에 대응하는 데이터들을 상기 제1 사용자 단말들 각각으로부터 추출하여 상기 제2 사용자 단말에 전송하도록 제어하는 전송 제어부;를 포함하는 것을 특징으로 한다.
본 발명에 의하면, 조각 데이터로 제2 파일을 분할 시, 하나의 조각 데이터에는 하나의 제1 파일에 해당하는 데이터만이 포함되도록 제어하게 된다. 따라서, 제2 파일의 다운로드를 위해 조각 데이터를 제1 사용자 단말들로부터 각각 추출하여 제2 사용자 단말에 전송 시, 조각 데이터를 제1 파일에 따라서 선택적으로 전송하는 것이 가능하게 되며, 이에 따라서 제2 파일에 포함된 제1 파일들 중 제2 사용자 단말이 요청한 제1 파일만을 선택적으로 전송하는 것이 가능하다. 이를 통해, 불필요한 데이터의 송수신에 따른 네트워크의 트래픽 증가를 방지하고, 사용자들의 불편함을 감소시킬 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 전송 제어 방법의 플로우차트이다.
도 2 및 3은 본 발명의 일 실시예의 구현을 위해 조각 데이터를 생성하는 흐름의 예이다.
도 4는 본 발명의 일 실시예의 구현에 따라 파일을 전송하는 흐름의 예이다.
도 5는 본 발명의 다른 실시예에 따른 데이터 전송 제어 방법의 플로우차트이다.
도 6은 본 발명의 일 실시예에 따른 데이터 전송 제어 서버의 구성도이다.
도 7은 기존의 조각 데이터 구조를 도시한 것이다.
도 8은 본 발명의 각 실시예에 따라 생성되는 조각 데이터의 구조를 도시한 것이다.
이하 첨부된 도면을 참조하여 본 발명의 각 실시예에 따른 데이터 전송 방법 및 서버에 대하여 설명하기로 한다.
이하의 설명에서 본 발명에 대한 이해를 명확히 하기 위하여, 본 발명의 특징에 대한 공지의 기술에 대한 설명은 생략하기로 한다. 이하의 실시 예는 본 발명의 이해를 돕기 위한 상세한 설명이며, 본 발명의 권리 범위를 제한하는 것이 아님은 당연할 것이다. 따라서, 본 발명과 동일한 기능을 수행하는 균등한 발명 역시 본 발명의 권리 범위에 속할 것이다.
이하의 설명에서 동일한 식별 기호는 동일한 구성을 의미하며, 불필요한 중복적인 설명 및 공지 기술에 대한 설명은 생략하기로 한다.
본 발명의 실시 예에서 “통신”, “통신망” 및 “네트워크”는 동일한 의미로 사용될 수 있다. 상기 세 용어들은, 파일을 사용자 단말, 다른 사용자들의 단말 및 다운로드 서버 사이에서 송수신할 수 있는 유무선의 근거리 및 광역 데이터 송수신망을 의미한다.
이하의 설명에서 “서버”란, 메시지를 스팸으로 분류할지 여부를 결정하는 서버 컴퓨터를 의미한다. 용량이 작거나 처리 데이터의 수가 작은 서비스의 경우 하나의 서버에 다수의 서비스가 운영될 수 있다. 또한, 용량이 매우 크거나 실시간으로 스팸 여부를 결정해야 하는 메시지의 양이 많은 서비스의 경우, 서비스의 기능에 따라서 하나의 서비스의 운영을 위한 서버가 하나 이상 존재할 수도 있다.
또한 서버에는 데이터 베이스에 대한 미들웨어나 결제 처리를 수행하는 서버들이 연결될 수 있으나, 본 발명에서는 이에 대한 설명은 생략하기로 한다.
또한 상기 발명의 배경이 되는 기술에 대한 기재 내용과 중복되는 이하의 본 발명의 각 실시예에 관한 설명 역시 생략하기로 한다.
도 1은 본 발명의 일 실시예에 따른 데이터 전송 제어 방법의 플로우차트이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 데이터 전송 제어 방법은, 복수의 제1 파일들을 포함하는 제2 파일을 피투피 네트워크를 통해 전송 시, 제2 파일을 보유한 사용자 단말들인 제1 사용자 단말들 각각으로부터 제2 파일을 기설정된 단위 크기로 나눈 조각 데이터를 추출하여 제1 파일들 중 적어도 하나의 제1 파일에 대한 수신을 요청한 사용자 단말인 제2 사용자 단말에 전송하는 것을 제어하는 데이터 전송 제어 서버에 의해 수행된다.
이때, 데이터 전송 제어 서버는, 제2 파일의 조각 데이터를 추출하여 제2 사용자 단말에 전송하기 위해, 제2 파일에 설정된 정보들 중, 제2 파일이 설정된 기설정된 단위 크기 정보를 추출하는 단계(S10)를 수행한다.
본 발명에서 제2 파일은 상기의 이미지 파일에 해당하는 것으로 이해될 것이며, 제1 파일은 이미지 파일에 포함된 적어도 하나의 파일을 의미한다. 물론 제2 파일에 따라서, 제2 파일에 포함된 제1 파일이 하나의 파일일 수도 있으나, 본 발명의 실시예에 대한 설명의 이해를 돕기 위해 복수의 제1 파일이 하나의 제2 파일이 포함되는 경우를 예로 들어 이하에서 설명하기로 한다.
데이터 전송 제어 서버는 제2 사용자 단말에 제2 파일을 전송하기 위해서 제2 파일의 정보를 파일 정보 데이터베이스로부터 로드하게 되는데, 제2 파일의 식별 정보, 제2 파일에 포함된 제1 파일의 식별 정보 이외에, 조각 데이터를 생성하기 위해 제2 파일에 설정된 기설정된 단위 크기 정보를 추출하게 된다. 기설정된 단위 크기 정보는 조각 데이터의 크기를 의미한다. 조각 데이터에 대한 기설정된 단위 크기는, 제2 파일마다 서로 다르게 설정될 수 있을 것이다.
조각 데이터는 이하에서 설명하는 바와 같이, 제2 파일을 다수의 제1 사용자 단말로부터 제2 사용자 단말에 전송하기 위해 사용되는 정보이다. 제1 사용자 단말들로부터 제2 파일의 일부분씩을 추출하여 제2 사용자 단말에 전송함으로써 피투피 네트워크가 형성된다. 이때, 제2 파일의 일부분씩을 제1 사용자 단말로부터 추출하기 위해 조각 데이터의 개념이 사용된다.
제2 파일을 다수의 조각 데이터로 분할하고, 조각 데이터의 정보를 제1 사용자 단말에 전송하면, 제1 사용자 단말들로부터 제2 파일의 조각 데이터에 대응하는 데이터가 추출되어 제2 사용자 단말에 전송된다.
제2 파일의 조각 데이터가 제2 사용자 단말에 전송되면서 모든 조각 데이터가 제2 사용자 단말에 전송되면 조각 데이터들이 결합하여 최종적으로 제2 파일의 전송이 완료된다.
S10 단계에 의해 조각 데이터의 크기를 의미하는 단위 크기에 대한 정보가 추출되면, 데이터 전송 제어 서버는 제2 파일을 단위 크기별로 분할함으로써 조각 데이터를 생성하게 되는데, 본 발명에서 데이터 전송 제어 서버는 하나의 조각 데이터에 포함된 제1 파일의 식별 정보가 동일한 정보가 되도록 제2 파일을 단위 크기의 조각 데이터들로 분할하는 단계(S20)를 수행한다.
기존의 토렌트 서비스에서는, 제2 파일에 포함된 모든 데이터를 단위 크기만을 이용하여 조각 데이터로 분할하게 된다. 이에 따라서, 하나의 조각 데이터에는 서로 다른 제1 파일이 하나 이상 존재할 수 있게 된다. 이 경우, 하나의 조각 데이터에는 서로 동일하지 않은 제1 파일의 식별 정보를 포함하는 데이터가 포함될 수 있다.
이를 방지하기 위해, 본 발명의 일 실시예에서 데이터 전송 제어 서버 S20 단계에서 하나의 조각 데이터에 포함된 제1 파일의 식별 정보가 동일한 정보가 되도록 제어하게 된다. S20 단계의 구체적인 흐름의 예들이 도 2 및 3에 도시되어 있다.
도 2 및 3은 본 발명의 일 실시예의 구현을 위해 조각 데이터를 생성하는 흐름의 예이다.
먼저 도 2를 참조하면, 데이터 전송 제어 서버는 제2 파일을 조각 데이터로 분할하는 도중, 어느 한 제1 파일의 분할이 완료되고 새로운 제1 파일의 분할이 시작됨을 감지하는 단계(S21)를 수행한다.
제2 파일에는 복수의 제1 파일이 포함되어 있으며, 제1 파일은 생성 시간, 식별 정보, 파일의 크기 등에 따라 임의 선택이 가능한 기준에 따라서 정렬될 수 있다. 제1 파일의 정렬 순서는 임의의 순서 역시 될 수 있음은 당연할 것이다.
이때 데이터 전송 제어 서버는 조각 데이터를 생성 시, 맨 처음의 제1 파일부터 마지막 제1 파일까지 순서대로 단위 크기로 제1 파일을 분할함으로써 조각 데이터를 생성하게 된다.
예를 들어 하나의 제2 파일에 a, b, c의 제1 파일이 포함되어 있고, a, b, c 순으로 제1 파일이 정렬되면, 데이터 전송 제어 서버는 a, b, c 파일 순으로 조각 데이터로 분할을 수행하게 된다.
이때 S21 단계를 통해 데이터 전송 제어 서버는 a 파일의 분할이 완료되고, 이어서 b 파일의 분할이 시작됨을 감지하게 된다.
이 경우, 데이터 전송 제어 서버는 a 파일이 마지막 부분, 즉 분할이 완료된 시점의 데이터가 포함되도록 분할된 조각 데이터의 생성을 완료하는 단계(S22)를 수행한다.
기존에는 a 파일의 마지막 부분에 대한 조각 데이터의 생성이 수행되고, 마지막 부분의 크기가 단위 크기보다 작은 경우가 발생 시, 남은 저장 공간에 b 파일의 해당 크기에 대응하는 데이터를 포함하여 조각 데이터가 생성되었다.
그러나 S22 단계를 통해, 본 발명에서는 남은 저장 공간이 있더라도, 즉 a 파일의 마지막 부분의 크기가 단위 크기보다 작아 조각 데이터의 크기가 단위 크기보다 작게 되더라도, 해당 조각 데이터의 생성을 바로 완료하고 조각 데이터를 확정하게 된다.
이후, 새로운 제1 파일, 즉 상기의 예에서 b 파일을 S22 단계를 통해 생성이 완료된 조각 데이터의 다음 조각 데이터를 시작으로 하는 조각 데이터들로 분할하는 단계(S23)를 수행하게 된다.
도 2의 실시예에 의하여, 하나의 조각 데이터에는 a, b, c에 해당하는 제1 파일 중 어느 한 제1 파일에 대한 데이터만이 존재하게 된다.
한편 도 3의 실시예를 참조하면, 데이터 전송 제어 서버는 제2 파일을 추출된 기설정된 단위 크기의 제1 조각 데이터들로 분할하는 단계(S24)를 수행하게 된다. 도 3의 실시예에서 제1 조각 데이터들은 상기 언급한 기존의 데이터 분할 방법에 의해 생성되는 조각 데이터들과 동일한 데이터가 될 수 있다.
S24 단계의 수행에 의하여 제1 조각 데이터들이 생성되면, 데이터 전송 제어 서버는 분할된 제1 조각 데이터에 포함된 제1 파일의 식별 정보를 각각 추출하는 단계를 수행하여, 제1 조각 데이터들 중 제1 파일의 식별 정보가 둘 이상인 것으로 판단되는 제1 조각 데이터들을 선택하는 단계(S25)를 수행한다.
이후, S25 단계에 의해 선택된 제1 조각 데이터를 각각 동일한 제1 파일의 식별 정보만을 포함하도록 제2 조각 데이터로 분할하는 단계(S26)를 수행한다.
S26 단계는 구체적으로, 하나의 제1 조각 데이터를 재 분할하여 제2 조각 데이터를 생성하는 과정으로, 제2 조각 데이터는 제1 파일의 식별 정보를 기준으로 생성되는 분할 데이터를 의미한다. 즉, 제2 조각 데이터는 분할 대상이 되는 제1 조각 데이터에 포함된 제1 파일의 식별 정보의 개수만큼 생성될 것이다.
이후, 제2 조각 데이터와, 추출된 제1 파일의 식별 정보가 하나인, 즉 제2 조각 데이터로 분할되는 대상에 해당하지 않은 제1 조각 데이터를 상기 언급한 제2 파일의 조각 데이터로 결정하는 단계를 수행하게 된다.
도 2는 조각 데이터를 분할 시 실시간으로 조각 데이터에 포함된 제1 파일의 식별 정보를 체크하는 데 반하여, 도 3의 경우 기존의 조각 데이터 분할 시스템을 이용한 뒤, 추가적으로 조각 데이터에 하나의 제1 파일에 대한 데이터만이 존재하도록 하는 차이가 있다.
도 3에 대한 실시예의 구현에 의하면, 도 2의 실시예와 마찬가지로 하나의 조각 데이터에는 하나의 제1 파일에 관한 데이터만이 포함될 것이다.
다시 도 1을 참조하면, 데이터 전송 제어 서버는 S20 내지 S26 단계의 수행에 의해 분할된 조각 데이터들에 대응하는 데이터들을 제1 사용자 단말들에 저장된 제2 파일들로부터 각각 추출하여, 제2 사용자 단말에 전송하도록 제어하는 단계(S30)를 수행하게 된다.
S30 단계는 구체적으로 다음과 같은 과정에 의해 진행될 수 있다.
데이터 전송 제어 서버는 제1 사용자 단말들에 조각 데이터의 정보를 전송하게 된다. 조각 데이터의 정보에는, 조각 데이터에 포함된 데이터들의 식별정보가 포함될 수 있다.
조각 데이터의 정보를 수신한 제1 사용자 단말들은, 수신한 정보를 바탕으로 조각 데이터에 대응하는 제2 파일에 포함된 데이터들을 업로드하게 되며, 업로드된 데이터들은 피투피 네트워크를 통해 제2 사용자 단말에 전송된다.
도 1 내지 3의 실시예에 의해, 피투피 네트워크를 통한 이미지 파일에 포함된 다수의 파일을 전송 시, 조각 데이터에는 한 종류, 즉 하나의 제1 파일에 관한 데이터만이 포함된다.
기존의 피투피 네트워크에서는 하나의 이미지 파일, 즉 제2 파일에 포함된 제1 파일들 중 일부만을 수신하는 것이 불가능했는데, 그 이유는 상기 언급한 바와 같이 제2 파일을 분할한 조각 데이터에 둘 이상의 제1 파일이 존재하는 경우에 기인한 것이었다. 둘 이상의 제1 파일이 존재하는 조각 데이터를 수신하지 않게 되면, 해당 조각 데이터에 연관된 제1 파일 모두의 전송이 완료되지 않기 때문이다.
그러나 본 발명에 의하면, 하나의 조각 데이터에는 하나의 제1 파일에 관한 데이터만이 포함되어 있으며, 이에 의해 만약 제2 파일에 포함된 제1 파일들 중 일부의 제1 파일만을 수신하고자 하는 경우, 해당 제1 파일에 대응하는 조각 데이터만을 추출하여 수신하면 되기 때문에, 상기와 같은 문제점이 완전히 해소되는 효과가 있다.
이를 통해, 제2 파일의 전체 수신에 의해 불필요한 파일을 제2 사용자 단말에 전송함으로써, 불필요한 네트워크 트래픽의 증가와, 불필요한 파일을 수신하고 삭제해야 하는 사용자들의 불편함을 해소할 수 있는 효과가 있다.
도 4는 본 발명의 일 실시예의 구현에 따라 파일을 전송하는 흐름의 예이다.
도 1 내지 3의 실시예에 의해, 하나의 조각 데이터에는 하나의 제1 파일만이 존재하게 되며, 이에 따라서 제2 파일을 이용하여 제1 파일들을 제2 사용자 단말에 전송 시 일부의 제1 파일만을 전송하는 것이 가능하다.
이를 실제적으로 구현하기 위해, 데이터 전송 제어 서버는 제2 사용자 단말로부터, 제2 파일에 포함된 제1 파일들 중 일부에 대한 수신 요청 정보를 수신하는 단계(S31)를 수행하게 된다.
보통 토렌트 서비스에 있어서, 토렌트 프로그램에 이미지 파일의 링크 주소를 입력하거나, 이미지 파일을 선택하게 되면, 해당 이미지 파일(제2 파일)의 수신이 요청되며, 조각 데이터의 정보가 제1 사용자 단말들에 분배되어 제2 파일에 포함된 제1 파일들의 전송이 개시된다.
이때, 본 발명에서는 제2 파일의 수신이 요청될 때, 제2 사용자 단말에 제2 파일에 포함된 제1 파일들의 리스트를 전송하고, 제2 사용자 단말로부터 해당 리스트들에 포함된 제1 파일들 중 일부를 선택할 수 있는 인터페이스를 제공하여, 제2 사용자 단말로부터 인터페이스를 통한 제1 파일에 대한 선택 정보를 수신할 수 있다.
S31에 의해 수신 요청 정보를 제2 사용자 단말로부터 수신하면, 제2 파일의 조각 데이터들 중 데이터 전송 제어 서버는 수신 요청 정보에 대응하는 제1 파일에 관한 조각 데이터들만을 제1 사용자 단말들 각각으로부터 추출하여 제2 사용자 단말에 전송하도록 제어하는 단계(S32)를 수행한다.
이를 통해, 사용자들은 하나의 이미지 파일을 이용하여 다수의 파일을 다운로드 시, 자신이 필요로하는 파일만을 다운로드할 수 있게 되어, 네트워크 트래픽의 감소와 함께 피투피 네트워크 서비스의 편의성을 제공할 수 있는 효과가 있다.
도 5는 본 발명의 다른 실시예에 따른 데이터 전송 제어 방법의 플로우차트이다. 이하의 설명에서 도 1 내지 4에 대한 설명과 중복되는 부분은 이를 생략하기로 한다.
도 5를 참조하면, 데이터 전송 제어 서버는 먼저 제2 파일에 대한 수신 요청 정보를 제2 사용자 단말로부터 수신하는 단계(S40)를 수행한다. 이후 제2 파일의 정보들 중 제2 파일에 설정된 단위 크기 정보를 추출하는 단계(S50)를 수행한다.
이후, 제2 파일에 대한 수신 요청 정보를 분석하여, 수신 요청 정보에 제2 파일에 포함된 복수의 제1 파일들 중 전부에 대한 수신 요청이 포함되었는지 여부를 판단하는 단계(S60)를 수행한다. S60 단계는 복수의 제1 파일들 중 일부에 대한 수신 요청이 포함되었는지 여부를 판단하는 단계로 대체 수행될 수 있음은 당연할 것이다.
S60 단계의 수행에 의해, 수신 요청 정보에 제2 파일에 포함된 복수의 제1 파일들 중 일부에 대한 수신 요청이 포함된 것으로 판단되면, 데이터 전송 제어 서버는 하나의 조각 데이터에 포함된 제1 파일의 식별 정보가 동일하도록, 즉 하나의 조각 데이터에 하나의 제1 파일에 관한 데이터만이 포함되도록 제2 파일을 단위 크기의 조각 데이터들로 분할하는 단계(S70)를 수행한다.
한편, S60 단계의 수행에 의해 수신 요청 정보에 제2 파일에 포함된 복수의 제1 파일들 전부에 대한 수신 요청이 포함된 것으로 판단되면, 데이터 전송 제어 서버는 기존의 방식과 동일하게 제2 파일에 포함된 데이터 전체를 추출된 기설정된 단위 크기의 조각 데이터들로 분할하는 단계(S80)를 수행한다.
S70 단계 및 S80 단계 중 어느 한 단계가 S60 단계의 판단 결과 수행되면, 이후 분할된 조각 데이터들을 제1 사용자 단말들로부터 추출하여 제2 사용자 단말에 전송하도록 제어하는 단계(S90)가 수행된다.
S90 단계는, 정확히 설명하면 S70 단계가 수행되는 경우에는 조각 데이터들 중 수신 요청 정보에 포함된 제1 파일의 조각 데이터들에 대응하는 데이터들을 제2 사용자 단말로 전송하도록 제어하는 단계이며, S80 단계가 수행되는 경우에는, 모든 조각 데이터들에 대응하는 데이터들을 제2 사용자 단말로 전송하도록 제어하는 단계를 의미한다.
이때 S70 단계의 수행 방법은 구체적으로, 상기 도 2 및 3에 대한 설명에서 언급한 바와 동일하다.
도 5의 실시예에 의하면, 파일별 조각 데이터의 생성이 필요한 경우에만 조각 데이터를 파일에 따라서 생성하게 되므로, 무조건 파일별로 조각 데이터를 생성하는 도 1의 실시예에 비하여, 조각 데이터의 개수를 줄일 수 있어, 네트워크 트래픽을 더욱 감소시킬 수 있다.
도 6은 본 발명의 일 실시예에 따른 데이터 전송 제어 서버의 구성도이다. 이하의 설명에서 도 1 내지 5에 대한 설명과 중복되는 부분은 이를 생략하기로 한다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 데이터 전송 제어 서버(10)는, 메타 데이터 추출부(11), 조각 데이터 생성부(12), 전송 제어부(13) 및 파일 요청 수신부(14)를 포함하는 것을 특징으로 한다.
메타 데이터 추출부는, 제2 파일에 설정된 기설정된 단위 크기 정보를 파일정보 데이터베이스(30)로부터 추출하는 기능을 수행한다.
조각 데이터 생성부(12)는, 제2 파일의 정보를 파일정보 데이터베이스(30)로부터 수신하고, 이에 따라서 하나의 조각 데이터에 포함된 제1 파일의 식별 정보가 동일하도록 제2 파일을 추출된 기설정된 단위 크기에 따라서 조각 데이터들로 분할하는 기능을 수행한다.
조각 데이터 생성부(12)의 구체적인 실시예는 도 2 및 3에 대한 설명에서 언급한 바와 동일하다.
전송 제어부(13)는 분할된 조각 데이터들에 대응하는 데이터들을 제1 사용자 단말들(22)로부터 추출하여 제2 사용자 단말(21)에 전송하도록 제어하는 기능을 수행한다.
한편, 파일 요청 수신부(14)는 제2 사용자 단말(21)로부터 제2 파일에 대한 수신 요청 정보를 수신하는 기능을 수행한다. 이때, 도 4 및 5에 대한 설명에서 언급한 바와 같이, 수신 요청 정보에는 제2 파일에 포함된 제1 파일들 중 일부에 대한 수신 요청이 포함될 수 있다.
도 7은 기존의 조각 데이터 구조를 도시한 것이다.
도 7을 참조하면, 상기 언급한 바와 같이 제2 파일(100)에는 복수의 제1 파일(A, B, C)가 포함될 수 있다.
이때, 기존의 데이터 분할 방식에 의하면, 제2 파일(100)은 P1 내지 P5의 조각 데이터(110)로 분할되는 데, 이때 P2 및 P4 조각 데이터에는 각각 A, B 및 B, C 파일에 관한 데이터가 동시에 존재하게 된다.
이러한 경우에는, P2 및 P4에 의해 A, B, C 중 선택적으로 일부의 파일만을 다운로드하는 것이 불가능한다.
도 8은 본 발명의 각 실시예에 따라 생성되는 조각 데이터의 구조를 도시한 것이다.
도 7과 관련하여 도 8을 참조하면, 제2 파일(100)에는 역시 제1 파일로서 A, B, C 파일이 존재한다.
이때 도 8의 조각 데이터(120)는 P1 내지 P6이 존재하고 있으며, 이때 P2 및 P5를 참조하면, 빈 공간(122)이 존재한다. 빈 공간(122)은, 도 1 내지 6의 실시예에 의해 하나의 제1 파일(P2의 경우 A, P5의 경우 B)만이 존재하도록 하기 위해 조각 데이터의 생성이 완료될 때 생성되는 공간이다. 즉, 도 7과 달리 제1 파일이 달리지는 경우 조각 데이터에 포함시키지 않고, 다음의 조각 데이터(P3 및 P6)를 시작으로 다음의 제1 파일(B, C)의 분할이 시작되도록 하는 것이다.
도 8에서 P1 내지 P6의 크기가 각각 다르게 표시되어 있으나, 이는 빈 공간(122)의 설명을 위해 크기를 다르게 한 것일 뿐, 상기 언급한 바와 같이 기본적으로 P1 내지 P6의 크기를 동일할 것이다.
이 경우, 제2 사용자 단말로부터 제2 파일(100) 중 A, B 만의 다운로드 요청이 있을 시, P1 내지 P5의 조각 데이터만을 추출하여 전송하면 되기 때문에, 불필요한 파일인 C 파일을 다운로드함에 따라서 발생할 수 있는 네트워크 트래픽 및 사용자의 불편함을 감소시킬 수 있는 효과가 있다.
이상에서 전술한 본 발명의 실시예에 따른 데이터 전송 제어 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 실시예에 따른 데이터 전송 제어 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
이러한 프로그램은 컴퓨터에 의해 읽힐 수 있는 기록매체에 기록되고 컴퓨터에 의해 실행됨으로써 전술한 기능들이 실행될 수 있다.
이와 같이, 본 발명의 각 실시예에 따른 데이터 전송 제어 방법을 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다.
이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다.
또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다.
또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈(예: 유선 및/또는 무선 통신 모듈)을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다.
그리고, 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.
이상에서 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는, 일 예로, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 미디어 저장장치 등이 있다.
또한 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는 네트워크로 커넥션된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 이 경우, 다수의 분산된 컴퓨터 중 어느 적어도 하나의 컴퓨터는 상기에 제시된 기능들 중 일부를 실행하고, 그 결과를 다른 분산된 컴퓨터들 중 적어도 하나에 그 실행 결과를 전송할 수 있으며, 그 결과를 전송받은 컴퓨터 역시 상기에 제시된 기능들 중 일부를 실행하여, 그 결과를 역시 다른 분산된 컴퓨터들에 제공할 수 있다.
특히, 본 발명의 각 실시예에 따른 데이터 전송 제어 방법을 실행시키기 위한 프로그램인 애플리케이션을 기록한 컴퓨터로 읽을 수 있는 기록매체는, 애플리케이션 스토어 서버(Application Store Server), 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버(Application Provider Server)에 포함된 저장매체(예: 하드디스크 등)이거나, 애플리케이션 제공 서버 그 자체일 수도 있다.
본 발명의 각 실시예에 따른 데이터 전송 제어 방법을 실행시키기 위한 프로그램인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터는, 일반적인 데스크 탑이나 노트북 등의 일반 PC 뿐만 아니라, 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 모바일 단말기를 포함할 수 있으며, 이뿐만 아니라, 컴퓨팅(Computing) 가능한 모든 기기로 해석되어야 할 것이다.
또한, 본 발명의 실시예에 따른 데이터 전송 제어 방법을 실행시키기 위한 프로그램인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터가 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 모바일 단말기인 경우, 애플리케이션은 애플리케이션 제공 서버에서 일반 PC로 다운로드 되어 동기화 프로그램을 통해 모바일 단말기에 설치될 수도 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 적어도 하나로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (16)

  1. 복수의 제1 파일들을 포함하는 제2 파일을 피투피(Peer to Peer) 네트워크를 통해 전송 시, 상기 제2 파일을 보유한 사용자 단말들인 제1 사용자 단말들 각각으로부터 상기 제2 파일을 기설정된 단위 크기로 나눈 조각 데이터를 추출하여 상기 제1 파일들 중 적어도 하나의 제1 파일에 대한 수신을 요청한 사용자 단말인 제2 사용자 단말에 전송하는 것을 제어하는 데이터 전송 제어 서버가,
    상기 제2 파일의 정보들 중, 상기 제2 파일에 설정된 상기 기설정된 단위 크기 정보를 추출하는 단계;
    하나의 조각 데이터에 포함된 제1 파일의 식별 정보가 동일하도록 상기 제2 파일을 상기 추출된 기설정된 단위 크기의 조각 데이터들로 분할하는 단계; 및
    상기 분할된 조각 데이터들에 대응하는 데이터들을 상기 제1 사용자 단말들에 저장된 제2 파일들로부터 각각 추출하여 상기 제2 사용자 단말에 전송하도록 제어하는 단계;를 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
  2. 제1항에 있어서,
    상기 조각 데이터들로 분할하는 단계는,
    상기 제1 파일들을 상기 조각 데이터로 분할 시, 상기 제1 파일의 분할이 완료되고 새로운 제1 파일의 분할이 시작됨을 감지하는 단계;
    상기 새로운 제1 파일의 분할이 시작됨을 감지 시, 상기 제1 파일이 포함된 조각 데이터의 생성을 완료하는 단계; 및
    상기 새로운 제1 파일을 상기 생성이 완료된 조각 데이터의 다음 조각 데이터를 시작으로 하는 조각 데이터들로 분할하는 단계;를 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
  3. 제1항에 있어서,
    상기 조각 데이터들로 분할하는 단계는,
    상기 제2 파일을 상기 추출된 기설정된 단위 크기의 제1 조각 데이터들로 분할하는 단계;
    상기 분할된 제1 조각 데이터에 포함된 제1 파일의 식별 정보를 추출하는 단계;
    상기 분할된 제1 조각 데이터들 중, 상기 추출된 제1 파일의 식별 정보가 둘 이상인 제1 조각 데이터를 선택하는 단계;
    상기 선택된 제1 조각 데이터를 동일한 제1 파일의 식별 정보만을 포함하도록 상기 추출된 제1 파일의 식별 정보의 개수만큼의 제2 조각 데이터로 분할하는 단계; 및
    상기 제2 조각 데이터와, 상기 추출된 제1 파일의 식별 정보가 하나인 제1 조각 데이터를 상기 제2 파일의 조각 데이터로 결정하는 단계;를 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
  4. 제1항에 있어서,
    상기 제2 사용자 단말에 전송하도록 제어하는 단계는,
    상기 제2 사용자 단말로부터 상기 복수의 제1 파일들 중 일부의 제1 파일에 대한 수신 요청 정보를 수신하는 단계; 및
    상기 분할된 조각 데이터들 중, 상기 수신 요청 정보에 대응하는 제1 파일에 관한 조각 데이터들을 상기 제1 사용자 단말들 각각으로부터 추출하여 상기 제2 사용자 단말에 전송하도록 제어하는 단계;를 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
  5. 제1항에 있어서,
    상기 기설정된 단위 크기는 상기 제2 파일에 따라서 서로 다르게 설정되는 것을 특징으로 하는 데이터 전송 제어 방법.
  6. 복수의 제1 파일들을 포함하는 제2 파일을 피투피(Peer to Peer) 네트워크를 통해 전송 시, 상기 제2 파일을 보유한 사용자 단말들인 제1 사용자 단말들 각각으로부터 상기 제2 파일을 기설정된 단위 크기로 나눈 조각 데이터를 추출하여 상기 제1 파일들 중 적어도 하나의 제1 파일에 대한 수신을 요청한 사용자 단말인 제2 사용자 단말에 전송하는 것을 제어하는 데이터 전송 제어 서버가,
    상기 제2 사용자 단말로부터 상기 제2 파일에 대한 수신 요청 정보를 수신하는 단계;
    상기 제2 파일의 정보들 중, 상기 제2 파일에 설정된 상기 기설정된 단위 크기 정보를 추출하는 단계;
    상기 수신 요청 정보에 상기 제2 파일에 포함된 복수의 제1 파일들 중 일부에 대한 수신 요청이 포함된 경우, 하나의 조각 데이터에 포함된 제1 파일의 식별 정보가 동일하도록 상기 제2 파일을 상기 추출된 기설정된 단위 크기의 조각 데이터들로 분할하는 단계; 및
    상기 분할된 조각 데이터들 중 상기 수신 요청 정보에 포함된 제1 파일의 조각 데이터들에 대응하는 데이터들을 상기 제1 사용자 단말들 각각으로부터 추출하여 상기 제2 사용자 단말에 전송하도록 제어하는 단계;를 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
  7. 제6항에 있어서,
    상기 제2 사용자 단말로부터 상기 제2 파일에 대한 수신 요청 정보를 수신하는 단계 후,
    상기 수신 요청 정보에 상기 제2 파일에 포함된 복수의 제1 파일 전부에 대한 수신 요청이 포함된 경우, 상기 제2 파일을 상기 추출된 기설정된 단위 크기의 조각 데이터들로 분할하는 단계; 및
    상기 분할된 조각 데이터들 중 상기 수신 요청 정보에 포함된 일부의 제2 파일에 대응하는 조각 데이터들을 상기 제1 사용자 단말들 각각으로부터 추출하여 상기 제2 사용자 단말에 전송하도록 제어하는 단계;를 더 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
  8. 제6항에 있어서,
    상기 조각 데이터들로 분할하는 단계는,
    상기 제1 파일들을 상기 조각 데이터로 분할 시, 상기 제1 파일의 분할이 완료되고 새로운 제1 파일의 분할이 시작됨을 감지하는 단계;
    상기 새로운 제1 파일의 분할이 시작됨을 감지 시, 상기 제1 파일이 포함된 조각 데이터의 생성을 완료하는 단계; 및
    상기 새로운 제1 파일을 상기 생성이 완료된 조각 데이터의 다음 조각 데이터를 시작으로 하는 조각 데이터들로 분할하는 단계;를 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
  9. 제6항에 있어서,
    상기 조각 데이터들로 분할하는 단계는,
    상기 제2 파일을 상기 추출된 기설정된 단위 크기의 제1 조각 데이터들로 분할하는 단계;
    상기 분할된 제1 조각 데이터에 포함된 제1 파일의 식별 정보를 추출하는 단계;
    상기 분할된 제1 조각 데이터들 중, 상기 추출된 제1 파일의 식별 정보가 둘 이상인 제1 조각 데이터를 선택하는 단계;
    상기 선택된 제1 조각 데이터를 동일한 제1 파일의 식별 정보만을 포함하도록 상기 추출된 제1 파일의 식별 정보의 개수만큼의 제2 조각 데이터로 분할하는 단계; 및
    상기 제2 조각 데이터와, 상기 추출된 제1 파일의 식별 정보가 하나인 제1 조각 데이터를 상기 제2 파일의 조각 데이터로 결정하는 단계;를 포함하는 것을 특징으로 하는 데이터 전송 제어 방법.
  10. 복수의 제1 파일들을 포함하는 제2 파일을 피투피(Peer to Peer) 네트워크를 통해 전송 시, 상기 제2 파일의 정보들 중, 상기 제2 파일을 보유한 사용자 단말들인 제1 사용자 단말들 각각으로부터 상기 제2 파일을 기설정된 단위 크기로 나눈 조각 데이터를 추출하여 상기 제1 파일들 중 적어도 하나의 제1 파일에 대한 수신을 요청한 사용자 단말인 제2 사용자 단말에 전송하기 위해 상기 제2 파일에 설정된 상기 기설정된 단위 크기 정보를 추출하는 메타데이터 추출부;
    하나의 조각 데이터에 포함된 제1 파일의 식별 정보가 동일하도록 상기 제2 파일을 상기 추출된 기설정된 단위 크기의 조각 데이터들로 분할하는 조각 데이터 생성부; 및
    상기 분할된 조각 데이터들에 대응하는 데이터들을 상기 제1 사용자 단말들 각각으로부터 추출하여 상기 제2 사용자 단말에 전송하도록 제어하는 전송 제어부;를 포함하는 것을 특징으로 하는 데이터 전송 제어 서버.
  11. 제10항에 있어서,
    상기 조각 데이터 생성부는,
    상기 제1 파일들을 상기 조각 데이터로 분할 시, 상기 제1 파일의 분할이 완료되고 새로운 제1 파일의 분할이 시작됨을 감지 시, 상기 제1 파일이 포함된 조각 데이터의 생성을 완료하고, 상기 새로운 제1 파일을 상기 생성이 완료된 조각 데이터의 다음 조각 데이터를 시작으로 하는 조각 데이터들로 분할하는 것을 특징으로 하는 데이터 전송 제어 서버.
  12. 제10항에 있어서,
    상기 조각 데이터 생성부는,
    상기 제2 파일을 상기 추출된 기설정된 단위 크기의 제1 조각 데이터들로 분할한 후, 상기 분할된 제1 조각 데이터에 포함된 제1 파일의 식별 정보를 추출하여 상기 분할된 제1 조각 데이터들 중, 상기 추출된 제1 파일의 식별 정보가 둘 이상인 제1 조각 데이터를 선택하고, 상기 선택된 제1 조각 데이터를 동일한 제1 파일의 식별 정보만을 포함하도록 상기 추출된 제1 파일의 식별 정보의 개수만큼의 제2 조각 데이터로 분할한 뒤, 상기 제2 조각 데이터와, 상기 추출된 제1 파일의 식별 정보가 하나인 제1 조각 데이터를 상기 제2 파일의 조각 데이터로 결정하는 것을 특징으로 하는 데이터 전송 제어 서버.
  13. 제10항에 있어서,
    상기 제2 사용자 단말로부터 상기 제2 파일에 대한 수신 요청 정보를 수신하는 파일 요청 수신부;를 더 포함하는 것을 특징으로 하는 데이터 전송 제어 서버.
  14. 제13항에 있어서,
    상기 조각 데이터 생성부는,
    상기 수신 요청 정보에 상기 제2 파일에 포함된 복수의 제1 파일들 중 일부에 대한 수신 요청이 포함된 경우, 하나의 조각 데이터에 포함된 제1 파일의 식별 정보가 동일하도록 상기 제2 파일을 상기 추출된 기설정된 단위 크기의 조각 데이터들로 분할하는 것을 특징으로 하는 데이터 전송 제어 서버.
  15. 제13항에 있어서,
    상기 조각 데이터 생성부는,
    상기 수신 요청 정보에 상기 제2 파일에 포함된 복수의 제1 파일들 전부에 대한 수신 요청이 포함된 경우, 조각 데이터에 포함된 제1 파일의 식별 정보의 개수와 무관하게 상기 제2 파일을 상기 추출된 기설정된 단위 크기의 조각 데이터들로 분할하는 것을 특징으로 하는 데이터 전송 제어 서버.
  16. 제1항 또는 제6항의 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
KR1020130082596A 2013-07-15 2013-07-15 데이터 전송 제어 방법 및 서버 KR20150008541A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130082596A KR20150008541A (ko) 2013-07-15 2013-07-15 데이터 전송 제어 방법 및 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130082596A KR20150008541A (ko) 2013-07-15 2013-07-15 데이터 전송 제어 방법 및 서버

Publications (1)

Publication Number Publication Date
KR20150008541A true KR20150008541A (ko) 2015-01-23

Family

ID=52572071

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130082596A KR20150008541A (ko) 2013-07-15 2013-07-15 데이터 전송 제어 방법 및 서버

Country Status (1)

Country Link
KR (1) KR20150008541A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160134909A (ko) * 2015-05-13 2016-11-24 주식회사 엘지유플러스 통신 단말기 및 그 통신 단말기에 포함된 가상 파일 시스템 모듈 및 그 제어방법과, 그 제어방법을 실행하기 위한 프로그램을 기록한 기록 매체와, 하드웨어와 결합되어 그 제어방법을 실행시키기 위하여 매체에 저장된 애플리케이션
KR20170030987A (ko) * 2015-09-10 2017-03-20 엘지전자 주식회사 영상표시장치 및 그 장치의 제어 방법
CN114979113A (zh) * 2021-02-23 2022-08-30 华为技术有限公司 一种文件传输方法、装置及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160134909A (ko) * 2015-05-13 2016-11-24 주식회사 엘지유플러스 통신 단말기 및 그 통신 단말기에 포함된 가상 파일 시스템 모듈 및 그 제어방법과, 그 제어방법을 실행하기 위한 프로그램을 기록한 기록 매체와, 하드웨어와 결합되어 그 제어방법을 실행시키기 위하여 매체에 저장된 애플리케이션
KR20170030987A (ko) * 2015-09-10 2017-03-20 엘지전자 주식회사 영상표시장치 및 그 장치의 제어 방법
CN114979113A (zh) * 2021-02-23 2022-08-30 华为技术有限公司 一种文件传输方法、装置及系统
CN114979113B (zh) * 2021-02-23 2023-12-15 华为技术有限公司 一种文件传输方法、装置及系统

Similar Documents

Publication Publication Date Title
US10387451B2 (en) Synchronization system for multiple client devices
US11296940B2 (en) Centralized configuration data in a distributed file system
US10205800B2 (en) Application takeover method and system, mobile terminal, and server
CN102223416B (zh) 一种媒体文件的传输方法及系统
CN103024081B (zh) 适用于有时效保证通讯系统的点对点通讯的终端调度方法
US20160352811A1 (en) Streaming zip
US10708378B2 (en) Data processing method and apparatus, server, and controller
CN102915249A (zh) 远程地实现固件升级的方法和装置
CN104488248A (zh) 一种文件同步方法、服务器及终端
US9628567B2 (en) Methods and systems for efficient discovery of devices in a peer-to-peer network
KR20120048525A (ko) Sms를 통해 원격 디바이스를 제어하는 방법 및 이를 위한 장치
CN110035306A (zh) 文件的部署方法及装置、调度方法及装置
US9351101B2 (en) Communication method and apparatus for NFC device and NFC device
US20120143943A1 (en) Cloud service system and method, and recording medium
KR20090003405A (ko) 파일 업로드 시스템 및 방법
EP3506599B1 (en) Method for synchronizing contact information, apparatus and medium
KR20150008541A (ko) 데이터 전송 제어 방법 및 서버
US8599707B2 (en) Power based content modification, transmission, and caching
CN102904935B (zh) 基于家庭网关的下载方法、设备和系统
WO2014138892A1 (en) Method and apparatus for peer-to-peer file sharing
US20130268629A1 (en) Method and device for digital data communication
KR100897353B1 (ko) 모바일 애플리케이션 제공 방법 및 이를 실현시키기 위한프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
KR20160026138A (ko) 클라우드 데이터 시스템의 급속 동기화 방법 및 그를 이용한 클라우드 데이터 시스템
US20140149499A1 (en) Remote request fulfillment and delivery
CN102664892A (zh) 一种自主下拉式内容调度的方法及服务节点

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination