KR100884543B1 - Data-Synchronization method and Gateway thereof - Google Patents

Data-Synchronization method and Gateway thereof Download PDF

Info

Publication number
KR100884543B1
KR100884543B1 KR1020070054388A KR20070054388A KR100884543B1 KR 100884543 B1 KR100884543 B1 KR 100884543B1 KR 1020070054388 A KR1020070054388 A KR 1020070054388A KR 20070054388 A KR20070054388 A KR 20070054388A KR 100884543 B1 KR100884543 B1 KR 100884543B1
Authority
KR
South Korea
Prior art keywords
synchronization
data
information
syncml
hotsync
Prior art date
Application number
KR1020070054388A
Other languages
Korean (ko)
Other versions
KR20080106672A (en
Inventor
장대진
박기현
주홍택
Original Assignee
계명대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 계명대학교 산학협력단 filed Critical 계명대학교 산학협력단
Priority to KR1020070054388A priority Critical patent/KR100884543B1/en
Publication of KR20080106672A publication Critical patent/KR20080106672A/en
Application granted granted Critical
Publication of KR100884543B1 publication Critical patent/KR100884543B1/en

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

Abstract

본 발명은 비표준 자료 동기화 방식에 따른 단말기와 표준 자료 동기화 방식에 따른 서버 사이에 설치되는 자료 동기화 게이트웨이에 관한 것으로, 비표준 자료 동기화 방식에 따른 단말기와 상기 비표준 자료 동기화 방식에 따라 통신을 이행하는 통신모듈; 상기 표준 자료 동기화 방식에 따른 서버에 대한 클라이언트 역할을 이행하는 클라이언트 기능부; 상기 통신모듈을 통해 비표준 자료 동기화 방식에 따른 동기화 메시지가 수신되면, 상기 동기화 메시지를 파싱하여 실제 데이터와 표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 추출하고, 상기 실제 데이터와 표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 이용하여 상기 표준 자료 동기화 방식의 동기화 메시지를 생성하고, 상기 표준 동기화 방식의 동기화 메시지를 상기 클라이언트 기능부를 통해 표준 동기화 방식에 따른 서버로 송신하는 서버 기능 모듈을 포함한다. 상기한 본 발명은 비표준 자료 ㄷ동기화 방식의 단말기와 표준 자료 동기화 방식에 따른 서버 사이의 자료 동기화를 가능하게 하는 이점이 있다. The present invention relates to a data synchronization gateway installed between a terminal according to a non-standard data synchronization method and a server according to a standard data synchronization method, and a communication module for performing communication according to the terminal according to the non-standard data synchronization method and the non-standard data synchronization method. ; A client function unit that performs a client role for a server according to the standard data synchronization method; When a synchronization message according to a non-standard data synchronization method is received through the communication module, the synchronization message is parsed to extract information for constructing a synchronization message of the actual data and the standard data synchronization method, and the actual data and the standard data synchronization method. A server function module configured to generate a synchronization message of the standard data synchronization method using information for constructing a synchronization message of the user, and to transmit the synchronization message of the standard synchronization method to a server according to a standard synchronization method through the client function unit. do. The present invention has an advantage of enabling data synchronization between a terminal of a non-standard data synchronization method and a server according to a standard data synchronization method.

SyncML, HotSync, 자료동기화, 무선 통신, 마크업 언어 SyncML, HotSync, Data Synchronization, Wireless Communications, Markup Language

Description

자료 동기화 방법 및 그에 따른 자료 동기화 게이트웨이{Data-Synchronization method and Gateway thereof}Data synchronization method and resulting data synchronization gateway {Data-Synchronization method and Gateway}

도 1은 본 발명의 바람직한 실시예에 따른 자료 동기화 게이트웨이를 구비하는 시스템의 블럭구성도. 1 is a block diagram of a system having a data synchronization gateway according to a preferred embodiment of the present invention.

도 2는 본 발명의 바람직한 실시예에 따른 자료 동기화 게이트웨이의 상세 구성도. 2 is a detailed configuration diagram of a data synchronization gateway according to a preferred embodiment of the present invention.

도 3은 단말기의 자료 동기화를 위한 구성을 도시한 블럭구성도. 3 is a block diagram showing a configuration for data synchronization of a terminal.

도 4는 본 발명의 바람직한 실시예에 따른 자료 동기화 게이트웨이의 처리흐름도. 4 is a process flow diagram of a data synchronization gateway according to a preferred embodiment of the present invention.

도 5는 단말기의 자료 동기화를 위한 처리흐름도. 5 is a flow chart for data synchronization of the terminal.

도 6은 본 발명의 바람직한 실시예에 따른 자료 동기화 과정을 예시한 도면. 6 is a diagram illustrating a data synchronization process according to a preferred embodiment of the present invention.

도 7은 본 발명의 바람직한 실시예에 따른 전체 동기화 시간과 자료 동기화 게이트웨이에서 소비시간에 대한 그래프. 7 is a graph of total synchronization time and time spent at a data synchronization gateway in accordance with a preferred embodiment of the present invention.

본 발명은 단말기와 서버간의 자료 동기화 기술에 관한 것으로, 더욱 상세하 게는 OMA(Open Mobile Alliance)에서 제시한 표준 자료 동기화 방식인 SyncML 방식이 아닌 자료 동기화 방식을 채용하는 단말기와 SyncML 방식을 채용하는 서버간의 자료 동기화를 위한 방법 및 그에따른 자료 동기화 게이트웨이에 관한 것이다. The present invention relates to a data synchronization technology between a terminal and a server, and more particularly, a terminal and a SyncML method employing a data synchronization method other than the SyncML method, which is a standard data synchronization method proposed by the Open Mobile Alliance (OMA). A method for data synchronization between servers and a data synchronization gateway accordingly.

최근 이동 컴퓨팅 기술과 하드웨어 기술의 발달로 인해 이동통신 단말기가 매우 급속하게 보급되고 있다. Recently, due to the development of mobile computing technology and hardware technology, mobile communication terminals are rapidly spreading.

상기 이동통신 단말기의 사용자가 시간과 장소에 구애받지 않고 원하는 정보를 이용하기 위해서는 중앙 통합 서버의 자료와 이동통신 단말기의 자료를 동기화시키는 작업이 필요하며, 이를 자료 동기화(Data Synchronization)라고 한다. In order for a user of the mobile communication terminal to use desired information regardless of time and place, a task of synchronizing the data of the central integration server and the data of the mobile communication terminal is required, which is called data synchronization.

OMA(Open Mobile Alliance)에서 제시한 표준 자료 동기화 방식인 SyncML 방식은 각 제조회사의 단말기가 가지고 있는 서로 다른 플랫폼, 통신 프로토콜, 자료 형태, 응용 서비스에 이용될 수 있는 자료 동기화 방식과 장치 관리에 대한 개방형 표준 인터페이스 개발을 목적으로 제안되었다. 또한, 상기 SyncML 방식은 개방형 표준과 다수의 구현 방식을 따르는 것을 채택함으로써 자료 동기화에 대한 사실상의 표준이 되는 것을 목적으로 한다.The SyncML method, a standard data synchronization method proposed by the Open Mobile Alliance (OMA), provides information on data synchronization methods and device management that can be used for different platforms, communication protocols, data types, and application services of each manufacturer's terminal. It is proposed to develop an open standard interface. The SyncML scheme also aims to become the de facto standard for data synchronization by adopting an open standard and following a number of implementations.

상기한 바와 같이 SyncML 방식은 이동통신 단말기와 서버간의 원격 동기화를 목표로 설계되었으나, 로컬 동기화와 유선 네트워크로 연결된 장치들간의 동기화에도 사용될 수 있다. As described above, the SyncML method is designed for remote synchronization between a mobile communication terminal and a server, but may also be used for local synchronization and synchronization between devices connected through a wired network.

한편, 상기 SyncML 방식을 기반으로 하는 클라이언트와 서버간에 동기화가 수행되는 동안에는 동기화 대상이 되는 객체는 논리적으로 패키지를 교환하며, 상기 패키지는 이동통신 단말기의 제한된 자원과 무선 통신상의 낮은 대역폭으로 인 해 다수의 메시지들로 분리되어 교환된다. 여기서, 한 번의 완전한 자료 동기화를 위해 클라이언트와 서버 간에 주고받은 모든 패키지를 세션이라고 하며, 세션은 여러 개의 패키지를 포함하고, 하나의 패키지는 여러 메시지를 포함한다.Meanwhile, during synchronization between the client and the server based on the SyncML method, objects to be synchronized are logically exchanged packages, and the packages are largely due to limited resources of the mobile communication terminal and low bandwidth in wireless communication. Messages are separated and exchanged. Here, all packages sent and received between client and server for one complete data synchronization are called sessions. A session contains multiple packages, and one package contains multiple messages.

상기 SyncML 방식에 따르는 자료 동기화 규격은 XML 기반의 자료 표현(Data Representation) 프로토콜, SyncML 동기화(Synchronization) 프로토콜 그리고 전송 바인딩(Transport Bindings) 프로토콜로 구성되어 있다. The data synchronization standard according to the SyncML method is composed of an XML-based Data Representation protocol, a SyncML Synchronization protocol, and a Transport Bindings protocol.

첫째, SyncML 자료 표현 프로토콜은 자료 동기화를 위해 교환되는 SyncML 메시지의 논리적인 구조와 형태를 XML 형식으로 정의하고 있으며, 각각의 필드가 어떠한 정보를 담고 있으며 해당 정보가 어떤 의미를 내포하는 것인지에 대한 약속을 정의하고 있다. First, SyncML data representation protocol defines the logical structure and form of SyncML messages exchanged for data synchronization in XML format, and promises what information each field contains and what the information implies. It is defined.

둘째, SyncML 동기화 프로토콜은 SyncML 클라이언트와 서버 간에 이루어지는 자료 표현 프로토콜 규격에 의해 생성된 자료의 추가, 삭제, 갱신과 같은 동기화 명령과 그 밖의 상태 정보에 대한 메시지가 교환되는 방법에 대해서 정의하고 있다. Second, the SyncML Synchronization Protocol defines how messages for synchronization commands and other status information are exchanged, such as the addition, deletion and update of data generated by the Data Representation Protocol specification between SyncML clients and servers.

마지막으로, 전송 바인딩 프로토콜은 SyncML이 동기화 메시지를 전송하기 위해서 사용하는 것으로, HTTP, WSP, OBEX 등과 같은 프로토콜로서, SyncML 규격에서는 이러한 전송 바인딩 프로토콜에 대해서 새로운 프로토콜을 정의하는 것이 아니라, 기존의 전송 프로토콜과 바인딩 규칙만을 정의한다.Finally, the transport binding protocol is used by SyncML to transmit synchronization messages. It is a protocol such as HTTP, WSP, OBEX, etc. The SyncML specification does not define new protocols for these transport binding protocols. And binding rules only.

한편, Palm OS를 기반으로 하는 단말기에서 동작하는 자료 동기화 방식인 HotSync 방식은 Conduit이라는 코드 모듈을 이용하여 Palm OS 기기와 데스크 탑 컴 퓨터 간의 자료 동기화를 수행한다. 그러나 상기 Palm OS 기반의 HotSync 방식은 하위 베어러(Bearer)에 대한 기술적인 규격에 대하여 공개하고 있지 않다. 이에따라 Palm OS 기반의 응용 소프트웨어는 HotSync 솔루션을 가지고 있는 회사에서 개발 및 공급을 하고 있으며, XcelleNet, Mobile Automation, Pumatech, AdantGo 등과 같은 회사가 HotSync 방식에 대한 솔루션을 제공하고 있다.Meanwhile, the HotSync method, which is a data synchronization method operating on a Palm OS-based terminal, uses a code module called Conduit to synchronize data between a Palm OS device and a desktop computer. However, the Palm OS-based HotSync method does not disclose a technical specification for a lower bearer. Accordingly, Palm OS-based application software is developed and supplied by a company that has a HotSync solution, and companies such as XcelleNet, Mobile Automation, Pumatech, and AdantGo provide solutions for the HotSync method.

상기 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)를 우선적으로 수행한다.In the HotSync method, the client includes a HotSync manager, a Conduit module, a Notifier DLL module, a Handheld App. Module, Desktop App. It has six components: module, Sync Manager API. In addition, the Hotsync method supports two data synchronization modes, Slow-sync and Fast-sync, similar to the SyncML method, and the Fast Sync is faster than the Slow Sync. Therefore, Fast Sync is preferentially performed over Slow Sync.

