KR20080092487A - Client synchronization system and method for the same - Google Patents

Client synchronization system and method for the same Download PDF

Info

Publication number
KR20080092487A
KR20080092487A KR1020070035800A KR20070035800A KR20080092487A KR 20080092487 A KR20080092487 A KR 20080092487A KR 1020070035800 A KR1020070035800 A KR 1020070035800A KR 20070035800 A KR20070035800 A KR 20070035800A KR 20080092487 A KR20080092487 A KR 20080092487A
Authority
KR
South Korea
Prior art keywords
client
master
data
clients
list
Prior art date
Application number
KR1020070035800A
Other languages
Korean (ko)
Other versions
KR100864987B1 (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 KR1020070035800A priority Critical patent/KR100864987B1/en
Publication of KR20080092487A publication Critical patent/KR20080092487A/en
Application granted granted Critical
Publication of KR100864987B1 publication Critical patent/KR100864987B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/108Transfer of content, software, digital rights or licenses
    • G06F21/1085Content sharing, e.g. peer-to-peer [P2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems

Landscapes

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

Abstract

A system and a method for synchronizing clients are provided to automatically synchronize data stored in each client by forming the network with the equal clients without any server, and including a protocol for making the clients recognized with each other and exchange data without any manager for setting an environment of the client or checking agreement of the data. A plurality of clients(20-50) include a master selection protocol for setting one client as a master client among a plurality of clients, and a synchronization protocol for synchronizing data between the master client and other clients, and is set as the master client when a condition of the master selection protocol is satisfied. A network hub(10) connects a plurality of clients with the network. The synchronization protocol makes and transmits an internal data list to each client, and transmits the data requested from each client to each client when the client is the master client. The synchronization protocol deletes or requests the data based on a data list of the master client by comparing the data list received from the master client with the data list when the client is not the master client.

Description

클라이언트 동기화 시스템 및 그 방법{Client synchronization system and method for the same}Client synchronization system and method for the same}

도 1은 네트워크 환경에서의 종래의 서버-클라이언트 구조를 나타낸 블럭도,1 is a block diagram showing a conventional server-client structure in a network environment;

도 2는 도 1에 나타낸 네트워크 환경에서의 종래의 서버-클라이언트의 동작 과정을 나타낸 순서도,2 is a flowchart illustrating an operation process of a conventional server-client in the network environment shown in FIG. 1;

도 3은 비 네트워크 환경에서의 종래의 클라이언트 구조를 나타낸 블럭도,3 is a block diagram showing a conventional client structure in a non-network environment;

도 4는 도 3에 나타낸 비 네트워크 환경에서의 종래의 클라이언트의 동작 과정을 나타낸 순서도,4 is a flowchart illustrating an operation process of a conventional client in a non-network environment shown in FIG.

도 5는 본 발명의 바람직한 실시예에 의한 클라이언트 동기화 시스템의 구조를 나타낸 블럭도,5 is a block diagram showing the structure of a client synchronization system according to a preferred embodiment of the present invention;

도 6은 본 발명의 바람직한 실시예에 의한 클라이언트 동기화 방법의 전체 동작과정을 나타낸 순서도,6 is a flowchart showing the overall operation of the client synchronization method according to an embodiment of the present invention;

도 7은 도 6에서 네트워크에 연결된 각 클라이언트가 마스터 클라이언트의 자료 목록을 기준으로 자신의 내부 자료를 정리하여 자료를 일부 동기화하고, 자료 요청 목록을 작성하는 제 5 단계(S5)의 동작과정을 보다 상세히 나타낸 순서도,FIG. 7 illustrates the operation of the fifth step S5 in which each client connected to the network in FIG. 6 cleans some data by arranging its internal data based on the data list of the master client, and prepares a data request list. Detailed flow chart,

도 8은 도 6에서 네트워크에 연결된 각 클라이언트가 마스터 클라이언트로부 터 자료를 다운로드 받아 자료의 동기화가 완성되는 제 6 단계(S6)의 동작과정을 보다 상세히 나타낸 순서도이다.FIG. 8 is a flowchart illustrating in more detail an operation of the sixth step S6 in which each client connected to the network downloads data from the master client and data synchronization is completed.

본 발명은 클라이언트 동기화 시스템 및 그 방법에 관한 것으로, 특히 별도의 서버 없이 클라이언트만으로 네트워크를 구축하고 각 클라이언트 간에 서로를 인식하고 자료를 주고받을 수 있는 프로토콜을 갖춤으로써 관리자의 개입 없이 네트워크에 연결된 각 클라이언트의 자료 동기화가 자동으로 이루어지는 클라이언트 동기화 시스템 및 그 방법에 관한 것이다.The present invention relates to a client synchronization system and a method thereof, and in particular, each client connected to the network without the intervention of an administrator by establishing a network with only a client without a separate server, and having a protocol that can recognize and exchange data with each other. The present invention relates to a client synchronization system and a method for automatically synchronizing data.

디지털 자료를 저장할 수 있는 각종 클라이언트를 효율적으로 관리하기 위하여 각 클라이언트의 내부 자료를 동일하게 유지할 필요가 있으며, 이를 구현하기 위해서는 서버-클라이언트 구조의 네트워크를 구축하는 방법과 사람이 직접 각 클라이언트마다 자료를 일일이 돌아다니며 복사하는 방법이 있다.In order to efficiently manage various clients that can store digital data, it is necessary to keep the internal data of each client the same.To implement this, a method of constructing a server-client network and a person directly manages the data for each client. There is a way to make a copy of each other.

도 1은 네트워크 환경에서의 종래의 서버-클라이언트 구조를 나타낸 블럭도이다.1 is a block diagram showing a conventional server-client structure in a network environment.

도시된 바와 같이, 동기화해야 할 자료가 많은 경우에는 서버를 기준으로 네 트워크 환경을 구축함으로써 서버와 클라이언트 간의 자료 공유가 이루어진다. 각종 멀티미디어 자료는 서버에 올리게 되며, 여러 클라이언트가 서버에 실시간으로 접근하여 자료를 복사해가는 구조로 네트워크가 구성된다.As shown in the drawing, when there is a lot of data to be synchronized, data sharing is performed between the server and the client by establishing a network environment based on the server. Various multimedia data is uploaded to the server, and the network is composed of several clients accessing the server in real time and copying the data.

도 2는 도 1에 나타낸 네트워크 환경에서의 종래의 서버-클라이언트의 동작 과정을 나타낸 순서도이다.FIG. 2 is a flowchart illustrating an operation process of a conventional server-client in the network environment shown in FIG. 1.

도시된 바와 같이, 서버와 클라이언트 간의 동기화를 위해 먼저 클라이언트에서는 각각 네트워크 환경을 설정하고, 이러한 과정을 모든 클라이언트에 대하여 수행한다.As shown in the figure, for synchronization between a server and a client, a client first sets up a network environment, and this process is performed for all clients.

그런 후에, 서버 쪽에 멀티미디어 자료가 추가되면 서버에서는 클라이언트로 새로 추가된 자료를 전송하고 이러한 과정을 모든 클라이언트에 대하여 수행함으로써 서버와 클라이언트 간의 동기화가 이루어진다.Then, when the multimedia data is added to the server side, the server transmits the newly added data to the client and performs this process for all clients to synchronize the server and the client.

도 3은 비 네트워크 환경에서의 종래의 클라이언트 구조를 나타낸 블럭도이다.3 is a block diagram illustrating a conventional client structure in a non-network environment.

도시된 바와 같이, 동기화해야 할 자료가 적은 경우에는 굳이 서버를 이용한 네트워크를 구성할 필요없이 각각의 클라이언트 및 각 클라이언트에 개별적으로 연결된 이동식 자료 저장소로 시스템이 구성된다.As shown, if there is less data to synchronize, the system is configured with each client and a removable data repository individually connected to each client without having to configure a network using a server.

도 4는 도 3에 나타낸 비 네트워크 환경에서의 종래의 클라이언트의 동작 과 정을 나타낸 순서도이다.4 is a flowchart illustrating the operation of a conventional client in the non-network environment shown in FIG.

이 방법은 멀티미디어 자료를 담고 있는 이동형 매체를 사용해서 모든 클라이언트마다 사람이 직접 돌아다니면서 자료를 복사하거나 이동형 자료 매체를 삽입해서 이 자료를 그대로 쓰는 방법이다.This method uses a removable media containing multimedia data to copy the data or insert the removable data media as a person moves around for every client.

이를 위해, 이동식 자료 저장소를 클라이언트 개수만큼 복사하고, 각 클라이언트에 이동식 자료 저장소를 연결함으로써 모든 클라이언트는 동일한 자료를 지니게 된다.To do this, by copying the number of clients to the number of clients and connecting the number of clients to each client, all clients have the same data.

이와 같이, 비 네트워크 방식의 클라이언트 동기화 시스템은 별도의 서버없이 클라이언트만으로 구축이 가능하지만 개별 클라이언트를 여러 대 관리하는 과정에서 많은 시간과 노력이 필요하다. 반면, 네트워크 방식의 서버-클라이언트 시스템은 일단 네트워크 구축이 끝나면 멀티미디어 자료 배포가 비 네트워크 방식보다 상대적으로 용이하다는 장점이 있다.As such, the non-network client synchronization system can be implemented by only the client without a separate server, but it requires a lot of time and effort in the process of managing several individual clients. On the other hand, the network-based server-client system has an advantage that the distribution of multimedia materials is relatively easier than the non-network method once the network construction is completed.

하지만 네트워크 방식의 경우, 이후 클라이언트를 새로 추가할 때마다 서버와 클라이언트 측 환경을 다시 재설정해줘야 하며, 클라이언트에 비해 상대적으로 고가인 서버를 도입해야 하는 어려움이 있다.However, in the network type, each time a new client is added, the server and the client side environment must be reset again, and a relatively expensive server is introduced.

그리고, 해당 서버를 별도로 유지해야 하는 관리 인력이 필요하며, 서버를 복수 개로 중첩해서 구축하지 않을 경우에는 서버에 문제가 생기면 정상적인 클라이언트 동작을 보장할 수 없다는 문제점이 있다.In addition, there is a need for a management manpower to maintain the server separately, and there is a problem in that normal client operation cannot be guaranteed if a problem occurs in the server unless the server is overlapped with a plurality of servers.

본 발명의 목적은 별도의 서버 없이 동등한 클라이언트만으로 네트워크를 구성하며, 클라이언트가 추가되어 네트워크 환경에 변화가 생기더라도 클라이언트의 환경 설정 및 자료의 일치 여부를 확인하기 위한 관리자를 따로 둘 필요없이 클라이언트 간에 서로를 인식하고 자료를 주고 받는 프로토콜을 갖춤으로써 각 클라이언트 간의 자료 동기화가 자동으로 이루어지는 클라이언트 동기화 시스템 및 그 방법을 제공하는 것이다.The object of the present invention is to configure a network with only equivalent clients without a separate server, and even if a client is added to the network environment, there is no need for a separate administrator to check whether the client's configuration and data match. The present invention provides a client synchronization system and method for automatically synchronizing data between clients by having a protocol for recognizing and transmitting data.

본 발명의 클라이언트 동기화 시스템은, 복수 개의 클라이언트 중 특정 클라이언트를 마스터 클라이언트로 설정하는 마스터 선출 프로토콜과, 마스터 클라이언트를 기준으로 나머지 클라이언트의 자료를 동기화하는 동기화 프로토콜을 구비하며, 마스터 선출 프로토콜의 조건을 충족하면 마스터 클라이언트로 변환 설정되는 복수 개의 클라이언트; 및 복수 개의 클라이언트를 네트워크로 연결하는 허브를 포함하여 구성되며, 동기화 프로토콜은 해당 클라이언트가 마스터 클라이언트의 경우에는 내부 자료 목록을 작성하여 각 클라이언트로 전송하고 각 클라이언트로부터의 자료 요청에 따라 요청 자료를 전송하며, 마스터 클라이언트가 아닌 경우에는 마스터 클라이언트로부터 자료 목록을 전송받아 마스터 클라이언트의 자료 목록과 자신의 자료 목록을 비교하여 마스터 클라이언트의 자료 목록을 기준으로 자신의 자료를 삭제하거나 자료 요청하도록 동작한다.The client synchronization system of the present invention includes a master election protocol for setting a specific client as a master client among a plurality of clients, and a synchronization protocol for synchronizing data of the remaining clients based on the master client, and satisfies the conditions of the master election protocol. When a plurality of clients are set to convert to a master client; And a hub for connecting a plurality of clients to a network, and the synchronization protocol is a master client, in which case, the client prepares an internal data list and transmits it to each client, and transmits the request data according to the data request from each client. If it is not a master client, it receives the data list from the master client and compares the data list of the master client with its own data list and deletes or requests the data based on the data list of the master client.

본 발명의 클라이언트 동기화 방법은, 복수 개의 클라이언트로 구성된 네트워크에서 각 클라이언트 간 자료 요청 및 전송에 의한 클라이언트 동기화 방법에 있어서, 네트워크에 연결된 클라이언트 중 임의의 클라이언트가 외부 입력에 의해 자신을 마스터 클라이언트로 환경 설정하는 제 1 단계; 네트워크에 새로 추가되는 클라이언트가 자신의 정보를 브로드캐스트 방식으로 네트워크에 이미 연결되어 있는 각 클라이언트로 전송하고, 각 클라이언트는 추가된 클라이언트의 정보를 전송받아 네트워크 정보를 재구성하는 제 2 단계; 클라이언트 중 어느 하나를 투표에 의해 마스터 클라이언트로 설정하는 제 3 단계; 새로 설정된 마스터 클라이언트가 내부 자료 목록을 작성하여 각 클라이언트로 전송하는 제 4 단계; 각 클라이언트가 마스터 클라이언트의 자료 목록을 참조하여 자신의 내부 자료를 정리하고, 자료 요청 목록을 작성하는 제 5 단계; 및 각 클라이언트가 마스터 클라이언트로 자료 요청 목록을 전송하고, 마스터 클라이언트가 자료 요청 목록에 포함된 자료를 해당 클라이언트로 전송하고, 각 클라이언트가 자료를 전송받아 갱신하여 마스터 클라이언트와 동기화하는 제 6 단계를 포함하여 구성된다.In the client synchronization method of the present invention, in the client synchronization method by requesting and transmitting data between clients in a network composed of a plurality of clients, any of the clients connected to the network configures itself as a master client by external input. A first step of making; A second step in which a client newly added to the network transmits its information to each client already connected to the network in a broadcast manner, and each client receives the information of the added client and reconstructs the network information; A third step of setting one of the clients as the master client by voting; A fourth step in which the newly set master client prepares an internal data list and transmits it to each client; A fifth step in which each client cleans up its own internal data by referring to the data list of the master client and prepares a data request list; And a sixth step in which each client sends a data request list to the master client, the master client sends the data included in the data request list to the client, and each client receives and updates the data to synchronize with the master client. It is configured by.

이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 5는 본 발명의 바람직한 실시예에 의한 클라이언트 동기화 시스템의 구조를 나타낸 블럭도이다.5 is a block diagram showing the structure of a client synchronization system according to a preferred embodiment of the present invention.

도시된 바와 같이, 클라이언트 동기화 시스템은 크게 네트워크 허브(10)와 복수 개의 클라이언트(20 ~ 50)로 구성된다. 그리고, 각 클라이언트는 본 발명의 동기화 과정에서 각 클라이언트의 투표에 의해 어느 것이라도 마스터 클라이언트로 설정될 수 있으며, 2개 이상의 마스터 클라이언트를 설정할 수도 있다.As shown, the client synchronization system is largely composed of a network hub 10 and a plurality of clients 20 to 50. In addition, each client may be set as a master client by voting of each client in the synchronization process of the present invention, and two or more master clients may be configured.

네트워크 허브(10)는 각 클라이언트(20 ~ 50)로부터 보내져 오는 패킷을 다른 모든 클라이언트(20 ~ 50)로 재전송함으로써 각 클라이언트를 네트워크로 연결해준다.The network hub 10 connects each client to the network by retransmitting packets from each client 20 to 50 to all other clients 20 to 50.

클라이언트(20 ~ 50)는 서로 간에 구성상 큰 차이가 없는 클라이언트 장치로서, 멀티미디어 자료 등 여러 자료를 저장하고 있다. 또한, 이동식 자료 저장소를 통해 외부로부터 자료를 입력받을 수도 있다. 각 클라이언트는 서로 간의 자료를 동기화하기 위해 아래와 같은 프로토콜을 내장하고 있다.Clients 20 to 50 are client devices that do not have a large difference in configuration from each other, and store various data such as multimedia data. You can also receive data from external sources via a portable data repository. Each client has the following protocols built in to synchronize data with each other.

■ 마스터 선출 프로토콜은 사용자의 외부 설정에 의해 임의의 클라이언트가 마스터 클라이언트로 설정되면, 임의로 설정된 마스터 클라이언트가 각 클라이언트로 마스터 투표 요청신호를 전송하고 각 클라이언트로부터 마스터 투표 정보를 전송받아 가장 많은 표를 얻은 클라이언트를 마스터 클라이언트로 설정한다.■ In the master election protocol, if any client is set as the master client by user's external setting, the randomly set master client sends the master voting request signal to each client and receives the master voting information from each client to obtain the most votes. Set the client as the master client.

이때, 마스터 클라이언트를 선택하는 기준으로는, 운영 시간이 오래된 클라이언트, 하드웨어 사양(CPU 주파수, 메모리 크기, 하드디스크 크기 등)이 높은 클라이언트에 대하여 가산점이 부과되며, 각 클라이언트의 하드웨어 사양이 완벽하게 동일할 경우에는 가산점이 부과되지 않는다.In this case, as a criterion for selecting a master client, an additional point is charged for a client having a long operating time and a client having high hardware specifications (CPU frequency, memory size, hard disk size, etc.), and the hardware specifications of each client are exactly the same. If you do, no additional points will be charged.

또한, 사용자의 외부 설정에 의해 임의의 마스터 클라이언트가 설정되지 않았거나, 유일하게 1개 존재하는 마스터 클라이언트의 동작에 결함이 생기는 경우에 는 앞서 산출된 가산점을 토대로 가장 높은 가산점을 얻은 클라이언트가 마스터 클라이언트로 설정된다.In addition, when an arbitrary master client is not set by the user's external setting or a defect occurs in the operation of only one existing master client, the client having the highest addition point based on the calculated addition point is the master client. Is set to.

그리고, 2개 이상의 클라이언트가 마스터 클라이언트로 선출되면 가장 최근에 자료를 갱신한 클라이언트를 마스터 클라이언트로 설정한다.If two or more clients are elected as master clients, the most recently updated client is set as the master client.

■ 동기화 프로토콜은 마스터 클라이언트의 자료 목록과 자신의 자료 목록을 비교하여 마스터 클라이언트의 자료 목록을 기준으로 자신의 자료를 삭제하거나 자료 요청한다.■ The synchronization protocol compares the data list of the master client with its own data list and deletes or requests the data based on the data list of the master client.

즉, 마스터 선출 프로토콜에 의해 설정된 마스터 클라이언트는 자신이 보유한 멀티미디어 파일 이름, 변경 날짜, 크기, 체크썸 등이 포함된 내부 자료 목록을 작성하여 각 클라이언트로 전송하고, 각 클라이언트를 이를 받아 마스터 클라이언트의 자료와 자신의 자료를 비교한다.In other words, the master client set up by the master election protocol prepares a list of internal data including the multimedia file name, change date, size, checksum, etc. which it owns and sends it to each client. Compare your data with.

비교결과, 마스터 클라이언트에는 존재하지만 자신에게는 없는 자료에 대하여 마스터 클라이언트로 자료를 요청한다. 또한, 자신에게는 있지만 마스터 클라이언트에는 없는 자료의 경우에는 마스터 클라이언트를 기준으로 동기화가 이루어져야 하므로 자신의 자료를 삭제함으로써 동기화를 진행한다. 만약, 양쪽에 모두 자료가 존재하더라도 파일 갱신 시간이 다른 경우에는 마스터 클라이언트를 기준으로 자료를 새로 요청하여 동기화한다.As a result of the comparison, data is requested from the master client for data that exists in the master client but does not exist in the master client. In addition, in the case of data that exists in the master client but not in the master client, the synchronization should be performed based on the master client. If the data update time is different even though both data exist, the new data is requested and synchronized based on the master client.

이때, 마스터 클라이언트는 한 번에 하나의 클라이언트만 통신 가능하도록 설정되며, 각 클라이언트는 자신에게 없는 자료를 요청하기 위해 마스터 클라이언트가 접속 가능한 상태가 될 때까지 주기적으로 마스터 클라이언트로 접속을 시도 한다.At this time, the master client is set to be able to communicate with only one client at a time, and each client periodically attempts to connect to the master client until the master client becomes accessible to request data that is not present in the client.

■ 인식 프로토콜은 클라이언트가 네트워크에 새로 추가되면 클라이언트 명칭, IP 주소 등 자신의 정보를 각 클라이언트로 브로드캐스트 방식으로 전송한다. 그리고, 네트워크에 연결되어 있는 기존의 클라이언트는 새로 추가된 클라이언트로부터 정보를 전송받아 이를 토대로 자신의 네트워크 정보를 갱신한다.■ The Recognition Protocol sends a client's information such as client name and IP address to each client when it is newly added to the network. The existing client connected to the network receives information from the newly added client and updates its network information based on this information.

■ 임시 마스터 설정 프로토콜은 각 클라이언트가 동기화 프로토콜에 의해 자신의 자료를 마스터 클라이언트를 기준으로 동기화를 완료하면 자신을 임시 마스터 클라이언트로 설정한다. 그리고, 자신이 임시 마스터 클라이언트로 설정되었음을 네트워크에 연결된 모든 클라이언트에 브로드캐스트 방식으로 통보한다.■ Temporary master setting protocol sets each client as a temporary master client when it has finished synchronizing its data based on master client by synchronization protocol. Then, it broadcasts to all clients connected to the network that it is set as a temporary master client.

결국, 임시 마스터 클라이언트와 마스터 클라이언트는 동기화가 완료되었으므로 내부 자료가 동일하다. 따라서, 아직 동기화가 완료되지 않은 클라이언트에서는 마스터 클라이언트뿐만 아니라 임시 마스터 클라이언트를 기준으로 동기화를 진행하게 된다.Eventually, the temporary master client and the master client are in sync, so the internal data is the same. Therefore, the client that has not yet completed the synchronization is synchronized based on the temporary master client as well as the master client.

도 6은 본 발명의 바람직한 실시예에 의한 클라이언트 동기화 방법의 전체 동작과정을 나타낸 순서도이다.6 is a flowchart showing the overall operation of the client synchronization method according to an embodiment of the present invention.

도시된 바와 같이, 먼저 네트워크에 연결된 클라이언트 중 임의의 클라이언트가 외부 입력에 의해 자신을 마스터 클라이언트로 환경 설정한다(S1). 즉, 사용자의 입력에 의해 여러 클라이언트 중에서 한 대를 골라 마스터 클라이언트로 설정해준다. 이 과정은 네트워크를 처음 설정할 때 한 번만 해주며, 그 다음부터는 클 라이언트가 추가 또는 삭제되더라도 네트워크 자체 내에서 마스터 클라이언트를 자동으로 선출하고 동기화가 이루어진다.As shown, first any client connected to the network configures itself as a master client by external input (S1). That is, one of several clients is selected as the master client by user input. This process is performed only once when the network is first set up. After that, even if a client is added or deleted, the master client is automatically selected and synchronized within the network itself.

그 다음에는, 네트워크에 새로 추가되는 클라이언트가 클라이언트 명칭, IP 주소 등이 포함된 자신의 정보를 브로드캐스트 방식으로 네트워크에 이미 연결되어 있는 각 클라이언트로 전송하고, 각 클라이언트는 추가된 클라이언트의 정보를 전송받아 네트워크 정보를 재구성한다(S2). 즉, 클라이언트로 구성된 지역 네트워크에 새로운 클라이언트가 추가되면, 추가된 클라이언트는 지역 네트워크 상에 존재하는 모든 클라이언트에게 자신의 존재를 알리는 패킷을 브로드캐스트 방법으로 전파한다.Then, the newly added client on the network sends its information, including the client name, IP address, etc., to each client already connected to the network in a broadcast manner, and each client sends the information of the added client. Receive and reconstruct network information (S2). That is, when a new client is added to a local network composed of clients, the added client propagates a packet informing its existence to all clients existing on the local network by a broadcast method.

이 과정에서 특정 클라이언트를 인식시키기 위해서 지역 네트워크에 물려있는 기존의 나머지 클라이언트의 환경 설정을 사용자나 관리자의 개입에 의해 변경할 필요가 없도록 새로운 클라이언트의 브로드캐스트 직후에 지역 네트워크에 연결된 모든 클라이언트가 자동으로 새로 연결된 클라이언트의 이름, IP 주소 등의 네트워크 정보를 동적으로 재구성한다.In this process, all clients connected to the local network are automatically refreshed immediately after the broadcast of the new client so that the configuration of the remaining existing clients in the local network need not be changed by user or administrator intervention in order to recognize the specific client. Dynamically reconfigure network information such as the name and IP address of the connected client.

그 다음으로, 여러 클라이언트 중에서 어떤 클라이언트가 주도권을 잡는 대표인 마스터 클라이언트가 될지 결정해야 하며, 클라이언트 중 어느 하나를 투표에 의해 마스터 클라이언트로 설정한다(S3).Next, it is necessary to determine which client among the various clients becomes the master client who takes the lead, and sets one of the clients as the master client by voting (S3).

이를 위해, 앞서 제 1 단계(S1)에서 임의로 설정된 마스터 클라이언트가 각 클라이언트로 마스터 투표 요청 신호를 전송하며, 각 클라이언트는 이를 받아 어느 클라이언트를 마스터 클라이언트로 선택할 것인지를 자체적으로 판단하여 이를 담 은 마스터 투표 정보를 앞서 임의로 마스터로 설정된 클라이언트로 보낸다.To this end, the master client arbitrarily set in the first step S1 transmits a master voting request signal to each client, and each client receives the master voting request and decides which client to select as the master client. Send the information to a client that has been arbitrarily configured as a master.

그러면, 임의의 마스터 클라이언트는 가장 많은 표를 얻은 클라이언트를 마스터 클라이언트로 최종 선택하여 새로 설정된 마스터 클라이언트에 대한 정보를 모든 클라이언트로 보낸다.Then, any master client finally selects the client with the most votes as the master client and sends information about the newly set master client to all clients.

이때, 마스터 클라이언트의 조건을 갖는 클라이언트가 2개 이상인 경우에는 가장 최근에 자료가 갱신된 클라이언트를 마스터 클라이언트로 설정한다.At this time, when there are two or more clients having the conditions of the master client, the client whose data is most recently updated is set as the master client.

제 3 단계(S3)에서 마스터 투표 요청 신호를 받은 각 클라이언트가 마스터 클라이언트를 선택하는 기준으로는, 운영 시간이 오래된 클라이언트, 하드웨어 사양(CPU 주파수, 메모리 크기, 하드디스크 크기 등)이 높은 클라이언트를 들 수 있으며, 각 클라이언트는 이러한 사항에 대한 가산점을 부과하여 마스터 투표 정보를 작성하고 이를 전송한다. 그리고, 각 클라이언트의 하드웨어 사양이 완벽하게 동일할 경우에는 가산점을 부과하지 않는다.As a criterion for each client receiving the master voting request signal in the third step (S3) to select a master client, clients having a long operating time and clients having high hardware specifications (CPU frequency, memory size, hard disk size, etc.) Each client can add points on these matters to create and send master voting information. And if the hardware specifications of each client are exactly the same, no additional points are charged.

또한, 관리자가 특정 클라이언트를 선택해서 마스터 클라이언트를 선택해주지 않았거나, 마스터 클라이언트를 하나만 지정해 놓았을 때 마스터 클라이언트의 동작에 결함이 생기는 경우에는 앞서 산출된 가산점을 토대로 가장 높은 가산점을 얻은 클라이언트가 마스터 클라이언트로 설정된다.In addition, if the administrator does not select a specific client and selects a master client, or if only one master client is designated, and a defect occurs in the operation of the master client, the client that has obtained the highest sum based on the calculated addition point is the master client. Is set to.

그 다음으로, 새로 설정된 마스터 클라이언트가 자신이 보유한 멀티미디어 파일 이름, 변경 날짜, 크기, 체크썸 등이 포함된 내부 자료 목록을 작성하여 각 클라이언트로 전송한다(S4).Next, the newly set master client creates an internal data list including the multimedia file name, the change date, the size, the checksum, and the like, and transmits it to each client (S4).

그러면, 각 클라이언트에서는 마스터 클라이언트가 보내온 자료 목록을 기준 으로 동기화 작업을 시작한다. 우선, 각 클라이언트는 마스터 클라이언트의 자료 목록을 참조하여 자신의 내부 자료를 정리하고, 마스터 클라이언트로 보낼 자료 요청 목록을 작성한다(S5). 이상의 제 5 단계(S5)에 의해 클라이언트의 자료가 부분적으로 동기화되는 과정에 대해서는 이후 도 7을 참조하여 보다 상세히 설명하도록 한다.Each client then starts a synchronization task based on the list of data sent by the master client. First, each client organizes its own internal data by referring to the data list of the master client, and prepares a data request list to be sent to the master client (S5). The process of partially synchronizing data of the client by the fifth step S5 will be described in detail later with reference to FIG. 7.

그리고, 자료 요청 목록을 작성한 클라이언트는 마스터 클라이언트로 자료 요청 목록을 전송하고, 마스터 클라이언트가 자료 요청 목록에 포함된 자료를 해당 클라이언트로 전송한다. 그러면, 각 클라이언트가 자료를 전송받아 갱신하여 마스터 클라이언트와 동기화한다(S6). 이상의 제 6 단계(S6)에 의해 모든 클라이언트의 동기화가 완료되는 과정에 대해서는 이후 도 8을 참조하여 보다 상세히 설명하도록 한다.The client, which has created the data request list, transmits the data request list to the master client, and the master client transmits the data included in the data request list to the client. Then, each client receives and updates the data to synchronize with the master client (S6). A process of completing synchronization of all clients by the sixth step S6 will be described in detail later with reference to FIG. 8.

이와 같이 지역 네트워크에 연결된 클라이언트 간의 동기화가 모두 완료되면, 일정 시간마다 주기적으로 이러한 클라이언트 간의 동기화 과정을 반복하도록 설정할 수 있으며, 새로운 클라이언트가 추가되는 경우에도 동기화 과정을 반복하도록 설정할 수 있다. 이를 위해 설정 시간이 경과했거나, 새로 클라이언트가 추가되면 제 2 단계(S2)부터의 과정을 반복한다(S7).As such, when all the synchronization between the clients connected to the local network is completed, the synchronization process between the clients may be set to repeat periodically every predetermined time, and even when a new client is added, the synchronization process may be repeated. To this end, if the set time has elapsed or a new client is added, the process from the second step S2 is repeated (S7).

도 7은 도 6에서 네트워크에 연결된 각 클라이언트가 마스터 클라이언트의 자료 목록을 기준으로 자신의 내부 자료를 정리하여 자료를 일부 동기화하고, 자료 요청 목록을 작성하는 제 5 단계(S5)의 동작과정을 보다 상세히 나타낸 순서도이 다.FIG. 7 illustrates the operation of the fifth step S5 in which each client connected to the network in FIG. 6 cleans some data by arranging its internal data based on the data list of the master client, and prepares a data request list. This is a detailed flowchart.

도시된 바와 같이, 각 클라이언트는 제 4 단계(S4)에서 마스터 클라이언트가 작성한 자료 목록을 전송받으며, 이를 기준으로 동기화를 진행한다. 각 클라이언트는 마스터 클라이언트의 자료 목록과 자신의 자료 목록을 파일 단위로 비교한다(S51).As shown in the drawing, each client receives the data list prepared by the master client in the fourth step S4 and performs synchronization based on this. Each client compares the data list of the master client with its data list in units of files (S51).

그리고, 비교 결과 마스터 클라이언트의 자료 목록에는 포함되어 있지 않으나 자신의 자료 목록에는 포함되어 있는 자료가 있으면(S52), 자신의 해당 자료를 삭제한다(S53).And, if there is a data that is not included in the data list of the master client but included in the data list (S52), the corresponding data is deleted (S53).

또한, 비교 결과 마스터 클라이언트에 새로 추가되거나 변경된 파일이 있는 경우에는(S54), 해당 파일을 자료 요청 목록에 포함시킨다(S55).In addition, when there is a file newly added or changed in the master client as a result of the comparison (S54), the file is included in the data request list (S55).

다시 설명하자면, 마스터 클라이언트의 자료 목록에는 포함되어 있으나 자신의 자료 목록에는 포함되어 있지 않은 자료가 있으면 해당 자료를 자료 요청 목록에 추가한다. 그리고, 마스터 클라이언트와 자신의 자료 목록에 모두 포함되어 있으나 마스터 클라이언트의 자료가 자신의 자료에 비해 보다 최근에 갱신되었다면, 역시 해당 자료를 자료 요청 목록에 추가한다.In other words, if there is a material included in the master client's data list but not in the data list, add it to the data request list. If the master client and its data list are both included but the master client's data has been updated more recently than its own data, add the data to the data request list.

그리고, 마스터 클라이언트와 자신의 양쪽 목록에서 모든 파일에 대한 비교가 끝날 때까지 위의 과정을 되풀이한다(S56).Then, the above process is repeated until the comparison of all the files in both the master client and his list is finished (S56).

이상의 과정을 거치면, 각 클라이언트의 자료가 마스터 클라이언트를 기준으로 일부 맞춰지며, 자신에게 없거나 변경된 자료를 마스터 클라이언트에 요청하기 위한 자료 요청 목록이 작성된다.Through the above process, each client's data is partially tailored based on the master client, and a data request list for requesting the master client for the missing or changed data is prepared.

도 8은 도 6에서 네트워크에 연결된 각 클라이언트가 마스터 클라이언트로부터 자료를 다운로드 받아 자료의 동기화가 완성되는 제 6 단계(S6)의 동작과정을 보다 상세히 나타낸 순서도이다.FIG. 8 is a flowchart illustrating in detail the operation of the sixth step S6 in which each client connected to the network downloads data from the master client and data synchronization is completed.

도시된 바와 같이, 각 클라이언트는 앞서 제 5 단계(S5)에서 작성된 자료 요청목록을 마스터 클라이언트로 전송함으로써 다운받을 파일을 요청한다(S61).As shown, each client requests a file to download by transmitting the data request list created in the fifth step S5 to the master client (S61).

이때, 마스터 클라이언트는 부하를 줄이기 위해 한 번에 하나의 클라이언트만 통신 가능하도록 설정되며, 각 클라이언트는 마스터 클라이언트와 접속이 될 때까지 주기적으로 마스터 클라이언트에 대한 접속을 시도하여 마스터 클라이언트가 바쁘지 않은 상태가 될 때까지 기다린다.At this time, the master client is set to be able to communicate with only one client at a time in order to reduce the load, and each client periodically tries to connect to the master client until the master client is in a busy state. Wait until

이를 위해, 각 클라이언트는 접속을 시도한 마스터 클라이언트가 다른 클라이언트와 접속 중이거나 다른 작업을 수행하는 중이라면(S62), 그 밖의 다른 마스터 클라이언트가 존재하는지를 확인한다(S63). 동기화가 완전히 끝난 클라이언트는 마스터 클라이언트와 실질적으로는 동일하므로 이를 추후에 설명될 임시 마스터 클라이언트로 설정한다면 마스터 클라이언트는 2개 이상 존재할 수 있다.To this end, each client checks whether another master client exists (S63), if the master client attempting the connection is connecting to another client or performing other tasks (S62). The fully synchronized client is substantially the same as the master client, so if you set it as a temporary master client as described later, there can be more than one master client.

만약, 다른 마스터 클라이언트가 존재한다면 해당 마스터 클라이언트로 접속하여 자료 요청목록을 보내고 만약 다른 마스터 클라이언트가 다른 작업 중이라면 또다시 다른 마스터 클라이언트를 찾는 과정을 계속 반복한다.If there is another master client, it connects to the master client and sends a list of data requests. If the other master client is busy, it repeats the process of finding another master client.

그렇지만, 다른 마스터 클라이언트가 존재하지 않는다면 먼저 접속을 시도했던 마스터 클라이언트에 대하여 다시 접속을 시도한다. 이때, 미리 설정된 시간만 큼 잠시 대기했다가 마스터 클라이언트에 접속함으로써 주기적으로 접속을 시도한다(S64).However, if no other master client exists, try to connect to the master client that attempted to connect first. At this time, the terminal waits for a predetermined time for a while and attempts to connect periodically by accessing the master client (S64).

위의 과정을 거쳐 마스터 클라이언트에 성공적으로 접속하여 자료 요청목록을 전달하였다면, 마스터 클라이언트는 자료 요청목록에 포함된 자료를 찾아서 자료를 요청한 해당 클라이언트로 요청된 자료를 전송한다(S65).After successfully accessing the master client through the above process and delivering the data request list, the master client finds the data included in the data request list and transmits the requested data to the corresponding client requesting the data (S65).

이상의 과정을 거쳐 클라이언트가 마스터 클라이언트로부터 자료를 모두 전송받아 마스터 클라이언트와의 동기화를 마쳤다면(S66), 해당 클라이언트는 자신을 임시 마스터 클라이언트로 승격시키고(S67), 자신이 임시 마스터 클라이언트로 설정되었음을 지역 네트워크에 연결된 모든 클라이언트에게 브로드캐스트 방식으로 알린다(S68). 그러면, 이러한 사실을 감지한 일반 클라이언트는 마스터 클라이언트뿐만 아니라 임시 마스터 클라이언트에 접속해서 필요한 자료를 동기화하기 시작한다.If the client receives all the data from the master client and finishes the synchronization with the master client (S66), the client promotes itself to the temporary master client (S67). Notify all clients connected to the network by the broadcast method (S68). Then, after detecting this fact, the normal client connects to the temporary master client as well as the master client and starts to synchronize the necessary data.

모든 일반 클라이언트가 임시 마스터 클라이언트를 포함한 마스터 클라이언트와 동기화를 끝내면 지역 네트워크에 연결된 각 클라이언트는 모두 동일한 자료를 지니게 됨으로써 동기화 작업이 완료된다.When all normal clients have finished synchronizing with the master client, including the temporary master client, each client connected to the local network will have the same data, thus completing the synchronization.

이상에서 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러 한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the present invention has been described in more detail with reference to examples, the present invention is not necessarily limited to these examples, and various modifications can be made without departing from the spirit of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

본 발명에 따르면, 동등한 클라이언트만으로 네트워크를 구성할 수 있으므로 별도의 서버 도입이나 이에 따른 추가 관리가 필요하지 않고 비용 절감이 가능하며, 마스터 클라이언트를 2개 이상 유지할 수 있으므로 서버 다운에 따른 서비스 중단이 일어나지 않는 효과가 있다.According to the present invention, since the network can be configured with only equivalent clients, it is possible to reduce costs without requiring additional server introduction or additional management, and can maintain two or more master clients, thereby preventing service interruption due to server downtime. It does not work.

또한, 클라이언트 사이의 상호 연동을 위한 특별한 네트워크 환경 설정이 필요하지 않으므로 지역 네트워크의 대역폭이 허용하는 한 자유롭게 클라이언트를 가감할 수 있으며, 자동화된 클라이언트 상호 인식 기능을 제공하므로 클라이언트 확장에 따른 사용자의 관리 부담이 줄어드는 효과가 있다.In addition, since no special network environment setting is required for interworking between clients, clients can freely add or subtract clients as long as the bandwidth of the local network allows, and provide automated client mutual recognition function, thereby burdening the user with the extension of the client. This reduces the effect.

또한, 지역 네트워크 상에서 모든 작업이 이루어지므로 외부 네트워크에 대한 의존을 줄일 수 있으며, 동기화가 끝난 클라이언트를 임시 마스터 클라이언트로 승격시킴으로써 마스터 클라이언트의 부하를 균등하게 배분할 수 있는 효과가 있다.In addition, since all the work is done on the local network, the dependency on the external network can be reduced, and the load of the master client can be evenly distributed by promoting the synchronized client to the temporary master client.

Claims (12)

복수 개의 클라이언트 중 특정 클라이언트를 마스터 클라이언트로 설정하는 마스터 선출 프로토콜과, 상기 마스터 클라이언트를 기준으로 나머지 클라이언트의 자료를 동기화하는 동기화 프로토콜을 구비하며, 상기 마스터 선출 프로토콜의 조건을 충족하면 마스터 클라이언트로 변환 설정되는 복수 개의 클라이언트; 및A master selection protocol for setting a specific client as a master client among a plurality of clients, and a synchronization protocol for synchronizing data of the remaining clients based on the master client, and converting to a master client when the conditions of the master selection protocol are satisfied A plurality of clients; And 상기 복수 개의 클라이언트를 네트워크로 연결하는 허브;A hub connecting the plurality of clients to a network; 를 포함하여 구성되며,It is configured to include, 상기 동기화 프로토콜은 해당 클라이언트가 마스터 클라이언트의 경우에는 내부 자료 목록을 작성하여 각 클라이언트로 전송하고 각 클라이언트로부터의 자료 요청에 따라 요청 자료를 전송하며, 마스터 클라이언트가 아닌 경우에는 마스터 클라이언트로부터 자료 목록을 전송받아 마스터 클라이언트의 자료 목록과 자신의 자료 목록을 비교하여 마스터 클라이언트의 자료 목록을 기준으로 자신의 자료를 삭제하거나 자료 요청하도록 동작하는 클라이언트 동기화 시스템.In case of the master client, the synchronization protocol prepares and transmits the internal data list to each client and transmits the requested data according to the data request from each client, and transmits the data list from the master client if the client is not the master client. A client synchronization system that operates to receive or compare a data list of a master client with its own data list and to delete or request data based on the data list of the master client. 제 1 항에 있어서,The method of claim 1, 상기 클라이언트는,The client, 네트워크에 새로 추가되면 자신의 정보를 각 클라이언트로 브로드캐스트 방식으로 전송하고 새로 추가된 클라이언트로부터 정보를 전송받으면 자신의 네트워 크 정보를 갱신하는 인식 프로토콜을 더 포함하여 구성되는 클라이언트 동기화 시스템.And a recognition protocol that transmits its own information to each client when it is newly added to the network and updates its network information when it receives information from the newly added client. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 클라이언트는,The client, 상기 동기화 프로토콜을 통해 자신의 자료가 상기 마스터 클라이언트의 자료를 기준으로 동기화되면 자신을 마스터 클라이언트와 동일하게 동작하는 임시 마스터 클라이언트로 설정한 후 이를 각 클라이언트로 브로드캐스트 방식으로 통보하는 임시 마스터 설정 프로토콜을 더 포함하여 구성되는 클라이언트 동기화 시스템.When the data is synchronized based on the data of the master client through the synchronization protocol, the temporary master setting protocol for setting itself as a temporary master client operating in the same manner as the master client and notifying each client by a broadcast method. The client synchronization system is further configured to include. 복수 개의 클라이언트로 구성된 네트워크에서 각 클라이언트 간 자료 요청 및 전송에 의한 클라이언트 동기화 방법에 있어서,In the client synchronization method by requesting and transmitting data between each client in a network composed of a plurality of clients, 상기 네트워크에 연결된 클라이언트 중 임의의 클라이언트가 외부 입력에 의해 자신을 마스터 클라이언트로 환경 설정하는 제 1 단계;A first step in which any client connected to the network configures itself as a master client by external input; 상기 네트워크에 새로 추가되는 클라이언트가 자신의 정보를 브로드캐스트 방식으로 상기 네트워크에 이미 연결되어 있는 각 클라이언트로 전송하고, 각 클라이언트는 상기 추가된 클라이언트의 정보를 전송받아 네트워크 정보를 재구성하는 제 2 단계;A second step in which a client newly added to the network transmits its information to each client already connected to the network in a broadcast manner, and each client receives the information of the added client and reconstructs network information; 상기 클라이언트 중 어느 하나를 투표에 의해 마스터 클라이언트로 설정하는 제 3 단계;Setting up one of the clients as a master client by voting; 새로 설정된 마스터 클라이언트가 내부 자료 목록을 작성하여 각 클라이언트로 전송하는 제 4 단계;A fourth step in which the newly set master client prepares an internal data list and transmits it to each client; 각 클라이언트가 상기 마스터 클라이언트의 자료 목록을 참조하여 자신의 내부 자료를 정리하고, 자료 요청 목록을 작성하는 제 5 단계; 및A fifth step in which each client cleans up its own internal data by referring to the data list of the master client and prepares a data request list; And 각 클라이언트가 상기 마스터 클라이언트로 자료 요청 목록을 전송하고, 상기 마스터 클라이언트가 상기 자료 요청 목록에 포함된 자료를 해당 클라이언트로 전송하고, 각 클라이언트가 자료를 전송받아 갱신하여 상기 마스터 클라이언트와 동기화하는 제 6 단계;A sixth step in which each client transmits a data request list to the master client, the master client transmits data included in the data request list to the corresponding client, and each client receives and updates the data to synchronize with the master client. step; 를 포함하여 구성되는 클라이언트 동기화 방법.Client synchronization method is configured to include. 제 4 항에 있어서,The method of claim 4, wherein 상기 제 3 단계는,The third step, 상기 마스터로 임의 설정된 클라이언트가 각 클라이언트로 마스터 투표 요청신호를 전송하는 단계;Transmitting a master voting request signal to each client by a client randomly configured as the master; 마스터 투표 요청신호를 받은 각 클라이언트는 운영 시간이 오래된 클라이언트와 하드웨어 사양이 높은 클라이언트에 대하여 가산점을 부과하여 마스터 투표 정보를 작성하는 단계; 및Each client receiving the master voting request signal, issuing an additional point for a client having a long operation time and a client having high hardware specification to generate master voting information; And 각 클라이언트로부터 마스터 투표 정보를 제공받아 가장 많은 표를 얻은 클라이언트를 마스터 클라이언트로 설정하는 단계;Receiving the master voting information from each client and setting the client having the most votes as the master client; 를 포함하여 구성되는 것을 특징으로 하는 클라이언트 동기화 방법.Client synchronization method comprising a. 제 5 항에 있어서,The method of claim 5, wherein 상기 제 3 단계는,The third step, 마스터 클라이언트의 조건을 갖는 클라이언트가 2개 이상인 경우에는 가장 최근에 자료가 갱신된 클라이언트를 마스터 클라이언트로 설정하는 단계를 포함하여 구성되는 것을 특징으로 하는 클라이언트 동기화 방법.And setting the most recently updated data client as the master client when there are two or more clients having the condition of the master client. 제 6 항에 있어서,The method of claim 6, 상기 제 4 단계는,The fourth step, 상기 마스터 클라이언트가 자신이 보유한 멀티미디어 파일 이름, 변경 날짜, 크기, 체크썸 등의 정보를 포함하는 자료 목록을 작성하는 단계를 포함하여 구성되는 것을 특징으로 하는 클라이언트 동기화 방법.And generating, by the master client, a material list including information such as a multimedia file name, a change date, a size, a checksum, and the like held by the master client. 제 4 항 내지 제 7 항 중 어느 한 항에 있어서,The method according to any one of claims 4 to 7, 상기 제 5 단계는,The fifth step, 상기 마스터 클라이언트의 자료 목록에는 포함되지 않으나 클라이언트 자료 목록에는 포함되어 있는 자료가 있으면 상기 클라이언트가 자신의 해당 자료를 삭제하는 단계; 및Deleting, by the client, its own material if it is not included in the data list of the master client but is included in the data list of the client; And 상기 마스터 클라이언트의 자료 목록에는 포함되어 있으나 클라이언트 자료 목록에는 포함되어 있지 않은 자료가 있으면 상기 클라이언트가 해당 자료를 상기 자료 요청 목록에 추가하는 단계;If there is any material included in the data list of the master client but not included in the client data list, adding the corresponding data to the data request list by the client; 를 포함하여 구성되는 것을 특징으로 하는 클라이언트 동기화 방법.Client synchronization method comprising a. 제 8 항에 있어서,The method of claim 8, 상기 제 5 단계는,The fifth step, 상기 마스터 클라이언트의 자료 목록과 클라이언트 자료 목록에 모두 포함되어 있으나 상기 마스터 클라이언트의 자료 목록에 갱신 시간이 보다 최근인 자료가 있으면 상기 클라이언트가 해당 자료를 상기 자료 요청 목록에 추가하는 단계를 포함하여 구성되는 것을 특징으로 하는 클라이언트 동기화 방법.If the data is included in both the data list and the client data list of the master client, but the update time is more recent in the data list of the master client, the client comprising the step of adding the material to the data request list Client synchronization method, characterized in that. 제 9 항에 있어서,The method of claim 9, 상기 제 6 단계는,The sixth step, 상기 마스터 클라이언트는 한 번에 하나의 클라이언트만 통신 가능하도록 설정하는 단계; 및Setting the master client to communicate with only one client at a time; And 각 클라이언트가 상기 마스터 클라이언트와 접속이 될 때까지 상기 마스터 클라이언트로 주기적으로 접속하는 단계;Periodically connecting to the master client until each client is connected to the master client; 를 포함하여 구성되는 것을 특징으로 하는 클라이언트 동기화 방법.Client synchronization method comprising a. 제 10 항에 있어서,The method of claim 10, 상기 제 6 단계는,The sixth step, 상기 마스터 클라이언트로부터 자료를 모두 전송받아 동기화를 마친 클라이언트가 자신을 임시 마스터 클라이언트로 설정하는 단계;Receiving all data from the master client and completing the synchronization, setting itself as a temporary master client; 상기 임시 마스터 클라이언트가 모든 클라이언트로 자신이 임시 마스터 클라이언트로 설정되었음을 알리는 정보를 브로드캐스트 방식으로 전송하는 단계; 및Transmitting, by the temporary master client, all the clients in a broadcast manner to inform the client that the temporary master client is configured as a temporary master client; And 각 클라이언트는 상기 마스터 클라이언트 또는 상기 임시 마스터 클라이언트로 접속 요청하여 자료 요청 목록을 전송하고 자료를 전송받아 갱신하는 단계;Each client requesting access to the master client or the temporary master client, transmitting a data request list, and receiving and updating data; 를 더 포함하여 구성되는 것을 특징으로 하는 클라이언트 동기화 방법.Client synchronization method characterized in that it further comprises. 제 11 항에 있어서,The method of claim 11, 설정 시간이 경과했거나, 새로 클라이언트가 추가되면 상기 제 2 단계부터의 과정을 반복하는 제 7 단계를 더 포함하여 구성되는 것을 특징으로 하는 클라이언트 동기화 방법.And a seventh step of repeating the process from the second step when a set time has elapsed or a new client is added.
KR1020070035800A 2007-04-12 2007-04-12 Client synchronization system and method for the same KR100864987B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070035800A KR100864987B1 (en) 2007-04-12 2007-04-12 Client synchronization system and method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070035800A KR100864987B1 (en) 2007-04-12 2007-04-12 Client synchronization system and method for the same

Publications (2)

Publication Number Publication Date
KR20080092487A true KR20080092487A (en) 2008-10-16
KR100864987B1 KR100864987B1 (en) 2008-10-22

Family

ID=40153454

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070035800A KR100864987B1 (en) 2007-04-12 2007-04-12 Client synchronization system and method for the same

Country Status (1)

Country Link
KR (1) KR100864987B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140088176A (en) * 2011-10-28 2014-07-09 제타셋, 아이엔시. Split brain resistant failover in high availability clusters
KR102014714B1 (en) * 2018-07-13 2019-08-27 류창욱 Time server system using GPS receiver
KR20200067116A (en) * 2018-11-30 2020-06-11 알리바바 그룹 홀딩 리미티드 Blockchain smart contract update using decentralized decision

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020003674A (en) * 2000-06-24 2002-01-15 정승채 Data synchronization system and method thereof
KR20020059274A (en) * 2002-06-07 2002-07-12 박지규 Data Forwarding Distributed Computing System By Synchronous Client

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140088176A (en) * 2011-10-28 2014-07-09 제타셋, 아이엔시. Split brain resistant failover in high availability clusters
KR102014714B1 (en) * 2018-07-13 2019-08-27 류창욱 Time server system using GPS receiver
KR20200067116A (en) * 2018-11-30 2020-06-11 알리바바 그룹 홀딩 리미티드 Blockchain smart contract update using decentralized decision

Also Published As

Publication number Publication date
KR100864987B1 (en) 2008-10-22

Similar Documents

Publication Publication Date Title
CN107861686B (en) File storage method, server and computer readable storage medium
CN100403690C (en) Method and its system for managing user stationed equipment configuration
CN101335666B (en) Configuration transmitting method, access control equipment and access point
RU2417416C2 (en) Solution deployment in server farm
JP5534623B2 (en) Terminal remote management method and apparatus
US8615606B2 (en) Methods and apparatus to manipulate services in a distributed business intelligence computing environment
CN101300779B (en) Method and system for providing service to subscribers
CN108521656A (en) A kind of Lora communication means and system
CN111400777B (en) Network storage system, user authentication method, device and equipment
US10149262B2 (en) Data synchronization across plural terminals by management of parent and child user identification information
WO2022134797A1 (en) Data fragmentation storage method and apparatus, a computer device, and a storage medium
US20130223424A1 (en) Management methods and related electronic devices and machine-readable storage mediums using the same
KR100864987B1 (en) Client synchronization system and method for the same
CN113382065A (en) File downloading method, device, system, equipment and storage medium
JP2006508415A (en) Method and system for distributing data
CN105516343A (en) Network dynamic self-organized file-sharing system and method for implementing same
US10116741B2 (en) Peer-to-peer network image distribution hierarchy
CN114390110B (en) Multi-tenant system, method and equipment for constrained extensible resource supply
WO2016191180A1 (en) Local object instance discovery for metric collection on network elements
CN113965538B (en) Equipment state message processing method, device and storage medium
WO2008007862A1 (en) Method and system for connecting server to client or client to client in network for data transmitting service
CN116095081A (en) Event processing method and device based on block chain system, equipment and medium
CN110661655B (en) Cluster deployment method and system, electronic device and storage medium
CN105103505A (en) Method and apparatus for requesting or providing resource by terminal of server in wireless communication system
JP5895043B1 (en) Cluster system, cluster management server, and cluster management program

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
LAPS Lapse due to unpaid annual fee