KR20090099874A - System and method for file distribution using messenger - Google Patents

System and method for file distribution using messenger Download PDF

Info

Publication number
KR20090099874A
KR20090099874A KR1020080025108A KR20080025108A KR20090099874A KR 20090099874 A KR20090099874 A KR 20090099874A KR 1020080025108 A KR1020080025108 A KR 1020080025108A KR 20080025108 A KR20080025108 A KR 20080025108A KR 20090099874 A KR20090099874 A KR 20090099874A
Authority
KR
South Korea
Prior art keywords
data
distribution
client
file
messenger
Prior art date
Application number
KR1020080025108A
Other languages
Korean (ko)
Other versions
KR100945016B1 (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 KR1020080025108A priority Critical patent/KR100945016B1/en
Publication of KR20090099874A publication Critical patent/KR20090099874A/en
Application granted granted Critical
Publication of KR100945016B1 publication Critical patent/KR100945016B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

PURPOSE: A file distribution system using a messenger and a method thereof including a file distribution unit are provided to distribute the file stably and efficiently by using an internet messenger system capable of communicating with the other user. CONSTITUTION: A data distribution method is as follows. It confirms whether the data is existed as clients(101,103,105,107) connecting to a server. The server determines the distribution form for distributing at the client who it connects data to a server data to be distributed at the client who confirmation result data of the first step connects to a server exist. The server transmits the client whose the distribution form determined in the second step connects the included distribution command to the server.

Description

메신저를 이용한 파일 배포 시스템 및 그 방법{SYSTEM AND METHOD FOR FILE DISTRIBUTION USING MESSENGER}File Distribution System using Messenger and its method {SYSTEM AND METHOD FOR FILE DISTRIBUTION USING MESSENGER}

본 발명은 파일 배포에 관한 것으로서, 보다 상세하게는 메신저를 이용한 파일 배포 시스템 및 그 방법에 관한 것이다.The present invention relates to file distribution, and more particularly, to a file distribution system and a method using a messenger.

파일 배포에 관한 종래기술로서 2006. 6. 28.자 공개된 대한민국 공개특허 제10-2006-0072422호[명칭: 특정 프로그램의 효율적 자동 배포 및 설치를 위한 네트워크 영역의 P2P(Peer To Peer) 분산 방법 및 그 제작방법과 소프트웨어 자산 및 패치 관리 시스템]가 있다.Korean Patent Publication No. 10-2006-0072422 published on June 28, 2006 as a related art for file distribution [Name: Peer-to-peer distribution method in the network area for efficient automatic distribution and installation of a specific program. And its production method and software asset and patch management system.

상기 종래기술은 브로드캐스팅이 가능한 네트워크 환경, 예를 들어 LAN 환경을 전제로 하여, 상기 네트워크에 연결되어 있는 다수의 클라이언트 시스템을 소정 개수의 그룹으로 분할한 후에 상기 분할된 각 그룹의 클라이언트 중 어느 하나로 하여금 당해 그룹의 나머지 클라이언트에 소정 프로그램을 배포 및 설치시키게 된다.The prior art divides a plurality of client systems connected to the network into a predetermined number of groups, assuming a broadcasting environment, for example, a LAN environment, which is broadcastable. To distribute and install certain programs to the remaining clients of the group.

상기 종래기술에 따르면 상기 소정 프로그램이 저장되어 있는 서버에 집중되는 네트워크 트래픽을 분산시키고 상기 서버가 제공하는 프로그램 자동 설치 서비스의 안정성을 확보할 수 있다.According to the related art, it is possible to distribute network traffic concentrated on a server in which the predetermined program is stored and to secure stability of an automatic program installation service provided by the server.

그러나, 상기 종래기술은 브로드캐스팅이 가능한 환경(LAN)에만 한정되어 적용될 수 있는 기술이기 때문에 인터넷에 범용적으로 연결된 클라이언트에 대하여 적용될 수 없다는 한계가 있다.However, since the conventional technology is a technology that can be applied only to a broadcastable environment (LAN), it cannot be applied to a client universally connected to the Internet.

따라서, 상기 종래기술에 따른 한계를 극복하고 인터넷에 범용적으로 연결된 클라이언트에 대해서도 안정적으로 파일을 분산 배포할 수 있는 기술이 요구된다.Accordingly, there is a need for a technique capable of reliably distributing and distributing files even for a client universally connected to the Internet, overcoming the limitations of the prior art.

따라서, 본 발명은 상기 요구에 부응하기 위해 안출된 것으로서, 위치에 구애받지 않고 다른 사용자와 커뮤니케이션이 가능한 인터넷 메신저 시스템을 이용하여 효율적이고 안정적으로 파일을 분산 배포할 수 있는 파일 배포 시스템 및 그 방법을 제공함에 그 목적이 있다.Accordingly, the present invention has been made to meet the above demands, and provides a file distribution system and method for efficiently and reliably distributing files using an Internet messenger system capable of communicating with other users regardless of location. The purpose is to provide.

본 발명이 속한 기술 분야에서 통상의 지식을 가진 자는 본 명세서의 도면, 발명의 상세한 설명 및 특허청구범위로부터 본 발명의 다른 목적 및 장점을 쉽게 인식할 수 있다.Those skilled in the art to which the present invention pertains can easily recognize other objects and advantages of the present invention from the drawings, the detailed description of the invention, and the claims.

상기와 같은 목적을 달성하기 위해 본 발명은, 서버에 접속한 다수의 클라이언트로 데이터를 배포하는 데이터 배포 방법에 있어서, 상기 서버에 접속한 클라이언트로 배포되어야 할 데이터가 존재하는지 여부를 확인하는 제1단계; 상기 제1단계의 확인 결과 상기 데이터가 상기 서버에 접속한 클라이언트로 배포되어야 할 데이터가 존재하는 경우에 상기 서버는 상기 데이터를 상기 서버에 접속한 클라이언트로 배포하기 위한 배포 방식 -상기 배포 방식은 상기 서버로부터 상기 데이터를 배포하는 제1방식, 상기 서버에 접속한 클라이언트와 메신저 버디 관계인 다른 클라이언트로부터 상기 데이터를 배포하는 제2방식, 또는 상기 서버와 상기 버디관계의 다른 클라이언트로부터 상기 데이터를 배포하는 제3방식 중 하나 이상을 포함함 -을 결정하는 제2단계; 및 상기 서버는 상기 제2단계에서 결정된 배포 방식이 포함된 배포 명령을 상기 서버에 접속한 클라이언트로 전송하는 제3단계를 포함하는 데이터 배포 방법을 제공한다.In order to achieve the above object, the present invention provides a data distribution method for distributing data to a plurality of clients connected to a server, the method comprising: checking whether data to be distributed to clients connected to the server exists; step; A distribution method for distributing the data to a client accessing the server when the data to be distributed to the client accessing the server exists as a result of the checking of the first step; A first method of distributing the data from a server, a second method of distributing the data from another client in a messenger buddy relationship with a client connected to the server, or a method of distributing the data from another client in the buddy relationship with the server Including at least one of three ways; And a third step of transmitting, by the server, a distribution command including a distribution method determined in the second step, to a client accessing the server.

그리고, 상기 목적을 달성하기 위해 본 발명은, 클라이언트로 데이터를 배포하는 데이터 배포 시스템에 있어서, 상기 클라이언트로 배포될 데이터를 저장하는 데이터 배포 수단; 상기 클라이언트와 메신저 버디 관계인 다른 클라이언트의 정보를 관리하며 메신저 서비스를 수행하는 메신저 서비스 수단; 상기 클라이언트로 배 포되는 데이터의 이력 정보를 관리하는 배포 정보 관리 수단; 상기 클라이언트로 배포하기 위한 배포 방식 상기 배포 방식은 상기 데이터 배포 수단으로부터 상기 데이터를 배포하는 제1방식 및 상기 클라이언트와 메신저 버디 관계인 다른 클라이언트로부터 상기 데이터를 배포하는 제2방식, 또는 상기 데이터 배포 수단과 상기 버디관계의 다른 클라이언트로부터 상기 데이터를 배포하는 제3방식 중 하나 이상을 포함함 - 을 결정하는 배포 방식 결정 수단; 및 상기 결정된 배포 방식이 포함된 배포 명령을 상기 클라이언트로 전송하는 명령 전송 수단을 포함하는 데이터 배포 시스템을 제공한다.In order to achieve the above object, the present invention provides a data distribution system for distributing data to a client, comprising: data distributing means for storing data to be distributed to the client; Messenger service means for managing information of another client having a messenger buddy relationship with the client and performing a messenger service; Distribution information management means for managing history information of data distributed to the client; Distribution method for distributing to the client The distribution method includes a first method of distributing the data from the data distributing means and a second method of distributing the data from another client having a messenger buddy relationship with the client; Distribution method determining means for determining one or more of third ways to distribute the data from other clients in the buddy relationship; And command transmitting means for transmitting a distribution command including the determined distribution method to the client.

또한, 상기 목적을 달성하기 위해 본 발명은, 상기 데이터 배포 시스템에 접속하는 클라이언트 시스템에 있어서, 상기 데이터 배포 시스템으로부터 전송된 배포 명령을 수신하는 명령 수신 수단; 상기 수신된 배포 명령에 포함된 배포 방식에 따라 상기 데이터 배포 수단으로부터 상기 데이터를 배포받거나 상기 클라이언트 시스템과 메신저 버디 관계인 다른 클라이언트로부터 상기 데이터를 배포받는 데이터 수신 수단; 및 상기 데이터 수신 수단에 의해 배포받은 데이터를 저장관리하는 데이터 관리 수단을 포함하는 클라이언트 시스템을 제공한다.In addition, to achieve the above object, the present invention provides a client system for accessing the data distribution system, comprising: command receiving means for receiving a distribution command transmitted from the data distribution system; Data receiving means for receiving the data from the data distributing means or distributing the data from another client having a messenger buddy relationship with the client system according to a distributing method included in the received distributing command; And data management means for storing and managing data distributed by the data receiving means.

또한, 상기 목적을 달성하기 위해 본 발명은, 데이터를 배포하는 데이터 배포 방법에 있어서, 서버에 접속한 클라이언트로 배포되어야 할 데이터가 존재하는지 여부를 확인하는 제1단계; 상기 제1단계의 확인 결과 상기 데이터가 상기 서버 에 접속한 클라이언트로 배포되어야 할 데이터가 존재하는 경우에 상기 클라이언트는 상기 배포되어야 할 데이터가 메신저 버디 관계인 다른 클라이언트에 존재하는지 확인하는 제 2 단계; 상기 다른 클라이언트에 상기 데이터가 존재하는 경우, 상기 데이터를 배포받기 위한 배포 방식 -상기 배포 방식은 상기 서버로부터 상기 데이터를 배포하는 제1방식, 상기 서버에 접속한 클라이언트와 메신저 버디 관계인 다른 클라이언트로부터 상기 데이터를 배포하는 제2방식, 또는 상기 서버와 상기 버디관계의 다른 클라이언트로부터 상기 데이터를 배포하는 제3방식 중 하나 이상을 포함함 -을 결정하는 제3단계를 포함하는 데이터 배포 방법을 제공한다.The present invention also provides a data distribution method for distributing data, comprising: a first step of checking whether or not there is data to be distributed to a client connected to a server; A second step of confirming whether the data to be distributed exists in another client having a messenger buddy relationship when there is data to be distributed to a client accessing the server as a result of the checking of the first step; Distribution method for distributing the data when the data exists in the other client, The distribution method is a first method of distributing the data from the server, from the other client having a messenger buddy relationship with the client connected to the server And at least one of a second manner of distributing the data or a third manner of distributing the data from the server and other clients in the buddy relationship.

본 발명에 따르면 인터넷 접속이 가능하면 위치에 구애받지 않고 다른 사용자와 커뮤니케이션이 가능한 메신저 시스템을 이용하여 메신저 클라이언트간에 파일을 배포할 수 있도록 함으로써 상기 파일 배포에 필요한 리소스를 분산시키고 상기 파일을 효율적이고 안정적으로 분산 배포할 수 있다.According to the present invention, if an Internet connection is available, a file can be distributed among messenger clients using a messenger system that can communicate with other users regardless of location, thereby distributing resources necessary for the file distribution and making the file efficient and stable. Distributed distribution.

이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해 되도록 하기 위한 목적으로만 명백히 의도되고, 이와같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다. 또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.The following merely illustrates the principles of the invention. Therefore, those skilled in the art, although not explicitly described or illustrated herein, can embody the principles of the present invention and invent various devices that fall within the spirit and scope of the present invention. In addition, all conditional terms and embodiments listed herein are in principle clearly intended to be understood only for the purpose of understanding the concept of the invention and are not to be limited to the specifically listed embodiments and states. do. In addition, it is to be understood that all detailed descriptions, including the principles, aspects, and embodiments of the present invention, as well as listing specific embodiments, are intended to include structural and functional equivalents of these matters. In addition, these equivalents should be understood to include not only equivalents now known, but also equivalents to be developed in the future, that is, all devices invented to perform the same function regardless of structure.

상술한 목적, 특징 및 장점들은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 우선 각 도면의 구성요소들에 참조 번호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다.  The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. First of all, in adding reference numerals to the components of each drawing, it should be noted that the same components have the same number as much as possible even if displayed on different drawings. In addition, in describing the present invention, when it is determined that the detailed description of the related known technology may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 명세서에서 언급되는 인터넷 메신저(Instant Messenger) 서비스는 이메일과는 달리 실시간 메시지 전송이 가능하다는 장점으로 현재 인터넷을 이용한 통신 서비스에서 대중적으로 사용되고 있다. 현재 메신저 서비스는 단순한 텍스트 전송외에도, URL 전송, 그룹채팅, 파일전송 등 다양한 기능을 제공하고 있을 뿐 아니 라, 주식, 교통, 기상등 부가 정보 또는 게임, 유무선 연동 서비스, 음성 채팅, 화상 채팅등의 부가 서비스 기능이 통합되어 제공되고 있다. 따라서 메신저 서비스는 일상생활은 물론 기업활동에 있어서 가장 강력한 커뮤니케이션 수단으로 자리잡고 있는 이메일과 차별화 되는 실시간 커뮤니케이션, 각종 부가 기능 등 및 이기종 간의 연동 등을 토대로 더욱 발전할 전망이다. 메신저 서비스는 실시간적으로 송수신 클라이언트가 메시지를 교환할 수 있도록 한다. 메신저 서비스 네트워크는 메신저 서버와 다수의 메신저 클라이언트로 구성된다. 상기 메신저 클라이언트는 상호간에 상기 메신저 서버를 통해 메시지를 교환하게 된다. 각 메신저 클라이언트는 특정의 다른 메신저 클라이언트와 친구(버디, buddy) 관계를 맺을 수 있으며, 메신저 서버는 상기 버디 정보를 관리한다.Internet Messenger (Instant Messenger) service mentioned in the present specification, unlike the e-mail has been used in the current communication service using the Internet with the advantage that the real-time message can be transmitted. The current messenger service provides not only text transmission but also various functions such as URL transmission, group chat, file transmission, and additional information such as stocks, traffic, weather, games, wired / wireless interworking services, voice chat, and video chat. Additional service functions are integrated and provided. Therefore, messenger service is expected to develop further based on interworking between different types of real-time communication, various additional functions, etc., which are differentiated from e-mail, which is the most powerful communication means in daily life and corporate activities. The messenger service allows the sending and receiving clients to exchange messages in real time. The messenger service network consists of a messenger server and a plurality of messenger clients. The messenger client exchanges messages with the messenger server. Each messenger client may have a buddy relationship with another messenger client, and the messenger server manages the buddy information.

본 발명에 따르면, 메신저 서버 기능을 포함하는 파일 배포 서버에 배포를 위한 파일이 저장되어 있는 상태에서 인터넷을 통해 상기 파일 배포 시스템에 접속한 메신저 클라이언트중 일부에 대해서는 상기 파일 배포 시스템으로부터 상기 파일이 직접 배포되고, 상기 파일 배포 시스템에 접속한 나머지 메신저 클라이언트에 대해서는 당해 메신저 클라이언트와 버디 관계를 맺고 있는 메신저 클라이언트로서 상기 파일을 이미 배포받아 저장하고 있는 메신저 클라이언트로부터 상기 파일이 배포된다.According to the present invention, for some of the messenger clients connected to the file distribution system via the Internet while the file for distribution is stored in the file distribution server including the messenger server function, the file is directly transmitted from the file distribution system. The remaining messenger client connected to the file distribution system is distributed from a messenger client that has already received and stored the file as a messenger client having a buddy relationship with the messenger client.

본 발명에 따르면 메신저 클라이언트간에는 예를 들어 P2P 방식으로 상기 파일이 배포되도록 함으로써 상기 파일 배포 시스템의 부하를 감소시킬 수 있다. 또 한, 메신저 클라이언트가 속한 로컬 네트워크가 방화벽으로 보호되는 경우 등 메신저 클라이언트간에 P2P 방식의 파일 배포가 곤란한 경우에는 파일 배포 서버에 포함된 파일 릴레이 수단을 통해 메신저 클라이언트간 파일 배포가 가능하도록 한다. P2P 통신은 서버에 의존하지 않는 클라이언트간 일대일 통신이다. 기존의 서버와 클라이언트 개념이나 공급자와 소비자 개념에서 벗어나 클라이언트끼리 직접 연결하고 검색함으로써 모든 참여자가 공급자인 동시에 수요자가 되는 형태이다. P2P 네트워크 구조는 1969년 4월 7일에 제정된 인터넷 규약 RFC(Request for Comments)의 초기 버전부터 핵심적인 기술로 채택되어 있어 유래가 깊다. P2P 네트워크 즉 동등 계층간 통신망은 비교적 소수의 서버에 집중하기 보다는 네트워크를 구성하는 클라이언트의 계산과 대역폭 성능에 의존하여 구성되는 네트워크이다. P2P 통신을 통한 파일 공유는 매우 보편적이다. P2P 통신 방식은, 미국의 냅스터와 우리나라의 소리바다와 같이 중앙 서버가 콘텐츠에 관련된 정리된 목록을 가지고 있으면서 클라이언트간 접속과 공유 기능을 제공하거나 해외의 카자(KaZaA), 라임와이어(Limewire), 국내의 구루구루처럼 중앙 서버가 콘텐츠 정보를 가지고 있지 않고 단지 개인간 접속과 공유를 위한 도구를 제공하는 방식, 그리고 서버의 분산처리 기능이 P2P 네트워크에 적용되어 먼저 다운 받은 일부 파일이 다시 다른 클라이언트와 공유되는 다대다의 구성 방식 등이 있다.According to the present invention, it is possible to reduce the load of the file distribution system by allowing the file to be distributed, for example, in a P2P manner among messenger clients. In addition, when a P2P file distribution is difficult between messenger clients, such as when the local network to which the messenger client belongs is protected by a firewall, file distribution between messenger clients is possible through a file relay means included in the file distribution server. P2P communication is a one-to-one communication between clients that does not depend on the server. It is a form that all participants become suppliers and consumers by directly connecting and retrieving clients from the existing server and client concept or supplier and consumer concept. The P2P network structure has a long history of being adopted as a core technology since the early version of the Internet Protocol Request for Comments (RFC) enacted on April 7, 1969. A peer-to-peer network, or peer-to-peer network, is a network that depends on the computation and bandwidth capabilities of the clients that make up the network, rather than focusing on relatively few servers. File sharing via P2P communication is very common. P2P communication method, such as Napster in the US and Sori Sea in Korea, has a centralized list of contents related to the content and provides client-to-client access and sharing, or overseas KaZaA, Limewire, and domestic Like Guru Guru, the central server does not have content information, but provides tools for access and sharing between individuals, and the distributed processing of the server is applied to the P2P network so that some downloaded files are shared again with other clients. Many configurations.

여기서, 버디로부터 상기 파일이 배포되는 경우, 상기 파일을 저장하고 있는 다수의 버디로부터 상기 파일이 분할 배포될 수 있다. 분할 배포된 파일은 수신 클라이언트에서 조합된다. 파일이 분할 배포되면, 상기 파일을 저장하고 있는 버디 즉 메신저 클라이언트 입장에서는 전송 부하를 감소시킬 수 있으며, 상기 파일을 분할 배포받는 메신저 클라이언트 입장에서는 버디가 오프라인 상태가 되어도 추후 당해 버디가 온라인 접속되었을 때 상기 파일 중 필요한 부분만 재요청함으로써 효율적으로 상기 파일을 배포받을 수 있다. 분할 배포량은, 예를 들어, 상기 파일을 배포하는 버디와 상기 파일을 배포받는 메신저 클라이언트간의 전송 속도에 따라 결정될 수 있다. 이 경우, 전송 속도가 높은 버디에 대해서는 배포량을 많이 설정함으로써 전송 시간을 작게하여 네트워크 환경을 효율적으로 이용할 수 있다.Here, when the file is distributed from a buddy, the file may be divided and distributed from a plurality of buddies storing the file. The split-distributed files are combined at the receiving client. When a file is divided and distributed, a load of a buddy that stores the file, that is, a messenger client, may be reduced, and a messenger client that divides and distributes the file may be offline, even if the buddy is offline. By re-requesting only the necessary portion of the file can be distributed efficiently. The divided distribution amount may be determined according to, for example, a transmission speed between a buddy distributing the file and a messenger client distributing the file. In this case, by setting a large amount of distribution for a bird with a high transmission speed, the transmission time can be reduced and the network environment can be efficiently used.

메신저 클라이언트로 배포된 상기 파일은 배포 가능한 소정 기간동안, 예를 들어 상기 파일의 배포 만료일까지 당해 메신저 클라이언트에 저장될 수 있다.The file distributed to the messenger client may be stored in the messenger client for a predetermined period of time for distribution, for example, until the distribution expiration date of the file.

한편, 메신저 클라이언트로 배포된 상기 파일은 당해 메신저 클라이언트에 설치 또는 패치될 수 있다.Meanwhile, the file distributed to the messenger client may be installed or patched in the messenger client.

또한 상기 파일의 무결성 보장을 위해 MD5(Message-Digest algorithm 5), SHA(Secure Hash Algorithm) 등의 해시 알고리즘을 적용할 수 있다. MD5는 128비트 해시를 제공하는 암호화 해시 함수이다. RFC 1321로 지정되어 있으며 수많은 프로그램과 파일의 무결성 검사에 사용된다. SHA 함수들은 서로 관련된 암호학적 해시 함수들의 모음이다. 이들 함수는 미국 국가 안전 보장국(NSA)이 1993년에 처음으로 설계했으며 미국 국가 표준으로 지정되었다. SHA 함수군에 속하는 최초의 함수는 공식적으로 SHA라고 불리지만, 나중에 설계된 함수들과 구별하기 위하여 SHA-0이라고도 불린다. 이후 SHA-0의 변형인 SHA-1이 발표되었으며, 그 후에 4종류의 변형, 즉 SHA-224, SHA-256, SHA-384, SHA-512가 더 발표되었다. 이들을 통칭해서 SHA-2 라고 하기도 한다. SHA-1은 SHA 함수들 중 가장 많이 쓰인다.In addition, a hash algorithm such as message-digest algorithm 5 (MD5) or secure hash algorithm (SHA) may be applied to ensure the integrity of the file. MD5 is a cryptographic hash function that provides a 128-bit hash. Designated as RFC 1321, it is used to check the integrity of many programs and files. SHA functions are a collection of cryptographic hash functions associated with each other. These functions were first designed by the US National Security Agency (NSA) in 1993 and have been set as US national standards. The first function in the SHA family of functions is officially called SHA, but it is also called SHA-0 to distinguish it from later designed functions. Later, SHA-1, a variant of SHA-0, was released, followed by four more variants: SHA-224, SHA-256, SHA-384, and SHA-512. These are collectively referred to as SHA-2. SHA-1 is the most common of the SHA functions.

도1은 본 발명의 일실시예에 따른 파일 배포 시스템을 도시한 개략도이다. 도1에 도시된 바와 같이 본 발명의 일실시예에 따른 파일 배포 시스템은 인터넷을 통해 파일 배포 서버(109)에 접속 가능한 다수의 메신저 클라이언트(101 내지 107)로 구성된다. 여기서 다수의 메신저 클라이언트(101 내지 107)는 서로 버디로 등록되어 있다고 가정된다.1 is a schematic diagram illustrating a file distribution system according to an embodiment of the present invention. As shown in FIG. 1, a file distribution system according to an exemplary embodiment of the present invention includes a plurality of messenger clients 101 to 107 that can be connected to a file distribution server 109 through the Internet. Here, it is assumed that the plurality of messenger clients 101 to 107 are registered as buddies with each other.

파일 배포 서버(109)는 메신저 세션 수단(111), 파일 배포 수단(113) 및 파일 릴레이 수단(115)을 포함한다. 도1에는 메신저 세션 수단(111), 파일 배포 수단(113) 및 파일 릴레이 수단(115)이 모두 파일 배포 서버(109)에 포함된 것으로 도시되어 있으나, 물리적으로 서로 다른 위치에 존재할 수도 있다.The file distribution server 109 includes a messenger session means 111, a file distribution means 113, and a file relay means 115. Although FIG. 1 illustrates that the messenger session means 111, the file distribution means 113, and the file relay means 115 are all included in the file distribution server 109, they may be physically located at different locations.

파일 릴레이 수단(115)은 통상의 메신저 시스템에서 수행되는 메신저 클라이언트간 파일 릴레이 기능을 수행한다. 본 발명에 따르면, 메신저 클라이언트가 속한 로컬 네트워크가 방화벽으로 보호되는 경우 등 메신저 클라이언트(101 내지 107)간에 P2P 방식의 파일 배포가 곤란한 경우에는 파일 릴레이 수단(115)을 통해 메신저 클라이언트간 파일 배포가 가능하도록 한다.The file relay means 115 performs a file relay function between messenger clients that is performed in a typical messenger system. According to the present invention, when it is difficult to distribute a P2P file between messenger clients 101 to 107, such as when the local network to which the messenger client belongs is protected by a firewall, the file may be distributed between messenger clients through the file relay means 115. Do it.

파일 배포 수단(113)은 본 발명에 따라 메신저 클라이언트(101 내지 107)로 배포될 파일을 저장하는 파일 저장부를 포함한다. 파일 배포 수단(113)에 저장되는 파일은, 예를 들어, 특정 서비스를 위한 프로그램의 설치 파일 또는 패치 파일일 수 있다. 패치 파일은 파일 패치를 수행하는 패치 어플리케이션 데이터 및 파일 패 치에 필요한 패치 데이터를 포함할 수 있다. 패치 어플리게이션은 새로운 프로그램의 설치, 패치 데이터의 특정 디렉토리로의 복사 등 파일 패치를 독립적으로 실행하는 어플리케이션이다. 전술된 바와 같이, 파일 배포 수단(113)에 저장되는 파일은 무결성 보장을 위해 MD5, SHA 등의 해시 알고리즘이 적용될 수 있다. 따라서 파일 배포 수단(113)은 저장 파일에 대해 소정 해시 알고리즘에 따라 암호화하여 파일 해시키를 생성하는 해시 암호부를 탑재할 수 있다.The file distributing means 113 includes a file storage unit for storing a file to be distributed to the messenger clients 101 to 107 according to the present invention. The file stored in the file distribution means 113 may be, for example, an installation file or a patch file of a program for a specific service. The patch file may include patch application data for performing file patching and patch data required for file patching. A patch application is an application that independently executes a file patch, such as installing a new program or copying patch data to a specific directory. As described above, a file stored in the file distribution means 113 may be applied with a hash algorithm such as MD5, SHA, etc. to ensure integrity. Therefore, the file distributing means 113 may mount a hash encryption unit for generating a file hash by encrypting the stored file according to a predetermined hash algorithm.

메신저 세션 수단(111)은 메신저 서비스부를 탑재하여 메신저 클라이언트1(101)의 버디인 다른 메신저 클라이언트(103 내지 107)의 정보를 관리하며 통상의 메신저 세션 서버 기능을 수행한다. 따라서 예를 들어 메신저 클라이언트1(101)은 메신저 세션 수단(111)의 메신저 서비스부를 통해 인증 및 접속되고 메신저 클라이언트1(101)의 버디로 등록되어 있는 다른 메신저 클라이언트(103 내지 107)와 메시지를 교환할 수 있으며, 파일 릴레이 수단(115)을 통해 파일을 교환할 수도 있다.The messenger session means 111 mounts a messenger service unit to manage information of other messenger clients 103 to 107 which are buddies of the messenger client 1 101, and performs a normal messenger session server function. Thus, for example, the messenger client 1 (101) exchanges messages with other messenger clients (103 to 107) authenticated and connected through the messenger service unit of the messenger session means (111) and registered as a buddy of the messenger client 1 (101). The file may be exchanged through the file relay means 115.

그리고, 본 발명의 일실시예에 따르면, 메신저 세션 수단(111)은 예를 들어 접속된 메신저 클라이언트1(101)로 배포될 파일을 파일 배포 수단(113)을 통해 배포할 것인지 아니면 버디(103 내지 107)를 통해 배포할 것인지를 결정한다. 따라서 메신저 세션 수단(111)은 상기 배포 방식을 결정하는 결정부를 탑재할 수 있다. 한편, 본 발명의 다른 일실시예에 따르면, 상기 결정부가 메신저 클라이언트(101 내지 107) 각각에 탑재될 수 있다. 상기 배포 방식의 결정은 메신저 클라이언트1(101)가 메신저 세션 수단(111)에 접속할 때 수행되고 본 발명의 일실시예에 따라 메신저 클라이언트1(101)로 전송되는 파일 배포 명령에 포함된다. 상기 파일 배포 명령은 메신저 세션 수단(111)에 탑재된 명령 송신부에 의해 메신저 클라이언트(101 내지 107)로 전송된다. 한편, 본 발명의 다른 일실시예에 따르면, 상기 결정을 수행하는 결정부가 메신저 클라이언트(101 내지 107) 각각에 탑재되기 때문에 메신저 클라이언트(101 내지 107)는 상기 파일 배포 명령을 수신할 필요가 없고 따라서 이 경우에는 상기 명령 송신부가 불필요하다.According to an embodiment of the present invention, the messenger session means 111 may distribute, for example, a file to be distributed to the connected messenger client 1 101 through the file distributing means 113 or the buddy 103 to the 107) to decide whether to distribute. Therefore, the messenger session means 111 may have a determining unit that determines the distribution method. Meanwhile, according to another exemplary embodiment of the present invention, the determination unit may be mounted in each of the messenger clients 101 to 107. The determination of the distribution method is performed when the messenger client 1 (101) connects to the messenger session means 111 and is included in a file distribution command transmitted to the messenger client 1 (101) according to an embodiment of the present invention. The file distribution command is transmitted to the messenger clients 101 to 107 by a command transmitter mounted on the messenger session means 111. On the other hand, according to another embodiment of the present invention, the messenger clients 101 to 107 do not need to receive the file distribution command because the decision unit performing the determination is mounted in each of the messenger clients 101 to 107. In this case, the command transmitter is unnecessary.

상기 결정은 다양한 정책에 따라 수행될 수 있다.The determination may be performed according to various policies.

상기 결정의 일실시예로서 접속 비율에 따른 배분 정책에 따라 결정될 수 있다. 즉, 현재 접속하고 있는 메신저 클라이언트중 소정 비율(예를 들어 10%)의 메신저 클라이언트는 파일 배포 수단(113)을 통해 파일을 배포받도록 하고, 나머지 비율(상기 예의 경우 90%)의 메신저 클라이언트는 버디를 통해 파일을 배포받도록 결정될 수 있다. 접속 비율에 따른 배분 정책은 파일 배포 수단(113)을 통해 파일을 배포받는 메신저 클라이언트의 비율을 높일수록 파일 배포 수단(113)의 전송 부하는 증가하지만 신속하게 파일 배포를 수행할 수 있다는 장점이 있다. 한편, 분산 배포 즉 버디를 통한 파일 배포의 장점을 극대화하기 위해서는 파일 배포 수단(113)로부터 배포받는 클라이언트의 수를 줄이고, 버디를 통해 파일을 배포 받는 클라이언트의 수를 늘려야 한다.In one embodiment of the determination may be determined according to the distribution policy according to the access rate. That is, a messenger client having a predetermined ratio (for example, 10%) among the messenger clients that are currently connected to receive the file through the file distribution means 113, and the messenger client having the remaining ratio (90% in the above example) is a buddy. It can be determined to distribute the file through. The distribution policy according to the access ratio increases the ratio of the messenger client receiving the file through the file distribution means 113, but the transmission load of the file distribution means 113 increases, but there is an advantage that the file distribution can be performed quickly. . On the other hand, in order to maximize the advantages of distributed distribution, that is, file distribution through the buddy, the number of clients distributed from the file distribution means 113 should be reduced, and the number of clients receiving files distributed through the buddy should be increased.

상기 결정의 또 다른 실시예로서, 메신저 클라이언트의 버디 수에 따른 배분 정책에 따라 결정될 수 있다. 즉, 버디가 소정 개수(예를 들어 10개) 이상인 메신저 클라이언트에 대해서는 파일 배포 수단(113)을 통해 파일을 배포받도록 하고, 버디가 소정 개수(예를 들어 10개) 미만인 메신저 클라이언트에 대해서는 버디를 통해 파일을 배포받도록 결정될 수 있다. 파일 배포 초기(파일이 최초로 배포되는 시점부터 소정 기간)에는 많은 수의 버디를 가지고 있는 클라이언트에 대해 우선적으로 파일 배포 수단(113)으로부터 파일을 배포 받을 수 있도록 하면, 분산 배포 즉 버디를 통한 파일 배포의 확률이 그만큼 높아진다.As another embodiment of the determination, it may be determined according to a distribution policy according to the number of buddies of the messenger client. In other words, for a messenger client having a predetermined number (for example, 10 or more), the file is distributed through the file distribution means 113, and for a messenger client having a buddy having a predetermined number (for example, 10) of the buddy. Can be determined to distribute files. In the initial stage of file distribution (a predetermined period from when the file is first distributed), if a file having a large number of buddies can be preferentially distributed from the file distribution unit 113, the file is distributed through a buddy. The probability of that increases.

상기 결정의 또 다른 실시예로서, 현재 접속되어 있는 버디의 수가 많은 클라이언트에 대해서는 버디를 통해 파일을 배포받도록 하고, 현재 접속되어 있는 버디의 수가 적은 클라이언트에 대해서는 파일 배포 수단(113)을 통해 파일을 배포받도록 결정될 수 있다.As another embodiment of the determination, the file is distributed through a buddy to a client having a large number of currently connected buddies, and the file is distributed through a file distribution means 113 to a client having a small number of buddies currently connected. Can be determined to be distributed.

상기 결정의 또 다른 실시예로서, 파일이 최초로 배포되는 시점부터 소정 기간 동안에는 버디를 통해 파일을 배포받도록 하고, 상기 소정 기간 이후에는 파일 배포 수단(113)을 통해 파일을 배포받도록 결정될 수 있다.As another embodiment of the determination, it may be determined to distribute the file through a buddy for a predetermined period from a time when the file is first distributed, and to distribute the file through the file distribution unit 113 after the predetermined period.

본 명세서에는 본 발명에 따른 상기 결정의 실시예가 일부 소개되었으나, 본 발명이 상기 일부 실시예에만 한정되지 않으며 상기 결정과 관련한 다양한 실시예가 존재할 수 있음은 본 발명이 속한 기술 분야에서 통상의 지식을 가진 자에게 명백한 것이다. 따라서 본 발명은 상기 결정의 실시예에 한정되지 않는 것으로 이해되어야 한다.Although some embodiments of the crystal according to the present invention have been introduced in the present specification, the present invention is not limited to only some of the embodiments, and various embodiments related to the crystal may exist, having ordinary skill in the art. It is obvious to him. Therefore, it is to be understood that the present invention is not limited to the examples of such crystals.

한편, 상기 결정의 전제로서 버디를 통해 파일을 배포받도록 하는 경우에는 당해 버디가 파일 배포 수단(113) 또는 다른 버디를 통해 상기 파일을 미리 배포받아 저장하고 있어야 한다. 따라서 메신저 세션 수단(111)은 메신저 클라이언트가 접속되었을 때, 상기 결정 이전에, 당해 메신저 클라이언트의 버디가 이전에 파일 배포 수단(113) 또는 다른 버디를 통해 상기 파일을 배포받은 적이 있는지 확인한다.On the other hand, when a file is distributed through a buddy as a premise of the determination, the buddy must be previously distributed and stored in the file through the file distribution unit 113 or another buddy. Therefore, when the messenger session means 111 is connected, before the determination, the messenger session means 111 checks whether the buddy of the messenger client has previously distributed the file via the file distribution means 113 or another buddy.

또한 본 발명의 일실시예에 따르면, 메신저 세션 수단(111)은 본 발명에 따라 파일 배포 수단(113)에 저장된 파일의 메신저 클라이언트(101 내지 107)로의 배포를 위해 필요한 정보를 관리한다. 따라서 메신저 세션 수단(111)은 파일의 배포를 위해 필요한 정보를 관리하는 배포 정보 관리부를 탑재할 수 있다. 파일의 배포를 위해 필요한 정보는 예를 들어 파일 식별 정보(파일명, 파일 크기), 파일 해시키, 배포 기간, 배포 이력(당해 메신저 클라이언트로 배포 명령을 전송한 시간, 당해 메신저 클라이언트의 버디로 배포 명령을 전송한 시간, 상기 배포 명령에 포함된 배포 방식) 및 접속 정보[파일 배포 수단(113)에 저장된 파일의 주소 정보] 등를 포함할 수 있다. 상기 파일의 배포를 위해 필요한 정보 중 파일 식별 정보, 파일 해시키, 배포 기간 및 접속 정보는 앞서 설명된 메신저 클라이언트1(101)로 전송되는 파일 배포 명령에 포함된다. 따라서 메신저 클라이언트(101 내지 107)는 상기 파일의 배포를 위해 필요한 정보에 기초하여 상기 파일을 저장하고 있는 파일 배포 수단(113) 또는 버디에 접속하여 파일을 배포받을 수 있다.In addition, according to an embodiment of the present invention, the messenger session means 111 manages information necessary for distribution of the file stored in the file distribution means 113 to the messenger clients 101 to 107 according to the present invention. Therefore, the messenger session means 111 may mount a distribution information management unit that manages information necessary for distribution of a file. The information necessary for the distribution of the file may include, for example, file identification information (file name and file size), file hashing, distribution period, distribution history (the time at which the distribution command was sent to the messenger client, and the deployment instruction to the buddy of the messenger client). Time of transmission, distribution method included in the distribution command) and access information (address information of a file stored in the file distribution unit 113). Among the information necessary for the distribution of the file, file identification information, file hashing, distribution period, and access information are included in the file distribution command transmitted to the messenger client 1 (101) described above. Accordingly, the messenger clients 101 to 107 may access the file distribution means 113 or the buddy storing the file based on the information necessary for the distribution of the file, and receive the file.