현재 주요 단말기 제조 회사에서 제공하는 자료 동기화 솔루션이 존재하지만, 각각의 단말기와 응용 서비스 간의 호환성이 결여되어 있어, 각 단말기 제조 회사에서 제공되는 자료 동기화 방식의 상호 운용성을 보장하기 위해서 2000년 2월 여러 단말기 회사들이 주축이 된 OMA(Open Mobile Alliance)에서 SyncML 방식을 제안하여 공개적인 표준화를 시도하고 있다. Currently, data synchronization solutions provided by major handset manufacturers exist, but lack of compatibility between each handset and application services. The OMA (Open Mobile Alliance), which is mainly driven by handset companies, proposes SyncML method to openly standardize.

하지만, 각 단말기 제조회사들이 기술적인 경쟁을 통해서 시장점유율을 높이고 있기 때문에, 각각의 자료 동기화 방식에 대한 기술적인 공개를 하지 않고 있는 실정이다. However, since each handset maker is increasing its market share through technical competition, there is no technical disclosure of each data synchronization method.

이에따라 SyncML 방식을 통한 자료 동기화 솔루션에 대한 표준화를 시도하고 있지만, 각각의 자료 동기화 방식을 탑재한 이동통신 단말기들이 모두 SyncML 방식을 동기화 표준화로 대체하기는 어려운 실정이다.Accordingly, the standardization of data synchronization solution through SyncML method is attempted, but it is difficult for all mobile communication terminals equipped with data synchronization method to replace SyncML method with synchronization standardization.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출한 것으로서, Palm OS 운영체제를 기반으로 하는 HotSync 방식의 단말기와 SyncML 방식의 서버간의 자료 동기화를 가능하게 하는 자료 동기화 방법 및 그에 따른 자료 동기화 게이트웨이를 제공하는 것을 그 목적으로 한다. SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and provides a data synchronization method and data synchronization gateway which enables data synchronization between a HotSync terminal and a SyncML server based on a Palm OS operating system. For that purpose.

상기한 목적을 달성하기 위한 본 발명의 자료 동기화 방법은 비표준 자료 동기화 방식에 따른 단말기로부터 동기화 메시지가 수신되면, 상기 동기화 메시지를 파싱하여 실제 데이터와 표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 추출하는 단계; 상기 실제 데이터와 표준 자료 동기화 방식의 동기화 메시지를 구성하기 위한 정보를 이용하여 상기 표준 자료 동기화 방식의 동기화 메시지를 생성하는 단계; 상기 표준 동기화 방식의 동기화 메시지를 표준 동기화 방식에 따른 서버로 송신하는 단계를 포함하는 것을 특징으로 한다. In the data synchronization method of the present invention for achieving the above object, when a synchronization message is received from a terminal according to a non-standard data synchronization method, the synchronization message is parsed to obtain information for constructing a synchronization message of actual data and standard data synchronization method. Extracting; Generating a synchronization message of the standard data synchronization method using information for configuring the actual data and the synchronization message of the standard data synchronization method; And transmitting the synchronization message of the standard synchronization method to a server according to the standard synchronization method.

도 1은 본 발명에 따른 자료 동기화 게이트웨이를 구비하는 시스템의 구성도를 도시한 것이다. 1 is a block diagram of a system having a data synchronization gateway according to the present invention.

상기 자료 동기화 게이트웨이(100)는 통신 모듈(102), 서버 기능 모듈(104), 프로토콜 매니저(112), SyncML 클라이언트 기능부(114), 데이터 스토어(116)를 구비한다. The data synchronization gateway 100 includes a communication module 102, a server function module 104, a protocol manager 112, a SyncML client function 114, and a data store 116.

상기 통신 모듈(102)은 단말기(200)와 HotSync 방식에 따라 HotSync 메시지를 송수신하며, 상기 서버 기능 모듈(104)로부터의 HotSync 메시지를 상기 단말기(200)로 송신하거나, 상기 단말기(200)로부터의 HotSync 메시지를 상기 서버 기능 모듈(104)로 제공한다. The communication module 102 transmits and receives a HotSync message with the terminal 200 according to a HotSync method, and transmits a HotSync message from the server function module 104 to the terminal 200 or from the terminal 200. Provide a HotSync message to the server function module 104.

상기 서버 기능 모듈(104)은 단말기(200)로부터 수신한 HotSync 메시지를 제공받아, HotSync 방식에 따른 HotSync 메시지에서 SyncML 메시지를 생성하기 위한 정보와 실제 데이터를 추출하고, 상기 실제 데이터를 데이터 스토어(116)에 반영하기 위해 프로토콜 매니저(112)로 제공하며, 상기 프로토콜 매니저(112)로부터의 동기화 이행 메시지에 따라 상기 SyncML 메시지를 생성하기 위한 정보와 실제 데이터를 이용하여 SyncML 방식의 SyncML 메시지를 생성하여 SyncML 클라이언트 기능부(114)를 통해 SyncML 서버(300)로 전송한다. The server function module 104 receives the HotSync message received from the terminal 200, extracts information and actual data for generating a SyncML message from the HotSync message according to the HotSync method, and stores the actual data in the data store 116. To the protocol manager 112 to generate the SyncML message using the information and the actual data for generating the SyncML message according to the synchronization transition message from the protocol manager 112. The client function unit 114 transmits to the SyncML server 300.

또한 상기 서버 기능 모듈(104)은 상기 syncML 서버(300)로부터 수신한 SyncML 방식의 SyncML 메시지에서 Hotsync 메시지를 생성하기 위한 정보와 실제 데이터를 추출하고, 상기 실제 데이터를 데이터 스토어(116)에 반영하기 위해 프로토콜 매니저(112)로 제공하며, 상기 프로토콜 매니저(112)로부터의 동기화 이행 메시지에 따라 상기 Hotsync 메시지를 생성하기 위한 정보와 실제 데이터를 이용하여 Hotsync 방식의 Hotsync 메시지를 생성하여 통신모듈(102)을 통해 단말기(200)로 전송한다. In addition, the server function module 104 may extract information and actual data for generating a Hotsync message from the SyncML message of the SyncML method received from the syncML server 300, and reflect the actual data to the data store 116. The communication module 102 is provided to the protocol manager 112 and generates a Hotsync message of the Hotsync type using information and actual data for generating the Hotsync message according to the synchronization transition message from the protocol manager 112. Through the terminal 200 to transmit.

여기서, 상기 서버 기능 모듈(104)에는 단말기(200)와의 HotSync 메시지 송수신을 위한 HotSync 프로토콜(108), 상기 SyncML 서버(300)와의 SyncML 메시지 송 수신을 위한 SyncML 프로토콜(110)이 구비된다.Here, the server function module 104 is provided with a HotSync protocol 108 for transmitting and receiving a HotSync message with the terminal 200 and a SyncML protocol 110 for transmitting and receiving a SyncML message with the SyncML server 300.

상기 SyncML 클라이언트 기능부(114)는 상기 SyncML 서버(300)에 대한 SyncML 클라이언트 역할을 담당하여, SyncML 방식에 따라 상기 SyncML 서버(300)와 SyncML 메시지 송수신을 이행한다. 특히 SyncML 클라이언트 기능부(114)는 상기 서버 기능 모듈(104)로부터 제공받은 SyncML 방식에 따른 SyncML 메시지를 SyncML 서버(300)로 송신하고, 상기 SyncML 서버(300)로부터 제공되는 SyncML 메시지를 상기 서버 기능 모듈(104)로 제공한다. The SyncML client function unit 114 plays a role of a SyncML client for the SyncML server 300 and performs transmission and reception of a SyncML message with the SyncML server 300 according to a SyncML method. In particular, the SyncML client function unit 114 transmits a SyncML message according to the SyncML method provided from the server function module 104 to the SyncML server 300, and transmits a SyncML message provided from the SyncML server 300 to the server function. Provided to module 104.

상기 프로토콜 매니저(112)는 상기 서버 기능 모듈(104)로부터 제공되는 실제 데이터에 대한 정보(이하 ‘동기화 정보’라 칭함)를 참조하여 상기 서버 기능 모듈(104)로 동기화 이행 메시지를 제공한다. The protocol manager 112 provides a synchronization transition message to the server function module 104 with reference to information on actual data provided from the server function module 104 (hereinafter referred to as 'synchronization information').

즉, 상기 프로토콜 매니저(112)는 동기화 자료의 식별정보인 LUID(Local Unique ID) 및 GUID(Global Unique ID)를 검색하고, 상기 LUID 및 GUID의 변경이력정보인 ChangeLog 및 Anchor Info를 조회하여 동기화가 필요한지 여부를 판별하고, 상기 동기화가 필요한 것으로 판단되면 동기화 이행 메시지를 서버 기능 모듈(104)에 제공한다. 여기서, 상기 동기화는 동기화 자료에 대한 갱신, 추가, 삭제 등이다. That is, the protocol manager 112 searches for LUID (Local Unique ID) and GUID (Global Unique ID), which are identification information of the synchronization data, and checks ChangeLog and Anchor Info, which is change history information of the LUID and GUID, for synchronization. It is determined whether it is necessary, and if it is determined that the synchronization is necessary, provides a synchronization fulfillment message to the server function module 104. Here, the synchronization is an update, addition, deletion, etc. to the synchronization data.

또한 상기 프로토콜 매니저(112)는 상기 서버 기능 모듈(104)로부터 자료 동기화 완료가 통지되면, 상기 Anchor info.를 갱신한 후에, 데이터 스토어(116)에 접근하여 동기화 정보를 제어한다. In addition, when the data synchronization completion is notified from the server function module 104, the protocol manager 112 updates the anchor info. And then accesses the data store 116 to control the synchronization information.

상기 데이터 스토어(116)는 상기 동기화 정보가 저장되며, 상기 동기화 정보는 ChangeLog, Anchor 정보, 동기화 자료 맵핑 정보 및 동기화 자료 등이다. The data store 116 stores the synchronization information, and the synchronization information includes changelog, anchor information, synchronization data mapping information, synchronization data, and the like.

상기한 바와 같이 동기화 자료 맵핑 정보에 대해 좀더 설명한다. As described above, the synchronization data mapping information will be further described.

상기 단말기(200)와 상기 syncML 서버(300) 사이에는 동일한 동기화 자료에 대해서 각각 LUID(Local Unique ID)와 GUID(Global Unique ID)를 이용하여 상호간 맵핑을 이루고 있다. A mapping between the terminal 200 and the syncML server 300 is performed using a Local Unique ID (LUID) and a Global Unique ID (GUID) for the same synchronization data, respectively.

만약, 상기 단말기(200)로부터 요청된 동기화 자료에 대해 자료 동기화 게이트웨이(100)를 거쳐서 syncML 서버(300)와 교환하는 경우에는, 상기 단말기(200)에서 생성된 LUID 및 GUID를 토대로 syncML 서버(300)와 동기화를 수행한 후 정상 종료한다. If the synchronization data requested from the terminal 200 is exchanged with the syncML server 300 through the data synchronization gateway 100, the syncML server 300 is based on the LUID and the GUID generated by the terminal 200. ) And then terminate normally.

그러나 syncML 서버(300)에서 생성된 새로운 GUID를 가진 동기화 자료에 대해서는 자료 동기화 게이트웨이(100)를 통하여 동기화가 수행된 후에, 해당 동기화 자료에 대한 LUID를 단말기(200)가 발급한다. However, after synchronization is performed through the data synchronization gateway 100 with respect to the synchronization data having the new GUID generated by the syncML server 300, the terminal 200 issues an LUID for the synchronization data.

상기 새롭게 발급된 LUID는 상기 단말기(200)가 동기화의 완료후에 생성하므로, 상기 자료 동기화 게이트웨이(100)와 syncML 서버(300)는 해당 정보를 확인할 수 없다. Since the newly issued LUID is generated after the terminal 200 completes synchronization, the data synchronization gateway 100 and the syncML server 300 cannot confirm the corresponding information.

이에 상기 단말기(200)는 동기화 종료 후에 자료 동기화 게이트웨이(100)로 동기화 자료 맵핑 정보를 전달하며, 상기 자료 동기화 게이트웨이(100)는 상기 동기화 자료 맵핑 정보를 제공받아 해당 동기화 자료에 대한 동기화 정보로서 데이터스토어(116)에 저장한다. Accordingly, the terminal 200 transmits synchronization data mapping information to the data synchronization gateway 100 after the synchronization ends, and the data synchronization gateway 100 receives the synchronization data mapping information and receives data as synchronization information for the corresponding synchronization data. Store in store 116.

상기한 본 발명의 바람직한 실시예에 따른 자료 동기화 게이트웨이(100)의 상세 구성을 도시한 도 2를 참조하면, 상기 서버 기능 모듈(104)에는 메시지 분석 기(400) 및 메시지 생성기(402)가 구비된다.Referring to FIG. 2 showing a detailed configuration of the data synchronization gateway 100 according to the preferred embodiment of the present invention, the server function module 104 includes a message analyzer 400 and a message generator 402. do.

상기 메시지 분석기(400)는 자료 동기화를 요청하는 단말기(200)로부터 제공되는 Hotsync 메시지를 제공받아 SyncML 메시지로 변환하기 위한 정보와 실제 데이터로 파싱한 후에, 상기 메시지 생성기(402)로 전송한다. The message analyzer 400 receives the Hotsync message provided from the terminal 200 requesting data synchronization and parses the information and the actual data into a SyncML message, and transmits it to the message generator 402.

또한 상기 메시지 분석기(400)는 SyncML 서버(300)로부터 SyncML 메시지를 수신하면, 상기 SyncML 메시지를 HotSync 메시지로 변환하기 위한 정보 및 실제 데이터로 파싱한 후에, 상기 메시지 생성기(402)로 전송한다.In addition, when the message analyzer 400 receives the SyncML message from the SyncML server 300, the message analyzer 400 parses the SyncML message into information and actual data for converting the SyncML message into a HotSync message, and then transmits the message to the message generator 402.

상기 메시지 생성기(402)는 메시지 분석기(400)로부터 제공된 정보를 바탕으로 SyncML 메시지를 생성하여 SyncML 서버(300)로 전송하거나, HotSync 메시지를 생성하여 단말기(200)로 전송한다. The message generator 402 generates a SyncML message based on the information provided from the message analyzer 400 and transmits it to the SyncML server 300, or generates a HotSync message and transmits it to the terminal 200.

상기 프로토콜 매니저(112)는 Changelog 매니저(404), Anchor info. 매니저(406), 데이터 매니저(408)를 구비한다. The protocol manager 112 includes a changelog manager 404 and an anchor info. The manager 406 and the data manager 408 are provided.

상기 데이터 매니저(408)는 상기 서버 기능 모듈(104)로부터 제공되는 데이터를 현재 데이터 스토어(116)에 저장된 Changelog를 참조하여 동기화 자료의 추가, 삭제, 수정 여부를 확인하고, 상기 확인 결과에 따라 상기 데이터 스토어(116)에 접근하여 동기화 정보의 추가 또는 삭제, 수정을 이행한다. The data manager 408 checks whether the data provided from the server function module 104 is added, deleted, or modified by referring to the changelog stored in the current data store 116, and according to the result of the check The data store 116 is accessed to add, delete, or modify synchronization information.

상기 Changelog 매니저(404)는 동기화 대상인 동기화 자료에 대한 Changelog를 상기 데이터 매니저(408)에 제공하거나, 상기 데이터 매니저(408)의 요청에 따라 상기 Changelog를 갱신한다. 여기서, 상기 Changelog는 각 동기화 자료에 대한 변경이력을 나타낸다. The changelog manager 404 provides the changelog for the synchronization material to be synchronized to the data manager 408 or updates the changelog at the request of the data manager 408. Here, the changelog represents a change history for each synchronization data.

상기 Anchor Info. 매니저(406)는 Anchor Info.를 관리한다. 여기서, 상기 Anchor Info.(Anchor Information)는 동기화를 수행하기 위하여, 단말기(200)와 syncML 서버(300) 사이의 가장 최근의 동기화 시점을 확인할 때에 사용되는 정보이다. 또한, Anchor Info.는 가장 최근의 동기화를 완료를 시점을 기록하는 Last_Sync Anchor Info.와 현재 진행 중인 동기화의 시점을 알려주는 Next_Sync Anchor Info.로 구성되어 있다.Anchor Info. The manager 406 manages Anchor Info. Here, the Anchor Info. (Anchor Information) is information used when checking the most recent synchronization time point between the terminal 200 and the syncML server 300 to perform synchronization. In addition, Anchor Info. Is composed of Last_Sync Anchor Info., Which records the time when the most recent synchronization is completed, and Next_Sync Anchor Info., Which informs the timing of the ongoing synchronization.

도 3은 Hotsync 방식을 채용하는 단말기(200)의 자료 동기화를 위한 구성을 도시한 것이다. 3 shows a configuration for data synchronization of the terminal 200 employing the Hotsync method.

상기 단말기(200)는 클라이언트 기능 모듈(202), 데이터 처리기(208), 동기화 자료 저장장치(210), 통신모듈(212)을 구비한다. The terminal 200 includes a client function module 202, a data processor 208, a synchronization data storage 210, and a communication module 212.

상기 클라이언트 기능 모듈(202)은 자료 동기화 게이트웨이(100)에 대해 클라이언트 역할을 이행하며, 동기화 자료 저장장치(210)에 저장된 동기화 자료의 추가 또는 삭제, 수정에 따른 이벤트가 발생하면, 상기 추가 또는 삭제, 수정된 동기화 자료에 대한 데이터를 분석하는 메시지 분석기(206)와, 상기 분석된 데이터를 Hotsync 메시지로 생성하여 통신모듈(212)을 통해 자료 동기화 게이트웨이(100)로 제공하는 메시지 생성기(204)를 구비한다. The client function module 202 fulfills a client role with respect to the data synchronization gateway 100, and when an event according to addition, deletion, or modification of synchronization data stored in the synchronization data storage device 210 occurs, the addition or deletion A message analyzer 206 for analyzing the data on the modified synchronization data and a message generator 204 for generating the analyzed data as a Hotsync message and providing the analyzed data to the data synchronization gateway 100 through the communication module 212. Equipped.

상기 데이터 처리기(208)는 상기 동기화 자료 저장장치(210)와 상기 클라이언트 기능 모듈(202)간의 인터페이스를 제공하기 위해, 상기 데이터를 팩킹 또는 언팩킹을 이행한다. The data processor 208 performs packing or unpacking of the data to provide an interface between the synchronization data store 210 and the client function module 202.

이러한 데이터 처리기(208)의 동작을 좀더 설명한다. The operation of this data processor 208 is further described.

일반적으로 Palm OS 기반의 HotSync 프로토콜에서의 데이터베이스는 필드나 인덱스를 가지지 않고, chunk 단위로 메모리 공간에 배열되며, SQL를 통하여 상위 레벨의 접근도 허용하지 않는다.In general, the database in the Palm OS-based HotSync protocol does not have fields or indexes, and is arranged in memory space in chunks, and does not allow high-level access through SQL.

이와 같이 단순한 구조를 가지는 것은 단말기의 메모리 크기에 대한 한계와 데이터 처리기의 신속한 성능을 보장하기 위해서이다. Such a simple structure is to ensure the limitation of the memory size of the terminal and the fast performance of the data processor.

특히, 상기 단말기에는 데이터가 소정 레코드 구조로 팩(packed)되어 저장되고, 상기 저장된 데이터를 동기화 서버로 옮길 때에는 언팩(unpacked)된다. 상기 팩(packed)란 모든 자료들을 메모리 상에 순차적으로 로딩하는 것을 말하며, 상기 언팩(Unpacked)란 팩(packed)되어 메모리에 상주된 데이터들 중 처리 대상이 되는 데이터에 대해 접근하는 것을 일컫는다. In particular, the terminal is packed and stored in a predetermined record structure, and is unpacked when the stored data is transferred to the synchronization server. The packed means to sequentially load all the data into the memory, and the unpacked means to access the data that is to be processed from among the packed and resident data in the memory.

상기 동기화 자료 저장장치(210)에 저장된 동기화 자료에 접근하여 추출하기 위한 데이터 처리기(208)의 동작은 다음과 같다. The operation of the data processor 208 for accessing and extracting synchronization data stored in the synchronization data storage device 210 is as follows.

제1과정 : 동기화 자료 저장장치(210)의 동기화 자료 중 대상 동기화 자료를 오픈Step 1: Open the target synchronization data among the synchronization data of the synchronization data storage device 210

제2과정 : 상기 대상 동기화 자료(팩 상태)를 내부 메모리상에 순차적으로 저장Second step: sequentially storing the target synchronization data (pack state) on an internal memory

제3과정 : 상기 대상 동기화 자료의 레코드 영역에 대해 언팩 처리Step 3: Unpacking the Record Area of the Target Synchronization Data

제4과정 : 언팩된 레코드 영역의 데이터에 대해 각 필드 데이터를 독출(read)하여 클라이언트 기능 모듈(202)로 전송Step 4: Read each field data with respect to the data of the unpacked record area and transmit it to the client function module 202

제5과정 : 각 필드의 데이터를 독출이 완료되면 팩 처리 Step 5: Pack the data after reading the data of each field

상기 동기화 자료 저장장치(210)는 해당 단말기(200)의 동기화 자료를 저장한다. The synchronization data storage device 210 stores the synchronization data of the terminal 200.

상기 통신 모듈(212)은 상기 클라이언트 기능 모듈(202)과 자료 동기화 게이트웨이(100)간에 Hotsync 방식으로 Hotsync 메시지의 송수신을 이행한다. The communication module 212 performs transmission and reception of a Hotsync message between the client function module 202 and the data synchronization gateway 100 in a Hotsync manner.

이제, 상기한 바와 같이 구성되는 자료 동기화 시스템의 동작을 설명한다. The operation of the data synchronization system configured as described above will now be described.

먼저, 상기 자료 동기화 게이트웨이(100)의 처리 동작을 도 4를 참조하여 설명한다. First, the processing operation of the data synchronization gateway 100 will be described with reference to FIG.

상기 자료 동기화 게이트웨이(100)의 서버 기능 모듈(104)은 단말기(200)에 대해 서버 역할을 이행하여, 상기 단말기(200)로부터의 동기화 요청이 발생될 때까지 대기한다(500단계). The server function module 104 of the data synchronization gateway 100 performs a server role with respect to the terminal 200 and waits until a synchronization request from the terminal 200 is generated (step 500).

상기 대기 중에 상기 서버 기능 모듈(104)은 상기 단말기(200)로부터 동기화 요청에 따른 단말기(200)측 동기화 메시지가 수신되는지를 체크한다(502단계).During the waiting, the server function module 104 checks whether the terminal 200 side synchronization message is received from the terminal 200 according to the synchronization request (step 502).

상기 단말기(200)측 동기화 메시지가 수신되면, 상기 서버 기능 모듈(104)은 상기 단말기(200)측 동기화 메시지를 SyncML 메시지로 변환하기 위한 정보 및 실제 데이터를 추출하기 위해 파싱한다(504단계). 상기 동기화 메시지의 파싱은 상기 단말기(200)로부터 송신되는 동기화 메시지의 마지막 데이터가 수신될 때까지 계속된다(506단계).When the terminal 200 side synchronization message is received, the server function module 104 parses the terminal 200 side synchronization message to extract information and actual data for conversion into a SyncML message (step 504). The parsing of the synchronization message continues until the last data of the synchronization message sent from the terminal 200 is received (step 506).

상기 단말기(200)측 동기화 메시지의 수신이 완료되면, 상기 서버 기능 모듈(104)은 프로토콜 매니저(112)를 통해 상기 단말기(200)측 동기화 메시지로부터 추출한 실제 데이터에 대응되는 동기화 정보를 참조하여 상기 동기화 이행여부를 결정하고, 데이터 스토어(116)의 동기화 정보에 반영한다. 좀 더 설명하면, 상기 프로토콜 매니저(112)는 Changelog를 참조하여, 상기 실제 데이터에 따라 동기화 정보를 생성하거나 삭제하거나 수정한다. When the reception of the synchronization message on the terminal 200 side is completed, the server function module 104 refers to the synchronization information corresponding to the actual data extracted from the synchronization message on the terminal 200 side through the protocol manager 112. It determines whether or not synchronization is performed and reflects it in the synchronization information of the data store 116. In more detail, the protocol manager 112 refers to a changelog and generates, deletes, or modifies synchronization information according to the actual data.

상기한 바와 같이 단말기(200)측 동기화 요청에 따른 처리가 완료되면, 상기 서버 기능 모듈(104)은 상기 SyncML 서버(300)와 동기화를 이행한다. 상기 SyncML 서버(300)와의 동기화는 SyncML 규격에 따라 1번 패키지에서 6번 패키지까지 송수신하여 이행하게 된다. As described above, when the processing according to the terminal 200 side synchronization request is completed, the server function module 104 performs synchronization with the SyncML server 300. Synchronization with the SyncML server 300 is performed by transmitting and receiving from package 1 to package 6 according to the SyncML standard.

상기 SyncML 서버(300)와 동기화시에 상기 SyncML 서버(300)측 동기화 메시지를 수신하였으면, 상기 서버 기능 모듈(104)는 상기 SyncML 서버(300)측 동기화 메시지를 Hotsync 메시지로 변환하기 위한 정보 및 실제 데이터를 추출하기 위해 파싱한다(514단계).If the SyncML server 300 side synchronization message is received at the time of synchronization with the SyncML server 300, the server function module 104 converts the SyncML server 300 side synchronization message into a Hotsync message and the actual message. Parse to extract data (step 514).

상기 파싱이 완료되면, 상기 서버 기능 모듈(104)은 프로토콜 매니저(112)를 통해 상기 SyncML 서버(300)측 동기화 메시지로부터 추출한 실제 데이터를 데이터 스토어(116)에 반영한다. 좀 더 설명하면, 상기 프로토콜 매니저(112)는 Changelog를 참조하여, 상기 실제 데이터에 따라 동기화 정보를 생성하거나 삭제하거나 수정한다. When the parsing is completed, the server function module 104 reflects the actual data extracted from the SyncML server 300 side synchronization message through the protocol manager 112 to the data store 116. In more detail, the protocol manager 112 refers to a changelog and generates, deletes, or modifies synchronization information according to the actual data.

또한 상기 서버 기능 모듈(104)은 실제 데이터를 동기화 자료에 반영한 후에, 상기 프로토콜 매니저(112)를 통해 상기 Changelog를 갱신한다. The server function module 104 also updates the changelog through the protocol manager 112 after reflecting the actual data in the synchronization data.

또한 상기 서버 기능 모듈(104)은 상기 SyncML 서버(300)측 동기화 메시지로부터 추출한 Hotsync 메시지로 변환하기 위한 정보 및 실제 데이터를 이용하여 Hotsync 메시지를 생성하고, 상기 Hotsync 메시지를 상기 단말기(200)로 송신한다. In addition, the server function module 104 generates a Hotsync message using information and actual data for converting into a Hotsync message extracted from the SyncML server 300 side synchronization message, and transmits the Hotsync message to the terminal 200. do.

상기 SyncML 서버(300)측 동기화 메시지에 따른 Hotsync 메시지를 수신받은 단말기(200)는 상기 SyncML 서버(300)측 동기화 메시지에 따른 Hotsync 메시지를 자신의 동기화 자료 저장장치(210)에 반영하며, 그 반영에 따른 동기화 자료 ID 정보 및 저장위치를 나타내는 주소 정보 등을 포함하는 맵핑 정보를 상기 서버 기능 모듈(104)로 전송한다. The terminal 200 receiving the Hotsync message according to the SyncML server 300 side synchronization message reflects the Hotsync message according to the SyncML server 300 side synchronization message to its synchronization data storage device 210 and reflects the Hotsync message. Mapping information including synchronization data ID information and address information indicating a storage location is transmitted to the server function module 104.

상기 서버 기능 모듈(104)은 상기 단말기(200)로부터 제공되는 맵핑정보를 저장하고 본 발명의 바람직한 실시예에 따른 자료 동기화를 완료한다. The server function module 104 stores the mapping information provided from the terminal 200 and completes data synchronization according to a preferred embodiment of the present invention.

한편, 단말기(200)에서의 처리 과정을 도 5를 참조하여 설명한다. On the other hand, the process of the terminal 200 will be described with reference to FIG.

상기 단말기(200)의 클라이언트 기능 모듈(202)은 동기화 자료 저장장치(210)의 동기화 자료의 추가, 삭제, 수정 등에 동기화 이벤트가 발생되는지를 체크한다. The client function module 202 of the terminal 200 checks whether a synchronization event occurs, such as adding, deleting, or modifying synchronization data of the synchronization data storage device 210.

상기 동기화 이벤트가 발생되면, 상기 클라이언트 기능 모듈(202)은 Hotsync 프로토콜에 따라 동기화 대상이 되는 실제 데이터를 포함하는 Hotsync 메시지를 생성하여 상기 자료 동기화 게이트웨이(100)로 전송한다. When the synchronization event occurs, the client function module 202 generates a Hotsync message including actual data to be synchronized according to the Hotsync protocol and transmits it to the data synchronization gateway 100.

상기 자료 동기화 게이트웨이(100)로의 Hotsync 메시지 송신이 완료되면, 상기 클라이언트 기능 모듈(202)은 상기 자료 동기화 게이트웨이(100)로부터 상기 SyncML 서버(300)측 동기화 메시지에 따른 Hotsync 메시지가 수신되는지를 체크한다. 상기 SyncML 서버(300)측 동기화 메시지에 따른 Hotsync 메시지가 수신되면, 상기 클라이언트 기능 모듈(202)은 상기 SyncML 서버(300)측 동기화 메시지에 따른 Hotsync 메시지로부터 실제 데이터를 추출하기 위해 상기 Hotsync 메시지를 파싱한다. 이후 상기 클라이언트 기능 모듈(202)은 상기 실제 데이터를 동기화 자료 저장장치(210)의 동기화 자료에 반영한다. 여기서, 상기 실제 데이터의 반영은 동기화 자료의 추가 또는 삭제, 수정을 이행하는 것으로, 상기 실제 데이터의 반영에 따라 변화된 동기화 자료의 ID 및 저장위치를 나타내는 주소 정보 등을 포함하는 맵핑정보를 갱신하고, 상기 맵핑정보를 상기 자료 동기화 게이트웨이(100)로 전송한다. When the Hotsync message transmission to the data synchronization gateway 100 is completed, the client function module 202 checks whether a Hotsync message according to the SyncML server 300 side synchronization message is received from the data synchronization gateway 100. . When a Hotsync message according to the SyncML server 300 side synchronization message is received, the client function module 202 parses the Hotsync message to extract actual data from the Hotsync message according to the SyncML server 300 side synchronization message. do. The client function module 202 then reflects the actual data to the synchronization data of the synchronization data storage 210. Here, the reflection of the actual data is to add, delete, or modify the synchronization data, and update the mapping information including the ID and address information indicating a storage location of the synchronization data changed according to the reflection of the actual data, The mapping information is transmitted to the data synchronization gateway 100.

도 5는 HotSync 클라이언트와 SyncML 서버간의 SyncML 기반의 변환 게이트웨이를 통하여 정상적인 자료 동기화가 수행되는 과정을 도시한 것이다. 5 illustrates a process of performing normal data synchronization through a SyncML-based conversion gateway between a HotSync client and a SyncML server.

도 5의 (a)는 클라이언트에서 자료를 추가하였을 경우, 도 5의 (b)는 클라이언트에서 자료를 삭제하였을 경우, 도 5의 (c)는 클라이언트에서 자료를 수정하였을 경우를 나타내는 화면이다. FIG. 5A illustrates a case where data is added to the client, FIG. 5B illustrates a case where data is deleted by the client, and FIG. 5C illustrates a case where data is modified by the client.

도 6은 HotSync 클라이언트에서 10개, 20개, 40개, 60개 80개, 100개의 동기화 자료에 대해서 추가 및 삭제 동기화 명령에 대한 전체 동기화 시간에 대한 변이를 그래프로 표현하고 있다.FIG. 6 graphically depicts the variation of total synchronization time for add and delete synchronization commands for 10, 20, 40, 60, 80 and 100 synchronization data in a HotSync client.

상기 동기화 지연 시간은 HotSync 방식을 채용하는 클라이언트에서 대상 자료를 SyncML 프로토콜에 적합한 메시지 형태로 변환시켜주는 데 대한 수행시간이라고 볼 수 있다.The synchronization delay time may be regarded as an execution time for converting a target material into a message format suitable for SyncML protocol in a client employing a HotSync method.

상기 HotSync 방식의 동기화 클라이언트의 경우에는 자료 동기화를 수행하기 위해 PIMS 관련의 모든 데이터베이스를 단말기의 메모리상에 모두 로딩시킨 후, 동기화 대상이 되는 자료를 검색하는 초기화 과정이 필요하다. 이러한 초기화 절차 때문에 ActiveSync 방식의 단말기보다는 전체 동기화 시간이 더 많이 소비된다.In the case of the HotSync type synchronization client, all data related to PIMS are loaded on the memory of the terminal in order to perform data synchronization, and then an initialization process for searching for data to be synchronized is required. This initialization procedure consumes more total synchronization time than ActiveSync terminals.

