[go: up one dir, main page]

JP2004086800A - データ同期システムおよびデータ同期方法 - Google Patents

データ同期システムおよびデータ同期方法 Download PDF

Info

Publication number
JP2004086800A
JP2004086800A JP2002250161A JP2002250161A JP2004086800A JP 2004086800 A JP2004086800 A JP 2004086800A JP 2002250161 A JP2002250161 A JP 2002250161A JP 2002250161 A JP2002250161 A JP 2002250161A JP 2004086800 A JP2004086800 A JP 2004086800A
Authority
JP
Japan
Prior art keywords
data synchronization
database
update
client
server
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.)
Abandoned
Application number
JP2002250161A
Other languages
English (en)
Inventor
Satoshi Mitsui
三井 聡
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2002250161A priority Critical patent/JP2004086800A/ja
Publication of JP2004086800A publication Critical patent/JP2004086800A/ja
Abandoned legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】適当なデータ送信量でのデータ同期を自動的に開始することにより、通信時間の増大やデータ同期中にエラーの起こる可能性を抑えることができるデータ同期システムを提供する。
【解決手段】サーバ10は、データベース211を有するクライアント21とネットワーク3を介して接続され、自らが保有するデータベース101の更新内容を更新履歴として保存する更新履歴DB102と、更新履歴DB102にクライアント21とデータ同期する更新履歴がいくつ保存されたらデータ同期を開始するかの閾値を記憶する記憶部105とを有し、データ同期が必要な更新履歴を更新履歴DB102より抽出し、この抽出した更新履歴の件数が前記閾値より大きい時に、データベース101とデータベース211のデータ同期を開始する。
【選択図】    図1

Description