한편 본 발명의 다른 일실시예에 따르면, 상기 배포 정보 관리부가 메신저 클라이언트(101 내지 107) 각각에 탑재될 수 있다. 이 경우, 메신저 클라이언트(101 내지 107)는 상기 파일 배포 명령을 수신할 필요가 없기 때문에, 이 경우에 상기 파일의 배포를 위해 필요한 정보 중 파일 식별 정보, 파일 해시키, 배포 기간 및 접속 정보는 앞서 설명된 메신저 클라이언트1(101)로 전송되는 파일 배포 명령에 포함되는 것이 아니라, 메신저 세션 수단(111)으로부터 메신저 클라이언트1(101)로 전송되는 배포 파일 알림 정보에 포함된다. 따라서 메신저 클라이언트(101 내지 107)는 상기 파일의 배포를 위해 필요한 정보에 기초하여 상기 파일을 저장하고 있는 파일 배포 수단(113) 또는 버디에 접속하여 파일을 배포받을 수 있다.Meanwhile, according to another embodiment of the present invention, the distribution information manager may be mounted on each of the messenger clients 101 to 107. In this case, since the messenger clients 101 to 107 do not need to receive the file distribution command, in this case, file identification information, file destruction, distribution period and access information among the information necessary for the distribution of the file are previously described. It is not included in the file distribution command transmitted to the messenger client 1 101 described above, but is included in the distribution file notification information transmitted from the messenger session means 111 to the messenger client 1 101. Accordingly, the messenger clients 101 to 107 may access the file distribution means 113 or the buddy storing the file based on the information necessary for the distribution of the file, and receive the file.

메신저 클라이언트(101 내지 107) 각각은 메신저 세션 수단(111)에 접속한 후에 명령 수신부를 통해 메신저 세션 수단(111)으로부터 수신한 파일 배포 명령에 포함되어 있는 파일의 배포를 위해 필요한 정보에 기초하여, 파일 배포 수단(113), 버디 및 파일 릴레이 수단(115) 중 어느 하나로부터 파일을 수신 및 저장한다. 따라서 메신저 클라이언트(101 내지 107)에는 파일 배포 수단(113)으로부터 인터넷을 통해 파일을 수신하는 파일 수신부, 버디로부터 P2P 방식으로 파일 전체 또는 분할된 파일을 수신하는 P2P 송수신부, 파일 릴레이 수단(115)로부터 메신저 네트워크를 통해 파일 전체 또는 분할된 파일을 수신하는 파일 릴레이 송수신부, 분할 수신된 파일을 조합하는 파일 조합부 및 수신 파일에 적용된 해시 알고리즘에 따라 상기 메신저 세션 수단(111)으로부터 수신한 파일 해시키로 상기 수신 파일을 복호하는 해시 복호부가 탑재되어 있으며, 이러한 구성은 본 발명이 속한 기술 분야에서 통상의 지식을 가진 자에게 알려진 기술이기 때문에 상세한 설명은 생략한다. 그리고, 메신저 클라이언트(101 내지 107)로 배포된 파일은 상기 파일의 배포를 위해 필요한 정보에 포함된 배포 기간동안 당해 메신저 클라이언트에 저장관리될 수 있다. 상기 파일의 저장관리는 메신저 클라이언트(101 내지 107)에 탑재된 파일 관리부에 의해 수행된다. 또한, 메신저 클라이언트(101 내지 107)는 본연의 메신저 서비스를 수행하는 메신저 클라이언트 서비스부를 탑재한다.Each of the messenger clients 101 to 107 connects to the messenger session means 111 and then, based on the information necessary for distributing a file included in the file distribution command received from the messenger session means 111 via the command receiving unit, The file is received and stored from any one of the file distribution means 113, the buddy and the file relay means 115. Accordingly, the messenger clients 101 to 107 include a file receiving unit that receives a file from the file distribution unit 113 via the Internet, a P2P transmission / reception unit that receives an entire file or a divided file from a buddy in a P2P manner, and a file relay unit 115. A file relay transceiver for receiving an entire file or a divided file through a messenger network, a file combining unit for combining the divided received files, and a file hash received from the messenger session means 111 according to a hash algorithm applied to the received file. A hash decryption unit for decoding the received file with a key is mounted, and since such a configuration is a technique known to a person skilled in the art, detailed description thereof will be omitted. The files distributed to the messenger clients 101 to 107 may be stored and managed in the messenger client during the distribution period included in the information necessary for distributing the files. The storage management of the file is performed by the file manager mounted on the messenger clients 101 to 107. In addition, the messenger clients 101 to 107 are equipped with a messenger client service unit that performs a native messenger service.

