KR20140003960A - P2p 시스템에서의 파일 공유 방법 및 장치 - Google Patents

P2p 시스템에서의 파일 공유 방법 및 장치 Download PDF

Info

Publication number
KR20140003960A
KR20140003960A KR1020120071911A KR20120071911A KR20140003960A KR 20140003960 A KR20140003960 A KR 20140003960A KR 1020120071911 A KR1020120071911 A KR 1020120071911A KR 20120071911 A KR20120071911 A KR 20120071911A KR 20140003960 A KR20140003960 A KR 20140003960A
Authority
KR
South Korea
Prior art keywords
file
fragment
terminal
peer
information
Prior art date
Application number
KR1020120071911A
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 KR1020120071911A priority Critical patent/KR20140003960A/ko
Priority to US13/933,850 priority patent/US20140006511A1/en
Publication of KR20140003960A publication Critical patent/KR20140003960A/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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/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
    • 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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 P2P 시스템에서의 파일 공유 방법 및 장치에 관한 것으로, 본 발명의 일 실시 예에 따른 P2P(Peer to Peer) 네트워크에서 단말 간 파일 공유 방법은, 공유가 허여된 파일을 분할하여 적어도 두 개의 조각 파일들을 생성하는 단계; 상기 조각 파일들을 이용하여 상기 공유가 허여된 파일을 복원하는 데 이용되는 파일 분할 정보를 생성하는 단계; 및 각각의 상기 조각 파일들에 상기 파일 분할 정보를 결합하여 적어도 하나의 피어 단말로 전송하는 단계를 포함한다. 본 발명에 따르면, 사용자의 개입이 없이도 단말 간에 파일이 자동으로 전송될 수 있도록 함으로써 좀 더 능동적인 파일 공유가 이루어질 수 있다.

Description

P2P 시스템에서의 파일 공유 방법 및 장치{FILE SHARING METHOD OF PEER TO PEER SYSTEM AND APPARATUS THEREOF}
본 발명은 파일 공유 방법 및 장치에 관한 것으로, 특히 P2P 시스템에서의 파일 공유 방법 및 장치에 관한 것이다.
P2P(Peer to Peer) 시스템은 인터넷에서 개인과 개인이 직접 연결되어 원하는 콘텐츠를 서로 공유하는 방식이다. 즉, 기존의 서버와 클라이언트 개념이나 공급자와 소비자 개념에서 벗어나 개인 단말끼리 직접 연결하여 파일을 전송할 수 있도록 하는 형태이다.
종래 P2P 시스템에서 특정 파일의 전송을 요구하는 사용자 단말은 피어 단말에게 상기 특정 파일을 전송하여 줄 것을 요청하여야 하며, 상기 요청을 수신한 피어 단말은 자신에게 해당 파일이 존재하는지 검색한 후 상기 요청을 전송한 단말로 해당 파일을 전송한다. 즉, 종래의 P2P 시스템에서 사용자 단말과 피어 단말은 파일 공유를 위하여 많은 노력을 들여야 한다.
한편, 사용자 단말이 피어 단말에게 파일 전송 요청을 하기 위하여는 사용자 단말과 피어 단말은 로컬 네트워크에 있어야 한다. 따라서, 종래의 P2P 시스템에서 단말 간의 파일 공유는 로컬 네트워크에 제한된다. 만약 피어 단말이 다른 네트워크로 이동한 경우, 사용자 단말은 더 이상 상기 특정 파일을 다운로드할 수 없다.
따라서, 본 발명은, 사용자의 개입 없이 파일 공유가 이루어지는 능동적인 파일 공유 방안을 제공한다.
또한, 본 발명은, 서로 다른 네트워크 간에 파일 공유가 이루어질 수 있도록 하는 파일 공유 방안을 제공한다.
그 외의 본 발명에서 제공하고자 하는 목적은, 하기의 실시 예들을 통하여 파악될 수 있다.
이를 위하여, 본 발명의 일 실시 예에 따른 P2P(Peer to Peer) 네트워크에서 단말 간 파일 공유 방법은, 공유가 허여된 파일을 분할하여 적어도 두 개의 조각 파일들을 생성하는 단계; 상기 조각 파일들을 이용하여 상기 공유가 허여된 파일을 복원하는 데 이용되는 파일 분할 정보를 생성하는 단계; 및 각각의 상기 조각 파일들에 상기 파일 분할 정보를 결합하여 적어도 하나의 피어 단말로 전송하는 단계를 포함한다.
한편, 본 발명의 일 실시 예에 따른 P2P(Peer to Peer) 네트워크에서 단말 간 파일 공유 방법은, 공유가 허여된 파일이 적어도 두 개로 분할되어 생성된 조각 파일들 중 적어도 하나의 조각 파일을 피어 단말로부터 수신하는 단계; 및 네트워크 변경이 있는 경우, 변경된 네트워크에 존재하는 적어도 하나의 피어 단말로 상기 수신된 적어도 하나의 조각 파일을 전송하는 단계를 포함한다.
한편, 본 발명의 일 실시 예에 따른 P2P(Peer to Peer) 네트워크에서 단말 간 파일 공유 장치는, 공유가 허여된 파일을 분할하여 적어도 두 개의 조각 파일을 생성하고, 상기 조각 파일들을 이용하여 상기 공유가 허여된 파일을 복원하는 데 이용되는 파일 분할 정보를 생성하여 각각의 상기 조각 파일들에 결합하는 제어부; 및 상기 파일 분할 정보가 결합된 조각 파일들을 적어도 하나의 피어 단말로 전송하는 송수신부를 포함한다.
한편, 본 발명의 일 실시 예에 따른 P2P(Peer to Peer) 네트워크에서 단말 간 파일 공유 장치는, 피어 단말과의 송수신을 수행하는 송수신부; 및 공유가 허여된 파일이 적어도 두 개로 분할되어 생성된 조각 파일들 중 적어도 하나의 조각 파일이 피어 단말로부터 수신된 이후 네트워크 변경이 있다면 변경된 네트워크에 존재하는 적어도 하나의 피어 단말로 상기 수신된 적어도 하나의 조각 파일을 전송하는 제어부를 포함한다.
본 발명에 따르면, 사용자의 개입이 없이도 단말 간에 파일이 자동으로 전송될 수 있도록 함으로써 좀 더 능동적인 파일 공유가 이루어질 수 있다. 이러한 본 발명은 서로 다른 네트워크 사이를 이동하는 단말에 적용될 수 있으며, 결과적으로 서로 다른 네트워크 간의 파일 공유가 가능하도록 하는 이점이 있다.
도 1은 본 발명의 실시 예들에 따른 파일 공유 방법의 개념을 설명하기 위한 예시도,
도 2는 본 발명의 일 실시 예에 따라 조각 파일을 생성하는 단말 입장에서 파일 공유 과정을 설명하기 위한 흐름도,
도 3은 본 발명의 일 실시 예에 따른 파일 분할 정보를 설명하기 위한 예시도,
도 4는 본 발명의 일 실시 예에 따라 수신된 조각 파일을 중계하는 단말 입장에서 파일 공유 과정을 설명하기 위한 흐름도,
도 5는 본 발명의 일 실시 예에 따라 조각 파일의 전송을 요청하는 단말 입장에서 파일 공유 과정을 설명하기 위한 흐름도,
도 6은 본 발명의 일 실시 예에 따라 조각 파일 전송 요청을 수신한 단말 입장에서 파일 공유 과정을 설명하기 위한 흐름도,
도 7은 본 발명의 일 실시 예에 따른 파일 공유 장치를 설명하기 위한 블록도.
이하에서, 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
전술한 바와 같이, 종래 이용되는 P2P 시스템에서의 파일 공유 방법에 따르면, 사용자의 개입 없이는 파일 공유가 이루어질 수 없으며, 또한, 이동성이 강한 네트워크에서는 단말 간의 파일 공유가 쉽지 않은 문제점이 있다.
이에, 본 발명에서는, 사용자의 개입 없이 파일 공유가 이루어질 수 있도록 하는 방안을 제공한다. 또한, 서로 다른 네트워크 사이를 이동하는 단말에 의한 파일 공유가 가능하도록 함으로써, 결과적으로 서로 다른 네트워크 간에 파일 공유가 가능하도록 하는 방안을 제공한다.
이하, 첨부되는 도면을 참조하여 본 발명의 실시 예들을 설명한다.
먼저, 도 1을 참조하여 본 발명의 실시 예들에 따른 파일 공유 방법의 개념에 대하여 설명한다.
네트워크(110)에 존재하는 단말(111)은 공유가 허여된 파일을 임의의 개수로 분할하고, 그로 인하여 생성된 조각 파일들(chunk 1, chunk 2, chunk 3)을 피어 단말들(112, 113, 114)에게 전송한다. 이러한 조각 파일의 전송은 사용자의 개입 없이 능동적으로 이루어진다. 공유가 허여된 파일은, 단말(111)의 특정 디렉토리 내에 존재하는 파일일 수 있다.
이 후, 조각 파일들(chunk 1, chunk 2, chunk 3) 중 어느 하나를 수신한 피어 단말들(112, 113, 114)이 다른 네트워크(120, 130) 로 이동하는 경우, 이동한 피어 단말(112, 113, 114)은 이전에 수신하였던 조각 파일을 해당 네트워크 내의 피어 단말에 전송한다. 도 1에서 점선은 단말의 이동 경로를 표시한 것이다. 피어 단말들(112, 113, 114)은 네트워크가 변경되는 경우마다 해당 조각 파일들을 전송하거나, 설정된 주기마다 해당 조각 파일들을 전송할 수 있다.
한편, 단말(111)은, 조각 파일의 생성 시에, 해당 조각 파일들을 이용하여 원래의 파일, 즉 상기 공유가 허여된 파일을 복원하는 데 이용되는 파일 분할 정보를 생성하여 네트워크 상에 공개한다. 이러한 공개는 조각 파일들의 전송과 별개로 이루어질 수도 있고, 상기 조각 파일들에 결합된 형태로 이루어질 수도 있다.
따라서, 모든 조각 파일들이 수신된 경우, 단말(131)은 해당 조각 파일들의 파일 분할 정보를 참조하여 해당 조각 파일들을 복원한다.
한편, 상기 조각 파일 중 적어도 하나의 전송은 단말(131)의 요구로 인하여 이루어질 수 있다. 예를 들어, 단말(131)에 최초로 조각 파일(chunk 1)이 수신되었다고 가정하자. 이 때, 단말은, 해당 조각 파일의 파일 분할 정보를 참조하여 조각 파일(chunk 1)이 사용자가 요구하는 파일로부터 분할된 조각 파일이라 판단되는 경우, 나머지 조각 파일들(chunk 2, chunk 3)의 전송을 피어 단말들(113, 114)에게 요청하고, 이러한 요청을 수신한 피어 단말들(113, 114)은 해당 조각 파일이 있는지 검색하고, 해당 조각 파일을 저장하고 있다면 단말(131)에 해당 조각 파일을 전송한다.
이러한, 본 발명에 따르면, 사용자의 개입 없이도 단말 간 파일 공유가 가능한 이점이 있으며, 또한, 서로 다른 네트워크(110, 120, 130)를 오가는 단말 사이에서도 파일 공유가 가능한 이점이 있다.
이상에서는, 도 1을 참조하여, 본 발명의 일 실시 예에 따른 파일 공유 방법에 대하여 살펴보았다. 이하에서는, 관련되는 도면을 참조하여, 본 발명의 일 실시 예에 따른 파일 공유 방법에 대하여 좀 더 구체적으로 설명한다.
도 2는 본 발명의 일 실시 예에 따른 파일 공유 과정을 설명하기 위한 흐름도이다. 도 2에는, 공유가 허여된 파일을 분할하여 조각 파일을 생성하는 단말 입장을 도시하였다.
단계(201)에서, 사용자 단말은, 공유가 허여된 파일을 분할하여 조각 파일을 생성한다. 여기서, 공유가 허여된 파일이란, 피어 단말로의 전송이 허여된 파일을 의미한다. 상기 공유가 허여된 파일은, 특정 디렉토리 내에 존재하는 파일이거나, 사용자가 별도로 지정한 파일일 수 있다.
한편, 공유가 허여된 파일을 분할함에 있어, 사용자 단말은, 피어 단말의 수를 기반으로 상기 공유가 허여된 파일을 분할할 수 있다. 예를 들어, 피어 단말의 수가 3개인 경우, 사용자 단말은, 상기 공유가 허여된 파일을 3개로 분할할 수 있다. 공유가 허여된 파일을 몇 개로 분할할지 여부는 설정에 따라 달리할 수 있다.
단계(203)에서, 사용자 단말은, 파일 분할 정보를 생성한다. 파일 분할 정보란, 단계(201)에서 생성된 조각 파일들을 이용하여 원래의 파일, 즉 공유가 허여된 파일을 복원하는 데 이용되는 정보를 의미한다. 일 실시 예에서, 파일 분할 정보가 생성되면, 사용자 단말은, 생성된 파일 분할 정보를 각각의 조각 파일에 결합한다. 파일 분할 정보의 일 예를 도 3을 참조하여 설명한다.
본 발명의 일 실시 예에 따라 각각의 조각 파일(310)에 결합되는 파일 분할 정보는, 해당 조각 파일(310)이 어떠한 파일로부터 분할된 것인지를 나타내는 정보, 즉 파일 식별 정보(320)를 포함한다. 또한, 해당 파일이 총 몇 개의 조각 파일로 분할되었는지 여부를 나타내는 정보(322) 및 해당 조각 파일이 몇 번째 조각 파일인지 여부를 나타내는 정보(324)를 포함한다. 실시 예에 따라, 해당 파일이 어떠한 카테고리에 속하는지를 나타내는 카테고리 정보(326), 해당 파일의 크기 정보(328) 및 해당 조각 파일의 크기 정보(330) 중 적어도 하나가 더 포함될 수 있다.
단계(205)에서, 사용자 단말은, 파일 분할 정보가 결합된 각각의 조각 파일을 피어 단말들로 전송한다. 이 때, 사용자 단말은, 조각 파일을 피어 단말에 하나씩 분배하여 전송할 수 있다. 예를 들어, 공유가 허여된 파일을 3개로 분할하여 조각 파일 1, 조각 파일 2 및 조각 파일 3을 생성한 경우, 사용자 단말은 조각 파일 1을 피어 단말 A에게, 조각 파일 2를 피어 단말 B에게, 조각 파일 3을 피어 단말 C에게 전송할 수 있다.
이상에서는, 도 2 및 도 3을 참조하여 공유가 허여된 파일을 분할하여 조각 파일을 생성하는 단말 입장의 파일 공유 과정에 대하여 설명하였다. 이하에서는, 관련되는 도면을 참조하여 조각 파일을 수신하고 중계(relay)하는 단말 입장에서 본 발명의 일 실시 예에 따른 파일 공유 과정에 대하여 설명한다.
도 4는 본 발명의 일 실시 예에 따른 파일 공유 과정을 설명하기 위한 흐름도이다. 도 4에는, 조각 파일을 수신하고 중계하는 단말 입장을 도시하였다.
단계(401)에서, 조각 파일이 수신되면, 사용자 단말은, 해당 조각 파일을 설정된 영역에 저장한 후, 단계(403)로 진행한다. 여기서, 해당 조각 파일을 설정된 영역에 저장한다는 것은, 해당 조각 파일이 피어 단말들로의 공유가 허여되도록 저장한다는 것을 의미한다. 예를 들어, 네트워크가 변경되는 등의 이벤트가 발생한 경우 또는 다른 피어 단말로부터의 전송 요청이 있을 때, 해당 조각 파일의 전송이 자동으로 이루어질 수 있도록 저장하는 것을 의미한다.
단계(403)에서, 사용자 단말은, 네트워크가 변경되었는지 확인하고, 네트워크가 변경되었다면 단계(405)로 진행한다. 여기서, 네트워크가 변경되었다는 것은, 예를 들어 사용자 단말이 어느 하나의 와이파이 네트워크에서 다른 하나의 와이파이 네트워크로 이동한 경우, 또는 어느 하나의 와이파이 네트워크에서 어느 하나의 애드 혹 네트워크로 이동한 경우, 또는 어느 하나의 애드 혹 네트워크에서 다른 하나의 애드 혹 네트워크로 이동한 경우 등을 의미한다.
단계(405)에서, 사용자 단말은, 단계(401)에서 수신한 조각 파일, 즉 공유가 허여된 조각 파일을 변경된 네트워크 상에 존재하는 피어 단말들에게 전송한다.
이상에서는, 도 4를 참조하여 본 발명의 일 실시 예에 따라 조각 파일을 수신하고 중계하는 단말 입장에서의 파일 공유 방법에 대하여 설명하였다. 한편, 사용자는 특정한 카테고리에 해당하는 파일을 지정하여 해당 파일의 전송이 우선 순위를 가지고 더욱 빠르게 이루어지도록 할 수 있다. 이를 도 5를 참조하여 설명한다.
도 5는 본 발명의 일 실시 예에 따라 조각 파일의 전송을 요청하는 단말 입장의 파일 공유 방법을 설명하기 위한 흐름도이다.
단계(501)에서, 조각 파일이 수신되면, 사용자 단말은, 단계(503)로 진행한다.
단계(503)에서, 사용자 단말은, 수신된 조각 파일이 설정된 카테고리에 해당하는 파일의 조각 파일인지 확인한다. 설정된 카테고리란, 사용자가 선호하는 카테고리, 예를 들어 영화 또는 음악과 관련된 카테고리로서 사용자에 의하여 지정된 카테고리를 의미한다. 사용자 단말은, 수신된 조각 파일이 설정된 카테고리에 해당하는 파일의 조각 파일인지 여부를 확인하기 위하여, 수신된 조각 파일에 결합된 파일 분할 정보를 참조한다. 도 3을 참조하여 전술한 바와 같이, 실시 예에 따라 파일 분할 정보는 해당 조각 파일의 카테고리 정보를 더 포함할 수 있다. 따라서, 사용자 단말은 수신된 조각 파일의 파일 분할 정보 중 카테고리 정보를 참조하여 수신된 조각 파일이 설정된 카테고리에 해당하는 파일의 조각 파일인지 여부를 확인할 수 있다.
만약, 수신된 조각 파일이 설정된 카테고리에 해당하는 파일의 조각 파일인 경우, 사용자 단말은, 단계(505)로 진행한다.
단계(505)에서, 사용자 단말은, 수신된 조각 파일이 속하는 파일의 나머지 조각 파일들을 전송하여 줄 것을 요청하는 메시지를 피어 단말들로 전송한 후, 단계(505)로 진행한다. 상기 나머지 조각 파일들을 전송하여 줄 것을 요청하는 메시지에는, 네트워크 상에서 자신을 식별하기 위한 식별 정보, 해당 파일의 파일 식별 정보 및 몇 번째 조각 파일의 전송을 요청하는 것인지에 대한 정보를 포함할 수 있다.
단계(507)에서, 사용자 단말은, 상기 나머지 조각 파일들을 수신하기 위한 저장 영역을 확보한다. 예를 들어, 사용자 단말에 여러 다른 파일로부터 분할된 조각 파일들이 저장되어 있어, 상기 나머지 조각 파일들을 수신하여 저장할 수 없는 경우, 사용자 단말은 다른 파일로부터 분할된 조각 파일들을 삭제할 수 있다. 또는, 사용자 단말에 상기 나머지 조각 파일들을 수신하여 저장하는 데 충분한 저장 영역이 있다 하더라도, 상기 나머지 조각 파일들의 수신 이전에 다른 파일로부터 분할된 조각 파일들이 저장되어 여유 공간이 부족해지는 것을 방지하기 위하여 상기 나머지 조각 파일들을 위한 저장 영역을 확보할 수 있다. 저장 영역의 확보는 상기 나머지 조각 파일들의 크기를 예측하여 이루어질 수 있다. 예를 들어, 도 3을 참조하여 설명한 바와 같이, 파일 분할 정보는 해당 파일의 크기 정보 및 해당 조각 파일의 크기 정보를 포함할 수 있으므로, 사용자 단말은, 이러한 정보들을 이용하여 저장 영역을 확보할 수 있다. 실시 예에 따라, 단계(507)는 생략될 수 있다.
단계(509)에서, 사용자 단말은, 다른 피어 단말로부터 상기 나머지 조각 파일들을 수신하여 저장하고, 파일 분할 정보를 참조하여 파일 복원을 수행한다. 도 3을 참조하여 전술한 바와 같이, 파일 분할 정보에는 해당 파일을 식별하기 위한 파일 식별 정보, 해당 파일이 몇 개의 조각 파일로 분할되었는지 여부를 나타내는 정보 및 해당 조각 파일이 몇 번째 조각 파일인지에 관한 정보를 포함하고 있으므로, 사용자 단말은 이러한 정보들을 이용하여 원래의 파일을 복원할 수 있다.
이상에서는, 도 5를 참조하여 본 발명의 일 실시 예에 따라 조각 파일의 전송을 요청하는 단말 입장의 파일 공유 방법에 대하여 설명하였다. 이하에서는, 관련되는 도면을 참조하여 본 발명의 일 실시 예에 따라 조각 파일 전송 요청을 수신한 단말 입장의 파일 공유 방법에 대하여 설명한다.
도 6은 본 발명의 일 실시 예에 따라 피어 단말로부터 조각 파일 전송 요청을 수신한 단말 입장의 파일 공유 방법을 설명하기 위한 흐름도이다.
단계(601)에서, 피어 단말로부터 조각 파일 전송 요청이 있는 경우, 사용자 단말은, 단계(603)로 진행한다. 상기 전송 요청에는, 네트워크 상에서 자신을 식별하기 위한 식별 정보, 해당 파일의 파일 식별 정보 및 몇 번째 조각 파일의 전송을 요청하는 것인지에 대한 정보가 포함될 수 있다.
단계(603)에서, 사용자 단말은, 해당 조각 파일이 저장되어 있는지 검색하고, 만약 해당 조각 파일이 저장되어 있다면 단계(605)로 진행하고, 그렇지 않으면 단계(607)로 진행한다.
피어 단말로부터의 전송 요청이 있는 조각 파일이 저장되어 있다고 판단하여 진행한 단계(605)에서, 사용자 단말은, 상기 전송 요청을 수행한 피어 단말에게 요청된 조각 파일을 전송한다.
한편, 피어 단말로부터의 전송 요청이 있는 조각 파일이 저장되어 있지 않다고 판단하여 진행한 단계(607)에서, 사용자 단말은, 해당 조각 파일이 없음을 알리는 메시지를 피어 단말에 전송한다.
이상에서는, 도 6을 참조하여 본 발명의 일 실시 예에 따라 조각 파일 전송 요청을 수신하는 단말 입장의 파일 공유 방법에 대하여 설명하였다. 이하에서는, 조각 파일을 전송하여 줄 것을 요청한 단말에서 일부 조각 파일을 수신하지 못한 경우, 수신되지 않은 조각 파일을 찾기 위한 방안에 대하여 설명한다.
피어 단말로 조각 파일 전송 요청을 전송한 이후, 일부 조각 파일을 수신하지 못한 경우, 사용자 단말은, 수신되지 않은 조각 파일(이하, 특정 조각 파일이라 함)을 찾기 위하여 분산 해쉬 테이블(Distributed Hash Table; DHT) 기법 또는 프리픽스 해쉬 테이블(Prefix Hash Table; PHT) 기법을 이용할 수 있다. 이를 위하여, 네트워크 상에 존재하는 모든 단말들은 해쉬 테이블을 작성하고 관리한다고 가정한다. 특정 조각 파일을 전송하여 줄 것을 요청하는 메시지는 DHT 기법 또는 PHT 기법에 따라 단말에서 단말로 전송되며, 이에 따라 사용자 단말은 상기 특정 조각 파일을 저장하는 단말을 찾을 수 있다. 한편, 네트워크 상에 존재하는 단말들이 GPS(Global Positioning System)를 이용하는 경우, 사용자 단말은 상기 특정 조각 파일을 저장하는 단말의 위치를 파악할 수 있으며, 이에 따라, 사용자에게 상기 특정 조각 파일의 수신 가능 위치를 안내할 수 있다. 즉, 상기 특정 조각 파일을 저장하는 단말의 GPS 정보를 수신하고, 이를 이용하여 해당 단말의 위치를 파악한 후, 이를 사용자에게 안내할 수 있다.
또한, 사용자 단말은, 자신의 과거 이동 이력에 기반하여 상기 특정 조각 파일의 수신 가능 위치 중 사용자가 과거 위치하였던 지점만을 사용자에게 안내할 수 있다. 이를 위하여, 네트워크 상에 존재하는 단말들은 자신의 이동 위치를 주기적으로 저장한다고 가정한다.
이상에서는, 도 1 내지 도 6을 참조하여 본 발명의 실시 예들에 따른 파일 공유 방안에 대하여 설명하였다. 이하에서는, 관련되는 도면을 참조하여 본 발명의 일 실시 예에 따른 파일 공유 장치에 대하여 설명한다.
도 7은 본 발명의 일 실시 예에 따른 파일 공유 장치를 설명하기 위한 블록도이다.
도 7을 참조하면, 본 발명의 일 실시 예에 따른 파일 공유 장치는, 제어부(710), 송수신부(720), 메모리부(730) 및 디스플레이부(740)를 포함한다.
제어부(710)는, 공유가 허여된 파일을 분할하여 적어도 두 개의 조각 파일을 생성한다. 이 때, 제어부(710)는, 피어 단말의 수를 기반으로 상기 공유가 허여된 파일을 분할할 수 있다. 또한, 제어부(710)는, 상기 분할된 조각 파일들을 이용하여 상기 공유가 허여된 파일을 복원하는 데 이용되는 파일 분할 정보를 생성하고, 생성된 파일 분할 정보를 각각의 상기 조각 파일들에 결합한다.
또한, 제어부(710)는, 피어 단말로부터 어느 하나의 조각 파일을 수신한 이후에, 네트워크 변경이 있다면, 변경된 네트워크에 존재하는 적어도 하나의 피어 단말로 상기 수신된 조각 파일을 전송할 수 있다.
또한, 제어부(710)는, 상기 조각 파일에 결합된 파일 분할 정보를 참조하여 상기 공유가 허여된 파일이 설정된 카테고리에 속하는 파일인지 확인하고, 상기 공유가 허여된 파일이 설정된 카테고리에 속하는 파일인 경우, 상기 공유가 허여된 파일로부터 분할된 나머지 조각 파일들의 전송을 요청하는 메시지를 적어도 하나의 피어 단말로 전송할 수 있다. 이 때, 제어부(710)는, 피어 단말로부터 수신되는, 상기 나머지 조각 파일들 중 적어도 하나의 조각 파일을 저장하는 타 단말의 위치 정보를 기반으로 상기 타 단말의 위치를 사용자에게 안내할 수 있다. 이러한 안내는 디스플레이부(740)를 통한 영상 출력으로 이루어질 수 있다. 이 때, 제어부(710)는, 메모리부(730)에 저장된 자신의 과거 위치를 기반으로 상기 자신의 과거 위치와 부합하는 타 단말의 위치만을 사용자에게 안내할 수도 있다.
송수신부(720)는, 파일 분할 정보가 결합된 조각 파일들을 피어 단말로 전송하거나, 피어 단말로부터 수신한다. 이 때, 송수신부(720)는, 상기 조각 파일들을 피어 단말들에게 하나씩 분배하여 전송할 수 있다.
메모리부(730)는, 공유가 허여된 파일, 또는 공유가 허여된 조각 파일을 저장한다. 또한, 메모리부(730)는 자신의 위치를 주기적으로 저장한다.
이상에서 설명된 본 발명의 실시 예들은 임의의 다양한 방법으로 구현될 수 있다. 예를 들어, 본 발명의 실시 예들은 하드웨어, 소프트웨어 또는 그 조합을 이용하여 구현될 수 있다. 소프트웨어로 구현되는 경우에, 다양한 운영 체제 또는 플랫폼을 이용하는 하나 이상의 프로세서 상에서 실행되는 소프트웨어로서 구현될 수 있다. 추가적으로, 그러한 소프트웨어는 다수의 적합한 프로그래밍 언어들 중에서 임의의 것을 사용하여 작성될 수 있고, 또한 프레임워크 또는 가상 머신에서 실행되는 실행가능 기계어 코드 또는 중간 코드로 컴파일 될 수 있다.
또한, 본 발명의 실시 예들이 하나 이상의 프로세서 상에서 실행되는 경우 이상에서 논의된 본 발명의 다양한 실시 예들을 구현하는 방법을 수행하기 위한 하나 이상의 프로그램이 기록된 프로세서 판독 가능 매체(예를 들어, 메모리, 플로피 디스크, 하드 디스크, 콤팩트 디스크, 광학 디스크 또는 자기 테이프 등)로 구현될 수 있다.

Claims (20)

  1. P2P(Peer to Peer) 네트워크에서 단말 간 파일 공유 방법에 있어서,
    공유가 허여된 파일을 분할하여 적어도 두 개의 조각 파일들을 생성하는 단계;
    상기 조각 파일들을 이용하여 상기 공유가 허여된 파일을 복원하는 데 이용되는 파일 분할 정보를 생성하는 단계; 및
    각각의 상기 조각 파일들에 상기 파일 분할 정보를 결합하여 적어도 하나의 피어 단말로 전송하는 단계
    를 포함하는 단말 간 파일 공유 방법.
  2. 제 1 항에 있어서, 상기 파일 분할 정보는,
    상기 공유가 허여된 파일의 식별 정보, 상기 조각 파일들의 개수 정보 및 해당 조각 파일이 몇 번째 조각 파일인지를 나타내는 정보 중 적어도 하나
    를 포함하는 단말 간 파일 공유 방법.
  3. 제 2 항에 있어서, 상기 파일 분할 정보는,
    상기 공유가 허여된 파일이 속하는 카테고리 정보
    를 더 포함하는 단말 간 파일 공유 방법.
  4. 제 1 항에 있어서,
    상기 피어 단말의 수를 기반으로 상기 공유가 허여된 파일을 몇 개의 조각 파일로 분할할 것인지 결정하는 단계를 더 포함하고,
    상기 조각 파일들을 전송하는 단계는 상기 조각 파일들을 상기 피어 단말들에게 하나씩 분배하여 전송하는 단계를 포함하는
    단말 간 파일 공유 방법.
  5. P2P(Peer to Peer) 네트워크에서 단말 간 파일 공유 방법에 있어서,
    공유가 허여된 파일이 적어도 두 개로 분할되어 생성된 조각 파일들 중 적어도 하나의 조각 파일을 피어 단말로부터 수신하는 단계; 및
    네트워크 변경이 있는 경우, 변경된 네트워크에 존재하는 적어도 하나의 피어 단말로 상기 수신된 적어도 하나의 조각 파일을 전송하는 단계
    를 포함하는 단말 간 파일 공유 방법.
  6. 제 5 항에 있어서, 상기 적어도 하나의 조각 파일을 수신하는 단계 이후에,
    상기 조각 파일에 결합된 파일 분할 정보를 참조하여 상기 공유가 허여된 파일이 설정된 카테고리에 속하는 파일인지 확인하는 단계; 및
    상기 공유가 허여된 파일이 설정된 카테고리에 속하는 파일인 경우, 상기 공유가 허여된 파일로부터 분할된 나머지 조각 파일들의 전송을 요청하는 메시지를 적어도 하나의 피어 단말로 전송하는 단계
    를 더 포함하는 단말 간 파일 공유 방법.
  7. 제 6 항에 있어서, 상기 나머지 조각 파일들의 전송을 요청하는 메시지는,
    분산 해쉬 테이블(Distributed Hash Table; DHT) 또는 프리픽스 해쉬 테이블(Prefix Hash Table; PHT) 기법에 따라 전송되는
    단말 간 파일 공유 방법.
  8. 제 7 항에 있어서, 상기 나머지 조각 파일들의 전송을 요청하는 메시지를 전송하는 단계 이후에,
    상기 적어도 하나의 피어 단말로부터 상기 나머지 조각 파일들 중 적어도 하나의 조각 파일을 저장하는 타 단말의 위치를 나타내는 위치 정보를 수신하는 단계; 및
    상기 위치 정보를 기반으로 상기 타 단말의 위치를 사용자에게 안내하는 단계
    를 더 포함하는 단말 간 파일 공유 방법.
  9. 제 8 항에 있어서,
    자신의 위치를 주기적으로 저장하는 단계를 더 포함하고,
    상기 타 단말의 위치를 사용자에게 안내하는 단계는, 자신의 과거 위치와 부합하는 상기 타 단말의 위치를 사용자에게 안내하는 단계를 포함하는
    단말 간 파일 공유 방법.
  10. 제 6 항에 있어서, 상기 파일 분할 정보는,
    상기 공유가 허여된 파일의 식별 정보, 상기 조각 파일들의 개수 정보, 해당 조각 파일이 몇 번째 조각 파일인지를 나타내는 정보 및 상기 공유가 허여된 파일이 속하는 카테고리 정보 중 적어도 하나
    를 포함하는 단말 간 파일 공유 방법.
  11. P2P(Peer to Peer) 네트워크에서 단말 간 파일 공유 장치에 있어서,
    공유가 허여된 파일을 분할하여 적어도 두 개의 조각 파일을 생성하고, 상기 조각 파일들을 이용하여 상기 공유가 허여된 파일을 복원하는 데 이용되는 파일 분할 정보를 생성하여 각각의 상기 조각 파일들에 결합하는 제어부; 및
    상기 파일 분할 정보가 결합된 조각 파일들을 적어도 하나의 피어 단말로 전송하는 송수신부
    를 포함하는 단말 간 파일 공유 장치.
  12. 제 11 항에 있어서, 상기 파일 분할 정보는,
    상기 공유가 허여된 파일의 식별 정보, 상기 조각 파일들의 개수 정보 및 해당 조각 파일이 몇 번째 조각 파일인지를 나타내는 정보 중 적어도 하나
    를 포함하는 단말 간 파일 공유 장치.
  13. 제 12 항에 있어서, 상기 파일 분할 정보는,
    상기 공유가 허여된 파일이 속하는 카테고리 정보
    를 더 포함하는 단말 간 파일 공유 장치.
  14. 제 11 항에 있어서, 상기 제어부는,
    상기 피어 단말의 수를 기반으로 상기 공유가 허여된 파일을 분할하고, 상기 조각 파일들을 상기 피어 단말들에게 하나씩 분배하는
    단말 간 파일 공유 장치.
  15. P2P(Peer to Peer) 네트워크에서 단말 간 파일 공유 장치에 있어서,
    피어 단말과의 송수신을 수행하는 송수신부; 및
    공유가 허여된 파일이 적어도 두 개로 분할되어 생성된 조각 파일들 중 적어도 하나의 조각 파일이 피어 단말로부터 수신된 이후 네트워크 변경이 있다면 변경된 네트워크에 존재하는 적어도 하나의 피어 단말로 상기 수신된 적어도 하나의 조각 파일을 전송하는 제어부
    를 포함하는 단말 간 파일 공유 장치.
  16. 제 15 항에 있어서, 상기 제어부는,
    상기 조각 파일에 결합된 파일 분할 정보를 참조하여 상기 공유가 허여된 파일이 설정된 카테고리에 속하는 파일인지 확인하고, 상기 공유가 허여된 파일이 설정된 카테고리에 속하는 파일인 경우 상기 공유가 허여된 파일로부터 분할된 나머지 조각 파일들의 전송을 요청하는 메시지를 적어도 하나의 피어 단말로 전송하는
    단말 간 파일 공유 장치.
  17. 제 16 항에 있어서, 상기 나머지 조각들의 전송을 요청하는 메시지는,
    분산 해쉬 테이블(Distributed Hash Table; DHT) 또는 프리픽스 해쉬 테이블(Prefix Hash Table; PHT) 기법에 따라 전송되는
    단말 간 파일 공유 장치.
  18. 제 17 항에 있어서, 상기 제어부는,
    상기 적어도 하나의 피어 단말로부터 수신되는, 상기 나머지 조각 파일들 중 적어도 하나의 조각 파일을 저장하는 타 단말의 위치 정보를 기반으로 상기 타 단말의 위치를 사용자에게 안내하는
    단말 간 파일 공유 장치.
  19. 제 18 항에 있어서, 상기 제어부는,
    자신의 위치를 주기적으로 메모리에 저장하고, 저장된 자신의 과거 위치와 부합하는 상기 타 단말의 위치를 사용자에게 안내하는
    단말 간 파일 공유 장치.
  20. 제 16 항에 있어서, 상기 파일 분할 정보는,
    상기 공유가 허여된 파일의 식별 정보, 상기 조각 파일들의 개수 정보, 해당 조각 파일이 몇 번째 조각 파일인지를 나타내는 정보 및 상기 공유가 허여된 파일이 속하는 카테고리 정보 중 적어도 하나
    를 포함하는 단말 간 파일 공유 장치.
