KR101436406B1 - Client, server, system and method for updating data based on peer to peer - Google Patents

Client, server, system and method for updating data based on peer to peer Download PDF

Info

Publication number
KR101436406B1
KR101436406B1 KR1020110146021A KR20110146021A KR101436406B1 KR 101436406 B1 KR101436406 B1 KR 101436406B1 KR 1020110146021 A KR1020110146021 A KR 1020110146021A KR 20110146021 A KR20110146021 A KR 20110146021A KR 101436406 B1 KR101436406 B1 KR 101436406B1
Authority
KR
South Korea
Prior art keywords
information
clients
client
group
file
Prior art date
Application number
KR1020110146021A
Other languages
Korean (ko)
Other versions
KR20130077357A (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 KR1020110146021A priority Critical patent/KR101436406B1/en
Priority to PCT/KR2012/011453 priority patent/WO2013100551A1/en
Publication of KR20130077357A publication Critical patent/KR20130077357A/en
Application granted granted Critical
Publication of KR101436406B1 publication Critical patent/KR101436406B1/en

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/1044Group management mechanisms 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • 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

Landscapes

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

Abstract

본 발명에서는 P2P기반 파일 업데이트에 있어서, 업데이트 대상 파일에 대한 정보를 가지고 있는 메타 데이터 파일을 가지고 있는 클라이언트에서 파일 업데이트를 위한 클라이언트들의 그룹 정보의 획득을 위해 서버 접속 시 메타 데이터 파일과 각 클라이언트의 국가, 회사 정보 등의 부가정보를 제공하고, 서버에서는 동일한 메타 데이터 파일을 가지는 그룹내 클라이언트들 중 부가정보에 따라 소규모로 다시 구성한 서브 그룹의 정보를 해당 클라이언트로 제공하여 클라이언트별 특성에 맞게 새로이 구성된 서브 그룹내 클라이언트들간 P2P기반의 파일 업데이트가 수행되도록 함으로써, 서로 다른 국가간 또는 회사간 네트워크 연결에 따른 업데이트 속도 저하 및 보안 문제의 발생을 방지시킬 수 있다. 또한, 동일한 메타 데이터 파일을 가지는 클라이언트들을 위와 같이 보다 세분화되게 동일한 국가에 속한 클라이언트끼리, 또는 동일한 회사에 속한 클라이언트끼리 서브 그룹으로 구성하여 네트워크 연결 및 보안 문제가 발생하지 않도록 함으로서 파일 업데이트의 정확성과 속도를 향상시킬 수 있다.According to the present invention, in a P2P-based file update, when a client having a metadata file having information on an update target file acquires group information of clients for file update, , And company information. In the server, the information of the subgroups reconfigured on the basis of the additional information among the clients in the group having the same metadata file is provided to the corresponding client, and the newly configured sub- By performing P2P-based file update between clients in the group, degradation of the update speed and security problems due to network connection between different countries or between companies can be prevented. Clients having the same metadata file can be divided into subgroups of clients belonging to the same country or clients belonging to the same company more precisely as described above so that network connection and security problems do not occur so that the accuracy and speed of file update Can be improved.

Description

P2P기반 업데이트 클라이언트, 서버 장치, 시스템 및 방법{CLIENT, SERVER, SYSTEM AND METHOD FOR UPDATING DATA BASED ON PEER TO PEER}TECHNICAL FIELD [0001] The present invention relates to a P2P-based update client, a server device, a system,

본 발명은 피어-투-피어(Peer-to-Peer, P2P) 기반의 파일 전송 방법에 관한 것으로, 특히 P2P기반 파일 업데이트(file update)에 있어서, 업데이트 대상 파일에 대한 정보를 가지고 있는 메타 데이터 파일(meta data file)을 가지고 있는 클라이언트(client)에서 파일 업데이트를 위한 클라이언트들의 그룹(group) 정보의 획득을 위해 서버(server) 접속 시 메타 데이터 파일과 각 클라이언트의 국가, 회사 정보 등의 부가정보를 제공하고, 서버에서는 동일한 메타 데이터 파일을 가지는 그룹내 클라이언트들 중 부가정보에 따라 소규모로 다시 구성한 서브 그룹의 정보를 해당 클라이언트로 제공하여 클라이언트별 특성에 맞게 새로이 구성된 서브 그룹내 클라이언트들간 P2P기반의 파일 업데이트가 수행되도록 함으로써, 서로 다른 국가간 또는 회사간 네트워크(network) 연결에 따른 업데이트 속도 저하 및 보안 문제의 발생을 방지시킬 수 있는 P2P 기반 업데이트 클라이언트, 서버 장치, 시스템 및 방법에 관한 것이다.
The present invention relates to a file transfer method based on a peer-to-peer (P2P) file. In particular, in file update based on P2P, When a client accesses a server to acquire group information of clients for updating a file in a client having a meta data file, metadata information and additional information such as country and company information of each client In the server, the information of the subgroups reconfigured on the basis of the additional information among the clients in the group having the same metadata file is provided to the corresponding clients, and the P2P-based files By enabling updates to be made, it is possible to use different international or inter-company network connections Updates other P2P-based updates that slow and can prevent the occurrence of security problems the client, the server device, the present invention relates to systems and methods.

일반적으로, P2P 기술은 다수의 사용자를 네트워크로 모아서 그 네트워크 내에서 대역폭을 공유하고 정보를 함께 처리하는 개념으로, 일반적인 클라이언트-서버 모드와 다르게 각 클라이언트 단말기가 클라이언트 및 서버 양측으로서 기능하며, 분산되어 있는 협업하는 환경에서 효율적으로 그리고 신뢰성 있게 사용자가 콘텐츠를 획득하게 할 수 있는 효율적인 데이터 송신 접근 방식이다.In general, P2P technology is a concept of collecting a large number of users into a network, sharing bandwidth and processing information together in the network. Unlike general client-server mode, each client terminal functions as both a client and a server, Is an efficient data transmission approach that enables users to acquire content efficiently and reliably in a collaborative environment.

즉, P2P란, 클라이언트-서버 모델과 달리 동등한 계층의 피어 노드(peer node)들이 서로 클라이언트와 서버 역할을 동시에 하면서 파일을 송수신하는 네트워크 통신 모델을 말한다.In other words, P2P refers to a network communication model in which peer nodes of the same layer send and receive files while simultaneously acting as clients and servers, unlike the client-server model.

위와 P2P 기술 중 최근 들어 많이 사용되는 P2P 기술로, 예를 들어 토렌트(torrent)가 있다. 토렌트는 그리드 스토리지(grid storage)의 개념을 P2P 네트워크와 같은 오픈(open)환경에 응용한 것으로, 종래 P2P 네트워크에서 파일 단위로 데이터 교환이 행하여지는 것에 반해, 토렌트에서는 파일을 일정 사이즈의 블록(block)으로 분할하고, 분할된 블록 단위로 데이터 교환이 행하여져, 복수의 블록으로 파일이 재구성된다.Among the above and P2P technologies, P2P technology which is widely used in recent years, for example, there is a torrent. Torrent is the application of the concept of grid storage to an open environment such as a P2P network. In the conventional P2P network, data exchange is performed on a per file basis. In the torrent, a file is divided into blocks of a predetermined size ), Data exchange is performed on a divided block basis, and a file is reconstructed into a plurality of blocks.

이와 같은 토렌트에서는 원하는 파일을 보유하는 복수의 호스트 컴퓨터를 인터넷으로 검색하고, 검색된 복수의 호스트 컴퓨터가 각각 상이한 블록을 동시에 요구함으로써 P2P 네트워크 환경에서의 파일 전송의 고속화를 도모하고 있다.In such a torrent, a plurality of host computers holding desired files are searched on the Internet, and a plurality of searched host computers simultaneously request different blocks, thereby speeding up the file transfer in the P2P network environment.

한편, 위와 같은 토렌트는 인터넷을 이용한 데이터 전송 및 다운로드 기술로 안티 바이러스 프로그램(Anti virus program)을 포함하는 다양한 프로그램의 업데이트(update) 기술로 사용될 수 있다.On the other hand, the torrent can be used as an update technology for various programs including an anti virus program with data transmission and download technology using the Internet.

이때, 토렌트 프로토콜(torrent protocol) 기반의 분산파일 업데이트는 업데이트 대상파일에 대한 정보를 갖고 있는 시드 파일(seed file)이라고 하는 메타데이터 파일이 필수적으로 존재해야 한다. 시드 파일에는 업데이트 대상파일들을 하나의 대용량 파일로 보고 정해진 크기로 나눈 각 블록에 대한 해쉬(hash)값 정보 등이 포함되어 있다.At this time, in the distributed file update based on the torrent protocol, a metadata file called a seed file having information on the file to be updated must exist. The seed file contains the hash value information for each block that is divided into a predetermined size by viewing the file to be updated as one large file.

