KR100864987B1 - 클라이언트 동기화 시스템 및 그 방법 - Google Patents
클라이언트 동기화 시스템 및 그 방법 Download PDFInfo
- Publication number
- KR100864987B1 KR100864987B1 KR1020070035800A KR20070035800A KR100864987B1 KR 100864987 B1 KR100864987 B1 KR 100864987B1 KR 1020070035800 A KR1020070035800 A KR 1020070035800A KR 20070035800 A KR20070035800 A KR 20070035800A KR 100864987 B1 KR100864987 B1 KR 100864987B1
- Authority
- KR
- South Korea
- Prior art keywords
- client
- master
- data
- clients
- network
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 3
- 238000005266 casting Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/108—Transfer of content, software, digital rights or licenses
- G06F21/1085—Content sharing, e.g. peer-to-peer [P2P]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing 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
본 발명은 클라이언트 동기화 시스템 및 그 방법에 관한 것으로, 특히 별도의 서버 없이 클라이언트만으로 네트워크를 구축하고 각 클라이언트 간에 서로를 인식하고 자료를 주고받을 수 있는 프로토콜을 갖춤으로써 관리자의 개입 없이 네트워크에 연결된 각 클라이언트의 자료 동기화가 자동으로 이루어지는 클라이언트 동기화 시스템 및 그 방법에 관한 것이다. 본 발명에 따르면, 동등한 클라이언트만으로 네트워크를 구성할 수 있으므로 별도의 서버 도입이나 이에 따른 추가 관리가 필요하지 않고 비용 절감이 가능하며, 마스터 클라이언트를 2개 이상 유지할 수 있으므로 서버 다운에 따른 서비스 중단이 일어나지 않는 효과가 있다. 또한, 클라이언트 사이의 상호 연동을 위한 특별한 네트워크 환경 설정이 필요하지 않으므로 지역 네트워크의 대역폭이 허용하는 한 자유롭게 클라이언트를 가감할 수 있으며, 자동화된 클라이언트 상호 인식 기능을 제공하므로 클라이언트 확장에 따른 사용자의 관리 부담이 줄어드는 효과가 있다.
네트워크, 클라이언트, 동기화, 멀티미디어, 브로드캐스트
Description
도 1은 네트워크 환경에서의 종래의 서버-클라이언트 구조를 나타낸 블럭도,
도 2는 도 1에 나타낸 네트워크 환경에서의 종래의 서버-클라이언트의 동작 과정을 나타낸 순서도,
도 3은 비 네트워크 환경에서의 종래의 클라이언트 구조를 나타낸 블럭도,
도 4는 도 3에 나타낸 비 네트워크 환경에서의 종래의 클라이언트의 동작 과정을 나타낸 순서도,
도 5는 본 발명의 바람직한 실시예에 의한 클라이언트 동기화 시스템의 구조를 나타낸 블럭도,
도 6은 본 발명의 바람직한 실시예에 의한 클라이언트 동기화 방법의 전체 동작과정을 나타낸 순서도,
도 7은 도 6에서 네트워크에 연결된 각 클라이언트가 마스터 클라이언트의 자료 목록을 기준으로 자신의 내부 자료를 정리하여 자료를 일부 동기화하고, 자료 요청 목록을 작성하는 제 5 단계(S5)의 동작과정을 보다 상세히 나타낸 순서도,
도 8은 도 6에서 네트워크에 연결된 각 클라이언트가 마스터 클라이언트로부 터 자료를 다운로드 받아 자료의 동기화가 완성되는 제 6 단계(S6)의 동작과정을 보다 상세히 나타낸 순서도이다.
본 발명은 클라이언트 동기화 시스템 및 그 방법에 관한 것으로, 특히 별도의 서버 없이 클라이언트만으로 네트워크를 구축하고 각 클라이언트 간에 서로를 인식하고 자료를 주고받을 수 있는 프로토콜을 갖춤으로써 관리자의 개입 없이 네트워크에 연결된 각 클라이언트의 자료 동기화가 자동으로 이루어지는 클라이언트 동기화 시스템 및 그 방법에 관한 것이다.
디지털 자료를 저장할 수 있는 각종 클라이언트를 효율적으로 관리하기 위하여 각 클라이언트의 내부 자료를 동일하게 유지할 필요가 있으며, 이를 구현하기 위해서는 서버-클라이언트 구조의 네트워크를 구축하는 방법과 사람이 직접 각 클라이언트마다 자료를 일일이 돌아다니며 복사하는 방법이 있다.
도 1은 네트워크 환경에서의 종래의 서버-클라이언트 구조를 나타낸 블럭도이다.
도시된 바와 같이, 동기화해야 할 자료가 많은 경우에는 서버를 기준으로 네 트워크 환경을 구축함으로써 서버와 클라이언트 간의 자료 공유가 이루어진다. 각종 멀티미디어 자료는 서버에 올리게 되며, 여러 클라이언트가 서버에 실시간으로 접근하여 자료를 복사해가는 구조로 네트워크가 구성된다.
도 2는 도 1에 나타낸 네트워크 환경에서의 종래의 서버-클라이언트의 동작 과정을 나타낸 순서도이다.
도시된 바와 같이, 서버와 클라이언트 간의 동기화를 위해 먼저 클라이언트에서는 각각 네트워크 환경을 설정하고, 이러한 과정을 모든 클라이언트에 대하여 수행한다.
그런 후에, 서버 쪽에 멀티미디어 자료가 추가되면 서버에서는 클라이언트로 새로 추가된 자료를 전송하고 이러한 과정을 모든 클라이언트에 대하여 수행함으로써 서버와 클라이언트 간의 동기화가 이루어진다.
도 3은 비 네트워크 환경에서의 종래의 클라이언트 구조를 나타낸 블럭도이다.
도시된 바와 같이, 동기화해야 할 자료가 적은 경우에는 굳이 서버를 이용한 네트워크를 구성할 필요없이 각각의 클라이언트 및 각 클라이언트에 개별적으로 연결된 이동식 자료 저장소로 시스템이 구성된다.
도 4는 도 3에 나타낸 비 네트워크 환경에서의 종래의 클라이언트의 동작 과 정을 나타낸 순서도이다.
이 방법은 멀티미디어 자료를 담고 있는 이동형 매체를 사용해서 모든 클라이언트마다 사람이 직접 돌아다니면서 자료를 복사하거나 이동형 자료 매체를 삽입해서 이 자료를 그대로 쓰는 방법이다.
이를 위해, 이동식 자료 저장소를 클라이언트 개수만큼 복사하고, 각 클라이언트에 이동식 자료 저장소를 연결함으로써 모든 클라이언트는 동일한 자료를 지니게 된다.
이와 같이, 비 네트워크 방식의 클라이언트 동기화 시스템은 별도의 서버없이 클라이언트만으로 구축이 가능하지만 개별 클라이언트를 여러 대 관리하는 과정에서 많은 시간과 노력이 필요하다. 반면, 네트워크 방식의 서버-클라이언트 시스템은 일단 네트워크 구축이 끝나면 멀티미디어 자료 배포가 비 네트워크 방식보다 상대적으로 용이하다는 장점이 있다.
하지만 네트워크 방식의 경우, 이후 클라이언트를 새로 추가할 때마다 서버와 클라이언트 측 환경을 다시 재설정해줘야 하며, 클라이언트에 비해 상대적으로 고가인 서버를 도입해야 하는 어려움이 있다.
그리고, 해당 서버를 별도로 유지해야 하는 관리 인력이 필요하며, 서버를 복수 개로 중첩해서 구축하지 않을 경우에는 서버에 문제가 생기면 정상적인 클라이언트 동작을 보장할 수 없다는 문제점이 있다.
본 발명의 목적은 별도의 서버 없이 동등한 클라이언트만으로 네트워크를 구성하며, 클라이언트가 추가되어 네트워크 환경에 변화가 생기더라도 클라이언트의 환경 설정 및 자료의 일치 여부를 확인하기 위한 관리자를 따로 둘 필요없이 클라이언트 간에 서로를 인식하고 자료를 주고 받는 프로토콜을 갖춤으로써 각 클라이언트 간의 자료 동기화가 자동으로 이루어지는 클라이언트 동기화 시스템 및 그 방법을 제공하는 것이다.
본 발명의 클라이언트 동기화 시스템은, 복수 개의 클라이언트 중 특정 클라이언트를 마스터 클라이언트로 설정하는 마스터 선출 프로토콜과, 마스터 클라이언트를 기준으로 나머지 클라이언트의 자료를 동기화하는 동기화 프로토콜을 구비하며, 마스터 선출 프로토콜의 조건을 충족하면 마스터 클라이언트로 변환 설정되는 복수 개의 클라이언트; 및 복수 개의 클라이언트를 네트워크로 연결하는 허브를 포함하여 구성되며, 동기화 프로토콜은 해당 클라이언트가 마스터 클라이언트의 경우에는 내부 자료 목록을 작성하여 각 클라이언트로 전송하고 각 클라이언트로부터의 자료 요청에 따라 요청 자료를 전송하며, 마스터 클라이언트가 아닌 경우에는 마스터 클라이언트로부터 자료 목록을 전송받아 마스터 클라이언트의 자료 목록과 자신의 자료 목록을 비교하여 마스터 클라이언트의 자료 목록을 기준으로 자신의 자료를 삭제하거나 자료 요청하도록 동작한다.
본 발명의 클라이언트 동기화 방법은, 복수 개의 클라이언트로 구성된 네트워크에서 각 클라이언트 간 자료 요청 및 전송에 의한 클라이언트 동기화 방법에 있어서, 네트워크에 연결된 클라이언트 중 임의의 클라이언트가 외부 입력에 의해 자신을 마스터 클라이언트로 환경 설정하는 제 1 단계; 네트워크에 새로 추가되는 클라이언트가 자신의 정보를 브로드캐스트 방식으로 네트워크에 이미 연결되어 있는 각 클라이언트로 전송하고, 각 클라이언트는 추가된 클라이언트의 정보를 전송받아 네트워크 정보를 재구성하는 제 2 단계; 클라이언트 중 어느 하나를 투표에 의해 마스터 클라이언트로 설정하는 제 3 단계; 새로 설정된 마스터 클라이언트가 내부 자료 목록을 작성하여 각 클라이언트로 전송하는 제 4 단계; 각 클라이언트가 마스터 클라이언트의 자료 목록을 참조하여 자신의 내부 자료를 정리하고, 자료 요청 목록을 작성하는 제 5 단계; 및 각 클라이언트가 마스터 클라이언트로 자료 요청 목록을 전송하고, 마스터 클라이언트가 자료 요청 목록에 포함된 자료를 해당 클라이언트로 전송하고, 각 클라이언트가 자료를 전송받아 갱신하여 마스터 클라이언트와 동기화하는 제 6 단계를 포함하여 구성된다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다.
도 5는 본 발명의 바람직한 실시예에 의한 클라이언트 동기화 시스템의 구조를 나타낸 블럭도이다.
도시된 바와 같이, 클라이언트 동기화 시스템은 크게 네트워크 허브(10)와 복수 개의 클라이언트(20 ~ 50)로 구성된다. 그리고, 각 클라이언트는 본 발명의 동기화 과정에서 각 클라이언트의 투표에 의해 어느 것이라도 마스터 클라이언트로 설정될 수 있으며, 2개 이상의 마스터 클라이언트를 설정할 수도 있다.
네트워크 허브(10)는 각 클라이언트(20 ~ 50)로부터 보내져 오는 패킷을 다른 모든 클라이언트(20 ~ 50)로 재전송함으로써 각 클라이언트를 네트워크로 연결해준다.
클라이언트(20 ~ 50)는 서로 간에 구성상 큰 차이가 없는 클라이언트 장치로서, 멀티미디어 자료 등 여러 자료를 저장하고 있다. 또한, 이동식 자료 저장소를 통해 외부로부터 자료를 입력받을 수도 있다. 각 클라이언트는 서로 간의 자료를 동기화하기 위해 아래와 같은 프로토콜을 내장하고 있다.
■ 마스터 선출 프로토콜은 사용자의 외부 설정에 의해 임의의 클라이언트가 마스터 클라이언트로 설정되면, 임의로 설정된 마스터 클라이언트가 각 클라이언트로 마스터 투표 요청신호를 전송하고 각 클라이언트로부터 마스터 투표 정보를 전송받아 가장 많은 표를 얻은 클라이언트를 마스터 클라이언트로 설정한다.
이때, 마스터 클라이언트를 선택하는 기준으로는, 운영 시간이 오래된 클라이언트, 하드웨어 사양(CPU 주파수, 메모리 크기, 하드디스크 크기 등)이 높은 클라이언트에 대하여 가산점이 부과되며, 각 클라이언트의 하드웨어 사양이 완벽하게 동일할 경우에는 가산점이 부과되지 않는다.
또한, 사용자의 외부 설정에 의해 임의의 마스터 클라이언트가 설정되지 않았거나, 유일하게 1개 존재하는 마스터 클라이언트의 동작에 결함이 생기는 경우에 는 앞서 산출된 가산점을 토대로 가장 높은 가산점을 얻은 클라이언트가 마스터 클라이언트로 설정된다.
그리고, 2개 이상의 클라이언트가 마스터 클라이언트로 선출되면 가장 최근에 자료를 갱신한 클라이언트를 마스터 클라이언트로 설정한다.
■ 동기화 프로토콜은 마스터 클라이언트의 자료 목록과 자신의 자료 목록을 비교하여 마스터 클라이언트의 자료 목록을 기준으로 자신의 자료를 삭제하거나 자료 요청한다.
즉, 마스터 선출 프로토콜에 의해 설정된 마스터 클라이언트는 자신이 보유한 멀티미디어 파일 이름, 변경 날짜, 크기, 체크썸 등이 포함된 내부 자료 목록을 작성하여 각 클라이언트로 전송하고, 각 클라이언트를 이를 받아 마스터 클라이언트의 자료와 자신의 자료를 비교한다.
비교결과, 마스터 클라이언트에는 존재하지만 자신에게는 없는 자료에 대하여 마스터 클라이언트로 자료를 요청한다. 또한, 자신에게는 있지만 마스터 클라이언트에는 없는 자료의 경우에는 마스터 클라이언트를 기준으로 동기화가 이루어져야 하므로 자신의 자료를 삭제함으로써 동기화를 진행한다. 만약, 양쪽에 모두 자료가 존재하더라도 파일 갱신 시간이 다른 경우에는 마스터 클라이언트를 기준으로 자료를 새로 요청하여 동기화한다.
이때, 마스터 클라이언트는 한 번에 하나의 클라이언트만 통신 가능하도록 설정되며, 각 클라이언트는 자신에게 없는 자료를 요청하기 위해 마스터 클라이언트가 접속 가능한 상태가 될 때까지 주기적으로 마스터 클라이언트로 접속을 시도 한다.
■ 인식 프로토콜은 클라이언트가 네트워크에 새로 추가되면 클라이언트 명칭, IP 주소 등 자신의 정보를 각 클라이언트로 브로드캐스트 방식으로 전송한다. 그리고, 네트워크에 연결되어 있는 기존의 클라이언트는 새로 추가된 클라이언트로부터 정보를 전송받아 이를 토대로 자신의 네트워크 정보를 갱신한다.
■ 임시 마스터 설정 프로토콜은 각 클라이언트가 동기화 프로토콜에 의해 자신의 자료를 마스터 클라이언트를 기준으로 동기화를 완료하면 자신을 임시 마스터 클라이언트로 설정한다. 그리고, 자신이 임시 마스터 클라이언트로 설정되었음을 네트워크에 연결된 모든 클라이언트에 브로드캐스트 방식으로 통보한다.
결국, 임시 마스터 클라이언트와 마스터 클라이언트는 동기화가 완료되었으므로 내부 자료가 동일하다. 따라서, 아직 동기화가 완료되지 않은 클라이언트에서는 마스터 클라이언트뿐만 아니라 임시 마스터 클라이언트를 기준으로 동기화를 진행하게 된다.
도 6은 본 발명의 바람직한 실시예에 의한 클라이언트 동기화 방법의 전체 동작과정을 나타낸 순서도이다.
도시된 바와 같이, 먼저 네트워크에 연결된 클라이언트 중 임의의 클라이언트가 외부 입력에 의해 자신을 마스터 클라이언트로 환경 설정한다(S1). 즉, 사용자의 입력에 의해 여러 클라이언트 중에서 한 대를 골라 마스터 클라이언트로 설정해준다. 이 과정은 네트워크를 처음 설정할 때 한 번만 해주며, 그 다음부터는 클 라이언트가 추가 또는 삭제되더라도 네트워크 자체 내에서 마스터 클라이언트를 자동으로 선출하고 동기화가 이루어진다.
그 다음에는, 네트워크에 새로 추가되는 클라이언트가 클라이언트 명칭, IP 주소 등이 포함된 자신의 정보를 브로드캐스트 방식으로 네트워크에 이미 연결되어 있는 각 클라이언트로 전송하고, 각 클라이언트는 추가된 클라이언트의 정보를 전송받아 네트워크 정보를 재구성한다(S2). 즉, 클라이언트로 구성된 지역 네트워크에 새로운 클라이언트가 추가되면, 추가된 클라이언트는 지역 네트워크 상에 존재하는 모든 클라이언트에게 자신의 존재를 알리는 패킷을 브로드캐스트 방법으로 전파한다.
이 과정에서 특정 클라이언트를 인식시키기 위해서 지역 네트워크에 물려있는 기존의 나머지 클라이언트의 환경 설정을 사용자나 관리자의 개입에 의해 변경할 필요가 없도록 새로운 클라이언트의 브로드캐스트 직후에 지역 네트워크에 연결된 모든 클라이언트가 자동으로 새로 연결된 클라이언트의 이름, IP 주소 등의 네트워크 정보를 동적으로 재구성한다.
그 다음으로, 여러 클라이언트 중에서 어떤 클라이언트가 주도권을 잡는 대표인 마스터 클라이언트가 될지 결정해야 하며, 클라이언트 중 어느 하나를 투표에 의해 마스터 클라이언트로 설정한다(S3).
이를 위해, 앞서 제 1 단계(S1)에서 임의로 설정된 마스터 클라이언트가 각 클라이언트로 마스터 투표 요청 신호를 전송하며, 각 클라이언트는 이를 받아 어느 클라이언트를 마스터 클라이언트로 선택할 것인지를 자체적으로 판단하여 이를 담 은 마스터 투표 정보를 앞서 임의로 마스터로 설정된 클라이언트로 보낸다.
그러면, 임의의 마스터 클라이언트는 가장 많은 표를 얻은 클라이언트를 마스터 클라이언트로 최종 선택하여 새로 설정된 마스터 클라이언트에 대한 정보를 모든 클라이언트로 보낸다.
이때, 마스터 클라이언트의 조건을 갖는 클라이언트가 2개 이상인 경우에는 가장 최근에 자료가 갱신된 클라이언트를 마스터 클라이언트로 설정한다.
제 3 단계(S3)에서 마스터 투표 요청 신호를 받은 각 클라이언트가 마스터 클라이언트를 선택하는 기준으로는, 운영 시간이 오래된 클라이언트, 하드웨어 사양(CPU 주파수, 메모리 크기, 하드디스크 크기 등)이 높은 클라이언트를 들 수 있으며, 각 클라이언트는 이러한 사항에 대한 가산점을 부과하여 마스터 투표 정보를 작성하고 이를 전송한다. 그리고, 각 클라이언트의 하드웨어 사양이 완벽하게 동일할 경우에는 가산점을 부과하지 않는다.
또한, 관리자가 특정 클라이언트를 선택해서 마스터 클라이언트를 선택해주지 않았거나, 마스터 클라이언트를 하나만 지정해 놓았을 때 마스터 클라이언트의 동작에 결함이 생기는 경우에는 앞서 산출된 가산점을 토대로 가장 높은 가산점을 얻은 클라이언트가 마스터 클라이언트로 설정된다.
그 다음으로, 새로 설정된 마스터 클라이언트가 자신이 보유한 멀티미디어 파일 이름, 변경 날짜, 크기, 체크썸 등이 포함된 내부 자료 목록을 작성하여 각 클라이언트로 전송한다(S4).
그러면, 각 클라이언트에서는 마스터 클라이언트가 보내온 자료 목록을 기준 으로 동기화 작업을 시작한다. 우선, 각 클라이언트는 마스터 클라이언트의 자료 목록을 참조하여 자신의 내부 자료를 정리하고, 마스터 클라이언트로 보낼 자료 요청 목록을 작성한다(S5). 이상의 제 5 단계(S5)에 의해 클라이언트의 자료가 부분적으로 동기화되는 과정에 대해서는 이후 도 7을 참조하여 보다 상세히 설명하도록 한다.
그리고, 자료 요청 목록을 작성한 클라이언트는 마스터 클라이언트로 자료 요청 목록을 전송하고, 마스터 클라이언트가 자료 요청 목록에 포함된 자료를 해당 클라이언트로 전송한다. 그러면, 각 클라이언트가 자료를 전송받아 갱신하여 마스터 클라이언트와 동기화한다(S6). 이상의 제 6 단계(S6)에 의해 모든 클라이언트의 동기화가 완료되는 과정에 대해서는 이후 도 8을 참조하여 보다 상세히 설명하도록 한다.
이와 같이 지역 네트워크에 연결된 클라이언트 간의 동기화가 모두 완료되면, 일정 시간마다 주기적으로 이러한 클라이언트 간의 동기화 과정을 반복하도록 설정할 수 있으며, 새로운 클라이언트가 추가되는 경우에도 동기화 과정을 반복하도록 설정할 수 있다. 이를 위해 설정 시간이 경과했거나, 새로 클라이언트가 추가되면 제 2 단계(S2)부터의 과정을 반복한다(S7).
도 7은 도 6에서 네트워크에 연결된 각 클라이언트가 마스터 클라이언트의 자료 목록을 기준으로 자신의 내부 자료를 정리하여 자료를 일부 동기화하고, 자료 요청 목록을 작성하는 제 5 단계(S5)의 동작과정을 보다 상세히 나타낸 순서도이 다.
도시된 바와 같이, 각 클라이언트는 제 4 단계(S4)에서 마스터 클라이언트가 작성한 자료 목록을 전송받으며, 이를 기준으로 동기화를 진행한다. 각 클라이언트는 마스터 클라이언트의 자료 목록과 자신의 자료 목록을 파일 단위로 비교한다(S51).
그리고, 비교 결과 마스터 클라이언트의 자료 목록에는 포함되어 있지 않으나 자신의 자료 목록에는 포함되어 있는 자료가 있으면(S52), 자신의 해당 자료를 삭제한다(S53).
또한, 비교 결과 마스터 클라이언트에 새로 추가되거나 변경된 파일이 있는 경우에는(S54), 해당 파일을 자료 요청 목록에 포함시킨다(S55).
다시 설명하자면, 마스터 클라이언트의 자료 목록에는 포함되어 있으나 자신의 자료 목록에는 포함되어 있지 않은 자료가 있으면 해당 자료를 자료 요청 목록에 추가한다. 그리고, 마스터 클라이언트와 자신의 자료 목록에 모두 포함되어 있으나 마스터 클라이언트의 자료가 자신의 자료에 비해 보다 최근에 갱신되었다면, 역시 해당 자료를 자료 요청 목록에 추가한다.
그리고, 마스터 클라이언트와 자신의 양쪽 목록에서 모든 파일에 대한 비교가 끝날 때까지 위의 과정을 되풀이한다(S56).
이상의 과정을 거치면, 각 클라이언트의 자료가 마스터 클라이언트를 기준으로 일부 맞춰지며, 자신에게 없거나 변경된 자료를 마스터 클라이언트에 요청하기 위한 자료 요청 목록이 작성된다.
도 8은 도 6에서 네트워크에 연결된 각 클라이언트가 마스터 클라이언트로부터 자료를 다운로드 받아 자료의 동기화가 완성되는 제 6 단계(S6)의 동작과정을 보다 상세히 나타낸 순서도이다.
도시된 바와 같이, 각 클라이언트는 앞서 제 5 단계(S5)에서 작성된 자료 요청목록을 마스터 클라이언트로 전송함으로써 다운받을 파일을 요청한다(S61).
이때, 마스터 클라이언트는 부하를 줄이기 위해 한 번에 하나의 클라이언트만 통신 가능하도록 설정되며, 각 클라이언트는 마스터 클라이언트와 접속이 될 때까지 주기적으로 마스터 클라이언트에 대한 접속을 시도하여 마스터 클라이언트가 바쁘지 않은 상태가 될 때까지 기다린다.
이를 위해, 각 클라이언트는 접속을 시도한 마스터 클라이언트가 다른 클라이언트와 접속 중이거나 다른 작업을 수행하는 중이라면(S62), 그 밖의 다른 마스터 클라이언트가 존재하는지를 확인한다(S63). 동기화가 완전히 끝난 클라이언트는 마스터 클라이언트와 실질적으로는 동일하므로 이를 추후에 설명될 임시 마스터 클라이언트로 설정한다면 마스터 클라이언트는 2개 이상 존재할 수 있다.
만약, 다른 마스터 클라이언트가 존재한다면 해당 마스터 클라이언트로 접속하여 자료 요청목록을 보내고 만약 다른 마스터 클라이언트가 다른 작업 중이라면 또다시 다른 마스터 클라이언트를 찾는 과정을 계속 반복한다.
그렇지만, 다른 마스터 클라이언트가 존재하지 않는다면 먼저 접속을 시도했던 마스터 클라이언트에 대하여 다시 접속을 시도한다. 이때, 미리 설정된 시간만 큼 잠시 대기했다가 마스터 클라이언트에 접속함으로써 주기적으로 접속을 시도한다(S64).
위의 과정을 거쳐 마스터 클라이언트에 성공적으로 접속하여 자료 요청목록을 전달하였다면, 마스터 클라이언트는 자료 요청목록에 포함된 자료를 찾아서 자료를 요청한 해당 클라이언트로 요청된 자료를 전송한다(S65).
이상의 과정을 거쳐 클라이언트가 마스터 클라이언트로부터 자료를 모두 전송받아 마스터 클라이언트와의 동기화를 마쳤다면(S66), 해당 클라이언트는 자신을 임시 마스터 클라이언트로 승격시키고(S67), 자신이 임시 마스터 클라이언트로 설정되었음을 지역 네트워크에 연결된 모든 클라이언트에게 브로드캐스트 방식으로 알린다(S68). 그러면, 이러한 사실을 감지한 일반 클라이언트는 마스터 클라이언트뿐만 아니라 임시 마스터 클라이언트에 접속해서 필요한 자료를 동기화하기 시작한다.
모든 일반 클라이언트가 임시 마스터 클라이언트를 포함한 마스터 클라이언트와 동기화를 끝내면 지역 네트워크에 연결된 각 클라이언트는 모두 동일한 자료를 지니게 됨으로써 동기화 작업이 완료된다.
이상에서 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러 한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명에 따르면, 동등한 클라이언트만으로 네트워크를 구성할 수 있으므로 별도의 서버 도입이나 이에 따른 추가 관리가 필요하지 않고 비용 절감이 가능하며, 마스터 클라이언트를 2개 이상 유지할 수 있으므로 서버 다운에 따른 서비스 중단이 일어나지 않는 효과가 있다.
또한, 클라이언트 사이의 상호 연동을 위한 특별한 네트워크 환경 설정이 필요하지 않으므로 지역 네트워크의 대역폭이 허용하는 한 자유롭게 클라이언트를 가감할 수 있으며, 자동화된 클라이언트 상호 인식 기능을 제공하므로 클라이언트 확장에 따른 사용자의 관리 부담이 줄어드는 효과가 있다.
또한, 지역 네트워크 상에서 모든 작업이 이루어지므로 외부 네트워크에 대한 의존을 줄일 수 있으며, 동기화가 끝난 클라이언트를 임시 마스터 클라이언트로 승격시킴으로써 마스터 클라이언트의 부하를 균등하게 배분할 수 있는 효과가 있다.
Claims (12)
- 네트워크로 연결된 복수 개의 클라이언트 중 특정 클라이언트를 마스터 클라이언트로 설정하는 마스터 선출 프로토콜과, 상기 마스터 클라이언트를 기준으로 나머지 클라이언트의 자료를 동기화하는 동기화 프로토콜을 구비하며, 상기 마스터 선출 프로토콜에 따른 조건을 충족하면 마스터 클라이언트로 변환 설정되는 복수 개의 클라이언트; 및상기 복수 개의 클라이언트를 네트워크로 연결하는 허브;를 포함하여 구성되며,상기 동기화 프로토콜에서 상기 복수 개의 클라이언트의 각각의 클라이언트는, 자신이 마스터 클라이언트의 경우에는 내부 자료 목록을 작성하여 다른 클라이언트로 전송한 후 다른 클라이언트로부터의 상기 내부 자료 목록에 따른 자료 요청에 대응하여 상기 요청된 자료를 전송하며, 자신이 마스터 클라이언트가 아닌 경우에는 상기 네트워크의 마스터 클라이언트로부터 자료 목록을 전송받아 상기 전송받은 마스터 클라이언트의 자료 목록과 자신의 자료 목록을 비교하여 상기 마스터 클라이언트의 자료 목록을 기준으로 자신의 자료를 삭제하거나 미소지 자료를 요청하도록 동작하는 클라이언트 동기화 시스템.
- 제 1 항에 있어서,상기 복수 개의 클라이언트는,상기 네트워크에 신규 클라이언트가 추가되면 자신의 정보를 각 클라이언트로 브로드캐스트 전송하고 상기 신규 추가된 클라이언트로부터 정보를 전송받으면 자신의 네트워크 정보를 갱신하는 인식 프로토콜을 더 포함하여 구성되는 것을 특징으로 하는 클라이언트 동기화 시스템.
- 제 1 항 또는 제 2 항에 있어서,상기 복수 개의 클라이언트는,상기 동기화 프로토콜을 통해 자신의 자료가 상기 마스터 클라이언트의 자료를 기준으로 동기화되면 자신을 마스터 클라이언트와 동일하게 동작하는 임시 마스터 클라이언트로 설정한 후 이를 나머지 클라이언트로 브로드캐스트 전송하는 임시 마스터 설정 프로토콜을 더 포함하여 구성되는 것을 특징으로 하는 클라이언트 동기화 시스템.
- 복수 개의 클라이언트가 연결 구성된 네트워크에서 클라이언트 간 자료 요청 및 전송에 의한 클라이언트 동기화 방법에 있어서,상기 복수 개의 클라이언트 중 하나의 클라이언트가 외부 입력에 의해 자신을 마스터 클라이언트로 임의 설정하는 제 1 단계;상기 네트워크에 신규 추가되는 클라이언트가 자신의 정보를 상기 네트워크에 이미 연결되어 있는 각 클라이언트로 브로드캐스트 전송하고, 상기 미리 연결되어 있는 각 클라이언트는 상기 신규 추가된 클라이언트의 정보를 전송받아 네트워크 정보를 재구성하는 제 2 단계;상기 네트워크에 연결된 복수 개의 클라이언트 중 어느 하나의 클라이언트를 투표에 의해 마스터 클라이언트로 설정하는 제 3 단계;상기 마스터 클라이언트가 내부 자료 목록을 작성하여 나머지 클라이언트로 전송하는 제 4 단계;상기 나머지 클라이언트가 상기 전송받은 마스터 클라이언트의 자료 목록과 자신의 자료 목록을 비교하여 상기 마스터 클라이언트의 자료 목록을 기준으로 자신의 자료를 삭제하거나 미소지 자료에 대한 자료 요청 목록을 작성하여 상기 마스터 클라이언트로 전송하는 제 5 단계; 및상기 마스터 클라이언트가 상기 자료 요청 목록을 수신하면 상기 자료 요청 목록에 포함된 자료를 상기 자료 요청 목록을 전송한 해당 클라이언트로 전송하고, 상기 해당 클라이언트는 상기 전송된 자료를 수신하여 상기 마스터 클라이언트와 동기화를 달성하는 제 6 단계;를 포함하여 구성되는 클라이언트 동기화 방법.
- 제 4 항에 있어서,상기 제 3 단계는,상기 제 1 단계에서 상기 마스터 클라이언트로 임의 설정된 클라이언트가 나머지 클라이언트로 마스터 투표 요청신호를 전송하는 제 (3-1) 단계;상기 마스터 투표 요청신호를 받은 클라이언트는 운영 시간이 오래된 클라이언트와 하드웨어 사양이 높은 클라이언트에 대하여 가산점을 부과하여 마스터 투표 정보를 작성하는 제 (3-2) 단계; 및상기 네트워크의 복수 개의 클라이언트로부터 마스터 투표 정보를 제공받아 가장 많은 표를 얻은 클라이언트를 상기 네트워크의 마스터 클라이언트로 설정하는 제 (3-3) 단계;를 포함하여 구성되는 것을 특징으로 하는 클라이언트 동기화 방법.
- 제 5 항에 있어서,상기 제 3 단계는,상기 제 (3-3) 단계에서 가장 많은 표를 얻은 클라이언트가 복수 개인 경우에는 가장 최근에 자료가 갱신된 클라이언트를 상기 네트워크의 마스터 클라이언트로 설정하는 제 (3-4) 단계;를 더 포함하여 구성되는 것을 특징으로 하는 클라이언트 동기화 방법.
- 제 6 항에 있어서,상기 제 4 단계는,상기 마스터 클라이언트는 자신이 보유한 멀티미디어 파일 이름, 변경 날짜, 크기, 체크썸 중 하나 이상의 정보를 포함하여 상기 내부 자료 목록을 작성하는 제 (4-1) 단계;를 포함하여 구성되는 것을 특징으로 하는 클라이언트 동기화 방법.
- 제 4 항 내지 제 7 항 중 어느 한 항에 있어서,상기 제 5 단계는,상기 나머지 클라이언트는 자신의 내부 자료 중에서 상기 전송받은 마스터 클라이언트의 자료 목록에는 없고 자신의 자료 목록에는 있는 해당 자료를 삭제하는 제 (5-1) 단계; 및상기 나머지 클라이언트는 자신의 자료 목록에는 없고 상기 마스터 클라이언트의 자료 목록에는 있는 해당 자료의 항목을 포함시켜 상기 자료 요청 목록을 작성하는 제 (5-2) 단계; 및상기 나머지 클라이언트는 상기 마스터 클라이언트의 자료 목록과 자신의 자료 목록에 모두 존재하는 항목에 대해 갱신 시간을 비교하여 상기 마스터 클라이언트의 자료 목록이 최근인 경우에는 상기 해당 자료의 항목을 상기 자료 요청 목록에 추가하는 제 (5-3) 단계;를 포함하여 구성되는 것을 특징으로 하는 클라이언트 동기화 방법.
- 삭제
- 삭제
- 제 8 항에 있어서,상기 클라이언트 동기화 방법은,상기 마스터 클라이언트와 동기화를 달성한 클라이언트가 자신을 임시 마스터 클라이언트로 설정하는 제 (7-1) 단계와, 상기 임시 마스터 클라이언트가 상기 네트워크의 다른 클라이언트로 자신이 임시 마스터 클라이언트로 설정되었음을 알리는 정보를 브로드캐스트 전송하는 제 (7-2) 단계와, 상기 네트워크의 복수 개의 클라이언트 중 마스터 클라이언트와 임시 마스터 클라이언트의 어느 것으로도 설정되어 있지 않은 클라이언트는 상기 네트워크의 상기 마스터 클라이언트와 상기 임시 마스터 클라이언트의 어느 하나로 접속하여 상기 자료 요청 목록을 전송하고 상기 요청된 자료를 전송받아 갱신하여 동기화를 달성하는 제 (7-3) 단계를 구비하는 제 7 단계;를 더 포함하여 구성되는 클라이언트 동기화 방법.
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070035800A KR100864987B1 (ko) | 2007-04-12 | 2007-04-12 | 클라이언트 동기화 시스템 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070035800A KR100864987B1 (ko) | 2007-04-12 | 2007-04-12 | 클라이언트 동기화 시스템 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080092487A KR20080092487A (ko) | 2008-10-16 |
KR100864987B1 true KR100864987B1 (ko) | 2008-10-22 |
Family
ID=40153454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070035800A KR100864987B1 (ko) | 2007-04-12 | 2007-04-12 | 클라이언트 동기화 시스템 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100864987B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8595546B2 (en) * | 2011-10-28 | 2013-11-26 | Zettaset, Inc. | Split brain resistant failover in high availability clusters |
KR102014714B1 (ko) * | 2018-07-13 | 2019-08-27 | 류창욱 | 지피에스 수신기를 활용한 타임 서버 시스템 |
CN110168582A (zh) * | 2018-11-30 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 使用去中心化决策更新区块链智能合约 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020003674A (ko) * | 2000-06-24 | 2002-01-15 | 정승채 | 데이타 동기화 시스템 및 그 방법 |
KR20020059274A (ko) * | 2002-06-07 | 2002-07-12 | 박지규 | 동기화 클라이언트를 이용한 데이터 전송 분산처리 시스템 |
-
2007
- 2007-04-12 KR KR1020070035800A patent/KR100864987B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020003674A (ko) * | 2000-06-24 | 2002-01-15 | 정승채 | 데이타 동기화 시스템 및 그 방법 |
KR20020059274A (ko) * | 2002-06-07 | 2002-07-12 | 박지규 | 동기화 클라이언트를 이용한 데이터 전송 분산처리 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR20080092487A (ko) | 2008-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107861686B (zh) | 文件存储方法、服务端和计算机可读存储介质 | |
US7797412B2 (en) | Method and system for managing server configuration data | |
CN101502035B (zh) | 用于在网络中内容同步以及检测同步递归的方法和系统 | |
CN101335666B (zh) | 一种配置发送的方法、接入控制设备和接入点 | |
CN100403690C (zh) | 用户驻地设备配置管理方法及其系统 | |
US9467517B2 (en) | Method and apparatus for remote management of device | |
CN101300779B (zh) | 一种向订购者提供服务的方法和系统 | |
AU2009240495B2 (en) | System and method of managed content distrubution | |
US20080189294A1 (en) | Method and apparatus for sharing content | |
CN103348347B (zh) | 在家庭网络中共享数据的方法以及实现该方法的装置 | |
EP2635073A1 (en) | Access point selection based on number of successful connections | |
CN101873354A (zh) | 一种交互式电视中的数据同步方法及系统 | |
KR100864987B1 (ko) | 클라이언트 동기화 시스템 및 그 방법 | |
CN113382065A (zh) | 文件下载方法、装置、系统、设备及存储介质 | |
CN108391299B (zh) | 在Mesh网络内去除孤立节点的方法 | |
CN111404978A (zh) | 一种数据存储方法及云存储系统 | |
EP3304333A1 (en) | Local object instance discovery for metric collection on network elements | |
CN102624674A (zh) | 客户端访问服务器的智能切换系统及其方法 | |
JP5394704B2 (ja) | 情報通信システム、及びソフトウェア更新方法 | |
CN114390110B (zh) | 一种带约束的可扩展资源供给的多租户系统、方法和设备 | |
CN105516343A (zh) | 一种网络动态自组织的文件共享系统及实现方法 | |
WO2008007862A1 (en) | Method and system for connecting server to client or client to client in network for data transmitting service | |
US20050198229A1 (en) | Methods, systems, and computer program products for template-based network element management | |
CN106131129A (zh) | 全局负载均衡的数据同步时间管理的方法和装置 | |
CN102790751A (zh) | 服务器共享方法及系统 |
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 |