KR1020120071911A 2012-07-02 2012-07-02 P2p 시스템에서의 파일 공유 방법 및 장치 KR20140003960A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120071911A KR20140003960A (ko) 2012-07-02 2012-07-02 P2p 시스템에서의 파일 공유 방법 및 장치
US13/933,850 US20140006511A1 (en) 2012-07-02 2013-07-02 Method and apparatus for sharing a file in p2p system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120071911A KR20140003960A (ko) 2012-07-02 2012-07-02 P2p 시스템에서의 파일 공유 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20140003960A true KR20140003960A (ko) 2014-01-10

Family

ID=49779331

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120071911A KR20140003960A (ko) 2012-07-02 2012-07-02 P2p 시스템에서의 파일 공유 방법 및 장치

Country Status (2)

Country Link
US (1) US20140006511A1 (ko)
KR (1) KR20140003960A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101867326B1 (ko) * 2017-09-04 2018-06-14 주식회사 와임 분할 기능을 이용한 소셜 미디어 제공 방법 및 시스템
KR20190026550A (ko) * 2018-06-05 2019-03-13 주식회사 와임 분할 기능을 이용한 소셜 미디어 제공 방법 및 시스템
US10366398B2 (en) 2016-05-30 2019-07-30 Line Corporation Methods and systems for providing digital content based on a social relationship

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357590A (zh) * 2014-08-22 2016-02-24 中兴通讯股份有限公司 一种实现终端多媒体广播的方法及装置
US20180027037A1 (en) * 2016-07-22 2018-01-25 Panasonic Avionics Corporation Mobile device-based content loader for entertainment system
CN106559413A (zh) * 2016-10-19 2017-04-05 深圳众享互联科技有限公司 P2p网络数据安全传输的消息碎片方法及其系统
US10824737B1 (en) * 2017-02-22 2020-11-03 Assa Abloy Ab Protecting data from brute force attack
CN109246185B (zh) * 2018-07-31 2021-03-12 Oppo广东移动通信有限公司 文件下载方法及相关产品

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2917259B1 (fr) * 2007-06-08 2009-08-21 Alcatel Lucent Sas Utilisation d'un arbre de hachage a prefixes (pht) pour la localisation des services au sein d'un reseau de communication poste-a-poste
US20090313353A1 (en) * 2007-10-15 2009-12-17 University Of Southern California Copyrighted content delivery over p2p file-sharing networks
US20090234967A1 (en) * 2008-03-17 2009-09-17 Nokia Corporation Method, system, and apparatus for transferring P2P file distribution tasks between devices
EP2497250B1 (en) * 2009-11-03 2018-02-28 Telecom Italia S.p.A. Sharing of digital contents in p2p networks exploiting localization data

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10366398B2 (en) 2016-05-30 2019-07-30 Line Corporation Methods and systems for providing digital content based on a social relationship
KR101867326B1 (ko) * 2017-09-04 2018-06-14 주식회사 와임 분할 기능을 이용한 소셜 미디어 제공 방법 및 시스템
WO2019045540A1 (ko) * 2017-09-04 2019-03-07 주식회사 와임 분할 기능을 이용한 소셜 미디어 제공 방법 및 시스템
US11012394B2 (en) 2017-09-04 2021-05-18 Waem Co., Ltd. Method and system for providing social media using partition function
KR20190026550A (ko) * 2018-06-05 2019-03-13 주식회사 와임 분할 기능을 이용한 소셜 미디어 제공 방법 및 시스템

Also Published As

Publication number Publication date
US20140006511A1 (en) 2014-01-02

Similar Documents

Publication Publication Date Title
KR20140003960A (ko) P2p 시스템에서의 파일 공유 방법 및 장치
US10601947B2 (en) Application service delivery through an application service avatar
US9516684B2 (en) Data transmission method, data acquiring method, and electronic device
KR20150080562A (ko) 태그 라이브러리 구축 및 사용자 검색 방법, 장치, 프로그램 및 기록매체
JP2017004220A (ja) 通信装置、通信システム、通信方法およびプログラム
CN106603703B (zh) 一种回源节点确定方法及装置
KR101799973B1 (ko) 모임 장소 추천 장치 및 방법
US20150381716A1 (en) Method and system for sharing files over p2p
US9350606B2 (en) System and method for assigning server to terminal and efficiently delivering messages to the terminal
CN110381058B (zh) 基于全双工通信协议WebSocket的请求传输方法及装置
KR20120079625A (ko) 실시간 지도 데이터 업데이트 방법 및 시스템
CN110798495B (zh) 用于在集群架构模式下端到端的消息推送的方法和服务器
KR20150029913A (ko) 청크 단위로 콘텐트를 전달하는 콘텐트 시스템 및 방법
KR101993435B1 (ko) 키드 데이터베이스를 사용하여 유지되는 키드 데이터의 탐색 및 검색
KR20130080181A (ko) 클라우드 시스템을 이용하는 단말기의 장치 및 방법
US11336700B2 (en) Scalable real-time duplex communications service
JP2019505009A5 (ko)
EP3827572B1 (en) Systems and methods for protecting data
CN108737247B (zh) 信息推送方法及装置
US9860171B2 (en) Large scale message routing in a distributed network
KR101363164B1 (ko) 변조된 url을 사용하는 미디어 콘텐츠 공유 방법 및 장치
KR102100319B1 (ko) 컨텐츠 전송 제어 방법 및 이를 위한 장치
KR101486506B1 (ko) 위치 기반 멀티미디어 콘텐츠 생성 장치 및 그 방법
Smirnov et al. Smart space-based in-vehicle application for e-tourism: technological framework and implementation for Ford SYNC
KR20140121101A (ko) 분산빌드를 위한 디스패쳐 및 디스패쳐를 이용한 클라우드 빌드 시스템 및 그 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid