KR20080106672A - 자료 동기화 방법 및 그에 따른 자료 동기화 게이트웨이 - Google Patents

자료 동기화 방법 및 그에 따른 자료 동기화 게이트웨이 Download PDF

Info

Publication number
KR20080106672A
KR20080106672A KR1020070054388A KR20070054388A KR20080106672A KR 20080106672 A KR20080106672 A KR 20080106672A KR 1020070054388 A KR1020070054388 A KR 1020070054388A KR 20070054388 A KR20070054388 A KR 20070054388A KR 20080106672 A KR20080106672 A KR 20080106672A
Authority
KR
South Korea
Prior art keywords
synchronization
data
message
standard
synchronization method
Prior art date
Application number
KR1020070054388A
Other languages
English (en)
Other versions
KR100884543B1 (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 KR1020070054388A priority Critical patent/KR100884543B1/ko
Publication of KR20080106672A publication Critical patent/KR20080106672A/ko
Application granted granted Critical
Publication of KR100884543B1 publication Critical patent/KR100884543B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/16Gateway arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 비표준 자료 동기화 방식에 따른 단말기와 표준 자료 동기화 방식에 따른 서버 사이에 설치되는 자료 동기화 게이트웨이에 관한 것으로, 비표준 자료 동기화 방식에 따른 단말기와 상기 비표준 자료 동기화 방식에 따라 통신을 이행하는 통신모듈; 상기 표준 자료 동기화 방식에 따른 서버에 대한 클라이언트 역할을 이행하는 클라이언트 기능부; 상기 통신모듈을 통해 비표준 자료 동기화 방식에 따른 동기화 메시지가 수신되면, 상기 동기화 메시지를 파싱하여 실제 데이터와 표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 추출하고, 상기 실제 데이터와 표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 이용하여 상기 표준 자료 동기화 방식의 동기화 메시지를 생성하고, 상기 표준 동기화 방식의 동기화 메시지를 상기 클라이언트 기능부를 통해 표준 동기화 방식에 따른 서버로 송신하는 서버 기능 모듈을 포함한다. 상기한 본 발명은 비표준 자료 ㄷ동기화 방식의 단말기와 표준 자료 동기화 방식에 따른 서버 사이의 자료 동기화를 가능하게 하는 이점이 있다.
SyncML, HotSync, 자료동기화, 무선 통신, 마크업 언어

Description

자료 동기화 방법 및 그에 따른 자료 동기화 게이트웨이{Data-Synchronization method and Gateway thereof}
도 1은 본 발명의 바람직한 실시예에 따른 자료 동기화 게이트웨이를 구비하는 시스템의 블럭구성도.
도 2는 본 발명의 바람직한 실시예에 따른 자료 동기화 게이트웨이의 상세 구성도.
도 3은 단말기의 자료 동기화를 위한 구성을 도시한 블럭구성도.
도 4는 본 발명의 바람직한 실시예에 따른 자료 동기화 게이트웨이의 처리흐름도.
도 5는 단말기의 자료 동기화를 위한 처리흐름도.
도 6은 본 발명의 바람직한 실시예에 따른 자료 동기화 과정을 예시한 도면.
도 7은 본 발명의 바람직한 실시예에 따른 전체 동기화 시간과 자료 동기화 게이트웨이에서 소비시간에 대한 그래프.
본 발명은 단말기와 서버간의 자료 동기화 기술에 관한 것으로, 더욱 상세하 게는 OMA(Open Mobile Alliance)에서 제시한 표준 자료 동기화 방식인 SyncML 방식이 아닌 자료 동기화 방식을 채용하는 단말기와 SyncML 방식을 채용하는 서버간의 자료 동기화를 위한 방법 및 그에따른 자료 동기화 게이트웨이에 관한 것이다.
최근 이동 컴퓨팅 기술과 하드웨어 기술의 발달로 인해 이동통신 단말기가 매우 급속하게 보급되고 있다.
상기 이동통신 단말기의 사용자가 시간과 장소에 구애받지 않고 원하는 정보를 이용하기 위해서는 중앙 통합 서버의 자료와 이동통신 단말기의 자료를 동기화시키는 작업이 필요하며, 이를 자료 동기화(Data Synchronization)라고 한다.
OMA(Open Mobile Alliance)에서 제시한 표준 자료 동기화 방식인 SyncML 방식은 각 제조회사의 단말기가 가지고 있는 서로 다른 플랫폼, 통신 프로토콜, 자료 형태, 응용 서비스에 이용될 수 있는 자료 동기화 방식과 장치 관리에 대한 개방형 표준 인터페이스 개발을 목적으로 제안되었다. 또한, 상기 SyncML 방식은 개방형 표준과 다수의 구현 방식을 따르는 것을 채택함으로써 자료 동기화에 대한 사실상의 표준이 되는 것을 목적으로 한다.
상기한 바와 같이 SyncML 방식은 이동통신 단말기와 서버간의 원격 동기화를 목표로 설계되었으나, 로컬 동기화와 유선 네트워크로 연결된 장치들간의 동기화에도 사용될 수 있다.
한편, 상기 SyncML 방식을 기반으로 하는 클라이언트와 서버간에 동기화가 수행되는 동안에는 동기화 대상이 되는 객체는 논리적으로 패키지를 교환하며, 상기 패키지는 이동통신 단말기의 제한된 자원과 무선 통신상의 낮은 대역폭으로 인 해 다수의 메시지들로 분리되어 교환된다. 여기서, 한 번의 완전한 자료 동기화를 위해 클라이언트와 서버 간에 주고받은 모든 패키지를 세션이라고 하며, 세션은 여러 개의 패키지를 포함하고, 하나의 패키지는 여러 메시지를 포함한다.
상기 SyncML 방식에 따르는 자료 동기화 규격은 XML 기반의 자료 표현(Data Representation) 프로토콜, SyncML 동기화(Synchronization) 프로토콜 그리고 전송 바인딩(Transport Bindings) 프로토콜로 구성되어 있다.
첫째, SyncML 자료 표현 프로토콜은 자료 동기화를 위해 교환되는 SyncML 메시지의 논리적인 구조와 형태를 XML 형식으로 정의하고 있으며, 각각의 필드가 어떠한 정보를 담고 있으며 해당 정보가 어떤 의미를 내포하는 것인지에 대한 약속을 정의하고 있다.
둘째, SyncML 동기화 프로토콜은 SyncML 클라이언트와 서버 간에 이루어지는 자료 표현 프로토콜 규격에 의해 생성된 자료의 추가, 삭제, 갱신과 같은 동기화 명령과 그 밖의 상태 정보에 대한 메시지가 교환되는 방법에 대해서 정의하고 있다.
마지막으로, 전송 바인딩 프로토콜은 SyncML이 동기화 메시지를 전송하기 위해서 사용하는 것으로, HTTP, WSP, OBEX 등과 같은 프로토콜로서, SyncML 규격에서는 이러한 전송 바인딩 프로토콜에 대해서 새로운 프로토콜을 정의하는 것이 아니라, 기존의 전송 프로토콜과 바인딩 규칙만을 정의한다.
한편, Palm OS를 기반으로 하는 단말기에서 동작하는 자료 동기화 방식인 HotSync 방식은 Conduit이라는 코드 모듈을 이용하여 Palm OS 기기와 데스크 탑 컴 퓨터 간의 자료 동기화를 수행한다. 그러나 상기 Palm OS 기반의 HotSync 방식은 하위 베어러(Bearer)에 대한 기술적인 규격에 대하여 공개하고 있지 않다. 이에따라 Palm OS 기반의 응용 소프트웨어는 HotSync 솔루션을 가지고 있는 회사에서 개발 및 공급을 하고 있으며, XcelleNet, Mobile Automation, Pumatech, AdantGo 등과 같은 회사가 HotSync 방식에 대한 솔루션을 제공하고 있다.
상기 HotSync 방식에서 클라이언트는 HotSync 매니저, Conduit 모듈, Notifier DLL 모듈, Handheld App. 모듈, Desktop App. 모듈, Sync 매니저 API와 같은 6개의 컴포넌트를 구비한다. 또한 Hotsync 방식은 SyncML 방식과 유사한 저속 동기(Slow-sync)와 고속 동기(Fast-sync)의 두가지 자료 동기화 모드를 지원하며, 상기 고속 동기(Fast Sync)가 저속 동기(Slow Sync)보다 속도가 빠르기 때문에, 저속 동기(Slow Sync)보다 고속 동기(Fast Sync)를 우선적으로 수행한다.
현재 주요 단말기 제조 회사에서 제공하는 자료 동기화 솔루션이 존재하지만, 각각의 단말기와 응용 서비스 간의 호환성이 결여되어 있어, 각 단말기 제조 회사에서 제공되는 자료 동기화 방식의 상호 운용성을 보장하기 위해서 2000년 2월 여러 단말기 회사들이 주축이 된 OMA(Open Mobile Alliance)에서 SyncML 방식을 제안하여 공개적인 표준화를 시도하고 있다.
하지만, 각 단말기 제조회사들이 기술적인 경쟁을 통해서 시장점유율을 높이고 있기 때문에, 각각의 자료 동기화 방식에 대한 기술적인 공개를 하지 않고 있는 실정이다.
이에따라 SyncML 방식을 통한 자료 동기화 솔루션에 대한 표준화를 시도하고 있지만, 각각의 자료 동기화 방식을 탑재한 이동통신 단말기들이 모두 SyncML 방식을 동기화 표준화로 대체하기는 어려운 실정이다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출한 것으로서, Palm OS 운영체제를 기반으로 하는 HotSync 방식의 단말기와 SyncML 방식의 서버간의 자료 동기화를 가능하게 하는 자료 동기화 방법 및 그에 따른 자료 동기화 게이트웨이를 제공하는 것을 그 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 자료 동기화 방법은 비표준 자료 동기화 방식에 따른 단말기로부터 동기화 메시지가 수신되면, 상기 동기화 메시지를 파싱하여 실제 데이터와 표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 추출하는 단계; 상기 실제 데이터와 표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 이용하여 상기 표준 자료 동기화 방식의 동기화 메시지를 생성하는 단계; 상기 표준 동기화 방식의 동기화 메시지를 표준 동기화 방식에 따른 서버로 송신하는 단계를 포함하는 것을 특징으로 한다.
도 1은 본 발명에 따른 자료 동기화 게이트웨이를 구비하는 시스템의 구성도를 도시한 것이다.
상기 자료 동기화 게이트웨이(100)는 통신 모듈(102), 서버 기능 모듈(104), 프로토콜 매니저(112), SyncML 클라이언트 기능부(114), 데이터 스토어(116)를 구비한다.
상기 통신 모듈(102)은 단말기(200)와 HotSync 방식에 따라 HotSync 메시지를 송수신하며, 상기 서버 기능 모듈(104)로부터의 HotSync 메시지를 상기 단말기(200)로 송신하거나, 상기 단말기(200)로부터의 HotSync 메시지를 상기 서버 기능 모듈(104)로 제공한다.
상기 서버 기능 모듈(104)은 단말기(200)로부터 수신한 HotSync 메시지를 제공받아, HotSync 방식에 따른 HotSync 메시지에서 SyncML 메시지를 생성하기 위한 정보와 실제 데이터를 추출하고, 상기 실제 데이터를 데이터 스토어(116)에 반영하기 위해 프로토콜 매니저(112)로 제공하며, 상기 프로토콜 매니저(112)로부터의 동기화 이행 메시지에 따라 상기 SyncML 메시지를 생성하기 위한 정보와 실제 데이터를 이용하여 SyncML 방식의 SyncML 메시지를 생성하여 SyncML 클라이언트 기능부(114)를 통해 SyncML 서버(300)로 전송한다.
또한 상기 서버 기능 모듈(104)은 상기 syncML 서버(300)로부터 수신한 SyncML 방식의 SyncML 메시지에서 Hotsync 메시지를 생성하기 위한 정보와 실제 데이터를 추출하고, 상기 실제 데이터를 데이터 스토어(116)에 반영하기 위해 프로토콜 매니저(112)로 제공하며, 상기 프로토콜 매니저(112)로부터의 동기화 이행 메시지에 따라 상기 Hotsync 메시지를 생성하기 위한 정보와 실제 데이터를 이용하여 Hotsync 방식의 Hotsync 메시지를 생성하여 통신모듈(102)을 통해 단말기(200)로 전송한다.
여기서, 상기 서버 기능 모듈(104)에는 단말기(200)와의 HotSync 메시지 송수신을 위한 HotSync 프로토콜(108), 상기 SyncML 서버(300)와의 SyncML 메시지 송 수신을 위한 SyncML 프로토콜(110)이 구비된다.
상기 SyncML 클라이언트 기능부(114)는 상기 SyncML 서버(300)에 대한 SyncML 클라이언트 역할을 담당하여, SyncML 방식에 따라 상기 SyncML 서버(300)와 SyncML 메시지 송수신을 이행한다. 특히 SyncML 클라이언트 기능부(114)는 상기 서버 기능 모듈(104)로부터 제공받은 SyncML 방식에 따른 SyncML 메시지를 SyncML 서버(300)로 송신하고, 상기 SyncML 서버(300)로부터 제공되는 SyncML 메시지를 상기 서버 기능 모듈(104)로 제공한다.
상기 프로토콜 매니저(112)는 상기 서버 기능 모듈(104)로부터 제공되는 실제 데이터에 대한 정보(이하 ‘동기화 정보’라 칭함)를 참조하여 상기 서버 기능 모듈(104)로 동기화 이행 메시지를 제공한다.
즉, 상기 프로토콜 매니저(112)는 동기화 자료의 LUID(Local Unique ID) 및 GUID(Global Unique ID)를 검색하고, 상기 LUID 및 GUID의 ChangeLog 및 Anchor Info를 조회하여 동기화가 필요한지 여부를 판별하고, 상기 동기화가 필요한 것으로 판단되면 동기화 이행 메시지를 서버 기능 모듈(104)에 제공한다. 여기서, 상기 동기화는 동기화 자료에 대한 갱신, 추가, 삭제 등이다.
또한 상기 프로토콜 매니저(112)는 상기 서버 기능 모듈(104)로부터 자료 동기화 완료가 통지되면, 상기 Anchor info.를 갱신한 후에, 데이터 스토어(116)에 접근하여 동기화 정보를 제어한다.
상기 데이터 스토어(116)는 상기 동기화 정보가 저장되며, 상기 동기화 정보는 ChangeLog, Anchor 정보, 동기화 자료 맵핑 정보 및 동기화 자료 등이다.
상기한 바와 같이 동기화 자료 맵핑 정보에 대해 좀더 설명한다.
상기 단말기(200)와 상기 syncML 서버(300) 사이에는 동일한 동기화 자료에 대해서 각각 LUID(Local Unique ID)와 GUID(Global Unique ID)를 이용하여 상호간 맵핑을 이루고 있다.
만약, 상기 단말기(200)로부터 요청된 동기화 자료에 대해 자료 동기화 게이트웨이(100)를 거쳐서 syncML 서버(300)와 교환하는 경우에는, 상기 단말기(200)에서 생성된 LUID 및 GUID를 토대로 syncML 서버(300)와 동기화를 수행한 후 정상 종료한다.
그러나 syncML 서버(300)에서 생성된 새로운 GUID를 가진 동기화 자료에 대해서는 자료 동기화 게이트웨이(100)를 통하여 동기화가 수행된 후에, 해당 동기화 자료에 대한 LUID를 단말기(200)가 발급한다.
상기 새롭게 발급된 LUID는 상기 단말기(200)가 동기화의 완료후에 생성하므로, 상기 자료 동기화 게이트웨이(100)와 syncML 서버(300)는 해당 정보를 확인할 수 없다.
이에 상기 단말기(200)는 동기화 종료 후에 자료 동기화 게이트웨이(100)로 동기화 자료 맵핑 정보를 전달하며, 상기 자료 동기화 게이트웨이(100)는 상기 동기화 자료 맵핑 정보를 제공받아 해당 동기화 자료에 대한 동기화 정보로서 데이터스토어(116)에 저장한다.
상기한 본 발명의 바람직한 실시예에 따른 자료 동기화 게이트웨이(100)의 상세 구성을 도시한 도 2를 참조하면, 상기 서버 기능 모듈(104)에는 메시지 분석 기(400) 및 메시지 생성기(402)가 구비된다.
상기 메시지 분석기(400)는 자료 동기화를 요청하는 단말기(200)로부터 제공되는 Hotsync 메시지를 제공받아 SyncML 메시지로 변환하기 위한 정보와 실제 데이터로 파싱한 후에, 상기 메시지 생성기(402)로 전송한다.
또한 상기 메시지 분석기(400)는 SyncML 서버(300)로부터 SyncML 메시지를 수신하면, 상기 SyncML 메시지를 HotSync 메시지로 변환하기 위한 정보 및 실제 데이터로 파싱한 후에, 상기 메시지 생성기(402)로 전송한다.
상기 메시지 생성기(402)는 메시지 분석기(400)로부터 제공된 정보를 바탕으로 SyncML 메시지를 생성하여 SyncML 서버(300)로 전송하거나, HotSync 메시지를 생성하여 단말기(200)로 전송한다.
상기 프로토콜 매니저(112)는 Changelog 매니저(404), Anchor info. 매니저(406), 데이터 매니저(408)를 구비한다.
상기 데이터 매니저(408)는 상기 서버 기능 모듈(104)로부터 제공되는 데이터를 현재 데이터 스토어(116)에 저장된 Changelog를 참조하여 동기화 자료의 추가, 삭제, 수정 여부를 확인하고, 상기 확인 결과에 따라 상기 데이터 스토어(116)에 접근하여 동기화 정보의 추가 또는 삭제, 수정을 이행한다.
상기 Changelog 매니저(404)는 동기화 대상인 동기화 자료에 대한 Changelog를 상기 데이터 매니저(408)에 제공하거나, 상기 데이터 매니저(408)의 요청에 따라 상기 Changelog를 갱신한다. 여기서, 상기 Changelog는 각 동기화 자료에 대한 변경이력을 나타낸다.
상기 Anchor Info. 매니저(406)는 Anchor Info.를 관리한다. 여기서, 상기 Anchor Info.(Anchor Information)는 동기화를 수행하기 위하여, 단말기(200)와 syncML 서버(300) 사이의 가장 최근의 동기화 시점을 확인할 때에 사용되는 정보이다. 또한, Anchor Info.는 가장 최근의 동기화를 완료를 시점을 기록하는 Last_Sync Anchor Info.와 현재 진행 중인 동기화의 시점을 알려주는 Next_Sync Anchor Info.로 구성되어 있다.
도 3은 Hotsync 방식을 채용하는 단말기(200)의 자료 동기화를 위한 구성을 도시한 것이다.
상기 단말기(200)는 클라이언트 기능 모듈(202), 데이터 처리기(208), 동기화 자료 저장장치(210), 통신모듈(212)을 구비한다.
상기 클라이언트 기능 모듈(202)은 자료 동기화 게이트웨이(100)에 대해 클라이언트 역할을 이행하며, 동기화 자료 저장장치(210)에 저장된 동기화 자료의 추가 또는 삭제, 수정에 따른 이벤트가 발생하면, 상기 추가 또는 삭제, 수정된 동기화 자료에 대한 데이터를 분석하는 메시지 분석기(206)와, 상기 분석된 데이터를 Hotsync 메시지로 생성하여 통신모듈(212)을 통해 자료 동기화 게이트웨이(100)로 제공하는 메시지 생성기(204)를 구비한다.
상기 데이터 처리기(208)는 상기 동기화 자료 저장장치(210)와 상기 클라이언트 기능 모듈(202)간의 인터페이스를 제공하기 위해, 상기 데이터를 팩킹 또는 언팩킹을 이행한다.
이러한 데이터 처리기(208)의 동작을 좀더 설명한다.
일반적으로 Palm OS 기반의 HotSync 프로토콜에서의 데이터베이스는 필드나 인덱스를 가지지 않고, chunk 단위로 메모리 공간에 배열되며, SQL를 통하여 상위 레벨의 접근도 허용하지 않는다.
이와 같이 단순한 구조를 가지는 것은 단말기의 메모리 크기에 대한 한계와 데이터 처리기의 신속한 성능을 보장하기 위해서이다.
특히, 상기 단말기에는 데이터가 소정 레코드 구조로 팩(packed)되어 저장되고, 상기 저장된 데이터를 동기화 서버로 옮길 때에는 언팩(unpacked)된다. 상기 팩(packed)란 모든 자료들을 메모리 상에 순차적으로 로딩하는 것을 말하며, 상기 언팩(Unpacked)란 팩(packed)되어 메모리에 상주된 데이터들 중 처리 대상이 되는 데이터에 대해 접근하는 것을 일컫는다.
상기 동기화 자료 저장장치(210)에 저장된 동기화 자료에 접근하여 추출하기 위한 데이터 처리기(208)의 동작은 다음과 같다.
제1과정 : 동기화 자료 저장장치(210)의 동기화 자료 중 대상 동기화 자료를 오픈
제2과정 : 상기 대상 동기화 자료(팩 상태)를 내부 메모리상에 순차적으로 저장
제3과정 : 상기 대상 동기화 자료의 레코드 영역에 대해 언팩 처리
제4과정 : 언팩된 레코드 영역의 데이터에 대해 각 필드 데이터를 독출(read)하여 클라이언트 기능 모듈(202)로 전송
제5과정 : 각 필드의 데이터를 독출이 완료되면 팩 처리
상기 동기화 자료 저장장치(210)는 해당 단말기(200)의 동기화 자료를 저장한다.
상기 통신 모듈(212)은 상기 클라이언트 기능 모듈(202)과 자료 동기화 게이트웨이(100)간에 Hotsync 방식으로 Hotsync 메시지의 송수신을 이행한다.
이제, 상기한 바와 같이 구성되는 자료 동기화 시스템의 동작을 설명한다.
먼저, 상기 자료 동기화 게이트웨이(100)의 처리 동작을 도 4를 참조하여 설명한다.
상기 자료 동기화 게이트웨이(100)의 서버 기능 모듈(104)은 단말기(200)에 대해 서버 역할을 이행하여, 상기 단말기(200)로부터의 동기화 요청이 발생될 때까지 대기한다(500단계).
상기 대기 중에 상기 서버 기능 모듈(104)은 상기 단말기(200)로부터 동기화 요청에 따른 단말기(200)측 동기화 메시지가 수신되는지를 체크한다(502단계).
상기 단말기(200)측 동기화 메시지가 수신되면, 상기 서버 기능 모듈(104)은 상기 단말기(200)측 동기화 메시지를 SyncML 메시지로 변환하기 위한 정보 및 실제 데이터를 추출하기 위해 파싱한다(504단계). 상기 동기화 메시지의 파싱은 상기 단말기(200)로부터 송신되는 동기화 메시지의 마지막 데이터가 수신될 때까지 계속된다(506단계).
상기 단말기(200)측 동기화 메시지의 수신이 완료되면, 상기 서버 기능 모듈(104)은 프로토콜 매니저(112)를 통해 상기 단말기(200)측 동기화 메시지로부터 추출한 실제 데이터에 대응되는 동기화 정보를 참조하여 상기 동기화 이행여부를 결정하고, 데이터 스토어(116)의 동기화 정보에 반영한다. 좀 더 설명하면, 상기 프로토콜 매니저(112)는 Changelog를 참조하여, 상기 실제 데이터에 따라 동기화 정보를 생성하거나 삭제하거나 수정한다.
상기한 바와 같이 단말기(200)측 동기화 요청에 따른 처리가 완료되면, 상기 서버 기능 모듈(104)은 상기 SyncML 서버(300)와 동기화를 이행한다. 상기 SyncML 서버(300)와의 동기화는 SyncML 규격에 따라 1번 패키지에서 6번 패키지까지 송수신하여 이행하게 된다.
상기 SyncML 서버(300)와 동기화시에 상기 SyncML 서버(300)측 동기화 메시지를 수신하였으면, 상기 서버 기능 모듈(104)는 상기 SyncML 서버(300)측 동기화 메시지를 Hotsync 메시지로 변환하기 위한 정보 및 실제 데이터를 추출하기 위해 파싱한다(514단계).
상기 파싱이 완료되면, 상기 서버 기능 모듈(104)은 프로토콜 매니저(112)를 통해 상기 SyncML 서버(300)측 동기화 메시지로부터 추출한 실제 데이터를 데이터 스토어(116)에 반영한다. 좀 더 설명하면, 상기 프로토콜 매니저(112)는 Changelog를 참조하여, 상기 실제 데이터에 따라 동기화 정보를 생성하거나 삭제하거나 수정한다.
또한 상기 서버 기능 모듈(104)은 실제 데이터를 동기화 자료에 반영한 후에, 상기 프로토콜 매니저(112)를 통해 상기 Changelog를 갱신한다.
또한 상기 서버 기능 모듈(104)은 상기 SyncML 서버(300)측 동기화 메시지로부터 추출한 Hotsync 메시지로 변환하기 위한 정보 및 실제 데이터를 이용하여 Hotsync 메시지를 생성하고, 상기 Hotsync 메시지를 상기 단말기(200)로 송신한다.
상기 SyncML 서버(300)측 동기화 메시지에 따른 Hotsync 메시지를 수신받은 단말기(200)는 상기 SyncML 서버(300)측 동기화 메시지에 따른 Hotsync 메시지를 자신의 동기화 자료 저장장치(210)에 반영하며, 그 반영에 따른 동기화 자료 ID 정보 및 저장위치를 나타내는 주소 정보 등을 포함하는 맵핑 정보를 상기 서버 기능 모듈(104)로 전송한다.
상기 서버 기능 모듈(104)은 상기 단말기(200)로부터 제공되는 맵핑정보를 저장하고 본 발명의 바람직한 실시예에 따른 자료 동기화를 완료한다.
한편, 단말기(200)에서의 처리 과정을 도 5를 참조하여 설명한다.
상기 단말기(200)의 클라이언트 기능 모듈(202)은 동기화 자료 저장장치(210)의 동기화 자료의 추가, 삭제, 수정 등에 동기화 이벤트가 발생되는지를 체크한다.
상기 동기화 이벤트가 발생되면, 상기 클라이언트 기능 모듈(202)은 Hotsync 프로토콜에 따라 동기화 대상이 되는 실제 데이터를 포함하는 Hotsync 메시지를 생성하여 상기 자료 동기화 게이트웨이(100)로 전송한다.
상기 자료 동기화 게이트웨이(100)로의 Hotsync 메시지 송신이 완료되면, 상기 클라이언트 기능 모듈(202)은 상기 자료 동기화 게이트웨이(100)로부터 상기 SyncML 서버(300)측 동기화 메시지에 따른 Hotsync 메시지가 수신되는지를 체크한다. 상기 SyncML 서버(300)측 동기화 메시지에 따른 Hotsync 메시지가 수신되면, 상기 클라이언트 기능 모듈(202)은 상기 SyncML 서버(300)측 동기화 메시지에 따른 Hotsync 메시지로부터 실제 데이터를 추출하기 위해 상기 Hotsync 메시지를 파싱한다. 이후 상기 클라이언트 기능 모듈(202)은 상기 실제 데이터를 동기화 자료 저장장치(210)의 동기화 자료에 반영한다. 여기서, 상기 실제 데이터의 반영은 동기화 자료의 추가 또는 삭제, 수정을 이행하는 것으로, 상기 실제 데이터의 반영에 따라 변화된 동기화 자료의 ID 및 저장위치를 나타내는 주소 정보 등을 포함하는 맵핑정보를 갱신하고, 상기 맵핑정보를 상기 자료 동기화 게이트웨이(100)로 전송한다.
도 5는 HotSync 클라이언트와 SyncML 서버간의 SyncML 기반의 변환 게이트웨이를 통하여 정상적인 자료 동기화가 수행되는 과정을 도시한 것이다.
도 5의 (a)는 클라이언트에서 자료를 추가하였을 경우, 도 5의 (b)는 클라이언트에서 자료를 삭제하였을 경우, 도 5의 (c)는 클라이언트에서 자료를 수정하였을 경우를 나타내는 화면이다.
도 6은 HotSync 클라이언트에서 10개, 20개, 40개, 60개 80개, 100개의 동기화 자료에 대해서 추가 및 삭제 동기화 명령에 대한 전체 동기화 시간에 대한 변이를 그래프로 표현하고 있다.
상기 동기화 지연 시간은 HotSync 방식을 채용하는 클라이언트에서 대상 자료를 SyncML 프로토콜에 적합한 메시지 형태로 변환시켜주는 데 대한 수행시간이라고 볼 수 있다.
상기 HotSync 방식의 동기화 클라이언트의 경우에는 자료 동기화를 수행하기 위해 PIMS 관련의 모든 데이터베이스를 단말기의 메모리상에 모두 로딩시킨 후, 동기화 대상이 되는 자료를 검색하는 초기화 과정이 필요하다. 이러한 초기화 절차 때문에 ActiveSync 방식의 단말기보다는 전체 동기화 시간이 더 많이 소비된다.
동기화 클라이언트에서 수행한 자료에 대한 추가, 삭제 및 갱신에 대한 동기화 시간보다 동기화 서버에서 수행한 자료 조작에 대한 동기화 시간이 더 소비되는 것을 볼 수 있다. 이는 동기화 서버에서 조작된 데이터에 대해서 통합 게이트웨이에 있는 데이터 아이템 식별코드와 단말기에 존재하는 데이터 아이템에 대한 식별코드가 일치하지 않는다. 따라서, 동기화를 수행한 후 최종적으로 통합 게이트웨이와 단말기 간에 동기화 대상 아이템에 대한 맵 정보를 일치시키기 위한 통신 과정이 추가적으로 발생하게 된다.
상기한 본 발명의 바람직한 실시예에서는 HotSync 방식을 채용한 단말기만을 예시하였으나, 상기 HotSync 방식 이외의 비표준화된 자료 동기화 방식을 채용한 단말기와 SyncML 서버간의 자료 동기화를 위해 본 발명의 자료 동기화 게이트웨이를 채용할 수도 있다.
특히 상기한 본 발명은 SyncML을 기반으로 하는 단말기와 SyncML 서버 간에 동기화가 수행되는 동안, 동기화 대상이 되는 객체는 논리적으로 패키지를 교환한다. 또한 각 패키지는 실제로 단말기의 제한된 자원과 무선 통신상의 낮은 대역폭으로 인해 다수의 메시지들로 분리되어 교환된다. 한 번의 완전한 자료 동기화를 위해 클라이언트와 서버 간에 주고받은 모든 패키지를 세션(Session)이라고 하며, 세션은 여러 개의 패키지를 포함하고 하나의 패키지는 여러 메시지를 구성되어 있다.
따라서, 본 동기화 엔진은 SyncML 통신 패킷 단위에 기반을 둔 각각의 핸들 러 구조로 설계함으로써, 무선 환경에서 전송 효율성을 극대화하고, 송수신 버퍼의 허용 용량보다 큰 메시지가 교환될 경우 허용 가능 메시지로 분할해서 전송하는 다중 메시지 전송(Multiple Message)도 가능하게 한다.
상술한 바와 같이 본 발명에 따르는 SyncML 기반의 자료 동기화 게이트웨이 시스템은 다음과 같은 이점이 있다.
첫째, 본 발명의 자료 동기화 게이트웨이 시스템은 Palm OS 기반의 PDA에 탑재된 HotSync 자료 동기화 개체들은 서로 다른 동기화 방식을 탑재하고 있는 PDA와의 상호 호환성을 제공할 수 있는 이점이 있다.
둘째, 본 발명은 OMA에서 제시한 SyncML 프로토콜 스펙을 기반으로 개발하였으므로, 국제 표준을 준수하고 있으며, 또한 향후 SyncML 프로토콜이 자료 동기화 방식에서 세계적인 표준기술로 채택되는 점에 기여할 수 있다.
셋째, 본 발명은 자료 동기화 방식에서 송수신하는 통신 패킷의 단위를 기반으로 동기화 엔진을 설계함으로써, 자료 동기화 시간의 단축을 향상시킬 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (6)

  1. 자료 동기화 방법에 있어서,
    비표준 자료 동기화 방식에 따른 단말기로부터 동기화 메시지가 수신되면, 상기 동기화 메시지를 파싱하여 실제 데이터와 표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 추출하는 단계;
    상기 실제 데이터와 표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 이용하여 상기 표준 자료 동기화 방식의 동기화 메시지를 생성하는 단계;
    상기 표준 동기화 방식의 동기화 메시지를 표준 동기화 방식에 따른 서버로 송신하는 단계
    를 포함하는 것을 특징으로 하는 자료 동기화 방법.
  2. 제1항에 있어서,
    상기 서버로부터 표준 자료 동기화 방식에 따른 메시지가 수신되면, 상기 동기화 메시지를 파싱하여 실제 데이터와 상기 비표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 추출하는 단계;
    상기 실제 데이터와 비표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 이용하여 상기 비표준 자료 동기화 방식의 동기화 메시지를 생성하는 단계;
    상기 비표준 동기화 방식의 동기화 메시지를 상기 단말기로 송신하는 단계
    를 더 포함하는 것을 특징으로 하는 자료 동기화 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 비표준 동기화 방식에 따른 동기화 메시지 또는 상기 표준 동기화 방식에 따른 동기화 메시지로부터 추출한 실제 데이터에 따라 데이터 스토어의 동기화 자료를 추가 또는 삭제, 수정하는 단계;
    상기 동기화 자료의 추가 또는 삭제, 수정에 따른 변경이력정보를 저장하는 단계
    를 더 포함하는 것을 특징으로 하는 자료 동기화 방법.
  4. 비표준 자료 동기화 방식에 따른 단말기와 표준 자료 동기화 방식에 따른 서버 사이에 설치되는 자료 동기화 게이트웨이에 있어서,
    비표준 자료 동기화 방식에 따른 단말기와 상기 비표준 자료 동기화 방식에 따라 통신을 이행하는 통신모듈;
    상기 표준 자료 동기화 방식에 따른 서버에 대한 클라이언트 역할을 이행하는 클라이언트 기능부;
    상기 통신모듈을 통해 비표준 자료 동기화 방식에 따른 동기화 메시지가 수신되면, 상기 동기화 메시지를 파싱하여 실제 데이터와 표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 추출하고,
    상기 실제 데이터와 표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 이용하여 상기 표준 자료 동기화 방식의 동기화 메시지를 생성하고,
    상기 표준 동기화 방식의 동기화 메시지를 상기 클라이언트 기능부를 통해 표준 동기화 방식에 따른 서버로 송신하는 서버 기능 모듈
    를 포함하는 것을 특징으로 하는 자료 동기화 게이트웨이.
  5. 제4항에 있어서,
    상기 서버 기능 모듈이,
    상기 클라이언트 기능부를 통해 상기 서버로부터 표준 자료 동기화 방식에 따른 메시지가 수신되면, 상기 동기화 메시지를 파싱하여 실제 데이터와 상기 비표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 추출하고,
    상기 실제 데이터와 비표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 이용하여 상기 비표준 자료 동기화 방식의 동기화 메시지를 생성하고,
    상기 비표준 동기화 방식의 동기화 메시지를 상기 통신모듈을 통해 상기 단말기로 송신함을 특징으로 하는 자료 동기화 게이트웨이.
  6. 제4항 또는 제5항에 있어서,
    상기 비표준 자료 동기화 방식에 따른 단말기와 표준 자료 동기화 방식에 따른 서버 사이의 동기화 자료들 및 각 동기화 자료의 변경이력정보를 저장하는 데이터 스토어를 더 구비하며,
    상기 서버 기능 모듈이,
    상기 비표준 동기화 방식에 따른 동기화 메시지 또는 상기 표준 동기화 방식에 따른 동기화 메시지로부터 추출한 실제 데이터에 따라 상기 데이터 스토어의 동기화 자료를 추가 또는 삭제, 수정하고,
    상기 동기화 자료의 추가 또는 삭제, 수정에 따라 상기 변경이력정보를 갱신함을 특징으로 하는 자료 동기화 게이트웨이.
KR1020070054388A 2007-06-04 2007-06-04 자료 동기화 방법 및 그에 따른 자료 동기화 게이트웨이 KR100884543B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070054388A KR100884543B1 (ko) 2007-06-04 2007-06-04 자료 동기화 방법 및 그에 따른 자료 동기화 게이트웨이

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070054388A KR100884543B1 (ko) 2007-06-04 2007-06-04 자료 동기화 방법 및 그에 따른 자료 동기화 게이트웨이

Publications (2)

Publication Number Publication Date
KR20080106672A true KR20080106672A (ko) 2008-12-09
KR100884543B1 KR100884543B1 (ko) 2009-02-18

Family

ID=40367281

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070054388A KR100884543B1 (ko) 2007-06-04 2007-06-04 자료 동기화 방법 및 그에 따른 자료 동기화 게이트웨이

Country Status (1)

Country Link
KR (1) KR100884543B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101529162B1 (ko) * 2012-10-25 2015-06-16 주식회사 케이티 동기화 정보 제공 시스템 및 그 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101274553B1 (ko) 2011-03-11 2013-06-13 에스코어 주식회사 동기화 데이터의 분류 및 동기화 처리 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020063458A (ko) * 2001-01-29 2002-08-03 인포뱅크 주식회사 이동통신단말기와 웹싱크서버간의 개인정보 동기화 방법
KR100844361B1 (ko) * 2006-06-20 2008-07-07 계명대학교 산학협력단 자료 동기화 게이트웨이 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101529162B1 (ko) * 2012-10-25 2015-06-16 주식회사 케이티 동기화 정보 제공 시스템 및 그 방법

Also Published As

Publication number Publication date
KR100884543B1 (ko) 2009-02-18

Similar Documents

Publication Publication Date Title
CN102394872B (zh) 数据通信协议
US9594821B2 (en) Method and apparatus for synchronizing how data is stored in different data stores
CN101682635B (zh) 复用式数据流协议
EP1727056B1 (en) Data communication protocol
CN108958927A (zh) 容器应用的部署方法、装置、计算机设备和存储介质
CN103731447A (zh) 一种数据查询方法及系统
CN102411598A (zh) 一种实现数据一致性的方法及其系统
CN110297862A (zh) 数据库访问方法及数据库访问中间件
US7672978B2 (en) Handling of content in a data processing device
CN111367685B (zh) 接口调用的方法及装置、计算机设备、存储介质
US20140013007A1 (en) Access log management method
CN102594874B (zh) 一种同步处理方法和装置
KR20160103110A (ko) 네트워크 요소 데이터 액세스 방법, 액세스 장치, 및 네트워크 관리 시스템
KR100884543B1 (ko) 자료 동기화 방법 및 그에 따른 자료 동기화 게이트웨이
US20120137284A1 (en) Method for installing image file
KR101082850B1 (ko) 자료 동기화를 위한 모바일 단말기 및 그 방법
CN110417860A (zh) 文件传输管理方法、装置、设备及存储介质
KR100844361B1 (ko) 자료 동기화 게이트웨이 시스템 및 방법
CN116980475B (zh) 一种基于binlog与双环形缓冲区的数据推送系统
WO2024001569A1 (zh) 网络配置方法、装置以及存储介质、电子装置
Ballesteros et al. ZX: A network file system for high‐latency networks
CN116980475A (zh) 一种基于binlog与双环形缓冲区的数据推送系统
CN115102972A (zh) 一种存储nfs文件的方法、装置、设备及介质
CN116126874A (zh) 数据同步方法和装置、电子设备和计算机可读存储介质
KR20110047176A (ko) 데이터 통신 프로토콜

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130213

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140213

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee