アットマーク・アイティ @IT@IT情報マネジメント@IT自分戦略研究所QA@ITイベントカレンダー  
 @IT > Master of IP Network > Mobile Connection > PalmとPC間のデータ同期技術を知る
 



PalmとPC間のデータ同期技術を知る

柳下剛利
パームコンピューティング株式会社
2001/5/29

今回のおもな内容
HotSync技術とは
HotSyncマネージャの動作の流れ
コンジットはHotSyncの中核技術
HotSync技術を活用した製品
企業システムに合ったサーバ同期

 従来の「紙の手帳」がシステム手帳になり、そして「レフィル」の追加でカスタマイズができるように進化したように、携帯情報端末(PDA)もスタンドアロンとしての「電子手帳」から、自分のスタイルに合ったアプリケーションを導入したり、PCのデータを「いつでも、どこでも」持ち運ぶことができるようになってきた。PDAにこの革新的な変化を最初にもたらしたものが「Palm Poweredハンドヘルド」であり、「HotSync技術」である。今回は、このHotSync技術を中心に、Palm PoweredハンドヘルドとPC/サーバとのデータ交換/同期技術について紹介する。

注:Palm Poweredハンドヘルドとは、Palm OSを搭載したハンドヘルドデバイスを意味する。特に注釈がない限り、本稿では、Palm Poweredハンドヘルドのことを、ハンドヘルドと略させていただく。


   HotSync技術とは

 PC/サーバとハンドヘルドのデータ交換/同期技術には、デスクトップ型サーバ/ゲートウェイ型の2つがある。デスクトップ型は1:1の同期であり、同期のためのソフトウェアを各PCにインストールする必要がある。また、サーバ/ゲートウェイ型は同時に複数のハンドヘルドとの同期を可能にするもので、TCP/IPベースのネットワークを介在するものがほとんどである。

 まず最初に、デスクトップ型の同期技術について見ていこう。デスクトップ型同期技術の代表例がHotSync技術だ。HotSync技術は、拡張性を持った同期技術で、ハンドヘルドの標準機能として以下の機能を実現する。

  • PC−ハンドヘルド間のデータ同期(双方向)
  • ハンドヘルド内のデータのバックアップ
  • ハンドヘルドへのソフトウェアのインストール

 これらの機能は、HotSyncマネージャと呼ばれるソフトウェアによって提供される。HotSyncマネージャは、ハンドヘルドに同梱されているPalm Desktopソフトウェアと一緒にインストールされるため、ハンドヘルドを購入すると直ちにこれらの機能を利用することができる。

 PC常駐型のソフトウェアHotSyncマネージャの最新バージョン4.0(m500シリーズのCDよりリリース)は、従来のシリアル(ローカル シリアル、モデム)接続ならびに赤外線接続に加え、ローカル USB、ネットワークという新しい接続オプションが追加されている。ローカル USBは、バージョン4.0から正式にサポートされている。また、ネットワークは、TCP/IP経由でHotSyncマネージャが動作しているPCに接続する方法だ。

図1 HotSyncマネージャ4.0のメニュー表示。従来と比較して接続オプションが増えている

   HotSyncマネージャの動作の流れ

 では、HotSyncマネージャはどのように動作しているのだろうか。その流れを見ていこう。

  1. クレードルのHotSyncボタンが押されたときに、Wakeup信号がクレードルより通知される。通知された時点でポップアップ画面が表示される。
  2. ハンドヘルドに登録されたID情報(ユーザー識別を行うための情報)を取得してチェックを行う。
    図2 HotSyncボタンを押した直後の画面。ここでユーザーを識別している(画面をクリックすると拡大表示します)

  3. ハンドヘルドにインストールされているアプリケーションのID情報(Creator ID)を取得し、そのアプリケーションに対応したコンジットモジュールが起動する。
  4. コンジットは、HotSyncマネージャで設定された「動作設定」に従って同期を行う。
    図3 HotSyncの動作設定画面。ユーザー単位にどのアプリケーションを同期対象にするか、詳細設定ができる(画面をクリックすると拡大表示します)

  5. 各アプリケーションコンジットが起動した後に、インストールコンジット、バックアップコンジットを起動する。
  6. ログ保存の後に終了する。

   コンジットはHotSyncの中核技術

 コンジット(Conduit)は、PC−ハンドヘルド間のデータ同期の中核モジュールで、アプリケーションごとに用意されている。コンジットは、WindowsではDLLで提供されており、HotSyncマネージャとSync Manager DLLと連携して同期処理を行う。ハンドヘルドとの通信は、Sync Manager DLLを介在して行うため、前述のさまざまな通信環境を意識することなく同期することができる。このコンジットはプラグインとして追加することができるため、サイボウズのグループウェアをはじめとして、さまざまなアプリケーションに対応することができる。

図4 HotSyncマネージャの概念図。コンジットはアプリケーションごとに動作する
図5 HotSyncマネージャのプログラム内部構造。プログラムとDLLはこのように連携している

 コンジットは、CDK(Conduit Development Kit)を使って開発することができ、Windows環境ではC/C++、Java、Visual Basicに対応し、Macintosh環境ではCodeWarriorに対応している。

 コンジットの開発は、ハンドヘルド上のアプリケーション開発と関連するため、http://www.palmos.com/に掲載されている情報や書籍を参考にするといいだろう。

   HotSync技術を活用した製品

 次にHotSync技術を活用した製品として、m500シリーズにバンドルされている、Chapura社の「PocketMirror」とプーマテック ジャパンの「Intellisync for Palm」を紹介する。

■PocketMirror

 PocketMirrorは、ハンドヘルドとMicrosoft Outlook間のデータの同期をとるためのソフトウェアで、Outlookの[連絡先]、[予定表]、[仕事]および[メモ]を対象としている。この製品の特徴は、PocketMirrorの設定インターフェイスがOutlookにプラグインで統合されている点と、複数のPCからExchange Serverの同じメールボックスと同期することをサポートしている点にある。

図6 PocketMirrorの設定画面。ここで細かい設定条件を行える(画面をクリックすると拡大表示します)
図7 Outlook のメニューバーに設定プログラムを起動するためのボタンが追加される(画面をクリックすると拡大表示します)

■Intellisync for Palm

 Intellisync for PalmはPocketMirrorと同様に、アドレス帳、スケジュール、ToDoの同期を行うだけでなく、メールもサポートしている点が特徴だ。また、サポートしているPCアプリケーションがLotus Notes、Lotus Organizer、Outlook、Palm Desktopと多く、同期の方向を指定することができる点や、フィールドマッピングができる。筆者は、Lotus Notesの個人アドレス帳のデータをOutlookの連絡先に移行させるために、「Intellisync for Palm」を使い、フィールドマッピングの相違点にうまく対応することができた。

図8 Intellisyncの設定画面。ここでどのクライアントソフトと連携するかを指定する。OutlookやNotesの場合は、誰のメール/プロファイルかの指定が可能(画面をクリックすると拡大表示します)
図9 Intellisyncの設定画面。クライアントソフトが異なると同じアドレス帳でもフィールドマッピングが必要。Intellisyncはここが売り(画面をクリックすると拡大表示します)

   企業システムに合ったサーバ同期

 デスクトップ型の同期は、ホストPCとTCP/IPやシリアル、USBによって接続する必要があり、社外から同期をとるにはかなり制約が発生してしまい、現実的なソリューションとはいえなくなっている。これらの制約を解決したサーバ型の同期をサポートする製品が、出回り始めている。サーバ型の製品は、専用機をゲートウェイサーバとして設定する必要があるが、複数のユーザーを同時に処理することができる点、ネットワークセキュリティを意識すればインターネットを活用できる点が特徴となっている。

 このサーバ型同期製品には、グループウェアをターゲットとした製品とRDBMSをターゲットとした製品の2種類がある。

ターゲット 製品名 メーカー
グループウェア XTNDConnect Server シーエフカンパニー
Mobile Connenct 日本IBM
Intellisync Anywhere プーマテック ジャパン
RDBMS IBM DB2 Everyplace 日本IBM
Oracle8i Lite オラクル
SQL ANYWHERE STUDIO iAnywhere Solutions

 今回は、IBM DB2 Everyplaceを例に、サーバ同期型のモデルを紹介する。先日、IBM DB2 Everyplace の最新バージョン7.2が発表されたが、ここでは7.1.1をベースに解説する。

 DB2 Everyplaceは、ハンドヘルド上で動作するDB2 Everyplaceデータベース、同期処理を行うDB2 Everyplace同期サーバ、GUIによるアプリケーション開発環境DB2 Everyplaceパーソナルアプリケーションビルダーで構成されており、これ1つでモバイルDBアプリケーションを開発することができるようになっている。

図10 DB2 Everyplaceによるサーバ同期

 「DB2 Everyplace同期サーバ」が動作するマシンには、DB2が動作しており、既存システム(ソースデータベース)のミラーデータベースが格納されている。このミラーデータベースとハンドヘルド上のデータベースが同期をし、その結果が既存システムの方へ反映されるという形態をとっている。また、同期処理もServletベースで行っているため、ミラーデータベースが稼動しているマシンを別にしてスケーラビリティを確保することもできるようになっている。また、最新のバージョンである7.2では、Windows NT/2000に加えて、AIXやSolaris、Linuxをサポートするとのことであり、サーバOSの面からもスケーラビリティを確保しているようである。

図11 DB2 Everyplaceを活用したアプリケーション「TAPS-Inventory」(テクノアート製)の起動画面 図12 品番から在庫を検索

 サーバ同期型のシステムの場合、インターネットを介在してアクセスさせるのであれば、ネットワークセキュリティをどう確保するかが重要な要素になる。一般的には、特定のTCPポートで同期処理をとるものが多いため、当該ポートをファイアウォールで穴をあけるなどの作業が必要になってくる。DB2 Everyplaceの場合、一般的なWebアプリケーションサーバの場合と同様に考えればいいだけでなく、ミラーデータベースでいったんきれるため、インターネットから直接社内のデータベースにアクセスしない点が優れている。また、ソースデータベース自身が他社のデータベースでも対応ができる点が特徴である。DB2 Everyplaceについては、評価版がCDに収録された書籍もあるので、モバイルDBシステムの構築を検討されている方は、一度チェックしてみるといいと思う。

参考書籍
Palmプログラミング、オライリージャパン、ISBN4-87311-009-2
Palm OSデータベースプログラミング完全ガイド、ピアソン・エデュケーション、ISBN4-89471-250-4
DB2 EveryplaceでモバイルRDB徹底活用、翔泳社、ISBN4-88135-994-0

各参考書籍の横にあるボタンをクリックすると、オンライン書店で、その書籍を 注文することができます。詳しくはクリックして表示されるページをご覧ください。



 


 
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

   
@ITトップMobile Connectionフォーラム トップ会議室利用規約プライバシーポリシーサイトマップ