동기화 클라이언트에서 수행한 자료에 대한 추가, 삭제 및 갱신에 대한 동기화 시간보다 동기화 서버에서 수행한 자료 조작에 대한 동기화 시간이 더 소비되는 것을 볼 수 있다. 이는 동기화 서버에서 조작된 데이터에 대해서 통합 게이트웨이에 있는 데이터 아이템 식별코드와 단말기에 존재하는 데이터 아이템에 대한 식별코드가 일치하지 않는다. 따라서, 동기화를 수행한 후 최종적으로 통합 게이트웨이와 단말기 간에 동기화 대상 아이템에 대한 맵 정보를 일치시키기 위한 통신 과정이 추가적으로 발생하게 된다.You can see that the synchronization time for data operations performed by the synchronization server is spent more than the synchronization time for additions, deletions, and updates to data performed by the synchronization client. This means that the data item identification code in the integration gateway and the identification code for the data item present in the terminal do not match with respect to the data operated in the synchronization server. Therefore, after performing synchronization, a communication process for matching the map information on the synchronization target item is finally generated between the integration gateway and the terminal.

상기한 본 발명의 바람직한 실시예에서는 HotSync 방식을 채용한 단말기만을 예시하였으나, 상기 HotSync 방식 이외의 비표준화된 자료 동기화 방식을 채용한 단말기와 SyncML 서버간의 자료 동기화를 위해 본 발명의 자료 동기화 게이트웨이를 채용할 수도 있다. In the above-described preferred embodiment of the present invention, only the terminal adopting the HotSync method is illustrated, but the data synchronization gateway of the present invention is adopted for data synchronization between a terminal employing a non-standard data synchronization method other than the HotSync method and a SyncML server. You may.

특히 상기한 본 발명은 SyncML을 기반으로 하는 단말기와 SyncML 서버 간에 동기화가 수행되는 동안, 동기화 대상이 되는 객체는 논리적으로 패키지를 교환한다. 또한 각 패키지는 실제로 단말기의 제한된 자원과 무선 통신상의 낮은 대역폭으로 인해 다수의 메시지들로 분리되어 교환된다. 한 번의 완전한 자료 동기화를 위해 클라이언트와 서버 간에 주고받은 모든 패키지를 세션(Session)이라고 하며, 세션은 여러 개의 패키지를 포함하고 하나의 패키지는 여러 메시지를 구성되어 있다. In particular, in the present invention described above, while synchronization is performed between a SyncML-based terminal and a SyncML server, objects to be synchronized exchange packages logically. In addition, each package is actually separated and exchanged into multiple messages due to the limited resources of the terminal and the low bandwidth on wireless communication. All packages sent and received between client and server for one complete data synchronization are called sessions. A session contains several packages and one package consists of several messages.

따라서, 본 동기화 엔진은 SyncML 통신 패킷 단위에 기반을 둔 각각의 핸들 러 구조로 설계함으로써, 무선 환경에서 전송 효율성을 극대화하고, 송수신 버퍼의 허용 용량보다 큰 메시지가 교환될 경우 허용 가능 메시지로 분할해서 전송하는 다중 메시지 전송(Multiple Message)도 가능하게 한다.Therefore, this synchronization engine is designed with each handler structure based on SyncML communication packet unit, maximizing transmission efficiency in wireless environment, and dividing into allowable message when messages larger than the allowable capacity of transmit / receive buffer are exchanged. It also enables multiple messages to be sent.

상술한 바와 같이 본 발명에 따르는 SyncML 기반의 자료 동기화 게이트웨이 시스템은 다음과 같은 이점이 있다. As described above, the SyncML-based data synchronization gateway system according to the present invention has the following advantages.

첫째, 본 발명의 자료 동기화 게이트웨이 시스템은 Palm OS 기반의 PDA에 탑재된 HotSync 자료 동기화 개체들은 서로 다른 동기화 방식을 탑재하고 있는 PDA와의 상호 호환성을 제공할 수 있는 이점이 있다. First, in the data synchronization gateway system of the present invention, HotSync data synchronization objects mounted in a Palm OS-based PDA can provide mutual compatibility with PDAs having different synchronization methods.

둘째, 본 발명은 OMA에서 제시한 SyncML 프로토콜 스펙을 기반으로 개발하였으므로, 국제 표준을 준수하고 있으며, 또한 향후 SyncML 프로토콜이 자료 동기화 방식에서 세계적인 표준기술로 채택되는 점에 기여할 수 있다. Second, since the present invention was developed based on the SyncML protocol specification proposed by the OMA, the present invention complies with international standards and may contribute to the future adoption of the SyncML protocol as a global standard technology in data synchronization.

셋째, 본 발명은 자료 동기화 방식에서 송수신하는 통신 패킷의 단위를 기반으로 동기화 엔진을 설계함으로써, 자료 동기화 시간의 단축을 향상시킬 수 있다.Third, the present invention can improve the reduction of data synchronization time by designing a synchronization engine based on the unit of communication packets transmitted and received in the data synchronization method.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above-described embodiments, which can be variously modified and modified by those skilled in the art to which the present invention pertains. Modifications are possible.

따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should be understood only by the claims set forth below, and all equivalent or equivalent modifications thereof will belong to the scope of the present invention.

Claims (6)