각 클라이언트들은 프로그램 실행 시 트래커 서버(tracker server)에 접속해 동일한 시드 파일을 갖고 있는 클라이언트 목록을 획득하게 되며, 이렇게 동일한 시드 파일을 갖고 있는 클라이언트들은 스웜(swarm)으로 구성되어 데이터를 업로드(upload) 또는 다운로드(download) 하게 된다.
Each client accesses a tracker server and obtains a list of clients that have the same seed file. Clients having the same seed file are configured as swarms to upload data, Or download.

(특허문헌)(Patent Literature)

한국공개특허번호 제2009-0115225호(공개일자 2009년 11월 04일)
Korean Published Patent No. 2009-0115225 (Published on November 04, 2009)

그러나, 위와 같은 토렌트 기반에서는 동일한 시드 파일을 가지고 있으면 동일한 스웜으로 분류되어 각 클라이언트간 업데이트 파일의 다운로드가 이루어지게 되는데, 이때 동일 스웜내 클라이언트가 서로 다른 국가에 속해 있거나 보안이 설정된 서로 다른 회사에 속해 있거나 하는 경우 클라이언트간 파일 업데이트에 여러 가지 문제점이 발생하게 된다.However, in the above torrent base, if the same seed file exists, it is classified as the same swarm, and the update file is downloaded between each client. At this time, the clients in the same swarm belong to different countries or belong to different security companies There are various problems in updating files between clients.

즉, 예를 들어, 스웜내 클라이언트가 서로 다른 국가에 속해 있는 경우 국가간 네트워크 연결이 불가하거나 원할치 못한 경우 파일 업로드 또는 다운로드 자체가 불가하거나, 파일 업로드 또는 다운로드의 속도가 저하되는 문제점이 있다. 또한, 서로 다른 회사에 속한 클라이언트간이나 또는 회사내 속한 클라이언트와 개인 클라이언트간에는 각 회사별 설정된 보안 이슈로 인해 네트워크 연결 자체가 불가하거나, 파일의 업로드 또는 다운로드에 제한이 발생하여 파일의 업로드 또는 다운로드가 어려운 문제점이 있다.That is, for example, if the client in the swarm belongs to a different country, the network connection between the countries is impossible or unreasonable, the file uploading or downloading itself is impossible, or the speed of file uploading or downloading is reduced. In addition, the network connection itself can not be established between the clients belonging to different companies or between the clients belonging to the company or the clients belonging to the company due to the security issues set for each company, or uploading or downloading of files is restricted, There is a difficult problem.

따라서, 본 발명은 P2P기반 파일 업데이트(file update)에 있어서, 업데이트 대상 파일에 대한 정보를 가지고 있는 메타 데이터 파일(meta data file)을 가지고 있는 클라이언트(client)에서 파일 업데이트를 위한 클라이언트들의 그룹(group) 정보의 획득을 위해 서버(server) 접속 시 메타 데이터 파일과 각 클라이언트의 국가, 회사 정보 등의 부가정보를 제공하고, 서버에서는 동일한 메타 데이터 파일을 가지는 그룹내 클라이언트들 중 부가정보에 따라 소규모로 다시 구성한 서브 그룹의 정보를 해당 클라이언트로 제공하여 클라이언트별 특성에 맞게 새로이 구성된 서브 그룹내 클라이언트들간 P2P기반의 파일 업데이트가 수행되도록 함으로써, 서로 다른 국가간 또는 회사간 네트워크(network) 연결에 따른 업데이트 속도 저하 및 보안 문제의 발생을 방지시킬 수 있는 P2P 기반 업데이트 클라이언트, 서버 장치, 시스템 및 방법을 제공하고자 한다.
Accordingly, the present invention provides a P2P-based file update method in which a client having a meta data file having information on a file to be updated, In order to acquire the information, additional information such as a meta data file and each client's country and company information is provided when a server is accessed. In the server, a small group of clients in the group having the same metadata file The information of the subgroups that have been reconfigured is provided to the client so that the P2P-based file update is performed between the clients in the newly configured subgroup according to the characteristics of each client, so that the updating speed according to the network connection between different countries or companies It can prevent degradation and the occurrence of security problems. To provide a P2P-based update client, server, device, system and method.

상술한 본 발명은 P2P 기반 업데이트 서버 장치로서, P2P(Peer to Peer) 기반 프로토콜을 이용하여 네트워크를 통해 각 클라이언트로부터 전송되는 메타 데이터 파일의 정보를 분석하여 동일 메타데이터 파일 정보를 가지는 클라이언트들을 하나의 그룹으로 구성하는 메타 데이터 정보 분석부와, 상기 그룹으로 구성된 클라이언트들에 대해 각 클라이언트의 부가 정보에 따라 하나 이상의 서브 그룹으로 구성하는 서브 그룹 관리부와, 상기 생성된 그룹과 서브 그룹에 대한 정보를 관리하고, 상기 서브 그룹의 정보를 해당 클라이언트에게 전송하는 제어부를 포함한다.The present invention relates to a P2P-based update server apparatus, which analyzes information of a metadata file transmitted from each client through a network using a peer-to-peer (P2P) A sub-group management unit configured to configure at least one sub-group according to sub-information of each client with respect to clients configured as the group; and a management unit for managing information about the generated group and sub- And transmits the information of the subgroup to the corresponding client.

또한, 상기 서브 그룹 관리부는, 상기 그룹내 클라이언트들에 대해 각 클라이언트의 부가정보를 비교하여 상기 부가정보내 서로 일치하는 정보를 가지는 클라이언트들을 분류하여 상기 서브 그룹으로 구성하는 것을 특징으로 한다.In addition, the sub-group management unit compares the sub-information of each client with the clients in the group, and categorizes the clients having information matching each other in the sub-information to form the sub-group.

또한, 상기 부가정보는, 상기 클라이언트가 속한 국가 또는 회사 정보, 또는 상기 클라이언트가 개인 사용자인지 또는 회사 사용자인지를 표시하는 정보를 적어도 하나 이상 포함하는 것을 특징으로 한다.The additional information may include at least one or more information indicating the country or company information of the client, or whether the client is an individual user or a company user.

또한, 상기 서브 그룹 관리부는, 상기 부가정보의 비교에 따라 상기 그룹내 클라이언트들 중 국가 정보 또는 회사 정보가 일치하는 클라이언트들로 상기 서브 그룹을 구성하는 것을 특징으로 한다.In addition, the sub-group management unit may configure the sub-groups as clients whose country information or company information matches among the clients in the group according to the comparison of the additional information.

또한, 상기 서브 그룹 관리부는, 서로 다른 서브 그룹의 클라이언트로부터 네트워크 접근이 차단되도록 구성하는 것을 특징으로 한다.In addition, the subgroup management unit is configured to block network access from clients in different subgroups.

또한, 상기 제어부는, 동일한 그룹에서 생성되는 하나 이상의 서브 그룹에 대해 서브 그룹간 파일 공유 방식을 설정하여 해당 클라이언트로 제공하는 것을 특징으로 한다.In addition, the control unit sets a file sharing method between subgroups for one or more subgroups generated in the same group, and provides the file to the corresponding client.

또한, 상기 파일 공유 방식은, 서로 다른 서브 그룹에 속한 클라이언트들간 정의되는 파일의 업로드 또는 다운로드 방식인 것을 특징으로 한다.In addition, the file sharing method is a method of uploading or downloading a file defined between clients belonging to different subgroups.

또한, 상기 P2P 기반 프로토콜은, 토렌트 프로토콜인 것을 특징으로 한다.In addition, the P2P-based protocol is a torrent protocol.

또한, 상기 메타 데이터 파일은, 업데이트 대상 파일에 대한 정보를 가지고 있는 시드 파일인 것을 특징으로 한다.The meta data file is a seed file having information on a file to be updated.

또한, 상기 메타 데이터 파일의 정보는, 상기 메타 데이터 파일에 기록된 해쉬값인 것을 특징으로 한다.The information of the metadata file is a hash value recorded in the metadata file.

또한, 본 발명은 P2P 기반 업데이트 클라이언트 장치로서, 메타 데이터 파일의 정보를 생성하는 메타 데이터 파일 정보 생성부와, 부가정보를 생성하는 부가정보 생성부와, P2P 기반 프로토콜을 이용하여 네트워크를 통해 상기 메타 데이터 파일의 정보와 부가정보를 서버로 전송하고, 동일한 메타 데이터 파일을 가지는 그룹내 클라이언트들 중 상기 부가정보에 따라 구분되는 하나 이상의 서브 그룹의 정보를 수신하여 상기 서브 그룹내 클라이언트들과 데이터 전송을 수행하는 제어부를 포함한다.According to another aspect of the present invention, there is provided a P2P-based update client apparatus comprising: a metadata file information generation unit that generates information of a metadata file; an additional information generation unit that generates additional information; And transmits information and additional information of the data file to the server and receives information of one or more subgroups classified according to the sub information among the clients in the group having the same metadata file to transmit data to the clients in the subgroup And a controller.

또한, 상기 서브 그룹은, 서로 다른 서브 그룹의 클라이언트로부터의 네트워크 접근이 차단되도록 구성되는 것을 특징으로 한다.Further, the subgroup is configured such that network access from clients in different subgroups is blocked.

또한, 본 발명은 P2P 기반 업데이트 방법으로서, P2P기반 프로토콜을 이용하여 다수의 클라이언트 각각으로부터 메타 데이터 파일의 정보와 부가정보를 수신하는 단계와, 각 클라이언트로부터 전송된 메타 데이터 파일을 분석하여 동일한 메타 데이터 파일의 정보를 가지는 클라이언트들을 하나의 그룹으로 구성하는 단계와, 상기 그룹으로 구성된 클라이언트들에 대해 각 클라이언트의 부가 정보에 따라 하나 이상의 서브 그룹으로 구성하는 단계와, 상기 생성된 그룹과 서브 그룹에 대한 정보를 관리하고, 상기 서브 그룹의 정보를 해당 클라이언트에게 전송하는 단계를 포함한다.According to another aspect of the present invention, there is provided a P2P-based update method comprising: receiving information of a metadata file and additional information from a plurality of clients using a P2P-based protocol; analyzing the metadata file transmitted from each client, The method comprising the steps of: configuring clients having information of a file as a group; configuring at least one subgroup according to additional information of each client with respect to clients configured as the group; Managing the information, and transmitting the information of the subgroup to the corresponding client.

또한, 상기 서브 그룹으로 구성하는 단계는, 상기 그룹내 클라이언트들에 대한 각 클라이언트의 부가정보를 비교하는 단계와, 상기 부가정보내 서로 일치하는 정보를 가지는 클라이언트들을 분류하여 상기 서브 그룹으로 구성하는 단계를 포함하는 것을 특징으로 한다.In addition, the step of configuring the subgroups may include the steps of: comparing additional information of each client with respect to the clients in the group; and classifying clients having information matching each other in the additional information into the subgroups And a control unit.

또한, 상기 부가정보는, 상기 클라이언트가 속한 국가 또는 회사 정보, 또는 상기 클라이언트가 개인 사용자인지 또는 회사 사용자인지를 표시하는 정보를 적어도 하나 이상 포함하는 것을 특징으로 한다.The additional information may include at least one or more information indicating the country or company information of the client, or whether the client is an individual user or a company user.

또한, 상기 서브 그룹으로 구성하는 단계에서, 상기 부가정보를 비교하여 상기 그룹내 클라이언트들 중 국가 정보 또는 회사 정보가 일치하는 클라이언트들을 상기 서브 그룹으로 구성하는 것을 특징으로 한다.In addition, in the step of configuring the subgroups, the sub information may be compared with each other so that clients having the same country information or company information among the clients in the group are configured as the subgroups.

또한, 상기 서브 그룹은, 서로 다른 서브 그룹의 클라이언트로부터의 네트워크 접근이 차단되도록 구성되는 것을 특징으로 한다.Further, the subgroup is configured such that network access from clients in different subgroups is blocked.

또한, 동일한 그룹에서 생성되는 다수의 서브 그룹에 대해 서브 그룹간 파일 공유 방식을 설정하는 단계와, 상기 파일 공유 방식에 대한 정보를 상기 서브 그룹의 전송시 함께 해당 클라이언트로 전송하는 단계를 더 포함하는 것을 특징으로 한다.The method may further include setting a sub-group file sharing method for a plurality of subgroups generated in the same group, and transmitting information about the file sharing method to the corresponding client when the subgroup is transmitted .

또한, 본 발명은 P2P 기반 업데이트 방법으로서, 메타 데이터 파일의 정보와 부가 정보를 생성하는 단계와, 상기 생성된 메타 데이터 파일의 정보와 부가 정보를 P2P 기반 프로토콜을 이용하여 서버로 전송하는 단계와, 상기 서버로부터 동일한 메타 데이터 파일의 정보를 가지는 그룹내 클라이언트들 중 상기 부가정보에 따라 구분되는 하나 이상의 서브 그룹의 정보를 수신하는 단계와, 상기 서브 그룹내 클라이언트들과 데이터 송수신을 수행하는 단계를 포함한다.According to another aspect of the present invention, there is provided a P2P-based updating method, comprising: generating information and additional information of a metadata file; transmitting information and additional information of the generated metadata file to a server using a P2P- Receiving information of one or more subgroups classified according to the additional information among clients in a group having information of the same metadata file from the server, and performing data transmission / reception with clients in the subgroup do.

또한, 상기 서브 그룹은, 서로 다른 서브 그룹의 클라이언트로부터의 네트워크 접근이 차단되도록 구성되는 것을 특징으로 한다.Further, the subgroup is configured such that network access from clients in different subgroups is blocked.

또한, 본 발명은 P2P 기반 업데이트 시스템으로서, 데이터 전송을 위한 클라이언트 프로그램의 실행 시 메타 데이터 파일의 정보와 부가 정보를 생성하고, P2P 기반 프로토콜을 이용하여 네트워크를 통해 전송하는 다수의 클라이언트와, 각 클라이언트로부터 전송되는 메타 데이터 파일의 정보를 분석하여 동일한 메타 데이터 파일의 정보를 가지는 클라이언트들을 하나의 그룹으로 구성하고, 상기 그룹으로 구성된 클라이언트들에 대해 각 클라이언트의 부가 정보에 따라 하나 이상의 서브 그룹으로 구성한 후, 상기 서브 그룹의 정보를 상기 P2P기반 프로토콜 통해 해당 클라이언트에게 전송하는 서버를 포함한다.
According to another aspect of the present invention, there is provided a P2P-based update system, comprising: a plurality of clients that generate information and additional information of a metadata file when a client program for data transmission is executed and transmit the same through a network using a P2P- And the clients having information of the same metadata file are configured into one group, and the clients configured as the group are configured into one or more subgroups according to the additional information of each client And a server for transmitting the information of the subgroup to the corresponding client through the P2P-based protocol.

본 발명은 P2P기반 파일 업데이트(file update)에 있어서, 업데이트 대상 파일에 대한 정보를 가지고 있는 메타 데이터 파일(meta data file)을 가지고 있는 클라이언트(client)에서 파일 업데이트를 위한 클라이언트들의 그룹(group) 정보의 획득을 위해 서버(server) 접속 시 메타 데이터 파일과 각 클라이언트의 국가, 회사 정보 등의 부가정보를 제공하고, 서버에서는 동일한 메타 데이터 파일을 가지는 그룹내 클라이언트들 중 부가정보에 따라 소규모로 다시 구성한 서브 그룹의 정보를 해당 클라이언트로 제공하여 클라이언트별 특성에 맞게 새로이 구성된 서브 그룹내 클라이언트들간 P2P기반의 파일 업데이트가 수행되도록 함으로써, 서로 다른 국가간 또는 회사간 네트워크(network) 연결에 따른 업데이트 속도 저하 및 보안 문제의 발생을 방지시킬 수 있는 이점이 있다.In a P2P-based file update, a client having a meta data file having information on a file to be updated can receive group information of clients for file update The server provides additional information such as a meta data file and country and company information of each client when the server is connected. In the server, the clients in the group having the same metadata file are reconfigured to a small size according to additional information The information of the subgroup is provided to the corresponding client, so that the P2P-based file update is performed between the clients in the newly configured subgroup according to the characteristics of each client, so that the update rate is degraded according to network connection between different countries or companies Advantages of preventing the occurrence of security problems have.

또한, 동일한 메타 데이터 파일을 가지는 클라이언트들을 위와 같이 보다 세분화되게 동일한 국가에 속한 클라이언트끼리, 또는 동일한 회사에 속한 클라이언트끼리 서브 그룹으로 구성하여 네트워크 연결 및 보안 문제가 발생하지 않도록 함으로서 파일 업데이트의 정확성과 속도를 향상시킬 수 있는 이점이 있다.
Clients having the same metadata file can be divided into subgroups of clients belonging to the same country or clients belonging to the same company more precisely as described above so that network connection and security problems do not occur so that the accuracy and speed of file update Can be improved.

도 1은 본 발명의 실시예에 따른 P2P 기반 업데이트 시스템의 네트워크 구성도,
도 2는 본 발명의 실시예에 따른 P2P 기반 업데이트 시스템의 클라이언트의 상세 블록 구성도,
도 3은 본 발명의 실시예에 따른 P2P 기반 업데이트 시스템의 트래커 서버의 상세 블록 구성도,
도 4는 본 발명의 실시예에 따른 국가별 구성되는 서브 스웜 예시도,
도 5는 본 발명의 실시예에 따른 트래커 서버에서 P2P 기반 업데이트를 위한 서브 스웜 구성 처리 흐름도.
1 is a network configuration diagram of a P2P-based update system according to an embodiment of the present invention;
FIG. 2 is a detailed block diagram of a client of a P2P-based update system according to an embodiment of the present invention;
3 is a detailed block diagram of a tracker server of a P2P-based update system according to an embodiment of the present invention;
FIG. 4 is a sub-swarm example according to an embodiment of the present invention,
5 is a flowchart of a sub swarm configuration process for a P2P-based update in a tracker server according to an embodiment of the present invention;

이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, the operation principle of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intentions or customs of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

도 1은 본 발명의 실시예에 따른 P2P 기반 업데이트 시스템의 네트워크 구성을 도시한 것이다. 이하의 설명에서는 P2P 기반 프로토콜 중 하나인 토렌트 프로토콜에서의 P2P 기반 업데이트에 관한 동작을 예를 들어 설명하나, 다른 P2P 기반 프로토콜에서도 동일하게 적용 가능하다.1 illustrates a network configuration of a P2P-based update system according to an embodiment of the present invention. In the following description, the operation related to the P2P-based update in the torrent protocol, which is one of the P2P-based protocols, will be described as an example, but the same applies to other P2P-based protocols.

클라이언트(100)는 토렌트(torrent) 클라이언트 프로그램이 탑재되어 토렌트 기반의 분산파일 업데이트가 가능하게 되는 각 사용자의 PC 등의 단말장치가 될 수 있다. 이와 같은 클라이언트(100)는 토렌트 클라이언트 프로그램의 실행 시 트래커 서버(tracker server)(200)에 접속하여 메타 데이터 파일의 정보 즉, 예를 들어 시드 파일(seed file)의 정보를 전송하고, 시드 파일의 정보와 함께 서브 스웜(sub swarm)의 구성에 필요한 부가 정보를 전송한다. 이때, 시드 파일의 정보는 예를 들어, 시드파일의 해쉬(hash)값 등의 될 수 있으며, 부가 정보는 예를 들어 클라이언트(100)가 속학 국가의 국가코드, 회사명, 제품명, 회사 및 개인용 여부 등의 정보가 될 수 있다.The client 100 may be a terminal device such as a PC of each user on which a torrent client program is installed to enable a torrent-based distributed file update. The client 100 is connected to a tracker server 200 when the torrent client program is executed and transmits information of a meta data file, for example, information of a seed file, And transmits the sub information required for the configuration of the sub swarm. In this case, the seed file information may be, for example, a hash value of the seed file, and the additional information may be, for example, the client 100's country code, company name, product name, And the like.

또한, 클라이언트(100)는 위와 같이 시드 파일의 정보와 부가 정보를 트래커 서버(200)로 전송한 후, 트래커 서버(200)로부터 자신이 속한 서브 그룹 즉, 서브 스웜에 대한 정보를 수신 받아 서브 스웜내 속한 다른 클라이언트들과 파일 업로드(upload) 또는 다운로드(download)를 수행하여 분산파일 업데이트를 수행하게 된다.After the client 100 transmits the seed file information and the additional information to the tracker server 200, the client 100 receives the information about the subgroup to which the client 100 belongs, that is, the sub swarm, from the tracker server 200, And performs file uploading or downloading with other clients belonging to the client to perform distributed file update.

트래커 서버(200)는 분살파일 업데이트를 위한 클라이언트들에 대한 정보와 각 클라이언트가 가지고 있는 컨텐츠 정보를 관리하여 클라이언트의 접속 시 동일한 시드 파일의 정보를 가지고 있는 클라이언트를 분산파일 업데이트를 위한 동일 스웜(swarm)으로 구성하고, 스웜내 속한 클라이언트가 가지고 있는 컨텐츠 즉 예를 들어 업데이터 파일 등의 정보를 해당 클라이언트에게 제공한다.The tracker server 200 manages information on clients for content file update and content information held by each client so that a client having information of the same seed file at the time of client connection is managed by the same swarm ), And provides the client with the contents of the client belonging to the swarm, for example, the updater file.

또한, 트래커 서버(200)는 본 발명에 따른 서브 스웜 구성을 위해 클라이언트(100)의 접속 시 시드 파일의 정보와 함께 서브 스웜 구성에 필요한 각 클라이언트(100)의 특성을 반영하는 부가정보를 전달받는다. 이때, 부가정보는 예를 들어 클라이언트(100)가 속한 국가의 국가코드, 회사명, 제품명, 회사 및 개인용 여부 등의 정보가 될 수 있다.In addition, the tracker server 200 receives additional information reflecting the characteristics of each client 100 required for the sub swarm configuration together with the seed file information when the client 100 is connected for the sub swarm configuration according to the present invention . At this time, the additional information may be information such as, for example, a country code of a country to which the client 100 belongs, a company name, a product name, a company, and a personal use.

즉, 트래커 서버(200)는 클라이언트(100)로부터 전송된 시드 파일의 정보를 분석하여 동일한 시드 파일 정보를 가지고 있는 클라이언트를 스웜으로 분류한 후, 스웜으로 분류된 다수의 클라이언트들에 대해 다시 각 클라이언트(100)로부터 전송된 부가 정보를 이용하여 클라이언트 특성에 맞는 다수의 서브 스웜으로 구성한다. 이때 서브 스웜의 구성에 있어서는 예를 들어, 같은 스웜에 포함된 클라이언트들 중 국가나 회사가 동일한 클라이언트를 서브 스웜으로 구성할 수도 있으며, 동일 국가내 개인 사용자들만을 서브 스웜으로 구성할 수도 있다.That is, the tracker server 200 analyzes the information of the seed file transmitted from the client 100, classifies the client having the same seed file information as a swarm, and then, for each of the clients classified as swarm, A plurality of sub-swarms corresponding to client characteristics are configured using the additional information transmitted from the server 100. [ At this time, in the configuration of the sub-swarm, for example, among the clients included in the same swarm, a client having the same country or company may be configured as a sub-swarm, or only individual users in the same country may be configured as a sub-swarm.

트래커 서버(200)는 위와 같이 구성한 서브 스웜 정보를 각 클라이언트(100)에게 전송하여 종래 각 클라이언트가 속한 국가나 회사 등의 네트워크 환경을 고려하지 않은 스웜 정보를 제공함에 따라 발생하였던 문제를 해결할 수 있도록 한다.The tracker server 200 transmits the sub-swarm information configured as described above to each client 100 so as to solve a problem that has occurred due to providing swarm information that does not consider the network environment of a country or a company to which each client belongs do.

예를 들어, 스웜내 클라이언트가 서로 다른 국가에 속해 있는 경우 국가간 네트워크 연결이 불가하거나 원할하지 못한 경우 파일 업로드 또는 다운로드 자체가 불가하거나, 파일 업로드 또는 다운로드의 속도가 저하되는 문제점, 또는 서로 다른 회사에 속한 클라이언트간이나 또는 회사내 속한 클라이언트와 개인 클라이언트간에는 각 회사별 설정된 보안 이슈로 인해 네트워크 연결 자체가 불가하거나, 파일의 업로드 또는 다운로드에 제한이 발생하여 파일의 업로드 또는 다운로드가 어려운 문제점 등이 해결될 수 있도록 한다.For example, if the clients in the swarm belong to different countries, it is impossible to upload or download files themselves, the speed of uploading or downloading files is slow, Between the clients belonging to the company or between the clients belonging to the company and the individual clients can not be connected to the network due to the security issue set for each company or the uploading or downloading of the files is restricted and the uploading or downloading of the files is difficult .

도 2는 본 발명의 실시예에 따른 P2P 기반 업데이트 시스템의 클라이언트(100)의 상세 블록 구성을 도시한 것이다.2 shows a detailed block configuration of a client 100 of a P2P-based update system according to an embodiment of the present invention.

시드파일 정보 생성부(102)는 트래커 서버(200)에 전송할 시드 파일 정보, 즉 예를 들어 시드 파일에 기록된 해쉬값 등의 정보를 생성한다. 토렌트 기반의 분산파일 업데이트에서는 업데이트 대상파일에 대한 정보를 갖고 있는 메타데이터(metadata) 파일이 필수적으로 존재해야 하며, 이와 같은 메타데이터 파일을 시드 파일이라 한다. 이와 같은 시드 파일에는 업데이트 대상 파일들을 하나의 대용량 파일로 보고 정해진 크기로 나눈 각 블록에 대한 해쉬(hash) 값 정보 등이 포함된다.The seed file information generation unit 102 generates seed file information to be transmitted to the tracker server 200, that is, information such as a hash value recorded in a seed file, for example. In a torrent-based distributed file update, a metadata file having information on a file to be updated must exist. Such a metadata file is called a seed file. Such a seed file includes hash value information for each block obtained by dividing the files to be updated into one large capacity file and dividing the files into predetermined sizes.

부가정보 생성부(104)는 트래커 서버(200)에서 동일 시드 파일 정보를 가지는 클라이언트들에 대해 다시 각 클라이언트별 특성에 맞는 클라이언트들을 소규모의 서브 스웜으로 구성하도록 하는데 필요한 부가 정보를 생성한다. 이때, 부가 정보는 예를 들어 클라이언트(100)가 속한 국가의 국가코드, 회사명, 제품명, 회사 및 개인용 여부 등의 정보가 될 수 있다.The additional information generation unit 104 generates additional information necessary for the clients having the same seed file information to configure the clients corresponding to the characteristics of each client as a small-sized sub-swarm in the tracker server 200. [ At this time, the additional information may be information such as, for example, a country code of a country to which the client 100 belongs, a company name, a product name, a company, and a personal use.

통신부(108)는 인터넷(internet) 등의 네트워크를 통해 트래커 서버(200) 또는 다른 클라이언트와 토렌트 기반의 분산파일 업데이트를 위한 데이터를 송수신한다. 이와 같은 통신부(108)는 예를 들어 토렌트 프로토콜을 포함하는 P2P 통신 프로토콜을 지원할 수 있다.The communication unit 108 transmits and receives data for updating the torrent-based distributed file with the tracker server 200 or another client through a network such as the Internet. The communication unit 108 may support a P2P communication protocol including, for example, a torrent protocol.

제어부(106)는 클라이언트(100)에서 토렌트 기반의 분산파일 업데이트를 위한 전반적인 동작을 제어한다. 즉, 제어부(106)는 시드파일 정보 생성부(102) 또는 부가정보 생성부(104)를 제어하여 시드 파일 정보, 부가정보를 생성하여 트래커 서버(200)로 전송하며, 트래커 서버(200)로부터 동일 시드 파일 정보를 가지고 있는 클라이언트들로 구성되는 스웜 정보 및 서브 스웜 정보를 수신하여 서브 스웜내 속한 다른 클라이언트와 업데이트 파일을 송수신하게 된다.The control unit 106 controls the overall operation for updating the torrent-based distributed file in the client 100. That is, the control unit 106 controls the seed file information generation unit 102 or the additional information generation unit 104 to generate the seed file information and the additional information, and transmits the seed file information and the additional information to the tracker server 200, It receives the swarm information and the sub-swarm information including the clients having the same seed file information, and transmits / receives the update file to the other clients in the sub-swarm.

도 3은 본 발명의 실시예에 따른 P2P 기반 업데이트 시스템의 트래커 서버(200)의 상세 블록 구성을 도시한 것이다.FIG. 3 shows a detailed block configuration of a tracker server 200 of a P2P-based update system according to an embodiment of the present invention.

통신부(202)는 인터넷 등의 네트워크를 통해 다수의 클라이언트(100)와 토렌트 기반의 분산파일 업데이트를 위한 데이터를 송수신한다. 이와 같은 통신부(202)는 예를 들어 토렌트 프로토콜을 포함하는 P2P 통신 프로토콜을 지원할 수 있다.The communication unit 202 transmits and receives data for updating a torrent-based distributed file with a plurality of clients 100 via a network such as the Internet. The communication unit 202 may support a P2P communication protocol including, for example, a torrent protocol.

시드 정보 분석부(208)는 클라이언트(100)로부터 전송된 시드 파일 정보를 분석하여 동일 시드 파일 정보를 가지고 있는 클라이언트(100)를 분류하고 하나의 그룹(group) 즉, 스웜으로 구성한다. 이와 같이 구성된 스웜 정보는 저장부(212)내 스웜 정보 DB(database)(214)에 저장되어 관리된다.The seed information analysis unit 208 analyzes the seed file information transmitted from the client 100 and classifies the clients 100 having the same seed file information into one group or a swarm. The thus constructed swarm information is stored and managed in a swarm information database (database) 214 in the storage unit 212.

서브 스웜 관리부(210)는 각 클라이언트(100)로부터 시드 파일 정보와 함께 전송되는 부가정보를 이용하여 동일 스웜내 속한 클라이언트들에 대해 다시 부가정보의 특성에 맞는 다수의 소규모 서브 스웜으로 구성한다. 이때 서브 스웜의 구성에 있어서는 예를 들어, 같은 스웜에 포함된 클라이언트들 중 국가나 회사가 동일한 클라이언트를 서브 스웜으로 구성할 수도 있으며, 동일 국가내 개인 사용자들만을 서브 스웜으로 구성할 수도 있다. 이와 같이 구성된 서브 스웜 정보는 저장부(212)내 서브 스웜 정보 DB(216)에 저장되어 관리된다.The sub-swarm management unit 210 constructs a plurality of sub-swarms corresponding to the characteristics of additional information for the clients belonging to the same swarm using the additional information transmitted together with the seed file information from each client 100. At this time, in the configuration of the sub-swarm, for example, among the clients included in the same swarm, a client having the same country or company may be configured as a sub-swarm, or only individual users in the same country may be configured as a sub-swarm. The thus configured sub-swarm information is stored and managed in the sub-swarm information DB 216 in the storage unit 212.

저장부(212)는 스웜 정보를 저장하는 스웜 정보 DB(214)와, 서브 스웜 정보를 저장하는 서브 스웜 정보 DB(216)를 포함한다.The storage unit 212 includes a swarm information DB 214 for storing swarm information and a sub swarm information DB 216 for storing the sub swarm information.

제어부(206)는 메모리부(204)에 저장된 동작 프로그램에 따라 트래커 서버(200)의 전반적인 동작을 제어한다.The control unit 206 controls the overall operation of the tracker server 200 according to an operation program stored in the memory unit 204.

즉, 제어부(206)는 통신부(202)를 통해 트래커 서버(200)에 접속한 각 클라이언트(100)로부터 시드 파일 정보와 부가정보를 수신하여 각각 시드 정보 분석부(208)와 서브 스웜 관리부(210)로 제공하여, 동일 시드 파일 정보를 가지고 있는 클라이언트들이 하나의 스웜으로 구성되도록 하며, 또한 부가 정보를 이용하여 동일 스웜내 속한 클라이언트들이 다시 부가 정보의 특성에 맞는 즉, 부가정보 중 서로 일치하는 정보를 가지는 클라이언트들이 구분되어 다수의 서브 스웜으로 구성되도록 한다. That is, the control unit 206 receives the seed file information and the additional information from each client 100 connected to the tracker server 200 through the communication unit 202 and transmits the seed file information and the additional information to the seed information analysis unit 208 and the subswam management unit 210 So that the clients having the same seed file information are constituted as one swarm. Further, the clients belonging to the same swarm again use the additional information, that is, the information corresponding to the characteristics of the additional information, that is, Are divided into a plurality of sub-swarms.

또한, 제어부(206)는 서브 스웜 관리부(210)를 통해 시드 파일 정보에 따라 구성된 스웜내 클라이언트들에 대해 새로이 구성된 서브 스웜 정보를 통신부(202)를 통해 각 클라이언트(100)로 전송하여 클라이언트(100)가 동일 국가 또는 회사 등의 각 클라이언트별 특성에 맞게 구성된 서브 스웜내에서 분산파일 업데이트를 수행할 수 있도록 한다.In addition, the control unit 206 transmits newly configured sub-swarm information to the clients in the swarm configured according to the seed file information through the sub-swarm management unit 210 to each client 100 through the communication unit 202, ) Can perform distributed file update within a sub-swarm configured for each client-specific characteristic of the same country or company.

이에 따라, 예를 들어 국가별로 구분되는 서브 스웜 구성을 통해 지역성으로 인한 데이터 전송 저하를 방지할 수 있으며, 또한, 동일 회사 네트워크내의 클라이언트로 서브 스웜을 구성하여 불필요한 네트워크 접근을 차단시킬 수 있는 등 종래 스웜 구성에서 발생하였던 문제점을 해결할 수 있게 된다.Accordingly, for example, it is possible to prevent data transmission degradation due to localization through sub-swarm configuration that is divided into countries, and to prevent unnecessary network access by configuring a sub swarm as a client in the same company network. It is possible to solve the problem that has occurred in the swarm configuration.

또한, 제어부(206)는 위와 같은 구성되는 서브 스웜에 대해 서브 스웜간 데이터 공유 방식을 설정하고, 설정된 데이터 공유 방식 정보를 서브 스웜 정보와 함께 전송하여 각 클라이언트(100)가 서로 다른 서브 스웜간에도 필요한 경우 트래커 서버(200)에서 설정된 데이터 공유 방식에 따라 분산파일 업데이트를 수행할 수 있도록 한다.In addition, the control unit 206 sets a data sharing method between sub-swarms for the sub-swarm configured as described above, and transmits the set data sharing method information together with the sub-swarm information so that each client 100 The distributed file update can be performed according to the data sharing method set by the tracker server 200.

즉, 예를 들어, 도 4에서와 같이 국가에 따라 A국가, B국가 서브 스웜이 구성된 경우, 이하의 4가지 경우에서와 같이 데이터 공유방식이 설정될 수 있다. 1. 서로 다른 A, B 국가는 각각 해당 국가 내에서만 파일 업 또는 다운로드가 가능하다. 2. 서로 다른 A, B 국가 모두 서로에게 파일 업 또는 다운로드가 가능하다. 3. A국가는 B국가로부터 파일 다운로드 및 업로드가 가능하나 B 국가는 A 국가로부터 다운로드만 가능하다. 4. A국가는 B 국가로부터 파일 다운로드 및 업로드가 가능하나 B 국가는 A 국가에게 업로드만 가능하다.That is, for example, if a country A and a country B sub swarm are configured according to a country as shown in FIG. 4, a data sharing scheme may be set as in the following four cases. 1. Different countries A and B can file up or download only within their respective countries. 2. Different A and B countries can upload or download files to each other. 3. Country A can download and upload files from country B, but country B is only downloadable from country A 4. Country A can download and upload files from country B, but country B is only uploadable to country A.

도 5는 본 발명의 실시예에 따른 P2P 기반 업데이트 시스템의 트래커 서버(200)에서 서브 스윔을 생성하는 동작 제어 흐름을 도시한 것이다.FIG. 5 illustrates an operation control flow for generating a sub-swim in the tracker server 200 of the P2P-based update system according to the embodiment of the present invention.

먼저, 토렌트 기반의 분산파일 업데이트를 통해 특정 프로그램에 대한 업데이트를 수행하고자 하는 클라이언트(100)는 토렌트 클라이언트 프로그램의 설치 시 서브 스웜의 구성에 필요한 부가 정보, 예들 들어 클라이언트(100)가 속한 국가의 국가코드, 회사명, 제품명, 회사 및 개인용 여부 등의 정보를 생성한 후, 토렌트 클라이언트 프로그램을 실행하여 인터넷 등의 네트워크를 통해 트래커 서버(200)에 접속 시 클라이언트가 가지고 있는 시드 파일의 정보와 부가정보를 트래커 서버(200)로 전송한다. First, the client 100 which wishes to update the specific program through the update of the torrent-based distributed file can download the additional information necessary for the configuration of the sub swarm at the time of installing the torrent client program, for example, the country of the country to which the client 100 belongs Code, company name, product name, company and personal use, and then executes the torrent client program to access the tracker server 200 through the network, such as the Internet, To the tracker server (200).

그러면, 트래커 서버(200)의 제어부(206)는 통신부(202)를 통해 위와 같이 각 클라이언트(100)로부터 전송되는 클라이언트별 시드 파일 정보와 부가정보를 수신한다.The control unit 206 of the tracker server 200 receives the seed file information and the additional information for each client transmitted from each client 100 through the communication unit 202 as described above.

이어, 제어부(206)는 통신부(202)를 통해 트래커 서버(200)에 접속한 각 클라이언트(100)로부터 시드 파일 정보와 부가정보를 수신하고, 시드 정보 분석부(208)를 통해 동일 시드 파일 정보를 가지고 있는 클라이언트들을 하나의 스웜으로 구성하도록 한다.The control unit 206 receives the seed file information and the additional information from each client 100 connected to the tracker server 200 via the communication unit 202 and transmits the same seed file information So that the clients having the same name are configured as one swarm.

이어, 제어부(206)는 시드 파일 정보와 함께 전송된 부가정보를 수신하고, 서브 스웜 관리부(210)를 통해 스웜내 속한 클라이언트들에 대해 다시 각 클라이언트의 부가정보의 특성에 맞는 다수의 소규모 서브 스웜으로 구성하도록 한다.Subsequently, the control unit 206 receives the additional information transmitted together with the seed file information, and transmits the sub-swarm management information to the plurality of small-sized sub-swarms .

이때, 서브 스웜의 구성에 있어서는 예를 들어, 같은 스웜에 포함된 클라이언트들 중 국가나 회사가 동일한 클라이언트를 서브 스웜으로 구성할 수도 있으며, 동일 국가내 개인 사용자들만을 서브 스웜으로 구성할 수도 있는 등 다양한 방식으로 서브 스웜을 구성할 수 있다.  At this time, in the configuration of the sub-swarm, for example, a client having the same country or company among the clients included in the same swarm may be configured as a sub-swarm, or only individual users in the same country may be configured as a sub- A sub-swarm can be configured in a variety of ways.

위와 같이, 트래커 서버(200)로 시드 파일의 정보와 부가정보를 전송한 클라이언트(100)에 대한 스웜 구성과 서브 스웜 구성이 완료되면, 제어부(206)는 위와 같이 구성된 스웜 정보와 서브 스웜 정보를 저장부(212)내 스웜 정보 DB(214)와 서브 스웜 정보 DB(216)에 각각 저장시켜 관리한다.When the swarm configuration and the sub swarm configuration for the client 100 that has transmitted the seed file information and the additional information to the tracker server 200 are completed, the controller 206 stores the swarm information and the sub-swarm information as described above And stores it in the swarm information DB 214 and the subsworm information DB 216 in the storage unit 212, respectively.

이어, 제어부(206)는 서브 스웜 관리부(210)를 통해 시드 파일 정보에 따라 구성된 스웜내 클라이언트들에 대해 새로이 구성된 서브 스웜 정보를 통신부(202)를 통해 각 클라이언트(100)로 전송하여 클라이언트(100)가 동일 국가 또는 회사 등의 각 클라이언트별 특성에 맞게 구성된 서브 스웜내에서 분산파일 업데이트를 수행할 수 있도록 한다.Then, the control unit 206 transmits the newly configured sub-swarm information to the clients in the swarm configured according to the seed file information through the sub-swarm management unit 210 to each client 100 through the communication unit 202, ) Can perform distributed file update within a sub-swarm configured for each client-specific characteristic of the same country or company.