도2는 본 발명의 일실시예에 따른 파일 배포 과정을 설명하는 흐름도로서 메신저 클라이언트가 파일 배포부로부터 파일을 수신하는 과정을 설명하는 흐름도이다.2 is a flowchart illustrating a file distribution process according to an embodiment of the present invention, which is a flowchart illustrating a process of a messenger client receiving a file from a file distribution unit.

도2에 도시된 바와 같이, 메신저 클라이언트1(101)이 메신저 클라이언트 서비스부를 통해 메신저 세션 수단(111)에 접속 및 인증하게 되면(S201), 메신저 세션 수단(111)의 배포 정보 관리부는 현재 배포되어야 할 파일이 존재하는지 여부를 확인한다(S203). 배포 파일의 존재 여부 확인은 예를 들어 파일의 배포 기간 설정을 통해 이루어질 수 있다. 즉, 메신저 세션 수단(111)에 탑재된 배포 정보 관리부는 상기 파일의 배포를 위해 필요한 정보인 배포 기간 정보에 기초하여 파일 배포 수단(113)에 저장되어 있는 파일의 배포 기간의 만료 여부를 확인함으로써 배포 파일의 존재 여부를 확인할 수 있다. 배포 파일이 존재하지 않는 경우에 메신저 세션 수단(111)은 메신저 서비스부를 통해 통상의 메신저 서비스를 제공한다(S215).As shown in Fig. 2, when the messenger client 1 (101) accesses and authenticates the messenger session means 111 through the messenger client service unit (S201), the distribution information manager of the messenger session means 111 should be distributed at present. It is checked whether a file to be present exists (S203). The existence of the distribution file may be checked by setting a distribution period of the file, for example. That is, the distribution information management unit mounted on the messenger session means 111 checks whether the distribution period of the file stored in the file distribution means 113 expires based on the distribution period information which is information necessary for the distribution of the file. You can check the existence of the distribution file. If the distribution file does not exist, the messenger session means 111 provides a normal messenger service through the messenger service unit (S215).

단계 S203에 의한 판단 결과, 배포 파일이 존재하는 경우에 메신저 세션 수단(111)의 배포 정보 관리부는 당해 배포 파일이 현재 접속되어 있는 메신저 클라이언트1(101)로 배포된 바 있는지 여부를 확인한다(S205). 즉, 메신저 세션 수 단(111)에 탑재된 배포 정보 관리부는 파일의 배포를 위해 필요한 정보에 포함되어 있는 배포 이력 정보(당해 메신저 클라이언트로 배포 명령을 전송한 시간, 상기 배포 명령에 포함된 배포 방식)에 기초하여 당해 배포 파일이 메신저 클라이언트1(101)로 배포된 바 있는지 확인한다. 당해 배포 파일이 메신저 클라이언트1(101)로 배포된 바가 있는 경우에는 메신저 세션 수단(111)은 메신저 서비스부를 통해 통상의 메신저 서비스를 제공한다(S215).As a result of the determination in step S203, when the distribution file exists, the distribution information management unit of the messenger session means 111 checks whether or not the distribution file has been distributed to the messenger client 1 101 to which it is currently connected (S205). ). That is, the distribution information management unit mounted on the messenger session terminal 111 includes distribution history information included in information necessary for distributing a file (the time when the distribution command is transmitted to the messenger client, and the distribution method included in the distribution command). ), It is checked whether the distribution file has been distributed to the messenger client 1 (101). If the distribution file has been distributed to the messenger client 1 (101), the messenger session means 111 provides a normal messenger service through the messenger service unit (S215).

단계 S205에 의한 판단 결과, 당해 배포 파일이 메신저 클라이언트1(101)로 배포된 바가 없는 경우에 메신저 세션 수단(111)의 결정부는 당해 배포 파일을 메신저 클라이언트1(101)로 배포하기 위한 배포 방식을 결정한다(S207). 즉 메신저 세션 수단(111)에 포함된 결정부가 전술된 바 있는 다양한 정책에 따라 배포 방식을 결정한다.As a result of the determination in step S205, when the distribution file has not been distributed to the messenger client 1 (101), the determining unit of the messenger session means 111 selects a distribution system for distributing the distribution file to the messenger client 1 (101). Determine (S207). That is, the decision unit included in the messenger session means 111 determines the distribution method according to the above-described various policies.

이 과정에서, 상기 결정부는 상기 파일의 배포를 위해 필요한 정보에 포함되어 있는 배포 이력 정보[예를 들어, 메신저 클라이언트1(101)의 버디(103 내지 107)로 배포 명령을 전송한 시간, 상기 배포 명령에 포함된 배포 방식]에 기초하여 메신저 클라이언트1(101)의 버디(103 내지 107)가 이전에 파일 배포 수단(113) 또는 다른 버디를 통해 상기 파일을 배포받은 적이 있는지 확인한다.In this process, the determining unit transmits distribution history information included in the information necessary for distributing the file (for example, the time when the distribution command is transmitted to the buddies 103 to 107 of the messenger client 1 101, the distribution). Based on the distribution method included in the command], it is checked whether the buddies 103 to 107 of the messenger client 1 101 have previously distributed the file through the file distribution means 113 or another buddy.

상기 확인 결과, 메신저 클라이언트1(101)의 버디(103 내지 107)가 이전에 파일 배포 수단(113) 또는 다른 버디를 통해 상기 파일을 배포받은 적이 없는 경우[즉, 메신저 클라이언트1(101) 및 버디(103 내지 107)가 모두 당해 배포 파일을 배포받지 않은 경우]에 상기 결정부는 메신저 클라이언트1(101)로의 배포 방식으로 서 파일 배포 수단(113)을 통한 배포를 결정한다.As a result of the check, when the buddies 103 to 107 of the messenger client 1 101 have not previously distributed the file through the file distribution means 113 or another buddy (i.e., the messenger client 1 101 and the buddy) When all of 103 to 107 have not been distributed the distribution file], the determination unit determines distribution through the file distribution means 113 as a distribution method to the messenger client 1 (101).

한편, 상기 확인 결과, 메신저 클라이언트1(101)의 버디(103 내지 107)가 이전에 파일 배포 수단(113) 또는 다른 버디를 통해 상기 파일을 배포받은 적이 있는 경우[즉, 메신저 클라이언트1(101)의 버디(103 내지 107)중에서 적어도 어느 하나는 당해 배포 파일을 배포받았던 경우]에 상기 결정부는 메신저 클라이언트1(101)로의 배포 방식으로서 전술된 바와 같은 다양한 정책에 따라 파일 배포 수단(113)을 통한 배포 및 버디(103 내지 107)를 통한 배포 중 어느 하나를 결정한다.On the other hand, if the buddy 103 to 107 of the messenger client 1 101 has previously distributed the file through the file distribution means 113 or another buddy (that is, the messenger client 1 101). At least one of the buddies 103 to 107 of the distribution file is distributed to the messenger client 1 101 through the file distribution means 113 in accordance with various policies as described above. One of the distribution and the distribution through the buddies 103 to 107 are determined.

다음으로, 메신저 세션 수단(111)에 탑재된 명령 송신부는 단계 S207에 의해 결정된 파일 배포 방식에 기초하여 상기 파일의 배포를 위해 필요한 정보가 포함된 배포 명령을 메신저 클라이언트1(101)로 전송한다(S209). 도2는 상기 결정부가 메신저 클라이언트1(101)로의 배포 방식으로서 파일 배포 수단(113)을 통해 배포 파일을 배포하는 것으로 결정한 일례를 도시하고 있다. 따라서, 단계 S209에 의해 전송되는 상기 배포 명령에는 상기 배포 파일을 파일 배포 수단(113)을 통해 배포받으라는 명령이 포함되어 있다.Next, the command transmitter mounted on the messenger session means 111 transmits a distribution command including information necessary for the distribution of the file to the messenger client 1 101 based on the file distribution method determined in step S207 ( S209). FIG. 2 shows an example in which the determination unit decides to distribute the distribution file through the file distribution means 113 as a distribution method to the messenger client 1 (101). Therefore, the distribution command transmitted in step S209 includes a command to receive the distribution file through the file distribution means 113.

단계 S209에 의해 상기 배포 명령이 전송되면 메신저 세션 수단(111)에 탑재된 배포 정보 관리부는 파일의 배포를 위해 필요한 정보로서 당해 배포 파일에 관한 배포 이력[예를 들어, 메신저 클라이언트1(101)로 단계 S209의 배포 명령을 전송한 시간, 상기 배포 명령에 포함된 배포 방식]을 갱신한다(S211). 단계 S211에 의해 갱신된 상기 배포 이력에 기초하여 추후 메신저 세션 수단(111)으로 접속한 메신저 클라이언트1(101)로 당해 배포 파일이 중복하여 배포되는 것을 방지할 수 있다.When the distribution command is transmitted in step S209, the distribution information management unit mounted on the messenger session means 111 is necessary information for distributing the file, and the distribution history of the distribution file (for example, the messenger client 1 101). The time at which the distribution command in step S209 was transmitted, the distribution method included in the distribution command] is updated (S211). On the basis of the distribution history updated in step S211, the distribution file can be prevented from being distributed to the messenger client 1 (101) connected to the messenger session means 111 later.

다음으로, 명령 수신부를 통해 단계 S209에 의해 전송되는 상기 배포 명령을 수신한 메신저 클라이언트1(101)은 상기 배포 명령에 포함된 상기 파일의 배포를 위해 필요한 정보로서 접속 정보[파일 배포 수단(113)에 저장된 파일의 주소 정보]에 기초하여 파일 수신부를 통해 파일 배포 수단(113)에 접속하여 당해 배포 파일을 배포받는다(S213).Next, the messenger client 1 (101), which has received the distribution command transmitted by step S209 through the command receiving unit, is access information (file distribution means 113) as information necessary for the distribution of the file included in the distribution command. Based on the address information of the file stored in the [SAP], the file distribution unit 113 is connected to the file distribution unit 113 to distribute the distribution file (S213).

단계 S213에 의해 배포 파일을 배포받은 메신저 클라이언트1(101)은 해시 복호부를 통해 당해 배포 파일을 해시 복호하여 패치, 설치, 저장하거나 필요에 따라 메신저 클라이언트 서비스부를 통해 메신저 서비스를 수행한다(S215). 해시 복호부에 의한 해시 복호 과정에서 상기 배포 파일의 무결성에 오류가 있는 경우에는 파일 배포 수단(113)으로부터 무결성에 오류가 없는 배포 파일을 재수신한다. 여기서 파일의 무결성에 오류가 있는 경우는 파일이 소정의 이유, 예를 들어 바이러스, 파일 변경 조작 등에 의해 파일 자체가 달라지는 경우이다.The messenger client 1 101 that has received the distribution file in step S213 hashes, decodes, distributes, and stores the distribution file through the hash decoding unit, or performs a messenger service through the messenger client service unit as necessary (S215). If there is an error in the integrity of the distribution file during the hash decoding process by the hash decoding unit, the file distribution unit 113 receives the distribution file having no integrity error. In this case, there is an error in the integrity of the file when the file itself is changed due to a predetermined reason, for example, a virus, a file change operation, or the like.

도3은 본 발명의 일실시예에 따른 파일 배포 과정을 설명하는 흐름도로서 메신저 클라이언트2(103)가 버디인 메신저 클라이언트1(101)로부터 파일을 수신하는 과정을 설명하는 흐름도이다. 도3에 도시된 일실시예에서 메신저 클라이언트2(103)와 메신저 세션 수단(111)간에 도2의 단계 S201 내지 단계 S211이 수행된다.3 is a flowchart illustrating a file distribution process according to an embodiment of the present invention, and a flowchart illustrating a process of receiving a file from messenger client 1 (101) in which messenger client 2 (103) is a buddy. In the embodiment shown in Fig. 3, steps S201 to S211 of Fig. 2 are performed between the messenger client 2 103 and the messenger session means 111. Figs.

예를 들어, 메신저 세션 수단(111)의 배포 정보 관리부는 현재 접속중인 메신저 클라이언트2(103)로 배포되어야 할 파일이 존재하는지 여부를 확인한다(S203).For example, the distribution information manager of the messenger session means 111 checks whether a file to be distributed to the messenger client 2 103 currently connected exists or not (S203).

단계 S203에 의한 판단 결과, 배포 파일이 존재하는 경우에 메신저 세션 수단(111)에 탑재된 배포 정보 관리부는 파일의 배포를 위해 필요한 정보에 포함되어 있는 배포 이력 정보(당해 메신저 클라이언트로 배포 명령을 전송한 시간, 상기 배포 명령에 포함된 배포 방식)에 기초하여 당해 배포 파일이 메신저 클라이언트2(103)로 배포된 바 있는지 확인한다(S205).As a result of the determination in step S203, in the case where the distribution file exists, the distribution information management unit mounted on the messenger session means 111 transmits distribution history information included in the information necessary for the distribution of the file (in this case, sends a distribution command to the messenger client). One hour, based on the distribution method included in the distribution command), it is checked whether the distribution file has been distributed to the messenger client 2 (103) (S205).

단계 S205에 의한 판단 결과, 당해 배포 파일이 메신저 클라이언트2(103)로 배포된 바가 없는 경우에 메신저 세션 수단(111)에 포함된 결정부는 당해 배포 파일을 메신저 클라이언트2(103)로 배포하기 위한 배포 방식을 전술된 바 있는 다양한 정책에 따라 결정한다(S207).As a result of the determination in step S205, when the distribution file has not been distributed to the messenger client 2 103, the determining unit included in the messenger session means 111 distributes the distribution file to the messenger client 2 103 for distribution. The method is determined according to various policies as described above (S207).

단계 S207에서, 상기 결정부는 상기 파일의 배포를 위해 필요한 정보에 포함되어 있는 배포 이력 정보[예를 들어, 메신저 클라이언트2(103)의 버디(101, 105, 107)로 배포 명령을 전송한 시간, 상기 배포 명령에 포함된 배포 방식]에 기초하여 메신저 클라이언트2(103)의 버디(101, 105, 107)가 이전에 파일 배포 수단(113) 또는 다른 버디를 통해 상기 파일을 배포받은 적이 있는지 확인한다.In step S207, the determining unit transmits distribution history information (for example, time for transmitting a distribution command to the buddies 101, 105, and 107 of the messenger client 2 103) included in the information necessary for the distribution of the file, Check whether the buddies 101, 105, and 107 of the messenger client 2 103 have previously distributed the file through the file distribution means 113 or another buddy based on the distribution method included in the distribution command. .

상기 확인 결과, 메신저 클라이언트2(103)의 하나의 버디 즉 메신저 클라이언트1(101)이 이전에 파일 배포 수단(113) 또는 다른 버디를 통해 상기 파일을 배포받은 적이 있으므로 상기 결정부는 메신저 클라이언트2(103)로의 배포 방식으로서 전술된 바와 같은 다양한 정책에 따라 파일 배포 수단(113)을 통한 배포 및 버디(101, 105, 107)를 통한 배포 중 어느 하나를 결정한다.As a result of the checking, since the buddy of messenger client 2 103, that is, the messenger client 1 101, has previously distributed the file through the file distribution means 113 or another buddy, the determining unit is a messenger client 2 103. ), The distribution through the file distribution means 113 and the distribution through the buddy (101, 105, 107) in accordance with various policies as described above.

다음으로, 메신저 세션 수단(111)에 탑재된 명령 송신부는 단계 S207에 의해 결정된 파일 배포 방식에 기초하여 상기 파일의 배포를 위해 필요한 정보가 포함된 배포 명령을 메신저 클라이언트2(103)로 전송한다(S209). 도3은 상기 결정부가 메신저 클라이언트2(103)로의 배포 방식으로서 버디를 통해 배포 파일을 배포하는 것으로 결정한 일례를 도시하고 있다. 따라서, 단계 S209에 의해 전송되는 상기 배포 명령에는 상기 배포 파일을 버디를 통해 배포받으라는 명령이 포함되어 있다.Next, the command transmitting unit mounted on the messenger session means 111 transmits a distribution command including information necessary for the distribution of the file to the messenger client 2 103 based on the file distribution method determined in step S207 ( S209). 3 shows an example in which the determination unit decides to distribute a distribution file through a buddy as a distribution method to the messenger client 2 (103). Therefore, the distribution command transmitted in step S209 includes a command to receive the distribution file through a buddy.

다음으로, 명령 수신부를 통해 단계 S209에 의해 전송되는 상기 배포 명령을 수신한 메신저 클라이언트2(103)는 파일 관리부를 통해 버디(101, 105, 107)에게 상기 배포 명령으로부터 확인되는 배포 파일을 저장하고 있는지 문의한다(S301). 상기 문의는 버디(101, 105, 107)로부터 응답을 수신할 때까지 예를 들어 1시간의 주기로 수행될 수 있다.Next, the messenger client 2 (103) receiving the distribution command transmitted by step S209 through the command receiving unit stores the distribution file confirmed from the distribution command to the buddies 101, 105, and 107 through the file management unit. Inquire (S301). The inquiry may be performed, for example, at an interval of one hour until receiving a response from the buddies 101, 105, and 107.

단계 S301에 의해 전송된 문의를 수신한 버디(101, 105, 107) 중에서 상기 배포 파일을 저장하고 있는 메신저 클라이언트1(101)의 파일 관리부가 메신저 클라이언트2(103)에게 응답을 전송하면(S303), 메신저 클라이언트2(103)는 P2P 송수신부 또는 파일 릴레이 송수신부를 통해 P2P 방식 또는 메신저 서비스의 파일 릴레이 방식으로 메신저 클라이언트1(101)로부터 상기 배포 파일을 배포받는다(S305).If the file management unit of the messenger client 1 (101) storing the distribution file among the buddies (101, 105, 107) receiving the inquiry sent in step S301 transmits a response to the messenger client 2 (103) (S303). The messenger client 2 103 receives the distribution file from the messenger client 1 101 in a P2P manner or a file relay manner of a messenger service through a P2P transceiver or a file relay transceiver (S305).

단계 S305에 의해 배포 파일을 배포받은 메신저 클라이언트2(103)는 해시 복호부를 통해 당해 배포 파일을 해시 복호하여 패치, 설치, 저장하거나 필요에 따라 메신저 클라이언트 서비스부를 통해 메신저 서비스를 수행한다(S307). 해시 복호부에 의한 해시 복호 과정에서 상기 배포 파일의 무결성에 오류가 있는 경우에는 배포 파일을 재수신한다. 특정 버디로부터 배포받은 파일의 무결성에 오류가 있는 경 우에는 다른 버디로부터 배포 파일을 재수신한다.The messenger client 2 103 that has received the distribution file in step S305 hashes, decodes, distributes, and stores the distribution file through the hash decoding unit, or performs a messenger service through the messenger client service unit as necessary (S307). If there is an error in the integrity of the distribution file during the hash decoding process by the hash decoding unit, the distribution file is received again. If there is an error in the integrity of the file distributed from one buddy, the distributed file is received again from another buddy.

도4는 본 발명의 일실시예에 따른 파일 배포 과정을 설명하는 흐름도로서 메신저 클라이언트3(105)이 다수의 버디인 메신저 클라이언트1(101) 및 메신저 클라이언트2(103)로부터 파일을 수신하는 과정을 설명하는 흐름도이다. 도4에 도시된 일실시예에서 메신저 클라이언트3(105)과 메신저 세션 수단(111)간에 도2의 단계 S201 내지 단계 S211이 수행된다.4 is a flowchart illustrating a file distribution process according to an exemplary embodiment of the present invention, in which a messenger client 3 105 receives a file from a plurality of buddy messenger client 1 101 and messenger client 2 103. It is a flowchart explaining. In the embodiment shown in Fig. 4, steps S201 to S211 of Fig. 2 are performed between the messenger client 3 105 and the messenger session means 111. Figs.

예를 들어, 메신저 세션 수단(111)의 배포 정보 관리부는 현재 접속중인 메신저 클라이언트3(105)으로 배포되어야 할 파일이 존재하는지 여부를 확인한다(S203).For example, the distribution information manager of the messenger session means 111 checks whether or not a file to be distributed to the messenger client 3 105 currently connected exists (S203).

단계 S203에 의한 판단 결과, 배포 파일이 존재하는 경우에 메신저 세션 수단(111)에 탑재된 배포 정보 관리부는 파일의 배포를 위해 필요한 정보에 포함되어 있는 배포 이력 정보(당해 메신저 클라이언트로 배포 명령을 전송한 시간, 상기 배포 명령에 포함된 배포 방식)에 기초하여 당해 배포 파일이 메신저 클라이언트3(105)으로 배포된 바 있는지 확인한다(S205).As a result of the determination in step S203, in the case where the distribution file exists, the distribution information management unit mounted on the messenger session means 111 transmits distribution history information included in the information necessary for the distribution of the file (in this case, sends a distribution command to the messenger client). One hour, based on the distribution method included in the distribution command), it is checked whether the distribution file has been distributed to the messenger client 3 105 (S205).

단계 S205에 의한 판단 결과, 당해 배포 파일이 메신저 클라이언트3(105)으로 배포된 바가 없는 경우에 메신저 세션 수단(111)에 포함된 결정부는 당해 배포 파일을 메신저 클라이언트3(105)로 배포하기 위한 배포 방식을 전술된 바 있는 다양한 정책에 따라 결정한다(S207).As a result of the determination in step S205, when the distribution file has not been distributed to the messenger client 3 105, the determining unit included in the messenger session means 111 distributes the distribution file to the messenger client 3 105. The method is determined according to various policies as described above (S207).