비표준 자료 동기화 방식인 HotSync 방식으로 통신하는 단말기와 표준 자료 동기화 방식인 SyncML 방식으로 통신하는 서버 사이에 연결되는 자료 동기화 게이트웨이의 자료 동기화 방법에 있어서,In the data synchronization method of the data synchronization gateway connected between a terminal communicating with a non-standard data synchronization method HotSync method and a server communicating with a standard data synchronization method SyncML method, 상기 단말기로부터 상기 HotSync 방식에 따른 HotSync 동기화 메시지가 수신되면, 상기 HotSync 동기화 메시지를 파싱하여 동기화 정보와 식별정보를 추출하는 단계;When the HotSync synchronization message according to the HotSync method is received from the terminal, parsing the HotSync synchronization message to extract synchronization information and identification information; 상기 자료 동기화 게이트웨이의 데이터 스토어에 저장되어 있는 상기 식별정보에 대응되는 동기화 정보의 변경이력정보를 조회하여 동기화가 필요한지를 판단하는 단계;Querying change history information of synchronization information corresponding to the identification information stored in the data store of the data synchronization gateway to determine whether synchronization is required; 상기 동기화가 필요한 것으로 판단될 때에만, 상기 식별정보에 대응되는 데이터 스토어의 동기화 정보를 상기 HotSync 동기화 메시지로부터 추출한 동기화 정보에 따라 갱신함과 아울러 그 동기화 정보에 대한 변경이력정보를 갱신하고, 상기 추출한 동기화 정보를 상기 SyncML 방식의 SyncML 동기화 메시지로 구성하여 상기 서버로 송신하는 단계;Only when it is determined that the synchronization is necessary, the synchronization information of the data store corresponding to the identification information is updated according to the synchronization information extracted from the HotSync synchronization message, and the change history information on the synchronization information is updated and the extracted information is updated. Composing synchronization information into the SyncML synchronization message of the SyncML scheme and transmitting the same to the server; 상기 서버로부터 상기 SyncML 방식에 따른 SyncML 동기화 메시지가 수신되면, 상기 SyncML 동기화 메시지를 파싱하여 동기화 정보와 식별정보를 추출하는 단계;When the SyncML synchronization message according to the SyncML method is received from the server, parsing the SyncML synchronization message to extract synchronization information and identification information; 상기 데이터 스토어에 저장되어 있는 상기 식별정보에 대응되는 동기화 정보의 변경이력정보를 조회하여 동기화가 필요한지를 판단하는 단계;Determining whether synchronization is necessary by querying change history information of synchronization information corresponding to the identification information stored in the data store; 상기 동기화가 필요한 것으로 판단될 때에만, 상기 식별정보에 대응되는 데이터 스토어의 동기화 정보를 상기 SyncML 동기화 메시지로부터 추출한 동기화 정보에 따라 갱신함과 아울러 그 동기화 정보에 대한 변경이력정보를 갱신하고, 상기 추출한 동기화 자료를 상기 HotSync 방식에 따른 HotSync 동기화 메시지로 구성하여 상기 단말기로 송신하는 단계;Only when it is determined that the synchronization is necessary, the synchronization information of the data store corresponding to the identification information is updated according to the synchronization information extracted from the SyncML synchronization message, and the change history information on the synchronization information is updated, and the extracted information is updated. Constructing synchronization data into a HotSync synchronization message according to the HotSync method and transmitting the synchronized data to the terminal; 를 포함하는 것을 특징으로 하는 자료 동기화 게이트웨이의 자료 동기화 방법.Data synchronization method of a data synchronization gateway comprising a. 삭제delete 삭제delete 비표준 자료 동기화 방식인 HotSync 방식으로 통신하는 단말기와 표준 자료 동기화 방식인 SyncML 방식으로 통신하는 서버 사이에 연결되는 자료 동기화 게이트웨이에 있어서, A data synchronization gateway connected between a terminal communicating with a non-standard data synchronization method HotSync method and a server communicating with a standard data synchronization method SyncML method, 상기 단말기와 상기 HotSync 방식으로 통신을 이행하는 통신모듈;A communication module for performing communication with the terminal through the HotSync method; 상기 서버에 대한 클라이언트 역할을 이행하는 클라이언트 기능부;A client function unit that performs a client role for the server; 동기화 정보, 식별정보, 변경이력정보로 구성되는 동기화 자료를 저장하는 데이터 스토어;A data store for storing synchronization data including synchronization information, identification information, and change history information; 상기 통신모듈을 통해 상기 HotSync 방식에 따른 HotSync 동기화 메시지가 상기 단말기로부터 수신되면, 상기 HotSync 동기화 메시지를 파싱하여 동기화 정보와 식별정보를 추출하고,If a HotSync synchronization message according to the HotSync method is received from the terminal through the communication module, the HotSync synchronization message is parsed to extract synchronization information and identification information, 상기 데이터 스토어에 저장되어 있는 상기 식별정보에 대응되는 동기화 정보의 변경이력정보를 조회하여 동기화가 필요한지를 판단하고,Determining whether synchronization is necessary by querying change history information of synchronization information corresponding to the identification information stored in the data store, 상기 동기화가 필요한 것으로 판단될 때에만, 상기 식별정보에 대응되는 상기 데이터 스토어의 동기화 정보를 상기 HotSync 동기화 메시지로부터 추출한 동기화 정보에 따라 갱신함과 아울러 그 동기화 정보에 대한 변경이력정보를 갱신하고, 상기 추출한 동기화 정보를 표준 자료 동기화 방식인 SyncML 방식의 SyncML 동기화 메시지로 구성하여 상기 클라이언트 기능부를 통해 상기 서버로 송신하고,Only when it is determined that the synchronization is necessary, the synchronization information of the data store corresponding to the identification information is updated according to the synchronization information extracted from the HotSync synchronization message, and the change history information for the synchronization information is updated. The extracted sync information is composed of SyncML sync messages of standard sync data and transmitted to the server through the client function unit. 상기 클라이언트 기능부를 통해 상기 SyncML 방식의 SyncML 동기화 메시지가 상기 서버로부터 수신되면, 상기 SyncML 동기화 메시지를 파싱하여 동기화 정보와 식별정보를 추출하고,When the SyncML synchronization message of the SyncML method is received from the server through the client function unit, the SyncML synchronization message is parsed to extract synchronization information and identification information, 상기 데이터 스토어에 저장되어 있는 상기 식별정보에 대응되는 동기화 정보의 변경이력정보를 조회하여 동기화가 필요한지를 판단하고, Determining whether synchronization is necessary by querying change history information of synchronization information corresponding to the identification information stored in the data store, 상기 동기화가 필요한 것으로 판단될 때에만, 상기 식별정보에 대응되는 데이터 스토어의 동기화 정보를 상기 SyncML 동기화 메시지로부터 추출한 동기화 정보에 따라 갱신함과 아울러 그 동기화 정보에 대한 변경이력정보를 갱신하고, 상기 추출한 동기화 자료를 상기 HotSync 방식에 따른 HotSync 동기화 메시지로 구성하여 상기 통신모듈을 통해 상기 단말기로 송신하는 서버 기능 모듈Only when it is determined that the synchronization is necessary, the synchronization information of the data store corresponding to the identification information is updated according to the synchronization information extracted from the SyncML synchronization message, and the change history information on the synchronization information is updated, and the extracted information is updated. Server function module for configuring the synchronization data into a HotSync synchronization message according to the HotSync method and transmitting the synchronization data to the terminal through the communication module. 를 포함하는 것을 특징으로 하는 자료 동기화 게이트웨이. Data synchronization gateway comprising a. 삭제delete 삭제delete
KR1020070054388A 2007-06-04 2007-06-04 Data-Synchronization method and Gateway thereof KR100884543B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070054388A KR100884543B1 (en) 2007-06-04 2007-06-04 Data-Synchronization method and Gateway thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070054388A KR100884543B1 (en) 2007-06-04 2007-06-04 Data-Synchronization method and Gateway thereof

Publications (2)

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

Family

ID=40367281

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070054388A KR100884543B1 (en) 2007-06-04 2007-06-04 Data-Synchronization method and Gateway thereof

Country Status (1)

Country Link
KR (1) KR100884543B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101274553B1 (en) 2011-03-11 2013-06-13 에스코어 주식회사 Classification and synchronization method of sync data

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101529162B1 (en) * 2012-10-25 2015-06-16 주식회사 케이티 System of providing synchronization information and method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020063458A (en) * 2001-01-29 2002-08-03 인포뱅크 주식회사 Method For Synchronizing A Personal Information Between Mobile-Terminal And Web Sync Server
KR20070120663A (en) * 2006-06-20 2007-12-26 계명대학교 산학협력단 Gateway system for data synchronization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020063458A (en) * 2001-01-29 2002-08-03 인포뱅크 주식회사 Method For Synchronizing A Personal Information Between Mobile-Terminal And Web Sync Server
KR20070120663A (en) * 2006-06-20 2007-12-26 계명대학교 산학협력단 Gateway system for data synchronization

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101274553B1 (en) 2011-03-11 2013-06-13 에스코어 주식회사 Classification and synchronization method of sync data

Also Published As

Publication number Publication date
KR20080106672A (en) 2008-12-09

Similar Documents

Publication Publication Date Title
CN102394872B (en) Data communication protocol
US9594821B2 (en) Method and apparatus for synchronizing how data is stored in different data stores
EP1727056B1 (en) Data communication protocol
CN101682635B (en) Multiplexed data stream protocol
CN108958927A (en) Dispositions method, device, computer equipment and the storage medium of container application
CN105812351A (en) Method and system for sharing session
CN103731447A (en) Method and system for querying data
CN110297862A (en) Data bank access method and Database-access Middleware Based
CN102981857A (en) Method for loading parallel compressed mass data of database cluster
CN111367685B (en) Interface calling method and device, computer equipment and storage medium
US7672978B2 (en) Handling of content in a data processing device
US20140013007A1 (en) Access log management method
CN102594874B (en) Synchronization processing method and device
KR100884543B1 (en) Data-Synchronization method and Gateway thereof
KR20160103110A (en) Network element data access method and apparatus, and network management system
Ting et al. A comparison and evaluation of different BLE connection methods for wearable devices
CN110417860A (en) File transfer management method, apparatus, equipment and storage medium
US20120137284A1 (en) Method for installing image file
KR101082850B1 (en) Active Sync-based Mobile Device for data Synchronizing and Method at the same
CN115269228A (en) Data adaptive transmission method, device, equipment and medium
KR100844361B1 (en) Gateway system for data synchronization
CN112416509B (en) Virtual machine control system and related equipment
CN114830105A (en) Data reading method and terminal
Ballesteros et al. ZX: A network file system for high‐latency networks
KR100311223B1 (en) Method for transmitting and receiving message between processors based on shared message queue

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