이에 따라, 예를 들어 국가별로 구분되는 서브 스웜 구성을 통해 지역성으로 인한 데이터 전송 저하를 방지할 수 있으며, 또한, 동일 회사 네트워크내의 클라이언트로 서브 스웜을 구성하여 불필요한 네트워크 접근을 차단시킬 수 있는 등 종래 스웜 구성에서 발생하였던 문제점을 해결할 수 있게 된다.Accordingly, for example, it is possible to prevent data transmission degradation due to localization through sub-swarm configuration that is divided into countries, and to prevent unnecessary network access by configuring a sub swarm as a client in the same company network. It is possible to solve the problem that has occurred in the swarm configuration.

또한, 제어부(206)는 위와 같은 구성되는 서브 스웜에 대해 서브 스웜간 데이터 공유 방식을 설정하고, 설정된 데이터 공유 방식 정보를 서브 스웜 정보와 함께 전송하여 각 클라이언트가 서로 다른 서브 스웜 간에도 필요한 경우 트래커 서버(200)에서 설정된 데이터 공유 방식에 따라 분산파일 업데이트를 수행할 수 있도록 한다.In addition, the control unit 206 sets a data sharing method between sub-swarms for the sub-swarm configured as described above, transmits the set data sharing scheme information together with the sub-swarm information, So that the distributed file update can be performed according to the data sharing method set by the user.

즉, 예를 들어, 도 4에서와 같이 국가에 따라 서브 스웜이 구성된 경우, 이하의 4가지 경우에서와 같이 데이터 공유방식이 설정될 수 있다. 1. 서로 다른 A, B 국가는 각각 해당 국가 내에서만 파일 업 또는 다운로드가 가능하다. 2. 서로 다른 A, B 국가 모두 서로에게 파일 업 또는 다운로드가 가능하다. 3. A국가는 B국가로부터 파일 다운로드 및 업로드가 가능하나 B 국가는 A 국가로부터 다운로드만 가능하다. 4. A국가는 B 국가로부터 파일 다운로드 및 업로드가 가능하나 B 국가는 A 국가에게 업로드만 가능하다.That is, for example, when a sub swarm is configured according to a country as shown in FIG. 4, a data sharing scheme can be set as in the following four cases. 1. Different countries A and B can file up or download only within their respective countries. 2. Different A and B countries can upload or download files to each other. 3. Country A can download and upload files from country B, but country B is only downloadable from country A 4. Country A can download and upload files from country B, but country B is only uploadable to country A.

상기한 바와 같이, P2P기반 파일 업데이트에 있어서, 업데이트 대상 파일에 대한 정보를 가지고 있는 메타 데이터 파일을 가지고 있는 클라이언트에서 파일 업데이트를 위한 클라이언트들의 그룹 정보의 획득을 위해 서버 접속 시 메타 데이터 파일과 각 클라이언트의 국가, 회사 정보 등의 부가정보를 제공하고, 서버에서는 동일한 메타 데이터 파일을 가지는 그룹내 클라이언트들 중 부가정보에 따라 소규모로 다시 구성한 서브 그룹의 정보를 해당 클라이언트로 제공하여 클라이언트별 특성에 맞게 새로이 구성된 서브 그룹내 클라이언트들간 P2P기반의 파일 업데이트가 수행되도록 함으로써, 서로 다른 국가간 또는 회사간 네트워크 연결에 따른 업데이트 속도 저하 및 보안 문제의 발생을 방지시킬 수 있다. 또한, 동일한 메타 데이터 파일을 가지는 클라이언트들을 위와 같이 보다 세분화되게 동일한 국가에 속한 클라이언트끼리, 또는 동일한 회사에 속한 클라이언트끼리 서브 그룹으로 구성하여 네트워크 연결 및 보안 문제가 발생하지 않도록 함으로서 파일 업데이트의 정확성과 속도를 향상시킬 수 있다.As described above, in the P2P-based file update, when a client having a metadata file having information on a file to be updated acquires group information of clients for file update, The server provides the sub-group information of the sub-group reconfigured on the basis of the additional information among the clients in the group having the same metadata file to the corresponding client, The P2P-based file update is performed between the clients in the configured sub-group, thereby preventing the update speed from being slowed down and security problems occurring due to inter-country or inter-company network connections. Clients having the same metadata file can be divided into subgroups of clients belonging to the same country or clients belonging to the same company more precisely as described above so that network connection and security problems do not occur so that the accuracy and speed of file update Can be improved.

한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention should not be limited by the described embodiments but should be defined by the appended claims.

100 : 클라이언트 200 : 트래커 서버
102 : 시드파일 정보 생성부 104 : 부가정보 생성부
106 : 제어부 108 : 통신부
202 : 통신부 204 : 메모리부
206 : 제어부 208 : 시드정보 분석부
210 : 서브 스웜 관리부 212 : 저장부
214 : 스웜 정보 DB 216 : 서브 스웜 정보 DB
100: Client 200: Tracker Server
102: seed file information generation unit 104: additional information generation unit
106: control unit 108:
202: communication unit 204: memory unit
206: Control section 208: Seed information analysis section
210: a sub swarm management unit 212:
214: Swarm information DB 216: Sub swarm information DB

Claims (21)

P2P(Peer to Peer) 기반 프로토콜을 이용하여 네트워크를 통해 각 클라이언트로부터 전송되는 메타 데이터 파일의 정보를 분석하여 동일 메타데이터 파일 정보를 가지는 클라이언트들을 하나의 그룹으로 구성하는 메타 데이터 정보 분석부와,
상기 그룹으로 구성된 클라이언트들에 대해 각 클라이언트의 부가 정보에 따라 하나 이상의 서브 그룹으로 구성하는 서브 그룹 관리부와,
상기 생성된 그룹과 서브 그룹에 대한 정보를 관리하고, 상기 서브 그룹의 정보를 해당 클라이언트에게 전송하는 제어부를 포함하며,
상기 제어부는, 동일한 그룹에서 생성되는 하나 이상의 서브 그룹에 대해 서브 그룹간 파일 공유 방식을 설정하여 해당 클라이언트로 제공하는 것을 특징으로 하는 P2P 기반 업데이트 서버 장치.
A metadata information analyzer for analyzing information of a metadata file transmitted from each client through a network using a peer-to-peer (P2P) -based protocol to configure clients having the same metadata file information as a group;
A subgroup management unit configured to group clients constituted by the group into one or more subgroups according to additional information of each client;
And a controller for managing information on the generated group and subgroup and transmitting the information of the subgroup to the client,
Wherein the controller sets a sub-group file sharing method for one or more subgroups generated in the same group and provides the sub-group file sharing method to the corresponding client.
제 1 항에 있어서,
상기 서브 그룹 관리부는,
상기 그룹내 클라이언트들에 대해 각 클라이언트의 부가정보를 비교하여 상기 부가정보내 서로 일치하는 정보를 가지는 클라이언트들을 분류하여 상기 서브 그룹으로 구성하는 것을 특징으로 하는 P2P 기반 업데이트 서버 장치.
The method according to claim 1,
Wherein the subgroup management unit comprises:
Wherein the sub-groups are classified into the sub-groups by comparing the clients' additional information with the clients in the group, and classifying clients having information matching each other in the sub-information.
제 2 항에 있어서,
상기 부가정보는,
상기 클라이언트가 속한 국가 또는 회사 정보, 또는 상기 클라이언트가 개인 사용자인지 또는 회사 사용자인지를 표시하는 정보를 적어도 하나 이상 포함하는 것을 특징으로 하는 P2P 기반 업데이트 서버 장치.
3. The method of claim 2,
The additional information,
Wherein the server includes at least one or more information indicating whether the client belongs to the country or company information, or whether the client is an individual user or a corporate user.
제 3 항에 있어서,
상기 서브 그룹 관리부는,
상기 부가정보의 비교에 따라 상기 그룹내 클라이언트들 중 국가 정보 또는 회사 정보가 일치하는 클라이언트들로 상기 서브 그룹을 구성하는 것을 특징으로 하는 P2P 기반 업데이트 서버 장치.
The method of claim 3,
Wherein the subgroup management unit comprises:
And the subgroups are configured by the clients whose country information or company information matches among the clients in the group according to the comparison of the additional information.
제 1 항에 있어서,
상기 서브 그룹 관리부는,
서로 다른 서브 그룹의 클라이언트로부터 네트워크 접근이 차단되도록 구성하는 것을 특징으로 하는 P2P 기반 업데이트 서버 장치.
The method according to claim 1,
Wherein the subgroup management unit comprises:
And the network access is blocked from clients in different subgroups.
삭제delete 제 1 항에 있어서,
상기 파일 공유 방식은,
서로 다른 서브 그룹에 속한 클라이언트들간 정의되는 파일의 업로드 또는 다운로드 방식인 것을 특징으로 하는 P2P 기반 업데이트 서버 장치.
The method according to claim 1,
In the file sharing method,
Wherein the P2P-based update server device is a method of uploading or downloading a file defined between clients belonging to different subgroups.
제 1 항에 있어서,
상기 P2P 기반 프로토콜은,
토렌트 프로토콜인 것을 특징으로 하는 P2P 기반 업데이트 서버 장치.
The method according to claim 1,
The P2P-
P2P-based update server device.
제 1 항에 있어서,
상기 메타 데이터 파일은,
업데이트 대상 파일에 대한 정보를 가지고 있는 시드 파일인 것을 특징으로 하는 P2P 기반 업데이트 서버 장치.
The method according to claim 1,
The metadata file includes:
Wherein the P2P-based update server device is a seed file having information on an update target file.
제 1 항에 있어서,
상기 메타 데이터 파일의 정보는,
상기 메타 데이터 파일에 기록된 해쉬값인 것을 특징으로 하는 P2P 기반 업데이트 서버 장치.
The method according to claim 1,
Wherein the information of the meta data file includes:
Wherein the hash value is a hash value recorded in the metadata file.
삭제delete 삭제delete P2P 기반 업데이트 서버에서 P2P기반 프로토콜을 이용하여 다수의 클라이언트 각각으로부터 메타 데이터 파일의 정보와 부가정보를 수신하는 단계와,
상기 서버에서 각 클라이언트로부터 전송된 메타 데이터 파일을 분석하여 동일한 메타 데이터 파일의 정보를 가지는 클라이언트들을 하나의 그룹으로 구성하는 단계와,
상기 서버에서 상기 그룹으로 구성된 클라이언트들에 대해 각 클라이언트의 부가 정보에 따라 하나 이상의 서브 그룹으로 구성하는 단계와,
상기 서버에서 상기 생성된 그룹과 서브 그룹에 대한 정보를 관리하고, 상기 서브 그룹의 정보를 해당 클라이언트에게 전송하는 단계와,
상기 서버에서 동일한 그룹에서 생성되는 다수의 서브 그룹에 대해 서브 그룹간 파일 공유 방식을 설정하는 단계와,
상기 서버에서 상기 파일 공유 방식에 대한 정보를 상기 서브 그룹의 정보를 전송시 함께 해당 클라이언트로 전송하는 단계
를 포함하는 P2P 기반 업데이트 방법.
Receiving a metadata file information and additional information from each of a plurality of clients using a P2P-based protocol in a P2P-based update server;
Analyzing a metadata file transmitted from each client in the server and configuring clients having information of the same metadata file into one group;
Configuring one or more subgroups of clients configured as the group in the server according to additional information of each client;
Managing information on the generated group and sub-group in the server and transmitting information of the sub-group to the corresponding client;
Setting a sub-group file sharing scheme for a plurality of subgroups generated in the same group in the server;
And transmitting information about the file sharing method from the server to the corresponding client when the information of the sub group is transmitted
Based update method.
제 13 항에 있어서,
상기 서브 그룹으로 구성하는 단계는,
상기 서버에서 상기 그룹내 클라이언트들에 대한 각 클라이언트의 부가정보를 비교하는 단계와,
상기 서버에서 상기 부가정보내 서로 일치하는 정보를 가지는 클라이언트들을 분류하여 상기 서브 그룹으로 구성하는 단계
를 포함하는 것을 특징으로 하는 P2P 기반 업데이트 방법.
14. The method of claim 13,
Wherein configuring the subgroups comprises:
Comparing the additional information of each client with the clients in the group at the server,
Categorizing clients having information matching each other in the additional information in the server and configuring the clients into the subgroup
Based update method.
제 14 항에 있어서,
상기 부가정보는,
상기 클라이언트가 속한 국가 또는 회사 정보, 또는 상기 클라이언트가 개인 사용자인지 또는 회사 사용자인지를 표시하는 정보를 적어도 하나 이상 포함하는 것을 특징으로 하는 P2P 기반 업데이트 방법.
15. The method of claim 14,
The additional information,
Wherein the server includes at least one or more information indicating whether the client is a country user or a company user or country or company information to which the client belongs.
제 15 항에 있어서,
상기 서브 그룹으로 구성하는 단계에서,
상기 부가정보를 비교하여 상기 그룹내 클라이언트들 중 국가 정보 또는 회사 정보가 일치하는 클라이언트들을 상기 서브 그룹으로 구성하는 것을 특징으로 하는 P2P 기반 업데이트 방법.
16. The method of claim 15,
In constructing the subgroups,
And compares the additional information with each other to configure clients having the same country information or company information among the clients in the group as the sub-group.
제 13 항에 있어서,
상기 서브 그룹은,
서로 다른 서브 그룹의 클라이언트로부터의 네트워크 접근이 차단되도록 구성되는 것을 특징으로 하는 P2P 기반 업데이트 방법.
14. The method of claim 13,
The sub-
And the network access from the clients in the different subgroups is blocked.
삭제delete 삭제delete 삭제delete 데이터 전송을 위한 클라이언트 프로그램의 실행 시 메타 데이터 파일의 정보와 부가 정보를 생성하고, P2P 기반 프로토콜을 이용하여 네트워크를 통해 전송하는 다수의 클라이언트와,
각 클라이언트로부터 전송되는 메타 데이터 파일의 정보를 분석하여 동일한 메타 데이터 파일의 정보를 가지는 클라이언트들을 하나의 그룹으로 구성하고, 상기 그룹으로 구성된 클라이언트들에 대해 각 클라이언트의 부가 정보에 따라 하나 이상의 서브 그룹으로 구성한 후, 상기 서브 그룹의 정보를 상기 P2P기반 프로토콜 통해 해당 클라이언트에게 전송하는 서버를 포함하며,
상기 서버는, 동일한 그룹에서 생성되는 하나 이상의 서브 그룹에 대해 서브 그룹간 파일 공유 방식을 설정하여 해당 클라이언트로 제공하는 것을 특징으로 하는 P2P 기반 업데이트 시스템.
A plurality of clients for generating information and additional information of a metadata file at the time of execution of a client program for data transmission and transmitting through a network using a P2P based protocol,
The client having the information of the same metadata file is configured into one group by analyzing the information of the metadata file transmitted from each client and the clients constituted by the group are divided into one or more subgroups And a server for transmitting the information of the subgroup to the client through the P2P-based protocol,
Wherein the server establishes a sub-group file sharing scheme for one or more subgroups generated in the same group and provides the sub-group file sharing scheme to the corresponding client.
KR1020110146021A 2011-12-29 2011-12-29 Client, server, system and method for updating data based on peer to peer KR101436406B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110146021A KR101436406B1 (en) 2011-12-29 2011-12-29 Client, server, system and method for updating data based on peer to peer
PCT/KR2012/011453 WO2013100551A1 (en) 2011-12-29 2012-12-26 P2p-based update client, server device, system, and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110146021A KR101436406B1 (en) 2011-12-29 2011-12-29 Client, server, system and method for updating data based on peer to peer

Publications (2)

Publication Number Publication Date
KR20130077357A KR20130077357A (en) 2013-07-09
KR101436406B1 true KR101436406B1 (en) 2014-09-02

Family

ID=48697918

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110146021A KR101436406B1 (en) 2011-12-29 2011-12-29 Client, server, system and method for updating data based on peer to peer

Country Status (2)

Country Link
KR (1) KR101436406B1 (en)
WO (1) WO2013100551A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101725041B1 (en) 2015-07-23 2017-04-10 부산대학교 산학협력단 Method and apparatus for detecting forged image
KR20180083191A (en) * 2017-01-12 2018-07-20 박민규 Auto download system based on update file information, and method thereof
KR101884467B1 (en) 2017-06-12 2018-08-02 한국맥널티 주식회사 Liquid composition comprising alginate or a pharmaceutically acceptable salt thereof, and polysaccharide colloids

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060017820A (en) * 2003-05-27 2006-02-27 노키아 코포레이션 System and method for user notification
KR20070003807A (en) * 2004-03-25 2007-01-05 마쯔시다덴기산교 가부시키가이샤 Information processing device, information processing system, and information processing method
KR20110072239A (en) * 2009-12-22 2011-06-29 주식회사 아이티컨트롤 Method for web hard or web disk p2p-grid file sharing based on torrent protocol and apparatus for the same and system for the same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938042B2 (en) * 2002-04-03 2005-08-30 Laplink Software Inc. Peer-to-peer file sharing
KR20030043837A (en) * 2003-04-24 2003-06-02 이건용 P2P-based virtual network storage method
US20050091595A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Group shared spaces
WO2009088513A1 (en) * 2008-01-10 2009-07-16 Hewlett-Packard Development Company, L.P. Multiway peer-to-peer media streaming

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060017820A (en) * 2003-05-27 2006-02-27 노키아 코포레이션 System and method for user notification
KR20070003807A (en) * 2004-03-25 2007-01-05 마쯔시다덴기산교 가부시키가이샤 Information processing device, information processing system, and information processing method
KR20110072239A (en) * 2009-12-22 2011-06-29 주식회사 아이티컨트롤 Method for web hard or web disk p2p-grid file sharing based on torrent protocol and apparatus for the same and system for the same

Also Published As

Publication number Publication date
WO2013100551A1 (en) 2013-07-04
KR20130077357A (en) 2013-07-09

Similar Documents

Publication Publication Date Title
JP7335440B2 (en) File storage method, terminal and storage medium
US9491236B2 (en) System and method for secure, high-speed transfer of very large files
US20170109369A1 (en) Publish-subscribe platform for cloud file distribution
US8762931B2 (en) Generating an encoded package profile
CN108027828B (en) Managed file synchronization with stateless synchronization nodes
US11665142B2 (en) Dynamic discovery of executing applications
US9426219B1 (en) Efficient multi-part upload for a data warehouse
US20140359066A1 (en) System, method and device for offline downloading resource and computer storage medium
US20120179778A1 (en) Applying networking protocols to image file management
US10931746B2 (en) Managing content downloads
JP6785913B2 (en) Methods and systems to prevent the distribution of illegal content on the Internet
KR20140143775A (en) Cache management
CN103369002A (en) A resource downloading method and system
KR101436406B1 (en) Client, server, system and method for updating data based on peer to peer
US20220129381A1 (en) Blockchain cache system
KR101600717B1 (en) Method and apparatus for download virtual machine operating system image
CN110958293B (en) File transmission method, system, server and storage medium based on cloud server
US20150106411A1 (en) Migrating file locks in distributed file systems
CN103685497A (en) On-line storing and sharing method and system
Durao et al. Usto. re: A private cloud storage software system
CN111404936B (en) File forwarding system and method
US11895192B1 (en) Managing subscriptions to resource updates made via a target interface
CN102075349A (en) Method for device file centralized management by simple network management protocol (SNMP) network manager
Wickramarachchi et al. Use of nomadic computing devices for storage synchronization
US20220391409A1 (en) Hybrid cloud asynchronous data synchronization

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)
FPAY Annual fee payment

Payment date: 20170828

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180827

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190826

Year of fee payment: 6