단계 S207에서, 상기 결정부는 상기 파일의 배포를 위해 필요한 정보에 포함 되어 있는 배포 이력 정보[예를 들어, 메신저 클라이언트3(105)의 버디(101, 103, 107)로 배포 명령을 전송한 시간, 상기 배포 명령에 포함된 배포 방식]에 기초하여 메신저 클라이언트3(105)의 버디(101, 103, 107)가 이전에 파일 배포 수단(113) 또는 다른 버디를 통해 상기 파일을 배포받은 적이 있는지 확인한다.In step S207, the determination unit transmits the distribution history information included in the information necessary for the distribution of the file (for example, the time to send the distribution command to the buddy 101, 103, 107 of the messenger client 3 105, Check whether the buddy 101, 103, 107 of the messenger client 3 105 has previously distributed the file through the file distribution means 113 or another buddy based on the distribution method included in the distribution command. .

상기 확인 결과, 메신저 클라이언트3(105)의 버디인 메신저 클라이언트1(101) 및 메신저 클라이언트2(103)가 이전에 파일 배포 수단(113) 또는 다른 버디를 통해 상기 파일을 배포받은 적이 있으므로 상기 결정부는 메신저 클라이언트3(105)으로의 배포 방식으로서 전술된 바와 같은 다양한 정책에 따라 파일 배포 수단(113)을 통한 배포 및 버디(101, 103, 107)를 통한 배포 중 어느 하나를 결정한다.As a result of the checking, since the messenger client 1 101 and the messenger client 2 103 which are buddies of the messenger client 3 105 have previously distributed the file through the file distribution means 113 or another buddy, the determination unit As the distribution method to the messenger client 3 105, one of the distribution through the file distribution means 113 and the distribution through the buddies 101, 103, and 107 is determined according to various policies as described above.

다음으로, 메신저 세션 수단(111)에 탑재된 명령 송신부는 단계 S207에 의해 결정된 파일 배포 방식에 기초하여 상기 파일의 배포를 위해 필요한 정보가 포함된 배포 명령을 메신저 클라이언트3(105)으로 전송한다(S209). 도4는 상기 결정부가 메신저 클라이언트3(105)으로의 배포 방식으로서 버디를 통해 배포 파일을 배포하는 것으로 결정한 일례를 도시하고 있다. 따라서, 단계 S209에 의해 전송되는 상기 배포 명령에는 상기 배포 파일을 버디를 통해 배포받으라는 명령이 포함되어 있다.Next, the command transmitting unit mounted on the messenger session means 111 transmits a distribution command including information necessary for the distribution of the file to the messenger client 3 105 based on the file distribution method determined in step S207 ( S209). 4 shows an example in which the determination unit decides to distribute a distribution file through a buddy as a distribution method to the messenger client 3 (105). Therefore, the distribution command transmitted in step S209 includes a command to receive the distribution file through a buddy.

다음으로, 명령 수신부를 통해 단계 S209에 의해 전송되는 상기 배포 명령을 수신한 메신저 클라이언트3(105)은 파일 관리부를 통해 버디(101, 103, 107)에게 상기 배포 명령으로부터 확인되는 배포 파일을 저장하고 있는지 문의한다(S401). 상기 문의는 버디(101, 103, 107)로부터 응답을 수신할 때까지 예를 들어 1시간의 주기로 수행될 수 있다.Next, the messenger client 3 105 that receives the distribution command transmitted by step S209 through the command receiving unit stores the distribution file identified from the distribution command to the buddies 101, 103, and 107 via the file management unit. Inquire (S401). The inquiry may be performed, for example, at an interval of 1 hour until a response is received from the buddies 101, 103, and 107.

단계 S401에 의해 전송된 문의를 수신한 버디(101, 103, 107) 중에서 상기 배포 파일을 저장하고 있는 메신저 클라이언트1(101) 및 메신저 클라이언트2(103)의 파일 관리부가 메신저 클라이언트3(105)에게 응답을 전송하면(S403), 메신저 클라이언트3(105)은 P2P 송수신부 또는 파일 릴레이 송수신부를 통해 P2P 방식 또는 메신저 서비스의 파일 릴레이 방식으로 메신저 클라이언트1(101) 및 메신저 클라이언트2(103)로부터 상기 배포 파일을 배포받는다(S405). 여기서, 배포 파일을 저장하고 있는 다수의 버디 즉 메신저 클라이언트1(101) 및 메신저 클라이언트2(103)로부터 상기 배포 파일이 분할 배포될 수 있다. 분할 배포된 파일은 메신저 클라이언트3(105)의 파일 조합부에서 조합된다. 파일이 분할 배포되면, 상기 파일을 저장하고 있는 버디 즉 메신저 클라이언트1(101) 및 메신저 클라이언트2(103) 입장에서는 전송 부하를 감소시킬 수 있으며, 상기 파일을 분할 배포받는 메신저 클라이언트3(105) 입장에서는 버디 즉 메신저 클라이언트1(101) 및 메신저 클라이언트2(103)가 오프라인 상태가 되어도 추후 당해 메신저 클라이언트1(101) 및 메신저 클라이언트2(103)가 온라인 접속되었을 때 상기 파일 중 필요한 부분만 재요청함으로써 효율적으로 상기 파일을 배포받을 수 있다. 분할 배포량은, 예를 들어, 상기 파일을 배포하는 메신저 클라이언트1(101) 및 메신저 클라이언트2(103)와 상기 파일을 배포받는 메신저 클라이언트3(105) 간의 전송 속도에 따라 결정될 수 있다. 이 경우, 전송 속도가 높은 버디에 대해서는 배포량을 많이 설정함으로써 전송 시간을 작게하여 네트워크 환경을 효율적으로 이용할 수 있다.Among the buddies 101, 103, and 107 receiving the inquiry sent in step S401, the file management unit of the messenger client 1 101 and messenger client 2 103 that stores the distribution file is sent to the messenger client 3 105. When the response is transmitted (S403), the messenger client 3 105 distributes the message from the messenger client 1 101 and the messenger client 2 103 in a P2P method or a file relay method of a messenger service through a P2P transceiver or a file relay transceiver. The file is distributed (S405). Here, the distribution file may be divided and distributed from a plurality of buddies that store distribution files, that is, messenger client 1 101 and messenger client 2 103. The divided and distributed files are combined in the file combination unit of the messenger client 3 (105). When the file is divided and distributed, the buddy that stores the file, that is, the messenger client 1 (101) and the messenger client 2 (103), may reduce the transmission load, and enter the messenger client 3 (105) that divides and distributes the file. In this case, when the messenger client 1 (101) and the messenger client (103) go offline, the client requests only the necessary portion of the file when the messenger client (101) and the messenger client (103) are connected online. The file can be distributed efficiently. The divided distribution amount may be determined according to, for example, a transmission speed between the messenger client 1 (101) and the messenger client 2 (103) for distributing the file and the messenger client 3 (105) for distributing the file. In this case, by setting a large amount of distribution for a bird with a high transmission speed, the transmission time can be reduced and the network environment can be efficiently used.

단계 S405에 의해 배포 파일을 배포받은 메신저 클라이언트3(105)은 해시 복호부를 통해 당해 배포 파일을 해시 복호하여 패치, 설치, 저장하거나 필요에 따라 메신저 클라이언트 서비스부를 통해 메신저 서비스를 수행한다(S407). 해시 복호부에 의한 해시 복호 과정에서 상기 배포 파일의 무결성에 오류가 있는 경우에는 배포 파일을 재수신한다. 특정 버디로부터 배포받은 파일의 무결성에 오류가 있는 경우에는 다른 버디로부터 배포 파일을 재수신한다.The messenger client 3 105 having distributed the distribution file in step S405 hashes and decrypts the distribution file through the hash decoding unit to patch, install, or store the messenger service through the messenger client service unit as necessary (S407). If there is an error in the integrity of the distribution file during the hash decoding process by the hash decoding unit, the distribution file is received again. If there is an error in the integrity of the file distributed from one buddy, the distributed file is received again from another buddy.

한편, 본 명세서 전반에 걸쳐, 파일 배포 서버(109)는 파일을 배포받는 클라이언트의 버디로서 동작할 수 있다. 예를 들어, 도4에 도시된 실시예에서 파일 배포 서버(109)도 메신저 클라이언트3(105)의 버디로서 동작하여, 메신저 클라이언트1(101) 및 메신저 클라이언트2(103)와 함께 메신저 클라이언트3(105)으로 파일을 배포할 수 있다.On the other hand, throughout the present specification, the file distribution server 109 may operate as a buddy of the client receiving the file. For example, in the embodiment shown in Fig. 4, the file distribution server 109 also acts as a buddy of the messenger client 3 105, and together with the messenger client 1 101 and messenger client 2 103, messenger client 3 ( 105) to distribute the file.

도5는 본 발명의 다른 일실시예에 따른 파일 배포 과정을 설명하는 흐름도로서 메신저 클라이언트가 파일 배포부로부터 파일을 수신하는 과정을 설명하는 흐름도이다.5 is a flowchart illustrating a file distribution process according to another exemplary embodiment of the present invention, and illustrating a process of a messenger client receiving a file from a file distribution unit.

도5에 도시된 바와 같이, 메신저 클라이언트1(101)이 메신저 클라이언트 서비스부를 통해 메신저 세션 수단(111)에 접속 및 인증하게 되면(S501), 메신저 세션 수단(111)의 배포 정보 관리부는 현재 배포되어야 할 파일이 존재하는지 여부를 확인한다(S503). 배포 파일의 존재 여부 확인은 예를 들어 파일의 배포 기간 설정 을 통해 이루어질 수 있다. 즉, 메신저 세션 수단(111)에 탑재된 배포 정보 관리부는 상기 파일의 배포를 위해 필요한 정보인 배포 기간 정보에 기초하여 파일 배포 수단(113)에 저장되어 있는 파일의 배포 기간의 만료 여부를 확인함으로써 배포 파일의 존재 여부를 확인할 수 있다. 배포 파일이 존재하지 않는 경우에 메신저 세션 수단(111)은 메신저 서비스부를 통해 통상의 메신저 서비스를 제공한다(S519).As shown in Fig. 5, when the messenger client 1 (101) accesses and authenticates the messenger session means 111 through the messenger client service unit (S501), the distribution information manager of the messenger session means 111 should be distributed at present. Check whether a file to be present exists (S503). The existence of a distribution file can be checked, for example, by setting the distribution period of the file. That is, the distribution information management unit mounted on the messenger session means 111 checks whether the distribution period of the file stored in the file distribution means 113 expires based on the distribution period information which is information necessary for the distribution of the file. You can check the existence of the distribution file. If the distribution file does not exist, the messenger session means 111 provides a normal messenger service through the messenger service unit (S519).

단계 S503에 의한 판단 결과, 배포 파일이 존재하는 경우에 메신저 세션 수단(111)의 배포 정보 관리부는 메신저 클라이언트1(101)로 배포 파일 알림 정보를 전송한다(S505). 전술된 바와 같이, 파일의 배포를 위해 필요한 정보 중 파일 식별 정보, 파일 해시키, 배포 기간 및 접속 정보는 상기 배포 파일 알림 정보에 포함된다.As a result of the determination in step S503, when the distribution file exists, the distribution information management unit of the messenger session means 111 transmits the distribution file notification information to the messenger client 1 101 (S505). As described above, among the information necessary for the distribution of the file, file identification information, file hashing, distribution period, and access information are included in the distribution file notification information.

상기 배포 파일 알림 정보를 수신한 메신저 클라이언트1(101)의 배포 정보 관리부는 당해 배포 파일이 현재 접속되어 있는 메신저 클라이언트1(101)로 배포된 바 있는지 여부를 확인한다(S507). 즉, 메신저 클라이언트1(101)에 탑재된 배포 정보 관리부는 파일의 배포를 위해 필요한 정보에 포함되어 있는 배포 이력 정보(당해 메신저 클라이언트로 배포 명령을 전송한 시간, 상기 배포 명령에 포함된 배포 방식)에 기초하여 당해 배포 파일이 메신저 클라이언트1(101)로 배포된 바 있는지 확인한다. 당해 배포 파일이 메신저 클라이언트1(101)로 배포된 바가 있는 경우에는 메신저 세션 수단(111)은 메신저 서비스부를 통해 통상의 메신저 서비스를 제공한다(S519).The distribution information manager of the messenger client 1 (101) receiving the distribution file notification information checks whether the distribution file has been distributed to the messenger client 1 (101) to which the distribution file is currently connected (S507). That is, the distribution information management unit mounted on the messenger client 1 (101) includes distribution history information included in the information necessary for distributing the file (the time when the distribution command is transmitted to the messenger client, the distribution method included in the distribution command). Based on this, it is checked whether the distribution file has been distributed to the messenger client 1 (101). If the distribution file has been distributed to the messenger client 1 (101), the messenger session means 111 provides a normal messenger service through the messenger service unit (S519).

단계 S507에 의한 판단 결과, 당해 배포 파일이 메신저 클라이언트1(101)로 배포된 바가 없는 경우에 메신저 클라이언트1(101)의 결정부는 당해 배포 파일을 메신저 클라이언트1(101)로 배포하기 위한 배포 방식을 결정한다(S509).As a result of the determination in step S507, when the distribution file has not been distributed to the messenger client 1 101, the determining unit of the messenger client 1 101 determines a distribution system for distributing the distribution file to the messenger client 1 101. FIG. Determine (S509).

여기서, 도5의 일실시예의 경우, 도2 내지 도4의 일실시예의 경우보다 간단하게 상기 배포 방식이 결정될 수 있다. 즉, 전술된 바와 같이 파일 배포 서버(109)는 파일을 배포받는 클라이언트[도5의 일실시예의 경우 메신저 클라이언트1(101)]의 버디로서 동작할 수 있기 때문에, 파일 배포 서버(109) 및 버디(103, 105, 107)로부터 파일이 배포 되도록 결정되거나, 또는 버디(103, 105, 107)로부터 파일이 배포 되도록 결정될 수 있다.Here, in the case of the embodiment of FIG. 5, the distribution scheme may be determined more simply than in the case of the embodiment of FIGS. 2 to 4. That is, as described above, the file distribution server 109 can operate as a buddy of the client to which the file is distributed (in the embodiment of FIG. 5, the messenger client 1 101), the file distribution server 109 and the buddy. The files may be determined to be distributed from 103, 105, and 107, or the files may be determined to be distributed from buddies 103, 105, and 107.

단계 S509에 의해 상기 배포 방식이 결정되면 메신저 클라이언트1(101)에 탑재된 배포 정보 관리부는 파일의 배포를 위해 필요한 정보로서 당해 배포 파일에 관한 배포 이력을 갱신한다(S511). 단계 S511에 의해 갱신된 상기 배포 이력에 기초하여 추후 메신저 세션 수단(111)으로 접속한 메신저 클라이언트1(101)로 당해 배포 파일이 중복하여 배포되는 것을 방지할 수 있다.If the distribution method is determined in step S509, the distribution information management unit mounted on the messenger client 1 101 updates the distribution history of the distribution file as information necessary for distribution of the file (S511). Based on the distribution history updated in step S511, the distribution file can be prevented from being distributed to the messenger client 1 (101) connected to the messenger session means 111 later.

다음으로, 메신저 클라이언트1(101)은 파일 관리부를 통해 파일 배포 서버(109) 및 버디(103, 105, 107)에게 상기 배포 명령으로부터 확인되는 배포 파일을 저장하고 있는지 문의한다(S513). 상기 문의는 파일 배포 서버(109) 및 버디(103, 105, 107)로부터 응답을 수신할 때까지 예를 들어 1시간의 주기로 수행될 수 있다.Next, the messenger client 1 101 queries the file distribution server 109 and the buddies 103, 105, and 107 via the file management unit whether they are storing the distribution file identified from the distribution command (S513). The query may be performed, for example, at an interval of 1 hour until a response is received from the file distribution server 109 and the buddies 103, 105, and 107.

단계 S513에 의해 전송된 문의를 수신한 파일 배포 서버(109) 및 버디(103, 105, 107) 중에서 상기 배포 파일을 저장하고 있는 메신저 클라이언트2(103)의 파 일 관리부 및 파일 배포 서버(109)가 메신저 클라이언트1(101)에게 응답을 전송하면(S515), 메신저 클라이언트1(101)은 P2P 송수신부 또는 파일 릴레이 송수신부를 통해 P2P 방식 또는 메신저 서비스의 파일 릴레이 방식으로 메신저 클라이언트2(103)로부터 상기 배포 파일을 배포받는다(S517). 여기서, 파일 배포 서버(109)로부터도 파일을 배포받는 경우에는 상기 파일의 배포를 위해 필요한 정보로서 접속 정보[파일 배포 수단(113)에 저장된 파일의 주소 정보]에 기초하여 파일 수신부를 통해 파일 배포 수단(113)에 접속하여 당해 배포 파일을 배포받는다.The file management unit and the file distribution server 109 of the messenger client 2 103 which stores the distribution file among the file distribution server 109 and the buddies 103, 105, and 107 that have received the inquiry transmitted in step S513. Sends a response to the messenger client 1 (101) (S515), the messenger client 1 (101) from the messenger client 2 (103) in the P2P method or the file relay method of the messenger service through the P2P transceiver or file relay transceiver; Distribution files are distributed (S517). Here, when the file is also distributed from the file distribution server 109, the file is distributed through the file receiving unit based on the access information (address information of the file stored in the file distribution unit 113) as information necessary for the distribution of the file. The distribution file is distributed by accessing the means 113.

상기 배포 파일을 저장하고 있는 다수의 버디 즉 도5에 도시된 일실시예의 경우 파일 배포 서버(109) 및 메신저 클라이언트2(103)로부터 상기 배포 파일이 분할 배포될 수 있다. 분할 배포된 파일은 메신저 클라이언트1(101)의 파일 조합부에서 조합된다. 분할 배포량은, 예를 들어, 상기 파일을 배포하는 파일 배포 서버(109) 및 메신저 클라이언트2(103)와 상기 파일을 배포받는 메신저 클라이언트1(101) 간의 전송 속도에 따라 결정될 수 있다. 이 경우, 전송 속도가 높은 버디에 대해서는 배포량을 많이 설정함으로써 전송 시간을 작게하여 네트워크 환경을 효율적으로 이용할 수 있다.In the case of the plurality of buddies that store the distribution file, that is, the embodiment shown in FIG. 5, the distribution file may be divided and distributed from the file distribution server 109 and the messenger client 2 103. The divided and distributed files are combined in the file combination unit of the messenger client 1 (101). The divided distribution amount may be determined according to, for example, a transmission speed between the file distribution server 109 distributing the file and the messenger client 2 103 and the messenger client 1 101 distributing the file. In this case, by setting a large amount of distribution for a bird with a high transmission speed, the transmission time can be reduced and the network environment can be efficiently used.

단계 S517에 의해 배포 파일을 배포받은 메신저 클라이언트1(101)은 해시 복호부를 통해 당해 배포 파일을 해시 복호하여 패치, 설치, 저장하거나 필요에 따라 메신저 클라이언트 서비스부를 통해 메신저 서비스를 수행한다(S519). 해시 복호부에 의한 해시 복호 과정에서 상기 배포 파일의 무결성에 오류가 있는 경우에는 배포 파일을 재수신한다. 특정 버디로부터 배포받은 파일의 무결성에 오류가 있는 경 우에는 다른 버디로부터 배포 파일을 재수신한다.The messenger client 1 (101) having received the distribution file in step S517 may hash, decode, distribute, and store the distribution file through the hash decoding unit, or perform a messenger service through the messenger client service unit as necessary (S519). If there is an error in the integrity of the distribution file during the hash decoding process by the hash decoding unit, the distribution file is received again. If there is an error in the integrity of the file distributed from one buddy, the distributed file is received again from another buddy.

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.The method of the present invention as described above may be implemented as a program and stored in a computer-readable recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.).

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어서 명백하다 할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes are possible in the technical field of the present invention without departing from the technical spirit of the present invention. It will be clear to those of ordinary knowledge.

