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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
본 발명은 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템에 관한 것으로서, 더 상세하게는 공용 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
도 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
로컬 서버(200)는 루트 서버(100)에 대한 하위 계층 서버로서, 하나의 공용 PC 공간(예를 들어, PC 방, 학교 컴퓨터실 등)에 배치되는 서버이다. 도 1을 참조하면, 로컬 서버(200)는 제 1 로컬 서버 내지 제 3 로컬 서버(200a, 200b, 200c)로 구성될 수 있으며, 이들은 서로 다른 공용 PC 공간에 설치되는 컴퓨터이다. 다만, 이는 일 예에 불과한 것으로서 다른 개수의 로컬 서버(200)가 배치될 수도 있다.The
도 2를 참조하면, 로컬 서버(200)는 로컬 정책서버(210)와 로컬 데이터서버(220)를 포함하여 구성된다. 로컬 정책서버(210)는 사용자가 동기화 솔루션을 이용하기 위한 인증절차를 수행하며, 동기화 정책정보를 저장한다. 또한, 로컬 정책서버(210)는 공용 PC 환경을 관리하는 로컬 관리자에게 관리 인터페이스를 제공하여, 로컬 관리자가 각 PC에서의 동기화를 관리하게 할 수 있다. 로컬 데이터서버(220)는 각 사용자에 대한 동기화대상 데이터를 저장한다. 또한, 로컬 데이터서버(220)는 동기화 실패 시에 롤백을 수행하기도 한다.Referring to FIG. 2, the
클라이언트 단말(300)은 각 로컬 서버(200)에 의하여 관리되는 단말로서, 도 1을 참조하면, 각 로컬 서버(200a, 200b, 200c)마다 복수 개의 클라이언트 단말(300a∼300b, 300c∼300d, 300e∼300f)이 네트워크(N) 연결될 수 있다.1, the
여기서 클라이언트 단말(300)은 초기화 솔루션과 본 발명의 일 실시예에 따른 동기화 솔루션이 설치된 상태일 수 있다. 상기 동기화 솔루션 설치에 따라 클라이언트 에이전트(310)가 클라이언트 단말(300) 내에 탑재된다.Here, the
구체적으로, 사용자가 클라이언트 단말(300)을 이용하면서 개인 데이터를 저장하고 재부팅할 경우, 초기화 솔루션에 의하여 개인 데이터는 모두 삭제되어, 클라이언트 단말(300)은 특정 시점의 상태로 복원된다. 그러나, 클라이언트 에이전트(310)가 로컬 서버(200) 또는 루트 서버(100)로부터 사용자가 다른 PC 또는 동일한 PC에서 마지막으로 저장한 개인 데이터를 다운로드하여, 데이터 저장소(320)에 저장함으로써, 클라이언트 단말(300)을 동기화한다. 그에 따라, 사용자는 스스로 개인 데이터가 저장된 영역을 찾지 않고도, 편리하게 종전에 저장하였던 데이터를 이용할 수 있다. 한편, 초기화 솔루션이 없는 공용 PC 환경이라도, 여러 사용자의 데이터가 한 PC에 혼재하게 되는 복잡성은 존재하나, 본 발명의 일 실시예가 적용될 수 있음은 물론이다.Specifically, when the user stores personal data while using the
클라이언트 단말(300)은 데스크탑과 같은 단말이 될 수 있으나, 이는 일 예에 불과한 것으로서 경우에 따라, 휴대폰, 스마트폰, 태블릿 PC, 노트북, 랩탑 등과 같은 단말이 될 수 있다. The
한편, 루트 정책서버(110)와 루트 데이터서버(120)는 별개의 단말로 구성될 수도 있으나, 하나의 단말로 구성될 수도 있다. 또한, 로컬 정책서버(210) 및 로컬 데이터서버(220) 역시 별개의 단말로 구성될 수도 있으나, 하나의 단말로 구성될 수도 있다. Meanwhile, the
이어서, 도 3을 참고하여 본 발명의 일 실시예에 따른 로컬 서버(200)의 구성에 대하여 구체적으로 설명한다. Next, the configuration of the
로컬 서버(200)는 사용자 인증부(211), 동기화 정책정보 저장부(212), 동기화 정책정보 전송부(213), 관리 인터페이스 제공부(214)를 포함한다. The
사용자 인증부(211)는 사용자 식별정보와 클라이언트 단말의 식별정보를 클라이언트 에이전트(310)로부터 수신하며, 사용자 식별정보를 통하여 사용자 인증절차를 수행한다. 사용자 식별정보는 아이디, 비밀번호, 주소, 연락처, 이름 등과 같은 사용자를 식별할 수 있는 개인정보이다. 사용자 인증부(211)는 수신된 사용자 식별정보가 로컬 정책서버(210) 내에 저장되어 있는 경우 서비스 가입자인 것으로 판단하여 인증을 완료한다. 한편, 사용자 인증부(211)는 수신된 사용자 식별정보가 로컬 정책서버(210) 내에 저장되어 있지 않는 경우, 루트 정책서버(110)에 질의하여 서비스 가입자인지 여부를 판단한다. 루트 정책서버(110)에 사용자 식별정보가 저장되어 있는 경우 인증절차가 완료되지만 저장되어 있지 않은 경우 루트 정책서버(110)는 서비스 미가입자로 판단하여, 회원가입 요청 정보를 클라이언트 에이전트(310)로 전송한다. The
동기화 정책정보 저장부(212)는 각 사용자와 클라이언트 단말에 대한 동기화 정책정보를 저장한다. 이를 위해 동기화 정책정보 저장부(212)는 사용자 식별정보와 클라이언트 단말의 식별정보를 동기화 정책정보와 대응하여 저장한다(또는, 동기화 정책정보 저장부(212)는 동기화 정책정보에 사용자 식별정보, 클라이언트 단말의 식별정보 등을 포함하도록 저장하여 각 동기화 정책정보 간 식별이 가능하도록 한다). The synchronization policy
동기화 정책정보는 클라이언트 정책, 사용자 정책, 서버 정책을 포함할 수 있다. 클라이언트 정책은 클라이언트 단말의 식별정보에 대응하는 정책으로서, 클라이언트 공통 동기화 정책정보와 개별 동기화 정책정보로 구성될 수 있다. 공통 동기화 정책정보는 공용 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
동기화 정책정보 중 클라이언트 정책은 ① 동기화대상 파일 또는 레지스트리의 이름, ② 동기화대상 파일이나 레지스트리가 클라이언트 단말(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
예를 들어, 동기화대상 파일의 이름이 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
관리 인터페이스 제공부(214)는 로컬 관리자가 클라이언트 단말(300)들을 관리하기 위한 관리 인터페이스를 로컬 정책서버(210)와 연결된 관리 단말을 통하여 제공한다. 예를 들어, 도 4와 같은 관리 인터페이스가 제공될 수 있다. 도 4의 관리 인터페이스는 정책할당 컬럼에서 공통 또는 클라이언트 ID를 선택할 수 있도록 하며, 동일한 동기화 그룹정보에 속하는 동기화대상 파일과 연관 파일 또는 동기화대상 레지스트리와 연관 레지스트리들을 나타낼 수 있다. 또한, 시스템 관리자(루트 서버(100)의 관리자)에 의하여 동기화 정책정보를 배포하여 로컬 서버(200)가 배포된 동기화 정책정보를 파일 형태로 로딩 및 저장할 경우, 이에 대한 알림을 제공할 수도 있다. 다만, 이는 일 예에 불과할 뿐이며 다양한 형태의 관리 인터페이스가 제공될 수 있다.The management
한편, 클라이언트 에이전트(310)는 동기화 정책정보를 참조하여, 동기화대상 데이터를 조회하고, 제 1 데이터에 대응하여 로컬 데이터서버(220)에 저장된 최종 동기화 데이터를 요청한다. Meanwhile, the
이하에서, “동기화대상 데이터”란 클라이언트 단말에 저장된 데이터이며, “최종 동기화 데이터”란 로컬 데이터서버 또는 루트 데이터서버에 저장된 데이터로서 사용자가 이전까지 이용한 데이터 중 가장 마지막으로 이용한 데이터를 의미한다.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
데이터 저장부(221)는 사용자가 마지막으로 이용하였던 최종 동기화 데이터를 저장한다. 최종 동기화 데이터는 파일이나 레지스트리에 관한 것으로서, 파일이나 레지스트리 그 자체이거나, 파일이나 레지스트리에 대한 메타데이터(해시값, 데이터 크기, 데이터 최종갱신일시 등)을 포함할 수 있다. 데이터 저장부(221)는 클라이언트 에이전트(310)로부터 최종 동기화 데이터에 대한 요청이 있을 경우, 해당 클라이언트 단말(300)에 대응하는 저장된 최종 동기화 데이터를 클라이언트 에이전트(310)로 전송한다. 이때, 추가 실시예로서, 타인이 전송되는 최종 동기화 데이터에 접근하지 못하도록 사용자 식별정보(아이디 및 비밀번호)를 클라이언트 단말(300)로부터 수신하여 인증과정을 거친 후에 데이터 저장부(221)에서 클라이언트 단말(300)로 최종 동기화 데이터가 전송될 수 있다. The
한편, 클라이언트 에이전트(310) 측에서 최종 동기화 데이터보다 클라이언트 단말(300)에 저장된 동기화대상 데이터가 최신의 것이라 판단된 경우, 데이터 저장부(221)는 동기화대상 데이터를 전송받아 최종 동기화 데이터를 갱신할 수도 있다.On the other hand, if the
서버 롤백부(222)는 로컬 데이터서버(220)의 동기화 실패시 동기화 직전의 데이터로 롤백을 수행한다. 구체적으로, 로컬 데이터서버(220)가 최종 동기화 데이터를 동기화대상 데이터로 갱신하여 동기화를 수행할 때, 서버 롤백부(222)는 기존 데이터인 최종 동기화 데이터를 로컬 데이터서버(220) 내에 백업한다. 이후, 동기화 실패시, 서버 롤백부(222)는 백업된 데이터를 그대로 불러옴으로써, 롤백을 완료한다. 이어서, 도 5를 참조하여, 클라이언트 에이전트(310)의 내부 구성에 대하여 구체적으로 설명한다.The
클라이언트 에이전트(310)는 식별정보 전송부(311), 데이터 동일성 판단부(312), 동기화부(313), 클라이언트 롤백부(314)를 포함한다. The
식별정보 전송부(311)는 사용자 식별정보와 클라이언트 단말의 식별정보를 로컬 정책서버(210)로 전송한다. 예를 들어, 클라이언트 에이전트(310)는 로그인을 위한 페이지를 사용자에게 제공하여 사용자로부터 아이디, 비밀번호 등을 입력받는다. 클라이언트 에이전트(310)는 로컬 정책서버(210)로 아이디, 비밀번호 및 클라이언트 단말의 IP 주소 또는 그 밖의 클라이언트 식별정보 등을 전송하여 사용자 인증을 요청한다. The identification
데이터 동일성 판단부(312)는 동기화대상 데이터와 최종 동기화 데이터 간의 동일성을 판단한다. 구체적으로, 데이터 동일성 판단부(312)는 로컬 정책서버(210)에서 인증이 완료된 후 동기화 정책정보와 로컬 데이터서버(220)의 IP 주소를 수신한다. 데이터 동일성 판단부(312)는 동기화 정책정보에 포함된 동기화대상 데이터의 위치정보를 바탕으로 동기화대상 데이터를 검색하고, 로컬 데이터서버(220)로 동기화대상 데이터에 대응하여 로컬 데이터서버(220)에 최종 업로드된 최종 동기화 데이터를 요청한다. The data
이어서, 데이터 동일성 판단부(312)는 최종 동기화 데이터를 로컬 데이터서버(220)로부터 수신한다. 이때, 최종 동기화 데이터는 데이터 그 자체(즉, 전체데이터)이거나 메타데이터(해시값, 데이터의 크기 및/또는 데이터의 최종갱신일시 등을 포함함)이다. Then, the
데이터 동일성 판단부(312)는 연산을 통하여 동기화대상 데이터의 해시값을 구하고, 동기화대상 데이터와 최종 동기화 데이터의 해시값을 비교할 수 있다. 그러나, 이는 해시값을 구하기 위한 추가 연산을 요하게 되므로, 동기화대상 데이터와 최종 동기화 데이터의 데이터 크기 또는 갱신일시를 비교하여 동일성을 쉽고 빠르게 판단할 수도 있다. 한편, 레지스트리는 데이터 크기가 작으므로, 데이터 그 자체를 비교하여 동일성을 판단할 수도 있다.The data
데이터 동일성 판단부(312)는 동일성 판단 및 동기화대상 데이터와 최종 동기화 데이터 중 어느 데이터가 최신의 데이터인지 여부까지 판단할 수 있다.The data
바람직하게는, 데이터 동일성 판단부(312)는 최종 동기화 데이터에 대한 메타데이터를 로컬 데이터서버(220)로부터 수신하고, 동기화대상 데이터에 대한 메타데이터를 연산을 통해 구하여 상기 양 데이터의 메타데이터들을 비교함으로써 최종 동기화 데이터와 동기화대상 데이터의 동일성을 판단한다. 이때, 동기화대상 데이터의 메타데이터가 상이하고, 최종 동기화 데이터가 더 최신인 것으로 판단된 경우, 최신 동기화 데이터를 로컬 데이터서버(220)로 요청하여 다운로드한다. 즉, 데이터 동일성 판단시 데이터 그 자체를 로컬 서버(200)로부터 수신할 경우, 네트워크 트래픽이 비정상적으로 증가하여 클라이언트의 정상적인 작동을 보장할 수 없게 되므로, 데이터 동일성 판단시에는 데이터 용량이 작은 메타데이터로만 동일성을 판단하고, 메타데이터가 상이할 경우에만 실제 데이터를 로컬 서버(200)로부터 다운로드함으로써 보다 효율적인 데이터 송수신이 이루어질 수 있도록 한다. 또한, 이러한 메타데이터는 1회만 다운로드하여 동일성 판단이 필요할 때마다 재사용할 수도 있다는 점에서 장점이 있다.Preferably, the data
동기화부(313)는 판단 대상이 된 두 개의 데이터 자체가 상이하거나 상기 두 개의 데이터에 대한 메타데이터가 상이하고, 최종 동기화 데이터(사용자가 마지막으로 공용 PC에 저장한 데이터)가 최신인 것으로 판단된 경우, 최종 동기화 데이터를 동기화대상 데이터 위에 오버라이트(overwrite)하여 클라이언트 단말(300)을 동기화한다. 한편, 판단 대상이 된 두 개의 데이터 자체가 상이하거나 상기 두 개의 데이터에 대한 메타데이터가 상이하고, 동기화대상 데이터가 최신인 경우, 동기화부(313)는 동기화대상 데이터를 로컬 데이터서버(220)로 전송한다. 전송된 동기화대상 데이터는 최종 동기화 데이터로서 오버라이트되어 로컬 데이터서버(220)가 업데이트될 수 있다. 한편, 판단 대상이 된 두 개의 데이터가 동일한 경우, 동기화가 이미 완료된 것으로 판단하여 동기화가 수행되지 않는다. The
한편, 데이터 동일성 판단부(312)는 로컬 데이터서버(220) 내에 위치할 수도 있다. 이 경우, 클라이언트 에이전트(310)에서 동기화대상 데이터를 로컬 데이터서버(220)로 전송한 후, 서버(220)에서 동일성 판단이 이루어진 후, 클라이언트 에이전트(310)가 동일성 결과와 최종 동기화 데이터를 수신받아 동기화를 진행할 수 있다. 그러나, 이러한 경우, 모든 클라이언트에 대해 서버가 동일성 판단에 필요한 연산을 수행하고 동일성 결과를 전송해야 하므로 서버의 연산량과 네트워크 트래픽이 증가하게 된다. 따라서, 데이터 동일성 판단부(312)가 클라이언트 단말 내에 위치하게 되는 경우, 효율성이 향상된다.On the other hand, the
한편, 최종 동기화 데이터에 사용자가 최근 사용한 아이콘 또는 자주 사용한 아이콘에 관한 정보가 포함되어 있는 경우, 클라이언트 에이전트(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
클라이언트 롤백부(314)는 클라이언트 단말(300)의 동기화가 실패할 경우, 동기화 직전으로 복원한다. 구체적으로, 클라이언트 롤백부(314)는 클라이언트 단말(300) 내에 동기화대상 데이터를 백업하여 저장한다. 이어서, 최종 동기화 데이터로 갱신하는 동기화 과정이 실패된 경우, 백업 저장된 동기화대상 데이터를 로딩함으로써 빠르게 롤백을 수행할 수 있다. 종래기술의 경우 롤백 수행시 기존의 데이터를 네트워크 통신을 통해 서버로부터 클라이언트 단말(300)로 가져오기 때문에 네트워크 트래픽이 발생하게 되지만, 본 발명의 일 실시예의 경우, 기존의 데이터를 미리 클라이언트 단말(300)에 백업하기 때문에 트래픽 문제를 발생시키지 않는다. When the
또한, 클라이언트 롤백부(314)와 로컬 데이터서버(220)의 서버 롤백부(222)에서는 동기화대상 파일과 연관 파일(또는 동기화대상 레지스트리와 연관 레지스트리)을 그룹으로 묶어서 함께 롤백을 수행한다. 이로 인하여, 상기 파일이나 레지스트리들 중 어느 하나의 파일이나 레지스트리만 갱신된 채 롤백되지 않는 경우를 방지하여, 동기화대상 파일이나 레지스트리에 대한 프로그램이 정상적으로 실행될 수 있도록 한다. In addition, the
한편, 추가 실시예로서, 클라이언트 에이전트(310)와 로컬 데이터서버(220)는 각각 데이터 검증부를 더 포함할 수도 있다. 클라이언트 에이전트(310)측의 데이터 검증부는 동일성을 판단한 후, 로컬 데이터서버(220)로부터 최종 동기화 데이터와 그 메타데이터를 수신하였을 때, 최종 동기화 데이터에 해시 함수를 적용하여 제 2 해시값을 구한다. 이어서, 수신된 메타데이터에 포함된 최종 동기화 데이터의 제 1 해시값과 제 2 해시값이 동일한지 판단하여, 상기 최종 동기화 데이터를 검증한다. 만약 동일하지 않은 경우 데이터 전송시에 변조가 발생한 것으로 판단한다. 아울러, 로컬 데이터서버(220) 측의 데이터 검증부는 클라이언트 에이전트(310)로부터 동기화대상 데이터가 최신인 것으로 판단되어, 서버 업데이트를 위한 동기화대상 데이터와 그 메타데이터를 수신한 경우, 업데이트를 수행하기 전에 동기화대상 데이터의 연산된 해시값과 메타데이터에 포함된 해시값을 비교하여 검증을 수행한다. Meanwhile, as a further embodiment, the
이하, 도 6을 참고하여, 루트 정책서버(110)의 내부 구성에 대하여 구체적으로 설명한다. Hereinafter, the internal configuration of the
루트 정책서버(110)는 로컬 서버 관리부(111)를 포함한다. The
로컬 서버 관리부(111)는 로컬 관리자 계정의 등록, 제거, 활성화 여부 및 로컬 서버(200)의 IP의 관리를 수행한다. 예를 들어, 로컬 서버 관리부(111)는 로컬 관리자가 로그온하여 루트 서버(100)로 접속할 경우, 로컬 서버(200)로 동기화 정책정보 및/또는 동기화대상 데이터 등을 다운로드시킨다. 다만, 로컬 관리자의 로그온에 대하여 로컬 서버 관리부(111)의 응답이 없으며, 로컬 서버(200)의 다운로드 날짜가 7일 이내인 경우, 로컬 서버(200)는 이미 저장되어 있던 동기화 정책정보 및/또는 동기화대상 데이터 등을 로딩할 수 있다. The local
또한, 로컬 서버 관리부(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
한편, 도 6에는 도시되지 않았으나, 도 3을 통하여 설명된 로컬 서버(200)의 내부 구성은 루트 서버(100)에도 모두 포함될 수도 있다. 로컬 서버(200)에 오류가 발생하는 등 본래 기능을 수행하지 못할 때, 루트 서버(100)가 로컬 서버(200)의 기능을 대신 수행할 수도 있기 때문이다. Although not shown in FIG. 6, the internal configuration of the
예를 들어, 클라이언트 에이전트(310)의 식별정보 전송부(311)는 미리 설정된 시간 이내에 로컬 정책서버(210)로부터 동기화 정책정보를 수신하지 못할 경우, 로컬 정책서버(210)의 오류라고 판단하여 루트 정책서버(110)로 사용자 식별정보 및 클라이언트 식별정보를 전송하고 동기화 정책정보를 요청할 수 있다. 루트 정책서버(110)는 요청에 대하여, 사용자 식별정보 및 클라이언트 식별정보에 대응하는 동기화 정책정보를 검색하고 클라이언트 에이전트(310)로 전송할 수 있다. 또한, 클라이언트 에이전트(310)의 데이터 동일성 판단부(312)는 미리 설정된 시간 이내에 로컬 데이터서버(220)로부터 동기화 데이터를 수신하지 못할 경우 루트 데이터서버(120)로 동기화대상 데이터 전송을 요청할 수도 있다. For example, if the identification
이하, 도 7 및 도 8을 참조하여, 상술한 본 발명의 시스템을 통하여 수행되는 클라이언트 단말(300)에 대한 사용자 맞춤형 동기화 서비스 제공방법에 대하여 구체적으로 설명한다.Hereinafter, a method of providing a user-customized synchronization service to the
설명에 들어가기에 앞서 전제로서, 본 발명의 일 실시예는 사용자가 생성한 데이터가 유지되지 않는 모든 환경에 유용하게 이용될 수 있다. 즉, 클라이언트 단말(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
먼저, 도 7을 참조하면, 사용자가 클라이언트 단말(300)을 재부팅할 경우, 클라이언트 에이전트(310)가 자동으로 실행되며 사용자 식별정보를 입력받는 페이지를 제공한다. 클라이언트 에이전트(310)는 사용자 식별정보와 클라이언트 단말의 식별정보를 로컬 서버(200)로 전송한다(S101).Referring to FIG. 7, when the user reboots the
로컬 서버(200)는 사용자 식별정보를 통하여 서비스 가입자인지 확인하는 인증절차를 수행한다(S102).The
이어서, 로컬 서버(200)는 사용자 식별정보 및 클라이언트 단말의 식별정보에 대응하는 동기화 정책정보를 검색하고 (S103), 클라이언트 에이전트(310)로 검색된 동기화 정책정보를 전송한다(S104). Next, the
한편, 클라이언트 에이전트(310)는 일정시간 내에 로컬 서버(200)로부터 동기화 정책정보를 수신하지 못하는 경우, 로컬 서버(200)의 오류라고 판단하여 루트 서버(100)로 사용자 식별정보 및 클라이언트 단말의 식별정보를 전송하면서 동기화 정책정보를 요청한다(S105). If the
이에 따라 클라이언트 에이전트(310)는 루트 서버(100)로부터 동기화 정책정보를 수신할 수 있다(S106).Accordingly, the
클라이언트 에이전트(310)는 동기화 정책정보를 참조하여, 클라이언트 단말(300)의 데이터 저장소(320) 내에 동기화대상 데이터를 검색하고(S107), 로컬 서버(200)로 동기화대상 데이터에 대응하는 최종 동기화 데이터를 요청한다(S108). The
이어서, 클라이언트 에이전트(310)는 최종 동기화 데이터를 수신한다(S109). 바람직하게는, 클라이언트 에이전트(310)는 최종 동기화 데이터의 메타데이터를 로컬 서버(200)로부터 수신한다. 여기서 메타데이터는 해시값, 데이터의 크기 및 데이터의 최신갱신일자 중 적어도 하나를 포함한다.Then, the
클라이언트 에이전트(310)는 최종 동기화 데이터와 클라이언트 단말 내에 저장된 동기화대상 데이터를 비교한다(S110). 구체적으로, 클라이언트 에이전트(310)는 최종 동기화 데이터와 동기화대상 데이터의 메타데이터들을 비교하여 최종 동기화 데이터와 동기화대상 데이터 간의 동일성을 판단한다. 비교결과, 상기 두 개의 데이터에 대한 메타데이터들이 상이하여 상기 두 개의 데이터 자체가 상이한 것으로 판단되고, 로컬 서버(200)가 보유한 최종 동기화 데이터가 가장 최신의 것으로 확인된 경우, 클라이언트 에이전트(310)는 최종 동기화 데이터를 로컬 서버(200)에 요청하여 다운로드받고, 다운로드받은 최종 동기화 데이터를 동기화대상 데이터 위에 오버라이트하여 클라이언트 단말을 동기화한다(S110).The
한편, 클라이언트 에이전트(310)가 일정시간 내에 최종 동기화 데이터를 로컬 서버(200)로부터 수신하지 못하는 경우, 클라이언트 에이전트(310)는 루트 서버(100) 또는 루트 서버(100)가 지정한 다른 데이터서버로 요청하고, 최종 동기화 데이터를 수신할 수도 있다.If the
이어서, 도 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
양자가 동일한 경우, 동기화가 이루어지지는 않으나, 동일하지 않은 경우, 어느 데이터가 더 최신의 것인지 판단한다(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
이어서, 로컬 서버(200)는 동기화대상 데이터로 갱신하는 동기화를 수행한다(S213). Then, the
다만, 동기화가 실패될 경우, 백업 저장된 데이터를 불러옴으로써 롤백을 수행한다(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
이어서, 클라이언트 에이전트(310)는 최종 동기화 데이터를 로컬 서버(200)로부터 다운로드받고 동기화대상 데이터 위에 덮어씀으로써 동기화를 수행한다(S216). Then, the
다만, 동기화가 실패될 경우, 백업 저장된 데이터를 불러옴으로써 롤백을 수행한다(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
이상으로 설명한 바와 같이, 본 발명의 일 실시예에 따른 사용자 맞춤형 동기화 서비스 제공방법 및 시스템은, 하드디스크 보안프로그램이나 초기화 솔루션의 사용으로 개인데이터 저장이 불가능한 공용 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.
상기 동기화 정책정보는, 동기화대상 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 정보, 및 동기화 대상에서 제외되는 파일 또는 레지스트리에 대한 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법. 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.
(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.
상기 (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.
상기 동기화 정책정보는 상기 동기화대상 데이터가 저장된 영역에 대한 위치정보로서, 상기 동기화대상 데이터가 저장된 위치를 나타내는 전체 문자열 중 일부 문자열을 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.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.
(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:
상기 (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)
상기 (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.
(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.
상기 (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.
상기 동기화 정책정보는, 동기화대상 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 정보, 및 동기화 대상에서 제외되는 파일에 대한 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템. 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.
상기 클라이언트 에이전트는 미리 설정된 시간 이내에 상기 로컬 서버로부터 상기 동기화 정책정보 또는 동기화를 위한 상기 최종 동기화 데이터를 수신하지 못하는 경우, 상기 루트 서버로 사용자 식별정보 및 클라이언트 단말의 식별정보를 전송하고 상기 동기화 정책정보 또는 상기 최종 동기화 데이터를 요청하며, 상기 루트 서버는 상기 사용자 식별정보 및 클라이언트 단말의 식별정보에 대응하여 상기 루트 서버 내에 저장된 상기 동기화 정책정보 또는 최종 동기화 데이터를 검색하여 상기 클라이언트 에이전트로 전송하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.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.
로컬 관리자의 제 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.
상기 동기화 정책정보는 상기 동기화대상 데이터가 저장된 영역에 대한 위치정보로서, 상기 동기화대상 데이터가 저장된 위치를 나타내는 전체 문자열 중 일부 문자열을 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.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.
상기 클라이언트 에이전트는 상기 클라이언트 단말 내의 상기 일부 문자열을 포함하는 위치에 저장된 동기화대상 데이터들과 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 상기 로컬 서버로 요청하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.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.
상기 데이터 동일성 판단부는 상기 동기화대상 데이터와 상기 최종 동기화 데이터의 해시값, 전체 데이터정보, 데이터 크기 및 데이터 최종갱신일시 중 적어도 하나를 기준으로 상기 동기화대상 데이터와 상기 최종 동기화 데이터를 비교하여 상기 동일성을 판단하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템. 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.
상기 데이터 동일성 판단부는 상기 최종 동기화 데이터에 대한 메타데이터를 상기 로컬 서버로부터 수신하고, 상기 동기화대상 데이터에 대한 메타데이터를 생성하며, 상기 최종 동기화 데이터와 동기화대상 데이터에 대한 메타데이터들의 동일성을 판단하여, 상기 메타데이터들이 서로 상이한 경우, 상기 로컬 서버로 상기 최종 동기화 데이터의 전송을 요청하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.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.
상기 로컬 서버는 상기 클라이언트 단말의 동기화에 실패한 경우, 상기 클라이언트 단말의 상태를 동기화 직전의 상태로 복원하는 롤백을 수행하는 롤백 실행부를 더 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템. 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. .
상기 클라이언트 에이전트는 상기 동기화대상 데이터를 백업한 후 상기 클라이언트 단말에 대한 동기화를 수행하고, 상기 클라이언트 단말의 동기화에 실패한 경우 상기 클라이언트 단말에 백업된 데이터를 통하여 상기 클라이언트 단말에 대한 롤백을 수행하며, 상기 로컬 서버의 동기화부는 상기 최종 동기화 데이터를 백업한 후 상기 로컬 서버에 대한 동기화를 수행하며, 상기 로컬 서버에 백업된 데이터를 통하여 상기 로컬 서버에 대한 롤백을 수행하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.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.
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)
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)
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)
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)
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 |
-
2014
- 2014-08-27 KR KR1020140112328A patent/KR101638689B1/en active IP Right Grant
Patent Citations (2)
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)
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 |