KR101638689B1 - System and method for providing client terminal to user customized synchronization service - Google Patents

System and method for providing client terminal to user customized synchronization service Download PDF

Info

Publication number
KR101638689B1
KR101638689B1 KR1020140112328A KR20140112328A KR101638689B1 KR 101638689 B1 KR101638689 B1 KR 101638689B1 KR 1020140112328 A KR1020140112328 A KR 1020140112328A KR 20140112328 A KR20140112328 A KR 20140112328A KR 101638689 B1 KR101638689 B1 KR 101638689B1
Authority
KR
South Korea
Prior art keywords
synchronization
data
client terminal
server
local server
Prior art date
Application number
KR1020140112328A
Other languages
Korean (ko)
Other versions
KR20160025282A (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 KR1020140112328A priority Critical patent/KR101638689B1/en
Publication of KR20160025282A publication Critical patent/KR20160025282A/en
Application granted granted Critical
Publication of KR101638689B1 publication Critical patent/KR101638689B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Abstract

본 발명은 공용 PC 환경에서도 개인에게 최적화된 동기화 솔루션을 제공할 수 있는 공용 PC 환경의 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법에 관한 것으로서, (a) 로컬 서버에서, 동기화대상 데이터가 클라이언트 단말 내에 저장된 영역에 대한 위치정보를 포함하는 동기화 정책정보를 클라이언트 에이전트로 전송하는 단계와, (b) 클라이언트 에이전트에서, 동기화 정책정보에 기반하여 동기화대상 데이터에 대응하여 로컬 서버에 저장된 최종 동기화 데이터를 요청하는 단계와, (c) 클라이언트 에이전트에서, 최종 동기화 데이터를 로컬 서버로부터 수신하고, 최종 동기화 데이터 및 동기화대상 데이터가 상이한 경우 클라이언트 단말을 동기화하는 단계를 포함한다.
본 발명에 따른 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템에 의하면, 하드디스크 보안프로그램이나 초기화 솔루션의 사용으로 개인데이터 저장이 불가능한 공용 PC 환경에서도 각 개인마다 고유한 데이터를 동기화시킴으로써, 개인에게 최적화된 PC 환경을 어디에서든 제공할 수 있고, 또한 노하드 시스템으로 변화하고 있는 대형 PC방에서도 개인화된 클라우드 서비스를 제공할 수 있다는 점에서 확장성을 가질 수도 있다.
The present invention relates to a method of providing a user-customized synchronization service for a client terminal in a common PC environment capable of providing a synchronization solution optimized for an individual in a common PC environment, the method comprising the steps of: (a) (B) requesting, at the client agent, the final synchronization data stored in the local server in response to the synchronization target data based on the synchronization policy information; and transmitting synchronization policy information including location information about the stored area to the client agent (C) receiving at the client agent, the last synchronization data from the local server, and synchronizing the client terminal if the last synchronization data and the data to be synchronized are different.
According to the method and system for providing a user-customized synchronization service for a client terminal according to the present invention, even in a common PC environment where personal data can not be stored by using a hard disk security program or an initialization solution, It can provide an optimized PC environment from anywhere, and can also be scaled in that it can provide personalized cloud services even in large PC rooms that are transforming into noh hard systems.

Description

클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템 {SYSTEM AND METHOD FOR PROVIDING CLIENT TERMINAL TO USER CUSTOMIZED SYNCHRONIZATION SERVICE}TECHNICAL FIELD [0001] The present invention relates to a method and system for providing a user-customized synchronization service for a client terminal,

본 발명은 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템에 관한 것으로서, 더 상세하게는 공용 PC 환경에서도 개인에게 최적화된 동기화 솔루션을 제공할 수 있는 공용 PC 환경의 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for providing a user-customized synchronization service for a client terminal, and more particularly, to a user-customized synchronization service for a client terminal in a common PC environment, And to a system and method for providing the same.

일반적으로, 학교, PC방, 카페, 공공기관 등의 공용 PC에는 다수의 사용자가 생성한 개인 데이터를 일괄 삭제하고, PC 환경을 초기화할 수 있는 초기화 솔루션들이 적용되어 있다. 이러한 초기화 솔루션들은 재부팅을 하고 나면 특정 시점으로 PC를 복원하며, 복원 시점 이후에 생성한 모든 데이터는 삭제된다.In general, initialization solutions that can delete personal data created by a large number of users and initialize the PC environment are applied to common PCs such as schools, PC rooms, cafes, and public institutions. These initialization solutions restore the PC to a specific point after rebooting, and all data created after the point of restoration is deleted.

그러나 PC 사용자에게 이러한 초기화 솔루션은 개인 데이터 소실이라는 불편함을 야기한다. 따라서, 이와 동일한 환경에서 사용자가 개인 데이터를 유지하기 위해서는 외부 저장소에 데이터를 저장하고, 다음 방문 시점에 외부 저장소에 저장된 개인 데이터를 직접 다운로드하여 복원해야 한다.For PC users, however, this initialization solution inconveniences the loss of personal data. Accordingly, in order to maintain the user's personal data in the same environment, it is necessary to store the data in the external storage and directly download and restore the personal data stored in the external storage at the next visit.

이러한 데이터의 백업, 복원 과정을 자동으로 수행해주는 기술을 ?엽銹?라고 하는데, 동기화 솔루션들은 사용자가 동기화 대상과 시점을 선택하면 서버에 데이터를 업로드하거나 서버로부터 데이터를 다운로드하여, 솔루션을 적용한 어떤 PC에서든 서버와 동일한 데이터를 유지할 수 있도록 도와준다. 종래기술의 동기화 솔루션의 일 예로서, 등록특허공보 제10-1045540호(공개일: 2011.07.01)는 하나의 데이터를 블록단위로 분할하여 동기화함으로써 동기화 시간 절약 및 동기화 효율성 증가를 달성하는 개념을 개시하고 있다.Synchronization solutions allow users to upload data to the server or download data from the server when the user selects a synchronization target and point of view, Helps to keep the same data on the PC as the server. As an example of a synchronization solution of the prior art, Japanese Patent Registration No. 10-1045540 (published on Jul. 1, 2011) discloses a concept of achieving synchronization time saving and synchronization efficiency improvement by dividing one data block by block and synchronizing Lt; / RTI >

그러나 종래의 동기화 솔루션은 각각의 사용자의 개인데이터를 ‘자동으로’ 동기화해주지 못하므로, 사용자가 직접 개인데이터의 저장위치를 기억하고 다운로드 해야만 동기화가 수행될 수 있다. 나아가, PC 사용자가 데이터의 저장 위치를 알기 어려운 환경에서는 기존의 동기화 솔루션이 사용자에게 편의를 제공하기 어렵다. 예를 들어, PC방에 방문하는 게이머의 경우 게임 옵션과 캐릭터 설정, 키 설정 등의 개인화 과정을 필요로 하지만, 관리자가 구축한 PC환경에서 사용자가 직접 게임 데이터의 위치를 찾아서 백업하고 복원하기는 어렵다. However, since the conventional synchronization solution does not 'automatically' synchronize the individual data of each user, synchronization can be performed only when the user directly stores and downloads the storage location of the personal data. Furthermore, in an environment where PC users are hard to know the storage location of data, it is difficult for existing synchronization solution to provide convenience to the user. For example, a gamer who visits a PC room needs a personalization process such as game options, character setting, and key setting. However, in the PC environment created by the administrator, the user can directly locate the game data, it's difficult.

본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 개인데이터의 저장이 불가능한 공용 PC 환경에서도 사용자가 마지막으로 이용한 개인데이터를 자동으로 현재 사용자가 이용하는 공용 PC에 동기화함으로써, 편리하고 개인화된 동기화 솔루션을 제공함에 목적이 있다.The present invention has been conceived to solve the above-mentioned problems, and it is an object of the present invention to provide a personalized personalized synchronization solution which can automatically synchronize a personal data last used by a user to a common PC used by a current user even in a common PC environment, In order to solve the problem.

전술한 본 발명의 목적은, 클라이언트 단말에 설치된 클라이언트 에이전트 및 로컬 서버에 의하여 수행되는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법에 있어서, (a) 상기 로컬 서버에서, 동기화대상 데이터가 상기 클라이언트 단말 내에 저장된 영역에 대한 위치정보를 포함하는 동기화 정책정보를 상기 클라이언트 에이전트로 전송하는 단계와, (b) 상기 클라이언트 에이전트에서, 상기 동기화 정책정보에 기반하여 상기 동기화대상 데이터에 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 요청하는 단계와, (c) 상기 클라이언트 에이전트에서, 상기 최종 동기화 데이터를 상기 로컬 서버로부터 수신하고, 상기 최종 동기화 데이터 및 동기화대상 데이터가 상이한 경우 상기 클라이언트 단말을 동기화하는 단계를 포함하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법을 제공함에 의해 달성될 수 있다.According to another aspect of the present invention, there is provided a method of providing a user-customized synchronization service for a client terminal performed by a client agent and a local server installed in a client terminal, the method comprising the steps of: (a) (B) transmitting, at the client agent, synchronization policy information including location information on the stored area to the client agent, (C) at the client agent, receiving the final synchronization data from the local server and synchronizing the client terminal if the last synchronization data and the data to be synchronized are different; And a method of providing a user-customized synchronization service for a client terminal.

본 발명의 바람직한 특징에 의하면, 상기 동기화 정책정보는, 동기화대상 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 정보, 및 동기화 대상에서 제외되는 파일 또는 레지스트리에 대한 정보 중 적어도 하나를 포함할 수 있다.According to a preferred aspect of the present invention, the synchronization policy information may include at least one of information about a location where a synchronization object file or a registry is stored in the client terminal, and information about a file or a registry that is excluded from a synchronization target .

본 발명의 다른 바람직한 특징에 의하면, 상기 (a) 또는 (c) 단계는, 상기 클라이언트 에이전트에서, 미리 설정된 시간 이내에 상기 로컬 서버로부터 상기 (a) 또는 (c) 단계 수행을 위한 정보를 수신하지 못하는 경우, 루트 서버로 사용자 식별정보 및 클라이언트 단말의 식별정보를 전송하고 상기 (b) 또는 (d) 단계의 수행을 요청하는 단계와, 상기 루트 서버에서, 상기 사용자 식별정보 및 클라이언트 단말의 식별정보에 대응하여 상기 루트 서버 내에 저장된 상기 동기화 정책정보 또는 최종 동기화 데이터를 검색하여 상기 클라이언트 에이전트로 전송함으로써 상기 (b) 또는 (d) 단계를 수행하는 단계를 포함하며, 상기 루트 서버는 상기 로컬 서버에 대한 상위 계층 서버로서 상기 클라이언트 에이전트와 통신연결되며, 상기 로컬 서버 및 다른 복수의 로컬 서버에 저장된 동기화 정책정보를 저장할 수 있다.According to another preferred feature of the present invention, the step (a) or the step (c) includes the step of, in the client agent, not receiving information for performing the step (a) or step (c) from the local server within a predetermined time (B) or (d); and transmitting, at the root server, the identification information of the client terminal and the identification information of the client terminal to the root server, (B) or (d) by searching for the synchronization policy information or the last synchronization data stored in the root server and transmitting the synchronization policy information or the last synchronization data to the client agent, And an upper layer server communicatively coupled with the client agent, wherein the local server and a plurality of other local You can save the synchronization policy information stored on the server.

본 발명의 또 다른 바람직한 특징에 의하면, (d) 로컬 관리자의 제 1 관리 단말에 상기 로컬 서버가 설치될 경우 상기 제 1 관리 단말에서 상기 로컬 관리자의 식별정보와 상기 제 1 관리 단말의 IP 주소를 상기 루트 서버로 전송하는 단계와, 상기 로컬 서버가 상기 로컬 관리자의 제 2 관리 단말에 재설치될 경우 상기 루트 서버에서 상기 제 1 관리 단말의 IP 주소가 상기 제 2 관리 단말의 IP 주소로 갱신되도록 상기 제 2 관리 단말에서 상기 루트 서버로 상기 로컬 관리자의 식별정보와 상기 제 2 관리 단말의 IP 주소를 전송하는 단계를 더 포함할 수 있다.According to another preferred feature of the present invention, (d) when the local server is installed in the first management terminal of the local manager, the first management terminal transmits the identification information of the local manager and the IP address of the first management terminal And transmitting the IP address of the first management terminal to the root server when the local server is re-installed in the second management terminal of the local manager, And transmitting the identification information of the local administrator and the IP address of the second management terminal from the second management terminal to the root server.

본 발명의 또 다른 바람직한 특징에 의하면, 상기 동기화 정책정보는 상기 동기화대상 데이터가 저장된 영역에 대한 위치정보로서, 상기 동기화대상 데이터가 저장된 위치를 나타내는 전체 문자열 중 일부 문자열을 포함할 수 있다.According to another preferred aspect of the present invention, the synchronization policy information may include location information of an area where the synchronization object data is stored, and may include a part of the entire character string indicating a location where the synchronization object data is stored.

본 발명의 또 다른 바람직한 특징에 의하면, (e) 상기 (a) 단계 후, 상기 클라이언트 에이전트에서, 상기 클라이언트 단말 내의 상기 일부 문자열을 포함하는 위치에 저장된 데이터들과 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 상기 로컬 서버로 요청하는 단계를 더 포함할 수 있다.According to another preferred aspect of the present invention, there is provided a method for controlling a client terminal, comprising the steps of: (e) after the step (a) And requesting the data to the local server.

본 발명의 또 다른 바람직한 특징에 의하면, 상기 (b) 단계는 상기 동기화대상 데이터와 상기 최종 동기화 데이터의 해시값, 전체 데이터정보, 데이터 크기 및 데이터 최종갱신일시 중 적어도 하나를 기준으로 상기 동기화대상 데이터와 상기 최종 동기화 데이터를 비교하여 동일성을 판단할 수 있다.According to another preferred aspect of the present invention, the step (b) may further comprise the step of, based on at least one of the hash value of the synchronization target data and the final synchronization data, the total data information, the data size, And the final synchronization data may be compared to determine the identity.

본 발명의 또 다른 바람직한 특징에 의하면, 상기 (b) 단계는 (b-1) 상기 클라이언트 에이전트에서, 상기 최종 동기화 데이터에 대한 메타데이터를 상기 로컬 서버로부터 수신하고, 상기 동기화대상 데이터에 대한 메타데이터를 생성하는 단계와, (b-2) 상기 최종 동기화 데이터와 동기화대상 데이터에 대한 메타데이터들의 동일성을 판단하여, 상기 메타데이터들이 서로 상이한 경우 상기 로컬 서버로 상기 최종 동기화 데이터의 전송을 요청하는 단계를 포함할 수 있다.According to another preferred feature of the present invention, the step (b) includes the steps of: (b-1) receiving, at the client agent, metadata about the final synchronization data from the local server; (B-2) determining the identity of the final synchronization data and the metadata of the synchronization target data, and requesting transmission of the final synchronization data to the local server when the metadata are different from each other . ≪ / RTI >

본 발명의 또 다른 바람직한 특징에 의하면, (f) 상기 (c) 단계에서 상기 클라이언트 단말의 동기화에 실패한 경우, 상기 클라이언트 단말의 상태를 동기화 직전의 상태로 복원하는 롤백을 수행하는 단계를 더 포함할 수 있다.According to another preferred aspect of the present invention, the method further includes the step of: (f) performing a rollback for restoring the state of the client terminal to a state immediately before synchronization when the synchronization of the client terminal fails in the step (c) .

본 발명의 또 다른 바람직한 특징에 의하면, 상기 (c) 단계는 상기 클라이언트 에이전트에서 상기 동기화대상 데이터를 백업한 후 상기 클라이언트 단말에 대한 동기화를 수행하고, 상기 로컬 서버에서 상기 최종 동기화 데이터를 백업한 후 상기 로컬 서버에 대한 동기화를 수행하며, 상기 (f) 단계는 상기 (c) 단계에서 동기화에 실패한 경우 상기 클라이언트 에이전트에서 상기 클라이언트 단말에 백업된 데이터를 통하여 상기 클라이언트 에이전트에 대한 롤백을 수행하거나, 상기 로컬 서버에서 상기 로컬 서버에 백업된 데이터를 통하여 상기 로컬 서버에 대한 롤백을 수행할 수 있다.According to another preferred aspect of the present invention, in the step (c), the client agent performs synchronization with respect to the client terminal after backing up the synchronization target data, backs up the final synchronization data with the local server And performing synchronization with the local server, wherein, in the step (c), when the synchronization fails in the step (c), the client agent performs a rollback for the client agent through the data backed up to the client terminal, The local server may perform a rollback to the local server through the data backed up to the local server.

본 발명의 또 다른 바람직한 특징에 의하면, 상기 동기화 정책정보는 동기화대상 파일 또는 레지스트리와 연관된 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 동기화 그룹정보를 더 포함하며, 상기 (c) 단계는 상기 동기화 그룹정보를 바탕으로 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대응하는 최종 동기화 데이터를 수신하여 상기 클라이언트 단말을 동기화하며, 상기 (f) 단계는 상기 클라이언트 단말에 저장된 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대하여 함께 롤백을 수행할 수 있다.According to another preferred aspect of the present invention, the synchronization policy information further includes synchronization group information regarding a location where a file or a registry associated with a synchronization object file or a registry is stored in the client terminal, and the step (c) (F) synchronizes the synchronization target file or the registry stored in the client terminal with the synchronization target file or the registry stored in the client terminal, And the associated file or registry together.

본 발명의 또 다른 바람직한 특징에 의하면, 상기 (c) 단계는 상기 로컬 서버로부터 최종 동기화 데이터와 최종 동기화 데이터의 제 1 해시값을 수신하고, 상기 최종 동기화 데이터에 해시 함수를 적용하여 제 2 해시값을 구하며, 상기 제 1 및 제 2 해시값이 동일한지 판단하여, 상기 최종 동기화 데이터를 검증하는 단계를 포함할 수 있다.According to another preferred aspect of the present invention, the step (c) includes receiving a first hash value of the last synchronization data and the last synchronization data from the local server, applying a hash function to the final synchronization data, Determining whether the first and second hash values are identical, and verifying the final synchronization data.

한편, 전술한 본 발명의 목적은, 클라이언트 단말에 설치된 클라이언트 에이전트 및 로컬 서버를 포함하는, 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템에 있어서, 상기 로컬 서버는 동기화대상 데이터가 상기 클라이언트 단말 내에 저장된 영역에 대한 위치정보를 포함하는 동기화 정책정보를 상기 클라이언트 에이전트로 전송하는 동기화 정책정보 전송부를 포함하고, 상기 클라이언트 에이전트는 상기 클라이언트 에이전트에서 상기 동기화 정책정보에 기반하여 상기 동기화대상 데이터에 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 요청하고, 상기 최종 동기화 데이터를 수신하여 상기 최종 동기화 데이터 및 동기화 대상 데이터의 동일성을 판단하는 데이터 동일성 판단부와, 상기 최종 동기화 데이터 및 동기화대상 데이터가 상이한 경우 상기 클라이언트 단말을 동기화하는 동기화부를 포함하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템을 제공함에 의해 달성될 수 있다.According to another aspect of the present invention, there is provided a system for providing a user-customized synchronization service for a client terminal, the system including a client agent and a local server installed in the client terminal, And a synchronization policy information transmitter for transmitting synchronization policy information including positional information on the local server to the client agent, wherein the client agent transmits, to the client agent, A data identity determiner for requesting the last synchronization data stored in the first synchronization data and receiving the last synchronization data to determine the identity of the last synchronization data and the data to be synchronized, And a synchronization unit for synchronizing the client terminal when the target data are different from each other.

여기에서, 상기 동기화 정책정보는, 동기화대상 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 정보, 및 동기화 대상에서 제외되는 파일에 대한 정보 중 적어도 하나를 포함할 수 있다.Here, the synchronization policy information may include at least one of information about a location where a synchronization object file or a registry is stored in the client terminal, and information about a file that is excluded from synchronization.

또한, 상기 로컬 서버에 대한 상위 계층 서버로서, 상기 클라이언트 에이전트와 통신연결되며, 상기 로컬 서버 및 다른 복수의 로컬 서버에 저장된 동기화 정책정보를 저장하는 루트 서버를 더 포함할 수 있다.As an upper layer server for the local server, a root server may be further included in communication with the client agent for storing synchronization policy information stored in the local server and a plurality of other local servers.

또한, 상기 클라이언트 에이전트는 미리 설정된 시간 이내에 상기 로컬 서버로부터 상기 동기화 정책정보 또는 동기화를 위한 상기 최종 동기화 데이터를 수신하지 못하는 경우, 상기 루트 서버로 사용자 식별정보 및 클라이언트 단말의 식별정보를 전송하고 상기 동기화 정책정보 또는 상기 최종 동기화 데이터를 요청하며, 상기 루트 서버는 상기 사용자 식별정보 및 클라이언트 단말의 식별정보에 대응하여 상기 루트 서버 내에 저장된 상기 동기화 정책정보 또는 최종 동기화 데이터를 검색하여 상기 클라이언트 에이전트로 전송할 수 있다.If the client agent fails to receive the synchronization policy information or the final synchronization data for synchronization from the local server within a predetermined time, the client agent transmits user identification information and identification information of the client terminal to the root server, Policy information or the last synchronization data, and the root server may search for and transmit the synchronization policy information or the last synchronization data stored in the root server to the client agent corresponding to the user identification information and the identification information of the client terminal have.

또한, 로컬 관리자의 제 1 관리 단말에 상기 로컬 서버가 설치될 경우, 상기 제 1 관리 단말에 설치된 로컬 서버가 상기 로컬 관리자의 식별정보와 상기 제 1 관리 단말의 IP 주소를 루트 서버로 전송하며, 상기 로컬 서버가 상기 로컬 관리자의 제 2 관리 단말에 재설치될 경우, 상기 루트 서버에서 상기 제 1 관리 단말의 IP 주소가 상기 제 2 관리 단말의 IP 주소로 갱신되도록 상기 제 2 관리 단말에 설치된 로컬 서버가 상기 루트 서버로 상기 로컬 관리자의 식별정보와 상기 제 2 관리 단말의 IP 주소를 전송할 수 있다.When the local server is installed in the first management terminal of the local administrator, the local server installed in the first management terminal transmits the identification information of the local manager and the IP address of the first management terminal to the root server, A local server installed in the second management terminal so that the IP address of the first management terminal is updated to the IP address of the second management terminal in the root server when the local server is reinstalled in the second management terminal of the local manager; May transmit the identification information of the local administrator and the IP address of the second management terminal to the root server.

또한, 상기 동기화 정책정보는 상기 동기화대상 데이터가 저장된 영역에 대한 위치정보로서, 상기 동기화대상 데이터가 저장된 위치를 나타내는 전체 문자열 중 일부 문자열을 포함할 수 있다.In addition, the synchronization policy information may include location information of an area where the synchronization target data is stored, and may include a part of the entire character string indicating a location where the synchronization target data is stored.

또한, 상기 클라이언트 에이전트는 상기 클라이언트 단말 내의 상기 일부 문자열을 포함하는 위치에 저장된 동기화대상 데이터들과 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 상기 로컬 서버로 요청할 수 있다.The client agent may request the local server for the last synchronization data stored in the local server in correspondence with the synchronization target data stored in the location including the partial character string in the client terminal.

또한, 상기 데이터 동일성 판단부는 상기 동기화대상 데이터와 상기 최종 동기화 데이터의 해시값, 전체 데이터정보, 데이터 크기 및 데이터 최종갱신일시 중 적어도 하나를 기준으로 상기 동기화대상 데이터와 상기 최종 동기화 데이터를 비교하여 상기 동일성을 판단할 수 있다.The data consistency determination unit may compare the synchronization target data with the final synchronization data based on at least one of the hash value of the synchronization target data and the last synchronization data, the total data information, the data size, The identity can be determined.

또한, 상기 데이터 동일성 판단부는 상기 최종 동기화 데이터에 대한 메타데이터를 상기 로컬 서버로부터 수신하고, 상기 동기화대상 데이터에 대한 메타데이터를 생성하며, 상기 최종 동기화 데이터와 동기화대상 데이터에 대한 메타데이터들의 동일성을 판단하여, 상기 메타데이터들이 서로 상이한 경우, 상기 로컬 서버로 상기 최종 동기화 데이터의 전송을 요청할 수 있다.The data consistency determination unit may receive metadata of the final synchronization data from the local server, generate metadata of the synchronization target data, and determine the identity of the metadata of the synchronization target data and the synchronization data And may request transmission of the last synchronization data to the local server when the metadata are different from each other.

또한, 상기 로컬 서버는 상기 클라이언트 단말의 동기화에 실패한 경우, 상기 클라이언트 단말의 상태를 동기화 직전의 상태로 복원하는 롤백을 수행하는 롤백 실행부를 더 포함할 수 있다.The local server may further include a rollback execution unit for performing a rollback for restoring the state of the client terminal to a state immediately before synchronization when the synchronization of the client terminal fails.

또한, 상기 클라이언트 에이전트는 상기 동기화대상 데이터를 백업한 후 상기 클라이언트 단말에 대한 동기화를 수행하고, 상기 클라이언트 단말의 동기화에 실패한 경우 상기 클라이언트 단말에 백업된 데이터를 통하여 상기 클라이언트 단말에 대한 롤백을 수행하며, 상기 로컬 서버의 동기화부는 상기 최종 동기화 데이터를 백업한 후 상기 로컬 서버에 대한 동기화를 수행하며, 상기 로컬 서버에 백업된 데이터를 통하여 상기 로컬 서버에 대한 롤백을 수행할 수 있다.In addition, the client agent performs synchronization with respect to the client terminal after backing up the synchronization target data, and performs a rollback to the client terminal through the data backed up to the client terminal when the synchronization of the client terminal fails , The synchronization unit of the local server may perform the synchronization to the local server after backing up the last synchronization data, and may perform the rollback to the local server through the data backed up to the local server.

또한, 상기 동기화 정책정보는 동기화대상 파일 또는 레지스트리와 연관된 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 동기화 그룹정보를 더 포함하며, 상기 클라이언트 에이전트는 상기 동기화 그룹정보를 바탕으로 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대응하는 최종 동기화 데이터를 수신하여 상기 클라이언트 단말을 동기화하며, 상기 클라이언트 단말에 저장된 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대하여 함께 롤백을 수행할 수 있다.The synchronization policy information may further include synchronization group information related to a location where a file or registry associated with a synchronization object file or a registry is stored in the client terminal, And synchronizes the client terminal by receiving the final synchronization data corresponding to the registry or the file or registry associated with the registry, and can perform a rollback together with the synchronization object file or registry stored in the client terminal and the associated file or registry.

또한, 상기 클라이언트 에이전트는 상기 로컬 서버로부터 최종 동기화 데이터와 최종 동기화 데이터의 제 1 해시값을 수신하고, 상기 최종 동기화 데이터에 해시 함수를 적용하여 제 2 해시값을 구하며, 상기 제 1 및 제 2 해시값이 동일한지 판단하여, 상기 최종 동기화 데이터를 검증하는 데이터 검증부를 더 포함할 수 있다.The client agent also receives a first hash value of the last synchronization data and the last synchronization data from the local server and applies a hash function to the final synchronization data to obtain a second hash value, And a data verifying unit for verifying the final synchronization data by judging whether the values are the same.

본 발명에 따른 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법 및 시스템에 의하면, 하드디스크 보안프로그램이나 초기화 솔루션의 사용으로 개인데이터 저장이 불가능한 공용 PC 환경에서도 각 개인 데이터를 동기화시킴으로써 개인에게 최적화된 PC 환경을 어디에서든 제공할 수 있다.According to the method and system for providing a user-customized synchronization service for a client terminal according to the present invention, personal data can be synchronized even in a common PC environment where personal data can not be stored by using a hard disk security program or an initialization solution, Can be provided anywhere.

또한, 본 발명에 따른 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법 및 시스템에 의하면, 업소에는 솔루션을 제공하고 어플리케이션별 동기화 위치를 업데이트 해줌으로써 B2B 수익을 창출할 수 있으며, 개인에게는 동기화 서비스를 제공함으로써 B2C 수익을 얻을 수도 있다.In addition, according to the method and system for providing a user-customized synchronization service for a client terminal according to the present invention, it is possible to create a B2B profit by providing a solution to a business and updating a synchronization position for each application, You can also earn B2C revenue.

또한, 본 발명에 따른 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법 및 시스템에 의하면, 노하드 시스템(즉, 디스크 이미지를 서버에 두고 다수의 PC에서 디스크 이미지를 공유하여 동작하는 시스템)으로 변화하고 있는 대형 PC방에서도 개인화된 클라우드 서비스를 제공할 수 있다는 점에서 확장성을 가질 수도 있다.In addition, according to the method and system for providing a user-customized synchronization service for a client terminal according to the present invention, the system is changed from a no hard system (i.e., a system in which a disk image is stored in a server and the disk image is shared by a plurality of PCs) It can also be scalable in that it can provide personalized cloud services in large PC rooms.

도 1은 본 발명의 일 실시예에 따른 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템의 구조도.
도 2는 본 발명의 일 실시예에 따른 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템의 구조에 대한 블록도.
도 3은 본 발명의 일 실시예에 따른 로컬 서버의 내부 구성에 대한 블록도.
도 4는 본 발명의 일 실시예에 따른 관리 인터페이스의 일 예를 나타내는 예시도.
도 5는 본 발명의 일 실시예에 따른 클라이언트 에이전트의 내부 구성에 대한 블록도.
도 6은 본 발명의 일 실시예에 따른 루트 서버의 내부 구성에 대한 블록도.
도 7은 본 발명의 일 실시예에 따른 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법에 대한 순서도.
도 8은 본 발명의 일 실시예에 따른 동기화 단계 및 롤백 단계를 설명하기 위한 순서도.
1 is a structural diagram of a system for providing a user-customized synchronization service for a client terminal according to an embodiment of the present invention;
2 is a block diagram of a system for providing a user-customized synchronization service for a client terminal according to an embodiment of the present invention.
3 is a block diagram of an internal configuration of a local server according to an embodiment of the present invention;
4 is an exemplary view illustrating an example of a management interface according to an embodiment of the present invention;
5 is a block diagram of an internal configuration of a client agent according to an embodiment of the present invention;
6 is a block diagram of an internal configuration of a root server according to an embodiment of the present invention;
FIG. 7 is a flowchart illustrating a method for providing a user-customized synchronization service for a client terminal according to an embodiment of the present invention; FIG.
FIG. 8 is a flowchart for explaining a synchronization step and a rollback step according to an embodiment of the present invention; FIG.

이하에서는 본 발명의 실시예에 관하여 첨부도면을 참조하여 상세하게 설명하기로 한다. 다만, 이하에서 설명되는 실시예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 발명을 쉽게 실시할 수 있을 정도로 상세하게 설명하기 위한 것에 불과하며, 이로 인해 본 발명의 보호범위가 한정되는 것을 의미하지는 않는다. 그리고 본 발명의 여러 실시예를 설명함에 있어서, 동일한 기술적 특징을 갖는 구성요소에 대하여는 동일한 도면부호를 사용하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. It is to be understood, however, that the embodiments described below are only for explanation of the embodiments of the present invention so that those skilled in the art can easily carry out the invention, It does not mean anything. In describing various embodiments of the present invention, the same reference numerals are used for components having the same technical characteristics.

도 1 및 도 2를 참조하여, 본 발명의 일 실시예에 따른 사용자 맞춤형 동기화 서비스 제공 시스템에 대하여 설명한다.1 and 2, a system for providing a user-customized synchronization service according to an embodiment of the present invention will be described.

도 1을 참조하면, 본 발명의 일 실시예에 따른 사용자 맞춤형 동기화 서비스 제공 시스템은 루트 서버(100), 로컬 서버(200), 클라이언트 단말(300)을 포함한다. 루트 서버 내지 클라이언트 단말(100 ∼ 300)은 유선 또는 무선 네트워크를 통하여 상호 간에 통신 연결된다. 이 경우, 루트 서버(100)와 로컬 서버(200) 간은 광역 네트워크로 연결되고, 로컬 서버(200)와 클라이언트 단말(300) 간은 로컬 네트워크로 연결될 수 있다. 루트 서버(100)는 상위 계층 서버로서, 로컬 관리자에 대한 라이선스, 동기화 정책 및 지원 정책 등을 관리하는 서버이다.Referring to FIG. 1, a system for providing a user-customized synchronization service according to an embodiment of the present invention includes a root server 100, a local server 200, and a client terminal 300. The root servers or client terminals 100 to 300 are connected to each other through a wired or wireless network. In this case, the root server 100 and the local server 200 may be connected by a wide area network, and the local server 200 and the client terminal 300 may be connected by a local network. The root server 100 is an upper layer server, which manages licenses, a synchronization policy, a support policy, and the like for a local administrator.

도 2를 참조하면, 루트 서버(100)는 루트 정책서버(110) 및 루트 데이터서버(120)를 포함한다. 구체적으로, 루트 정책서버(110)는 로컬 관리자의 계정의 등록, 제거, 활성화 및 로컬 서버(200)의 IP의 관리를 수행한다. 또한, 루트 정책서버(110)는 동기화 정책정보를 생성 및 갱신하여 로컬 정책서버(210)로 배포한다. 반대로, 로컬 정책서버(210)에 동기화 정책정보가 생성되거나 갱신될 때, 루트 정책서버(110)는 로컬 정책서버(210)로부터 생성되거나 갱신된 동기화 정책정보를 수신하여 저장한다. 루트 데이터서버(120) 역시 로컬 데이터서버(220)나 클라이언트 단말(300)에 각 사용자들의 동기화대상 데이터가 저장되거나 갱신되는 경우, 로컬 데이터서버(220)나 클라이언트 단말(300)로부터 상기 동기화대상 데이터를 수신하여 저장할 수도 있다. 더욱 현실적으로는, 루트 데이터서버(120)의 과부하를 방지하기 위해 다른 로컬 데이터서버가 동기화대상 데이터를 수신하여 저장할 수도 있다. 또한, 루트 정책서버(110) 및 루트 데이터서버(120)는 로컬 정책서버(210) 및 로컬 데이터서버(220)의 서비스 기능 오류시 로컬 서버(200)를 대신하여 클라이언트 단말(300)에 서비스를 제공하기도 한다.Referring to FIG. 2, the root server 100 includes a root policy server 110 and a root data server 120. Specifically, the root policy server 110 performs registration, removal, activation of the account of the local administrator, and management of the IP of the local server 200. In addition, the root policy server 110 generates and updates synchronization policy information and distributes it to the local policy server 210. Conversely, when synchronization policy information is generated or updated in the local policy server 210, the root policy server 110 receives and stores synchronization policy information generated or updated from the local policy server 210. [ The root data server 120 may also receive the synchronization object data from the local data server 220 or the client terminal 300 when the synchronization target data of each user is stored or updated in the local data server 220 or the client terminal 300. [ May be received and stored. More realistically, other local data servers may receive and store the data to be synchronized to prevent overloading of the root data server 120. [ The root policy server 110 and the root data server 120 may provide service to the client terminal 300 on behalf of the local server 200 in the event of a service function failure of the local policy server 210 and the local data server 220 .

로컬 서버(200)는 루트 서버(100)에 대한 하위 계층 서버로서, 하나의 공용 PC 공간(예를 들어, PC 방, 학교 컴퓨터실 등)에 배치되는 서버이다. 도 1을 참조하면, 로컬 서버(200)는 제 1 로컬 서버 내지 제 3 로컬 서버(200a, 200b, 200c)로 구성될 수 있으며, 이들은 서로 다른 공용 PC 공간에 설치되는 컴퓨터이다. 다만, 이는 일 예에 불과한 것으로서 다른 개수의 로컬 서버(200)가 배치될 수도 있다.The local server 200 is a lower layer server for the root server 100 and is a server disposed in one common PC space (for example, a PC room, a school computer room, and the like). Referring to FIG. 1, the local server 200 may include a first local server 200a, a second local server 200b, and a third local server 200c, which are installed in different public PC spaces. However, this is merely an example, and a different number of local servers 200 may be arranged.

도 2를 참조하면, 로컬 서버(200)는 로컬 정책서버(210)와 로컬 데이터서버(220)를 포함하여 구성된다. 로컬 정책서버(210)는 사용자가 동기화 솔루션을 이용하기 위한 인증절차를 수행하며, 동기화 정책정보를 저장한다. 또한, 로컬 정책서버(210)는 공용 PC 환경을 관리하는 로컬 관리자에게 관리 인터페이스를 제공하여, 로컬 관리자가 각 PC에서의 동기화를 관리하게 할 수 있다. 로컬 데이터서버(220)는 각 사용자에 대한 동기화대상 데이터를 저장한다. 또한, 로컬 데이터서버(220)는 동기화 실패 시에 롤백을 수행하기도 한다.Referring to FIG. 2, the local server 200 includes a local policy server 210 and a local data server 220. The local policy server 210 performs an authentication procedure for the user to use the synchronization solution, and stores synchronization policy information. In addition, the local policy server 210 may provide a management interface to a local administrator who manages a common PC environment, so that the local administrator can manage synchronization in each PC. The local data server 220 stores synchronization target data for each user. In addition, the local data server 220 also performs a rollback when synchronization fails.

클라이언트 단말(300)은 각 로컬 서버(200)에 의하여 관리되는 단말로서, 도 1을 참조하면, 각 로컬 서버(200a, 200b, 200c)마다 복수 개의 클라이언트 단말(300a∼300b, 300c∼300d, 300e∼300f)이 네트워크(N) 연결될 수 있다.1, the client terminal 300 is a terminal managed by each local server 200 and includes a plurality of client terminals 300a to 300b, 300c to 300d, and 300e for each local server 200a, 200b, To 300f may be connected to the network N. [

여기서 클라이언트 단말(300)은 초기화 솔루션과 본 발명의 일 실시예에 따른 동기화 솔루션이 설치된 상태일 수 있다. 상기 동기화 솔루션 설치에 따라 클라이언트 에이전트(310)가 클라이언트 단말(300) 내에 탑재된다.Here, the client terminal 300 may be installed with an initialization solution and a synchronization solution according to an embodiment of the present invention. The client agent 310 is installed in the client terminal 300 according to the installation of the synchronization solution.

구체적으로, 사용자가 클라이언트 단말(300)을 이용하면서 개인 데이터를 저장하고 재부팅할 경우, 초기화 솔루션에 의하여 개인 데이터는 모두 삭제되어, 클라이언트 단말(300)은 특정 시점의 상태로 복원된다. 그러나, 클라이언트 에이전트(310)가 로컬 서버(200) 또는 루트 서버(100)로부터 사용자가 다른 PC 또는 동일한 PC에서 마지막으로 저장한 개인 데이터를 다운로드하여, 데이터 저장소(320)에 저장함으로써, 클라이언트 단말(300)을 동기화한다. 그에 따라, 사용자는 스스로 개인 데이터가 저장된 영역을 찾지 않고도, 편리하게 종전에 저장하였던 데이터를 이용할 수 있다. 한편, 초기화 솔루션이 없는 공용 PC 환경이라도, 여러 사용자의 데이터가 한 PC에 혼재하게 되는 복잡성은 존재하나, 본 발명의 일 실시예가 적용될 수 있음은 물론이다.Specifically, when the user stores personal data while using the client terminal 300 and reboots the personal data, all of the personal data is deleted by the initialization solution, and the client terminal 300 is restored to a state at a specific point in time. However, by downloading the personal data that the client agent 310 last stored on the other PC or the same PC from the local server 200 or the root server 100 and storing it in the data storage 320, 300). Accordingly, the user can conveniently use the previously stored data without searching the area where the personal data is stored. On the other hand, even in the case of a common PC environment without an initialization solution, there is a complexity that data of various users are mixed in one PC, but it goes without saying that an embodiment of the present invention can be applied.

클라이언트 단말(300)은 데스크탑과 같은 단말이 될 수 있으나, 이는 일 예에 불과한 것으로서 경우에 따라, 휴대폰, 스마트폰, 태블릿 PC, 노트북, 랩탑 등과 같은 단말이 될 수 있다. The client terminal 300 may be a terminal such as a desktop. However, the client terminal 300 may be a terminal such as a mobile phone, a smart phone, a tablet PC, a notebook, a laptop, etc., depending on the case.

한편, 루트 정책서버(110)와 루트 데이터서버(120)는 별개의 단말로 구성될 수도 있으나, 하나의 단말로 구성될 수도 있다. 또한, 로컬 정책서버(210) 및 로컬 데이터서버(220) 역시 별개의 단말로 구성될 수도 있으나, 하나의 단말로 구성될 수도 있다. Meanwhile, the root policy server 110 and the root data server 120 may be configured as separate terminals, but may also be configured as one terminal. Also, the local policy server 210 and the local data server 220 may be configured as separate terminals, but may also be configured as one terminal.

이어서, 도 3을 참고하여 본 발명의 일 실시예에 따른 로컬 서버(200)의 구성에 대하여 구체적으로 설명한다. Next, the configuration of the local server 200 according to an embodiment of the present invention will be described in detail with reference to FIG.

로컬 서버(200)는 사용자 인증부(211), 동기화 정책정보 저장부(212), 동기화 정책정보 전송부(213), 관리 인터페이스 제공부(214)를 포함한다. The local server 200 includes a user authentication unit 211, a synchronization policy information storage unit 212, a synchronization policy information transmission unit 213, and a management interface providing unit 214.

사용자 인증부(211)는 사용자 식별정보와 클라이언트 단말의 식별정보를 클라이언트 에이전트(310)로부터 수신하며, 사용자 식별정보를 통하여 사용자 인증절차를 수행한다. 사용자 식별정보는 아이디, 비밀번호, 주소, 연락처, 이름 등과 같은 사용자를 식별할 수 있는 개인정보이다. 사용자 인증부(211)는 수신된 사용자 식별정보가 로컬 정책서버(210) 내에 저장되어 있는 경우 서비스 가입자인 것으로 판단하여 인증을 완료한다. 한편, 사용자 인증부(211)는 수신된 사용자 식별정보가 로컬 정책서버(210) 내에 저장되어 있지 않는 경우, 루트 정책서버(110)에 질의하여 서비스 가입자인지 여부를 판단한다. 루트 정책서버(110)에 사용자 식별정보가 저장되어 있는 경우 인증절차가 완료되지만 저장되어 있지 않은 경우 루트 정책서버(110)는 서비스 미가입자로 판단하여, 회원가입 요청 정보를 클라이언트 에이전트(310)로 전송한다. The user authentication unit 211 receives the user identification information and the client terminal identification information from the client agent 310 and performs the user authentication procedure through the user identification information. The user identification information is personal information that can identify a user such as an ID, a password, an address, a contact name, and the like. When the received user identification information is stored in the local policy server 210, the user authentication unit 211 determines that the received user identification information is a service subscriber and completes the authentication. On the other hand, if the received user identification information is not stored in the local policy server 210, the user authentication unit 211 queries the root policy server 110 to determine whether it is a service subscriber. If the user identification information is stored in the root policy server 110, the root policy server 110 determines that the authentication process is completed but the root policy server 110 has not received the service, and transmits the membership request information to the client agent 310 do.

동기화 정책정보 저장부(212)는 각 사용자와 클라이언트 단말에 대한 동기화 정책정보를 저장한다. 이를 위해 동기화 정책정보 저장부(212)는 사용자 식별정보와 클라이언트 단말의 식별정보를 동기화 정책정보와 대응하여 저장한다(또는, 동기화 정책정보 저장부(212)는 동기화 정책정보에 사용자 식별정보, 클라이언트 단말의 식별정보 등을 포함하도록 저장하여 각 동기화 정책정보 간 식별이 가능하도록 한다). The synchronization policy information storage unit 212 stores synchronization policy information for each user and client terminal. To this end, the synchronization policy information storage unit 212 stores the user identification information and the identification information of the client terminal in association with the synchronization policy information (or the synchronization policy information storage unit 212 stores user identification information, The identification information of the terminal, and so on, so that it is possible to identify each synchronization policy information).

동기화 정책정보는 클라이언트 정책, 사용자 정책, 서버 정책을 포함할 수 있다. 클라이언트 정책은 클라이언트 단말의 식별정보에 대응하는 정책으로서, 클라이언트 공통 동기화 정책정보와 개별 동기화 정책정보로 구성될 수 있다. 공통 동기화 정책정보는 공용 PC 모두에 적용되는 정책으로서, 모든 PC 사용자에게 적용될 파일이나 레지스트리가 저장된 위치에 관한 정보이며, 개별 동기화 정책정보는 특정 PC에서만 적용될 파일이나 레지스트리가 저장된 위치에 관한 정보이다. 사용자 정책은 사용자 별로 로컬 데이터서버(220)에 할당된 저장소 용량에 관한 것으로서, 사용자 식별정보와 로컬 데이터서버(220)의 저장소의 식별정보를 포함한다. The synchronization policy information may include client policy, user policy, and server policy. The client policy is a policy corresponding to the identification information of the client terminal, and may be composed of the client common synchronization policy information and the individual synchronization policy information. The common synchronization policy information is a policy applied to all public PCs, information about a location where a file or registry to be applied to all PC users is stored, and individual synchronization policy information is information about a location where a file or a registry to be applied only to a specific PC is stored. The user policy relates to the storage capacity allocated to the local data server 220 for each user, and includes user identification information and identification information of the repository of the local data server 220. [

동기화 정책정보 중 클라이언트 정책은 ① 동기화대상 파일 또는 레지스트리의 이름, ② 동기화대상 파일이나 레지스트리가 클라이언트 단말(300)의 데이터 저장소(320)에 저장된 위치에 관한 정보, ③ 동기화 대상에서 제외되는 파일 또는 레지스트리에 대한 정보 및 ④ 동기화대상 파일/레지스트리와 상기 동기화대상 파일의 연관 파일/연관 레지스트리가 상기 클라이언트 단말(300)에 저장된 위치에 관한 동기화 그룹정보 중 적어도 하나를 포함할 수 있다. The client policy in the synchronization policy information includes: (1) a name of a synchronization object file or a registry, (2) information about a location where a synchronization object file or a registry is stored in the data storage 320 of the client terminal 300, (3) And (4) Synchronization group information regarding a location where the synchronization file / registry and the association file / association registry of the synchronization object file are stored in the client terminal 300. [

예를 들어, 동기화대상 파일의 이름이 a.exe라고 할 경우, ①은 “a.exe”이며, ②는 “a. exe”가 저장된 위치인 “c:\games\starcraft\a.exe” 이다. 또한, 파일의 동기화 뿐만 아니라 레지스트리의 동기화에 관한 예로, 레지스트리 위치 HKEY_LOCAL_MACHINE\Software 아래의 모든 데이터는 %systemroot%\system32\config\software 파일에 저장된다. 그러나 HKEY_LOCAL_MACHINE\Software\a (이하, “a 데이터”)는 동기화가 필요하지만 HEKY_LOCAL_MACHINE\Software\b (이하, “b 데이터”)는 동기화해선 안될 수 있다. 이때, %systemroot%\system32\config\software 파일 자체를 동기화 대상으로 지정하면 a 데이터 및 b 데이터를 비롯한 HKEY_LOCAL_MACHINE\Software 이하의 모든 레지스트리가 동기화 대상이 된다. 따라서, 본 발명의 일 실시예는 파일 뿐만 아니라 레지스트리의 위치 정보를 동기화 대상으로 지정함으로써, 실제 데이터 액세스 단위로 동기화 대상을 지정할 수 있다. For example, if the name of the file to be synchronized is a.exe, ① is "a.exe", ② is "a. c: \ games \ starcraft \ a.exe "which is the location where the" exe "is saved. Also, as an example of registry synchronization as well as file synchronization, all data under the registry location HKEY_LOCAL_MACHINE \ Software is stored in the% systemroot% \ system32 \ config \ software file. However, HKEY_LOCAL_MACHINE \ Software \ a ("a data") requires synchronization, but HEKY_LOCAL_MACHINE \ Software \ b ("b data") may not be synchronized. If you specify the% systemroot% \ system32 \ config \ software file as the synchronization target, all the registry keys under HKEY_LOCAL_MACHINE \ Software including a data and b data are synchronized. Therefore, according to one embodiment of the present invention, by designating not only a file but also a registry location information as a synchronization target, a synchronization target can be designated as an actual data access unit.

그리고, “a.exe”가 실행될 때, “b.dat”가 로딩되는 것과 같이 파일간 의존성이 있는 경우, 동기화대상 파일인 “a.exe” 와 함께 “b.dat”도 연관 파일로서 동기화 그룹정보에 속하도록 지정될 수 있다. “b.dat”만 최근 데이터로 갱신되는 경우, 구버전인 “a.exe” 가 갱신된 “b.dat”을 인식하지 못하는 경우가 발생될 수 있기 때문이다. “b.dat”의 저장 위치가 “c:\users\appdata\starcraft\b.dat”인 경우, ④는 “c:\games\starcraft\a.exe”와 “c:\users\appdata\starcraft\b.dat”를 포함하는 동기화 그룹정보가 된다. If there is a dependency between files, such as when "a.exe" is executed and "b.dat" is loaded, "b.dat" as well as "a.exe" Can be specified to belong to information. If only "b.dat" is updated with the latest data, the old version "a.exe" may not recognize the updated "b.dat". If the location of "b.dat" is "c: \ users \ appdata \ starcraft \ b.dat", then ④ is "c: \ games \ starcraft \ a.exe" and "c: \ users \ appdata \ starcraft \ b.dat ".

한편, 추가 실시예로서, ②는 동기화대상 파일 또는 레지스트리의 저장위치의 전체 문자열이 아닌 일부 문자열만으로 정의될 수 있다. 예컨대, ②는 “a”, “starcraft\a.exe” 와 같이 정의될 수 있다. 이와 같이, 동기화대상 파일의 저장위치를 일부 문자열로 정의하는 경우, 동기화 대상을 기술하는 횟수와 자료구조의 사이즈를 보다 적게 관리할 수 있게 되는 장점이 있다. 예컨대, ②가 “starcraft”와 같이 포괄적인 용어로 정의되는 경우, 동기화 그룹정보로 묶일 수 있는 동기화대상 파일이 저장된 위치정보와 연관 파일이 저장된 위치정보가 서로 다른 폴더에 떨어져 있더라도 한번에 상기 위치정보들을 포괄할 수 있게 되는 장점이 있다. 나아가, 동일한 파일을 c:\starcraft, c:\games\starcraft와 같이 각각 다른 위치에 저장하고 있는 클라이언트 단말들에 대해서도, 일부 문자열만으로 동기화 대상을 지정할 경우, 모든 공용 PC에서 starcraft가 동기화 대상으로 지정되도록 하는 공통 동기화 정책정보를 생성할 수 있다.Meanwhile, as a further embodiment, (2) may be defined by only a part of the string, not the entire string of the storage location of the synchronization object file or the registry. For example, ② can be defined as "a" and "starcraft \ a.exe". Thus, when the storage location of the synchronization object file is defined as a partial character string, the number of times of describing the synchronization object and the size of the data structure can be managed less. For example, if the location information of the synchronization object file and the location information of the associated file are stored in different folders, if the location information of the synchronization target file stored in the synchronization group information is stored in a different folder such as 'starcraft' There is an advantage to be able to cover. Furthermore, even for client terminals storing the same file in different locations such as c: \ starcraft, c: \ games \ starcraft, if all the common PCs specify a synchronization target with only a part of the string, starcraft is designated as a synchronization target The common synchronization policy information can be generated.

동기화 정책정보 전송부(213)는 수신한 사용자 식별정보 및 클라이언트 단말의 식별정보를 이용하여 저장된 동기화 정책정보를 검색한다. 그리고 동기화 정책정보 전송부(213)는 검색된 동기화 정책정보와 로컬 데이터서버(220)의 IP 주소를 클라이언트 에이전트(310)로 전송한다.The synchronization policy information transmitting unit 213 searches the stored synchronization policy information using the received user identification information and the identification information of the client terminal. The synchronization policy information transmitting unit 213 transmits the retrieved synchronization policy information and the IP address of the local data server 220 to the client agent 310.

관리 인터페이스 제공부(214)는 로컬 관리자가 클라이언트 단말(300)들을 관리하기 위한 관리 인터페이스를 로컬 정책서버(210)와 연결된 관리 단말을 통하여 제공한다. 예를 들어, 도 4와 같은 관리 인터페이스가 제공될 수 있다. 도 4의 관리 인터페이스는 정책할당 컬럼에서 공통 또는 클라이언트 ID를 선택할 수 있도록 하며, 동일한 동기화 그룹정보에 속하는 동기화대상 파일과 연관 파일 또는 동기화대상 레지스트리와 연관 레지스트리들을 나타낼 수 있다. 또한, 시스템 관리자(루트 서버(100)의 관리자)에 의하여 동기화 정책정보를 배포하여 로컬 서버(200)가 배포된 동기화 정책정보를 파일 형태로 로딩 및 저장할 경우, 이에 대한 알림을 제공할 수도 있다. 다만, 이는 일 예에 불과할 뿐이며 다양한 형태의 관리 인터페이스가 제공될 수 있다.The management interface providing unit 214 provides a management interface through which a local administrator manages the client terminals 300 through a management terminal connected to the local policy server 210. For example, a management interface as shown in FIG. 4 may be provided. The management interface of FIG. 4 allows selection of a common or client ID in the policy assignment column, and may indicate a synchronization target file and an associated file or a synchronization target registry and associated registries belonging to the same synchronization group information. In addition, when the synchronization policy information is distributed by the system administrator (administrator of the root server 100) to load and store the synchronization policy information distributed by the local server 200 in the form of a file, the notification may be provided. However, this is merely an example, and various types of management interfaces can be provided.

한편, 클라이언트 에이전트(310)는 동기화 정책정보를 참조하여, 동기화대상 데이터를 조회하고, 제 1 데이터에 대응하여 로컬 데이터서버(220)에 저장된 최종 동기화 데이터를 요청한다. Meanwhile, the client agent 310 refers to the synchronization policy information, inquires the synchronization target data, and requests the last synchronization data stored in the local data server 220 in response to the first data.

이하에서, “동기화대상 데이터”란 클라이언트 단말에 저장된 데이터이며, “최종 동기화 데이터”란 로컬 데이터서버 또는 루트 데이터서버에 저장된 데이터로서 사용자가 이전까지 이용한 데이터 중 가장 마지막으로 이용한 데이터를 의미한다.Hereinafter, " synchronization target data " is data stored in the client terminal, and " last synchronization data " means data stored in the local data server or the root data server and used last by the user.

그리고 로컬 데이터서버(220)는 클라이언트 에이전트(310)의 요청에 응답하기 위해 데이터 저장부(221), 서버 롤백부(222)를 포함한다.The local data server 220 includes a data storage unit 221 and a server rollback unit 222 for responding to the request of the client agent 310.

데이터 저장부(221)는 사용자가 마지막으로 이용하였던 최종 동기화 데이터를 저장한다. 최종 동기화 데이터는 파일이나 레지스트리에 관한 것으로서, 파일이나 레지스트리 그 자체이거나, 파일이나 레지스트리에 대한 메타데이터(해시값, 데이터 크기, 데이터 최종갱신일시 등)을 포함할 수 있다. 데이터 저장부(221)는 클라이언트 에이전트(310)로부터 최종 동기화 데이터에 대한 요청이 있을 경우, 해당 클라이언트 단말(300)에 대응하는 저장된 최종 동기화 데이터를 클라이언트 에이전트(310)로 전송한다. 이때, 추가 실시예로서, 타인이 전송되는 최종 동기화 데이터에 접근하지 못하도록 사용자 식별정보(아이디 및 비밀번호)를 클라이언트 단말(300)로부터 수신하여 인증과정을 거친 후에 데이터 저장부(221)에서 클라이언트 단말(300)로 최종 동기화 데이터가 전송될 수 있다. The data storage unit 221 stores last synchronization data that the user last used. The final synchronization data relates to a file or registry, which may include a file or registry itself, or metadata about the file or registry (hash value, data size, date of data update, etc.). When there is a request for the final synchronization data from the client agent 310, the data storage unit 221 transmits the stored final synchronization data corresponding to the corresponding client terminal 300 to the client agent 310. In this case, as a further embodiment, after the user identification information (ID and password) is received from the client terminal 300 so as to prevent access to the last synchronization data transmitted by the other party, the data is stored in the data storage 221 from the client terminal 300 300) may be transmitted.

한편, 클라이언트 에이전트(310) 측에서 최종 동기화 데이터보다 클라이언트 단말(300)에 저장된 동기화대상 데이터가 최신의 것이라 판단된 경우, 데이터 저장부(221)는 동기화대상 데이터를 전송받아 최종 동기화 데이터를 갱신할 수도 있다.On the other hand, if the client agent 310 determines that the synchronization target data stored in the client terminal 300 is newer than the final synchronization data, the data storage unit 221 receives the synchronization target data and updates the final synchronization data It is possible.

서버 롤백부(222)는 로컬 데이터서버(220)의 동기화 실패시 동기화 직전의 데이터로 롤백을 수행한다. 구체적으로, 로컬 데이터서버(220)가 최종 동기화 데이터를 동기화대상 데이터로 갱신하여 동기화를 수행할 때, 서버 롤백부(222)는 기존 데이터인 최종 동기화 데이터를 로컬 데이터서버(220) 내에 백업한다. 이후, 동기화 실패시, 서버 롤백부(222)는 백업된 데이터를 그대로 불러옴으로써, 롤백을 완료한다. 이어서, 도 5를 참조하여, 클라이언트 에이전트(310)의 내부 구성에 대하여 구체적으로 설명한다.The server rollback unit 222 performs a rollback with data immediately before synchronization when the local data server 220 fails to synchronize. Specifically, when the local data server 220 updates the last synchronization data with the synchronization target data to perform synchronization, the server rollback unit 222 backs up the last synchronization data, which is existing data, in the local data server 220. Thereafter, when the synchronization fails, the server rollback unit 222 loads the backed up data as it is, thereby completing the rollback. Next, the internal configuration of the client agent 310 will be described in detail with reference to FIG.

클라이언트 에이전트(310)는 식별정보 전송부(311), 데이터 동일성 판단부(312), 동기화부(313), 클라이언트 롤백부(314)를 포함한다. The client agent 310 includes an identification information transmission unit 311, a data consistency determination unit 312, a synchronization unit 313, and a client rollback unit 314.

식별정보 전송부(311)는 사용자 식별정보와 클라이언트 단말의 식별정보를 로컬 정책서버(210)로 전송한다. 예를 들어, 클라이언트 에이전트(310)는 로그인을 위한 페이지를 사용자에게 제공하여 사용자로부터 아이디, 비밀번호 등을 입력받는다. 클라이언트 에이전트(310)는 로컬 정책서버(210)로 아이디, 비밀번호 및 클라이언트 단말의 IP 주소 또는 그 밖의 클라이언트 식별정보 등을 전송하여 사용자 인증을 요청한다. The identification information transmitting unit 311 transmits the user identification information and the identification information of the client terminal to the local policy server 210. For example, the client agent 310 provides a page for login to a user and receives an ID and a password from the user. The client agent 310 transmits an ID, a password, an IP address of the client terminal, or other client identification information to the local policy server 210 to request user authentication.

데이터 동일성 판단부(312)는 동기화대상 데이터와 최종 동기화 데이터 간의 동일성을 판단한다. 구체적으로, 데이터 동일성 판단부(312)는 로컬 정책서버(210)에서 인증이 완료된 후 동기화 정책정보와 로컬 데이터서버(220)의 IP 주소를 수신한다. 데이터 동일성 판단부(312)는 동기화 정책정보에 포함된 동기화대상 데이터의 위치정보를 바탕으로 동기화대상 데이터를 검색하고, 로컬 데이터서버(220)로 동기화대상 데이터에 대응하여 로컬 데이터서버(220)에 최종 업로드된 최종 동기화 데이터를 요청한다. The data consistency determination unit 312 determines the identity between the synchronization target data and the final synchronization data. Specifically, the data consistency determining unit 312 receives the synchronization policy information and the IP address of the local data server 220 after authentication is completed in the local policy server 210. The data consistency determination unit 312 searches for synchronization target data based on the location information of the synchronization target data included in the synchronization policy information and transmits the synchronization target data to the local data server 220 in response to the synchronization target data And requests the last uploaded final synchronization data.

이어서, 데이터 동일성 판단부(312)는 최종 동기화 데이터를 로컬 데이터서버(220)로부터 수신한다. 이때, 최종 동기화 데이터는 데이터 그 자체(즉, 전체데이터)이거나 메타데이터(해시값, 데이터의 크기 및/또는 데이터의 최종갱신일시 등을 포함함)이다. Then, the data identity determiner 312 receives the final synchronization data from the local data server 220. [ The final synchronization data is either the data itself (i.e., the entire data) or the metadata (including the hash value, the size of the data and / or the date of the last update of the data, etc.).

데이터 동일성 판단부(312)는 연산을 통하여 동기화대상 데이터의 해시값을 구하고, 동기화대상 데이터와 최종 동기화 데이터의 해시값을 비교할 수 있다. 그러나, 이는 해시값을 구하기 위한 추가 연산을 요하게 되므로, 동기화대상 데이터와 최종 동기화 데이터의 데이터 크기 또는 갱신일시를 비교하여 동일성을 쉽고 빠르게 판단할 수도 있다. 한편, 레지스트리는 데이터 크기가 작으므로, 데이터 그 자체를 비교하여 동일성을 판단할 수도 있다.The data consistency determining unit 312 may obtain the hash value of the synchronization target data through operation and compare the hash value of the synchronization target data with the synchronization target data. However, this requires an additional operation to obtain the hash value, so that the identity of the synchronization target data can be easily and quickly determined by comparing the data size or the update date of the last synchronization data. On the other hand, since the data size of the registry is small, it is possible to judge the identity by comparing the data itself.

데이터 동일성 판단부(312)는 동일성 판단 및 동기화대상 데이터와 최종 동기화 데이터 중 어느 데이터가 최신의 데이터인지 여부까지 판단할 수 있다.The data consistency determining unit 312 can determine whether the data of the synchronization determination and the synchronization target data and the final synchronization data is the latest data.

바람직하게는, 데이터 동일성 판단부(312)는 최종 동기화 데이터에 대한 메타데이터를 로컬 데이터서버(220)로부터 수신하고, 동기화대상 데이터에 대한 메타데이터를 연산을 통해 구하여 상기 양 데이터의 메타데이터들을 비교함으로써 최종 동기화 데이터와 동기화대상 데이터의 동일성을 판단한다. 이때, 동기화대상 데이터의 메타데이터가 상이하고, 최종 동기화 데이터가 더 최신인 것으로 판단된 경우, 최신 동기화 데이터를 로컬 데이터서버(220)로 요청하여 다운로드한다. 즉, 데이터 동일성 판단시 데이터 그 자체를 로컬 서버(200)로부터 수신할 경우, 네트워크 트래픽이 비정상적으로 증가하여 클라이언트의 정상적인 작동을 보장할 수 없게 되므로, 데이터 동일성 판단시에는 데이터 용량이 작은 메타데이터로만 동일성을 판단하고, 메타데이터가 상이할 경우에만 실제 데이터를 로컬 서버(200)로부터 다운로드함으로써 보다 효율적인 데이터 송수신이 이루어질 수 있도록 한다. 또한, 이러한 메타데이터는 1회만 다운로드하여 동일성 판단이 필요할 때마다 재사용할 수도 있다는 점에서 장점이 있다.Preferably, the data consistency determination unit 312 receives the metadata of the last synchronization data from the local data server 220, obtains the metadata of the synchronization target data through calculation, and compares the metadata of the both data with each other Thereby determining the identity of the final synchronization data and the data to be synchronized. At this time, if the metadata of the synchronization target data is different and it is determined that the latest synchronization data is more recent, the latest synchronization data is requested to the local data server 220 and downloaded. That is, when the data itself is received from the local server 200 when determining the data consistency, the network traffic abnormally increases and the normal operation of the client can not be guaranteed. Therefore, It is determined that the data is identical and the actual data is downloaded from the local server 200 only when the metadata is different, so that more efficient data transmission / reception can be performed. In addition, this metadata is advantageous in that it can be downloaded once and reused every time it is necessary to determine the identity.

동기화부(313)는 판단 대상이 된 두 개의 데이터 자체가 상이하거나 상기 두 개의 데이터에 대한 메타데이터가 상이하고, 최종 동기화 데이터(사용자가 마지막으로 공용 PC에 저장한 데이터)가 최신인 것으로 판단된 경우, 최종 동기화 데이터를 동기화대상 데이터 위에 오버라이트(overwrite)하여 클라이언트 단말(300)을 동기화한다. 한편, 판단 대상이 된 두 개의 데이터 자체가 상이하거나 상기 두 개의 데이터에 대한 메타데이터가 상이하고, 동기화대상 데이터가 최신인 경우, 동기화부(313)는 동기화대상 데이터를 로컬 데이터서버(220)로 전송한다. 전송된 동기화대상 데이터는 최종 동기화 데이터로서 오버라이트되어 로컬 데이터서버(220)가 업데이트될 수 있다. 한편, 판단 대상이 된 두 개의 데이터가 동일한 경우, 동기화가 이미 완료된 것으로 판단하여 동기화가 수행되지 않는다. The synchronization unit 313 determines that the two pieces of data to be determined are different from each other or the metadata of the two pieces of data are different and that the final synchronization data (data that the user last stored in the common PC) , The client terminal 300 is synchronized by overwriting the last synchronization data on the synchronization target data. On the other hand, if the two data to be judged are different or the metadata of the two data are different and the synchronization target data is the latest, the synchronization unit 313 transmits the synchronization target data to the local data server 220 send. The transmitted synchronization target data may be overwritten as the last synchronization data so that the local data server 220 may be updated. On the other hand, if the two pieces of data to be judged are the same, it is determined that the synchronization has already been completed and the synchronization is not performed.

한편, 데이터 동일성 판단부(312)는 로컬 데이터서버(220) 내에 위치할 수도 있다. 이 경우, 클라이언트 에이전트(310)에서 동기화대상 데이터를 로컬 데이터서버(220)로 전송한 후, 서버(220)에서 동일성 판단이 이루어진 후, 클라이언트 에이전트(310)가 동일성 결과와 최종 동기화 데이터를 수신받아 동기화를 진행할 수 있다. 그러나, 이러한 경우, 모든 클라이언트에 대해 서버가 동일성 판단에 필요한 연산을 수행하고 동일성 결과를 전송해야 하므로 서버의 연산량과 네트워크 트래픽이 증가하게 된다. 따라서, 데이터 동일성 판단부(312)가 클라이언트 단말 내에 위치하게 되는 경우, 효율성이 향상된다.On the other hand, the data identity determiner 312 may be located in the local data server 220. In this case, after the client agent 310 transmits the synchronization target data to the local data server 220, after the server 220 determines the identity, the client agent 310 receives the identity result and the final synchronization data Synchronization can proceed. However, in such a case, the server needs to perform the operations necessary to determine the identity of all clients and send the result of the identity, thereby increasing the amount of computation and network traffic of the server. Therefore, when the data consistency determining unit 312 is located in the client terminal, the efficiency is improved.

한편, 최종 동기화 데이터에 사용자가 최근 사용한 아이콘 또는 자주 사용한 아이콘에 관한 정보가 포함되어 있는 경우, 클라이언트 에이전트(310)는 클라이언트 단말(300)의 모니터를 통하여 최근 사용한 아이콘 또는 자주 사용한 아이콘 정보를 제공할 수도 있다. On the other hand, if the latest synchronization data includes information on the icon recently used or frequently used by the user, the client agent 310 provides information on icons that have been recently used or frequently used through the monitor of the client terminal 300 It is possible.

클라이언트 롤백부(314)는 클라이언트 단말(300)의 동기화가 실패할 경우, 동기화 직전으로 복원한다. 구체적으로, 클라이언트 롤백부(314)는 클라이언트 단말(300) 내에 동기화대상 데이터를 백업하여 저장한다. 이어서, 최종 동기화 데이터로 갱신하는 동기화 과정이 실패된 경우, 백업 저장된 동기화대상 데이터를 로딩함으로써 빠르게 롤백을 수행할 수 있다. 종래기술의 경우 롤백 수행시 기존의 데이터를 네트워크 통신을 통해 서버로부터 클라이언트 단말(300)로 가져오기 때문에 네트워크 트래픽이 발생하게 되지만, 본 발명의 일 실시예의 경우, 기존의 데이터를 미리 클라이언트 단말(300)에 백업하기 때문에 트래픽 문제를 발생시키지 않는다. When the client terminal 300 fails to synchronize, the client rollback unit 314 restores the client terminal 300 immediately before synchronization. Specifically, the client rollback unit 314 backs up the synchronization target data in the client terminal 300 and stores the data. Then, if the synchronization process of updating with the last synchronization data fails, the rollback can be performed quickly by loading the synchronization target data stored in the backup. In the conventional technology, network traffic is generated because the existing data is imported from the server to the client terminal 300 through the network communication when performing the rollback. However, in the case of the embodiment of the present invention, ), It does not cause traffic problems.

또한, 클라이언트 롤백부(314)와 로컬 데이터서버(220)의 서버 롤백부(222)에서는 동기화대상 파일과 연관 파일(또는 동기화대상 레지스트리와 연관 레지스트리)을 그룹으로 묶어서 함께 롤백을 수행한다. 이로 인하여, 상기 파일이나 레지스트리들 중 어느 하나의 파일이나 레지스트리만 갱신된 채 롤백되지 않는 경우를 방지하여, 동기화대상 파일이나 레지스트리에 대한 프로그램이 정상적으로 실행될 수 있도록 한다. In addition, the client rollback unit 314 and the server rollback unit 222 of the local data server 220 group together the synchronization object file and the association file (or the synchronization target registry and the associated registry), and perform the rollback together. Accordingly, it is prevented that the file or the registry of any one of the files or the registry is updated while being updated, so that the program for the synchronization object file or the registry can be normally executed.

한편, 추가 실시예로서, 클라이언트 에이전트(310)와 로컬 데이터서버(220)는 각각 데이터 검증부를 더 포함할 수도 있다. 클라이언트 에이전트(310)측의 데이터 검증부는 동일성을 판단한 후, 로컬 데이터서버(220)로부터 최종 동기화 데이터와 그 메타데이터를 수신하였을 때, 최종 동기화 데이터에 해시 함수를 적용하여 제 2 해시값을 구한다. 이어서, 수신된 메타데이터에 포함된 최종 동기화 데이터의 제 1 해시값과 제 2 해시값이 동일한지 판단하여, 상기 최종 동기화 데이터를 검증한다. 만약 동일하지 않은 경우 데이터 전송시에 변조가 발생한 것으로 판단한다. 아울러, 로컬 데이터서버(220) 측의 데이터 검증부는 클라이언트 에이전트(310)로부터 동기화대상 데이터가 최신인 것으로 판단되어, 서버 업데이트를 위한 동기화대상 데이터와 그 메타데이터를 수신한 경우, 업데이트를 수행하기 전에 동기화대상 데이터의 연산된 해시값과 메타데이터에 포함된 해시값을 비교하여 검증을 수행한다. Meanwhile, as a further embodiment, the client agent 310 and the local data server 220 may each further include a data verification unit. Upon receiving the final synchronization data and its metadata from the local data server 220 after determining the identity, the data verification unit of the client agent 310 calculates a second hash value by applying a hash function to the final synchronization data. Next, the final synchronization data is verified by determining whether the first hash value and the second hash value of the last synchronization data included in the received metadata are the same. If it is not the same, it is judged that the modulation occurs at the time of data transmission. In addition, if the data to be synchronized is determined to be the latest data from the client agent 310 and the synchronization target data for the server update and its metadata are received, the data verification unit of the local data server 220 side The verification is performed by comparing the computed hash value of the synchronization target data with the hash value included in the meta data.

이하, 도 6을 참고하여, 루트 정책서버(110)의 내부 구성에 대하여 구체적으로 설명한다. Hereinafter, the internal configuration of the root policy server 110 will be described in detail with reference to FIG.

루트 정책서버(110)는 로컬 서버 관리부(111)를 포함한다. The root policy server 110 includes a local server management unit 111.

로컬 서버 관리부(111)는 로컬 관리자 계정의 등록, 제거, 활성화 여부 및 로컬 서버(200)의 IP의 관리를 수행한다. 예를 들어, 로컬 서버 관리부(111)는 로컬 관리자가 로그온하여 루트 서버(100)로 접속할 경우, 로컬 서버(200)로 동기화 정책정보 및/또는 동기화대상 데이터 등을 다운로드시킨다. 다만, 로컬 관리자의 로그온에 대하여 로컬 서버 관리부(111)의 응답이 없으며, 로컬 서버(200)의 다운로드 날짜가 7일 이내인 경우, 로컬 서버(200)는 이미 저장되어 있던 동기화 정책정보 및/또는 동기화대상 데이터 등을 로딩할 수 있다. The local server management unit 111 performs registration, removal and activation of the local administrator account and management of the IP of the local server 200. For example, when the local administrator logs on and connects to the root server 100, the local server management unit 111 downloads synchronization policy information and / or synchronization target data to the local server 200. However, if there is no response from the local server management unit 111 to the log-on of the local administrator and the download date of the local server 200 is within 7 days, the local server 200 stores the synchronization policy information and / Data to be synchronized, and the like can be loaded.

또한, 로컬 서버 관리부(111)는 로컬 정책서버(210)가 특정 IP 주소의 제 1 관리 단말에 설치될 경우(로컬 정책서버 프로그램이 제 1 관리 단말에 설치될 경우), 상기 로컬 정책서버(210)로부터 로컬 관리자의 식별정보(예를 들어, 아이디, 연락처 등)와 상기 제 1 관리 단말의 특정 IP 주소를 수신하여 저장한다. 추후에, 로컬 정책서버(210)가 다른 IP 주소를 갖는 제 2 관리 단말에 설치될 경우, 클라이언트 에이전트(310)와 로컬 데이터서버(220)도 재설치해야하는 번거로움이 발생될 수 있다. 따라서, 이 경우, 제 2 관리 단말에 설치된 로컬 정책서버(210)가 로컬 서버 관리부(111)로 로컬 관리자의 식별정보와 제 2 관리 단말의 IP 주소를 전송하는 경우, 로컬 서버 관리부(111)는 로컬 관리자의 식별정보에 대응하여 저장된 제 1 관리 단말의 IP 주소를 제 2 관리 단말의 IP 주소로 갱신하여 저장한다. 이후, 클라이언트 에이전트(310)나 로컬 데이터서버(220) 등에서 루트 서버(100)에 로컬 정책서버(210)의 IP 주소를 쿼리할 때 루트 서버는 제 2 관리 단말의 IP 주소를 제공함으로써, 클라이언트 단말이나 다른 기존의 서비스 구성요소들이 새로 설치된 로컬 정책서버(즉, 제 2 관리 단말)에 액세스할 수 있도록 한다. When the local policy server 210 is installed in the first management terminal having a specific IP address (when the local policy server program is installed in the first management terminal), the local server management unit 111 manages the local policy server 210 (For example, an ID, a contact, etc.) of the local administrator and a specific IP address of the first management terminal. If the local policy server 210 is installed in a second management terminal having a different IP address, the client agent 310 and the local data server 220 may also have to be reinstalled. Therefore, in this case, when the local policy server 210 installed in the second management terminal transmits the identification information of the local administrator and the IP address of the second management terminal to the local server management unit 111, the local server management unit 111 Updates the IP address of the first management terminal stored in association with the identification information of the local administrator with the IP address of the second management terminal, and stores the updated IP address. When the root server 100 queries the IP address of the local policy server 210 in the client agent 310 or the local data server 220 or the like, the root server provides the IP address of the second management terminal, Or other existing service components to access the newly installed local policy server (i.e., the second management terminal).

한편, 도 6에는 도시되지 않았으나, 도 3을 통하여 설명된 로컬 서버(200)의 내부 구성은 루트 서버(100)에도 모두 포함될 수도 있다. 로컬 서버(200)에 오류가 발생하는 등 본래 기능을 수행하지 못할 때, 루트 서버(100)가 로컬 서버(200)의 기능을 대신 수행할 수도 있기 때문이다. Although not shown in FIG. 6, the internal configuration of the local server 200 described with reference to FIG. 3 may be included in the root server 100 as well. This is because the root server 100 may perform the function of the local server 200 when an original function such as an error occurs in the local server 200.

예를 들어, 클라이언트 에이전트(310)의 식별정보 전송부(311)는 미리 설정된 시간 이내에 로컬 정책서버(210)로부터 동기화 정책정보를 수신하지 못할 경우, 로컬 정책서버(210)의 오류라고 판단하여 루트 정책서버(110)로 사용자 식별정보 및 클라이언트 식별정보를 전송하고 동기화 정책정보를 요청할 수 있다. 루트 정책서버(110)는 요청에 대하여, 사용자 식별정보 및 클라이언트 식별정보에 대응하는 동기화 정책정보를 검색하고 클라이언트 에이전트(310)로 전송할 수 있다. 또한, 클라이언트 에이전트(310)의 데이터 동일성 판단부(312)는 미리 설정된 시간 이내에 로컬 데이터서버(220)로부터 동기화 데이터를 수신하지 못할 경우 루트 데이터서버(120)로 동기화대상 데이터 전송을 요청할 수도 있다. For example, if the identification information transmitting unit 311 of the client agent 310 can not receive the synchronization policy information from the local policy server 210 within a preset time, the identification information transmitting unit 311 determines that the local policy server 210 has an error, The policy server 110 may transmit user identification information and client identification information and request synchronization policy information. The root policy server 110 may retrieve and send the synchronization policy information corresponding to the user identification information and the client identification information to the client agent 310 with respect to the request. The data identity determiner 312 of the client agent 310 may request the root data server 120 to transmit data to be synchronized if it can not receive the synchronization data from the local data server 220 within a predetermined time.

이하, 도 7 및 도 8을 참조하여, 상술한 본 발명의 시스템을 통하여 수행되는 클라이언트 단말(300)에 대한 사용자 맞춤형 동기화 서비스 제공방법에 대하여 구체적으로 설명한다.Hereinafter, a method of providing a user-customized synchronization service to the client terminal 300 performed through the system of the present invention will be described in detail with reference to FIGS. 7 and 8. FIG.

설명에 들어가기에 앞서 전제로서, 본 발명의 일 실시예는 사용자가 생성한 데이터가 유지되지 않는 모든 환경에 유용하게 이용될 수 있다. 즉, 클라이언트 단말(300)은 공용 PC 환경에 설치된 단말 중 하나로서, 개인설정이 초기화되어 있는 상태이다. 클라이언트 단말(300)에 설치된 초기화 솔루션에 의해, 사용자가 마지막으로 저장한 데이터는 클라이언트 단말(300)의 재부팅시 모두 삭제될 수 있다. As a premise, prior to entering the description, one embodiment of the present invention may be useful in any environment where user generated data is not maintained. That is, the client terminal 300 is one of the terminals installed in the common PC environment, and the personal settings are initialized. The data finally stored by the user can be deleted at the time of rebooting the client terminal 300 by the initialization solution installed in the client terminal 300. [

먼저, 도 7을 참조하면, 사용자가 클라이언트 단말(300)을 재부팅할 경우, 클라이언트 에이전트(310)가 자동으로 실행되며 사용자 식별정보를 입력받는 페이지를 제공한다. 클라이언트 에이전트(310)는 사용자 식별정보와 클라이언트 단말의 식별정보를 로컬 서버(200)로 전송한다(S101).Referring to FIG. 7, when the user reboots the client terminal 300, the client agent 310 is automatically executed and provides a page for receiving user identification information. The client agent 310 transmits the user identification information and the identification information of the client terminal to the local server 200 (S101).

로컬 서버(200)는 사용자 식별정보를 통하여 서비스 가입자인지 확인하는 인증절차를 수행한다(S102).The local server 200 performs an authentication procedure for confirming whether it is a service subscriber through the user identification information (S102).

이어서, 로컬 서버(200)는 사용자 식별정보 및 클라이언트 단말의 식별정보에 대응하는 동기화 정책정보를 검색하고 (S103), 클라이언트 에이전트(310)로 검색된 동기화 정책정보를 전송한다(S104). Next, the local server 200 searches for synchronization policy information corresponding to the user identification information and the identification information of the client terminal (S103), and transmits the synchronization policy information retrieved to the client agent 310 (S104).

한편, 클라이언트 에이전트(310)는 일정시간 내에 로컬 서버(200)로부터 동기화 정책정보를 수신하지 못하는 경우, 로컬 서버(200)의 오류라고 판단하여 루트 서버(100)로 사용자 식별정보 및 클라이언트 단말의 식별정보를 전송하면서 동기화 정책정보를 요청한다(S105). If the client agent 310 fails to receive the synchronization policy information from the local server 200 within a predetermined period of time, the client agent 310 determines that the error is an error of the local server 200 and informs the root server 100 of the user identification information and the identification And requests synchronization policy information while transmitting information (S105).

이에 따라 클라이언트 에이전트(310)는 루트 서버(100)로부터 동기화 정책정보를 수신할 수 있다(S106).Accordingly, the client agent 310 can receive synchronization policy information from the root server 100 (S106).

클라이언트 에이전트(310)는 동기화 정책정보를 참조하여, 클라이언트 단말(300)의 데이터 저장소(320) 내에 동기화대상 데이터를 검색하고(S107), 로컬 서버(200)로 동기화대상 데이터에 대응하는 최종 동기화 데이터를 요청한다(S108). The client agent 310 refers to the synchronization policy information and searches for data to be synchronized in the data store 320 of the client terminal 300 in step S107 and transmits the final synchronization data corresponding to the synchronization target data to the local server 200 (S108).

이어서, 클라이언트 에이전트(310)는 최종 동기화 데이터를 수신한다(S109). 바람직하게는, 클라이언트 에이전트(310)는 최종 동기화 데이터의 메타데이터를 로컬 서버(200)로부터 수신한다. 여기서 메타데이터는 해시값, 데이터의 크기 및 데이터의 최신갱신일자 중 적어도 하나를 포함한다.Then, the client agent 310 receives the final synchronization data (S109). Preferably, the client agent 310 receives metadata of the last synchronization data from the local server 200. Wherein the metadata includes at least one of a hash value, a size of the data, and a latest update date of the data.

클라이언트 에이전트(310)는 최종 동기화 데이터와 클라이언트 단말 내에 저장된 동기화대상 데이터를 비교한다(S110). 구체적으로, 클라이언트 에이전트(310)는 최종 동기화 데이터와 동기화대상 데이터의 메타데이터들을 비교하여 최종 동기화 데이터와 동기화대상 데이터 간의 동일성을 판단한다. 비교결과, 상기 두 개의 데이터에 대한 메타데이터들이 상이하여 상기 두 개의 데이터 자체가 상이한 것으로 판단되고, 로컬 서버(200)가 보유한 최종 동기화 데이터가 가장 최신의 것으로 확인된 경우, 클라이언트 에이전트(310)는 최종 동기화 데이터를 로컬 서버(200)에 요청하여 다운로드받고, 다운로드받은 최종 동기화 데이터를 동기화대상 데이터 위에 오버라이트하여 클라이언트 단말을 동기화한다(S110).The client agent 310 compares the last synchronization data with the synchronization target data stored in the client terminal (S110). Specifically, the client agent 310 compares metadata of the synchronization target data with the final synchronization data to determine the identity between the final synchronization data and the synchronization target data. As a result of the comparison, when the metadata of the two data are different from each other, it is determined that the two data themselves are different, and when the last synchronization data held by the local server 200 is found to be the latest, The final synchronization data is requested to the local server 200 and downloaded, and the downloaded final synchronization data is overwritten on the synchronization target data to synchronize the client terminal (S110).

한편, 클라이언트 에이전트(310)가 일정시간 내에 최종 동기화 데이터를 로컬 서버(200)로부터 수신하지 못하는 경우, 클라이언트 에이전트(310)는 루트 서버(100) 또는 루트 서버(100)가 지정한 다른 데이터서버로 요청하고, 최종 동기화 데이터를 수신할 수도 있다.If the client agent 310 fails to receive the final synchronization data from the local server 200 within a predetermined time period, the client agent 310 requests the root server 100 or another data server designated by the root server 100 And may receive the final synchronization data.

이어서, 도 8을 참조하여, 롤백과정에 대하여 구체적으로 설명한다. 먼저, 도 1의 S109단계와 대응하는 S209 단계부터 시작하는 것으로 설명하도록 한다.Next, the rollback process will be described in detail with reference to FIG. First, it will be described that the process starts from step S209 corresponding to step S109 of FIG.

클라이언트 에이전트(310)는 최종 동기화 데이터와 동기화대상 데이터를 상기 두 개의 데이터의 메타데이터들을 통하여 비교한다(S209). The client agent 310 compares the last synchronization data and the synchronization target data through the meta data of the two data (S209).

양자가 동일한 경우, 동기화가 이루어지지는 않으나, 동일하지 않은 경우, 어느 데이터가 더 최신의 것인지 판단한다(S210). 예를 들어, 데이터의 최근갱신일자를 기준으로 판단될 수 있다.If they are not identical, synchronization is not performed. If they are not identical, it is determined which data is newer (S210). For example, it may be determined based on the latest update date of the data.

동기화대상 데이터가 더 최신인 경우, 클라이언트 에이전트(310)는 동기화대상 데이터를 로컬 서버(200)로 전송하며(S211), 로컬 서버(200)는 최종 동기화 데이터를 로컬 서버(200) 내의 공간에 백업하여 저장한다(S212).The client agent 310 transmits the synchronization target data to the local server 200 in step S211 and the local server 200 backs up the last synchronization data in the space in the local server 200. [ (S212).

이어서, 로컬 서버(200)는 동기화대상 데이터로 갱신하는 동기화를 수행한다(S213). Then, the local server 200 performs synchronization to update the data to be synchronized (S213).

다만, 동기화가 실패될 경우, 백업 저장된 데이터를 불러옴으로써 롤백을 수행한다(S214).However, if the synchronization fails, the backup stored data is loaded to perform the rollback (S214).

한편, 최종 동기화 데이터가 더 최신의 것인 경우, 클라이언트 에이전트(310) 는 동기화대상 데이터를 백업하여 저장한다(S215).On the other hand, if the last synchronization data is newer, the client agent 310 backs up and stores the synchronization target data (S215).

이어서, 클라이언트 에이전트(310)는 최종 동기화 데이터를 로컬 서버(200)로부터 다운로드받고 동기화대상 데이터 위에 덮어씀으로써 동기화를 수행한다(S216). Then, the client agent 310 performs synchronization by downloading the last synchronization data from the local server 200 and overwriting the data on the synchronization target data (S216).

다만, 동기화가 실패될 경우, 백업 저장된 데이터를 불러옴으로써 롤백을 수행한다(S217). 특히, 클라이언트 단말(300)에서의 롤백은 이미 백업된 자료를 이용하는 것이므로, 다시 로컬 서버(200)로 기존의 데이터를 요청할 필요가 없어 네트워크 트래픽을 발생시키지 않는다는 점에서 장점이 있다. However, if the synchronization fails, the rollback is performed by retrieving the backup stored data (S217). Particularly, since the rollback in the client terminal 300 uses already backed up data, it is advantageous in that it does not need to request the existing data to the local server 200 again, thereby generating network traffic.

이상으로 설명한 바와 같이, 본 발명의 일 실시예에 따른 사용자 맞춤형 동기화 서비스 제공방법 및 시스템은, 하드디스크 보안프로그램이나 초기화 솔루션의 사용으로 개인데이터 저장이 불가능한 공용 PC 환경에서도 각 개인마다 고유한 데이터를 동기화시킴으로써, 개인에게 최적화된 PC 환경을 어디에서든 제공할 수 있다. 이러한 비즈니스 모델은 업소에는 솔루션을 제공하고 어플리케이션별 동기화 위치를 업데이트 해줌으로써 B2B 수익을 창출할 수 있으며, 개인에게는 동기화 서비스를 제공함으로써 B2C 수익을 얻을 수도 있다. 또한, 본 발명의 일 실시예는 노하드 시스템(즉, 디스크 이미지를 서버에 두고 다수의 PC에서 디스크 이미지를 공유하여 동작하는 시스템)으로 변화하고 있는 대형 PC방에서도 개인화된 클라우드 서비스를 제공할 수 있다는 점에서 확장성을 가질 수도 있다.As described above, the method and system for providing a user-customized synchronization service according to an embodiment of the present invention can provide data unique to each individual even in a common PC environment in which personal data can not be stored by using a hard disk security program or an initialization solution By synchronizing, a personalized PC environment can be provided anywhere. This business model can generate B2B revenue by providing solutions to businesses and by updating application-specific synchronization locations, and by providing synchronization services to individuals, they can earn B2C revenues. In addition, one embodiment of the present invention can provide a personalized cloud service even in a large PC room changing to a no-hard system (i.e., a system in which a disk image is stored in a server and operated by sharing a disk image on a plurality of PCs) It can also be scalable in that it is.

도 7 및 도 8을 통해 설명된 본 발명의 일실시예의 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. The method of an embodiment of the present invention described with reference to FIGS. 7 and 8 may also be implemented in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium can include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

또한 본 발명의 일 실시예에 따른 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다. The method according to an embodiment of the present invention may also be implemented as a computer program (or a computer program product) including instructions executable by a computer. A computer program includes programmable machine instructions that are processed by a processor and can be implemented in a high-level programming language, an object-oriented programming language, an assembly language, or a machine language . The computer program may also be recorded on a computer readable recording medium of a type (e.g., memory, hard disk, magnetic / optical medium or solid-state drive).

따라서 본 발명의 일 실시예에 따른 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.Thus, a method according to an embodiment of the present invention may be implemented by a computer program as described above being executed by a computing device. The computing device may include a processor, a memory, a storage device, a high-speed interface connected to the memory and a high-speed expansion port, and a low-speed interface connected to the low-speed bus and the storage device. Each of these components is connected to each other using a variety of buses and can be mounted on a common motherboard or mounted in any other suitable manner.

이상에서 본 발명의 실시예에 관하여 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 특허청구범위를 벗어남이 없이 다양하게 변형 실시할 수 있을 것으로 이해된다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments.

100 : 루트 서버
110 : 루트 정책서버
120 : 루트 데이터서버
200 : 로컬 서버
210 : 로컬 정책서버
220 : 로컬 데이터서버
300 : 클라이언트 단말
310 : 클라이언트 에이전트
320 : 데이터 저장소
100: root server
110: Root policy server
120: Root data server
200: Local server
210: Local Policy Server
220: Local data server
300: client terminal
310: Client Agent
320: Data Store

Claims (25)

클라이언트 단말에 설치된 클라이언트 에이전트 및 로컬 서버에 의하여 수행되는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법에 있어서,
(a) 상기 로컬 서버에서, 동기화대상 데이터가 상기 클라이언트 단말 내에 저장된 영역에 대한 위치정보를 포함하는 동기화 정책정보를 상기 클라이언트 에이전트로 전송하는 단계;
(b) 상기 클라이언트 에이전트에서, 상기 동기화 정책정보에 기반하여 상기 동기화대상 데이터에 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 요청하는 단계; 및
(c) 상기 클라이언트 에이전트에서, 상기 최종 동기화 데이터를 상기 로컬 서버로부터 수신하고, 상기 최종 동기화 데이터 및 동기화대상 데이터가 상이한 경우 상기 클라이언트 단말을 동기화하는 단계를 포함하며,
상기 (a) 단계는, 상기 클라이언트 에이전트에서 미리 설정된 시간 이내에 상기 로컬 서버로부터 상기 (a) 단계 수행을 위한 정보를 수신하지 못하는 경우 루트 서버로 사용자 식별정보 및 클라이언트 단말의 식별정보를 전송하고 상기 (b) 단계의 수행을 요청하는 단계와, 상기 루트 서버에서 상기 사용자 식별정보 및 클라이언트 단말의 식별정보에 대응하여 상기 루트 서버 내에 저장된 상기 동기화 정책정보 또는 최종 동기화 데이터를 검색하여 상기 클라이언트 에이전트로 전송함으로써 상기 (b) 단계를 수행하는 단계를 포함하며, 상기 루트 서버는 상기 로컬 서버에 대한 상위 계층 서버로서 상기 클라이언트 에이전트와 통신연결되며, 상기 로컬 서버 및 다른 복수의 로컬 서버에 저장된 동기화 정책정보를 저장하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
A method of providing a user-customized synchronization service for a client terminal installed in a client terminal and a client terminal performed by a local server,
(a) transmitting synchronization policy information to the client agent in the local server, the synchronization policy information including location information on an area where synchronization target data is stored in the client terminal;
(b) requesting, at the client agent, final synchronization data stored in the local server in response to the synchronization object data based on the synchronization policy information; And
(c) at the client agent, receiving the last synchronization data from the local server, and synchronizing the client terminal if the last synchronization data and the data to be synchronized are different,
Wherein if the client agent fails to receive the information for performing the step (a) from the local server within a predetermined time, the client agent transmits the user identification information and the identification information of the client terminal to the root server, b) requesting execution of the step; and searching the root server for the synchronization policy information or the last synchronization data stored in the root server corresponding to the user identification information and the identification information of the client terminal, Wherein the root server is in communication with the client agent as an upper layer server for the local server and stores synchronization policy information stored in the local server and a plurality of other local servers Lt; RTI ID = 0.0 > Customizable synchronized service delivery to the end.
청구항 1에 있어서,
상기 동기화 정책정보는, 동기화대상 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 정보, 및 동기화 대상에서 제외되는 파일 또는 레지스트리에 대한 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
The method according to claim 1,
Wherein the synchronization policy information includes at least one of information about a location where the synchronization object file or the registry is stored in the client terminal and information about a file or registry that is excluded from the synchronization object. A method for providing a synchronization service.
청구항 1에 있어서,
(d) 로컬 관리자의 제 1 관리 단말에 상기 로컬 서버가 설치될 경우 상기 제 1 관리 단말에서 상기 로컬 관리자의 식별정보와 상기 제 1 관리 단말의 IP 주소를 상기 루트 서버로 전송하는 단계와, 상기 로컬 서버가 상기 로컬 관리자의 제 2 관리 단말에 재설치될 경우 상기 루트 서버에서 상기 제 1 관리 단말의 IP 주소가 상기 제 2 관리 단말의 IP 주소로 갱신되도록 상기 제 2 관리 단말에서 상기 루트 서버로 상기 로컬 관리자의 식별정보와 상기 제 2 관리 단말의 IP 주소를 전송하는 단계를 더 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
The method according to claim 1,
(d) transmitting the identification information of the local administrator and the IP address of the first management terminal to the root server at the first management terminal when the local server is installed in the first management terminal of the local manager; and When the local server is re-installed in the second management terminal of the local administrator, the second management terminal transmits the IP address of the first management terminal to the root server so that the IP address of the first management terminal is updated to the IP address of the second management terminal. And transmitting the identification information of the local administrator and the IP address of the second management terminal to the client terminal.
청구항 3에 있어서,
상기 (c) 단계는, 상기 클라이언트 에이전트에서 미리 설정된 시간 이내에 상기 로컬 서버로부터 상기 (c) 단계 수행을 위한 정보를 수신하지 못하는 경우 루트 서버로 상기 사용자 식별정보 및 클라이언트 단말의 식별정보를 전송하고 상기 (d) 단계의 수행을 요청하는 단계와, 상기 루트 서버에서 상기 사용자 식별정보 및 클라이언트 단말의 식별정보에 대응하여 상기 루트 서버 내에 저장된 상기 동기화 정책정보 또는 최종 동기화 데이터를 검색하여 상기 클라이언트 에이전트로 전송함으로써 상기 (d) 단계를 수행하는 단계를 포함하며, 상기 루트 서버는 상기 로컬 서버에 대한 상위 계층 서버로서 상기 클라이언트 에이전트와 통신연결되며, 상기 로컬 서버 및 다른 복수의 로컬 서버에 저장된 동기화 정책정보를 저장하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
The method of claim 3,
Wherein if the client agent fails to receive the information for performing the step (c) from the local server within a predetermined time, the client agent transmits the user identification information and the identification information of the client terminal to the root server, requesting execution of step (d); and searching the root server for the synchronization policy information or the last synchronization data stored in the root server in response to the user identification information and the identification information of the client terminal, (D), wherein the root server is in communication with the client agent as an upper layer server for the local server, and receives synchronization policy information stored in the local server and a plurality of other local servers Characterized in that it stores Customized synchronization service delivery agent for the terminal.
청구항 1에 있어서,
상기 동기화 정책정보는 상기 동기화대상 데이터가 저장된 영역에 대한 위치정보로서, 상기 동기화대상 데이터가 저장된 위치를 나타내는 전체 문자열 중 일부 문자열을 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
The method according to claim 1,
Wherein the synchronization policy information is location information of an area in which the synchronization target data is stored and includes a part of a character string of a whole string indicating a location where the synchronization target data is stored.
청구항 5에 있어서,
(e) 상기 (a) 단계 후, 상기 클라이언트 에이전트에서, 상기 클라이언트 단말 내의 상기 일부 문자열을 포함하는 위치에 저장된 데이터들과 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 상기 로컬 서버로 요청하는 단계를 더 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
The method of claim 5,
(e) requesting, at the client agent, the final synchronization data stored in the local server in correspondence with the data stored at a location including the partial character string in the client terminal, after the step (a) The method of claim 1, further comprising:
청구항 1에 있어서,
상기 (b) 단계는 상기 동기화대상 데이터와 상기 최종 동기화 데이터의 해시값, 전체 데이터정보, 데이터 크기 및 데이터 최종갱신일시 중 적어도 하나를 기준으로 상기 동기화대상 데이터와 상기 최종 동기화 데이터를 비교하여 동일성을 판단하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
The method according to claim 1,
Wherein the step (b) comprises comparing the synchronization target data with the final synchronization data based on at least one of a hash value of the synchronization target data and the last synchronization data, a total data information, a data size, The method comprising the steps of: (a)
청구항 7에 있어서,
상기 (b) 단계는 (b-1) 상기 클라이언트 에이전트에서, 상기 최종 동기화 데이터에 대한 메타데이터를 상기 로컬 서버로부터 수신하고, 상기 동기화대상 데이터에 대한 메타데이터를 생성하는 단계와, (b-2) 상기 최종 동기화 데이터와 동기화대상 데이터에 대한 메타데이터들의 동일성을 판단하여, 상기 메타데이터들이 서로 상이한 경우 상기 로컬 서버로 상기 최종 동기화 데이터의 전송을 요청하는 단계를 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
The method of claim 7,
Wherein the step (b) comprises the steps of: (b-1) receiving, at the client agent, metadata on the final synchronization data from the local server and generating metadata for the synchronization target data; ) Determining the identity of the final synchronization data and the metadata of the synchronization target data, and requesting transmission of the final synchronization data to the local server when the metadata are different from each other A method for providing a user-customized synchronization service.
청구항 1에 있어서,
(f) 상기 (c) 단계에서 상기 클라이언트 단말의 동기화에 실패한 경우, 상기 클라이언트 단말의 상태를 동기화 직전의 상태로 복원하는 롤백을 수행하는 단계를 더 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
The method according to claim 1,
(f) performing a rollback for restoring the state of the client terminal to a state immediately before synchronization when the synchronization of the client terminal is unsuccessful in the step (c). A method for providing a synchronization service.
청구항 9에 있어서,
상기 (c) 단계는 상기 클라이언트 에이전트에서 상기 동기화대상 데이터를 백업한 후 상기 클라이언트 단말에 대한 동기화를 수행하고, 상기 로컬 서버에서 상기 최종 동기화 데이터를 백업한 후 상기 로컬 서버에 대한 동기화를 수행하며, 상기 (f) 단계는 상기 (c) 단계에서 동기화에 실패한 경우 상기 클라이언트 에이전트에서 상기 클라이언트 단말에 백업된 데이터를 통하여 상기 클라이언트 에이전트에 대한 롤백을 수행하거나, 상기 로컬 서버에서 상기 로컬 서버에 백업된 데이터를 통하여 상기 로컬 서버에 대한 롤백을 수행하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
The method of claim 9,
Wherein the step (c) comprises the steps of: synchronizing the client terminal after backing up the synchronization target data at the client agent; performing a synchronization with the local server after backing up the last synchronization data at the local server; In the step (f), if the synchronization fails in the step (c), the client agent performs a rollback for the client agent through the data backed up to the client terminal, And performing a rollback to the local server through the client terminal.
클라이언트 단말에 설치된 클라이언트 에이전트 및 로컬 서버에 의하여 수행되는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법에 있어서,
(a) 상기 로컬 서버에서, 동기화대상 데이터가 상기 클라이언트 단말 내에 저장된 영역에 대한 위치정보를 포함하는 동기화 정책정보를 상기 클라이언트 에이전트로 전송하는 단계;
(b) 상기 클라이언트 에이전트에서, 상기 동기화 정책정보에 기반하여 상기 동기화대상 데이터에 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 요청하는 단계;
(c) 상기 클라이언트 에이전트에서, 상기 최종 동기화 데이터를 상기 로컬 서버로부터 수신하고, 상기 최종 동기화 데이터 및 동기화대상 데이터가 상이한 경우 상기 클라이언트 단말을 동기화하는 단계; 및
(f) 상기 (c) 단계에서 상기 클라이언트 단말의 동기화에 실패한 경우, 상기 클라이언트 단말의 상태를 동기화 직전의 상태로 복원하는 롤백을 수행하는 단계를 포함하며,
상기 동기화 정책정보는 동기화대상 파일 또는 레지스트리와 연관된 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 동기화 그룹정보를 더 포함하며, 상기 (c) 단계는 상기 동기화 그룹정보를 바탕으로 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대응하는 최종 동기화 데이터를 수신하여 상기 클라이언트 단말을 동기화하며, 상기 (f) 단계는 상기 클라이언트 단말에 저장된 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대하여 함께 롤백을 수행하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
A method of providing a user-customized synchronization service for a client terminal installed in a client terminal and a client terminal performed by a local server,
(a) transmitting synchronization policy information to the client agent in the local server, the synchronization policy information including location information on an area where synchronization target data is stored in the client terminal;
(b) requesting, at the client agent, final synchronization data stored in the local server in response to the synchronization object data based on the synchronization policy information;
(c) at the client agent, receiving the last synchronization data from the local server, and synchronizing the client terminal if the last synchronization data and the data to be synchronized are different; And
(f) performing a rollback for restoring the state of the client terminal to a state immediately before synchronization, when the synchronization of the client terminal is unsuccessful in the step (c)
Wherein the synchronization policy information further includes synchronization group information regarding a location where a file or a registry associated with a synchronization object file or a registry is stored in the client terminal, and wherein the step (c) And synchronizing the client terminal by receiving final synchronization data corresponding to the registry or the associated file or registry, and (f) synchronizing the synchronization target file or registry stored in the client terminal with the file or registry associated with the registry, The method comprising the steps of: receiving a service request from a client terminal;
클라이언트 단말에 설치된 클라이언트 에이전트 및 로컬 서버에 의하여 수행되는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법에 있어서,
(a) 상기 로컬 서버에서, 동기화대상 데이터가 상기 클라이언트 단말 내에 저장된 영역에 대한 위치정보를 포함하는 동기화 정책정보를 상기 클라이언트 에이전트로 전송하는 단계;
(b) 상기 클라이언트 에이전트에서, 상기 동기화 정책정보에 기반하여 상기 동기화대상 데이터에 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 요청하는 단계; 및
(c) 상기 클라이언트 에이전트에서, 상기 최종 동기화 데이터를 상기 로컬 서버로부터 수신하고, 상기 최종 동기화 데이터 및 동기화대상 데이터가 상이한 경우 상기 클라이언트 단말을 동기화하는 단계를 포함하며,
상기 (c) 단계는 상기 로컬 서버로부터 최종 동기화 데이터와 최종 동기화 데이터의 제 1 해시값을 수신하고, 상기 최종 동기화 데이터에 해시 함수를 적용하여 제 2 해시값을 구하며, 상기 제 1 및 제 2 해시값이 동일한지 판단하여, 상기 최종 동기화 데이터를 검증하는 단계를 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
A method of providing a user-customized synchronization service for a client terminal installed in a client terminal and a client terminal performed by a local server,
(a) transmitting synchronization policy information to the client agent in the local server, the synchronization policy information including location information on an area where synchronization target data is stored in the client terminal;
(b) requesting, at the client agent, final synchronization data stored in the local server in response to the synchronization object data based on the synchronization policy information; And
(c) at the client agent, receiving the last synchronization data from the local server, and synchronizing the client terminal if the last synchronization data and the data to be synchronized are different,
(C) receiving a first hash value of the last synchronization data and the last synchronization data from the local server, and applying a hash function to the final synchronization data to obtain a second hash value, wherein the first and second hash values And verifying the final synchronization data based on the result of the comparison.
클라이언트 단말에 설치된 클라이언트 에이전트 및 로컬 서버를 포함하는, 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템에 있어서,
상기 로컬 서버는, 동기화대상 데이터가 상기 클라이언트 단말 내에 저장된 영역에 대한 위치정보를 포함하는 동기화 정책정보를 상기 클라이언트 에이전트로 전송하는 동기화 정책정보 전송부를 포함하고,
상기 클라이언트 에이전트는, 상기 클라이언트 에이전트에서, 상기 동기화 정책정보에 기반하여 상기 동기화대상 데이터에 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 요청하고, 상기 최종 동기화 데이터를 수신하여 상기 최종 동기화 데이터 및 동기화 대상 데이터의 동일성을 판단하는 데이터 동일성 판단부와, 상기 최종 동기화 데이터 및 동기화대상 데이터가 상이한 경우 상기 클라이언트 단말을 동기화하는 동기화부를 포함하며,
상기 로컬 서버에 대한 상위 계층 서버로서, 상기 클라이언트 에이전트와 통신연결되며, 상기 로컬 서버 및 다른 복수의 로컬 서버에 저장된 동기화 정책정보를 저장하는 루트 서버를 더 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
A system for providing a user-customized synchronization service for a client terminal, the client agent including a client agent installed in the client terminal and a local server,
Wherein the local server includes a synchronization policy information transmitter for transmitting synchronization policy information to the client agent, the synchronization policy information including location information for an area where synchronization target data is stored in the client terminal,
Wherein the client agent requests the final synchronization data stored in the local server in response to the synchronization target data based on the synchronization policy information at the client agent, receives the final synchronization data, And a synchronization unit for synchronizing the client terminal when the final synchronization data and the synchronization target data are different,
Further comprising a root server for communicating with the client agent and storing synchronization policy information stored in the local server and a plurality of other local servers as an upper layer server for the local server, Customized synchronization service delivery system.
청구항 13에 있어서,
상기 동기화 정책정보는, 동기화대상 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 정보, 및 동기화 대상에서 제외되는 파일에 대한 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
14. The method of claim 13,
Wherein the synchronization policy information includes at least one of information about a location where a synchronization object file or a registry is stored in the client terminal and information about a file that is excluded from a synchronization target. Delivery system.
삭제delete 청구항 13에 있어서,
상기 클라이언트 에이전트는 미리 설정된 시간 이내에 상기 로컬 서버로부터 상기 동기화 정책정보 또는 동기화를 위한 상기 최종 동기화 데이터를 수신하지 못하는 경우, 상기 루트 서버로 사용자 식별정보 및 클라이언트 단말의 식별정보를 전송하고 상기 동기화 정책정보 또는 상기 최종 동기화 데이터를 요청하며, 상기 루트 서버는 상기 사용자 식별정보 및 클라이언트 단말의 식별정보에 대응하여 상기 루트 서버 내에 저장된 상기 동기화 정책정보 또는 최종 동기화 데이터를 검색하여 상기 클라이언트 에이전트로 전송하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
14. The method of claim 13,
When the client agent fails to receive the synchronization policy information or the final synchronization data for synchronization within a predetermined time from the local server, transmits the user identification information and the identification information of the client terminal to the root server, Or the final synchronization data, and the root server retrieves the synchronization policy information or the last synchronization data stored in the root server corresponding to the user identification information and the identification information of the client terminal and transmits the search result to the client agent To provide a user-customized synchronization service for a client terminal.
청구항 13에 있어서,
로컬 관리자의 제 1 관리 단말에 상기 로컬 서버가 설치될 경우, 상기 제 1 관리 단말에 설치된 로컬 서버가 상기 로컬 관리자의 식별정보와 상기 제 1 관리 단말의 IP 주소를 루트 서버로 전송하며, 상기 로컬 서버가 상기 로컬 관리자의 제 2 관리 단말에 재설치될 경우, 상기 루트 서버에서 상기 제 1 관리 단말의 IP 주소가 상기 제 2 관리 단말의 IP 주소로 갱신되도록 상기 제 2 관리 단말에 설치된 로컬 서버가 루트 서버로 상기 로컬 관리자의 식별정보와 상기 제 2 관리 단말의 IP 주소를 전송하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
14. The method of claim 13,
The local server installed in the first management terminal transmits the identification information of the local manager and the IP address of the first management terminal to the root server when the local server is installed in the first management terminal of the local manager, And a local server installed in the second management terminal so that the IP address of the first management terminal is updated to the IP address of the second management terminal in the root server when the server is reinstalled in the second management terminal of the local manager, And transmits the identification information of the local administrator and the IP address of the second management terminal to the server.
청구항 13에 있어서,
상기 동기화 정책정보는 상기 동기화대상 데이터가 저장된 영역에 대한 위치정보로서, 상기 동기화대상 데이터가 저장된 위치를 나타내는 전체 문자열 중 일부 문자열을 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
14. The method of claim 13,
Wherein the synchronization policy information is location information of an area in which the synchronization object data is stored, and includes a part of a character string of the entire string indicating a location where the synchronization object data is stored.
청구항 18에 있어서,
상기 클라이언트 에이전트는 상기 클라이언트 단말 내의 상기 일부 문자열을 포함하는 위치에 저장된 동기화대상 데이터들과 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 상기 로컬 서버로 요청하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
19. The method of claim 18,
Wherein the client agent requests the local server for the final synchronization data stored in the local server in correspondence with the synchronization target data stored in the location including the partial character string in the client terminal. Service delivery system.
청구항 13에 있어서,
상기 데이터 동일성 판단부는 상기 동기화대상 데이터와 상기 최종 동기화 데이터의 해시값, 전체 데이터정보, 데이터 크기 및 데이터 최종갱신일시 중 적어도 하나를 기준으로 상기 동기화대상 데이터와 상기 최종 동기화 데이터를 비교하여 상기 동일성을 판단하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
14. The method of claim 13,
Wherein the data consistency determination unit compares the synchronization target data with the last synchronization data based on at least one of a hash value of the synchronization target data and the last synchronization data, a total data information, a data size, and a data latest update date, And determining whether the client terminal is in a synchronized state.
청구항 20에 있어서,
상기 데이터 동일성 판단부는 상기 최종 동기화 데이터에 대한 메타데이터를 상기 로컬 서버로부터 수신하고, 상기 동기화대상 데이터에 대한 메타데이터를 생성하며, 상기 최종 동기화 데이터와 동기화대상 데이터에 대한 메타데이터들의 동일성을 판단하여, 상기 메타데이터들이 서로 상이한 경우, 상기 로컬 서버로 상기 최종 동기화 데이터의 전송을 요청하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
The method of claim 20,
The data consistency determination unit receives the metadata of the final synchronization data from the local server, generates metadata for the synchronization target data, determines the identity of the final synchronization data and the metadata of the synchronization target data And requests the local server to transmit the final synchronization data if the metadata are different from each other.
청구항 13에 있어서,
상기 로컬 서버는 상기 클라이언트 단말의 동기화에 실패한 경우, 상기 클라이언트 단말의 상태를 동기화 직전의 상태로 복원하는 롤백을 수행하는 롤백 실행부를 더 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
14. The method of claim 13,
Wherein the local server further includes a rollback executing unit for performing a rollback for restoring the state of the client terminal to a state immediately before synchronization when the local terminal fails to synchronize the client terminal. .
청구항 22에 있어서,
상기 클라이언트 에이전트는 상기 동기화대상 데이터를 백업한 후 상기 클라이언트 단말에 대한 동기화를 수행하고, 상기 클라이언트 단말의 동기화에 실패한 경우 상기 클라이언트 단말에 백업된 데이터를 통하여 상기 클라이언트 단말에 대한 롤백을 수행하며, 상기 로컬 서버의 동기화부는 상기 최종 동기화 데이터를 백업한 후 상기 로컬 서버에 대한 동기화를 수행하며, 상기 로컬 서버에 백업된 데이터를 통하여 상기 로컬 서버에 대한 롤백을 수행하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
23. The method of claim 22,
Wherein the client agent performs a synchronization with respect to the client terminal after backing up the synchronization target data and performs a rollback to the client terminal through the data backed up to the client terminal when synchronization of the client terminal fails, Wherein the synchronization unit of the local server performs synchronization with respect to the local server after backing up the last synchronization data and performs a rollback to the local server through the data backed up to the local server. Customized synchronization service delivery system.
클라이언트 단말에 설치된 클라이언트 에이전트 및 로컬 서버를 포함하는, 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템에 있어서,
상기 로컬 서버는, 동기화대상 데이터가 상기 클라이언트 단말 내에 저장된 영역에 대한 위치정보를 포함하는 동기화 정책정보를 상기 클라이언트 에이전트로 전송하는 동기화 정책정보 전송부를 포함하고,
상기 클라이언트 에이전트는, 상기 클라이언트 에이전트에서, 상기 동기화 정책정보에 기반하여 상기 동기화대상 데이터에 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 요청하고, 상기 최종 동기화 데이터를 수신하여 상기 최종 동기화 데이터 및 동기화 대상 데이터의 동일성을 판단하는 데이터 동일성 판단부와, 상기 최종 동기화 데이터 및 동기화대상 데이터가 상이한 경우 상기 클라이언트 단말을 동기화하는 동기화부를 포함하며,
상기 로컬 서버는 상기 클라이언트 단말의 동기화에 실패한 경우, 상기 클라이언트 단말의 상태를 동기화 직전의 상태로 복원하는 롤백을 수행하는 롤백 실행부를 더 포함하며,
상기 동기화 정책정보는 동기화대상 파일 또는 레지스트리와 연관된 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 동기화 그룹정보를 더 포함하며, 상기 클라이언트 에이전트는 상기 동기화 그룹정보를 바탕으로 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대응하는 최종 동기화 데이터를 수신하여 상기 클라이언트 단말을 동기화하며, 상기 클라이언트 단말에 저장된 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대하여 함께 롤백을 수행하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
A system for providing a user-customized synchronization service for a client terminal, the client agent including a client agent installed in the client terminal and a local server,
Wherein the local server includes a synchronization policy information transmitter for transmitting synchronization policy information to the client agent, the synchronization policy information including location information for an area where synchronization target data is stored in the client terminal,
Wherein the client agent requests the final synchronization data stored in the local server in response to the synchronization target data based on the synchronization policy information at the client agent, receives the final synchronization data, And a synchronization unit for synchronizing the client terminal when the final synchronization data and the synchronization target data are different,
The local server further includes a rollback execution unit for performing a rollback for restoring the state of the client terminal to a state immediately before synchronization when the synchronization of the client terminal fails,
Wherein the synchronization policy information further includes synchronization group information related to a location where a file or a registry associated with a synchronization object file or a registry is stored in the client terminal, And synchronizing the client terminal by receiving the final synchronization data corresponding to the associated file or registry, and performing rollback together with the synchronization target file or registry stored in the client terminal with the associated file or registry. A system for providing a customized synchronization service for a terminal.
클라이언트 단말에 설치된 클라이언트 에이전트 및 로컬 서버를 포함하는, 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템에 있어서,
상기 로컬 서버는, 동기화대상 데이터가 상기 클라이언트 단말 내에 저장된 영역에 대한 위치정보를 포함하는 동기화 정책정보를 상기 클라이언트 에이전트로 전송하는 동기화 정책정보 전송부를 포함하고,
상기 클라이언트 에이전트는, 상기 클라이언트 에이전트에서, 상기 동기화 정책정보에 기반하여 상기 동기화대상 데이터에 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 요청하고, 상기 최종 동기화 데이터를 수신하여 상기 최종 동기화 데이터 및 동기화 대상 데이터의 동일성을 판단하는 데이터 동일성 판단부와, 상기 최종 동기화 데이터 및 동기화대상 데이터가 상이한 경우 상기 클라이언트 단말을 동기화하는 동기화부를 포함하며,
상기 클라이언트 에이전트는 상기 로컬 서버로부터 최종 동기화 데이터와 최종 동기화 데이터의 제 1 해시값을 수신하고, 상기 최종 동기화 데이터에 해시 함수를 적용하여 제 2 해시값을 구하며, 상기 제 1 및 제 2 해시값이 동일한지 판단하여, 상기 최종 동기화 데이터를 검증하는 데이터 검증부를 더 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
A system for providing a user-customized synchronization service for a client terminal, the client agent including a client agent installed in the client terminal and a local server,
Wherein the local server includes a synchronization policy information transmitter for transmitting synchronization policy information to the client agent, the synchronization policy information including location information for an area where synchronization target data is stored in the client terminal,
Wherein the client agent requests the final synchronization data stored in the local server in response to the synchronization target data based on the synchronization policy information at the client agent, receives the final synchronization data, And a synchronization unit for synchronizing the client terminal when the final synchronization data and the synchronization target data are different,
Wherein the client agent receives a first hash value of the last synchronization data and the last synchronization data from the local server and applies a hash function to the final synchronization data to obtain a second hash value, Further comprising: a data verifying unit for verifying the final synchronization data, and verifying the final synchronization data.
KR1020140112328A 2014-08-27 2014-08-27 System and method for providing client terminal to user customized synchronization service KR101638689B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140112328A KR101638689B1 (en) 2014-08-27 2014-08-27 System and method for providing client terminal to user customized synchronization service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140112328A KR101638689B1 (en) 2014-08-27 2014-08-27 System and method for providing client terminal to user customized synchronization service

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020150180405A Division KR20160025488A (en) 2015-12-16 2015-12-16 System and method for providing client terminal to user customized synchronization service

Publications (2)

Publication Number Publication Date
KR20160025282A KR20160025282A (en) 2016-03-08
KR101638689B1 true KR101638689B1 (en) 2016-07-11

Family

ID=55534321

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140112328A KR101638689B1 (en) 2014-08-27 2014-08-27 System and method for providing client terminal to user customized synchronization service

Country Status (1)

Country Link
KR (1) KR101638689B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11115414B2 (en) 2016-12-15 2021-09-07 Samsung Electronics Co., Ltd. Electronic device and control method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102004157B1 (en) * 2018-02-28 2019-07-29 (주)스마트엑세스 Method for syncronizing terminal apparatus
KR102356571B1 (en) * 2021-08-02 2022-02-09 주식회사 핑고엔터테인먼트 File synchronization method and system for multi-party

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101045540B1 (en) 2009-12-28 2011-07-01 (주)유성글로벌 Method and system for data synchronization
KR101201680B1 (en) 2011-01-17 2012-11-15 크로시스(주) Method of synchronizing a personal information for different types terminal and sever system thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101319466B1 (en) * 2011-09-27 2013-10-17 주식회사 미니게이트 Method of synchronizing data of terminals using hash function
KR101630275B1 (en) * 2012-03-27 2016-06-14 에스케이텔레콤 주식회사 Contents delivery system, method for synchronizing a cache and apparatus thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101045540B1 (en) 2009-12-28 2011-07-01 (주)유성글로벌 Method and system for data synchronization
KR101201680B1 (en) 2011-01-17 2012-11-15 크로시스(주) Method of synchronizing a personal information for different types terminal and sever system thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11115414B2 (en) 2016-12-15 2021-09-07 Samsung Electronics Co., Ltd. Electronic device and control method thereof

Also Published As

Publication number Publication date
KR20160025282A (en) 2016-03-08

Similar Documents

Publication Publication Date Title
KR102026225B1 (en) Apparatus for managing data using block chain and method thereof
US20220407725A1 (en) File storage method, terminal, and storage medium
US9485134B2 (en) Managing configurations of system management agents in a distributed environment
US10419289B2 (en) System and method for configuration management service
JP5945031B2 (en) Provision and manage replicated data instances
US8935687B2 (en) Incrementally updating a software appliance
KR101130367B1 (en) System and method for a software distribution service
US8495621B2 (en) Catalog-based software component management
US7584470B2 (en) Method and system for peer-to-peer software distribution with a package builder
KR101150041B1 (en) System and method for updating files utilizing delta compression patching
US9075680B2 (en) Firmware upgrade for thin clients using one or more servers
KR101098621B1 (en) System and method for updating installation components in a networked environment
US10158693B2 (en) Peer-to-peer network download optimization
US8943496B2 (en) Providing a hosted appliance and migrating the appliance to an on-premise environment
US9032367B2 (en) Providing a demo appliance and migrating the demo appliance to a production appliance
US10209976B2 (en) Automated application installation
US20060080385A1 (en) System, method, and medium for configuring client computers to operate disconnected from a server computer while using a master instance of the operating system
US20140109089A1 (en) System to rebuild difference virtual hard disk for updating operation system and method thereof
KR20190110082A (en) Apparatus for managing data using block chain and method thereof
KR101638689B1 (en) System and method for providing client terminal to user customized synchronization service
US7813964B2 (en) Click and run software purchasing
JP2012088765A (en) Program start control method, program start control program, portable terminal and network system
JP2015125512A (en) Management system, management method by management system, management device, control method for management device, and program
KR20160025488A (en) System and method for providing client terminal to user customized synchronization service
US10713121B1 (en) Dynamic migration of a cloud based distributed file system metadata server

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant