JP2005174048A - データセット更新装置、端末装置、データセット更新方法、およびプログラム - Google Patents
データセット更新装置、端末装置、データセット更新方法、およびプログラム Download PDFInfo
- Publication number
- JP2005174048A JP2005174048A JP2003414203A JP2003414203A JP2005174048A JP 2005174048 A JP2005174048 A JP 2005174048A JP 2003414203 A JP2003414203 A JP 2003414203A JP 2003414203 A JP2003414203 A JP 2003414203A JP 2005174048 A JP2005174048 A JP 2005174048A
- Authority
- JP
- Japan
- Prior art keywords
- data set
- update
- information
- sent
- token
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】 トランザクションの回数を削減しつつ、サーバ上で更新されたデータをクライアント上で最新状態に保つ。
【解決手段】 サーバ20は、クライアント10で最後に確認された内容を送付確認済リストとして記憶する送付確認済情報記憶部26と、クライアント10に保持させる更新後データセットを記憶する更新後データセット記憶部27と、送付確認済リストで特定されるデータセットと更新後データセットとの差分を送信する更新情報送信部24と、更新後データセットの内容を送付済リストとして送付済情報記憶部25に記憶する送付済情報更新部23と、クライアント10からの更新要求を受信する更新要求受信部21と、クライアント10が保持するデータセットの内容が送付確認済リストで特定されるデータセットの内容と異なれば、送付確認済リストを送付済リストで置き換える送付確認済情報更新部22とを備えた。
【選択図】 図1
【解決手段】 サーバ20は、クライアント10で最後に確認された内容を送付確認済リストとして記憶する送付確認済情報記憶部26と、クライアント10に保持させる更新後データセットを記憶する更新後データセット記憶部27と、送付確認済リストで特定されるデータセットと更新後データセットとの差分を送信する更新情報送信部24と、更新後データセットの内容を送付済リストとして送付済情報記憶部25に記憶する送付済情報更新部23と、クライアント10からの更新要求を受信する更新要求受信部21と、クライアント10が保持するデータセットの内容が送付確認済リストで特定されるデータセットの内容と異なれば、送付確認済リストを送付済リストで置き換える送付確認済情報更新部22とを備えた。
【選択図】 図1
Description
本発明は、サーバコンピュータ(以下、「サーバ」という)が、クライアントコンピュータ(以下、「クライアント」という)からの更新要求に応じて、クライアントが保持するデータセットを更新するデータセット更新装置等に関する。
サーバとクライアントとの間でデータを共有する場合、データの同期について配慮する必要がある(例えば、特許文献1参照。)。特許文献1では、クライアントである携帯端末が最新のデータを保持し、サーバがその最新のデータを取得することを想定しており、クライアントがその保持するデータの更新をサーバに伝えるいわゆるPUSH型の同期方式が採用されている。
一方で、サーバが最新のデータを保持し、クライアントがその最新のデータを取得して使用するようなシステムも考えられる。例えば、オンラインショッピングで用いる、購入者、希望商品、支払方法等を記入するためのフォーム等を、サーバとクライアントの双方が保持し、サーバで保持されるフォーム等に変更があった場合に、その変更後のフォーム等をクライアントが取得して使用するようなシステムである。
かかるシステムにおいて、クライアントとして携帯電話等の携帯情報端末を用いることとした場合、サーバからクライアントへ一方的にデータの更新を伝えても、クライアントが利用可能になっていないことがあり得る。その対策として、サーバが定期的にポーリングを行うことも考えられるが、通信トラフィックが過大になってしまうという問題があり、このような場合は、クライアントがその保持するデータの更新をサーバに要求することにより、サーバがそのデータに更新があればクライアントに更新情報を送信するいわゆるPULL型の同期方式が一般に採用される。
また、HTTPをベース技術とした場合は、サーバからのPUSH型の更新は行えないという事情もあり、かかる場合もPULL型の同期方式が採用される。
かかるシステムにおいて、クライアントとして携帯電話等の携帯情報端末を用いることとした場合、サーバからクライアントへ一方的にデータの更新を伝えても、クライアントが利用可能になっていないことがあり得る。その対策として、サーバが定期的にポーリングを行うことも考えられるが、通信トラフィックが過大になってしまうという問題があり、このような場合は、クライアントがその保持するデータの更新をサーバに要求することにより、サーバがそのデータに更新があればクライアントに更新情報を送信するいわゆるPULL型の同期方式が一般に採用される。
また、HTTPをベース技術とした場合は、サーバからのPUSH型の更新は行えないという事情もあり、かかる場合もPULL型の同期方式が採用される。
ところで、従来のPULL型の同期方式は、図10に示すようなものであった。即ち、サーバ90は、クライアント80に送付したことが確認された送付確認済データセットのリストである送付確認済リストを保持し、クライアント80からの更新要求に応じて、更新後データセットと送付確認済データセットとの差分を作成してクライアント80に送付する。そして、クライアント80からAckを受信すると、クライアント80におけるデータセットの更新が正常に終了したものと判断し、送付確認済リストを更新するというものである。
しかしながら、図10に示した従来技術では、(1)クライアントからの更新要求とサーバからの更新内容の送付、(2)クライアントからの更新内容受信完了を示すAckとサーバからのそれに対するAckという2つのトランザクションが少なくとも必要であった。従って、トランザクション数が多く、特に、クライアントが携帯電話等の携帯情報端末の場合、1トランザクションあたりのオーバーヘッドが大きくなってしまうという問題点があった。
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的は、トランザクション数を削減しつつ、サーバ上で更新されたデータをクライアント上で最新状態に保つことにある。
また、本発明の他の目的は、さらに通信データ量を削減しつつ、サーバ上で更新されたデータをクライアント上で最新状態に保つことにある。
また、本発明の他の目的は、さらに通信データ量を削減しつつ、サーバ上で更新されたデータをクライアント上で最新状態に保つことにある。
かかる目的のもと、本発明は、クライアントにおけるデータセットの更新の完了を次の更新要求時に確認する構成としている。即ち、本発明のデータセット更新装置は、他のコンピュータが保持するデータセットを更新するための更新情報をそのコンピュータに送信する更新情報送信部と、この更新情報送信部により送信された更新情報を送付済情報として管理する送付済情報管理部(送付済情報記憶部および送付済情報更新部に対応)と、そのコンピュータが保持するデータセットの更新状況を示す更新状況情報を含む更新要求をそのコンピュータから受信する更新要求受信部と、この更新要求受信部により受信された更新状況情報に基づき、そのコンピュータが更新情報による更新後のデータセットを保持していると判断されれば、送付済情報として記憶されていた更新情報を、そのコンピュータにおいて更新情報によるデータセットの更新が確認されたことを示す送付確認済情報として管理する送付確認済情報管理部(送付確認済情報記憶部および送付確認済情報更新部に対応)とを備えている。
また、別の観点から捉えれば、本発明のデータセット更新装置は、他のコンピュータへ送付したデータセットについて、そのコンピュータにおいて最後に確認された内容を特定する送付確認済データセット管理情報(送付確認済リスト)と、最後に送付された更新情報による更新後の内容を特定する送付済データセット管理情報(送付済リスト)とを記憶する管理情報記憶部(送付済情報記憶部および送付確認済情報記憶部に対応)と、そのコンピュータが保持するデータセットの更新状況を示す更新状況情報を含む更新要求を受信する更新要求受信部と、この更新要求受信部により受信された更新状況情報に基づき、そのコンピュータが保持するデータセットの内容が送付確認済データセット管理情報により特定されるデータセットの内容と異なると判断されれば、管理情報記憶部に対し送付確認済データセット管理情報を送付済データセット管理情報で置き換える更新処理を行う管理情報更新部(送付済情報更新部および送付確認済情報更新部に対応)とを備えている。
また、本発明は、クライアントのデータセットの状態を、2値トークンを用いて管理しながらデータ同期を行うものである。本発明により、サーバ、クライアント双方で2値トークンの受け渡しのみを行うことにより、サーバが現在クライアント上に保持されているデータの状況を把握することが可能となる。また、クライアントからのリスト送付は行わないため、通信データ量が少なくすることができる。さらに、サーバではクライアントの状態を2値トークンで管理することにより、管理機構が単純になるという効果も得られる。
さらに、本発明は、データセットの更新の完了を次の更新要求時に確認させる端末装置として捉えることもできる。その場合、本発明の端末装置は、データセットを記憶するデータセット記憶部と、他のコンピュータから更新情報を受信し、その更新情報により、データセット記憶部に記憶されたデータセットの更新を行う更新処理部と、データセットの更新が完了したことを示す情報を、更新後のデータセットに対する更なる更新の要求に含めて送信する更新要求送信部とを備えている。
さらに、本発明は、一のコンピュータが、他のコンピュータが保持するデータセットを更新するデータセット更新方法として捉えることもできる。その場合、本発明のデータセット更新方法は、他のコンピュータへ送付したデータセットについて、そのコンピュータにおいて最後に確認された内容を特定する送付確認済データセット管理情報と、最後に送付された更新情報による更新後の内容を特定する送付済データセット管理情報とを記憶するステップと、そのコンピュータが保持するデータセットの更新状況を示す更新状況情報を含む更新要求を受信するステップと、受信された更新状況情報に基づき、そのコンピュータが保持するデータセットの内容が送付確認済データセット管理情報により特定されるデータセットの内容と異なると判断されれば、送付確認済データセット管理情報を送付済データセット管理情報で置き換える更新処理を行うステップとを含んでいる。
一方、本発明は、端末装置が保持するデータセットを更新するためにサーバにインストールされるプログラムとして捉えることもできる。その場合、本発明のプログラムは、端末装置へ送付したデータセットについて、その端末装置において最後に確認された内容を特定する送付確認済データセット管理情報と、最後に送付された更新情報による更新後の内容を特定する送付済データセット管理情報とを記憶するサーバに、端末装置が保持するデータセットの更新状況を示す更新状況情報を含む更新要求を受信する機能と、受信された更新状況情報に基づき、その端末装置が保持するデータセットの内容が送付確認済データセット管理情報により特定されるデータセットの内容と異なると判断されれば、送付確認済データセット管理情報を送付済データセット管理情報で置き換える更新処理を行う機能とを実現させるものである。
また、本発明は、データセットの更新の完了を次の更新要求時に確認させる端末装置にインストールされるプログラムとして捉えることもできる。その場合、本発明のプログラムは、コンピュータに、他のコンピュータから更新情報を受信し、その更新情報によりデータセットの更新を行う機能と、データセットの更新が完了したことを示す情報を、更新後のデータセットに対する更なる更新の要求に含めて送信する機能とを実現させるものである。
本発明によれば、トランザクション数を削減しつつ、サーバ上で更新されたデータをクライアント上で最新状態に保つことが可能となる。
また、さらに通信データ量を削減しつつ、サーバ上で更新されたデータをクライアント上で最新状態に保つことも可能となる。
また、さらに通信データ量を削減しつつ、サーバ上で更新されたデータをクライアント上で最新状態に保つことも可能となる。
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図1は、本実施の形態におけるクライアントサーバシステムの全体構成を示す図である。
図1に示すように、このクライアントサーバシステムは、クライアント10と、サーバ20とから構成され、クライアント10は、更新要求送信部11と、トークン記憶部12と、データセット記憶部13と、更新処理部14とを含み、サーバ20は、更新要求受信部21と、送付確認済情報更新部22と、送付済情報更新部23と、更新情報送信部24と、送付済情報記憶部25と、送付確認済情報記憶部26と、更新後データセット記憶部27とを含む。
図1は、本実施の形態におけるクライアントサーバシステムの全体構成を示す図である。
図1に示すように、このクライアントサーバシステムは、クライアント10と、サーバ20とから構成され、クライアント10は、更新要求送信部11と、トークン記憶部12と、データセット記憶部13と、更新処理部14とを含み、サーバ20は、更新要求受信部21と、送付確認済情報更新部22と、送付済情報更新部23と、更新情報送信部24と、送付済情報記憶部25と、送付確認済情報記憶部26と、更新後データセット記憶部27とを含む。
データセット記憶部13は、クライアント10で使用するデータセットを記憶する手段であり、トークン記憶部12は、データセット記憶部13に記憶されたデータセットの更新状況を2値で示すトークンを記憶する手段である。また、更新要求送信部11は、トークン記憶部12に記憶されたトークンを更新要求としてサーバ20に送信する手段であり、更新処理部14は、サーバ20から送られた更新情報に従いデータセット記憶部13に記憶されたデータセットを更新する手段である。
送付済情報記憶部25は、送付済リストおよび送付済トークンを記憶する手段(スロット)である。ここで、送付済リストとは、クライアント10に送付したデータセットについて、最後に送付した更新情報による更新後の内容を特定するためのリストである。送付済リストに記録される情報としては、データセットを構成するコンポーネントの名称およびタイムスタンプが例示されるが、コンポーネントおよびそのバージョンの特定が可能な情報であれば、如何なるものを用いてもよい。また、送付済トークンとは、送付済リストの更新状況を2値で表すものである。
送付確認済情報記憶部26は、送付確認済リストおよび送付確認済トークンを記憶する手段(スロット)である。ここで、送付確認済リストとは、クライアント10に送付したデータセットについて、クライアント10への送付が完了したことが最後に確認された時点における内容を特定するためのリストである。送付確認済リストに記録される情報としては、データセットを構成するコンポーネントの名称およびタイムスタンプが例示されるが、コンポーネントおよびそのバージョンの特定が可能な情報であれば、如何なるものを用いてもよい。また、送付確認済トークンとは、送付確認済リストの更新状況を2値で表すものである。
更新後データセット記憶部27は、クライアント10のデータセット記憶部13に記憶されたデータセットを更新する場合に、その更新後のデータセットを記憶する手段である。
更新後データセット記憶部27は、クライアント10のデータセット記憶部13に記憶されたデータセットを更新する場合に、その更新後のデータセットを記憶する手段である。
更新要求受信部21は、クライアント10から更新要求として送られたトークンを受信する手段である。また、送付確認済情報更新部22は、更新要求受信部21が受信したトークンと送付済情報記憶部25に記憶された送付済トークンおよび送付確認済情報記憶部26に記憶された送付確認済トークンとの比較結果に応じて、送付確認済情報記憶部26に記憶された送付確認済トークンおよび送付確認済リストを更新する手段である。さらに、送付済情報更新部23は、送付確認済情報記憶部26に記憶された送付確認済リストにより特定されるデータセットと更新後データセット記憶部27に記憶されたデータセットとの比較結果に応じて、送付済情報記憶部25に記憶された送付済トークンおよび送付済リストを更新すると共に、クライアント10に送信すべきトークンおよび更新情報を生成する手段である。さらにまた、更新要求送信部24は、送付済情報更新部23が生成したトークンおよび更新情報をクライアント10に送信する手段である。
なお、クライアント10およびサーバ20のハードウェア構成としては、一般的なコンピュータと同様のものを採用することができる。即ち、中央処理装置(CPU)と、メインメモリとを含み、これらがバスを介して補助記憶装置と接続されたようなものであってよい。ここで、補助記憶装置としては、ハードディスク、フレキシブルディスク、MO(Magneto Optical disk)、CD−ROM等が想定される。
クライアント10において、補助記憶装置には、更新要求送信部11および更新処理部14の機能を実現するコンピュータプログラムが記憶される。即ち、クライアント10の図示しない中央処理装置(CPU)がこのコンピュータプログラムをメインメモリに読み込んで実行することにより、更新要求送信部11および更新処理部14の機能を実現する。また、補助記憶装置は、トークン記憶部12およびデータセット記憶部13としても用いられる。なお、補助記憶装置に記憶されるコンピュータプログラムおよびデータは、図示しない記録媒体から直接、または、コンピュータネットワークを介してインストールされたものであってよい。
クライアント10において、補助記憶装置には、更新要求送信部11および更新処理部14の機能を実現するコンピュータプログラムが記憶される。即ち、クライアント10の図示しない中央処理装置(CPU)がこのコンピュータプログラムをメインメモリに読み込んで実行することにより、更新要求送信部11および更新処理部14の機能を実現する。また、補助記憶装置は、トークン記憶部12およびデータセット記憶部13としても用いられる。なお、補助記憶装置に記憶されるコンピュータプログラムおよびデータは、図示しない記録媒体から直接、または、コンピュータネットワークを介してインストールされたものであってよい。
一方、サーバ20において、補助記憶装置には、更新要求受信部21、送付確認済情報更新部22、送付済情報更新部23、更新情報送信部24の各機能を実現するコンピュータプログラムが記憶される。即ち、サーバ20の図示しない中央処理装置(CPU)がこのコンピュータプログラムをメインメモリに読み込んで実行することにより、更新要求受信部21、送付確認済情報更新部22、送付済情報更新部23、更新情報送信部24の各機能を実現する。また、補助記憶装置は、送付済情報記憶部25、送付確認済情報記憶部26、更新後データセット記憶部27としても用いられる。なお、補助記憶装置に記憶されるコンピュータプログラムおよびデータは、図示しない記録媒体から直接、または、コンピュータネットワークを介してインストールされたものであってよい。
次に、本実施の形態の動作について詳細に説明する。なお、ここでは、クライアント10が保持するトークンを「トークンtc」、サーバ20が保持する送付済トークンを「トークンts1」、サーバ20が保持する送付確認済トークンを「トークンts2」とし、クライアント10が保持するデータセットを「データセットSc」、サーバ20が保持する送付済リストにより特定されるデータセットを「データセットS1」、サーバ20が保持する送付確認済リストにより特定されるデータセットを「データセットS2」、サーバ20が保持する更新後データセットを「データセットSn」とする。
まず、図2を参照しながら、クライアント10の動作を説明する。
クライアント10では、更新要求送信部11が、トークン記憶部12からトークンtcを取り出し、サーバ20に送信することで、データセット記憶部13に記憶されたデータセットScの更新を要求する(ステップ101)。
これに対し、サーバ20では後述する処理が行われ、クライアント10では、更新処理部14が応答を受信し(ステップ102)、その応答がトークンts1と差分(Sn−S2)であるかどうかを判断する(ステップ103)。そして、その応答がトークンts1と差分(Sn−S2)でなければ、何もせずに処理を終了するが、トークンts1と差分(Sn−S2)であれば、差分(Sn−S2)を用いて、データセット記憶部13に記憶されたデータセットScを更新すると共に、トークン記憶部12に記憶されたトークンtcにトークンts1の値を設定し(ステップ104)、処理を終了する。
クライアント10では、更新要求送信部11が、トークン記憶部12からトークンtcを取り出し、サーバ20に送信することで、データセット記憶部13に記憶されたデータセットScの更新を要求する(ステップ101)。
これに対し、サーバ20では後述する処理が行われ、クライアント10では、更新処理部14が応答を受信し(ステップ102)、その応答がトークンts1と差分(Sn−S2)であるかどうかを判断する(ステップ103)。そして、その応答がトークンts1と差分(Sn−S2)でなければ、何もせずに処理を終了するが、トークンts1と差分(Sn−S2)であれば、差分(Sn−S2)を用いて、データセット記憶部13に記憶されたデータセットScを更新すると共に、トークン記憶部12に記憶されたトークンtcにトークンts1の値を設定し(ステップ104)、処理を終了する。
次に、図3を参照しながら、サーバ20の動作を説明する。
サーバ20では、更新要求受信部21が、トークンtcを受信し(ステップ201)、送付確認済情報更新部22に制御を渡す。
送付確認済情報更新部22は、受信したトークンtcの値が送付確認済情報記憶部26に記憶されたトークンts2の値と一致するかどうか判断する(ステップ202)。
この判断の結果、トークンtcの値がトークンts2の値と一致していれば、何もせずに処理はステップ207へ進む。一方、トークンtcの値がトークンts2の値と一致していなければ、トークンtcの値を送付確認済情報記憶部26に記憶されたトークンts2に設定し(ステップ203)、トークンtcの値が送付済情報記憶部25に記憶されたトークンts1の値と一致するかどうかを判断する(ステップ204)。
この判断の結果、トークンtcの値がトークンts1の値と一致していれば、送付確認済情報記憶部26に記憶された送付確認済リストを送付済情報記憶部25に記憶された送付済リストで置き換える(ステップ205)。即ち、送付確認済情報記憶部26に記憶された送付確認済リストにより特定されていたデータセットS2を、それまで送付済情報記憶部25に記憶された送付済リストにより特定されていたデータセットS1に変更する。一方、トークンtcの値がトークンts1の値と一致していなければ、送付確認済情報記憶部26に記憶された送付確認済リストを初期化する(ステップ206)。即ち、送付確認済リストにより特定されるデータセットS2を空データに変更する。
サーバ20では、更新要求受信部21が、トークンtcを受信し(ステップ201)、送付確認済情報更新部22に制御を渡す。
送付確認済情報更新部22は、受信したトークンtcの値が送付確認済情報記憶部26に記憶されたトークンts2の値と一致するかどうか判断する(ステップ202)。
この判断の結果、トークンtcの値がトークンts2の値と一致していれば、何もせずに処理はステップ207へ進む。一方、トークンtcの値がトークンts2の値と一致していなければ、トークンtcの値を送付確認済情報記憶部26に記憶されたトークンts2に設定し(ステップ203)、トークンtcの値が送付済情報記憶部25に記憶されたトークンts1の値と一致するかどうかを判断する(ステップ204)。
この判断の結果、トークンtcの値がトークンts1の値と一致していれば、送付確認済情報記憶部26に記憶された送付確認済リストを送付済情報記憶部25に記憶された送付済リストで置き換える(ステップ205)。即ち、送付確認済情報記憶部26に記憶された送付確認済リストにより特定されていたデータセットS2を、それまで送付済情報記憶部25に記憶された送付済リストにより特定されていたデータセットS1に変更する。一方、トークンtcの値がトークンts1の値と一致していなければ、送付確認済情報記憶部26に記憶された送付確認済リストを初期化する(ステップ206)。即ち、送付確認済リストにより特定されるデータセットS2を空データに変更する。
その後、送付済情報更新部23は、送付確認済情報記憶部26に記憶された送付確認済リストにより特定されるデータセットS2が更新後データセット記憶部27に記憶された更新後のデータセットSnと一致するかどうかを判断する(ステップ207)。
この判断の結果、データセットS2がデータセットSnと一致していれば、その旨の応答を送付する(ステップ208)。一方、データセットS2がデータセットSnと一致していなければ、送付確認済情報記憶部26に記憶されたトークンts2の値と異なる値を送付済情報記憶部25に記憶されたトークンts1に設定すると共に、送付済情報記憶部25に記憶された送付済リストにより特定されるデータセットS1をデータセットSnに変更する(ステップ209)。
最後に、送付済情報更新部23は、送付済情報記憶部25に記憶されたトークンts1と、データセットSnとデータセットS2との差分(Sn−S2)とを、クライアント10に送付する(ステップ210)。
この判断の結果、データセットS2がデータセットSnと一致していれば、その旨の応答を送付する(ステップ208)。一方、データセットS2がデータセットSnと一致していなければ、送付確認済情報記憶部26に記憶されたトークンts2の値と異なる値を送付済情報記憶部25に記憶されたトークンts1に設定すると共に、送付済情報記憶部25に記憶された送付済リストにより特定されるデータセットS1をデータセットSnに変更する(ステップ209)。
最後に、送付済情報更新部23は、送付済情報記憶部25に記憶されたトークンts1と、データセットSnとデータセットS2との差分(Sn−S2)とを、クライアント10に送付する(ステップ210)。
以下、本実施の形態の動作について、具体例を用いて説明する。
まず、図4を参照して、更新のない状態(定常状態)における動作について説明する。
この例では、図4に示すように、クライアント10が、トークンとして「0」を、データセットとして「A」を保持し、サーバ20が、送付済トークンとして「0」を、送付確認済トークンとして「0」を保持している。また、サーバ20が保持する送付済リストにより特定されるデータセットは「A」であり、サーバ20が保持する送付確認済リストにより特定されるデータセットは「A」であるとする。そして、更新後データセットとしては、「A」が記憶されているものとする。
まず、図4を参照して、更新のない状態(定常状態)における動作について説明する。
この例では、図4に示すように、クライアント10が、トークンとして「0」を、データセットとして「A」を保持し、サーバ20が、送付済トークンとして「0」を、送付確認済トークンとして「0」を保持している。また、サーバ20が保持する送付済リストにより特定されるデータセットは「A」であり、サーバ20が保持する送付確認済リストにより特定されるデータセットは「A」であるとする。そして、更新後データセットとしては、「A」が記憶されているものとする。
クライアント10が、ステップ101で、トークン「0」を送信すると、サーバ20は、ステップ201で、トークンを受信し、ステップ202で、受信したトークンの値と送付確認済トークンの値とを比較する。この場合、トークンはともに「0」で同じなので、ステップ207に進み、送付確認済リストにより特定されるデータセットと更新後データセットとを比較する。この場合、データセットはともに「A」で同じなので、ステップ208に進み、更新無しを応答としてクライアント10に送付する。なお、この場合は、クライアント10ではトークンおよびデータセットの更新は行われない。
次に、図5を参照して、データセットを更新する場合の動作について説明する。
この例では、最初、図4における動作の終了時の状態であるとする。即ち、図5に示すように、クライアント10が、トークンとして「0」を、データセットとして「A」を保持し、サーバ20が、送付済トークンとして「0」を、送付確認済トークンとして「0」を保持している。また、サーバ20が保持する送付済リストにより特定されるデータセットは「A」であり、サーバ20が保持する送付確認済リストにより特定されるデータセットは「A」であるとする。そして、更新後データセットとしては、「B」が記憶されているものとする。
この例では、最初、図4における動作の終了時の状態であるとする。即ち、図5に示すように、クライアント10が、トークンとして「0」を、データセットとして「A」を保持し、サーバ20が、送付済トークンとして「0」を、送付確認済トークンとして「0」を保持している。また、サーバ20が保持する送付済リストにより特定されるデータセットは「A」であり、サーバ20が保持する送付確認済リストにより特定されるデータセットは「A」であるとする。そして、更新後データセットとしては、「B」が記憶されているものとする。
クライアント10が、ステップ101で、トークン「0」を送信すると、サーバ20は、ステップ201で、トークンを受信し、ステップ202で、受信したトークンの値と送付確認済トークンの値とを比較する。この場合、トークンはともに「0」で同じなので、ステップ207に進み、送付確認済リストにより特定されるデータセットと更新後データセットとを比較する。この場合、前者のデータセットは「A」であるのに対し、後者のデータセットは「B」であるので、ステップ209に進み、送付確認済トークンの「0」と異なる「1」を送付済トークンに設定すると共に、送付済リストにより特定されるデータセットを「A」から更新後データセットである「B」に変更する。また、ステップ210で、送付済トークンである「1」と、送付確認済リストにより特定されるデータセットと更新後データセットとの差分である「B−A」とを送付する。
これに対し、クライアント10は、ステップ102で応答を受信し、ステップ103で、応答が送付済トークンおよび差分であるかどうかを判断する。ここでは、送付済トークンおよび差分なので、ステップ104に進み、受信した差分によりデータセットを更新して「B」とすると共に、受信したトークン「1」を自身のトークンに設定する。
これに対し、クライアント10は、ステップ102で応答を受信し、ステップ103で、応答が送付済トークンおよび差分であるかどうかを判断する。ここでは、送付済トークンおよび差分なので、ステップ104に進み、受信した差分によりデータセットを更新して「B」とすると共に、受信したトークン「1」を自身のトークンに設定する。
本実施の形態では、この時、サーバ20は、差分をクライアント10に送付するだけで、その差分のクライアント10への送付およびその差分に基づくクライアント10での更新が正常に終了したかどうかについては、感知しない。これらの結果は、次の更新要求として、クライアント10からサーバ20に伝えられ、それに応じて、サーバ20が送付確認済リストの更新等を行い、定常状態に戻る。この動作について、図6を参照して説明する。
この例では、最初、図5における動作の終了時の状態であるとする。即ち、図6に示すように、クライアント10が、トークンとして「1」を、データセットとして「B」を保持し、サーバ20が、送付済トークンとして「1」を、送付確認済トークンとして「0」を保持している。また、サーバ20が保持する送付済リストにより特定されるデータセットは「B」であり、サーバ20が保持する送付確認済リストにより特定されるデータセットは「A」であるとする。そして、更新後データセットとしては、「B」が記憶されているものとする。
この例では、最初、図5における動作の終了時の状態であるとする。即ち、図6に示すように、クライアント10が、トークンとして「1」を、データセットとして「B」を保持し、サーバ20が、送付済トークンとして「1」を、送付確認済トークンとして「0」を保持している。また、サーバ20が保持する送付済リストにより特定されるデータセットは「B」であり、サーバ20が保持する送付確認済リストにより特定されるデータセットは「A」であるとする。そして、更新後データセットとしては、「B」が記憶されているものとする。
クライアント10が、ステップ101で、トークン「1」を送信すると、サーバ20は、ステップ201で、トークンを受信し、ステップ202で、受信したトークンの値と送付確認済トークンの値とを比較する。この場合、受信したトークンは「1」であるのに対し、送付確認済トークンは「0」なので、ステップ203に進み、受信したトークンの「1」を送付確認済トークンに設定する。次に、ステップ204で、受信したトークンの値と送付済トークンの値とを比較する。この場合、トークンはともに「1」で同じなので、ステップ205に進み、送付確認済リストにより特定されるデータセットを「A」から「B」に変更する。その後、ステップ207で、送付確認済リストにより特定されるデータセットと更新後データセットとを比較する。この場合、データセットはともに「B」で同じなので、ステップ208に進み、更新無しを応答としてクライアント10に送付する。なお、この場合は、クライアント10ではトークンおよびデータセットの更新は行われない。
一方、図5で送信したトークンと差分とが何らかのエラーでクライアント10に送付されないことも考えられる。本実施の形態では、このような場合、クライアント10が通常と同じ更新要求を行うことにより、失われた更新情報がサーバ20から再送されるようになっている。この動作について、図7を参照して説明する。
この例では、最初、図5においてクライアント10での更新が行われなかった場合の状態であるとする。即ち、図7に示すように、クライアント10が、トークンとして「0」を、データセットとして「A」を保持し、サーバ20が、送付済トークンとして「1」を、送付確認済トークンとして「0」を保持している。また、サーバ20が保持する送付済リストにより特定されるデータセットは「B」であり、サーバ20が保持する送付確認済リストにより特定されるデータセットは「A」である。そして、更新後データセットとしては、「B」が記憶されているものとする。
この例では、最初、図5においてクライアント10での更新が行われなかった場合の状態であるとする。即ち、図7に示すように、クライアント10が、トークンとして「0」を、データセットとして「A」を保持し、サーバ20が、送付済トークンとして「1」を、送付確認済トークンとして「0」を保持している。また、サーバ20が保持する送付済リストにより特定されるデータセットは「B」であり、サーバ20が保持する送付確認済リストにより特定されるデータセットは「A」である。そして、更新後データセットとしては、「B」が記憶されているものとする。
クライアント10が、ステップ101で、トークン「0」を送信すると、サーバ20は、ステップ201で、トークンを受信し、ステップ202で、受信したトークンの値と送付確認済トークンの値とを比較する。この場合、トークンはともに「0」で同じなので、ステップ207に進み、送付確認済リストにより特定されるデータセットと更新後データセットとを比較する。この場合、前者のデータセットは「A」であるのに対し、後者のデータセットは「B」であるので、ステップ209に進み、送付確認済トークンの「0」と異なる「1」を送付済トークンに設定すると共に、送付済リストにより特定されるデータセットを「A」から更新後データセットである「B」に変更する。また、ステップ210で、送付済トークンである「1」と、送付確認済リストにより特定されるデータセットと更新後データセットとの差分である「B−A」とを送付する。
これに対し、クライアント10は、ステップ102で応答を受信し、ステップ103で、応答が送付済トークンおよび差分であるかどうかを判断する。ここでは、送付済トークンおよび差分なので、ステップ104に進み、受信した差分によりデータセットを更新して「B」とすると共に、受信したトークン「1」を自身のトークンに設定する。
これに対し、クライアント10は、ステップ102で応答を受信し、ステップ103で、応答が送付済トークンおよび差分であるかどうかを判断する。ここでは、送付済トークンおよび差分なので、ステップ104に進み、受信した差分によりデータセットを更新して「B」とすると共に、受信したトークン「1」を自身のトークンに設定する。
また、図5で送信したトークンと差分とが何らかのエラーでクライアント10に送付されなかった後、更新後データセットが変更になった場合の動作について、図8を参照して説明する。
最初、図8に示すように、クライアント10が、トークンとして「0」を、データセットとして「A」を保持し、サーバ20が、送付済トークンとして「1」を、送付確認済トークンとして「0」を保持している。また、サーバ20が保持する送付済リストにより特定されるデータセットは「B」であり、サーバ20が保持する送付確認済リストにより特定されるデータセットは「A」である。そして、更新後データセットとしては、「C」が記憶されているものとする。
最初、図8に示すように、クライアント10が、トークンとして「0」を、データセットとして「A」を保持し、サーバ20が、送付済トークンとして「1」を、送付確認済トークンとして「0」を保持している。また、サーバ20が保持する送付済リストにより特定されるデータセットは「B」であり、サーバ20が保持する送付確認済リストにより特定されるデータセットは「A」である。そして、更新後データセットとしては、「C」が記憶されているものとする。
クライアント10が、ステップ101で、トークン「0」を送信すると、サーバ20は、ステップ201で、トークンを受信し、ステップ202で、受信したトークンの値と送付確認済トークンの値とを比較する。この場合、トークンはともに「0」で同じなので、ステップ207に進み、送付確認済リストにより特定されるデータセットと更新後データセットとを比較する。この場合、前者のデータセットは「A」であるのに対し、後者のデータセットは「C」であるので、ステップ209に進み、送付確認済トークンの「0」と異なる「1」を送付済トークンに設定すると共に、送付済リストにより特定されるデータセットを「B」から更新後データセットである「C」に変更する。また、ステップ210で、送付済トークンである「1」と、送付確認済リストにより特定されるデータセットと更新後データセットとの差分である「C−A」とを送付する。
これに対し、クライアント10は、ステップ102で応答を受信し、ステップ103で、応答が送付済トークンおよび差分であるかどうかを判断する。ここでは、送付済トークンおよび差分なので、ステップ104に進み、受信した差分によりデータセットを更新して「C」とすると共に、受信したトークン「1」を自身のトークンに設定する。
これに対し、クライアント10は、ステップ102で応答を受信し、ステップ103で、応答が送付済トークンおよび差分であるかどうかを判断する。ここでは、送付済トークンおよび差分なので、ステップ104に進み、受信した差分によりデータセットを更新して「C」とすると共に、受信したトークン「1」を自身のトークンに設定する。
以上により、具体例の説明を終了する。
なお、これらは、本実施の形態において起こり得る動作の一部であるので、次に、図9を参照しながら、クライアント10から送付されるトークン、送付済トークン(リスト)、送付確認済トークン(リスト)、更新後データセットの組み合わせに応じて、サーバ20が如何なる動作を行うかを補足しておく。なお、ここでは、トークンとリストのセットを「トークン(リスト)」といった形式で表記することにする。
なお、これらは、本実施の形態において起こり得る動作の一部であるので、次に、図9を参照しながら、クライアント10から送付されるトークン、送付済トークン(リスト)、送付確認済トークン(リスト)、更新後データセットの組み合わせに応じて、サーバ20が如何なる動作を行うかを補足しておく。なお、ここでは、トークンとリストのセットを「トークン(リスト)」といった形式で表記することにする。
(1) 受信したトークン「0」、送付済トークン(リスト)「0(A)」、送付確認済トークン(リスト)「0(A)」、更新後データセット「A」の場合
この場合は、図4を参照して説明したように、サーバ20は、更新無しを返すだけであり、何もしない。
(2) 受信したトークン「0」、送付済トークン(リスト)「0(A)」、送付確認済トークン(リスト)「0(A)」、更新後データセット「B」の場合
この場合は、図5を参照して説明したように、サーバ20は、トークン「1」と差分「B−A」をクライアント10に送付し、送付済トークン(リスト)を「1(B)」に更新する。
(3) 受信したトークン「0」、送付済トークン(リスト)「1(B)」、送付確認済トークン(リスト)「0(A)」、更新後データセット「B」の場合
この場合は、図7を参照して説明したように、サーバ20は、トークン「1」と差分「B−A」をクライアント10に送付し、送付済トークン(リスト)を「1(B)」に更新する。
(4) 受信したトークン「0」、送付済トークン(リスト)「1(B)」、送付確認済トークン(リスト)「0(A)」、更新後データセット「C」の場合
この場合は、図8を参照して説明したように、サーバ20は、トークン「1」と差分「C−A」をクライアント10に送付し、送付済トークン(リスト)を「1(C)」に更新する。
この場合は、図4を参照して説明したように、サーバ20は、更新無しを返すだけであり、何もしない。
(2) 受信したトークン「0」、送付済トークン(リスト)「0(A)」、送付確認済トークン(リスト)「0(A)」、更新後データセット「B」の場合
この場合は、図5を参照して説明したように、サーバ20は、トークン「1」と差分「B−A」をクライアント10に送付し、送付済トークン(リスト)を「1(B)」に更新する。
(3) 受信したトークン「0」、送付済トークン(リスト)「1(B)」、送付確認済トークン(リスト)「0(A)」、更新後データセット「B」の場合
この場合は、図7を参照して説明したように、サーバ20は、トークン「1」と差分「B−A」をクライアント10に送付し、送付済トークン(リスト)を「1(B)」に更新する。
(4) 受信したトークン「0」、送付済トークン(リスト)「1(B)」、送付確認済トークン(リスト)「0(A)」、更新後データセット「C」の場合
この場合は、図8を参照して説明したように、サーバ20は、トークン「1」と差分「C−A」をクライアント10に送付し、送付済トークン(リスト)を「1(C)」に更新する。
(5) 受信したトークン「1」、送付済トークン(リスト)「0(A)」、送付確認済トークン(リスト)「0(A)」、更新後データセット「A」の場合
この場合については、図4〜図8で説明していないが、処理の途中で何らかの異常が生じた場合である。図3を参照すると、ステップ202での判断が「NO」となるので、ステップ203に進み、送付確認済トークンに「1」が設定される。そして、ステップ204での判断が「NO」となるので、ステップ206に進み、送付確認済リストにより特定されるデータセットを空データセットとする。従って、ステップ207での判断は「NO」となり、送付確認済トークンの「1」とは異なるトークン「0」と共に、更新後データセットと空データセットの差分、即ち、更新後データセット「A」そのものをクライアント10に送付する。また、ステップ209で、送付済トークン(リスト)を「0(A)」に更新する。
この場合については、図4〜図8で説明していないが、処理の途中で何らかの異常が生じた場合である。図3を参照すると、ステップ202での判断が「NO」となるので、ステップ203に進み、送付確認済トークンに「1」が設定される。そして、ステップ204での判断が「NO」となるので、ステップ206に進み、送付確認済リストにより特定されるデータセットを空データセットとする。従って、ステップ207での判断は「NO」となり、送付確認済トークンの「1」とは異なるトークン「0」と共に、更新後データセットと空データセットの差分、即ち、更新後データセット「A」そのものをクライアント10に送付する。また、ステップ209で、送付済トークン(リスト)を「0(A)」に更新する。
(6) 受信したトークン「1」、送付済トークン(リスト)「0(A)」、送付確認済トークン(リスト)「0(A)」、更新後データセット「B」の場合
この場合についても、図4〜図8で説明していないが、処理の途中で何らかの異常が生じた場合である。図3を参照すると、ステップ202での判断が「NO」となるので、ステップ203に進み、送付確認済トークンに「1」が設定される。そして、ステップ204での判断が「NO」となるので、ステップ206に進み、送付確認済リストにより特定されるデータセットを空データセットとする。従って、ステップ207での判断は「NO」となり、送付確認済トークンの「1」とは異なるトークン「0」と共に、更新後データセットと空データセットの差分、即ち、更新後データセット「B」そのものをクライアント10に送付する。また、ステップ209で、送付済トークン(リスト)を「0(B)」に更新する。
この場合についても、図4〜図8で説明していないが、処理の途中で何らかの異常が生じた場合である。図3を参照すると、ステップ202での判断が「NO」となるので、ステップ203に進み、送付確認済トークンに「1」が設定される。そして、ステップ204での判断が「NO」となるので、ステップ206に進み、送付確認済リストにより特定されるデータセットを空データセットとする。従って、ステップ207での判断は「NO」となり、送付確認済トークンの「1」とは異なるトークン「0」と共に、更新後データセットと空データセットの差分、即ち、更新後データセット「B」そのものをクライアント10に送付する。また、ステップ209で、送付済トークン(リスト)を「0(B)」に更新する。
(7) 受信したトークン「1」、送付済トークン(リスト)「1(B)」、送付確認済トークン(リスト)「0(A)」、更新後データセット「B」の場合
この場合は、図6を参照して説明したように、サーバ20は、送付確認済トークン(リスト)を「1(B)」に更新する。
(8) 受信したトークン「1」、送付済トークン(リスト)「1(B)」、送付確認済トークン(リスト)「0(A)」、更新後データセット「C」の場合
この場合は、図6で定常状態になる前に、更新後データセットが「C」に更新された場合である。サーバ20は、送付確認済トークン(リスト)を「1(B)」に更新する。また、トークン「0」とともに、差分「C−B」を送付し、送付済トークン(リスト)を「0(C)」に更新する。
この場合は、図6を参照して説明したように、サーバ20は、送付確認済トークン(リスト)を「1(B)」に更新する。
(8) 受信したトークン「1」、送付済トークン(リスト)「1(B)」、送付確認済トークン(リスト)「0(A)」、更新後データセット「C」の場合
この場合は、図6で定常状態になる前に、更新後データセットが「C」に更新された場合である。サーバ20は、送付確認済トークン(リスト)を「1(B)」に更新する。また、トークン「0」とともに、差分「C−B」を送付し、送付済トークン(リスト)を「0(C)」に更新する。
なお、図9のトークン(リスト)の組み合わせとサーバ20の動作との関係は、トークンの値の「0」と「1」を入れ換えた場合でも同様に成立する。
また、トークンについては、「0」と「1」の2値からなるものだけではなく、3値以上のものを使用することも可能である。この場合は、図3のステップ209におけるts1にts2でない値を設定する処理を、ts1に(ts2+1)を設定する処理等に変更し、トークンがとり得る最大値を決めてラウンドロビンにすれば実現可能である。
トークンが2値の場合、送付済トークン(リスト)または送付確認済トークン(リスト)は、「0(A)」→「1(B)」→「0(C)」のように遷移していくが、これでは、何らかの理由により、クライアント10が保持するトークン(リスト)が「0(A)」に戻ってしまった場合は、その後、正常に動作が行われないことになる。
これに対し、トークンが3値以上の場合、送付済トークン(リスト)または送付確認済トークン(リスト)は、「0(A)」→「1(B)」→「2(C)」のように遷移していき、クライアント10が保持するトークン(リスト)が「0(A)」に戻ってしまった場合であっても、その状態を救って正常な動作に戻すことが可能である。
また、トークンについては、「0」と「1」の2値からなるものだけではなく、3値以上のものを使用することも可能である。この場合は、図3のステップ209におけるts1にts2でない値を設定する処理を、ts1に(ts2+1)を設定する処理等に変更し、トークンがとり得る最大値を決めてラウンドロビンにすれば実現可能である。
トークンが2値の場合、送付済トークン(リスト)または送付確認済トークン(リスト)は、「0(A)」→「1(B)」→「0(C)」のように遷移していくが、これでは、何らかの理由により、クライアント10が保持するトークン(リスト)が「0(A)」に戻ってしまった場合は、その後、正常に動作が行われないことになる。
これに対し、トークンが3値以上の場合、送付済トークン(リスト)または送付確認済トークン(リスト)は、「0(A)」→「1(B)」→「2(C)」のように遷移していき、クライアント10が保持するトークン(リスト)が「0(A)」に戻ってしまった場合であっても、その状態を救って正常な動作に戻すことが可能である。
なお、本実施の形態では、送付済情報記憶部25および送付確認済情報記憶部26に、データセットの内容を特定するための情報(コンポーネントのリスト)を記憶することとしたが、該当するデータセットそのものを記憶するようにしてもよい。
また、更新情報送信部24がクライアント10に送信した更新情報(更新データ、更新命令等)をそのまま送付済情報記憶部25に記憶するようにしてもよい。その場合、ステップ205では、送付確認済情報記憶部26により特定されるデータセットを、送付済情報記憶部25に記憶された更新情報による更新後のものとする処理を行うことになる。
また、更新情報送信部24がクライアント10に送信した更新情報(更新データ、更新命令等)をそのまま送付済情報記憶部25に記憶するようにしてもよい。その場合、ステップ205では、送付確認済情報記憶部26により特定されるデータセットを、送付済情報記憶部25に記憶された更新情報による更新後のものとする処理を行うことになる。
このように、本実施の形態では、更新後データセットに基づく更新情報をクライアントに送信すると共に更新後データセットは送付済リストで管理し、次に更新要求があった時にクライアントが更新後データセットを保持していることが確認できれば、更新後データセットを送付確認済リストで管理するようにしている。このような構成により、クライアントが保持するデータセットの更新を1トランザクションで行うことが可能となる。
また、クライアントが更新後データセットを保持しているかどうかの確認を、トークンを用いて行うこととし、トークンとしては、「0」、「1」の2値を用いた。このような構成により、データセットの更新に伴う同期管理に必要なデータ転送量を削減することが可能となる。
なお、本実施の形態では、クライアントサーバシステムへの適用例を説明してきたが、本発明は、互いに通信可能ないずれの2つのコンピュータに対しても適用することができる。
また、クライアントが更新後データセットを保持しているかどうかの確認を、トークンを用いて行うこととし、トークンとしては、「0」、「1」の2値を用いた。このような構成により、データセットの更新に伴う同期管理に必要なデータ転送量を削減することが可能となる。
なお、本実施の形態では、クライアントサーバシステムへの適用例を説明してきたが、本発明は、互いに通信可能ないずれの2つのコンピュータに対しても適用することができる。
10…クライアント、11…更新要求送信部、12…トークン記憶部、13…データセット記憶部、14…更新処理部、20…サーバ、21…更新要求受信部、22…送付確認済情報更新部、23…送付済情報更新部、24…更新情報送信部、25…送付済情報記憶部、26…送付確認済情報記憶部、27…更新後データセット記憶部
Claims (20)
- 他のコンピュータが保持するデータセットを更新するための更新情報を当該他のコンピュータに送信する更新情報送信部と、
前記更新情報送信部により送信された前記更新情報を送付済情報として管理する送付済情報管理部と、
前記他のコンピュータが保持する前記データセットの更新状況を示す更新状況情報を含む更新要求を当該他のコンピュータから受信する更新要求受信部と、
前記更新要求受信部により受信された前記更新状況情報に基づき、前記他のコンピュータが前記更新情報による更新後のデータセットを保持していると判断されれば、前記送付済情報として記憶されていた当該更新情報を、当該他のコンピュータにおいて当該更新情報による前記データセットの更新が確認されたことを示す送付確認済情報として管理する送付確認済情報管理部と
を備えたことを特徴とするデータセット更新装置。 - 前記更新要求受信部は、前記他のコンピュータが保持する前記データセットの更新に伴って値が変更されるトークンの値を、前記更新状況情報として受信し、
前記送付確認済情報管理部は、前記更新要求受信部により受信された前記トークンの値と、前記送付確認済情報の更新に伴って値が変更される送付確認済トークンの値とを比較することで、前記他のコンピュータが前記更新情報による更新後のデータセットを保持しているかどうかを判断することを特徴とする請求項1記載のデータセット更新装置。 - 前記更新要求受信部は、前記他のコンピュータが保持する前記データセットの更新に伴って値が変更されるトークンの値を、前記更新状況情報として受信し、
前記送付確認済情報管理部は、前記更新要求受信部により受信された前記トークンの値と、前記送付確認済情報の更新に伴って値が変更される送付確認済トークンの値、および、前記送付済情報の更新に伴って値が変更される送付済トークンの値とを比較することで、前記他のコンピュータが前記更新情報による更新後のデータセットを保持しているかどうかを判断することを特徴とする請求項1載のデータセット更新装置。 - 他のコンピュータへ送付したデータセットについて、当該他のコンピュータにおいて最後に確認された内容を特定する送付確認済データセット管理情報と、最後に送付された更新情報による更新後の内容を特定する送付済データセット管理情報とを記憶する管理情報記憶部と、
前記他のコンピュータが保持する前記データセットの更新状況を示す更新状況情報を含む更新要求を受信する更新要求受信部と、
前記更新要求受信部により受信された前記更新状況情報に基づき、前記他のコンピュータが保持する前記データセットの内容が前記送付確認済データセット管理情報により特定される前記データセットの内容と異なると判断されれば、前記管理情報記憶部に対し前記送付確認済データセット管理情報を前記送付済データセット管理情報で置き換える更新処理を行う管理情報更新部と
を備えたことを特徴とするデータセット更新装置。 - 前記管理情報記憶部は、前記送付確認済データセット管理情報の更新状況を1ビットで示す送付確認済トークンを記憶し、
前記更新要求受信部は、前記更新状況情報として、前記他のコンピュータが保持する前記データセットの更新状況を1ビットで示すトークンを受信し、
前記管理情報更新部は、前記受信したトークンの値が前記送付確認済トークンの値と異なる場合に、前記他のコンピュータが保持する前記データセットの内容が前記送付確認済データセット管理情報により特定される前記データセットの内容と異なると判断することを特徴とする請求項4記載のデータセット更新装置。 - 前記管理情報更新部は、前記更新要求受信部により受信された前記更新状況情報に基づき、前記他のコンピュータが保持する前記データセットの内容が前記送付済データセット管理情報により特定される前記データセットの内容と同じであると判断されれば、前記更新処理を行うことを特徴とする請求項4記載のデータセット更新装置。
- 前記管理情報記憶部は、前記送付済データセット管理情報の更新状況を1ビットで示す送付済トークンを記憶し、
前記更新要求受信部は、前記更新状況情報として、前記他のコンピュータが保持する前記データセットの更新状況を1ビットで示すトークンを受信し、
前記管理情報更新部は、前記受信したトークンの値が前記送付済トークンの値と同じである場合に、前記他のコンピュータが保持する前記データセットの内容が前記送付済データセット管理情報により特定される前記データセットの内容と同じであると判断することを特徴とする請求項6記載のデータセット更新装置。 - 前記管理情報更新部は、前記更新要求受信部により受信された前記更新状況情報に基づき、前記他のコンピュータが保持する前記データセットの内容が、前記送付済データセット管理情報により特定される前記データセットの内容と同じであると判断されれば、前記更新処理を行い、前記送付済データセット管理情報により特定される前記データセットの内容と異なると判断されれば、前記管理情報記憶部に対し前記送付確認済データセット管理情報を初期化する更新処理を行うことを特徴とする請求項4記載のデータセット更新装置。
- 前記管理情報記憶部は、前記送付済データセット管理情報の更新状況を1ビットで示す送付済トークンを記憶し、
前記更新要求受信部は、前記更新状況情報として、前記他のコンピュータが保持する前記データセットの更新状況を1ビットで示すトークンを受信し、
前記管理情報更新部は、前記受信したトークンの値と前記送付済トークンの値とを比較することにより、前記他のコンピュータが保持するデータセットの内容と前記送付済データセット管理情報により特定される前記データセットの内容との異同を判断することを特徴とする請求項8記載のデータセット更新装置。 - データセットを記憶するデータセット記憶部と、
他のコンピュータから更新情報を受信し、当該更新情報により、前記データセット記憶部に記憶された前記データセットの更新を行う更新処理部と、
前記データセットの更新が完了したことを示す情報を、当該更新後のデータセットに対する更なる更新の要求に含めて送信する更新要求送信部と
を備えたことを特徴とする端末装置。 - 他のコンピュータへ送付したデータセットについて、当該他のコンピュータにおいて最後に確認された内容を特定する送付確認済データセット管理情報と、最後に送付された更新情報による更新後の内容を特定する送付済データセット管理情報とを記憶するステップと、
前記他のコンピュータが保持する前記データセットの更新状況を示す更新状況情報を含む更新要求を受信するステップと、
受信された前記更新状況情報に基づき、前記他のコンピュータが保持する前記データセットの内容が前記送付確認済データセット管理情報により特定される前記データセットの内容と異なると判断されれば、前記送付確認済データセット管理情報を前記送付済データセット管理情報で置き換える更新処理を行うステップと
を含むことを特徴とするデータセット更新方法。 - 前記更新処理を行うステップでは、受信された前記更新状況情報に基づき、前記他のコンピュータが保持する前記データセットの内容が前記送付済データセット管理情報により特定される前記データセットの内容と同じであると判断されれば、当該更新処理を行うことを特徴とする請求項11記載のデータセット更新方法。
- 前記更新処理を行うステップでは、受信された前記更新状況情報に基づき、前記他のコンピュータが保持する前記データセットの内容が、前記送付済データセット管理情報により特定される前記データセットの内容と同じであると判断されれば、前記更新処理を行い、前記送付済データセット管理情報により特定される前記データセットの内容と異なると判断されれば、前記送付確認済データセット管理情報を初期化する更新処理を行うことを特徴とする請求項11記載のデータセット更新方法。
- 端末装置へ送付したデータセットについて、当該端末装置において最後に確認された内容を特定する送付確認済データセット管理情報と、最後に送付された更新情報による更新後の内容を特定する送付済データセット管理情報とを記憶するサーバコンピュータに、
前記端末装置が保持する前記データセットの更新状況を示す更新状況情報を含む更新要求を受信する機能と、
受信された前記更新状況情報に基づき、前記端末装置が保持する前記データセットの内容が前記送付確認済データセット管理情報により特定される前記データセットの内容と異なると判断されれば、前記送付確認済データセット管理情報を前記送付済データセット管理情報で置き換える更新処理を行う機能と
を実現させるためのプログラム。 - 前記更新要求を受信する機能では、前記更新状況情報として、前記端末装置が保持する前記データセットの更新状況を1ビットで示すトークンを受信し、
前記更新処理を行う機能では、前記受信したトークンの値が、前記送付確認済データセット管理情報の更新状況を1ビットで示す送付確認済トークンの値と異なる場合に、前記端末装置が保持する前記データセットの内容が前記送付確認済データセット管理情報により特定される前記データセットの内容と異なると判断することを特徴とする請求項14記載のプログラム。 - 前記更新処理を行う機能では、受信された前記更新状況情報に基づき、前記端末装置が保持する前記データセットの内容が前記送付済データセット管理情報により特定される前記データセットの内容と同じであると判断されれば、前記更新処理を行うことを特徴とする請求項14記載のプログラム。
- 前記更新要求を受信する機能では、前記更新状況情報として、前記端末装置が保持する前記データセットの更新状況を1ビットで示すトークンを受信し、
前記更新処理を行う機能では、前記受信したトークンの値が、前記送付済データセット管理情報の更新状況を1ビットで示す送付済トークンの値と同じである場合に、前記端末装置が保持する前記データセットの内容が前記送付済データセット管理情報により特定される前記データセットの内容と同じであると判断することを特徴とする請求項16記載のプログラム。 - 前記更新処理を行う機能では、受信された前記更新状況情報に基づき、前記端末装置が保持する前記データセットの内容が、前記送付済データセット管理情報により特定される前記データセットの内容と同じであると判断されれば、前記更新処理を行い、前記送付済データセット管理情報により特定される前記データセットの内容と異なると判断されれば、前記送付確認済データセット管理情報を初期化する更新処理を行うことを特徴とする請求項14記載のプログラム。
- 前記更新要求を受信する機能では、前記更新状況情報として、前記端末装置が保持する前記データセットの更新状況を1ビットで示すトークンを受信し、
前記更新処理を行う機能では、前記受信したトークンの値と、前記送付済データセット管理情報の更新状況を1ビットで示す送付済トークンの値とを比較することにより、前記端末装置が保持するデータセットの内容と前記送付済データセット管理情報により特定される前記データセットの内容との異同を判断することを特徴とする請求項18記載のプログラム。 - コンピュータに、
他のコンピュータから更新情報を受信し、当該更新情報によりデータセットの更新を行う機能と、
前記データセットの更新が完了したことを示す情報を、当該更新後のデータセットに対する更なる更新の要求に含めて送信する機能と
を実現させるためのプログラム。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003414203A JP2005174048A (ja) | 2003-12-12 | 2003-12-12 | データセット更新装置、端末装置、データセット更新方法、およびプログラム |
| CNA2004100949075A CN1627296A (zh) | 2003-12-12 | 2004-11-18 | 数据集更新装置、终端装置、数据集更新方法和程序 |
| US11/006,916 US20060031262A1 (en) | 2003-12-12 | 2004-12-08 | Synchronizing client data and server data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003414203A JP2005174048A (ja) | 2003-12-12 | 2003-12-12 | データセット更新装置、端末装置、データセット更新方法、およびプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2005174048A true JP2005174048A (ja) | 2005-06-30 |
Family
ID=34734073
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003414203A Withdrawn JP2005174048A (ja) | 2003-12-12 | 2003-12-12 | データセット更新装置、端末装置、データセット更新方法、およびプログラム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20060031262A1 (ja) |
| JP (1) | JP2005174048A (ja) |
| CN (1) | CN1627296A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010533389A (ja) * | 2007-06-19 | 2010-10-21 | クゥアルコム・インコーポレイテッド | 無線環境においてデータセットを同期するための方法および機器 |
| US9092286B2 (en) | 2002-12-20 | 2015-07-28 | Qualcomm Incorporated | System to automatically process components on a device |
| US9134989B2 (en) | 2002-01-31 | 2015-09-15 | Qualcomm Incorporated | System and method for updating dataset versions resident on a wireless device |
| US9386397B2 (en) | 2003-10-29 | 2016-07-05 | Qualcomm Incorporated | Method, software and apparatus for performing actions on a wireless device using action lists and versioning |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040068724A1 (en) * | 2002-08-30 | 2004-04-08 | Gardner Richard Wayne | Server processing for updating dataset versions resident on a wireless device |
| US7673135B2 (en) * | 2005-12-08 | 2010-03-02 | Microsoft Corporation | Request authentication token |
| US20080027996A1 (en) * | 2006-07-31 | 2008-01-31 | Morris Robert P | Method and system for synchronizing data using a presence service |
| US8424073B2 (en) * | 2006-11-13 | 2013-04-16 | Microsoft Corporation | Refreshing a page validation token |
| JP2009048443A (ja) * | 2007-08-21 | 2009-03-05 | Hitachi Ltd | 情報更新方法及び情報更新システム |
| US9191405B2 (en) | 2012-01-30 | 2015-11-17 | Microsoft Technology Licensing, Llc | Dynamic cross-site request forgery protection in a web-based client application |
| US9697258B2 (en) * | 2013-05-10 | 2017-07-04 | Dropbox, Inc. | Supporting enhanced content searches in an online content-management system |
| US20150131119A1 (en) * | 2013-11-12 | 2015-05-14 | Toshiba Tec Kabushiki Kaisha | Maintenance method and maintenance apparatus for information processing apparatus |
| US11425459B2 (en) | 2020-05-28 | 2022-08-23 | Dish Network L.L.C. | Systems and methods to generate guaranteed advertisement impressions |
| US11838596B2 (en) | 2020-05-28 | 2023-12-05 | Dish Network L.L.C. | Systems and methods for overlaying media assets stored on a digital video recorder on a menu or guide |
| US11595724B2 (en) | 2020-05-28 | 2023-02-28 | Dish Network L.L.C. | Systems and methods for selecting and restricting playing of media assets stored on a digital video recorder |
| US12081828B2 (en) | 2020-06-02 | 2024-09-03 | Dish Network L.L.C. | Systems and methods for playing media assets stored on a digital video recorder in performing customer service or messaging |
| US12212814B2 (en) | 2020-06-09 | 2025-01-28 | Dish Network L.L.C. | Systems and methods for playing media assets stored on a digital video recorder based on a determined beginning of a recorded program |
| US11265613B2 (en) | 2020-06-10 | 2022-03-01 | Dish Network L.L.C. | Systems and methods for playing media assets stored on a digital video recorder while a customer service representative is online |
| US11606599B2 (en) | 2020-06-10 | 2023-03-14 | Dish Network, L.L.C. | Systems and methods for playing media assets stored on a digital video recorder |
| US11523172B2 (en) * | 2020-06-24 | 2022-12-06 | Dish Network L.L.C. | Systems and methods for using metadata to play media assets stored on a digital video recorder |
| CN115858688B (zh) * | 2023-03-03 | 2023-04-18 | 北京阿玛西换热设备制造有限公司 | 一种数据库的远程数据同步方法及系统 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6073140A (en) * | 1997-07-29 | 2000-06-06 | Acxiom Corporation | Method and system for the creation, enhancement and update of remote data using persistent keys |
| JP4381496B2 (ja) * | 1998-12-01 | 2009-12-09 | 株式会社日立製作所 | データベース処理方法及びその実施装置並びにその処理プログラムを記録した媒体 |
| JP3307587B2 (ja) * | 1998-05-08 | 2002-07-24 | 日本電気株式会社 | ミドルウェア蓄積データの更新方法と該方法を実行するサーバシステム |
| JP4123405B2 (ja) * | 2001-01-16 | 2008-07-23 | 富士フイルム株式会社 | クライアント/サーバ・システム及びクライアント・アプリケーションのボタン更新方法 |
| WO2002075549A1 (en) * | 2001-03-16 | 2002-09-26 | Sharp Kabushiki Kaisha | Data synchronization system, apparatus used for the system, and data synchronization method |
-
2003
- 2003-12-12 JP JP2003414203A patent/JP2005174048A/ja not_active Withdrawn
-
2004
- 2004-11-18 CN CNA2004100949075A patent/CN1627296A/zh active Pending
- 2004-12-08 US US11/006,916 patent/US20060031262A1/en not_active Abandoned
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9134989B2 (en) | 2002-01-31 | 2015-09-15 | Qualcomm Incorporated | System and method for updating dataset versions resident on a wireless device |
| US10602348B2 (en) | 2002-01-31 | 2020-03-24 | Qualcomm Incorporated | System and method for updating dataset versions resident on a wireless device |
| US9092286B2 (en) | 2002-12-20 | 2015-07-28 | Qualcomm Incorporated | System to automatically process components on a device |
| US10348804B2 (en) | 2002-12-20 | 2019-07-09 | Qualcomm Incorporated | System to automatically process components on a device |
| US9386397B2 (en) | 2003-10-29 | 2016-07-05 | Qualcomm Incorporated | Method, software and apparatus for performing actions on a wireless device using action lists and versioning |
| US9591428B2 (en) | 2003-10-29 | 2017-03-07 | Qualcomm Incorporated | Method, software and apparatus for performing actions on a wireless device using action lists and versioning |
| JP2010533389A (ja) * | 2007-06-19 | 2010-10-21 | クゥアルコム・インコーポレイテッド | 無線環境においてデータセットを同期するための方法および機器 |
| US9143560B2 (en) | 2007-06-19 | 2015-09-22 | Qualcomm Incorporated | Methods and apparatus for dataset synchronization in a wireless environment |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1627296A (zh) | 2005-06-15 |
| US20060031262A1 (en) | 2006-02-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2005174048A (ja) | データセット更新装置、端末装置、データセット更新方法、およびプログラム | |
| US6195677B1 (en) | Distributed network computing system for data exchange/conversion between terminals | |
| US9298747B2 (en) | Deployable, consistent, and extensible computing environment platform | |
| JP4829316B2 (ja) | 中断された同期プロセスに対処してデータを同期させる方法、装置、システム | |
| US9471646B2 (en) | Method and server device for exchanging information items with a plurality of client entities | |
| US9119052B2 (en) | Content sharing for mobile devices | |
| KR20090084091A (ko) | 복수의 데이터 통신장치들 간의 데이터 동기 방법 | |
| US10965732B2 (en) | Streaming zip | |
| KR20000028662A (ko) | 컴퓨터, 정보 공유 시스템, 및 레프리카 동일성 유지 방법 | |
| KR20080076835A (ko) | 서버와 클라이언트 간의 미전송완료 데이터의 전송 방법 | |
| JP4494970B2 (ja) | 中断された同期プロセスに対処してデータを同期させる方法、装置、システム | |
| US8001095B2 (en) | Method of updating a version of an application program | |
| JP2016224684A (ja) | サーバーシステム、サーバーシステムの制御方法、およびプログラム | |
| CN102549568A (zh) | 用于能够实现xml文档的修改的方法和设备 | |
| JP2003141002A (ja) | Url長変換システム及びそのプログラム | |
| US10785601B2 (en) | System and method for transmitting dynamic content to mobile devices | |
| JP6381426B2 (ja) | 情報処理装置、制御方法、及びプログラム | |
| CN110677443A (zh) | 数据发送和接收方法、发送端、接收端、系统及存储介质 | |
| JP4574654B2 (ja) | 個人情報管理装置、個人情報管理方法、記録媒体およびプログラム | |
| JP6194731B2 (ja) | 決済システム | |
| US20090204665A1 (en) | System and methods for communicating between serial communications protocol enabled devices | |
| US20050198122A1 (en) | Information processing apparatus and method, computer storage medium, and program | |
| JP4929142B2 (ja) | データ処理装置及びその制御方法、コンピュータプログラム | |
| JP5305754B2 (ja) | 情報処理装置、クライアント、情報処理方法およびプログラム | |
| JP2000259421A (ja) | 所望ソフトウェア選択転送方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20070803 |