도1은 본 발명의 일실시예에 따른 파일 배포 시스템을 도시한 개략도,1 is a schematic diagram illustrating a file distribution system according to an embodiment of the present invention;

도2는 본 발명의 일실시예에 따른 파일 배포 과정을 설명하는 흐름도로서 메신저 클라이언트가 파일 배포부로부터 파일을 수신하는 과정을 설명하는 흐름도,FIG. 2 is a flowchart illustrating a file distribution process according to an embodiment of the present invention, illustrating a process of a messenger client receiving a file from a file distribution unit; FIG.

도3은 본 발명의 일실시예에 따른 파일 배포 과정을 설명하는 흐름도로서 메신저 클라이언트2가 버디인 메신저 클라이언트1로부터 파일을 수신하는 과정을 설명하는 흐름도,3 is a flowchart illustrating a file distribution process according to an embodiment of the present invention, illustrating a process of receiving a file from messenger client 1 in which messenger client 2 is a buddy;

도4는 본 발명의 일실시예에 따른 파일 배포 과정을 설명하는 흐름도로서 메신저 클라이언트3이 다수의 버디인 메신저 클라이언트1 및 메신저 클라이언트2로부터 파일을 수신하는 과정을 설명하는 흐름도,4 is a flowchart illustrating a file distribution process according to an embodiment of the present invention, and a flow chart illustrating a process of receiving a file from a messenger client 1 and a messenger client 2 in which a messenger client 3 is a plurality of buddies;

도5는 본 발명의 다른 일실시예에 따른 파일 배포 과정을 설명하는 흐름도로서 메신저 클라이언트가 파일 배포부로부터 파일을 수신하는 과정을 설명하는 흐름도이다.5 is a flowchart illustrating a file distribution process according to another exemplary embodiment of the present invention, and illustrating a process of a messenger client receiving a file from a file distribution unit.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

101 내지 107: 메신저 클라이언트101 to 107: messenger client

109: 파일 배포 서버109: File Distribution Server

111: 메신저 세션 수단111: Messenger session means

113: 파일 배포 수단113: Means of file distribution

115: 파일 릴레이 수단115: file relay means

Claims (20)

