A mobile DBMS is a light-weight DBMS that effectively manages data in mobile devices. Since the network connections among the mobile devices and the server are not always guaranteed, the whole data are stored in the server database and the portion of the data currently needed is stored in the mobile database. In this case, if a portion of the data on the server or on the mobile device is updated, the data inconsistency problem could occur between the server database and mobile databases.
Data synchronization in a mobile environment is a functionality that makes the data consistent between the server and mobile devices. The research on data synchronization is at an initial stage. Issues and protocols of data synchronization have been rarely studied. Even though there are commercial synchronization modules, their details have not been discussed in the literature.
In this paper, we design and implement a data synchronization module for the Odysseus/ Mobile DBMS. We first design and implement the data synchronization module. We then propose a recovery protocol that handles system failures during data synchronization.
모바일 DBMS는 모바일 기기에 저장된 데이터를 효과적으로 관리하는 소형 DBMS이다. 모바일 환경에서는 모바일 기기와 서버 간에 지속적인 통신이 보장되지 않는다. 따라서, 전체 데이터는 서버 데이터베이스에 저장하고 사용자가 필요한 데이터만을 모바일 데이터베이스로 다운로드하여 사용한다. 이 경우, 모바일 기기 또는 서버에서 데이터를 변경하게 되면 양측 간에 데이터가 일치하지 않는 문제가 발생할 수 있다.
모바일 환경에서의 데이터 동기화는 모바일 기기 또는 서버에 저장된 데이터 간에 일치하지 않은 데이터를 일치시키는 기능이다. 모바일 환경에서의 데이터 동기화에 관한 연구는 초기 단계로서 관련된 이슈들과 구체적인 동기화 방법에 대해서는 거의 발표되지 않고 있다. 상용 모바일 DBMS에서는 데이터 동기화 모듈들을 제공하지만 자세한 동기화 방법과 자료구조는 공개하지 않고 있다.
본 논문에서는 한국과학기술원에서 개발한 오디세우스/Mobile DBMS를 위한 데이터 동기화 모듈을 설계하고 구현한다. 우선, 데이터 동기화 모듈의 아키텍처와 동기화 방법을 설계하고 구현한다. 그리고, 동기화 도중 시스템 장애가 발생하는 경우, 시스템 장애가 발생하기 전의 상태로 복구하는 파손 회복 방법을 제안한다.