KR20160025282A - 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템 - Google Patents

클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템 Download PDF

Info

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

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 공용 PC 환경에서도 개인에게 최적화된 동기화 솔루션을 제공할 수 있는 공용 PC 환경의 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법에 관한 것으로서, (a) 로컬 서버에서, 동기화대상 데이터가 클라이언트 단말 내에 저장된 영역에 대한 위치정보를 포함하는 동기화 정책정보를 클라이언트 에이전트로 전송하는 단계와, (b) 클라이언트 에이전트에서, 동기화 정책정보에 기반하여 동기화대상 데이터에 대응하여 로컬 서버에 저장된 최종 동기화 데이터를 요청하는 단계와, (c) 클라이언트 에이전트에서, 최종 동기화 데이터를 로컬 서버로부터 수신하고, 최종 동기화 데이터 및 동기화대상 데이터가 상이한 경우 클라이언트 단말을 동기화하는 단계를 포함한다.
본 발명에 따른 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템에 의하면, 하드디스크 보안프로그램이나 초기화 솔루션의 사용으로 개인데이터 저장이 불가능한 공용 PC 환경에서도 각 개인마다 고유한 데이터를 동기화시킴으로써, 개인에게 최적화된 PC 환경을 어디에서든 제공할 수 있고, 또한 노하드 시스템으로 변화하고 있는 대형 PC방에서도 개인화된 클라우드 서비스를 제공할 수 있다는 점에서 확장성을 가질 수도 있다.

Description

클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템 {SYSTEM AND METHOD FOR PROVIDING CLIENT TERMINAL TO USER CUSTOMIZED SYNCHRONIZATION SERVICE}
본 발명은 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템에 관한 것으로서, 더 상세하게는 공용 PC 환경에서도 개인에게 최적화된 동기화 솔루션을 제공할 수 있는 공용 PC 환경의 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템에 관한 것이다.
일반적으로, 학교, PC방, 카페, 공공기관 등의 공용 PC에는 다수의 사용자가 생성한 개인 데이터를 일괄 삭제하고, PC 환경을 초기화할 수 있는 초기화 솔루션들이 적용되어 있다. 이러한 초기화 솔루션들은 재부팅을 하고 나면 특정 시점으로 PC를 복원하며, 복원 시점 이후에 생성한 모든 데이터는 삭제된다.
그러나 PC 사용자에게 이러한 초기화 솔루션은 개인 데이터 소실이라는 불편함을 야기한다. 따라서, 이와 동일한 환경에서 사용자가 개인 데이터를 유지하기 위해서는 외부 저장소에 데이터를 저장하고, 다음 방문 시점에 외부 저장소에 저장된 개인 데이터를 직접 다운로드하여 복원해야 한다.
이러한 데이터의 백업, 복원 과정을 자동으로 수행해주는 기술을 ?엽銹?라고 하는데, 동기화 솔루션들은 사용자가 동기화 대상과 시점을 선택하면 서버에 데이터를 업로드하거나 서버로부터 데이터를 다운로드하여, 솔루션을 적용한 어떤 PC에서든 서버와 동일한 데이터를 유지할 수 있도록 도와준다. 종래기술의 동기화 솔루션의 일 예로서, 등록특허공보 제10-1045540호(공개일: 2011.07.01)는 하나의 데이터를 블록단위로 분할하여 동기화함으로써 동기화 시간 절약 및 동기화 효율성 증가를 달성하는 개념을 개시하고 있다.
그러나 종래의 동기화 솔루션은 각각의 사용자의 개인데이터를 ‘자동으로’ 동기화해주지 못하므로, 사용자가 직접 개인데이터의 저장위치를 기억하고 다운로드 해야만 동기화가 수행될 수 있다. 나아가, PC 사용자가 데이터의 저장 위치를 알기 어려운 환경에서는 기존의 동기화 솔루션이 사용자에게 편의를 제공하기 어렵다. 예를 들어, PC방에 방문하는 게이머의 경우 게임 옵션과 캐릭터 설정, 키 설정 등의 개인화 과정을 필요로 하지만, 관리자가 구축한 PC환경에서 사용자가 직접 게임 데이터의 위치를 찾아서 백업하고 복원하기는 어렵다.
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 개인데이터의 저장이 불가능한 공용 PC 환경에서도 사용자가 마지막으로 이용한 개인데이터를 자동으로 현재 사용자가 이용하는 공용 PC에 동기화함으로써, 편리하고 개인화된 동기화 솔루션을 제공함에 목적이 있다.
전술한 본 발명의 목적은, 클라이언트 단말에 설치된 클라이언트 에이전트 및 로컬 서버에 의하여 수행되는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법에 있어서, (a) 상기 로컬 서버에서, 동기화대상 데이터가 상기 클라이언트 단말 내에 저장된 영역에 대한 위치정보를 포함하는 동기화 정책정보를 상기 클라이언트 에이전트로 전송하는 단계와, (b) 상기 클라이언트 에이전트에서, 상기 동기화 정책정보에 기반하여 상기 동기화대상 데이터에 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 요청하는 단계와, (c) 상기 클라이언트 에이전트에서, 상기 최종 동기화 데이터를 상기 로컬 서버로부터 수신하고, 상기 최종 동기화 데이터 및 동기화대상 데이터가 상이한 경우 상기 클라이언트 단말을 동기화하는 단계를 포함하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법을 제공함에 의해 달성될 수 있다.
본 발명의 바람직한 특징에 의하면, 상기 동기화 정책정보는 동기화대상 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 정보, 동기화 대상에서 제외되는 파일 또는 레지스트리에 대한 정보 및 공통 동기화 정책정보와 개인별 동기화 정책정보 중 적어도 하나를 포함할 수 있다.
본 발명의 다른 바람직한 특징에 의하면, 상기 (a) 또는 (c) 단계는, 상기 클라이언트 에이전트에서, 상기 미리 설정된 시간 이내에 상기 로컬 서버로부터 상기 (a) 또는 (c) 단계 수행을 위한 정보를 수신하지 못하는 경우, 루트 서버로 상기 사용자 식별정보 및 클라이언트 단말의 식별정보를 전송하고 상기 (b) 또는 (d) 단계의 수행을 요청하는 단계와, 상기 루트 서버에서, 상기 사용자 식별정보 및 클라이언트 단말의 식별정보에 대응하여 상기 루트 서버 내에 저장된 상기 동기화 정책정보 또는 최종 동기화 데이터를 검색하여 상기 클라이언트 에이전트로 전송함으로써 상기 (b) 또는 (d) 단계를 수행하는 단계를 포함하며, 상기 루트 서버는 상기 로컬 서버에 대한 상위 계층 서버로서 상기 클라이언트 에이전트와 통신연결되며, 상기 로컬 서버 및 다른 복수의 로컬 서버에 저장된 동기화 정책정보를 저장할 수 있다.
본 발명의 또 다른 바람직한 특징에 의하면, (d) 로컬 관리자의 제 1 관리 단말에 상기 로컬 서버가 설치될 경우 상기 제 1 관리 단말에서 상기 로컬 관리자의 식별정보와 상기 제 1 관리 단말의 IP 주소를 상기 루트 서버로 전송하는 단계와, 상기 로컬 서버가 상기 로컬 관리자의 제 2 관리 단말에 재설치될 경우 상기 루트 서버에서 상기 제 1 관리 단말의 IP 주소가 상기 제 2 관리 단말의 IP 주소로 갱신되도록 상기 제 2 관리 단말에서 상기 루트 서버로 상기 로컬 관리자의 식별정보와 상기 제 2 관리 단말의 IP 주소를 전송하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 바람직한 특징에 의하면, 상기 동기화 정책정보는 상기 동기화대상 데이터가 저장된 영역에 대한 위치정보로서, 상기 동기화대상 데이터가 저장된 위치를 나타내는 전체 문자열 중 일부 문자열을 포함할 수 있다.
본 발명의 또 다른 바람직한 특징에 의하면, (e) 상기 (a) 단계 후, 상기 클라이언트 에이전트에서, 상기 클라이언트 단말 내의 상기 일부 문자열을 포함하는 위치에 저장된 데이터들과 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 상기 로컬 서버로 요청하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 바람직한 특징에 의하면, 상기 (b) 단계는 상기 동기화대상 데이터와 상기 최종 동기화 데이터의 해시값, 전체 데이터정보, 데이터 크기 및 데이터 최종갱신일시 중 적어도 하나를 기준으로 상기 동기화대상 데이터와 상기 최종 동기화 데이터를 비교하여 상기 동일성을 판단할 수 있다.
본 발명의 또 다른 바람직한 특징에 의하면, 상기 (b) 단계는 (b-1) 상기 클라이언트 에이전트에서, 상기 최종 동기화 데이터에 대한 메타데이터를 상기 로컬 서버로부터 수신하고, 상기 동기화대상 데이터에 대한 메타데이터를 생성하는 단계와, (b-2) 상기 최종 동기화 데이터와 동기화대상 데이터에 대한 메타데이터들의 동일성을 판단하여, 상기 메타데이터들이 서로 상이한 경우 상기 로컬 서버로 상기 최종 동기화 데이터의 전송을 요청하는 단계를 포함할 수 있다.
본 발명의 또 다른 바람직한 특징에 의하면, (f) 상기 (c) 단계에서 상기 클라이언트 단말의 동기화에 실패한 경우, 상기 클라이언트 단말의 상태를 동기화 직전의 상태로 복원하는 롤백을 수행하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 바람직한 특징에 의하면, 상기 (c) 단계는 상기 클라이언트 에이전트에서 상기 동기화대상 데이터를 백업한 후 상기 클라이언트 단말에 대한 동기화를 수행하고, 상기 로컬 서버에서 상기 최종 동기화 데이터를 백업한 후 상기 로컬 서버에 대한 동기화를 수행하며, 상기 (f) 단계는 상기 (c) 단계에서 동기화에 실패한 경우 상기 클라이언트 에이전트에서 상기 클라이언트 단말에 백업된 데이터를 통하여 상기 클라이언트 에이전트에 대한 롤백을 수행하거나, 상기 로컬 서버에서 상기 로컬 서버에 백업된 데이터를 통하여 상기 로컬 서버에 대한 롤백을 수행할 수 있다.
본 발명의 또 다른 바람직한 특징에 의하면, 상기 동기화 정책정보는 동기화대상 파일 또는 레지스트리와 연관된 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 동기화 그룹정보를 더 포함하며, 상기 (c) 단계는 상기 동기화 그룹정보를 바탕으로 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대응하는 최종 동기화 데이터를 수신하여 상기 클라이언트 단말을 동기화하며, 상기 (f) 단계는 상기 클라이언트 단말에 저장된 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대하여 함께 롤백을 수행할 수 있다.
본 발명의 또 다른 바람직한 특징에 의하면, 상기 (c) 단계는 상기 로컬 서버로부터 최종 동기화 데이터와 최종 동기화 데이터의 제 1 해시값을 수신하고, 상기 최종 동기화 데이터에 해시 함수를 적용하여 제 2 해시값을 구하며, 상기 제 1 및 제 2 해시값이 동일한지 판단하여, 상기 최종 동기화 데이터를 검증하는 단계를 포함할 수 있다.
한편, 전술한 본 발명의 목적은, 클라이언트 단말에 설치된 클라이언트 에이전트 및 로컬 서버를 포함하는, 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템에 있어서, 상기 로컬 서버는 동기화대상 데이터가 상기 클라이언트 단말 내에 저장된 영역에 대한 위치정보를 포함하는 동기화 정책정보를 상기 클라이언트 에이전트로 전송하는 동기화 정책정보 전송부를 포함하고, 상기 클라이언트 에이전트는 상기 클라이언트 에이전트에서 상기 동기화 정책정보에 기반하여 상기 동기화대상 데이터에 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 요청하고, 상기 최종 동기화 데이터를 수신하여 상기 최종 동기화 데이터 및 동기화 대상 데이터의 동일성을 판단하는 데이터 동일성 판단부와, 상기 최종 동기화 데이터 및 동기화대상 데이터가 상이한 경우 상기 클라이언트 단말을 동기화하는 동기화부를 포함하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템을 제공함에 의해 달성될 수 있다.
여기에서, 상기 동기화 정책정보는 동기화대상 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 정보, 동기화 대상에서 제외되는 파일에 대한 정보 및 공통 동기화 정책정보와 개인별 동기화 정책정보 중 적어도 하나를 포함할 수 있다.
또한, 상기 로컬 서버에 대한 상위 계층 서버로서, 상기 클라이언트 에이전트와 통신연결되며, 상기 로컬 서버 및 다른 복수의 로컬 서버에 저장된 동기화 정책정보를 저장하는 루트 서버를 더 포함할 수 있다.
또한, 상기 클라이언트 에이전트는 상기 미리 설정된 시간 이내에 상기 로컬 서버로부터 상기 동기화 정책정보 또는 동기화를 위한 상기 최종 동기화 데이터를 수신하지 못하는 경우, 상기 루트 서버로 상기 사용자 식별정보 및 클라이언트 단말의 식별정보를 전송하고 상기 동기화 정책정보 또는 상기 최종 동기화 데이터를 요청하며, 상기 루트 서버는 상기 사용자 식별정보 및 클라이언트 단말의 식별정보에 대응하여 상기 루트 서버 내에 저장된 상기 동기화 정책정보 또는 최종 동기화 데이터를 검색하여 상기 클라이언트 에이전트로 전송할 수 있다.
또한, 로컬 관리자의 제 1 관리 단말에 상기 로컬 서버가 설치될 경우, 상기 제 1 관리 단말에 설치된 로컬 서버가 상기 로컬 관리자의 식별정보와 상기 제 1 관리 단말의 IP 주소를 상기 루트 서버로 전송하며, 상기 로컬 서버가 상기 로컬 관리자의 제 2 관리 단말에 재설치될 경우, 상기 루트 서버에서 상기 제 1 관리 단말의 IP 주소가 상기 제 2 관리 단말의 IP 주소로 갱신되도록 상기 제 2 관리 단말에 설치된 로컬 서버가 상기 루트 서버로 상기 로컬 관리자의 식별정보와 상기 제 2 관리 단말의 IP 주소를 전송할 수 있다.
또한, 상기 동기화 정책정보는 상기 동기화대상 데이터가 저장된 영역에 대한 위치정보로서, 상기 동기화대상 데이터가 저장된 위치를 나타내는 전체 문자열 중 일부 문자열을 포함할 수 있다.
또한, 상기 클라이언트 에이전트는 상기 클라이언트 단말 내의 상기 일부 문자열을 포함하는 위치에 저장된 동기화대상 데이터들과 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 상기 로컬 서버로 요청할 수 있다.
또한, 상기 데이터 동일성 판단부는 상기 동기화대상 데이터와 상기 최종 동기화 데이터의 해시값, 전체 데이터정보, 데이터 크기 및 데이터 최종갱신일시 중 적어도 하나를 기준으로 상기 동기화대상 데이터와 상기 최종 동기화 데이터를 비교하여 상기 동일성을 판단할 수 있다.
또한, 상기 데이터 동일성 판단부는 상기 최종 동기화 데이터에 대한 메타데이터를 상기 로컬 서버로부터 수신하고, 상기 동기화대상 데이터에 대한 메타데이터를 생성하며, 상기 최종 동기화 데이터와 동기화대상 데이터에 대한 메타데이터들의 동일성을 판단하여, 상기 메타데이터들이 서로 상이한 경우, 상기 로컬 서버로 상기 최종 동기화 데이터의 전송을 요청할 수 있다.
또한, 상기 로컬 서버는 상기 클라이언트 단말의 동기화에 실패한 경우, 상기 클라이언트 단말의 상태를 동기화 직전의 상태로 복원하는 롤백을 수행하는 롤백 실행부를 더 포함할 수 있다.
또한, 상기 클라이언트 에이전트는 상기 동기화대상 데이터를 백업한 후 상기 클라이언트 단말에 대한 동기화를 수행하고, 상기 클라이언트 단말의 동기화에 실패한 경우 상기 클라이언트 단말에 백업된 데이터를 통하여 상기 클라이언트 단말에 대한 롤백을 수행하며, 상기 로컬 서버의 동기화부는 상기 최종 동기화 데이터를 백업한 후 상기 로컬 서버에 대한 동기화를 수행하며, 상기 로컬 서버에 백업된 데이터를 통하여 상기 로컬 서버에 대한 롤백을 수행할 수 있다.
또한, 상기 동기화 정책정보는 동기화대상 파일 또는 레지스트리와 연관된 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 동기화 그룹정보를 더 포함하며, 상기 클라이언트 에이전트는 상기 동기화 그룹정보를 바탕으로 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대응하는 최종 동기화 데이터를 수신하여 상기 클라이언트 단말을 동기화하며, 상기 클라이언트 단말에 저장된 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대하여 함께 롤백을 수행할 수 있다.
또한, 상기 클라이언트 에이전트는 상기 로컬 서버로부터 최종 동기화 데이터와 최종 동기화 데이터의 제 1 해시값을 수신하고, 상기 최종 동기화 데이터에 해시 함수를 적용하여 제 2 해시값을 구하며, 상기 제 1 및 제 2 해시값이 동일한지 판단하여, 상기 최종 동기화 데이터를 검증하는 데이터 검증부를 더 포함할 수 있다.
본 발명에 따른 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법 및 시스템에 의하면, 하드디스크 보안프로그램이나 초기화 솔루션의 사용으로 개인데이터 저장이 불가능한 공용 PC 환경에서도 각 개인 데이터를 동기화시킴으로써 개인에게 최적화된 PC 환경을 어디에서든 제공할 수 있다.
또한, 본 발명에 따른 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법 및 시스템에 의하면, 업소에는 솔루션을 제공하고 어플리케이션별 동기화 위치를 업데이트 해줌으로써 B2B 수익을 창출할 수 있으며, 개인에게는 동기화 서비스를 제공함으로써 B2C 수익을 얻을 수도 있다.
또한, 본 발명에 따른 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법 및 시스템에 의하면, 노하드 시스템(즉, 디스크 이미지를 서버에 두고 다수의 PC에서 디스크 이미지를 공유하여 동작하는 시스템)으로 변화하고 있는 대형 PC방에서도 개인화된 클라우드 서비스를 제공할 수 있다는 점에서 확장성을 가질 수도 있다.
도 1은 본 발명의 일 실시예에 따른 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템의 구조도.
도 2는 본 발명의 일 실시예에 따른 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템의 구조에 대한 블록도.
도 3은 본 발명의 일 실시예에 따른 로컬 서버의 내부 구성에 대한 블록도.
도 4는 본 발명의 일 실시예에 따른 관리 인터페이스의 일 예를 나타내는 예시도.
도 5는 본 발명의 일 실시예에 따른 클라이언트 에이전트의 내부 구성에 대한 블록도.
도 6은 본 발명의 일 실시예에 따른 루트 서버의 내부 구성에 대한 블록도.
도 7은 본 발명의 일 실시예에 따른 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법에 대한 순서도.
도 8은 본 발명의 일 실시예에 따른 동기화 단계 및 롤백 단계를 설명하기 위한 순서도.
이하에서는 본 발명의 실시예에 관하여 첨부도면을 참조하여 상세하게 설명하기로 한다. 다만, 이하에서 설명되는 실시예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 발명을 쉽게 실시할 수 있을 정도로 상세하게 설명하기 위한 것에 불과하며, 이로 인해 본 발명의 보호범위가 한정되는 것을 의미하지는 않는다. 그리고 본 발명의 여러 실시예를 설명함에 있어서, 동일한 기술적 특징을 갖는 구성요소에 대하여는 동일한 도면부호를 사용하기로 한다.
도 1 및 도 2를 참조하여, 본 발명의 일 실시예에 따른 사용자 맞춤형 동기화 서비스 제공 시스템에 대하여 설명한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 사용자 맞춤형 동기화 서비스 제공 시스템은 루트 서버(100), 로컬 서버(200), 클라이언트 단말(300)을 포함한다. 루트 서버 내지 클라이언트 단말(100 ∼ 300)은 유선 또는 무선 네트워크를 통하여 상호 간에 통신 연결된다. 이 경우, 루트 서버(100)와 로컬 서버(200) 간은 광역 네트워크로 연결되고, 로컬 서버(200)와 클라이언트 단말(300) 간은 로컬 네트워크로 연결될 수 있다. 루트 서버(100)는 상위 계층 서버로서, 로컬 관리자에 대한 라이선스, 동기화 정책 및 지원 정책 등을 관리하는 서버이다.
도 2를 참조하면, 루트 서버(100)는 루트 정책서버(110) 및 루트 데이터서버(120)를 포함한다. 구체적으로, 루트 정책서버(110)는 로컬 관리자의 계정의 등록, 제거, 활성화 및 로컬 서버(200)의 IP의 관리를 수행한다. 또한, 루트 정책서버(110)는 동기화 정책정보를 생성 및 갱신하여 로컬 정책서버(210)로 배포한다. 반대로, 로컬 정책서버(210)에 동기화 정책정보가 생성되거나 갱신될 때, 루트 정책서버(110)는 로컬 정책서버(210)로부터 생성되거나 갱신된 동기화 정책정보를 수신하여 저장한다. 루트 데이터서버(120) 역시 로컬 데이터서버(220)나 클라이언트 단말(300)에 각 사용자들의 동기화대상 데이터가 저장되거나 갱신되는 경우, 로컬 데이터서버(220)나 클라이언트 단말(300)로부터 상기 동기화대상 데이터를 수신하여 저장할 수도 있다. 더욱 현실적으로는, 루트 데이터서버(120)의 과부하를 방지하기 위해 다른 로컬 데이터서버가 동기화대상 데이터를 수신하여 저장할 수도 있다. 또한, 루트 정책서버(110) 및 루트 데이터서버(120)는 로컬 정책서버(210) 및 로컬 데이터서버(220)의 서비스 기능 오류시 로컬 서버(200)를 대신하여 클라이언트 단말(300)에 서비스를 제공하기도 한다.
로컬 서버(200)는 루트 서버(100)에 대한 하위 계층 서버로서, 하나의 공용 PC 공간(예를 들어, PC 방, 학교 컴퓨터실 등)에 배치되는 서버이다. 도 1을 참조하면, 로컬 서버(200)는 제 1 로컬 서버 내지 제 3 로컬 서버(200a, 200b, 200c)로 구성될 수 있으며, 이들은 서로 다른 공용 PC 공간에 설치되는 컴퓨터이다. 다만, 이는 일 예에 불과한 것으로서 다른 개수의 로컬 서버(200)가 배치될 수도 있다.
도 2를 참조하면, 로컬 서버(200)는 로컬 정책서버(210)와 로컬 데이터서버(220)를 포함하여 구성된다. 로컬 정책서버(210)는 사용자가 동기화 솔루션을 이용하기 위한 인증절차를 수행하며, 동기화 정책정보를 저장한다. 또한, 로컬 정책서버(210)는 공용 PC 환경을 관리하는 로컬 관리자에게 관리 인터페이스를 제공하여, 로컬 관리자가 각 PC에서의 동기화를 관리하게 할 수 있다. 로컬 데이터서버(220)는 각 사용자에 대한 동기화대상 데이터를 저장한다. 또한, 로컬 데이터서버(220)는 동기화 실패 시에 롤백을 수행하기도 한다.
클라이언트 단말(300)은 각 로컬 서버(200)에 의하여 관리되는 단말로서, 도 1을 참조하면, 각 로컬 서버(200a, 200b, 200c)마다 복수 개의 클라이언트 단말(300a∼300b, 300c∼300d, 300e∼300f)이 네트워크(N) 연결될 수 있다.
여기서 클라이언트 단말(300)은 초기화 솔루션과 본 발명의 일 실시예에 따른 동기화 솔루션이 설치된 상태일 수 있다. 상기 동기화 솔루션 설치에 따라 클라이언트 에이전트(310)가 클라이언트 단말(300) 내에 탑재된다.
구체적으로, 사용자가 클라이언트 단말(300)을 이용하면서 개인 데이터를 저장하고 재부팅할 경우, 초기화 솔루션에 의하여 개인 데이터는 모두 삭제되어, 클라이언트 단말(300)은 특정 시점의 상태로 복원된다. 그러나, 클라이언트 에이전트(310)가 로컬 서버(200) 또는 루트 서버(100)로부터 사용자가 다른 PC 또는 동일한 PC에서 마지막으로 저장한 개인 데이터를 다운로드하여, 데이터 저장소(320)에 저장함으로써, 클라이언트 단말(300)을 동기화한다. 그에 따라, 사용자는 스스로 개인 데이터가 저장된 영역을 찾지 않고도, 편리하게 종전에 저장하였던 데이터를 이용할 수 있다. 한편, 초기화 솔루션이 없는 공용 PC 환경이라도, 여러 사용자의 데이터가 한 PC에 혼재하게 되는 복잡성은 존재하나, 본 발명의 일 실시예가 적용될 수 있음은 물론이다.
클라이언트 단말(300)은 데스크탑과 같은 단말이 될 수 있으나, 이는 일 예에 불과한 것으로서 경우에 따라, 휴대폰, 스마트폰, 태블릿 PC, 노트북, 랩탑 등과 같은 단말이 될 수 있다.
한편, 루트 정책서버(110)와 루트 데이터서버(120)는 별개의 단말로 구성될 수도 있으나, 하나의 단말로 구성될 수도 있다. 또한, 로컬 정책서버(210) 및 로컬 데이터서버(220) 역시 별개의 단말로 구성될 수도 있으나, 하나의 단말로 구성될 수도 있다.
이어서, 도 3을 참고하여 본 발명의 일 실시예에 따른 로컬 서버(200)의 구성에 대하여 구체적으로 설명한다.
로컬 서버(200)는 사용자 인증부(211), 동기화 정책정보 저장부(212), 동기화 정책정보 전송부(213), 관리 인터페이스 제공부(214)를 포함한다.
사용자 인증부(211)는 사용자 식별정보와 클라이언트 단말의 식별정보를 클라이언트 에이전트(310)로부터 수신하며, 사용자 식별정보를 통하여 사용자 인증절차를 수행한다. 사용자 식별정보는 아이디, 비밀번호, 주소, 연락처, 이름 등과 같은 사용자를 식별할 수 있는 개인정보이다. 사용자 인증부(211)는 수신된 사용자 식별정보가 로컬 정책서버(210) 내에 저장되어 있는 경우 서비스 가입자인 것으로 판단하여 인증을 완료한다. 한편, 사용자 인증부(211)는 수신된 사용자 식별정보가 로컬 정책서버(210) 내에 저장되어 있지 않는 경우, 루트 정책서버(110)에 질의하여 서비스 가입자인지 여부를 판단한다. 루트 정책서버(110)에 사용자 식별정보가 저장되어 있는 경우 인증절차가 완료되지만 저장되어 있지 않은 경우 루트 정책서버(110)는 서비스 미가입자로 판단하여, 회원가입 요청 정보를 클라이언트 에이전트(310)로 전송한다.
동기화 정책정보 저장부(212)는 각 사용자와 클라이언트 단말에 대한 동기화 정책정보를 저장한다. 이를 위해 동기화 정책정보 저장부(212)는 사용자 식별정보와 클라이언트 단말의 식별정보를 동기화 정책정보와 대응하여 저장한다(또는, 동기화 정책정보 저장부(212)는 동기화 정책정보에 사용자 식별정보, 클라이언트 단말의 식별정보 등을 포함하도록 저장하여 각 동기화 정책정보 간 식별이 가능하도록 한다).
동기화 정책정보는 클라이언트 정책, 사용자 정책, 서버 정책을 포함할 수 있다. 클라이언트 정책은 클라이언트 단말의 식별정보에 대응하는 정책으로서, 클라이언트 공통 동기화 정책정보와 개별 동기화 정책정보로 구성될 수 있다. 공통 동기화 정책정보는 공용 PC 모두에 적용되는 정책으로서, 모든 PC 사용자에게 적용될 파일이나 레지스트리가 저장된 위치에 관한 정보이며, 개별 동기화 정책정보는 특정 PC에서만 적용될 파일이나 레지스트리가 저장된 위치에 관한 정보이다. 사용자 정책은 사용자 별로 로컬 데이터서버(220)에 할당된 저장소 용량에 관한 것으로서, 사용자 식별정보와 로컬 데이터서버(220)의 저장소의 식별정보를 포함한다.
동기화 정책정보 중 클라이언트 정책은 ① 동기화대상 파일 또는 레지스트리의 이름, ② 동기화대상 파일이나 레지스트리가 클라이언트 단말(300)의 데이터 저장소(320)에 저장된 위치에 관한 정보, ③ 동기화 대상에서 제외되는 파일 또는 레지스트리에 대한 정보 및 ④ 동기화대상 파일/레지스트리와 상기 동기화대상 파일의 연관 파일/연관 레지스트리가 상기 클라이언트 단말(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 이하의 모든 레지스트리가 동기화 대상이 된다. 따라서, 본 발명의 일 실시예는 파일 뿐만 아니라 레지스트리의 위치 정보를 동기화 대상으로 지정함으로써, 실제 데이터 액세스 단위로 동기화 대상을 지정할 수 있다.
그리고, “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”를 포함하는 동기화 그룹정보가 된다.
한편, 추가 실시예로서, ②는 동기화대상 파일 또는 레지스트리의 저장위치의 전체 문자열이 아닌 일부 문자열만으로 정의될 수 있다. 예컨대, ②는 “a”, “starcraft\a.exe” 와 같이 정의될 수 있다. 이와 같이, 동기화대상 파일의 저장위치를 일부 문자열로 정의하는 경우, 동기화 대상을 기술하는 횟수와 자료구조의 사이즈를 보다 적게 관리할 수 있게 되는 장점이 있다. 예컨대, ②가 “starcraft”와 같이 포괄적인 용어로 정의되는 경우, 동기화 그룹정보로 묶일 수 있는 동기화대상 파일이 저장된 위치정보와 연관 파일이 저장된 위치정보가 서로 다른 폴더에 떨어져 있더라도 한번에 상기 위치정보들을 포괄할 수 있게 되는 장점이 있다. 나아가, 동일한 파일을 c:\starcraft, c:\games\starcraft와 같이 각각 다른 위치에 저장하고 있는 클라이언트 단말들에 대해서도, 일부 문자열만으로 동기화 대상을 지정할 경우, 모든 공용 PC에서 starcraft가 동기화 대상으로 지정되도록 하는 공통 동기화 정책정보를 생성할 수 있다.
동기화 정책정보 전송부(213)는 수신한 사용자 식별정보 및 클라이언트 단말의 식별정보를 이용하여 저장된 동기화 정책정보를 검색한다. 그리고 동기화 정책정보 전송부(213)는 검색된 동기화 정책정보와 로컬 데이터서버(220)의 IP 주소를 클라이언트 에이전트(310)로 전송한다.
관리 인터페이스 제공부(214)는 로컬 관리자가 클라이언트 단말(300)들을 관리하기 위한 관리 인터페이스를 로컬 정책서버(210)와 연결된 관리 단말을 통하여 제공한다. 예를 들어, 도 4와 같은 관리 인터페이스가 제공될 수 있다. 도 4의 관리 인터페이스는 정책할당 컬럼에서 공통 또는 클라이언트 ID를 선택할 수 있도록 하며, 동일한 동기화 그룹정보에 속하는 동기화대상 파일과 연관 파일 또는 동기화대상 레지스트리와 연관 레지스트리들을 나타낼 수 있다. 또한, 시스템 관리자(루트 서버(100)의 관리자)에 의하여 동기화 정책정보를 배포하여 로컬 서버(200)가 배포된 동기화 정책정보를 파일 형태로 로딩 및 저장할 경우, 이에 대한 알림을 제공할 수도 있다. 다만, 이는 일 예에 불과할 뿐이며 다양한 형태의 관리 인터페이스가 제공될 수 있다.
한편, 클라이언트 에이전트(310)는 동기화 정책정보를 참조하여, 동기화대상 데이터를 조회하고, 제 1 데이터에 대응하여 로컬 데이터서버(220)에 저장된 최종 동기화 데이터를 요청한다.
이하에서, “동기화대상 데이터”란 클라이언트 단말에 저장된 데이터이며, “최종 동기화 데이터”란 로컬 데이터서버 또는 루트 데이터서버에 저장된 데이터로서 사용자가 이전까지 이용한 데이터 중 가장 마지막으로 이용한 데이터를 의미한다.
그리고 로컬 데이터서버(220)는 클라이언트 에이전트(310)의 요청에 응답하기 위해 데이터 저장부(221), 서버 롤백부(222)를 포함한다.
데이터 저장부(221)는 사용자가 마지막으로 이용하였던 최종 동기화 데이터를 저장한다. 최종 동기화 데이터는 파일이나 레지스트리에 관한 것으로서, 파일이나 레지스트리 그 자체이거나, 파일이나 레지스트리에 대한 메타데이터(해시값, 데이터 크기, 데이터 최종갱신일시 등)을 포함할 수 있다. 데이터 저장부(221)는 클라이언트 에이전트(310)로부터 최종 동기화 데이터에 대한 요청이 있을 경우, 해당 클라이언트 단말(300)에 대응하는 저장된 최종 동기화 데이터를 클라이언트 에이전트(310)로 전송한다. 이때, 추가 실시예로서, 타인이 전송되는 최종 동기화 데이터에 접근하지 못하도록 사용자 식별정보(아이디 및 비밀번호)를 클라이언트 단말(300)로부터 수신하여 인증과정을 거친 후에 데이터 저장부(221)에서 클라이언트 단말(300)로 최종 동기화 데이터가 전송될 수 있다.
한편, 클라이언트 에이전트(310) 측에서 최종 동기화 데이터보다 클라이언트 단말(300)에 저장된 동기화대상 데이터가 최신의 것이라 판단된 경우, 데이터 저장부(221)는 동기화대상 데이터를 전송받아 최종 동기화 데이터를 갱신할 수도 있다.
서버 롤백부(222)는 로컬 데이터서버(220)의 동기화 실패시 동기화 직전의 데이터로 롤백을 수행한다. 구체적으로, 로컬 데이터서버(220)가 최종 동기화 데이터를 동기화대상 데이터로 갱신하여 동기화를 수행할 때, 서버 롤백부(222)는 기존 데이터인 최종 동기화 데이터를 로컬 데이터서버(220) 내에 백업한다. 이후, 동기화 실패시, 서버 롤백부(222)는 백업된 데이터를 그대로 불러옴으로써, 롤백을 완료한다. 이어서, 도 5를 참조하여, 클라이언트 에이전트(310)의 내부 구성에 대하여 구체적으로 설명한다.
클라이언트 에이전트(310)는 식별정보 전송부(311), 데이터 동일성 판단부(312), 동기화부(313), 클라이언트 롤백부(314)를 포함한다.
식별정보 전송부(311)는 사용자 식별정보와 클라이언트 단말의 식별정보를 로컬 정책서버(210)로 전송한다. 예를 들어, 클라이언트 에이전트(310)는 로그인을 위한 페이지를 사용자에게 제공하여 사용자로부터 아이디, 비밀번호 등을 입력받는다. 클라이언트 에이전트(310)는 로컬 정책서버(210)로 아이디, 비밀번호 및 클라이언트 단말의 IP 주소 또는 그 밖의 클라이언트 식별정보 등을 전송하여 사용자 인증을 요청한다.
데이터 동일성 판단부(312)는 동기화대상 데이터와 최종 동기화 데이터 간의 동일성을 판단한다. 구체적으로, 데이터 동일성 판단부(312)는 로컬 정책서버(210)에서 인증이 완료된 후 동기화 정책정보와 로컬 데이터서버(220)의 IP 주소를 수신한다. 데이터 동일성 판단부(312)는 동기화 정책정보에 포함된 동기화대상 데이터의 위치정보를 바탕으로 동기화대상 데이터를 검색하고, 로컬 데이터서버(220)로 동기화대상 데이터에 대응하여 로컬 데이터서버(220)에 최종 업로드된 최종 동기화 데이터를 요청한다.
이어서, 데이터 동일성 판단부(312)는 최종 동기화 데이터를 로컬 데이터서버(220)로부터 수신한다. 이때, 최종 동기화 데이터는 데이터 그 자체(즉, 전체데이터)이거나 메타데이터(해시값, 데이터의 크기 및/또는 데이터의 최종갱신일시 등을 포함함)이다.
데이터 동일성 판단부(312)는 연산을 통하여 동기화대상 데이터의 해시값을 구하고, 동기화대상 데이터와 최종 동기화 데이터의 해시값을 비교할 수 있다. 그러나, 이는 해시값을 구하기 위한 추가 연산을 요하게 되므로, 동기화대상 데이터와 최종 동기화 데이터의 데이터 크기 또는 갱신일시를 비교하여 동일성을 쉽고 빠르게 판단할 수도 있다. 한편, 레지스트리는 데이터 크기가 작으므로, 데이터 그 자체를 비교하여 동일성을 판단할 수도 있다.
데이터 동일성 판단부(312)는 동일성 판단 및 동기화대상 데이터와 최종 동기화 데이터 중 어느 데이터가 최신의 데이터인지 여부까지 판단할 수 있다.
바람직하게는, 데이터 동일성 판단부(312)는 최종 동기화 데이터에 대한 메타데이터를 로컬 데이터서버(220)로부터 수신하고, 동기화대상 데이터에 대한 메타데이터를 연산을 통해 구하여 상기 양 데이터의 메타데이터들을 비교함으로써 최종 동기화 데이터와 동기화대상 데이터의 동일성을 판단한다. 이때, 동기화대상 데이터의 메타데이터가 상이하고, 최종 동기화 데이터가 더 최신인 것으로 판단된 경우, 최신 동기화 데이터를 로컬 데이터서버(220)로 요청하여 다운로드한다. 즉, 데이터 동일성 판단시 데이터 그 자체를 로컬 서버(200)로부터 수신할 경우, 네트워크 트래픽이 비정상적으로 증가하여 클라이언트의 정상적인 작동을 보장할 수 없게 되므로, 데이터 동일성 판단시에는 데이터 용량이 작은 메타데이터로만 동일성을 판단하고, 메타데이터가 상이할 경우에만 실제 데이터를 로컬 서버(200)로부터 다운로드함으로써 보다 효율적인 데이터 송수신이 이루어질 수 있도록 한다. 또한, 이러한 메타데이터는 1회만 다운로드하여 동일성 판단이 필요할 때마다 재사용할 수도 있다는 점에서 장점이 있다.
동기화부(313)는 판단 대상이 된 두 개의 데이터 자체가 상이하거나 상기 두 개의 데이터에 대한 메타데이터가 상이하고, 최종 동기화 데이터(사용자가 마지막으로 공용 PC에 저장한 데이터)가 최신인 것으로 판단된 경우, 최종 동기화 데이터를 동기화대상 데이터 위에 오버라이트(overwrite)하여 클라이언트 단말(300)을 동기화한다. 한편, 판단 대상이 된 두 개의 데이터 자체가 상이하거나 상기 두 개의 데이터에 대한 메타데이터가 상이하고, 동기화대상 데이터가 최신인 경우, 동기화부(313)는 동기화대상 데이터를 로컬 데이터서버(220)로 전송한다. 전송된 동기화대상 데이터는 최종 동기화 데이터로서 오버라이트되어 로컬 데이터서버(220)가 업데이트될 수 있다. 한편, 판단 대상이 된 두 개의 데이터가 동일한 경우, 동기화가 이미 완료된 것으로 판단하여 동기화가 수행되지 않는다.
한편, 데이터 동일성 판단부(312)는 로컬 데이터서버(220) 내에 위치할 수도 있다. 이 경우, 클라이언트 에이전트(310)에서 동기화대상 데이터를 로컬 데이터서버(220)로 전송한 후, 서버(220)에서 동일성 판단이 이루어진 후, 클라이언트 에이전트(310)가 동일성 결과와 최종 동기화 데이터를 수신받아 동기화를 진행할 수 있다. 그러나, 이러한 경우, 모든 클라이언트에 대해 서버가 동일성 판단에 필요한 연산을 수행하고 동일성 결과를 전송해야 하므로 서버의 연산량과 네트워크 트래픽이 증가하게 된다. 따라서, 데이터 동일성 판단부(312)가 클라이언트 단말 내에 위치하게 되는 경우, 효율성이 향상된다.
한편, 최종 동기화 데이터에 사용자가 최근 사용한 아이콘 또는 자주 사용한 아이콘에 관한 정보가 포함되어 있는 경우, 클라이언트 에이전트(310)는 클라이언트 단말(300)의 모니터를 통하여 최근 사용한 아이콘 또는 자주 사용한 아이콘 정보를 제공할 수도 있다.
클라이언트 롤백부(314)는 클라이언트 단말(300)의 동기화가 실패할 경우, 동기화 직전으로 복원한다. 구체적으로, 클라이언트 롤백부(314)는 클라이언트 단말(300) 내에 동기화대상 데이터를 백업하여 저장한다. 이어서, 최종 동기화 데이터로 갱신하는 동기화 과정이 실패된 경우, 백업 저장된 동기화대상 데이터를 로딩함으로써 빠르게 롤백을 수행할 수 있다. 종래기술의 경우 롤백 수행시 기존의 데이터를 네트워크 통신을 통해 서버로부터 클라이언트 단말(300)로 가져오기 때문에 네트워크 트래픽이 발생하게 되지만, 본 발명의 일 실시예의 경우, 기존의 데이터를 미리 클라이언트 단말(300)에 백업하기 때문에 트래픽 문제를 발생시키지 않는다.
또한, 클라이언트 롤백부(314)와 로컬 데이터서버(220)의 서버 롤백부(222)에서는 동기화대상 파일과 연관 파일(또는 동기화대상 레지스트리와 연관 레지스트리)을 그룹으로 묶어서 함께 롤백을 수행한다. 이로 인하여, 상기 파일이나 레지스트리들 중 어느 하나의 파일이나 레지스트리만 갱신된 채 롤백되지 않는 경우를 방지하여, 동기화대상 파일이나 레지스트리에 대한 프로그램이 정상적으로 실행될 수 있도록 한다.
한편, 추가 실시예로서, 클라이언트 에이전트(310)와 로컬 데이터서버(220)는 각각 데이터 검증부를 더 포함할 수도 있다. 클라이언트 에이전트(310)측의 데이터 검증부는 동일성을 판단한 후, 로컬 데이터서버(220)로부터 최종 동기화 데이터와 그 메타데이터를 수신하였을 때, 최종 동기화 데이터에 해시 함수를 적용하여 제 2 해시값을 구한다. 이어서, 수신된 메타데이터에 포함된 최종 동기화 데이터의 제 1 해시값과 제 2 해시값이 동일한지 판단하여, 상기 최종 동기화 데이터를 검증한다. 만약 동일하지 않은 경우 데이터 전송시에 변조가 발생한 것으로 판단한다. 아울러, 로컬 데이터서버(220) 측의 데이터 검증부는 클라이언트 에이전트(310)로부터 동기화대상 데이터가 최신인 것으로 판단되어, 서버 업데이트를 위한 동기화대상 데이터와 그 메타데이터를 수신한 경우, 업데이트를 수행하기 전에 동기화대상 데이터의 연산된 해시값과 메타데이터에 포함된 해시값을 비교하여 검증을 수행한다.
이하, 도 6을 참고하여, 루트 정책서버(110)의 내부 구성에 대하여 구체적으로 설명한다.
루트 정책서버(110)는 로컬 서버 관리부(111)를 포함한다.
로컬 서버 관리부(111)는 로컬 관리자 계정의 등록, 제거, 활성화 여부 및 로컬 서버(200)의 IP의 관리를 수행한다. 예를 들어, 로컬 서버 관리부(111)는 로컬 관리자가 로그온하여 루트 서버(100)로 접속할 경우, 로컬 서버(200)로 동기화 정책정보 및/또는 동기화대상 데이터 등을 다운로드시킨다. 다만, 로컬 관리자의 로그온에 대하여 로컬 서버 관리부(111)의 응답이 없으며, 로컬 서버(200)의 다운로드 날짜가 7일 이내인 경우, 로컬 서버(200)는 이미 저장되어 있던 동기화 정책정보 및/또는 동기화대상 데이터 등을 로딩할 수 있다.
또한, 로컬 서버 관리부(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 관리 단말)에 액세스할 수 있도록 한다.
한편, 도 6에는 도시되지 않았으나, 도 3을 통하여 설명된 로컬 서버(200)의 내부 구성은 루트 서버(100)에도 모두 포함될 수도 있다. 로컬 서버(200)에 오류가 발생하는 등 본래 기능을 수행하지 못할 때, 루트 서버(100)가 로컬 서버(200)의 기능을 대신 수행할 수도 있기 때문이다.
예를 들어, 클라이언트 에이전트(310)의 식별정보 전송부(311)는 미리 설정된 시간 이내에 로컬 정책서버(210)로부터 동기화 정책정보를 수신하지 못할 경우, 로컬 정책서버(210)의 오류라고 판단하여 루트 정책서버(110)로 사용자 식별정보 및 클라이언트 식별정보를 전송하고 동기화 정책정보를 요청할 수 있다. 루트 정책서버(110)는 요청에 대하여, 사용자 식별정보 및 클라이언트 식별정보에 대응하는 동기화 정책정보를 검색하고 클라이언트 에이전트(310)로 전송할 수 있다. 또한, 클라이언트 에이전트(310)의 데이터 동일성 판단부(312)는 미리 설정된 시간 이내에 로컬 데이터서버(220)로부터 동기화 데이터를 수신하지 못할 경우 루트 데이터서버(120)로 동기화대상 데이터 전송을 요청할 수도 있다.
이하, 도 7 및 도 8을 참조하여, 상술한 본 발명의 시스템을 통하여 수행되는 클라이언트 단말(300)에 대한 사용자 맞춤형 동기화 서비스 제공방법에 대하여 구체적으로 설명한다.
설명에 들어가기에 앞서 전제로서, 본 발명의 일 실시예는 사용자가 생성한 데이터가 유지되지 않는 모든 환경에 유용하게 이용될 수 있다. 즉, 클라이언트 단말(300)은 공용 PC 환경에 설치된 단말 중 하나로서, 개인설정이 초기화되어 있는 상태이다. 클라이언트 단말(300)에 설치된 초기화 솔루션에 의해, 사용자가 마지막으로 저장한 데이터는 클라이언트 단말(300)의 재부팅시 모두 삭제될 수 있다.
먼저, 도 7을 참조하면, 사용자가 클라이언트 단말(300)을 재부팅할 경우, 클라이언트 에이전트(310)가 자동으로 실행되며 사용자 식별정보를 입력받는 페이지를 제공한다. 클라이언트 에이전트(310)는 사용자 식별정보와 클라이언트 단말의 식별정보를 로컬 서버(200)로 전송한다(S101).
로컬 서버(200)는 사용자 식별정보를 통하여 서비스 가입자인지 확인하는 인증절차를 수행한다(S102).
이어서, 로컬 서버(200)는 사용자 식별정보 및 클라이언트 단말의 식별정보에 대응하는 동기화 정책정보를 검색하고 (S103), 클라이언트 에이전트(310)로 검색된 동기화 정책정보를 전송한다(S104).
한편, 클라이언트 에이전트(310)는 일정시간 내에 로컬 서버(200)로부터 동기화 정책정보를 수신하지 못하는 경우, 로컬 서버(200)의 오류라고 판단하여 루트 서버(100)로 사용자 식별정보 및 클라이언트 단말의 식별정보를 전송하면서 동기화 정책정보를 요청한다(S105).
이에 따라 클라이언트 에이전트(310)는 루트 서버(100)로부터 동기화 정책정보를 수신할 수 있다(S106).
클라이언트 에이전트(310)는 동기화 정책정보를 참조하여, 클라이언트 단말(300)의 데이터 저장소(320) 내에 동기화대상 데이터를 검색하고(S107), 로컬 서버(200)로 동기화대상 데이터에 대응하는 최종 동기화 데이터를 요청한다(S108).
이어서, 클라이언트 에이전트(310)는 최종 동기화 데이터를 수신한다(S109). 바람직하게는, 클라이언트 에이전트(310)는 최종 동기화 데이터의 메타데이터를 로컬 서버(200)로부터 수신한다. 여기서 메타데이터는 해시값, 데이터의 크기 및 데이터의 최신갱신일자 중 적어도 하나를 포함한다.
클라이언트 에이전트(310)는 최종 동기화 데이터와 클라이언트 단말 내에 저장된 동기화대상 데이터를 비교한다(S110). 구체적으로, 클라이언트 에이전트(310)는 최종 동기화 데이터와 동기화대상 데이터의 메타데이터들을 비교하여 최종 동기화 데이터와 동기화대상 데이터 간의 동일성을 판단한다. 비교결과, 상기 두 개의 데이터에 대한 메타데이터들이 상이하여 상기 두 개의 데이터 자체가 상이한 것으로 판단되고, 로컬 서버(200)가 보유한 최종 동기화 데이터가 가장 최신의 것으로 확인된 경우, 클라이언트 에이전트(310)는 최종 동기화 데이터를 로컬 서버(200)에 요청하여 다운로드받고, 다운로드받은 최종 동기화 데이터를 동기화대상 데이터 위에 오버라이트하여 클라이언트 단말을 동기화한다(S110).
한편, 클라이언트 에이전트(310)가 일정시간 내에 최종 동기화 데이터를 로컬 서버(200)로부터 수신하지 못하는 경우, 클라이언트 에이전트(310)는 루트 서버(100) 또는 루트 서버(100)가 지정한 다른 데이터서버로 요청하고, 최종 동기화 데이터를 수신할 수도 있다.
이어서, 도 8을 참조하여, 롤백과정에 대하여 구체적으로 설명한다. 먼저, 도 1의 S109단계와 대응하는 S209 단계부터 시작하는 것으로 설명하도록 한다.
클라이언트 에이전트(310)는 최종 동기화 데이터와 동기화대상 데이터를 상기 두 개의 데이터의 메타데이터들을 통하여 비교한다(S209).
양자가 동일한 경우, 동기화가 이루어지지는 않으나, 동일하지 않은 경우, 어느 데이터가 더 최신의 것인지 판단한다(S210). 예를 들어, 데이터의 최근갱신일자를 기준으로 판단될 수 있다.
동기화대상 데이터가 더 최신인 경우, 클라이언트 에이전트(310)는 동기화대상 데이터를 로컬 서버(200)로 전송하며(S211), 로컬 서버(200)는 최종 동기화 데이터를 로컬 서버(200) 내의 공간에 백업하여 저장한다(S212).
이어서, 로컬 서버(200)는 동기화대상 데이터로 갱신하는 동기화를 수행한다(S213).
다만, 동기화가 실패될 경우, 백업 저장된 데이터를 불러옴으로써 롤백을 수행한다(S214).
한편, 최종 동기화 데이터가 더 최신의 것인 경우, 클라이언트 에이전트(310) 는 동기화대상 데이터를 백업하여 저장한다(S215).
이어서, 클라이언트 에이전트(310)는 최종 동기화 데이터를 로컬 서버(200)로부터 다운로드받고 동기화대상 데이터 위에 덮어씀으로써 동기화를 수행한다(S216).
다만, 동기화가 실패될 경우, 백업 저장된 데이터를 불러옴으로써 롤백을 수행한다(S217). 특히, 클라이언트 단말(300)에서의 롤백은 이미 백업된 자료를 이용하는 것이므로, 다시 로컬 서버(200)로 기존의 데이터를 요청할 필요가 없어 네트워크 트래픽을 발생시키지 않는다는 점에서 장점이 있다.
이상으로 설명한 바와 같이, 본 발명의 일 실시예에 따른 사용자 맞춤형 동기화 서비스 제공방법 및 시스템은, 하드디스크 보안프로그램이나 초기화 솔루션의 사용으로 개인데이터 저장이 불가능한 공용 PC 환경에서도 각 개인마다 고유한 데이터를 동기화시킴으로써, 개인에게 최적화된 PC 환경을 어디에서든 제공할 수 있다. 이러한 비즈니스 모델은 업소에는 솔루션을 제공하고 어플리케이션별 동기화 위치를 업데이트 해줌으로써 B2B 수익을 창출할 수 있으며, 개인에게는 동기화 서비스를 제공함으로써 B2C 수익을 얻을 수도 있다. 또한, 본 발명의 일 실시예는 노하드 시스템(즉, 디스크 이미지를 서버에 두고 다수의 PC에서 디스크 이미지를 공유하여 동작하는 시스템)으로 변화하고 있는 대형 PC방에서도 개인화된 클라우드 서비스를 제공할 수 있다는 점에서 확장성을 가질 수도 있다.
도 7 및 도 8을 통해 설명된 본 발명의 일실시예의 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한 본 발명의 일 실시예에 따른 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 본 발명의 일 실시예에 따른 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
이상에서 본 발명의 실시예에 관하여 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 특허청구범위를 벗어남이 없이 다양하게 변형 실시할 수 있을 것으로 이해된다.
100 : 루트 서버
110 : 루트 정책서버
120 : 루트 데이터서버
200 : 로컬 서버
210 : 로컬 정책서버
220 : 로컬 데이터서버
300 : 클라이언트 단말
310 : 클라이언트 에이전트
320 : 데이터 저장소

Claims (25)

  1. 클라이언트 단말에 설치된 클라이언트 에이전트 및 로컬 서버에 의하여 수행되는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법에 있어서,
    (a) 상기 로컬 서버에서, 동기화대상 데이터가 상기 클라이언트 단말 내에 저장된 영역에 대한 위치정보를 포함하는 동기화 정책정보를 상기 클라이언트 에이전트로 전송하는 단계;
    (b) 상기 클라이언트 에이전트에서, 상기 동기화 정책정보에 기반하여 상기 동기화대상 데이터에 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 요청하는 단계; 및
    (c) 상기 클라이언트 에이전트에서, 상기 최종 동기화 데이터를 상기 로컬 서버로부터 수신하고, 상기 최종 동기화 데이터 및 동기화대상 데이터가 상이한 경우 상기 클라이언트 단말을 동기화하는 단계를 포함하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
  2. 청구항 1에 있어서,
    상기 동기화 정책정보는 동기화대상 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 정보, 동기화 대상에서 제외되는 파일 또는 레지스트리에 대한 정보 및 공통 동기화 정책정보와 개인별 동기화 정책정보 중 적어도 하나를 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
  3. 청구항 1에 있어서,
    상기 (a) 또는 (c) 단계는, 상기 클라이언트 에이전트에서, 상기 미리 설정된 시간 이내에 상기 로컬 서버로부터 상기 (a) 또는 (c) 단계 수행을 위한 정보를 수신하지 못하는 경우, 루트 서버로 상기 사용자 식별정보 및 클라이언트 단말의 식별정보를 전송하고 상기 (b) 또는 (d) 단계의 수행을 요청하는 단계와, 상기 루트 서버에서, 상기 사용자 식별정보 및 클라이언트 단말의 식별정보에 대응하여 상기 루트 서버 내에 저장된 상기 동기화 정책정보 또는 최종 동기화 데이터를 검색하여 상기 클라이언트 에이전트로 전송함으로써 상기 (b) 또는 (d) 단계를 수행하는 단계를 포함하며, 상기 루트 서버는 상기 로컬 서버에 대한 상위 계층 서버로서 상기 클라이언트 에이전트와 통신연결되며, 상기 로컬 서버 및 다른 복수의 로컬 서버에 저장된 동기화 정책정보를 저장하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
  4. 청구항 3에 있어서,
    (d) 로컬 관리자의 제 1 관리 단말에 상기 로컬 서버가 설치될 경우 상기 제 1 관리 단말에서 상기 로컬 관리자의 식별정보와 상기 제 1 관리 단말의 IP 주소를 상기 루트 서버로 전송하는 단계와, 상기 로컬 서버가 상기 로컬 관리자의 제 2 관리 단말에 재설치될 경우 상기 루트 서버에서 상기 제 1 관리 단말의 IP 주소가 상기 제 2 관리 단말의 IP 주소로 갱신되도록 상기 제 2 관리 단말에서 상기 루트 서버로 상기 로컬 관리자의 식별정보와 상기 제 2 관리 단말의 IP 주소를 전송하는 단계를 더 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
  5. 청구항 1에 있어서,
    상기 동기화 정책정보는 상기 동기화대상 데이터가 저장된 영역에 대한 위치정보로서, 상기 동기화대상 데이터가 저장된 위치를 나타내는 전체 문자열 중 일부 문자열을 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
  6. 청구항 5에 있어서,
    (e) 상기 (a) 단계 후, 상기 클라이언트 에이전트에서, 상기 클라이언트 단말 내의 상기 일부 문자열을 포함하는 위치에 저장된 데이터들과 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 상기 로컬 서버로 요청하는 단계를 더 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
  7. 청구항 1에 있어서,
    상기 (b) 단계는 상기 동기화대상 데이터와 상기 최종 동기화 데이터의 해시값, 전체 데이터정보, 데이터 크기 및 데이터 최종갱신일시 중 적어도 하나를 기준으로 상기 동기화대상 데이터와 상기 최종 동기화 데이터를 비교하여 상기 동일성을 판단하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
  8. 청구항 7에 있어서,
    상기 (b) 단계는 (b-1) 상기 클라이언트 에이전트에서, 상기 최종 동기화 데이터에 대한 메타데이터를 상기 로컬 서버로부터 수신하고, 상기 동기화대상 데이터에 대한 메타데이터를 생성하는 단계와, (b-2) 상기 최종 동기화 데이터와 동기화대상 데이터에 대한 메타데이터들의 동일성을 판단하여, 상기 메타데이터들이 서로 상이한 경우 상기 로컬 서버로 상기 최종 동기화 데이터의 전송을 요청하는 단계를 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
  9. 청구항 1에 있어서,
    (f) 상기 (c) 단계에서 상기 클라이언트 단말의 동기화에 실패한 경우, 상기 클라이언트 단말의 상태를 동기화 직전의 상태로 복원하는 롤백을 수행하는 단계를 더 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
  10. 청구항 9에 있어서,
    상기 (c) 단계는 상기 클라이언트 에이전트에서 상기 동기화대상 데이터를 백업한 후 상기 클라이언트 단말에 대한 동기화를 수행하고, 상기 로컬 서버에서 상기 최종 동기화 데이터를 백업한 후 상기 로컬 서버에 대한 동기화를 수행하며, 상기 (f) 단계는 상기 (c) 단계에서 동기화에 실패한 경우 상기 클라이언트 에이전트에서 상기 클라이언트 단말에 백업된 데이터를 통하여 상기 클라이언트 에이전트에 대한 롤백을 수행하거나, 상기 로컬 서버에서 상기 로컬 서버에 백업된 데이터를 통하여 상기 로컬 서버에 대한 롤백을 수행하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
  11. 청구항 9에 있어서,
    상기 동기화 정책정보는 동기화대상 파일 또는 레지스트리와 연관된 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 동기화 그룹정보를 더 포함하며, 상기 (c) 단계는 상기 동기화 그룹정보를 바탕으로 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대응하는 최종 동기화 데이터를 수신하여 상기 클라이언트 단말을 동기화하며, 상기 (f) 단계는 상기 클라이언트 단말에 저장된 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대하여 함께 롤백을 수행하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
  12. 청구항 1에 있어서,
    상기 (c) 단계는 상기 로컬 서버로부터 최종 동기화 데이터와 최종 동기화 데이터의 제 1 해시값을 수신하고, 상기 최종 동기화 데이터에 해시 함수를 적용하여 제 2 해시값을 구하며, 상기 제 1 및 제 2 해시값이 동일한지 판단하여, 상기 최종 동기화 데이터를 검증하는 단계를 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공방법.
  13. 클라이언트 단말에 설치된 클라이언트 에이전트 및 로컬 서버를 포함하는, 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템에 있어서,
    상기 로컬 서버는, 동기화대상 데이터가 상기 클라이언트 단말 내에 저장된 영역에 대한 위치정보를 포함하는 동기화 정책정보를 상기 클라이언트 에이전트로 전송하는 동기화 정책정보 전송부를 포함하고,
    상기 클라이언트 에이전트는, 상기 클라이언트 에이전트에서, 상기 동기화 정책정보에 기반하여 상기 동기화대상 데이터에 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 요청하고, 상기 최종 동기화 데이터를 수신하여 상기 최종 동기화 데이터 및 동기화 대상 데이터의 동일성을 판단하는 데이터 동일성 판단부와, 상기 최종 동기화 데이터 및 동기화대상 데이터가 상이한 경우 상기 클라이언트 단말을 동기화하는 동기화부를 포함하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
  14. 청구항 13에 있어서,
    상기 동기화 정책정보는 동기화대상 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 정보, 동기화 대상에서 제외되는 파일에 대한 정보 및 공통 동기화 정책정보와 개인별 동기화 정책정보 중 적어도 하나를 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
  15. 청구항 13에 있어서,
    상기 로컬 서버에 대한 상위 계층 서버로서, 상기 클라이언트 에이전트와 통신연결되며, 상기 로컬 서버 및 다른 복수의 로컬 서버에 저장된 동기화 정책정보를 저장하는 루트 서버를 더 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
  16. 청구항 15에 있어서,
    상기 클라이언트 에이전트는 상기 미리 설정된 시간 이내에 상기 로컬 서버로부터 상기 동기화 정책정보 또는 동기화를 위한 상기 최종 동기화 데이터를 수신하지 못하는 경우, 상기 루트 서버로 상기 사용자 식별정보 및 클라이언트 단말의 식별정보를 전송하고 상기 동기화 정책정보 또는 상기 최종 동기화 데이터를 요청하며, 상기 루트 서버는 상기 사용자 식별정보 및 클라이언트 단말의 식별정보에 대응하여 상기 루트 서버 내에 저장된 상기 동기화 정책정보 또는 최종 동기화 데이터를 검색하여 상기 클라이언트 에이전트로 전송하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
  17. 청구항 13에 있어서,
    로컬 관리자의 제 1 관리 단말에 상기 로컬 서버가 설치될 경우, 상기 제 1 관리 단말에 설치된 로컬 서버가 상기 로컬 관리자의 식별정보와 상기 제 1 관리 단말의 IP 주소를 상기 루트 서버로 전송하며, 상기 로컬 서버가 상기 로컬 관리자의 제 2 관리 단말에 재설치될 경우, 상기 루트 서버에서 상기 제 1 관리 단말의 IP 주소가 상기 제 2 관리 단말의 IP 주소로 갱신되도록 상기 제 2 관리 단말에 설치된 로컬 서버가 상기 루트 서버로 상기 로컬 관리자의 식별정보와 상기 제 2 관리 단말의 IP 주소를 전송하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
  18. 청구항 13에 있어서,
    상기 동기화 정책정보는 상기 동기화대상 데이터가 저장된 영역에 대한 위치정보로서, 상기 동기화대상 데이터가 저장된 위치를 나타내는 전체 문자열 중 일부 문자열을 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
  19. 청구항 18에 있어서,
    상기 클라이언트 에이전트는 상기 클라이언트 단말 내의 상기 일부 문자열을 포함하는 위치에 저장된 동기화대상 데이터들과 대응하여 상기 로컬 서버에 저장된 최종 동기화 데이터를 상기 로컬 서버로 요청하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
  20. 청구항 13에 있어서,
    상기 데이터 동일성 판단부는 상기 동기화대상 데이터와 상기 최종 동기화 데이터의 해시값, 전체 데이터정보, 데이터 크기 및 데이터 최종갱신일시 중 적어도 하나를 기준으로 상기 동기화대상 데이터와 상기 최종 동기화 데이터를 비교하여 상기 동일성을 판단하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
  21. 청구항 20에 있어서,
    상기 데이터 동일성 판단부는 상기 최종 동기화 데이터에 대한 메타데이터를 상기 로컬 서버로부터 수신하고, 상기 동기화대상 데이터에 대한 메타데이터를 생성하며, 상기 최종 동기화 데이터와 동기화대상 데이터에 대한 메타데이터들의 동일성을 판단하여, 상기 메타데이터들이 서로 상이한 경우, 상기 로컬 서버로 상기 최종 동기화 데이터의 전송을 요청하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
  22. 청구항 13에 있어서,
    상기 로컬 서버는 상기 클라이언트 단말의 동기화에 실패한 경우, 상기 클라이언트 단말의 상태를 동기화 직전의 상태로 복원하는 롤백을 수행하는 롤백 실행부를 더 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
  23. 청구항 22에 있어서,
    상기 클라이언트 에이전트는 상기 동기화대상 데이터를 백업한 후 상기 클라이언트 단말에 대한 동기화를 수행하고, 상기 클라이언트 단말의 동기화에 실패한 경우 상기 클라이언트 단말에 백업된 데이터를 통하여 상기 클라이언트 단말에 대한 롤백을 수행하며, 상기 로컬 서버의 동기화부는 상기 최종 동기화 데이터를 백업한 후 상기 로컬 서버에 대한 동기화를 수행하며, 상기 로컬 서버에 백업된 데이터를 통하여 상기 로컬 서버에 대한 롤백을 수행하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
  24. 청구항 22에 있어서,
    상기 동기화 정책정보는 동기화대상 파일 또는 레지스트리와 연관된 파일 또는 레지스트리가 상기 클라이언트 단말에 저장된 위치에 관한 동기화 그룹정보를 더 포함하며, 상기 클라이언트 에이전트는 상기 동기화 그룹정보를 바탕으로 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대응하는 최종 동기화 데이터를 수신하여 상기 클라이언트 단말을 동기화하며, 상기 클라이언트 단말에 저장된 상기 동기화대상 파일 또는 레지스트리와 상기 연관된 파일 또는 레지스트리에 대하여 함께 롤백을 수행하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
  25. 청구항 13에 있어서,
    상기 클라이언트 에이전트는 상기 로컬 서버로부터 최종 동기화 데이터와 최종 동기화 데이터의 제 1 해시값을 수신하고, 상기 최종 동기화 데이터에 해시 함수를 적용하여 제 2 해시값을 구하며, 상기 제 1 및 제 2 해시값이 동일한지 판단하여, 상기 최종 동기화 데이터를 검증하는 데이터 검증부를 더 포함하는 것을 특징으로 하는 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 시스템.
KR1020140112328A 2014-08-27 2014-08-27 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템 KR101638689B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140112328A KR101638689B1 (ko) 2014-08-27 2014-08-27 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140112328A KR101638689B1 (ko) 2014-08-27 2014-08-27 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020150180405A Division KR20160025488A (ko) 2015-12-16 2015-12-16 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템

Publications (2)

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

Family

ID=55534321

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140112328A KR101638689B1 (ko) 2014-08-27 2014-08-27 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101638689B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102004157B1 (ko) * 2018-02-28 2019-07-29 (주)스마트엑세스 단말 장치 동기화 방법
KR102356571B1 (ko) * 2021-08-02 2022-02-09 주식회사 핑고엔터테인먼트 다자간의 파일 동기화 방법 및 시스템
WO2024101878A1 (ko) * 2022-11-08 2024-05-16 삼성전자주식회사 손상된 메타데이터를 복구하기 위한 방법 및 이를 지원하는 전자 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102661645B1 (ko) 2016-12-15 2024-05-02 삼성전자주식회사 전자 장치 및 그의 제어 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101045540B1 (ko) * 2009-12-28 2011-07-01 (주)유성글로벌 데이터 동기화 시스템 및 방법
KR101201680B1 (ko) * 2011-01-17 2012-11-15 크로시스(주) 이기종 단말 간의 개인정보 동기화 방법 및 그 시스템
KR20130033558A (ko) * 2011-09-27 2013-04-04 주식회사 미니게이트 해쉬함수를 이용한 다수 단말 간의 데이터 동기화 방법
KR20130109338A (ko) * 2012-03-27 2013-10-08 에스케이텔레콤 주식회사 캐시 동기화 시스템, 그의 캐시 동기화 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101045540B1 (ko) * 2009-12-28 2011-07-01 (주)유성글로벌 데이터 동기화 시스템 및 방법
KR101201680B1 (ko) * 2011-01-17 2012-11-15 크로시스(주) 이기종 단말 간의 개인정보 동기화 방법 및 그 시스템
KR20130033558A (ko) * 2011-09-27 2013-04-04 주식회사 미니게이트 해쉬함수를 이용한 다수 단말 간의 데이터 동기화 방법
KR20130109338A (ko) * 2012-03-27 2013-10-08 에스케이텔레콤 주식회사 캐시 동기화 시스템, 그의 캐시 동기화 방법 및 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102004157B1 (ko) * 2018-02-28 2019-07-29 (주)스마트엑세스 단말 장치 동기화 방법
KR102356571B1 (ko) * 2021-08-02 2022-02-09 주식회사 핑고엔터테인먼트 다자간의 파일 동기화 방법 및 시스템
WO2024101878A1 (ko) * 2022-11-08 2024-05-16 삼성전자주식회사 손상된 메타데이터를 복구하기 위한 방법 및 이를 지원하는 전자 장치

Also Published As

Publication number Publication date
KR101638689B1 (ko) 2016-07-11

Similar Documents

Publication Publication Date Title
US11907254B2 (en) Provisioning and managing replicated data instances
US11144573B2 (en) Synchronization protocol for multi-premises hosting of digital content items
US20220407725A1 (en) File storage method, terminal, and storage medium
KR102026225B1 (ko) 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법
US9485134B2 (en) Managing configurations of system management agents in a distributed environment
US8935687B2 (en) Incrementally updating a software appliance
KR101130367B1 (ko) 소프트웨어 분산 서비스를 위한 시스템 및 방법
US9350610B2 (en) System and method for configuration management service
KR101150041B1 (ko) 델타 압축 패칭을 이용하여 파일을 업데이트하기 위한시스템 및 방법
KR101098621B1 (ko) 네트워킹된 환경에서 설치 컴포넌트들을 업데이트하는시스템 및 방법
US8495621B2 (en) Catalog-based software component management
US8943496B2 (en) Providing a hosted appliance and migrating the appliance to an on-premise environment
US20240179212A1 (en) Hosted file sync with stateless sync nodes
US10158693B2 (en) Peer-to-peer network download optimization
US8346886B2 (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
US9032367B2 (en) Providing a demo appliance and migrating the demo appliance to a production appliance
US10209976B2 (en) Automated application installation
KR101638689B1 (ko) 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템
US20140109089A1 (en) System to rebuild difference virtual hard disk for updating operation system and method thereof
KR20190110082A (ko) 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법
KR20160025488A (ko) 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템
US10713121B1 (en) Dynamic migration of a cloud based distributed file system metadata server
JP2000315169A (ja) クライアント−サーバシステムおよびマスタ参照負荷軽減方法

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