【0001】
【発明の属する技術分野】
この発明は、ネットワークで接続されたサーバコンピュータと1台以上のクライアント端末との間のデータ同期を行うデータ同期システム及びデータ同期方法に関するものである。
【0002】
【従来の技術】
データベースの内容を同一に保つためのデータの送受信(以下、データ同期)の手法としては、自身のデータベースの更新内容を更新履歴として更新履歴データベースに記憶しておき、その更新履歴をもとに相手に送信する必要のある情報を相手に送信することが考えられている。これにより、自身のデータベースの更新内容を相手のデータベースに反映させるとともに、相手から送信されてきた相手のデータベースの更新内容情報に基づいて自身のデータベースの内容更新をすることができ、自身のデータベースと相手のデータベースとの内容を同一に保つことができる。
【0003】
また、従来のデータ同期の開始方法としては、ユーザが手動で行う方法の他に、例えば特開2000−132603号公報に記載されているように、前もってデータ同期を開始する時刻を登録しておく方法や、特開2000−330880号公報に記載されているように、クライアント端末がサーバコンピュータへの接続を確立したときに自動的にデータ同期を開始する方法が知られている。
【0004】
【発明が解決しようとする課題】
以上のように従来のデータ同期方法では、長い期間ユーザがデータ同期を行わなかったり、登録したデータ同期開始時刻以前にデータベースに大量の変更がなされたような場合には、データ同期開始時に相手へ送信する情報の量、又は相手から受信する情報の量は多大なものとなってしまった。
【0005】
また、クライアント端末が携帯電話のように記憶領域に制限のあるような機器である場合や、サーバコンピュータとクライアント端末をつなぐネットワークとして公衆網や無線等が用いられ信頼性や通信速度が十分でないような場合には、一度のデータ同期で大量の情報を送受信すると、データ同期をするにあたり通信時間が増大し、データ同期中にエラーの起こる可能性も高かった。
さらに、通信時間が増大することによってコストが増加する。また、エラーが発生することにより何度もデータ同期を行う必要があり、結果として通信時間が増大する、コストが増加するなどの課題があった。
【0006】
また、携帯電話などでは、データ転送中には他の機能、例えば通話などをすることができない。さらに、処理速度が著しく低下するため一度のデータ同期に多くの時間がかかりその間に携帯電話の他の機能を使用できないという事態が発生し、ユーザに対してストレスを与えることがあった。このように、一度のデータ同期で大量の情報を送受信することは望ましくないものであった。
【0007】
この発明は、上記のような課題を解決するためになされたものであり、一度のデータ同期で大量の情報を送受信することのないように、適当なデータ送信量でのデータ同期を自動的に開始することにより、通信時間の増大やデータ同期中にエラーの起こる可能性を抑えることができ、通信コストの削減やデータ同期プログラムによるクライアント端末の占有を回避することができるデータ同期システムを提供することを目的とする。
【0008】
【課題を解決するための手段】
第1の発明は、第1のデータベースを有するクライアントと、
前記クライアントとネットワークを介して接続され、第2のデータベースと、前記第2のデータベースの更新内容を更新履歴として保存する更新履歴保存手段と、前記更新履歴保存手段に前記クライアントに送信する必要のある更新履歴が何件保存されたらデータ同期を開始するかの第1の閾値を記憶する記憶手段とを有し、前記クライアントに送信する必要のある更新履歴を前記更新履歴保存手段より抽出し、この抽出した更新履歴の件数が前記第1の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始するサーバと、を備えたものである。
【0009】
第2の発明は、前記クライアントに送信するメッセージサイズがいくつになったらデータ同期を開始するかの第2の閾値を記憶する記憶手段と、
前記更新履歴保存手段より抽出した更新履歴から前記クライアントに送信するメッセージサイズを計算し、このメッセージサイズが前記第2の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始するサーバと、を備えたものである。
【0010】
第3の発明は、データ同期を開始しなくてもよい第1の時間間隔を第3の閾値として記憶する記憶手段と、
前記更新履歴保存手段より抽出した更新履歴の中から一番古い更新日時と現在の日時との差を求め、この差が前記第3の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始するサーバと、を備えたものである。
【0011】
第4の発明は、データ同期を再開始する第2の時間間隔を記憶する記憶手段と、
前記データ同期の開始ができなかった時には、前記記憶手段に記憶された前記第2の時間間隔に従って一定時間待機後、データ同期を開始するサーバと、を備えたものである。
【0012】
第5の発明は、第1のデータベースを有するサーバと、
前記サーバとネットワークを介して接続され、第2のデータベースと、前記第2のデータベースの更新内容を更新履歴として保存する更新履歴保存手段と、前記更新履歴保存手段に前記サーバに送信する必要のある更新履歴が何件保存されたらデータ同期を開始するかの第1の閾値を記憶する記憶手段とを有し、前記サーバに送信する必要のある更新履歴を前記更新履歴保存手段より抽出し、この抽出した更新履歴の件数が前記第1の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始するクライアントと、を備えたものである。
【0013】
第6の発明は、前記サーバに送信するメッセージサイズがいくつになったらデータ同期を開始するかの第2の閾値を記憶する記憶手段と、
前記更新履歴保存手段より抽出した更新履歴から前記サーバに送信するメッセージサイズを計算し、このメッセージサイズが前記第2の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始するクライアントと、を備えたものである。
【0014】
第7の発明は、データ同期を開始しなくてもよい第1の時間間隔を第3の閾値として記憶する記憶手段と、
前記更新履歴保存手段より抽出した更新履歴の中から一番古い更新日時と現在の日時との差を求め、この差が前記第3の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始するクライアントと、を備えたものである。
【0015】
第8の発明は、前記データ同期を再開始する時間間隔を記憶する記憶手段と、前記データ同期の開始ができなかった時には、前記記憶手段に記憶された時間間隔に従って一定時間待機後、データ同期を開始するクライアントと、を備えたものである。
【0016】
第9の発明は、第1のデータベースの更新内容を更新履歴として保存する更新履歴保存ステップと、
前記更新履歴の中からネットワークを介して接続された第2のデータベースに送信する必要のある更新履歴を抽出する抽出ステップと、
前記第2のデータベースに送信する必要のある更新履歴が前記更新履歴保存ステップで何件保存されたらデータ同期を開始するかの第1の閾値を記憶する記憶ステップと、
前記抽出ステップにより抽出された更新履歴の件数が、前記第1の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始するデータ同期開始ステップと、を備えたものである。
【0017】
第10の発明は、前記第2のデータベースに送信するメッセージサイズがいくつになったらデータ同期を開始するかの第2の閾値を記憶する記憶ステップと、
前記抽出ステップにより抽出された更新履歴から前記第2のデータベースに送信するメッセージサイズを計算し、このメッセージサイズが前記第2の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始するデータ同期開始ステップと、を備えたものである。
【0018】
第11の発明は、データ同期を開始しなくてもよい第1の時間間隔を第3の閾値として記憶する記憶ステップと、
前記抽出ステップにより抽出された更新履歴の中から一番古い更新日時と現在の日時との差を求め、この差が前記第3の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始するデータ同期開始ステップと、を備えたものである。
【0019】
第12の発明は、データ同期を再開始する時間間隔を記憶する記憶ステップと、
前記データ同期の開始ができなかった時には、前記記憶ステップにより記憶された時間間隔に従って一定時間待機後、データ同期を開始するデータ同期開始ステップと、を備えたものである。
【0020】
【発明の実施の形態】
実施の形態1.
実施の形態1では、データ同期システムにおけるサーバコンピュータのデータ同期自動開始プログラム(以下、サーバプログラム)によるサーバの処理動作について説明する。
図1は、実施の形態1のデータ同期システムの構成図である。
図1において、10はサーバコンピュータ、21,22はクライアント端末、3はサーバコンピュータ10とクライアント端末21,22とを接続するネットワーク、101はサーバコンピュータ10内のデータベース、211,221はそれぞれクライアント端末21,22内のデータベース、102はサーバコンピュータ10内の更新履歴保存手段である更新履歴データベース、212,222はそれぞれクライアント端末21,22内の更新履歴保存手段である更新履歴データベース、103はサーバコンピュータ10のCPU、213,223はそれぞれクライアント端末21,22のCPU、104はサーバコンピュータ10のデータ同期自動開始プログラムを含むプログラム記憶部、214,224はそれぞれクライアント端末21,22のデータ同期自動開始プログラムを含むプログラム記憶部、105はサーバコンピュータのデータ同期自動開始プログラムの用いる閾値と再要求する時間間隔とを記憶する記憶部、215,225はそれぞれクライアント端末21,22のデータ同期自動開始プログラムの用いる閾値と再要求する時間間隔を記憶する記憶部である。
【0021】
図2は、サーバ10とクライアント21との前回のデータ同期終了直後のサーバ10のデータベース101の内容について示した図である。
図2に示すように、データベース101はデータの識別番号であるデータIDと、データの要素(ここでは名前と電話番号)からなっているものとする。また、サーバ10とクライアント21の前回のデータ同期は2002年1月3日に行われたものとする。
【0022】
図3は、2002年1月4日にサーバ10においてデータベース101の内容が変更された直後のデータベース101の内容について示した図である。図3では、データID3のデータが削除され、データID4のデータが変更され、データID5のデータが新たに追加されている。
【0023】
図4は、2002年1月4日にサーバ10においてデータベース101の内容が変更された直後の更新履歴データベース102の内容について示した図である。更新履歴データベース102の内容は、編集日時、データID、編集内容という要素からなるものとする。
【0024】
次に、サーバプログラムによるサーバ10の処理動作について説明する。
図5は、サーバプログラムによるサーバ10の処理動作を示すフローチャートである。
サーバ10のデータベース101の内容が変更されると、CPU103はサーバプログラムを呼び出す。ここでは、サーバプログラムは、2002年1月4日にデータベース101の内容が変更された直後に呼び出される。サーバプログラムはその時点で既知であるクライアント全て(ここではクライアント21,22)に対してそれぞれ下記の手順を順に行う。
【0025】
ここでは、クライアント21に対する手順について説明する。
まず、対象のクライアント21に対して必要な更新履歴を更新履歴データベース102から抽出する(ステップS11)。ここで、クライアント21に対しては2002年1月3日に一度データ同期を行っているので、それ以前に登録された更新履歴は必要ない。よって、ステップS11によって抽出される更新履歴は図6のようになる。
図6は、クライアント21に対して必要な更新履歴を更新履歴データベース102から抽出した内容について示した図である。
【0026】
次に、ステップS11によって抽出された更新履歴件数Xと対象のクライアントに対する更新履歴件数の閾値Yを比較する(ステップS12)。閾値Yの値は、更新履歴がいくつ溜まったらデータ同期開始を要求するかを示す閾値であり、任意のタイミング、任意の方法で記憶部105に登録されている。ここで、任意のタイミングについては、例えばクライアント21がサーバ10に登録された時に、また任意の方法については、例えば更新履歴データベース102の最大登録可能件数の半分を閾値Yの値とする方法により、閾値Yの値を記録部105に登録する。
なお、閾値Yの値は対象となるクライアントごとに独立に決定することができる。ここで、クライアント21に対する閾値Yの値は10であったとする。
【0027】
ステップS12での比較結果がX>Yである場合、CPU103に対して対象のクライアントとのデータ同期開始を要求することを命令する(ステップS13)。ステップS12での比較の結果がX≦Yである場合は何も行わずに終了する。図6に示すように、ここでは、クライアント21に対しては更新履歴件数X=3であり、X≦Yであるため、クライアント21とのデータ同期開始は要求されない。
【0028】
ステップS12での比較の結果がX>Yである場合には、クライアントとのデータ同期開始を要求することをCPU103に対して命令する(ステップS13)。CPU103が、クライアントに対してデータ同期開始を要求した場合に、ネットワークが切断されている等の理由で、データ同期を開始できなかった場合、記憶部105から再要求する時間間隔を読み出し、その時間間隔ごとにデータ同期開始を要求する(ステップS14、ステップS15)。すなわち、記憶部105から再要求する時間間隔を読み出し、この時間間隔の間一定時間待機後、再度データ同期開始を要求し、データ同期の開始を行う。
【0029】
この繰り返しは、クライアントとのデータ同期が開始できるまで続けられる。ただし、その間に例えばユーザからデータ同期開始要求があれば、待機中(ステップS15)であってもデータ同期開始をCPU105に要求することも考えられる。また、ユーザによってデータ同期要求の繰り返し手順を中止することも考えられる。
【0030】
以上のように本実施の形態によれば、サーバはデータ同期対象の各クライアントに対して適当な(大きすぎない)データ送信量でのデータ同期を自動的に開始することができ、これによって通信時間の増大やデータ同期中にエラーの起こる可能性を抑えることができるので、通信コストの削減やデータ同期プログラムによるクライアント端末の占有を回避することができる。
【0031】
実施の形態2.
実施の形態1ではサーバコンピュータの処理動作について説明したが、実施の形態2ではクライアントのデータ同期自動開始プログラム(以下、クライアントプログラム)によるクライアントの処理動作について説明する。
データ同期システムの構成は、実施の形態1の図1と同様であるので、説明を省略する。
【0032】
次に、クライアントプログラムによるクライアントの処理動作について説明する。
クライアントの処理動作は、実施の形態1で説明した図5のサーバプログラムによるサーバ10の処理動作と同様であるので、図5にしたがってクライアント21の処理動作について説明を行う。
【0033】
クライアント21のデータベース211の内容が変更されると、CPU213はクライアントプログラムを呼び出す。クライアントプログラムは、まず、必要な更新履歴を更新履歴データベース212から抽出する(ステップS11)。
次に、ステップS11によって抽出された更新履歴件数Xとサーバ104に対する更新履歴件数の閾値Yを比較する(ステップS12)。閾値Yの値は、更新履歴がいくつ溜まったらデータ同期開始を要求するかを示す閾値であり、任意のタイミング、任意の方法で記憶部215に登録されている。ここで、任意のタイミングについては、例えばクライアント21がサーバ10と初めてデータ同期を行う直前に、また任意の方法については、例えば更新履歴データベース212の最大登録可能件数の半分を閾値Yの値とする方法により、閾値Yの値を記録部215に登録する。
【0034】
ステップS12の比較の結果がX>Yである場合には、CPU213に対してサーバとのデータ同期開始を要求することを命令する(ステップS13)。ステップS12の比較の結果がX≦Yである場合は何もせずに終了する。
【0035】
ステップS13でサーバとのデータ同期開始を要求することをCPU213に対して命令した時に、ネットワークが切断されている等の理由で、データ同期を開始できなかった場合には、記憶部215から再要求する時間間隔を読み出し、その時間間隔ごとにデータ同期開始を要求する(ステップS14、ステップS15)。すなわち、記憶部215から再要求する時間間隔を読み出し、この時間間隔の間一定時間待機後、再度データ同期開始を要求し、データ同期の開始を行う。
【0036】
この繰り返しはサーバとのデータ同期が開始できるまで続けられる。ただし、その間に例えばユーザからデータ同期開始要求があれば、待機中(ステップS15)であってもデータ同期開始をCPU215に要求することも考えられる。また、ユーザによってデータ同期再要求の繰り返し手順を中止することも考えられる。
【0037】
以上のように本実施の形態によれば、クライアントはサーバに対して適当なデータ送信量でのデータ同期を自動的に開始することができ、これによって通信時間の増大やデータ同期中にエラーの起こる可能性を抑えることができるので、通信コストの削減やデータ同期プログラムによるクライアント端末の占有を回避することができる。
【0038】
実施の形態3.
実施の形態3では、実施の形態1のサーバプログラムとは異なるサーバプログラムについて説明する。データ同期システムの構成は、実施の形態1の図1と同様であり、また、サーバ10とクライアント21との前回のデータ同期終了直後のサーバ10のデータベース101の内容は図2と、2002年1月4日にサーバ10においてデータベース101の内容が変更された直後のデータベース101の内容は図3と、2002年1月4日にサーバ10においてデータベース101の内容が変更された直後の更新履歴データベース102の内容は図4と、クライアント21に対して必要な更新履歴を更新履歴データベース102から抽出した内容は図6と同様である。
【0039】
次に、サーバプログラムによるサーバ10の処理動作について説明する。
図7は、サーバプログラムによるサーバ10の処理動作を示すフローチャートである。
サーバ10のデータベース101の内容が変更されると、CPU103はサーバプログラムを呼び出す。ここでは、サーバプログラムは、2002年1月4日にデータベース101の内容が変更された直後に呼び出される。サーバプログラムはその時点で既知であるクライアント全て(ここではクライアント21,22)に対してそれぞれ下記の手順を行う。
【0040】
ここでは、クライアント21に対する処理動作について説明する。
まず、対象のクライアント21に対して必要な更新履歴を更新履歴データベース102から抽出する(ステップS21)。ここで、クライアント21に対しては2002年1月3日に一度データ同期を行っているので、それ以前に登録された更新履歴は必要ない。よって、ステップS21によって抽出される更新履歴は図6のようになる。
【0041】
次に、ステップS21によって抽出された更新履歴から対象のクライアントに対してパラメータX’を計算する(ステップS22)。ここでは、パラメータX’をクライアントに対して送信する必要のあるメッセージのサイズとする。ここでのメッセージは、データ同期において用いられるプロトコルによって定められ、相手に送信する必要のあるデータストリームである。
【0042】
例として、図8のように、各更新履歴ごとにデータID(2バイト)、編集内容(1バイト)、編集内容が「追加」、「変更」である場合には、データの内容(ここではデータベースの要素「名前」が10バイト、「電話番号」が11バイトとする)を連結し、さらにこれらを全ての更新履歴に対して連結したものをメッセージであるとすると、クライアント21に対して送信するメッセージのサイズは51バイトとなる。
【0043】
次に、ステップS22によって計算されたパラメータ(メッセージサイズ)X’と対象のクライアントに対するパラメータ(メッセージサイズ)の閾値Y’を比較する(ステップS23)。閾値Y’の値は、クライアントに対して送信する必要のあるメッセージのサイズがいくつになったらデータ同期開始を要求するかを示す閾値であり、任意のタイミング、任意の方法で記憶部105に登録されている。ここで、任意のタイミングについては、例えばクライアント21がサーバ10に登録された時に、また任意の方法については、例えば対象クライアントがサーバから受信するメッセージを蓄えるためのバッファの最大サイズの半分又は全部を閾値Y’の値とする方法により、閾値Y’の値を記録部105に登録する。
また、閾値Y’の値は対象となるクライアントごとに独立に決定することができる。ここでクライアント21に対しては閾値Y’の値は100バイトであったとする。
【0044】
ステップS23の比較の結果がX’>Y’である場合には、CPU103に対して対象のクライアントとのデータ同期開始を要求することを命令する(ステップS24)。ステップS23の比較の結果がX’≦Y’である場合は何もせずに終了する。図6に示すように、ここではクライアント21に対してはX’≦Y’であるため、クライアント21とのデータ同期は開始されない。
【0045】
一方、クライアントに対してX’>Y’である場合には、クライアントとのデータ同期開始を要求することをCPU103に対して命令する(ステップS24)。CPU103がクライアント22に対してデータ同期開始を要求した場合にネットワークが切断されている等の理由で、データ同期を開始できなかった場合、記憶部105から再要求する時間間隔を読み出し、その時間間隔ごとにデータ同期開始を要求する(ステップS25、ステップS26)。すなわち、記憶部105から再要求する時間間隔を読み出し、この時間間隔の間一定時間待機後、再度データ同期開始を要求し、データ同期の開始を行う。
【0046】
この繰り返しはクライアント22とのデータ同期が開始できるまで続けられる。ただし、その間に例えばユーザからデータ同期開始要求があれば、待機中(ステップS26)であってもデータ同期開始をCPU105に要求することも考えられる。また、ユーザによってデータ同期要求の繰り返し手順を中止することも考えられる。
【0047】
上記の方法とは別に、パラメータ(メッセージサイズ)の閾値Y’の決定方法として、通信速度が動的に変化するようなネットワークの場合には、動的に閾値Y’を更新して記憶部215に登録することも考えられる。
【0048】
以上のように本実施の形態によれば、サーバはデータ同期対象の各クライアント端末に対して、クライアント端末のメモリ制約や、ネットワークの通信速度などを考慮したデータ送信量でのデータ同期を自動的に開始することができ、これによって通信時間の増大やデータ同期中にエラーの起こる可能性を抑えることができるので、通信コストの削減やデータ同期プログラムによるクライアント端末の占有を回避することができる。
【0049】
実施の形態4.
実施の形態4では、実施の形態2のクライアントプログラムとは異なるクライアントプログラムについて説明する。データ同期システムの構成は、実施の形態1の図1と同様である。
【0050】
次に、クライアントプログラムによるクライアントの処理動作について説明する。
図7は、クライアントプログラムによるクライアントの処理動作を示すフローチャートである。
ここでは、クライアント21における動作について説明する。
クライアント21のデータベース211の内容が変更されると、CPU213はクライアントプログラムを呼び出す。クライアントプログラムは次の手順を行う。まず、必要な更新履歴を更新履歴データベース212から抽出する(S21)。
【0051】
次に、ステップS21によって抽出された更新履歴からパラメータX’を計算する(ステップS22)。ここでは、パラメータX’をサーバに対して送信する必要のあるメッセージのサイズとする。そしてステップS22によって計算されたパラメータX’とパラメータの閾値Y’を比較する(ステップS23)。ここで閾値Y’の値は、サーバに対して送信する必要のあるメッセージサイズがいくつになったらデータ同期開始を要求するかを示す閾値であり、任意のタイミング、任意の方法で記憶部215に登録されている。ここで、任意のタイミングについては、例えばクライアント21がサーバ10と初めてデータ同期を行う直前に、また任意の方法については、例えばサーバ10とクライアント21をつなぐネットワークの通信速度を参考に閾値Y’の値を決定する方法により、閾値Y’の値を記録部215に登録する。なお、通信速度を参考に閾値Y’の値を決定する方法は、通信速度が遅い場合には多くのデータを送る時間が長くかかり、このために送信エラーの発生が多くなるっことから考えたものである。
【0052】
ステップS23の比較の結果がX’>Y’である場合、CPU213に対してサーバとのデータ同期開始を命令する(S24)。ステップS23の比較の結果がX’≦Y’である場合は何もせずに終了する。
【0053】
ステップS24でサーバとのデータ同期開始を要求することをCPU213に対して命令した場合に、ネットワークが切断されている等の理由で、データ同期を開始できなかった場合は、記憶部215から再要求する時間間隔を読み出し、その時間間隔ごとにデータ同期開始を要求する(ステップS25、ステップS26)。すなわち、記憶部215から再要求する時間間隔を読み出し、この時間間隔の間一定時間待機後、再度データ同期開始を要求し、データ同期の開始を行う。
【0054】
この繰り返しはサーバとのデータ同期が開始できるまで続けられる。ただし、その間に例えばユーザからデータ同期開始要求があれば、待機中(ステップS26)であってもデータ同期開始をCPU215に要求することも考えられる。また、ユーザによってデータ同期再要求の繰り返し手順を中止することも考えられる。
【0055】
上記の方法とは別に、パラメータ(メッセージサイズ)の閾値Y’の決定方法として、通信速度が動的に変化するようなネットワークの場合には、動的に閾値Y’を更新して記憶部215に登録することも考えられる。
【0056】
以上のように本実施の形態によれば、クライアントはサーバに対してネットワークの通信速度などを考慮したデータ転送量でのデータ同期を自動的に開始することができ、これによって通信時間の増大やデータ同期中にエラーの起こる可能性を抑えることができるので、通信コストの削減やデータ同期プログラムによるクライアント端末の占有を回避することができる。
【0057】
なお、実施の形態3ではパラメータX’をクライアントに対して送信する必要のあるメッセージのサイズとし、実施の形態4ではパラメータX’をサーバに対して送信する必要のあるメッセージのサイズとしたが、以下の方法によりパラメータX’の設定を行うようにしても良い。すなわち、抽出した更新履歴のうち、更新履歴データベースに記録された日時(つまりデータベースの変更が発生した日時)が一番古いものの日時と、現在の日時との差をパラメータX’とする。このようにパラメータX’を設定すると、例えば、一番古い履歴が1週間前のものであり、現在の日時との差が7日と○○時間△△分××秒あり、閾値Y’が5日ということであれば、全てデータ同期を自動開始する。
【0058】
これにより、上記実施の形態と同様の効果を得ることができる。ここで、閾値Y’は、ここまではデータ同期を開始しなくてもよい時間間隔を示すものである。
なお、この場合にも、データ同期を開始できなかった場合、記憶部105から再要求する時間間隔を読み出し、その時間間隔ごとにデータ同期開始を要求することにより、データ同期の開始を行うか、または、記憶部215から再要求する時間間隔を読み出し、その時間間隔ごとにデータ同期開始を要求することにより、データ同期の開始を行うことができる。
【0059】
【発明の効果】
この発明は、以上説明したように構成されているので、以下に示すような効果を奏する。
【0060】
この発明によれば、サーバが、第1のデータベースを有するクライアントとネットワークを介して接続され、第2のデータベースと、前記第2のデータベースの更新内容を更新履歴として保存する更新履歴保存手段と、前記更新履歴保存手段に前記クライアントに送信する必要のある更新履歴が何件保存されたらデータ同期を開始するかの第1の閾値を記憶する記憶手段とを有し、前記クライアントに送信する必要のある更新履歴を前記更新履歴保存手段より抽出し、この抽出した更新履歴の件数が前記第1の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始することにより、通信時間の増大やデータ同期中にエラーの起こる可能性を抑えることができるので、通信コストの削減やデータ同期プログラムによるクライアント端末の占有を回避することができる。
【0061】
また、クライアントが、第1のデータベースを有するサーバとネットワークを介して接続され、第2のデータベースと、前記第2のデータベースの更新内容を更新履歴として保存する更新履歴保存手段と、前記更新履歴保存手段に前記サーバに送信する必要のある更新履歴が何件保存されたらデータ同期を開始するかの第1の閾値を記憶する記憶手段とを有し、前記サーバに送信する必要のある更新履歴を前記更新履歴保存手段より抽出し、この抽出した更新履歴の件数が前記第1の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始することにより、通信時間の増大やデータ同期中にエラーの起こる可能性を抑えることができるので、通信コストの削減やデータ同期プログラムによるクライアント端末の占有を回避することができる。
【図面の簡単な説明】
【図1】実施の形態1のデータ同期システムの構成図。
【図2】実施の形態1におけるデータベース101の内容について示した図。
【図3】実施の形態1におけるデータベース101の内容について示した図。
【図4】実施の形態1における更新履歴データベース102の内容について示した図。
【図5】実施の形態1におけるサーバ10の処理動作を示すフローチャート。
【図6】実施の形態1において必要な更新履歴を更新履歴データベース102から抽出した内容について示した図。
【図7】実施の形態3におけるサーバ10の処理動作を示すフローチャート。
【図8】実施の形態3における各更新履歴ごとのデータ内容を示した図。
【符号の説明】
10 サーバコンピュータ、21、22 クライアント端末、3 ネットワーク、101 データベース、102 更新履歴データベース、103 CPU、104 プログラム記憶部、105 記憶部、212、222 更新履歴データベース、213、223 CPU、214、224 プログラム記憶部、215、225 記憶部。

Claims (12)

  1. 第1のデータベースを有するクライアントと、
    前記クライアントとネットワークを介して接続され、第2のデータベースと、前記第2のデータベースの更新内容を更新履歴として保存する更新履歴保存手段と、前記更新履歴保存手段に前記クライアントに送信する必要のある更新履歴が何件保存されたらデータ同期を開始するかの第1の閾値を記憶する記憶手段とを有し、前記クライアントに送信する必要のある更新履歴を前記更新履歴保存手段より抽出し、この抽出した更新履歴の件数が前記第1の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始するサーバと、
    を備えたことを特徴とするデータ同期システム。
  2. 前記記憶手段は、前記クライアントに送信するメッセージサイズがいくつになったらデータ同期を開始するかの第2の閾値を記憶し、
    前記サーバは、前記更新履歴保存手段より抽出した更新履歴から前記クライアントに送信するメッセージサイズを計算し、このメッセージサイズが前記第2の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始することを特徴とする請求項1記載のデータ同期システム。
  3. 前記記憶手段は、データ同期を開始しなくてもよい第1の時間間隔を第3の閾値として記憶し、
    前記サーバは、前記更新履歴保存手段より抽出した更新履歴の中から一番古い更新日時と現在の日時との差を求め、この差が前記第3の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始することを特徴とする請求項1記載のデータ同期システム。
  4. 前記記憶手段は、データ同期を再開始する第2の時間間隔を記憶し、
    前記サーバは、前記データ同期の開始ができなかった時には、前記記憶手段に記憶された前記第2の時間間隔に従って一定時間待機後、データ同期を開始することを特徴とする請求項1乃至請求項3のいずれかに記載のデータ同期システム。
  5. 第1のデータベースを有するサーバと、
    前記サーバとネットワークを介して接続され、第2のデータベースと、前記第2のデータベースの更新内容を更新履歴として保存する更新履歴保存手段と、前記更新履歴保存手段に前記サーバに送信する必要のある更新履歴が何件保存されたらデータ同期を開始するかの第1の閾値を記憶する記憶手段とを有し、前記サーバに送信する必要のある更新履歴を前記更新履歴保存手段より抽出し、この抽出した更新履歴の件数が前記第1の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始するクライアントと、
    を備えたことを特徴とするデータ同期システム。
  6. 前記記憶手段は、前記サーバに送信するメッセージサイズがいくつになったらデータ同期を開始するかの第2の閾値を記憶し、
    前記クライアントは、前記更新履歴保存手段より抽出した更新履歴から前記サーバに送信するメッセージサイズを計算し、このメッセージサイズが前記第2の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始することを特徴とする請求項5記載のデータ同期システム。
  7. 前記記憶手段は、データ同期を開始しなくてもよい第1の時間間隔を第3の閾値として記憶し、
    前記クライアントは、前記更新履歴保存手段より抽出した更新履歴の中から一番古い更新日時と現在の日時との差を求め、この差が前記第3の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始することを特徴とする請求項5記載のデータ同期システム。
  8. 前記記憶手段は、前記データ同期を再開始する時間間隔を記憶し、
    前記クライアントは、前記データ同期の開始ができなかった時には、前記記憶手段に記憶された時間間隔に従って一定時間待機後、データ同期を開始することを特徴とする請求項5乃至請求項7のいずれかに記載のデータ同期システム。
  9. 第1のデータベースの更新内容を更新履歴として保存する更新履歴保存ステップと、
    前記更新履歴の中からネットワークを介して接続された第2のデータベースに送信する必要のある更新履歴を抽出する抽出ステップと、
    前記第2のデータベースに送信する必要のある更新履歴が前記更新履歴保存ステップで何件保存されたらデータ同期を開始するかの第1の閾値を記憶する記憶ステップと、
    前記抽出ステップにより抽出された更新履歴の件数が、前記第1の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始するデータ同期開始ステップと、
    を備えたことを特徴とするデータ同期方法。
  10. 前記記憶ステップは、前記第2のデータベースに送信するメッセージサイズがいくつになったらデータ同期を開始するかの第2の閾値を記憶し、
    前記データ同期開始ステップは、前記抽出ステップにより抽出された更新履歴から前記第2のデータベースに送信するメッセージサイズを計算し、このメッセージサイズが前記第2の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始することを特徴とする請求項9記載のデータ同期方法。
  11. 前記記憶ステップは、データ同期を開始しなくてもよい第1の時間間隔を第3の閾値として記憶し、
    前記データ同期開始ステップは、前記抽出ステップにより抽出された更新履歴の中から一番古い更新日時と現在の日時との差を求め、この差が前記第3の閾値より大きい時に、前記第1のデータベースと前記第2のデータベースとのデータ同期を開始することを特徴とする請求項9記載のデータ同期方法。
  12. 前記記憶ステップは、データ同期を再開始する時間間隔を記憶し、
    前記データ同期開始ステップは、前記データ同期の開始ができなかった時には、前記記憶ステップにより記憶された時間間隔に従って一定時間待機後、データ同期を開始することを特徴とする請求項9乃至請求項11のいずれかに記載のデータ同期方法。
JP2002250161A 2002-08-29 2002-08-29 データ同期システムおよびデータ同期方法 Abandoned JP2004086800A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002250161A JP2004086800A (ja) 2002-08-29 2002-08-29 データ同期システムおよびデータ同期方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002250161A JP2004086800A (ja) 2002-08-29 2002-08-29 データ同期システムおよびデータ同期方法

Publications (1)

Publication Number Publication Date
JP2004086800A true JP2004086800A (ja) 2004-03-18

Family

ID=32057056

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002250161A Abandoned JP2004086800A (ja) 2002-08-29 2002-08-29 データ同期システムおよびデータ同期方法

Country Status (1)

Country Link
JP (1) JP2004086800A (ja)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008505419A (ja) * 2004-07-01 2008-02-21 アプル・コンピュータ・インコーポレーテッド 状態ベースの同期
WO2008026521A1 (fr) * 2006-08-31 2008-03-06 Ntt Docomo Inc. Système de synchronisation de base de données et procédé de synchronisation de base de données
JP2008226088A (ja) * 2007-03-15 2008-09-25 Hitachi Ltd ディザスタリカバリシステムおよび方法
JP2009518757A (ja) * 2005-12-08 2009-05-07 グッド テクノロジー インコーポレイテッド 無線装置の最新データを維持するための方法及びシステム
WO2009147701A1 (ja) * 2008-01-08 2009-12-10 株式会社 アテナテレコムラボ データベースへの平行アクセスプログラム
JP2011040106A (ja) * 2008-06-04 2011-02-24 Athena Telecom Lab Inc データベース並行編集方式
WO2011027654A1 (ja) 2009-09-04 2011-03-10 株式会社シンクロア データ同期システムおよびデータ同期方法
US20110138079A1 (en) * 2009-12-04 2011-06-09 Sony Corporation Information processing apparatus, information processing method, data management server and data synchronization system
US8171003B2 (en) 2007-06-06 2012-05-01 Kunio Kamimura Method and apparatus for changing reference of database
US8868491B2 (en) 2006-08-04 2014-10-21 Apple Inc. Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
EP3121721A1 (en) 2015-06-30 2017-01-25 Canon Kabushiki Kaisha Information processing apparatus, information processing system, control method for the information processing apparatus, and program
WO2017038057A1 (en) 2015-08-31 2017-03-09 Canon Kabushiki Kaisha Information processing apparatus, control method for information processing apparatus, and program
US9678996B2 (en) 2007-06-06 2017-06-13 Kunio Kamimura Conflict resolution system for database parallel editing
CN109634971A (zh) * 2018-11-07 2019-04-16 平安科技(深圳)有限公司 数据更新方法、装置、设备及计算机可读存储介质
JP2019101658A (ja) * 2017-11-30 2019-06-24 Tdk株式会社 通信システム
US10439893B2 (en) 2015-09-08 2019-10-08 Canon Kabushiki Kaisha Information sharing system
US11758034B2 (en) 2020-12-17 2023-09-12 Fujifilm Business Innovation Corp. Information processing apparatus and non-transitory computer readable medium

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008505419A (ja) * 2004-07-01 2008-02-21 アプル・コンピュータ・インコーポレーテッド 状態ベースの同期
US7730026B2 (en) 2004-07-01 2010-06-01 Apple Inc. Method and system using reusable state information for synchronization and maintenance of data
US8332352B2 (en) 2004-07-01 2012-12-11 Apple Inc. Method and system using reusable state information for synchronization and maintenance of data
US8868493B2 (en) 2004-07-01 2014-10-21 Apple Inc. Method and system using reusable state information for synchronization and maintenance of data
JP2009518757A (ja) * 2005-12-08 2009-05-07 グッド テクノロジー インコーポレイテッド 無線装置の最新データを維持するための方法及びシステム
US8868491B2 (en) 2006-08-04 2014-10-21 Apple Inc. Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
WO2008026521A1 (fr) * 2006-08-31 2008-03-06 Ntt Docomo Inc. Système de synchronisation de base de données et procédé de synchronisation de base de données
JP2008226088A (ja) * 2007-03-15 2008-09-25 Hitachi Ltd ディザスタリカバリシステムおよび方法
US9678996B2 (en) 2007-06-06 2017-06-13 Kunio Kamimura Conflict resolution system for database parallel editing
US8171003B2 (en) 2007-06-06 2012-05-01 Kunio Kamimura Method and apparatus for changing reference of database
WO2009147701A1 (ja) * 2008-01-08 2009-12-10 株式会社 アテナテレコムラボ データベースへの平行アクセスプログラム
JP2011040106A (ja) * 2008-06-04 2011-02-24 Athena Telecom Lab Inc データベース並行編集方式
US8775374B2 (en) 2009-09-04 2014-07-08 Kii Corporation Data synchronization system and data synchronization method
JP2011054092A (ja) * 2009-09-04 2011-03-17 Synclore Corp データ同期システムおよびデータ同期方法
WO2011027654A1 (ja) 2009-09-04 2011-03-10 株式会社シンクロア データ同期システムおよびデータ同期方法
US8706857B2 (en) 2009-12-04 2014-04-22 Sony Corporation Information processing apparatus, information processing method, data management server and data synchronization system
CN102104594A (zh) * 2009-12-04 2011-06-22 索尼公司 信息处理装置和方法、数据管理服务器及数据同步系统
EP2369501A2 (en) 2009-12-04 2011-09-28 Sony Corporation Information processing apparatus, information processing method, data management server and data synchronization system
US20110138079A1 (en) * 2009-12-04 2011-06-09 Sony Corporation Information processing apparatus, information processing method, data management server and data synchronization system
US9983837B2 (en) 2015-06-30 2018-05-29 Canon Kabushiki Kaisha System and method of updating setting information in an information processing apparatus
EP3121721A1 (en) 2015-06-30 2017-01-25 Canon Kabushiki Kaisha Information processing apparatus, information processing system, control method for the information processing apparatus, and program
US10645236B2 (en) 2015-08-31 2020-05-05 Canon Kabushiki Kaisha Information processing apparatus and control method for synchronizing setting information
WO2017038057A1 (en) 2015-08-31 2017-03-09 Canon Kabushiki Kaisha Information processing apparatus, control method for information processing apparatus, and program
US10439893B2 (en) 2015-09-08 2019-10-08 Canon Kabushiki Kaisha Information sharing system
JP2019101658A (ja) * 2017-11-30 2019-06-24 Tdk株式会社 通信システム
JP7043809B2 (ja) 2017-11-30 2022-03-30 Tdk株式会社 通信システム
CN109634971A (zh) * 2018-11-07 2019-04-16 平安科技(深圳)有限公司 数据更新方法、装置、设备及计算机可读存储介质
CN109634971B (zh) * 2018-11-07 2024-01-23 平安科技(深圳)有限公司 数据更新方法、装置、设备及计算机可读存储介质
US11758034B2 (en) 2020-12-17 2023-09-12 Fujifilm Business Innovation Corp. Information processing apparatus and non-transitory computer readable medium

Similar Documents

Publication Publication Date Title
JP2004086800A (ja) データ同期システムおよびデータ同期方法
US8799516B2 (en) Method and apparatus for storing real-time text messages
US20050235019A1 (en) Method and system for transmitting data for data synchronization between server and client when data synchronization session was abnormally terminated
US20020143971A1 (en) Session resumption in wireless packet data network
US7228321B2 (en) Method and system for using a sync key
US20040064517A1 (en) Synchronization message processing method
US20030002632A1 (en) Localized voice mail system
US6415331B1 (en) Method of updating accumulated data with middleware and server system performing the same
US8341272B2 (en) Method for improving a TCP data transmission in case the physical transmission medium is disconnected
JP4923155B2 (ja) コンテンツの送受信の停止及び再開方法
CN101800712B (zh) 网关设备、信息通信方法、信息通信程序和信息通信系统
CN112084159B (zh) 一种基于蓝牙通信的文件同步系统和同步方法
US20050187959A1 (en) Method for transferring a message file between a client and a server
WO2006046445A1 (ja) ファイル転送システム、送信機器及び受信装置
EP3602974B1 (en) Apparatus and method for maintaining message databases in eventual consistency distributed database systems
JP2002215516A (ja) 情報端末装置、ダウンロード制御方法およびコンピュータプログラム
US7234003B2 (en) Method and apparatus to facilitate direct transfer of data between a data device and a network connection
JP2003157190A (ja) 同期メッセージ処理方法
EP2312799B1 (en) Method and device for processing multimedia messaging service notification message and multimedia messaging service receiving system
US20080176590A1 (en) Method and apparatus for receiving multimedia message service messages
CN115150372B (zh) 一种防止呼叫中语音丢失的方法、通信系统及终端
US20030139203A1 (en) Computer-readable storage medium containing program instructions for managing data in communication terminal
JP3968060B2 (ja) セッションメディア保留方法、保留装置、保留プログラム及び該プログラムを記録した記録媒体
CN113141319B (zh) 消息处理方法、装置、电子设备及存储介质
JP2002157161A (ja) データ転送方法およびデータ転送システムならびに記録媒体およびプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040707

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080819

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20080918