서버에 접속한 다수의 클라이언트로 데이터를 배포하는 데이터 배포 방법에 있어서,In the data distribution method of distributing data to a plurality of clients connected to the server, 상기 서버에 접속한 클라이언트로 배포되어야 할 데이터가 존재하는지 여부를 확인하는 제1단계;A first step of checking whether there is data to be distributed to a client accessing the server; 상기 제1단계의 확인 결과 상기 데이터가 상기 서버에 접속한 클라이언트로 배포되어야 할 데이터가 존재하는 경우에 상기 서버는 상기 데이터를 상기 서버에 접속한 클라이언트로 배포하기 위한 배포 방식 -상기 배포 방식은 상기 서버로부터 상기 데이터를 배포하는 제1방식, 상기 서버에 접속한 클라이언트와 메신저 버디 관계인 다른 클라이언트로부터 상기 데이터를 배포하는 제2방식, 또는 상기 서버와 상기 버디관계의 다른 클라이언트로부터 상기 데이터를 배포하는 제3방식 중 하나 이상을 포함함 -을 결정하는 제2단계; 및A distribution method for distributing the data to a client accessing the server when the data to be distributed to the client accessing the server exists as a result of the checking of the first step; A first method of distributing the data from a server, a second method of distributing the data from another client in a messenger buddy relationship with a client connected to the server, or a method of distributing the data from another client in the buddy relationship with the server Including at least one of three ways; And 상기 서버는 상기 제2단계에서 결정된 배포 방식이 포함된 배포 명령을 상기 서버에 접속한 클라이언트로 전송하는 제3단계The third step of transmitting, by the server, a distribution command including a distribution method determined in the second step to a client accessing the server; 를 포함하는 데이터 배포 방법.Data distribution method comprising a. 제1항에 있어서,The method of claim 1, 상기 확인하는 제1단계는The first step to confirm 클라이언트가 이전에 배포받은 파일에 대한 정보를 서버에 송신하거나 또는 서버가 현재 배포해야 할 파일에 대한 정보를 클라이언트에 송신하는 단계The client sends information about the files previously distributed to the server or the server sends information about the files that the server should currently distribute. 를 포함하는 데이터 배포 방법.Data distribution method comprising a. 제1항에 있어서,The method of claim 1, 상기 제1단계는The first step is 상기 데이터의 배포 기간 정보, 상기 배포 이력 정보, 상기 서버에 접속한 클라이언트로 배포 명령을 전송한 시간 정보 중 어느 하나 이상에 기초하여 배포되어야 할 데이터가 존재하는지 여부를 확인하는Determining whether there is data to be distributed based on any one or more of distribution period information of the data, the distribution history information, and time information when a distribution command is transmitted to a client accessing the server; 데이터 배포 방법.How data is distributed. 제1항에 있어서,The method of claim 1, 상기 제2단계는The second step is 상기 버디 관계인 다른 클라이언트로 상기 데이터가 배포된 적이 있는지 여부를 확인하는 제4단계;A fourth step of checking whether the data has been distributed to another client in the buddy relationship; 상기 제5단계의 확인 결과 상기 버디 관계인 다른 클라이언트로 상기 파일이 배포된 적이 없는 경우에는 상기 배포 방식으로서 제 1 방식으로 결정하는 제5단계; 및A fifth step of determining, as the distribution method, the first method when the file has never been distributed to another client having a buddy relationship as a result of the checking of the fifth step; And 상기 제5단계의 확인 결과 상기 버디 관계인 다른 클라이언트로 상기 파일이 배포된 적이 있는 경우에는 상기 배포 방식으로서 정책에 따라 상기 제1방식, 제2방식, 제3방식 중 어느 하나를 결정하는 제6단계A sixth step of determining one of the first method, the second method, and the third method according to a policy as the distribution method when the file has been distributed to another client having the buddy relationship as a result of the checking in the fifth step; 를 포함하는 데이터 배포 방법.Data distribution method comprising a. 제4항에 있어서,The method of claim 4, wherein 상기 정책은The policy is 현재 서버에 접속된 클라이언트 중에서 소정 비율의 클라이언트 또는 메신저 버디 관계인 다른 클라이언트의 수가 소정 개수 이상인 클라이언트에 대해서는 상기 서버로부터 상기 데이터를 배포하고, 나머지 클라이언트에 대해서는 메신저 버디 관계인 다른 클라이언트로부터 상기 데이터를 배포하는 것인 데이터 배포 방법.Distributing the data from the server to a client having a predetermined ratio or more than a predetermined number of clients connected to the server, or distributing the data from another client having a messenger buddy relationship to the remaining clients. Data distribution methods. 제1항에 있어서,The method of claim 1, 상기 서버에 접속한 클라이언트는 상기 제3단계에 의해 전송된 배포 명령에 포함된 상기 배포 방식에 따라 상기 서버로부터 상기 데이터를 배포받거나 상기 서버에 접속한 클라이언트와 메신저 버디 관계인 다른 클라이언트로부터 상기 데이터를 배포받는 제7단계The client accessing the server distributes the data from the server or from another client having a messenger buddy relationship with the client connected to the server according to the distribution method included in the distribution command transmitted by the third step. Receive seventh step 를 더 포함하는 데이터 배포 방법.Data distribution method further comprising. 제6항에 있어서,The method of claim 6, 상기 제7단계는The seventh step P2P 방식 또는 메신저 파일 릴레이 방식 또는 P2P와 릴레이 방식을 혼합한 혼합 방식 중 어느 하나의 방식에 의하여 상기 메신저 버디 관계인 다른 클라이언트로부터 상기 데이터를 배포받는Receiving the data from another client in the messenger buddy relationship by any one of a P2P scheme, a messenger file relay scheme, or a hybrid scheme combining P2P and relay schemes. 데이터 배포 방법.How data is distributed. 제7항에 있어서,The method of claim 7, wherein 상기 제7단계는The seventh step 상기 메신저 버디 관계인 다수의 클라이언트 각각으로부터 상기 배포될 데이터를 소정 비율로 분할하여 배포받는Receive distribution of data to be distributed at a predetermined rate from each of a plurality of clients in the messenger buddy relationship 데이터 배포 방법.How data is distributed. 제1항에 있어서, The method of claim 1, 상기 데이터는 암호화된The data is encrypted 데이터 배포 방법.How data is distributed. 제1항에 있어서, The method of claim 1, 상기 제2단계에서 결정된 배포 방식이 제2방식 또는 제3방식인 경우 When the distribution method determined in the second step is the second method or the third method 상기 접속한 클라이언트는 현재 접속한 버디 관계인 하나 이상의 제2클라이언트들에 대하여 상기 배포되어야 할 데이터의 전송이 가능한지 확인한 후 상기 제2클라이언트로부터 상기 데이터를 수신하는 단계The accessing client receives the data from the second client after checking whether the data to be distributed is transmitted to one or more second clients that are currently connected to the buddy relationship. 를 더 포함하는 데이터 배포 방법.Data distribution method further comprising. 클라이언트로 데이터를 배포하는 데이터 배포 시스템에 있어서,In a data distribution system that distributes data to clients, 상기 클라이언트로 배포될 데이터를 저장하는 데이터 배포 수단;Data distribution means for storing data to be distributed to the client; 상기 클라이언트와 메신저 버디 관계인 다른 클라이언트의 정보를 관리하며 메신저 서비스를 수행하는 메신저 서비스 수단;Messenger service means for managing information of another client having a messenger buddy relationship with the client and performing a messenger service; 상기 클라이언트로 배포되는 데이터의 이력 정보를 관리하는 배포 정보 관리 수단;Distribution information management means for managing history information of data distributed to the client; 상기 클라이언트로 배포하기 위한 배포 방식 상기 배포 방식은 상기 데이터 배포 수단으로부터 상기 데이터를 배포하는 제1방식 및 상기 클라이언트와 메신저 버디 관계인 다른 클라이언트로부터 상기 데이터를 배포하는 제2방식, 또는 상기 데이터 배포 수단과 상기 버디관계의 다른 클라이언트로부터 상기 데이터를 배포하 는 제3방식 중 하나 이상을 포함함 - 을 결정하는 배포 방식 결정 수단; 및Distribution method for distributing to the client The distribution method includes a first method of distributing the data from the data distributing means and a second method of distributing the data from another client having a messenger buddy relationship with the client; Distribution method determining means for determining one or more of third ways to distribute the data from other clients in the buddy relationship; And 상기 결정된 배포 방식이 포함된 배포 명령을 상기 클라이언트로 전송하는 명령 전송 수단Command transmitting means for transmitting a distribution command including the determined distribution method to the client 을 포함하는 데이터 배포 시스템.Data distribution system comprising a. 제11항에 있어서, The method of claim 11, 상기 배포 정보 관리 수단은The distribution information management means 상기 데이터의 배포 기간 정보, 상기 데이터의 배포 이력 정보, 상기 서버에 접속한 클라이언트로 배포 명령을 전송한 시간 정보 중 어느 하나 이상에 기초하여 상기 클라이언트로 배포되어야 할 데이터가 존재하는지 여부를 확인하는Determining whether there is data to be distributed to the client based on any one or more of distribution period information of the data, distribution history information of the data, and time information of a distribution command transmitted to a client accessing the server; 데이터 배포 시스템.Data distribution system. 제11항에 있어서,The method of claim 11, 상기 배포 정보 관리 수단은 상기 서버에 접속한 클라이언트로 배포된 적이 없는 경우에 상기 버디 관계인 다른 클라이언트로 상기 데이터가 배포된 적이 있는지 여부를 확인하며,The distribution information management means checks whether the data has been distributed to other clients in the buddy relationship when the distribution information management means has never been distributed to the client connected to the server. 상기 버디 관계인 다른 클라이언트로 상기 파일이 배포된 적이 없는 경우에는 상기 배포 방식 결정 수단은 상기 배포 방식으로서 상기 데이터 배포 수단으로 부터 상기 데이터를 배포하는 방식으로 결정하며If the file has never been distributed to another client in the buddy relationship, the distribution method determining means determines the distribution method by distributing the data from the data distribution means. 상기 버디 관계인 다른 클라이언트로 상기 파일이 배포된 적이 있는 경우에는 상기 배포 방식 결정 수단은 상기 배포 방식으로서 정책에 따라 상기 제1방식, 제2방식, 제3방식 중 어느 하나를 결정하는When the file has been distributed to another client in the buddy relationship, the distribution method determining means determines one of the first method, the second method, and the third method according to a policy as the distribution method. 데이터 배포 시스템.Data distribution system. 제13항에 있어서,The method of claim 13, 상기 정책은 The policy is 현재 서버에 접속된 클라이언트에서 소정 비율의 클라이언트 또는 메신저 버디 관계인 다른 클라이언트의 수가 소정 개수 이상인 클라이언트에 대해서는 상기 데이터 배포 수단으로부터 상기 데이터를 배포하고, 나머지 클라이언트에 대해서는 메신저 버디 관계인 다른 클라이언트로부터 상기 데이터를 배포하는Distributing the data from the data distributing means to clients currently connected to the server with a predetermined ratio of clients or a number of other clients in a messenger buddy relationship, and distributing the data from other clients in a messenger buddy relationship to the remaining clients. doing 데이터 배포 시스템.Data distribution system. 상기 제11항의 데이터 배포 시스템에 접속하는 클라이언트 시스템에 있어서,In the client system for accessing the data distribution system of claim 11, 상기 데이터 배포 시스템으로부터 전송된 배포 명령을 수신하는 명령 수신 수단;Command receiving means for receiving a distribution command sent from the data distribution system; 상기 수신된 배포 명령에 포함된 배포 방식에 따라 상기 데이터 배포 수단으 로부터 상기 데이터를 배포받거나 상기 클라이언트 시스템과 메신저 버디 관계인 다른 클라이언트로부터 상기 데이터를 배포받는 데이터 수신 수단; 및Data receiving means for receiving the data from the data distributing means or distributing the data from another client having a messenger buddy relationship with the client system in accordance with a distribution method included in the received distribution command; And 상기 데이터 수신 수단에 의해 배포받은 데이터를 저장관리하는 데이터 관리 수단Data management means for storing and managing data distributed by the data receiving means 을 포함하는 클라이언트 시스템.Client system comprising a. 제15항에 있어서,The method of claim 15, 상기 데이터 수신 수단은The data receiving means 상기 메신저 버디 관계인 다른 클라이언트로부터 From another client in the messenger buddy relationship P2P 방식 또는 메신저 파일 릴레이 방식 또는 P2P와 릴레이 방식을 혼합한 혼합 방식 중 어느 하나의 방식에 의하여 상기 데이터를 수신하는Receiving the data by any one of a P2P method, a messenger file relay method, or a hybrid method in which P2P and relay methods are mixed. 클라이언트 시스템.Client system. 제16항에 있어서The method of claim 16 상기 데이터 수신 수단은The data receiving means 상기 메신저 버디 관계인 다수의 클라이언트 각각으로부터 상기 배포될 데이터를 소정 비율로 분할하여 배포받는Receive distribution of data to be distributed at a predetermined rate from each of a plurality of clients in the messenger buddy relationship 클라이언트 시스템.Client system. 제17항에 있어서,The method of claim 17, 상기 분할하여 배포받은 데이터를 조합하는 데이터 조합부Data combination unit for combining the divided and distributed data 를 더 포함하는 클라이언트 시스템.Client system further comprising. 제15항에 있어서,The method of claim 15, 상기 데이터 관리 수단은The data management means 상기 메신저 버디 관계인 다수의 다른 클라이언트 중 어느 클라이언트가 상기 데이터를 저장하고 있는지 확인하는Which one of a plurality of other clients in the messenger buddy relationship is storing the data 클라이언트 시스템.Client system. 데이터를 배포하는 데이터 배포 방법에 있어서,In the data distribution method for distributing data, 서버에 접속한 클라이언트로 배포되어야 할 데이터가 존재하는지 여부를 확인하는 제1단계;A first step of checking whether there is data to be distributed to a client connected to the server; 상기 제1단계의 확인 결과 상기 데이터가 상기 서버에 접속한 클라이언트로 배포되어야 할 데이터가 존재하는 경우에 상기 클라이언트는 상기 배포되어야 할 데이터가 메신저 버디 관계인 다른 클라이언트에 존재하는지 확인하는 제 2 단계;A second step of confirming whether the data to be distributed exists in another client having a messenger buddy relationship when there is data to be distributed to a client accessing the server as a result of the checking of the first step; 상기 다른 클라이언트에 상기 데이터가 존재하는 경우, 상기 데이터를 배포받기 위한 배포 방식 -상기 배포 방식은 상기 서버로부터 상기 데이터를 배포하는 제1방식, 상기 서버에 접속한 클라이언트와 메신저 버디 관계인 다른 클라이언트로부터 상기 데이터를 배포하는 제2방식, 또는 상기 서버와 상기 버디관계의 다른 클라이언트로부터 상기 데이터를 배포하는 제3방식 중 하나 이상을 포함함 -을 결정하는 제3단계Distribution method for distributing the data when the data exists in the other client, The distribution method is a first method of distributing the data from the server, from the other client having a messenger buddy relationship with the client connected to the server A third step of determining one or more of a second way of distributing data or a third way of distributing the data from the server and other clients in the buddy relationship; 를 포함하는 데이터 배포 방법.Data distribution method comprising a.
KR1020080025108A 2008-03-18 2008-03-18 System and method for file distribution using messenger KR100945016B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080025108A KR100945016B1 (en) 2008-03-18 2008-03-18 System and method for file distribution using messenger

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080025108A KR100945016B1 (en) 2008-03-18 2008-03-18 System and method for file distribution using messenger

Publications (2)

Publication Number Publication Date
KR20090099874A true KR20090099874A (en) 2009-09-23
KR100945016B1 KR100945016B1 (en) 2010-03-05

Family

ID=41358319

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080025108A KR100945016B1 (en) 2008-03-18 2008-03-18 System and method for file distribution using messenger

Country Status (1)

Country Link
KR (1) KR100945016B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101538701B1 (en) * 2013-05-28 2015-07-23 주식회사 쓰리에이치에스 Real-time data updating system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100385146B1 (en) * 2000-06-26 2003-05-22 주식회사 프리챌 A web messenger service system and a service method on the network
KR20040001336A (en) * 2002-06-27 2004-01-07 주식회사 케이티 Method of push-style contents delivery over the internet using P2P model
KR20060105971A (en) * 2005-04-04 2006-10-12 (주)이인프라네트웍스 Method for sharing source, restricting source transmission, verifying source transmission root, and computer readable medium thereof
KR100784258B1 (en) 2006-06-29 2007-12-11 주식회사 케이티프리텔 System and method for distributing contents using messenger service

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101538701B1 (en) * 2013-05-28 2015-07-23 주식회사 쓰리에이치에스 Real-time data updating system

Also Published As

Publication number Publication date
KR100945016B1 (en) 2010-03-05

Similar Documents

Publication Publication Date Title
KR101322947B1 (en) Distributed caching of files in a network
EP2406917B1 (en) Push notification service
JP4890566B2 (en) Automatic file distribution
US9021090B2 (en) Network access firewall
US7516480B2 (en) Secure remote configuration of targeted devices using a standard message transport protocol
US8438614B2 (en) Communication system, relay apparatus, terminal apparatus and computer readable medium
US20110038483A1 (en) Systems and methods for secure management of presence information for communication services
RU2412480C2 (en) System and method of establishing whether server and correspondent have coordinated secure mail
JP2005521142A (en) Certification information storage device and certification information storage method
Abdulaziz et al. A decentralized application for secure messaging in a trustless environment
KR100945016B1 (en) System and method for file distribution using messenger
JP2010272951A (en) Method and server for managing distribution of shared key
JP3731645B2 (en) Agent method and computer system
US20230164121A1 (en) Autonomic distribution of hyperlinked hypercontent in a secure peer-to-peer data network
EP3235268B1 (en) Method, network node and terminal device in a communication network
JP2009200999A (en) Mail system, server device, mail management method, program, and recording medium
JP2008198190A (en) Method and system for secure exchange of electronic mail message
Mislove POST: A decentralized platform for reliable collaborative applications
Khramtsov XMPP Over RELOAD (XOR)
Agbariah Policy exchange and management for Policy Compliance and Change Detection System in managed service in data networks
An et al. Analysis of Delivery Performance of Maritime Cloud Messaging Server in Network without Alternate Route
Mislove et al. ePOST
Fongen Optimization of protocol operations in a Public Key Infrastructure
JP2000270012A (en) Internet mail system and internet mail method using same
JP2005309889A (en) Document distribution system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130204

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140211

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150210

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160202

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170206

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190212

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20200122

Year of fee payment: 11