JPH11306151A - 分散オブジェクト処理装置及びプログラム記憶媒体 - Google Patents

分散オブジェクト処理装置及びプログラム記憶媒体

Info

Publication number
JPH11306151A
JPH11306151A JP11706498A JP11706498A JPH11306151A JP H11306151 A JPH11306151 A JP H11306151A JP 11706498 A JP11706498 A JP 11706498A JP 11706498 A JP11706498 A JP 11706498A JP H11306151 A JPH11306151 A JP H11306151A
Authority
JP
Japan
Prior art keywords
data
synchronization
manager
message
cache data
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP11706498A
Other languages
English (en)
Inventor
Takeshi Nishigaya
岳 西ヶ谷
Shinji Fujino
信次 藤野
Yuichiro Noguchi
祐一郎 野口
Ichiro Iida
一朗 飯田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP11706498A priority Critical patent/JPH11306151A/ja
Publication of JPH11306151A publication Critical patent/JPH11306151A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 本発明は、分散オブジェクト処理装置に関
し、モーバイル環境に適した分散オブジェクト処理装置
を提供することを目的とする。 【解決手段】 モーバイルホスト50は、サーバホスト
60上で動作する遠隔(マスタ)オブジェクト11と連
携して動作するオブジェクトであるプロキシオブジェク
ト1を備える。プロキシオブジェクト1は、メソッドを
発行するアプリケーション8に対してマスタオブジェク
ト11と同一のインタフェースを有し、マスタオブジェ
クト11の持つデータ14のキャッシュデータ4を管理
するキャッシュデータマネージャ2を有する。キャッシ
ュデータマネージャ2はサーバホスト60との接続が切
断されている場合に、キャッシュデータ4を用いてメソ
ッドに対応する処理を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、分散オブジェクト
処理装置及びそのプログラム記憶媒体に関し、特に、ネ
ットワークを介して接続される複数のコンピュータの内
の非接続状態のコンピュータである分散オブジェクト処
理装置から遠隔でのオブジェクトの操作を可能とする分
散オブジェクト処理装置及びそのプログラム記憶媒体に
関する。
【0002】
【従来の技術】複数のコンピュータをネットワークを介
して接続することにより構成される分散システムが存在
する。このような分散システムにおいて、各コンピュー
タ上のソフトウェアであるオブジェクトがネットワーク
を通じて連携しながら動作する分散システムがある。
【0003】分散システムにおけるオブジェクト指向
(分散オブジェクト指向)技術としては、例えば、CO
RBA、DCOM、Java等が周知である。これらの
分散オブジェクト指向技術における一般的なオブジェク
トの操作は、図16に示す通りである。
【0004】図16において、固定されたコンピュータ
であるサーバホスト160には、マスタオブジェクト1
11が存在し動作している。マスタオブジェクト111
はデータの名前(name)毎にデータの値(value )が格
納されているデータテーブル119を備える。一方、移
動可能な(モーバイル)コンピュータであるモーバイル
ホスト150には、マスタオブジェクト111と同一の
インタフェースを備える参照オブジェクト(一般的には
スタブ)105が生成される。参照オブジェクト105
はマスタオブジェクト111と同一のデータテーブルを
備える。モーバイルホスト150はネットワーク170
を介してサーバホスト160に接続されている。
【0005】モーバイルホスト150上で動作するアプ
リケーション108が参照オブジェクト105に対して
メソッド(例えば、get("a"))を発行する。このメソッ
ドを参照オブジェクト105内のメッセージシリアライ
ザ109がネットワーク伝送可能なメッセージに変換
し、通信マネージャ(一般的にはORB)107に渡
す。通信マネージャ107は、遠隔にあるサーバホスト
160の通信マネージャ117との間でネットワーク1
70を介してメッセージを送受信し、サーバホスト16
0の通信マネージャ117から受信したメッセージをメ
ソッド呼び出しに復元して、遠隔にあるマスタオブジェ
クト111のメソッドを得る。このマスタオブジェクト
111のメソッドを用いて、参照オブジェクト105が
アプリケーション108の発行したメソッドを実行す
る。
【0006】これにより、アプリケーション108のオ
ブジェクトからは、あたかもモーバイルホスト150上
のオブジェクトのメソッドを読み出すのと同様にして、
ネットワーク170を意識することなく、遠隔にあるマ
スタオブジェクト111のメソッドを呼び出すことがで
きる。従って、分散システムのアプリケーション108
が容易に開発できる。
【0007】このような分散オブジェクト指向技術の適
用されるアプリケーション108としては、例えば、モ
ーバイルコンピューティングにおけるWebサーバデー
タのキャッシュ管理、電子メールボックスの管理、スケ
ジューリング共有システム等のアプリケーションがあ
る。
【0008】
【発明が解決しようとする課題】前述した従来知られて
いるCORBA等の分散オブジェクト指向技術は、分散
システムを構成する全てのコンピュータが常時ネットワ
ーク170に接続されていることを想定している。換言
すれば、モーバイル環境に適した技術ではなく、当該技
術をそのままモーバイル環境に適用することはできな
い。
【0009】即ち、図16において、モーバイルコンピ
ュータであるモーバイルホスト150が移動する場合、
移動先はモーバイルホスト150が接続されていた当該
ネットワーク環境の全く存在しない場所であることもあ
る。従って、モーバイル環境では、図16に示すよう
に、移動により分散システムにおけるコンピュータ間の
ネットワーク170が切断されてしまうことを想定しな
ければならない。逆に、ネットワーク170の構成によ
り移動が制限されるようでは、モーバイル環境を生かし
た分散システムとは言えない。
【0010】ネットワーク170の切断を想定したモー
バイル環境の場合、モーバイルホスト150は、切断さ
れたネットワーク170の先にあるサーバホスト160
に存在するマスタオブジェクト111へのデータ操作を
実行できなくなる。この結果、モーバイルホスト150
においてエラーが発生する。即ち、参照オブジェクト1
05は、ネットワーク170との接続が切断されている
ので、サーバホスト160の通信マネージャ117から
メッセージを受信できず、メソッド呼び出しを復元でき
ない。そこで、参照オブジェクト105は、メソッドの
呼び出しを発行したアプリケーション108にエラー通
知を返す。アプリケーション108は、このエラーをユ
ーザに知らせ、処理を終了する。
【0011】このように、従来のネットワーク170の
切断を想定していない分散オブジェクト指向技術をその
ままモーバイル環境に適用すると、モーバイルホスト1
50の移動の都度にその上のアプリケーション108に
エラーを発生することが予想され、実用化に耐えない。
【0012】具体的には、モーバイルホスト150の移
動の都度に、その動作環境を設定し直す処理が必要にな
る。この処理をアプリケーションに自動的に実行させる
とすると、アプリケーションには大きな負担となる。ユ
ーザに行わせるとしても、移動の都度にその作業を行う
ことは煩わしく大きな負担となる。また、いずれの場合
でも、移動先で直ちにモーバイルホスト150を用いた
業務を開始することができない。
【0013】従って、従来の分散オブジェクト指向技術
をモーバイル環境に適用する場合には、アプリケーショ
ン108はネットワーク170の存在及びその接続状態
を常に意識する必要がある。即ち、アプリケーション1
08の開発者は常にネットワーク170を意識する必要
があるので、これがシステム開発の効率向上の妨げにな
ることが予想される。また、ユーザは常にネットワーク
170の接続状態を意識する必要があるので、これがユ
ーザのモーバイル環境での分散処理システムの使用に障
害となることが予想される。
【0014】本発明は、モーバイル環境に適した分散オ
ブジェクト処理装置を提供することを目的とする。ま
た、本発明は、ネットワークの存在及びその接続状態に
かかわらず、モーバイル環境での分散処理を行うことが
できる分散オブジェクト処理装置を提供することを目的
とする。
【0015】また、本発明は、モーバイル環境に適した
分散オブジェクト処理装置を実現するプログラム記憶媒
体を提供することを目的とする。
【0016】
【課題を解決するための手段】図1は本発明の原理構成
図であり、本発明による分散オブジェクト処理装置50
を示す。分散オブジェクト処理装置50は他のコンピュ
ータ60とネットワーク70を介して接続される。分散
オブジェクト処理装置50は、他のコンピュータ60上
で動作する遠隔オブジェクト11と連携して動作するオ
ブジェクトであるプロキシオブジェクト1を備える。プ
ロキシオブジェクト1は、メソッド9を発行するアプリ
ケーション8に対して遠隔オブジェクト11と同一のイ
ンタフェースを有し、遠隔オブジェクト11の持つデー
タ14のキャッシュデータ4を管理するキャッシュデー
タマネージャ2を有する。キャッシュデータマネージャ
2は他のコンピュータ60との接続が切断されている場
合に、キャッシュデータ4を用いてメソッド9に対応す
る処理を行う。
【0017】本発明の分散オブジェクト処理装置50に
よれば、他のコンピュータ60との接続が切断されてい
る場合であっても、アプリケーション8からメソッド9
が発行されると、遠隔オブジェクト11と同一のインタ
フェースを有するプロキシオブジェクト1によって受け
付けて、キャッシュデータマネージャ2によってメソッ
ド9に対応する処理を行うことができる。従って、分散
オブジェクト処理装置50の移動等によりネットワーク
70との接続が切断されても、アプリケーション8にエ
ラーを生じることがなく、アプリケーション8は、ネッ
トワーク70の存在及び接続状態を意識する必要がな
い。これにより、アプリケーション8の開発の効率を向
上することができ、また、ユーザのモーバイル環境での
分散処理システムの使用における利便性を向上すること
ができる。
【0018】
【発明の実施の形態】図2及び図3は本発明による分散
オブジェクト処理システムを示す。特に、図2は分散オ
ブジェクト処理装置50とネットワーク70との接続が
切断されている状態(オフライン)を示し、図3は当該
接続がされている状態(オンライン)を示す。
【0019】分散オブジェクト処理装置50は移動可能
なローカルなモーバイルコンピュータである。一方、他
のコンピュータ60は固定されたセンタのホストコンピ
ュータである。従って、以下の説明において、分散オブ
ジェクト処理装置50をモーバイルホスト50と言い、
他のコンピュータ60をサーバホスト60という。
【0020】サーバホスト60には、ネットワーク70
を介して複数のモーバイルホスト50が接続される。サ
ーバホスト60は、モーバイルホスト50からみて遠隔
のサーバである。ネットワーク70は無線でも有線でも
良く、公衆回線でも専用回線でも良い。モーバイルホス
ト50とネットワーク70との間は、モーバイルホスト
50の移動により図2に示すように接続が切断されてい
る場合もあり、また、図3に示すように接続されている
場合もある。従って、本発明の分散オブジェクト処理シ
ステムは、モーバイルホスト50にネットワーク70と
の自由な切断及び接続を許容する。
【0021】サーバホスト60は、1又は複数のマスタ
オブジェクト11及び通信マネージャ17が存在し動作
している。マスタオブジェクト11はデータテーブル、
同期マネージャ16及び通信マネージャ17を備える。
データテーブルはインデックステーブル13とデータ
(又はデータ格納用領域)14とからなる。即ち、マス
タオブジェクト11は、自己が管理するデータテーブル
を、インデックステーブル13と、データ14を格納す
るメモリ領域(14)とに分割して管理する。インデッ
クステーブル13とデータ14の構成と同期マネージャ
16については、後のプロキシオブジェクト1の説明に
おいて詳述する。
【0022】本発明による分散オブジェクト処理システ
ムにおいて、プロキシオブジェクト1は、参照オブジェ
クト5を除いて、マスタオブジェクト11と同様の構成
を有する。実際は、マスタオブジェクト11の構成が、
擬似的な遠隔オブジェクトの操作を可能とするために本
発明に従って構成されたプロキシオブジェクト1と同様
の構成とされる。
【0023】モーバイルホスト50は1又は複数のコン
ピュータとネットワーク70を介して接続される。モー
バイルホスト50は、1又は複数のアプリケーション
8、1又は複数のプロキシオブジェクト1及び通信マネ
ージャ7を備える。プロキシオブジェクト1はマスタオ
ブジェクト11の各々に対応して生成される。
【0024】通信マネージャ7は、ネットワーク70と
の接続処理を行ない、オンライン/オフライン状態の変
更を同期管理する。通信マネージャ7は、サーバホスト
60の通信マネージャ17との間でメッセージの送受信
を行なう。通信マネージャ17はネットワーク70との
接続処理を行ない、オンライン/オフライン状態の変更
を同期管理する。通信マネージャ7及び17は送信メッ
セージキュー17及び171を備え、その先頭から順に
送信を行う。
【0025】アプリケーション8は、モーバイルホスト
50上で動作する1個のオブジェクトであり、1個又は
複数個存在する。アプリケーション8は、前述のよう
に、プロキシオブジェクト1に対してメソッド9(例え
ば、get("a"))を発行する。アプリケーション8は、例
えば、モーバイルコンピューティングにおけるWebサ
ーバデータのキャッシュ管理、電子メールボックスの管
理、スケジューリング共有システム等のアプリケーショ
ンである。
【0026】プロキシオブジェクト1は、遠隔にある他
のコンピュータ例えばサーバホスト60上で動作するマ
スタオブジェクト(遠隔オブジェクト)11と連携して
動作するオブジェクトである。プロキシオブジェクト1
は、メソッド9を発行するアプリケーション8に対して
は、マスタオブジェクト11と同一のインタフェースを
備えるようにされる。従って、アプリケーション8が、
メソッド9の発行先がプロキシオブジェクト1であるか
マスタオブジェクト11であるかを意識することはな
い。アプリケーション8がサーバホスト60にアクセス
する場合、アプリケーション8の要求に応じてプロキシ
オブジェクト1が生成される。
【0027】プロキシオブジェクト1は、キャッシュデ
ータマネージャ2、データテーブル、参照オブジェクト
5及び同期マネージャ6を備える。データテーブルはイ
ンデックステーブル3とキャッシュデータ(又はデータ
格納用領域)4とからなる。前述のように、インデック
ステーブル3及びキャッシュデータ4は、各々、インデ
ックステーブル13及びデータ14に対応し、同期マネ
ージャ6は同期マネージャ16に対応する。
【0028】キャッシュデータマネージャ2は、オフラ
イン時に、プロキシオブジェクト1がアプリケーション
8であるプログラムから受信するデータ取得要求、デー
タ更新要求、データ追加要求及びデータ削除要求の各々
のメッセージを受信し、各々のメッセージにより指示さ
れる処理を行う。また、キャッシュデータマネージャ2
は、オフライン時に、前記メッセージを同期マネージャ
6に送信する。
【0029】キャッシュデータマネージャ2は、サーバ
ホスト60上のマスタオブジェクト11が有するデータ
14の一部をキャッシュデータ4として管理し、マスタ
オブジェクト11と同一形式のインデックステーブル3
とデータ4を格納する。キャッシュデータマネージャ2
は、データの名前(name)及びデータの格納位置(re
f.)を記憶するインデックステーブル3と当該データの
格納領域(4)とからなるデータテーブルを用いてキャ
ッシュデータ4を管理する。このデータテーブルは、マ
スタオブジェクト11がそのデータを管理するためのデ
ータテーブルと同一の構造を有する。キャッシュデータ
マネージャ2は、サーバホスト60との接続が切断され
ている場合に、キャッシュデータ4を用いてメソッド9
に対応する処理を行う。
【0030】なお、キャッシュデータマネージャ2が、
同期が必要なデータの総数と総量とを計算し、ネットワ
ーク70への接続要求を発生するようにしても良い。即
ち、オフライン時において、プロキシオブジェクト1内
のキャッシュデータ4が更新又は追加される場合、キャ
ッシュデータマネージャ2が、そのタイミングで同期が
必要なキャッシュデータ4の総数と総量とを計算する。
そして、いずれかの値が予め定められたに達した時点
で、キャッシュデータマネージャ2が、通信マネージャ
7に対してネットワーク70への接続要求を発生する。
通信マネージャ7はユーザに対してアラームを発生し、
ネットワーク70への接続が必要であることを知らせ
る。ネットワーク70への接続が行われると、同期マネ
ージャ6が自動的にデータの同期処理を開始する。これ
により、モーバイルホスト50のキャッシュデータ4の
格納領域(4)の容量をあまり大きくしなくて済む。
【0031】また、キャッシュデータマネージャ2が、
キャッシュデータの総数と総量とを計算し、キャッシュ
データ4の一部を自動的に削除するようにしても良い。
即ち、オンライン時及びオフライン時の双方において、
プロキシオブジェクト1内のキャッシュデータ4が更新
又は追加される場合、キャッシュデータマネージャ2
が、そのタイミングでキャッシュデータ4の総数と総量
とを計算する。そして、いずれかの値が予め定められた
に達した時点で、キャッシュデータマネージャ2が、キ
ャッシュデータ4のアクセス頻度と大きさを考慮して、
キャッシュデータ4の一部を自動的に削除する。これに
より、モーバイルホスト50のキャッシュデータ4の格
納領域(4)の容量をあまり大きくしなくて済む。
【0032】参照オブジェクト5は、モーバイルホスト
50(プロキシオブジェクト1)がネットワーク70
(即ち、サーバホスト60)と接続されている場合に、
メソッド9に対応する処理を行う。なお、参照オブジェ
クト5はメッセージシリアライザ51を備える。
【0033】同期マネージャ6は、サーバホスト60と
の接続の状態に応じて、プロキシオブジェクト1とマス
タオブジェクト11との間でデータの同期処理を行う。
同期マネージャ6は、サーバホスト60との接続が切断
状態から接続状態に移行した場合に、自動的にデータの
同期処理を行う。
【0034】同期マネージャ6は、オフライン時に、キ
ャッシュデータマネージャ2から送られてくる同期メッ
セージをメッセージキュー61に保存し、ネットワーク
70に接続された時点でプロキシオブジェクト1に対応
するマスタオブジェクト11とのデータ同期を行う。同
期マネージャ6は、オブジェクトの同期状態を管理し
て、同期処理中に外部からのオブジェクトのデータ操作
をロックする。
【0035】なお、マスタオブジェクト11も同様に同
期マネージャ16を備え、同様の処理を行う。このため
に、同期マネージャ16は同様にメッセージキュー16
1を備える。メッセージキュー161に格納されたメッ
セージは、図15に示すように、所定のタイミングで同
期メッセージとしてマスタオブジェクト11からモーバ
イルオブジェクト1に送信される。
【0036】アプリケーション8はプロキシオブジェク
ト1に対してメソッド9を発行する。このメソッド9を
プロキシオブジェクト1が処理する。即ち、ネットワー
ク70のオフライン時においては、図2に示すように、
キャッシュデータマネージャ2によりアプリケーション
8からの擬似的なマスタオブジェクト11の操作(実際
は、キャッシュデータの操作)を行う。また、ネットワ
ーク70のオンライン時においては、図3に示すよう
に、参照オブジェクト5によりアプリケーション8から
のマスタオブジェクト11の操作を行う。
【0037】これにより、アプリケーション8であるオ
ブジェクトからは、あたかもモーバイルホスト50上の
オブジェクトのメソッドを読み出すのと同様にして、ネ
ットワーク70を意識することなく、遠隔にあるマスタ
オブジェクト11のメソッドを呼び出すことができる。
従って、分散システムのアプリケーション8を容易に開
発することができる。
【0038】具体的には、ネットワーク70のオフライ
ン時においては、プロキシオブジェクト1が制御をキャ
ッシュデータマネージャ2に渡す。キャッシュデータマ
ネージャ2は、自己が管理するインデックステーブル3
及びキャッシュデータ4を用いて、アプリケーション8
の発行したメソッドを実行する。キャッシュデータマネ
ージャ2は、メソッド9を適当な手段(メッセージシリ
アライザ51と同様の手段)によりネットワーク伝送可
能なメッセージに変換し、同期マネージャ6に送る。同
期マネージャ6は当該メッセージを、受信した順にメッ
セージキュー61に繋ぐ。
【0039】また、ネットワーク70のオンライン時に
おいては、プロキシオブジェクト1が制御を参照オブジ
ェクト5に渡す。参照オブジェクト5は、メソッド9を
メッセージシリアライザ51によりネットワーク伝送可
能なメッセージに変換し、通信マネージャ(通信管理機
能、一般的にはORB)7に渡す。通信マネージャ7
は、サーバホスト60の通信マネージャ17との間でネ
ットワーク70を介してメッセージを送受信し、通信マ
ネージャ17から受信したメッセージをメソッド呼び出
しに復元して、マスタオブジェクト11のメソッドを得
る。このマスタオブジェクト11のメソッドを用いて、
参照オブジェクト5がアプリケーション8の発行したメ
ソッドを実行する。
【0040】なお、実際は、通信マネージャ17から受
信したメッセージをメソッド呼び出しに復元して、マス
タオブジェクト11のメソッドを得る処理は、通信マネ
ージャ7とプロキシオブジェクトとの間に設けられる当
該復元処理を行うオブジェクト(一般には、スケルトン
と言う)によって実行される。この復元処理のオブジェ
クトは、サーバホスト60においても同様の処理のため
に通信マネージャ17とマスタオブジェクト11との間
に設けられる。
【0041】インデックステーブル3は、図4に示すよ
うに、各エントリに、データ名(name)毎とそのデータ
名のデータの格納位置(address )を記憶する。例え
ば、データ名「”a”」のデータは、図5に示すデータ
格納用メモリ4のアドレス「#10020」に格納され
ている。インデックステーブル3は、機能を拡張するた
めに、各エントリに、オブジェクト内におけるデータ毎
の同期状態(status)や、同期モード(mode)を格納す
る領域を備える。
【0042】同期状態は、オフライン時においてデータ
の更新が行われた場合に、その値が「0」から「1」に
変更され、同期処理が終了した時点で「0」に戻され
る。これにより、アプリケーション8は、各データがマ
スタオブジェクト11の値と一致しているか否かを知る
ことができる。
【0043】同期モードは当該データを同期処理するか
否かを示す。同期モードは、インデックステーブル3の
当該領域において上位から2桁目に示される。即ち、当
該2桁目の数字が「0」であれば同期せず、「1」であ
れば同期する。同期モードは、実際には、図4及び図6
に示すように、種々の同期モードを設定可能なようにさ
れる。
【0044】データ格納用メモリ4は、図5に示すよう
に、特定のアドレスに特定のデータを格納する。データ
格納用メモリ4は、機能を拡張するために、データ同期
に必要な追加時刻(creation data )及び更新時刻(mo
dification data )を格納する領域を備える。
【0045】同期モードの例を図6に示す。図6に示す
ように、同期モードは、「0000」乃至「0999」が同期し
ないモード(非同期モード)、「1000」乃至「1999」が
遠隔オブジェクト優先同期モード、「2000」乃至「299
9」がプロキシオブジェクト1優先同期モード、「300
0」乃至「3999」が時刻優先同期モードとされる。従っ
て、図4において、データ「”a”」は非同期モードで
あり、データ「”b”」は非同期モードである。
【0046】遠隔オブジェクト優先同期モードの一例を
図7に示す。モーバイルホスト50がサーバホスト60
(遠隔オブジェクト)とオフライン状態(disconnect)
にある場合において、モーバイルホスト50のプロキシ
オブジェクト1においてデータ名”a”に対して値Bが
設定され、同様に、サーバホスト60のマスタオブジェ
クト11においてデータ名”a”に対して値Cが設定さ
れたとする。この場合、遠隔オブジェクト11での値が
優先されるので、同期処理の結果、マスタオブジェクト
11及びプロキシオブジェクト1の双方の値がCとされ
る。
【0047】プロキシオブジェクト優先同期モードの一
例を図8に示す。図7と同様に、オフライン状態におい
て、プロキシオブジェクト1においてデータ名”a”に
対して値Bが設定され、マスタオブジェクト11におい
てデータ名”a”に対して値Cが設定されたとする。こ
の場合、プロキシオブジェクト1での値が優先されるの
で、同期処理の結果、双方の値がBとされる。
【0048】時刻優先同期モードの一例を図9に示す。
図7と同様に、オフライン状態において、プロキシオブ
ジェクト1においてデータ名”a”に対して値Bが設定
され、マスタオブジェクト11においてデータ名”a”
に対して値Cが設定されたとする。この場合、値の更新
時刻が優先されるので、同期処理の結果、プロキシオブ
ジェクト1での更新時刻が新しい場合(図9(B)の場
合)には双方の値がBとされ、マスタオブジェクト11
での更新時刻が新しい場合(図9(A)の場合)には双
方の値がCとされる。なお、この場合、優先順位を決定
するために、データ格納用メモリ4に記憶された各デー
タの追加時刻及び更新時刻が相互に比較される。
【0049】図2に示すように、ネットワーク70のオ
フライン時において、例えば、第1のアプリケーション
8(以下、アプリケーション81)が、データ取得要求
「get("a"); 」をプロキシオブジェクト1に対して発行
する。オフライン時なので、キャッシュデータマネージ
ャ2が、当該データ名がインデックステーブル3に存在
するので、対応するアドレスからデータ値「10」を読
み出して、これをアプリケーション81に返す。従っ
て、アプリケーション81はオフラインを意識すること
がない。
【0050】また、第2のアプリケーション8(以下、
アプリケーション82)が、データ更新要求「set("d",
99.77); 」をプロキシオブジェクト1に対して発行す
る。キャッシュデータマネージャ2は、インデックステ
ーブル3を検索しても当該データ名が存在しないので、
アプリケーション82に当該データ更新要求を受け付け
た旨を通知する。従って、アプリケーション82もオフ
ラインを意識することがない。これと共に、キャッシュ
データマネージャ2は同期マネージャ6に当該データ更
新要求を送信する。同期マネージャ6は当該データ更新
要求をメッセージキュー61に保存する。
【0051】次に、図3に示すように、ネットワーク7
0と接続される。ネットワーク70のオンライン時にお
いて、他の処理が開始される前に、プロキシオブジェク
ト1のメッセージキュー61に保存されているデータ更
新要求「set("d",99.77); 」を、同期マネージャ6が、
通信マネージャ7及び71を介して、マスタオブジェク
ト11に送信する。マスタオブジェクト11は、当該デ
ータ更新要求を用いてデータ14を更新する。これによ
り、データの同期が完了する。
【0052】なお、オフライン時において、アプリケー
ション82が発行するメソッドがデータ追加要求やデー
タ削除要求であっても、以上と同様にしてデータの同期
が確保される。
【0053】図10はプロキシオブジェクト1が実行す
るデータ取得要求の場合のキャッシュ管理処理フローで
ある。プロキシオブジェクト1はメッセージの受信待ち
状態にある。この状態で、アプリケーション8から送信
されたデータ取得要求「get(name) 」を受信する(ステ
ップS1)。
【0054】ネットワーク70の接続状態を調べる(ス
テップS2)。ネットワーク70の接続状態がオンライ
ンである場合、以下のステップS3乃至ステップS7の
処理を参照オブジェクト5が実行する。
【0055】即ち、同期マネージャ6が同期処理中か否
かを調べる(ステップS3)。同期処理中である場合、
同期完了まで待つ。即ち、同期マネージャ6から送信さ
れる同期完了通知の受信を待つ(ステップS4)。
【0056】同期処理中でない場合、及び、同期完了通
知を受信した場合、オンラインでの処理を開始し、要求
されたメッセージ「get(name) 」をプロキシオブジェク
ト1内部の参照オブジェクト5に転送する(ステップS
5)。
【0057】対象データが同期モードか否かを調べる
(ステップS6)。同期モードでない場合、再び、メッ
セージの受信待ち状態に入る。以下のステップS7は省
略される。
【0058】同期モードである場合、取得したデータを
キャッシュとしてインデックステーブル3に追加又は更
新する(ステップS7)。ステップS2において、ネッ
トワーク70の接続状態がオフラインである場合、以下
のステップS8乃至ステップS13の処理をキャッシュ
データマネージャ2が実行する。
【0059】即ち、要求されたメッセージ「get(name)
」の対象データnameがインデックステーブル3に存在
するか否かを調べる(ステップS8)。存在しない場
合、データ取得要求「get(name) 」を発行したアプリケ
ーション8に対してエラーを通知して、この後、メッセ
ージの受信待ち状態に入る(ステップS9)。
【0060】存在する場合、更に、キャッシュデータ4
が存在するか否か、即ち、要求されたメッセージ「get
(name) 」の対象データへのポインタが「null」か
否かを調べる(ステップS10)。
【0061】キャッシュデータ4が存在する場合、即
ち、当該ポインタが「null」でない場合、データ格
納用メモリから当該キャッシュデータ4を取得してこれ
をアプリケーション8に戻り値として返送して、この
後、メッセージの受信待ち状態に入る(ステップS1
1)。
【0062】キャッシュデータ4が存在しない場合、即
ち、当該ポインタが「null」である場合、そのまま
「null」をアプリケーション8に戻り値として返送
する(ステップS12)。
【0063】要求されたメッセージ「get(name) 」を同
期マネージャ6に転送して、この後、メッセージの受信
待ち状態に入る(ステップS13)。なお、前述のよう
に、同期マネージャ6は受信した当該メッセージ「get
(name) 」を同期処理待ちのメッセージキュー61に順
に登録する。
【0064】図11はプロキシオブジェクト1が実行す
るデータ更新要求の場合のキャッシュ管理処理フローで
ある。プロキシオブジェクト1はメッセージの受信待ち
状態にある。この状態で、アプリケーション8から送信
されたデータ更新要求「set(name,value) 」を受信する
(ステップS14)。
【0065】ネットワーク70の接続状態を調べる(ス
テップS15)。ネットワーク70の接続状態がオンラ
インである場合、以下のステップS16乃至ステップS
20の処理を参照オブジェクト5が実行する。
【0066】即ち、同期マネージャ6が同期処理中か否
かを調べる(ステップS16)。同期処理中である場
合、同期完了まで待つ。即ち、同期マネージャ6から送
信される同期完了通知の受信を待つ(ステップS1
7)。
【0067】同期処理中でない場合、及び、同期完了通
知を受信した場合、オンラインでの処理を開始し、要求
されたメッセージ「set(name,value) 」をプロキシオブ
ジェクト1内部の参照オブジェクト5に転送する(ステ
ップS18)。
【0068】対象データが同期モードか否かを調べる
(ステップS19)。同期モードでない場合、再び、メ
ッセージの受信待ち状態に入る。以下のステップS20
は省略される。
【0069】同期モードである場合、更新したデータの
値(value )をキャッシュとしてインデックステーブル
3のキャッシュデータ4に追加又は更新する(ステップ
S20)。
【0070】ステップS15において、ネットワーク7
0の接続状態がオフラインである場合、以下のステップ
S21乃至ステップS24の処理をキャッシュデータマ
ネージャ2が実行する。
【0071】即ち、要求されたメッセージ「set(name,v
alue) 」の対象データnameがインデックステーブル3に
存在するか否かを調べる(ステップS21)。存在しな
い場合、データ更新要求「set(name,value) 」を発行し
たアプリケーション8に対してエラーを通知して、この
後、メッセージの受信待ち状態に入る(ステップS2
2)。
【0072】存在する場合、更に、要求されたメッセー
ジ「set(name,value) 」のキャッシュデータ4の位置を
当該ポインタを用いて求め、当該位置にあるキャッシュ
データ4を引数のvalue で更新する(ステップS2
3)。
【0073】要求されたメッセージ「set(name,value)
」を同期マネージャ6に転送して、この後、メッセー
ジの受信待ち状態に入る(ステップS24)。なお、前
述のように、同期マネージャ6は受信した当該メッセー
ジ「set(name,value) 」を同期処理待ちのメッセージキ
ュー61に順に登録する。
【0074】図12はプロキシオブジェクト1が実行す
るデータ追加要求の場合のキャッシュ管理処理フローで
ある。プロキシオブジェクト1はメッセージの受信待ち
状態にある。この状態で、アプリケーション8から送信
されたデータ更新要求「add(name,value,mode)」を受信
する(ステップS25)。
【0075】ネットワーク70の接続状態を調べる(ス
テップS26)。ネットワーク70の接続状態がオンラ
インである場合、以下のステップS27乃至ステップS
32の処理を参照オブジェクト5が実行する。
【0076】即ち、同期マネージャ6が同期処理中か否
かを調べる(ステップS27)。同期処理中である場
合、同期完了まで待つ。即ち、同期マネージャ6から送
信される同期完了通知の受信を待つ(ステップS2
8)。
【0077】同期処理中でない場合、及び、同期完了通
知を受信した場合、オンラインでの処理を開始し、要求
されたメッセージ「add(name,value,mode)」をプロキシ
オブジェクト1内部の参照オブジェクト5に転送する
(ステップS29)。
【0078】インデックステーブル3に要求されたメッ
セージ「add(name,value,mode)」の引数のnameを追加す
る(ステップS30)。対象データが同期モードか否か
を調べる(ステップS31)。同期モードでない場合、
再び、メッセージの受信待ち状態に入る。以下のステッ
プS32は省略される。
【0079】同期モードである場合、追加した引数のデ
ータのvalue をキャッシュとしてインデックステーブル
3のキャッシュデータ4に追加する(ステップS3
2)。ステップS26において、ネットワーク70の接
続状態がオフラインである場合、以下のステップS33
乃至ステップS35の処理をキャッシュデータマネージ
ャ2が実行する。
【0080】即ち、要求されたメッセージ「add(name,v
alue,mode)」の引数のnameがインデックステーブル3に
存在するか否かを調べる(ステップS33)。存在する
場合、すでに同一の名前のデータが存在するので、デー
タ追加要求「add(name,value,mode)」を発行したアプリ
ケーション8に対して、エラーを通知して、この後、ア
プリケーション8からの指示待ち状態に入る(ステップ
S34)。
【0081】存在しない場合、要求されたメッセージ
「add(name,value,mode)」を同期マネージャ6に転送し
て(ステップS35)、この後、キャッシュデータマネ
ージャ2がステップS30以下を実行する(自己のイン
デックステーブル3への登録を行う)。なお、前述のよ
うに、同期マネージャ6は、受信した当該メッセージ
「add(name,value,mode)」を、同期処理待ちのためのメ
ッセージキュー61に順に登録する。
【0082】図13はプロキシオブジェクト1が実行す
るデータ削除要求の場合のキャッシュ管理処理フローで
ある。プロキシオブジェクト1はメッセージの受信待ち
状態にある。この状態で、アプリケーション8から送信
されたデータ削除要求「remove(name)」を受信する(ス
テップS36)。
【0083】ネットワーク70の接続状態を調べる(ス
テップS37)。ネットワーク70の接続状態がオンラ
インである場合、以下のステップS37乃至ステップS
42の処理を参照オブジェクト5が実行する。
【0084】即ち、同期マネージャ6が同期処理中か否
かを調べる(ステップS38)。同期処理中である場
合、同期完了まで待つ。即ち、同期マネージャ6から送
信される同期完了通知の受信を待つ(ステップS3
9)。
【0085】同期処理中でない場合、及び、同期完了通
知を受信した場合、オンラインでの処理を開始し、要求
されたメッセージ「remove(name)」をプロキシオブジェ
クト1内部の参照オブジェクト5に転送する(ステップ
S40)。
【0086】削除の対象であるメッセージ「remove(nam
e)」の引数のnameがインデックステーブル3に存在する
か否かを調べる(ステップS41)。存在しない場合、
再び、メッセージの受信待ち状態に入る。以下のステッ
プS42は省略される。
【0087】存在する場合、インデックステーブル3か
ら当該nameを削除し、このnameに対応するキャッシュデ
ータ4をキャッシュテーブルから削除して、この後、メ
ッセージの受信待ち状態に入る(ステップS42)。
【0088】ステップS37において、ネットワーク7
0の接続状態がオフラインである場合、以下のステップ
S43乃至ステップS45の処理をキャッシュデータマ
ネージャ2が実行する。
【0089】即ち、要求されたメッセージ「remove(nam
e)」の引数のnameがインデックステーブル3に存在する
か否かを調べる(ステップS43)。存在しない場合、
削除の対象が存在しないので、データ追加要求「remove
(name)」を発行したアプリケーション8に対してエラー
を通知して、この後、アプリケーション8からの指示待
ち状態に入る(ステップS44)。
【0090】存在する場合、要求されたメッセージ「re
move(name)」を同期マネージャ6に転送して(ステップ
S45)、この後、キャッシュデータマネージャ2がス
テップS41以下を実行する(自己のインデックステー
ブル3からの削除を行う)。なお、前述のように、同期
マネージャ6は受信した当該メッセージ「remove(nam
e)」を同期処理待ちのメッセージキュー61に順に登録
する。
【0091】図14は同期マネージャ6が実行するメッ
セージ管理処理フローである。同期マネージャ6はメッ
セージの受信待ち状態にある。この状態で、キャッシュ
データマネージャ2から送信されたデータ取得要求get
(name) 、データ更新要求set(name,value) 、データ追
加要求add(name,value,mode)又は及びデータ削除要求re
move(name)を受信する(ステップS46)。
【0092】同一のターゲットのメッセージ(同一のデ
ータについて同一の操作をするメッセージ)が、メッセ
ージキュー61内にあるか否かを調べる(ステップS4
7)。存在しない場合、次のステップS48の実行は省
略する。
【0093】存在する場合、当該同一ターゲットの古い
方のメッセージをメッセージキュー61から削除する
(ステップS48)。ステップS46で受信したメッセ
ージはデータ削除要求か否かを調べる(ステップS4
9)。データ削除要求でない場合、次のステップS50
の実行は省略する。
【0094】データ削除要求である場合、同一ターゲッ
トについてのデータ取得要求get(name) 、データ更新要
求set(name,value) 、データ追加要求add(name,value,m
ode)が、メッセージキュー61内にあれば、これをメッ
セージキュー61から削除して、この後、メッセージの
受信待ち状態に入る(ステップS50)。
【0095】図15は同期マネージャ6が実行する同期
処理フローである。ユーザの移動により、モーバイルホ
スト50が、図2に示すように、サーバホスト60から
遠隔の状態で、ネットワーク70との接続を切断した状
態にある。この場合、本発明に従って、アプリケーショ
ン8は、ネットワーク70の存在及び接続状態を意識す
ることなく、マスタオブジェクト11と同一のインタフ
ェースを持つプロキシオブジェクト1へのデータ操作を
行う。即ち、プロキシオブジェクト1内のキャッシュデ
ータマネージャ2は図10乃至図13に示すオフライン
での処理を実行する。また、接続を回復した際における
同期処理のために、同期マネージャ6は図14に示す処
理を実行する。この間、サーバホスト60においてはマ
スタオブジェクト11の操作は行われない。
【0096】再び、ユーザの移動により、モーバイルホ
スト50が、図3に示すように、ネットワーク70に接
続され、サーバホスト60に接続される。この接続の回
復に伴い、同期マネージャ6は図15を参照して以下に
説明する同期処理を開始する。この間、モーバイルホス
ト50においては、キャッシュデータマネージャ2は図
10乃至図13に示す同期完了待ちの状態にある。この
間、ユーザは処理を待たされるが、ネットワーク70の
存在及び接続状態を意識する必要はない。
【0097】図15において、通信マネージャ7が回線
を接続し、モーバイルホスト50がネットワーク70に
接続されると、通信マネージャ7がプロキシオブジェク
ト1の同期マネージャ6にオンラインとなったことを通
知する。
【0098】これを受けた同期マネージャ6は、アプリ
ケーション8からオブジェクトへのアクセスを一時的に
ロックするために、同期処理状態フラグを同期処理中を
示す値「false 」に変更する。
【0099】同期マネージャ6は、メッセージキュー6
1に同期処理待ちのメッセージが1以上ある場合に、同
期処理開始要求をサーバホスト60のマスタオブジェク
ト11の同期マネージャ6に送信する。これを受けたマ
スタオブジェクト11の同期マネージャ6は、当該要求
の受け付けをモーバイルホスト50の同期マネージャ6
に返信する。なお、通信はサーバホスト60及びモーバ
イルホスト50双方の通信マネージャ7を介して行われ
る。以下においても同様である。
【0100】マスタオブジェクト11の同期マネージャ
6は、当該受け付けと共に、他のモーバイルホスト50
等からのからマスタオブジェクト11へのアクセスを一
時的にロックするために、同期処理状態フラグを同期処
理中を示す値「false 」に変更する。
【0101】同期処理開始要求が受け付けられると、モ
ーバイルホスト50の同期マネージャ6は同期処理を開
始する。同期処理は一次同期処理及び二次同期処理に分
けて実行される。
【0102】一次同期処理は、プロキシオブジェクト1
からの同期処理であって、プロキシオブジェクト1のキ
ャッシュデータ4にマスタオブジェクト11のデータ1
4を一致させる処理である。このために、一次同期処理
は、プロキシオブジェクト1(のメッセージキュー6
1)に滞留していたデータ取得要求get(name) 以外のメ
ッセージ、即ち、データ更新要求set(name,value) 、デ
ータ追加要求add(name,value,mode)及びデータ削除要求
remove(name)についての同期処理からなる。従って、一
次同期処理は、モーバイルホスト50からのサーバホス
ト60のデータの操作であり、オフライン時のデータ操
作をオンライン開始時に排他的にまとめて実行するもの
である。
【0103】二次同期処理は、マスタオブジェクト11
からの同期処理であって、マスタオブジェクト11のデ
ータ14にプロキシオブジェクト1のキャッシュデータ
4を一致させる処理である。このために、二次同期処理
は、マスタオブジェクト11(のメッセージキュー16
1)に滞留していたデータ更新要求set(name,value)、
データ追加要求add(name,value,mode)及びデータ削除要
求remove(name)についての同期処理からなる。従って、
二次同期処理は、連携して動作している他のモーバイル
(又はモーバイルではない)ホスト(50)からのサー
バホスト60及び当該モーバイルホスト50のデータの
操作であり、オフライン時のデータ操作をオンライン開
始時に排他的にまとめて実行するものである。
【0104】また、プロキシオブジェクト1に滞留して
いたデータ取得要求get(name) についての同期処理は、
以上の一次同期処理及び二次同期処理の後に実行され
る。この同期処理は三次同期処理と考えてもよい。この
処理は、プロキシオブジェクト1に滞留していたメッセ
ージの早期処理であるから、本来、一次同期処理におい
て実行すべきものである。しかし、本発明では、これを
一次同期処理及び二次同期処理の後に実行する。これに
より、処理すべきデータ取得要求の数を減らし、同期処
理の時間を短縮し、同期処理のための通信のオーバヘッ
ドを少なくしている。
【0105】まず、モーバイルホスト50の同期マネー
ジャ6は一次同期処理を開始する。即ち、メッセージキ
ュー61内のメッセージの中でデータ取得要求以外のメ
ッセージを、キューの先頭から順に、同期メッセージと
してサーバホスト60の同期マネージャ6に送信する。
なお、ここで送信されるメッセージの内、以下のルール
のチェックにおいて有効に受け付けられるものは、例え
ば図8に示す場合のものである。
【0106】同期メッセージを受信したサーバホスト6
0の同期マネージャ6は、図6に示した同期モードにつ
いてのルールをチェックして、同期メッセージを受け付
けるか否かを決定する。
【0107】同期メッセージを受け付けない場合、サー
バホスト60の同期マネージャ6は、そのメッセージキ
ュー161内に当該データに対する更新/追加/削除要
求がある場合には、当該メッセージをモーバイルホスト
50の同期マネージャ6に送信する。なお、ここで送信
されるメッセージは、例えば図7に示す場合のものであ
る。
【0108】これを受信したモーバイルホスト50の同
期マネージャ6は、当該メッセージの内容に基づいて、
プロキシオブジェクト1(キャッシュデータマネージャ
2)に依頼してそのキャッシュデータ4を更新/追加/
削除し、また、更新/追加/削除したデータについての
データ取得要求がそのメッセージキュー61内に存在す
る場合には当該データ取得要求を削除する。
【0109】同期メッセージを受け付ける場合、サーバ
ホスト60の同期マネージャ6は、当該同期メッセージ
の内容に基づいて、マスタオブジェクト11に依頼して
インデックステーブル3及びデータを更新/追加/削除
し、また、そのメッセージキュー61内に当該データに
ついて不要となったメッセージが存在する場合には、当
該メッセージを削除する。
【0110】以上の処理を順次繰り返すことにより、モ
ーバイルホスト50のメッセージキュー61内にはデー
タ取得メッセージ以外のメッセージが存在しなくなる。
これにより一次同期が完了する。そこで、モーバイルホ
スト50の同期マネージャ6は、サーバホスト60の同
期マネージャ6に一次同期完了通知を送信する。
【0111】一次同期完了通知を受信したサーバホスト
60の同期マネージャ6は、そのメッセージキュー61
内に存在する他のモーバイルホスト50等からの更新/
追加/削除要求を、キュー61の先頭から順に、同期メ
ッセージとして当該モーバイルホスト50の同期マネー
ジャ6に送信する。なお、サーバホスト60のメッセー
ジキュー61内には取得要求は存在しない。
【0112】これを受信したモーバイルホスト50の同
期マネージャ6は、当該メッセージの内容に基づいて、
プロキシオブジェクト1(キャッシュデータマネージャ
2)に依頼してそのキャッシュデータ4を更新/追加/
削除し、また、更新/追加/削除したデータについての
データ取得要求がそのメッセージキュー61内に存在す
る場合には当該データ取得要求を削除する。
【0113】以上の処理を順次繰り返すことにより、サ
ーバホスト60のメッセージキュー61内には同期メッ
セージが存在しなくなる。これにより二次同期が完了す
る。そこで、サーバホスト60の同期マネージャ6は、
モーバイルホスト50の同期マネージャ6に二次同期完
了通知を送信する。
【0114】二次同期完了通知を受信したモーバイルホ
スト50の同期マネージャ6は、そのメッセージキュー
61内に存在するデータ取得要求を、キューの先頭から
順に同期メッセージとしてサーバホスト60の同期マネ
ージャ6に送信する。
【0115】このデータ取得要求を受信したサーバホス
ト60の同期マネージャ6は、当該同期メッセージの内
容に基づいて、マスタオブジェクト11に依頼してイン
デックステーブル3及びデータから対象データを取得し
て、これを同期メッセージとして当該モーバイルホスト
50の同期マネージャ6に返信する。これを受信したモ
ーバイルホスト50の同期マネージャ6は、当該メッセ
ージの内容に基づいて、プロキシオブジェクト1(キャ
ッシュデータマネージャ2)に依頼してそのキャッシュ
データ4を取得したデータとする。
【0116】以上の処理を順次繰り返すことにより、モ
ーバイルホスト50のメッセージキュー61内にはデー
タ取得要求が存在しなくなり、空となる。これによりデ
ータ取得(三次同期処理)が完了し、すべての同期処理
が完了する。そこで、モーバイルホスト50の同期マネ
ージャ6は、サーバホスト60の同期マネージャ6に同
期完了通知を送信する。同期完了通知を受信したサーバ
ホスト60の同期マネージャ6は、同期完了通知の受け
付けを通知する。
【0117】モーバイルホスト50及びサーバホスト6
0の同期マネージャ6は、各々、同期処理状態フラグを
同期処理完了を示す値「true」に変更する。これによ
り、モーバイルホスト50のアプリケーション8からマ
スタオブジェクト11へのアクセスが可能となる。ま
た、他のモーバイルホスト50等からのからマスタオブ
ジェクト11へのアクセスが可能となる。
【0118】従って、これ以後は、プロキシオブジェク
ト1内の参照オブジェクト5は図10乃至図13に示す
オンフラインでの処理を実行し、サーバホスト60にお
いてマスタオブジェクト11の操作が行われる。また、
同期マネージャ6は処理を実行しない。
【0119】以上、本発明をその実施の態様により説明
したが、本発明はその主旨の範囲において種々の変形が
可能である。例えば、プロキシオブジェクト1の生成の
タイミングはアプリケーション8からの要求時に制限さ
れない。即ち、オンライン時にマスタオブジェクト11
の生成に応じて、予めプロキシオブジェクト1を生成し
ておいても良い。これにより、モーバイルホスト50に
おけるメモリ容量は増加するが、オフライン時にアプリ
ケーション8からそれまでにメソッドが発行されたこと
の無いマスタオブジェクト11に対してメソッドが発行
されても、これに対応することができる。
【0120】また、参照オブジェクト5及び同期マネー
ジャ6をプロキシオブジェクト1とは別に設けるように
してもよい。この場合、アプリケーション8が、オフラ
イン時はプロキシオブジェクト1に対して、オンライン
時は参照オブジェクト5に対して、各々、メソッドを発
行するようにされる。
【0121】また、キャッシュデータマネージャ2、参
照オブジェクト5、同期マネージャ6をプロキシオブジ
ェクト1とは別に設けるようにしてもよい。そして、ア
プリケーション8が発行したメソッドをプロキシオブジ
ェクト1で受け付け、プロキシオブジェクト1がネット
ワークの状態及びメソッドの内容に応じて、キャッシュ
データマネージャ2、参照オブジェクト5、同期マネー
ジャ6を呼び出して処理を実行させるようにしても良
い。
【0122】また、マスタオブジェクト11及びプログ
ラムオブジェクト1がインデックステーブル3とキャッ
シュデータ4とに分けてデータを持つ必要はなく、従来
(図16)と同様に、データテーブルを持つようにして
も良い。
【0123】また、本発明はネットワーク70との接続
を切断しない分散オブジェクト処理システムにも適用す
ることができる。この場合、モーバイルホスト50のメ
モ容量が小さくて済み、サーバホスト60との通信のオ
ーバヘッド小さくて済む。
【0124】また、本発明は、以上に述べた処理を分散
オブジェクト処理装置であるコンピュータに実現させる
プログラムを格納したプログラム記憶媒体を提供する。
従って、当該プログラム記憶媒体も本発明の技術的範囲
に属するものである。
【0125】
【発明の効果】以上説明したように、本発明によれば、
分散オブジェクト処理装置において、アプリケーション
に対してマスタオブジェクトと同一のインタフェースを
有しサーバホストとの接続が切断されている場合でもメ
ソッドに対応する処理を行うプロキシオブジェクトを設
けることにより、当該接続が切断されている場合であっ
てもアプリケーションからメソッドが発行されるとこれ
に対応する処理を行うことができるので、ネットワーク
との接続が切断されてもアプリケーションにエラーを生
じることを防止でき、結果として、アプリケーション及
びユーザがネットワークの存在及び接続状態を意識する
必要をなくすことができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】分散オブジェクト処理装置説明図である。
【図3】分散オブジェクト処理装置構成図である。
【図4】インデックステーブル説明図である。
【図5】データ格納用メモリ説明図である。
【図6】同期モード説明図である。
【図7】同期モード説明図である。
【図8】同期モード説明図である。
【図9】同期モード説明図である。
【図10】キャッシュ管理処理フローである。
【図11】キャッシュ管理処理フローである。
【図12】キャッシュ管理処理フローである。
【図13】キャッシュ管理処理フローである。
【図14】メッセージ管理処理フローである。
【図15】同期管理処理フローである。
【図16】従来の分散オブジェクトシステム説明図であ
る。
【符号の説明】
1 プロキシオブジェクト 2 キャッシュデータマネージャ 3 インデックステーブル 4 キャッシュデータ 5 参照オブジェクト 6 同期マネージャ 7 通信マネージャ 8 アプリケーション 9 メソッド 11 マスタオブジェクト 13 インデックステーブル 14 データ 16 同期マネージャ 17 通信マネージャ 50 モーバイルホスト 60 サーバホスト 70 ネットワーク
───────────────────────────────────────────────────── フロントページの続き (72)発明者 野口 祐一郎 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 飯田 一朗 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 1又は複数のコンピュータとネットワー
    クを介して接続される分散オブジェクト処理装置であっ
    て、 他のコンピュータ上で動作する遠隔オブジェクトと連携
    して動作するオブジェクトであって、メソッドを発行す
    るアプリケーションに対して前記遠隔オブジェクトと同
    一のインタフェースを有し、前記遠隔オブジェクトの持
    つデータのキャッシュデータを管理するキャッシュデー
    タマネージャを有するプロキシオブジェクトを備え、 前記キャッシュデータマネージャが、前記他のコンピュ
    ータとの接続が切断されている場合に、前記キャッシュ
    データを用いて前記メソッドに対応する処理を行うこと
    を特徴とする分散オブジェクト処理装置。
  2. 【請求項2】 当該分散オブジェクト処理装が前記他の
    コンピュータと接続されている場合に、前記メソッドに
    対応する処理を行う参照オブジェクトを備えることを特
    徴とする請求項1に記載の分散オブジェクト処理装置。
  3. 【請求項3】 前記プロキシオブジェクトが、前記他の
    コンピュータとの接続の状態に応じて当該プロキシオブ
    ジェクトと前記遠隔オブジェクトとの間でデータの同期
    処理を行う同期マネージャを備え、 前記同期マネージャが、前記他のコンピュータとの接続
    が切断状態から接続状態に移行した場合に、自動的に前
    記データの同期処理を行うことを特徴とする請求項1に
    記載の分散オブジェクト処理装置。
  4. 【請求項4】 前記キャッシュデータマネージャが、前
    記遠隔オブジェクトがそのデータを管理するためのテー
    ブルと同一の構造を有し、データの名前及びデータの格
    納位置を記憶するインデックステーブルと当該データの
    格納領域とからなるデータテーブルを用いて前記キャッ
    シュデータを管理することを特徴とする請求項1に記載
    の分散オブジェクト処理装置。
  5. 【請求項5】 1又は複数のコンピュータとネットワー
    クを介して接続される分散オブジェクト処理装置におい
    て用いられるプログラムであって、 メソッドを発行するアプリケーションに対して前記遠隔
    オブジェクトと同一のインタフェースを有し、 他のコンピュータ上で動作する遠隔オブジェクトと連携
    する処理と、 前記遠隔オブジェクトの持つデータのキャッシュデータ
    を管理する処理と、 前記他のコンピュータとの接続が切断されている場合に
    前記メソッドに対応する処理とを分散オブジェクト処理
    装置であるコンピュータに実行させるプログラムを格納
    したことを特徴とするプログラム記憶媒体。
JP11706498A 1998-04-27 1998-04-27 分散オブジェクト処理装置及びプログラム記憶媒体 Pending JPH11306151A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11706498A JPH11306151A (ja) 1998-04-27 1998-04-27 分散オブジェクト処理装置及びプログラム記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11706498A JPH11306151A (ja) 1998-04-27 1998-04-27 分散オブジェクト処理装置及びプログラム記憶媒体

Publications (1)

Publication Number Publication Date
JPH11306151A true JPH11306151A (ja) 1999-11-05

Family

ID=14702538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11706498A Pending JPH11306151A (ja) 1998-04-27 1998-04-27 分散オブジェクト処理装置及びプログラム記憶媒体

Country Status (1)

Country Link
JP (1) JPH11306151A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2350452A (en) * 1999-01-28 2000-11-29 Ibm Method and apparatus for providing responses for requests of off-line clients
JP2010170185A (ja) * 2009-01-20 2010-08-05 Nec Corp 端末装置およびWebページデータ取得方法
JP2011118867A (ja) * 2009-12-03 2011-06-16 Korea Electronics Telecommun 遠隔プラグイン装置、ロボットプラグイン実行エンジン装置及びロボットプラグイン実行システム
JP2012048299A (ja) * 2010-08-24 2012-03-08 Toshiba Tec Corp 情報処理システム、情報処理装置およびプログラム
JP2014164567A (ja) * 2013-02-26 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> 処理装置、分散処理方法および分散処理プログラム
JP2022500775A (ja) * 2019-07-15 2022-01-04 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 分散型システムのデータ同期方法、装置、コンピュータプログラム、及び電子機器

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2350452A (en) * 1999-01-28 2000-11-29 Ibm Method and apparatus for providing responses for requests of off-line clients
GB2350452B (en) * 1999-01-28 2003-11-19 Ibm Method and apparatus for providing responses for requests of off-line clients
US6757706B1 (en) 1999-01-28 2004-06-29 International Business Machines Corporation Method and apparatus for providing responses for requests of off-line clients
JP2010170185A (ja) * 2009-01-20 2010-08-05 Nec Corp 端末装置およびWebページデータ取得方法
JP2011118867A (ja) * 2009-12-03 2011-06-16 Korea Electronics Telecommun 遠隔プラグイン装置、ロボットプラグイン実行エンジン装置及びロボットプラグイン実行システム
KR101242662B1 (ko) 2009-12-03 2013-03-12 한국전자통신연구원 원격 플러그인 장치, 로봇 플러그인 실행 엔진 장치 및 로봇 플러그인 실행 시스템
JP2012048299A (ja) * 2010-08-24 2012-03-08 Toshiba Tec Corp 情報処理システム、情報処理装置およびプログラム
JP2014164567A (ja) * 2013-02-26 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> 処理装置、分散処理方法および分散処理プログラム
JP2022500775A (ja) * 2019-07-15 2022-01-04 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 分散型システムのデータ同期方法、装置、コンピュータプログラム、及び電子機器
US11645303B2 (en) 2019-07-15 2023-05-09 Tencent Technology (Shenzhen) Company Limited Data synchronization method and apparatus of distributed system, medium, and electronic device

Similar Documents

Publication Publication Date Title
US6466965B1 (en) Centralized affinity maintenance in a workload managed client/server data processing system
US6343316B1 (en) Cooperative work support system
US5892946A (en) System and method for multi-site distributed object management environment
US7124255B2 (en) Message based inter-process for high volume data
EP1459213B1 (en) System and methods for asychronous synchronization
US7912858B2 (en) Data synchronization method
US20030005172A1 (en) Apparatus, method and computer program product for client/server computing with improved correspondence between transaction identifiers when supporting subordinate resource manager(s)
EP0926608A2 (en) Distributed persistent storage for intermittently connected clients
JPS63205747A (ja) 通信方法及びデータ処理システム
CN110830580B (zh) 一种存储数据同步方法及装置
CN114254036A (zh) 数据处理方法以及***
JP2001265576A (ja) プログラム置換システム、分散処理システム及びプログラム置換方法
JPH11306151A (ja) 分散オブジェクト処理装置及びプログラム記憶媒体
GB2339622A (en) Client/server computing with transactional interface between legacy and non-legacy systems
GB2346983A (en) Minimising inter-machine data transfers in a distributed transaction processing system
WO2023193671A1 (zh) 数据传输方法以及***
JP2001109642A (ja) クラスタシステム、及びそのデータ複写方法
JP2002366381A (ja) オブジェクトの動的入替え処理方法
JP3076280B2 (ja) 共有メモリを使用したプロセス間通信方式
KR100579130B1 (ko) 라우터 이중화 실현을 위한 라우팅 엔트리 정보 이중화 방법
JPH07282012A (ja) 分散データ処理システムにおける分散運用支援方法
JP2001175522A (ja) 排他制御方法及びシステム
JP2749103B2 (ja) ネットワークリソース管理方法
JP2002278820A (ja) データベース管理システム
JPH0962602A (ja) サーバ情報管理方法および管理システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060418

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060616

RD02 Notification of acceptance of power of attorney

Effective date: 20060616

Free format text: JAPANESE INTERMEDIATE CODE: A7422

A521 Written amendment

Effective date: 20060915

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Effective date: 20061107

Free format text: JAPANESE INTERMEDIATE CODE: A02

A521 Written amendment

Effective date: 20061205

Free format text: JAPANESE INTERMEDIATE CODE: A523

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Effective date: 20070111

Free format text: JAPANESE INTERMEDIATE CODE: A911

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070309

RD03 Notification of appointment of power of attorney

Effective date: 20090202

Free format text: JAPANESE INTERMEDIATE CODE: A7423

RD04 Notification of resignation of power of attorney

Effective date: 20090202

Free format text: JAPANESE INTERMEDIATE CODE: A7424