JP4511047B2 - 移動通信システムの並列プロセッサを同期化するためのプロトコル - Google Patents
移動通信システムの並列プロセッサを同期化するためのプロトコル Download PDFInfo
- Publication number
- JP4511047B2 JP4511047B2 JP2000582936A JP2000582936A JP4511047B2 JP 4511047 B2 JP4511047 B2 JP 4511047B2 JP 2000582936 A JP2000582936 A JP 2000582936A JP 2000582936 A JP2000582936 A JP 2000582936A JP 4511047 B2 JP4511047 B2 JP 4511047B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- processor unit
- synchronization
- change
- current value
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99948—Application of database or data structure, e.g. distributed, multimedia, or image
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Description
(発明の背景)
(発明の技術分野)
本発明は一般的に電気通信分野に関するものであり、更に詳細には移動通信システムで使用するための並列処理同期プロトコルに関する。
【0003】
(従来技術の説明)
図1は、例えば移動通信システム中で、どのようにすれば複数の並列プロセッサを使用できるかを示すブロック図である。図示のように、例えば、パーソナル・コンピュータ(PC)12および移動電話14に含まれる相補的なディジタル・プロセッサの対は並列的同期モードにおいて一緒に機能または動作できる。プログラムおよびデータのソフトウエアはプロセッサ(12,14)の各々で複製でき、ソフトウエア命令は並列に実行できる。PCおよび移動電話12,14中の各々のディジタル・プロセッサは無線の空気インタフェースを介して互いに接続される。
【0004】
図2は、例えば図1に示すディジタル・プロセッサのような並列プロセッサを同期させるために使用できる同期装置の機能的ブロック図である。本質的に、ここで説明する同期プロセスは、2つのデータベース(例えば、12,14中の各プロセッサに付随するそれぞれのデータベース)が同じ情報を含むように処理される方法であることが好ましい。理想的には、1つのデータベースのエントリに対してなされる変更は他方に対しても行なわれる。広義では、そのようなデータベースは、例えば、電話帳、カレンダー等からの情報を含むことができる。それはそれとして、そのようなデータベースの内容は典型的には並列処理方式に関連するタイプの情報を含むことができる。
【0005】
図2を参照すると、同期(sync)エンジン104は、特別な(同期エンジン)データベース102に付随しており、それにつながれている。例えば、同期エンジン・データベース102は図1に示すプロセッサ12にその一部として含まれるか、あるいは付随するデータベースでよい。これに関連して、“同期エンジン”はデータベース同期化機能を実行するソフトウエアであることが好ましい。しかし、同期エンジン機能を実行する装置もまた、そのような同期エンジンの一部と考えることができる。第2の(デバイス)データベース108は同期エンジン・データベース102と同期されるべきものである。例えば、デバイス・データベースを、第2プロセッサ14にその一部として含めるか、あるいは付随させることができる。これに関して、デバイスはディジタル・プロセッサ14それ自身であってもよい。注意すべきことは、同期エンジンおよびデータベースは同期すべき並列プロセッサの各々に付随させることもできるということである。言い換えれば、並列プロセッサ同期手順はどちらの方向にも実行できる。例えば、第2プロセッサ14も同期エンジン(104)および付随するデータベース(102)を含むことができ、他方、第1プロセッサ12(例えば、デバイス)もデバイス・データベース(108)を含むことができる。
【0006】
同期プロトコル106を用いて、使用されるデータベース同期方法が定義される。デバイス・データベース108には変更ログ110が付随する。変更ログは好ましくは、ログまたはレジスタであり、その中にデータベースに対する変更が一時的に記憶される。例えば、変更ログ110の寸法を固定でき、新しい変更が追加されるたびに変更ログからは古い変更が押し出されるようにすることができる(先入れ先出しまたはFIFO処理)。それはそれとして、変更ログ中の各エントリには何らかの事象(例えば、追加、消去、または修正)、タイム・スタンプ(例えば、変更カウンタの値)、および一義的識別子(UID)が付随する。UIDはデータベース(102または108)中の新しいエントリごとに割り当てられる番号である。それらは同じデータベース中で再利用しない点で一義的である。変更カウンタ(明示されていない)はデータベース中で発生する変更ごとに好ましくは増分するカウンタである。好ましくは、変更カウンタ値は変更が発生するたびに変更ログ中に記憶され、更に、同期化が発生した後で、同期エンジン104中にも記憶される。
【0007】
2つのデータベースの少なくとも1つ(例えば、102または108)が第1の同期化が試みられた時の情報を含んでいる場合は、 “低速”同期手順が実行される。低速同期化は、それによって一方のデータベースのすべてのエントリを、関係する他方のデータベースのエントリすべてと比較する手順である。そのような低速同期手順が実行されるときは、(例えば、同期エンジンのソフトウエアによって)UID解析表が生成される。そのようなUID解析表のエントリは同期化された2つのデータベースのエントリ間の関係を反映する。例えば、1つのデータベース(例えば、102)の1つのエントリについてのUIDがあれば、UID解決表はその同じエントリが第2のデータベース(例えば、108)中で有するUIDは何かについての情報を提供する。他方、“高速”同期手順は、変更ログが、最後の同期化が実行されてから以降に発生したすべてのデータベース変更を含む場合に実行される。そのような高速同期手順が実行されるときは、変更のあったデータベースのエントリのみがデバイス・データベース(108)と同期エンジン104との間で比較および転送される。データベースの高速同期は低速同期よりも大幅に速い。
【0008】
特定の電気通信システムで並列プロセッサを同期化するために取られる既存のプロトコル(例えば、図2にブロック図106で例示したような)に関して発生する重大な問題は、プロセッサが同期している間に、一方のプロセッサ中でデータベースが(例えば、ユーザの直接的な修正112によって)修正された場合に、そのプロトコルが働かないことである。この問題は、既存の同期プロトコルが、同期しているデータベースがロック・アップされていて、同期エンジンのみがそのデータベースを修正できることを要求するために発生する。従って、同期をバックグラウンドでのアプリケーションとして実行できるようになったそれらの並列処理方式に対して、例えば、プロセッサ(デバイス)とのすべてのユーザ操作は同期手順の間は凍結される。しかし、デバイスのデータベースはこの期間はロック・アップされているため、任意の時点でその同期化機能を実行できるのはデバイスの同期エンジンの一方のみである。
【0009】
既存のプロトコルに関する別の重大な問題は、デバイスがリセットされて複数の同期エンジンと同期するときに発生する。例えば、デバイスがリセットされた後、変更カウンタ値がこの時点でゼロになるため、それが同期している第1プロセッサはデバイスがリセットされたことを判定して、すべてのエントリを回復するであろう。しかし、そのデバイスに対して第2のプロセッサを同期させるときには、第2プロセッサはデバイスがリセットされたことを知らない。従って、データが失われる可能性があり、その結果として低速同期が発生するかもしれない。更に、リセットが発生した後で、データベースを回復させるときに、既存のデータベースは新しいデータベースからのエントリによって上書きされよう。これにより、この動作が第2プロセッサによって検出されない場合には別の問題が発生する。それにも拘わらず、次に詳細に説明するように、本発明は上述の、またそれに関連する問題をうまく解決する。
背景技術を反映する書類には、米国特許第5,307,487号と、1993年11月発行のIBM技術開示公報第36巻、第11号のページ675−678に掲載された“フォールト・トレラント・クラスタ中のデータベース複製の回復におけるバウンディング・ジャーナル・バックオフ(Bounding Journal Back−Off during Recovery of Data Base Replica in Fault−Tolerant Clusters)”と題する論文とが含まれる 。
【0010】
(発明の概要)
本発明の好適な実施の形態に従えば、並列プロセッサを同期させるための方法が提供され、それによれば、1つのプロセッサに付随する同期エンジンが第2のプロセッサに付随するデータベースに関する変更カウンタの現在値を取り出して、変更カウンタの現在値を記憶し、第2プロセッサに付随するデータベースからすべてのデータ・エントリを取り出し、取り出したすべてのデータ・エントリに基づいて第1プロセッサに付随するデータベースに対して同期手順を実行する。
【0011】
本発明の重要な技術的な特徴は、並列処理の同期プロトコルが提供されて、それによってデータベースが同期している間にもデータベース・エントリの修正が可能であることである。
【0012】
本発明の別の重要な技術的な特徴は、並列処理の同期プロトコルが提供されて、それによって同期時間が大幅に短縮されることである。
【0013】
本発明の別の重要な技術的な特徴は、並列処理の同期プロトコルが提供されて、それによってシステムの通信処理およびスループットが大幅に増大することである。
【0014】
本発明の更に別の重要な技術的な特徴は、並列処理の同期プロトコルが提供されて、それによってデータを失うことなく、複数の同期エンジンによってリセットおよび/または回復が実行できることである。
【0015】
(図面の詳細な説明)
本発明の好適な実施の形態およびそれの特徴は図面の図1−4を参照することによって最も良く理解できる。各図面で同様なまた対応する部分に対して同じ参照符号が使用されている。
【0016】
本質的に、本発明の好適な実施の形態に従えば、並列プロセッサの同期プロトコルおよび方法が提供され、それによれば、1つのプロセッサに付随する同期エンジンが第2のプロセッサに付随するデータベースに関する変更カウンタの現在値を取り出し、変更カウンタの前記現在値を記憶し、第2プロセッサに付随するデータベースからすべてのデータ・エントリを取り出し、取り出したデータ・エントリのすべてに基づいて第1プロセッサに付随するデータベースに対して同期手順を実行する。
【0017】
具体的には、図3は、本発明の好適な実施の形態に従って実施できる、電気通信システムで複数のプロセッサを同期させるための例示的なプロトコルまたは方法300のフロー図である。例えば、このプロトコルまたは方法は図1および2に示した同期装置および/またはシステムによって、データベース102および108を同期させるために実施できる。注意すべき点は、既に述べたように、データベースの同期化はいずれの方向(例えば、プロセッサ12またはプロセッサ14のいずれに付随する同期エンジンおよびデータベース)でも実行できることである。本方法(プロトコル)の工程302において、同期エンジン(例えば、プロセッサ12に付随するソフトウエア)は“有効な”変更カウンタが記憶されているかどうかを判定する。例えば、このデータベースが最初に同期している期間にこの工程が発生したとすれば、変更カウンタは不正確に記憶されているかもしれない。もしそのような変更カウンタが不正確に記憶されていれば、工程304において同期エンジン104は同期させるべき第2データベース(例えば108)に付随するデバイス(例えばプロセッサ14)から変更カウンタの現在値を要求する。言い換えれば、変更カウンタの現在値は、第2データベースの内容全体が読み出される前に取り出される。これに応答して、工程306では、デバイスが変更カウンタの現在値を同期エンジンへ戻す。工程308では、同期エンジン104は変更カウンタの取り出された現在値を(一時的に)記憶する。注意すべき点は、デバイス・データベース(108)の全内容を読み出す前に変更カウンタの現在値を取り出すことによって、内容が読み出されている間に行なわれた任意のエントリ変更はデータベースを次に同期するときに検出できるということである。
【0018】
工程310では、同期エンジン104はデバイス(例えば、プロセッサ14)から、デバイス・データベース108に記憶されているすべてのエントリを要求する。工程312で、デバイスはデバイス・データベース108に記憶されている既存のエントリすべてを同期エンジン104へ送る。工程314では、同期エンジン104は低速同期手順を実行して、それによりデバイス・データベース108で追加、修正、および/または消去された(例えば、最後の同期化以降)すべてのエントリは同期エンジン・データベース102中でそれらに対応して追加、修正、および/または消去される。工程316では、同期エンジン104は工程308で(一時的に)記憶された変更カウンタの取り出された値で以って変更カウンタを更新する。
【0019】
工程302に戻って、もし変更カウンタの値が有効であれば、工程318で、同期エンジン104はデバイス(108)から、変更カウンタの値が最後に記憶されてから後にデバイス・データベース108中に発生したすべての変更に関する変更ログ110エントリを要求する。注意すべき点は、同期エンジンに対して関連のある変更のみを読み出すことによって、変更ログ110の寸法を最小化できることである。このやり方は、デバイスから同期エンジンへの伝送時間を最小化できるという特徴を有する。工程320では、デバイス108は、変更カウンタが(同期エンジンによって)サブミットされてから後に変更ログ110中に(もしあれば)何らかの変更が発生したかどうかを判定する。もしそうであれば、工程322で、デバイスは同期エンジン104に対して“変更が多すぎる”メッセージを送信する。あるいは、工程320へ戻って、もしも変更がサブミットされた後で発生した任意の変更を、サブミットされた変更ログが保有していなければ、工程324において、デバイスは同期エンジンへ最後にサブミットされた変更カウンタ値がデバイスにある現在の変更カウンタの値よりも大きいかどうかを判定する。言い換えれば、変更カウンタがラップ・アラウンド(wrapped around)されたかどうかのチェックが行なわれる。もしそうであれば、工程322で、デバイスは同期エンジンへ“変更が多すぎる”メッセージを送信する。注意すべき点は、同期エンジンへサブミットされた変更カウンタ値がデバイスの現在の変更カウンタ値よりも大きくて(デバイスの変更カウンタがラップ・アラウンドされた)デバイスが同期エンジンに対して“変更が多すぎる”メッセージを送信することによって、変更カウンタの値がゼロへラップ・アラウンドされるという潜在的な問題点が回避されるということである。
【0020】
工程324へ戻って、もし最後にサブミットされた変更カウンタ値がデバイス(108)における現在の変更カウンタ値よりも大きくなければ、工程326で、デバイスはサブミットされた変更カウンタよりも大きい変更カウンタに関する変更ログの変更を戻す。好ましくは、本実施の形態に関して、戻された変更ログ中のエントリは最も古い変更を最初に提供する時間的な順序で提供される。注意すべき点は、デバイスに最も古い変更を最初に戻させることによって、もし変更ログの更新が中断されたとしても、同期エンジンは変更ログの一部を処理できるということである。
【0021】
工程328で、もし同期エンジン104がデバイス108から“変更が多すぎる”メッセージを受信したことを判定すれば、方法は工程304へ進む。さもなければ、工程330において、同期エンジンは工程326でデバイスから戻された変更ログ中のエントリを処理し始める。同期エンジンは受信した変更ログエントリの解析を、最も古い変更からまず開始する。従って、同期エンジンは、もし同期化が何らかの理由で中断されても、その処理をやり直す必要はない。工程332で、もし同期エンジンが変更ログが空(変更なし)と判定すれば、方法は工程317へ進む。さもなければ、工程334で、同期エンジンは変更ログに示されている追加および/または修正された各エントリをデバイスから要求する。工程336で、デバイスは同期エンジンに対してそのような要求された各エントリを送信する。好ましくは、最も古いエントリを最初に要求する。工程338で、同期エンジンは処理すべき変更が残っているかどうかを判定する。もしそうであれば、方法は工程330へ戻って変更処理を続ける。さもなければ、工程340で、同期エンジンはそれの変更カウンタを、デバイスの変更ログ110から受信した(工程318)最も高い変更カウンタで以って更新する。
【0022】
工程317で、同期エンジン104は、最後にデータベース同期化が発生してから後で同期エンジンのデータベース102に対して変更が行なわれたかどうかを判定する。最後の同期化以降にもしそのような変更が発生していなければ、方法は完了する(工程342)。あるいは、最後の同期化以降にもしそのような変更が発生していれば、工程344で、同期エンジンは同期エンジンのデータベース102に対してなされた変更を処理し始める。工程346で、同期エンジンはデバイス・データベース108中の適正なエントリを追加、修正、および/または消去する。
【0023】
工程348で、デバイスは、デバイスのデータベース108中のエントリに対して変更が発生するたびに、1単位だけそれの変更カウンタを増分させる。工程350で、デバイスはデバイス・データベース108に対して新しいエントリが追加されたかどうかを判定する。もしそうであれば、工程352で、デバイスはその新しいエントリに関するUIDを同期エンジン104へ送信して、方法は工程354へ進む。あるいは、もし新しいエントリの追加がなければ、工程354で、デバイスは現在の変更カウンタ値を同期エンジンへ送信する。注意すべき点は、デバイス・データベースに対する変更または修正に応答して同期エンジンへ現在の変更カウンタ値を戻すことによって、同期エンジンは変更カウンタ値を明示的に読み出す必要がなくなるということである。このことによってかなり大きい処理時間が節約でき、関係する同期エンジン間で発生する可能性のある競争問題が回避できる。
【0024】
工程356で、同期エンジンはデバイスから戻された(工程354)変更カウンタ値と同期エンジンに既に記憶されている変更カウンタ値との間に差があるかどうか?を判定する(すなわち、このテストは差が1よりも大きいかどうかを判定するためのものであるから)。もしそうであれば、方法は工程318へ進む。注意すべき点は、本発明に従って、この時点で変更カウンタを調べることにより同期エンジンは誰か(例えば、ユーザまたは他の修正112)がデバイス・データベース108を修正したかどうかを判定できるということである。あるいは、工程356で、もし同期エンジンがデバイスから戻された(工程354)変更カウンタ値と同期エンジンに既に記憶されている変更カウンタ値との間に差(例えば、1より大きい)がないと判定すれば、工程358で、同期エンジンはデバイスから取り出した(工程354)新しい値で以って変更カウンタを更新する。注意すべき点は、デバイス・データベースに対する変更または修正のたびに変更カウンタ値を更新することによって、何らかの理由によって現在の同期化が中断された場合でも同期エンジンは同期手順を再スタートさせる必要がないということである。工程360で、もし同期エンジンが、実行すべき同期エンジンのデータベース変更があると判定した場合には、方法は工程317へ戻る。さもなければ、工程342で方法は完了する。
【0025】
既に述べたように、第2のプロセッサをデバイスと同期させるときは、第2プロセッサはそのデバイスがリセットされたことを知らないであろう。従って、その結果、データが失われたり低速同期が発生したりする。更に、リセットが発生した後でデータベースを回復する場合に、既存のデータベースは新しいデータベースからのエントリによって上書きされよう。これによってもしこの操作が第2プロセッサによって検出できなければ別の問題が発生する。本発明の並列同期プロトコルに従えば、第2の実施の形態は新たに生成されたデータベースを一義的な識別子(好ましくは、ランダムに生成した数字に付随させる)でマークすることによって上述の問題を解決する。この新たに生成されたデータベースに付随する“データベースID”はデバイスによってエントリとしてすべての変更ログへサブミットされる。従って、デバイスの変更ログ中のこのデータベースIDを検出することによって、同期エンジンはデータベースが新たに生成された(あるいは再生成された)時を判定できる。言い換えれば、好適な実施の形態に関して上述した並列同期プロトコルに従って、デバイスによって変更ログが特定の同期エンジンへ戻されるときに、新たに生成されたデータベースに関するデータベースIDは変更ログ中に含まれる。同期エンジンはこのデータベースIDを先に記憶されているデータベースID(もしあれば)と比較して、もしそれら2つのデータベースIDが一致しなければ、同期エンジンはそのデータベースが再生成されたことおよび低速同期手順を実行すべきことを知る。
【0026】
それはそれとして、何らかの理由でデバイスがリセットされた場合には、デバイスは新しいデータベースを生成するように要求される。そのような新しいデータベースを生成する過程で、デバイスは新しいデータベースID(好ましくはランダムに生成した数字)を発生する。しかし、もし関係するデータベース全体が上書きされるのであれば(例えば、レベル2のobex putによって)、デバイスは好ましくは図4に示すフロー図に関して次に説明する方法に従う(図3に関して上述した並列同期方法またはプロトコルと相補的なものとして)。
【0027】
図4は電気通信システムで複数のプロセッサを同期させるための例示的なプロトコルまたは方法400のフロー図であり、これは本発明の第2の実施の形態に従って実施できる。もしデータベース(例えば、108)が完全に上書きされるのであれば、図4の工程402において、デバイスはそのデータベース中のエントリをクリアする。工程404で、デバイスは関連する変更カウンタ値をゼロにセットする。工程406で、デバイスは関係する変更ログ(例えば110)中のエントリをクリアする。工程408で、デバイスは新しいデータベースIDを発生する(好ましくは、デバイスによって生成される乱数に関連させて)。工程410で、デバイスは関係するデータベース(例えば108)中に新しいレコードを書き込む。本発明の並列同期プロトコルまたは方法に従って、新しい変更ログが生成され、変更カウンタが更新される。
【0028】
本発明の方法および装置の好適な実施の形態について、添付図面に示し、また上記の詳細に説明において述べてきたが、本発明が開示された実施の形態に限定されないこと、また以下の特許請求の範囲によって設定および定義される本発明の精神から外れることなく、数多くの再構成、修正、および置換を可能とするものであることを理解されるであろう。
【図面の簡単な説明】
本発明の方法および装置のより完全な理解は、添付図面と一緒に以下の詳細な説明を参照することによって得られよう。
【図1】 移動電気通信システム中で使用できる既存の並列プロセッサ・サブシステムのブロック図。
【図2】 図1に示すディジタル・プロセッサのような、並列プロセッサを同期させるために使用できる同期装置のブロック図。
【図3】 本発明の好適な実施の形態に従って実施できる、電気通信システムで複数のプロセッサを同期させるための例示的プロトコルまたは方法のフロー図。
【図4】 本発明の第2の好適な実施の形態に従って実施できる、電気通信システムで複数のプロセッサを同期させるための例示的プロトコルまたは方法のフロー図。
Claims (11)
- 通信システムにおいて第1プロセッサユニット(12)に付随する第1データベース(102)を第2プロセッサユニット(14)に付随する第2データベース(108)に同期させるための同期方法であって、
前記第1プロセッサユニット(12)が、前記第2データベース(102)と関連づけた識別子を記憶するステップと、
前記第2プロセッサユニット(14)が、前記第2データベース(108)を新たに生成あるいは再生成する時に、前記第2データベース(108)と関連づけた新たな識別子を発生して前記第2データベース(108)の変更ログ(110)に記憶するステップと、
前記第1プロセッサユニット(12)が、前記第2プロセッサユニット(14)から変更ログ(110)を取り出すステップと、
前記第1プロセッサユニット(12)が、前記取り出された変更ログ(110)に記憶されている識別子が前記第1プロセッサユニット(12)に記憶している識別子と一致しているかを判定するステップと、
前記第1プロセッサユニット(12)が、前記取り出された変更ログ(110)に記憶されている識別子が前記第1プロセッサユニット(12)に記憶している識別子と一致しない場合は、前記第1及び第2データベース(102,108)のすべてのエントリを比較する低速同期手順を実行するステップと、
前記第1プロセッサユニット(12)が、前記取り出された変更ログ(110)に記憶されている識別子が前記第1プロセッサユニット(12)に記憶している識別子と一致している場合は、高速同期手順を実行するステップとを有し、
前記高速同期手順は、
前記第1プロセッサユニット(12)が、前記第2プロセッサユニット(14)に付随する、前記第2データベース(108)へのエントリをカウントする変更カウンタの現在値を取り出し、前記変更カウンタの現在値を記憶するステップと、
前記第1プロセッサユニット(12)が、前記第2データベース(108)に記憶された、変更ログ(110)が示すデータを取り出すステップと、
前記第1プロセッサユニット(12)が、前記第2データベース(108)から取り出した、前記変更ログ(110)が示すデータを前記第1データベース(102)にエントリすると共に、前記第1データベース(102)にエントリされたデータを前記第2データベース(108)にエントリする同期手順を実行するステップと、
前記第1プロセッサユニット(12)が、前記変更カウンタの新しい現在値を取り出すステップと、
前記第1プロセッサユニット(12)が、前記変更カウンタの現在値と前記変更カウンタの新しい現在値との間に差異があるかどうかを判定するステップと、
前記第1プロセッサユニット(12)が、前記変更カウンタの現在値と前記変更カウンタの新しい現在値との間に差異がある場合は前記前記第2プロセッサユニット(14)から前記変更ログを取り出すステップに戻り、前記変更カウンタの現在値と前記変更カウンタの新しい現在値との間に差異がない場合は前記変更カウンタを新しい現在値に更新して次の変更ログ(110)が示すデータを取り出して当該高速同期手順を繰り返すステップとを含む、ことを特徴とする同期方法。 - 前記第1プロセッサユニット(12)は、同期エンジン(104)を含んでいることを特徴とする請求項1に記載の同期方法。
- 前記第2プロセッサユニット(14)は、同期エンジンを含んでいることを特徴とする請求項1に記載の同期方法。
- 前記第1及び第2プロセッサユニット(12,14)は、複数の並列プロセッサ(12,14)を含んでいることを特徴とする請求項1に記載の同期方法。
- 前記第2プロセッサユニット(14)が、前記第2データベース(108)に記憶された前記データの変更に対して前記変更カウンタを増分させるステップと、
前記第2プロセッサ・ユニット(14)が、前記第2データベース(108)から取り出されたデータと異なる新しいデータが前記第2データベース(108)に記憶されたかどうかを判定するステップと、
前記第2プロセッサ・ユニット(14)が、前記新しいデータが前記第2データベース(108)に記憶された場合、前記新しいデータを識別する一義的な識別子を前記第1プロセッサユニット(12)へ送信するステップと、
前記第2プロセッサ・ユニット(14)が、前記変更カウンタの新しい現在値を前記第1プロセッサユニット(12)へ送信するステップと、
をさらに含むことを特徴とする請求項1に記載の同期方法。 - 前記第1プロセッサユニット(12)が、前記第2データベース(108)から取り出されたデータと異なる前記新しいデータのどれかが処理されていないかどうかを判定するステップと、
前記第2データベース(108)から取り出されたデータと異なる前記新しいデータが処理されている場合、前記第1プロセッサユニット(12)が、前記変更ログ(110)からの現在値で前記変更カウンタを更新するステップと、
をさらに含むことを特徴とする請求項5に記載の同期方法。 - 前記第2データベース(108)に記憶された前記データをクリアするステップと、
前記変更カウンタを初期値に設定するステップと、
前記第2データベース(108)に関連する変更ログ(110)中のエントリをすべてクリアするステップと、
前記第2データベースに記憶されたデータを識別するために、前記第2データベース(108)に関連する新たな識別子を発生させるステップと、
前記第2データベース(108)に新しいデータを記憶するステップと、
をさらに含むことを特徴とする請求項1に記載の同期方法。 - 通信システムにおいて複数のプロセッサユニット(12,14)の複数のデータベース(102,108)を同期させるための同期システムであって、
第1プロセッサユニット(12)と、
前記第1プロセッサユニット(12)に付随する第1データベース(102)と、
第2プロセッサユニット(14)と、
前記第2プロセッサユニット(14)に付随する第2データベース(108)と、
前記第1プロセッサユニット(12)を前記第2プロセッサユニット(14)に相互接続する手段とを含み、
前記第1プロセッサユニット(12)が、前記第2データベース(108)に記憶されたデータを取り出し、取り出された前記データに対して同期手順を実行する同期システムにおいて、
前記第2プロセッサユニット(14)が、前記第2データベース(108)を新たに生成あるいは再生成する時に、前記第2データベース(108)と関連づけた新たな識別子を発生して前記第2データベース(108)の変更ログ(110)に記憶する手段を有し、
前記第1プロセッサユニット(12)が、
前記第2データベース(102)と関連づけた識別子を記憶する手段と、
前記第2プロセッサユニット(14)から変更ログ(110)を取り出す手段と、
前記取り出された変更ログ(110)に記憶されている識別子が前記第1プロセッサユニット(12)に記憶している識別子と一致しているかを判定する手段と、
前記取り出された変更ログ(110)に記憶されている識別子が前記第1プロセッサユニット(12)に記憶している識別子と一致しない場合は、前記第1及び第2データベース(102,108)のすべてのエントリを比較する低速同期手順を実行する手段と、
前記取り出された変更ログ(110)に記憶されている識別子が前記第1プロセッサユニット(12)に記憶している識別子と一致している場合は、高速同期手順を実行する手段とを有し、
前記高速同期手順を実行する手段は、
前記第2プロセッサユニット(14)に付随する、前記第2データベース(108)へのエントリをカウントする変更カウンタの現在値を取り出して記憶する手段と、
前記第2データベース(108)に記憶された、変更ログ(110)が示すデータを取り出す手段と、
前記第2データベース(108)から取り出した、前記変更ログ(110)が示すデータを前記第1データベース(102)にエントリすると共に、前記第1データベース(102)にエントリされたデータを前記第2データベース(108)にエントリする同期手順を実行する手段と、
前記変更カウンタの新しい現在値を取り出す手段と、
前記前記変更カウンタの現在値と前記新しい現在値との間に差異があるかどうかを判定する手段と、
前記変更カウンタの前記現在値と前記変更カウンタの前記新しい現在値との間に差異がある場合は当該高速同期手順を終了して前記第2プロセッサユニット(14)から変更ログを取り出す手段による変更ログの取出しに処理を移行させ、前記変更カウンタの前記現在値と前記変更カウンタの前記新しい現在値との間に差異がない場合は前記変更カウンタを前記新しい現在値に更新して次の変更ログ(110)が示すデータを取り出して当該高速同期手順の実行を繰り返す手段とを含む、ことを特徴とする同期システム。 - 前記第1プロセッサユニット(12)は、同期エンジン(104)を含んでいることを特徴とする請求項8記載の同期システム。
- 前記第2プロセッサユニット(14)は、同期エンジンを含んでいることを特徴とする請求項8記載の同期システム。
- 前記第1及び第2プロセッサユニット(12,14)は、複数の並列プロセッサ(12,14)を含んでいることを特徴とする請求項8記載の同期システム。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10890298P | 1998-11-17 | 1998-11-17 | |
US60/108,902 | 1998-11-17 | ||
US11048598P | 1998-12-01 | 1998-12-01 | |
US60/110,485 | 1998-12-01 | ||
US09/427,909 | 1999-10-27 | ||
US09/427,909 US6560700B1 (en) | 1998-11-17 | 1999-10-27 | Protocol for synchronizing parallel processors in a mobile communication system |
PCT/SE1999/002003 WO2000029997A2 (en) | 1998-11-17 | 1999-11-05 | Protocol for synchronizing parallel processors in a mobile communication system |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002530750A JP2002530750A (ja) | 2002-09-17 |
JP2002530750A5 JP2002530750A5 (ja) | 2006-12-28 |
JP4511047B2 true JP4511047B2 (ja) | 2010-07-28 |
Family
ID=27380562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000582936A Expired - Fee Related JP4511047B2 (ja) | 1998-11-17 | 1999-11-05 | 移動通信システムの並列プロセッサを同期化するためのプロトコル |
Country Status (11)
Country | Link |
---|---|
US (1) | US6560700B1 (ja) |
EP (1) | EP1131756B1 (ja) |
JP (1) | JP4511047B2 (ja) |
CN (1) | CN1126054C (ja) |
AR (1) | AR026099A1 (ja) |
AT (1) | ATE235084T1 (ja) |
AU (1) | AU1590400A (ja) |
BR (1) | BR9915386A (ja) |
DE (1) | DE69906121D1 (ja) |
MY (1) | MY124355A (ja) |
WO (1) | WO2000029997A2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6718348B1 (en) * | 2000-08-25 | 2004-04-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Non-time dependent synchronization of databases |
US6725243B2 (en) | 2002-03-08 | 2004-04-20 | United States Postal Service | Method for preventing improper correction of a database during an updating process |
US7346616B2 (en) * | 2002-03-20 | 2008-03-18 | Extended System, Inc. | Synchronizing data shared between two devices independent of any other devices that may also share the data |
EP1383054A1 (en) * | 2002-07-19 | 2004-01-21 | SCHLUMBERGER Systèmes | Data synchronization procedures for smartcards |
US8387824B2 (en) * | 2005-07-02 | 2013-03-05 | Syngenta Participations Ag | Apparatuses and methods for bulk dispensing |
US7640075B2 (en) * | 2005-07-02 | 2009-12-29 | Syngenta Participations Ag | Apparatus and method for coordinating automated package and bulk dispensing |
US7778822B2 (en) * | 2006-05-19 | 2010-08-17 | Sony Ericsson Mobile Communications Ab | Allocating audio processing among a plurality of processing units with a global synchronization pulse |
US20080033908A1 (en) * | 2006-08-04 | 2008-02-07 | Nortel Networks Limited | Method and system for data processing in a shared database environment |
JP5239752B2 (ja) * | 2008-10-31 | 2013-07-17 | 富士通株式会社 | 同期メッセージ発行システム、同期メッセージ発行方法および同期メッセージ発行プログラム |
US8769067B2 (en) * | 2009-06-22 | 2014-07-01 | Citrix Systems, Inc. | Systems and methods for statistics exchange between cores for load balancing |
CN102222071B (zh) * | 2010-04-16 | 2014-04-02 | 华为技术有限公司 | 数据同步处理方法、设备及系统 |
US8676757B2 (en) * | 2011-10-18 | 2014-03-18 | Microsoft Corporation | Application of a differential dataset to a data store using sequential change sets |
CN111984662B (zh) * | 2020-08-20 | 2024-02-23 | 中国银行股份有限公司 | 批量更新数据库的方法及装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0528021A (ja) * | 1991-07-19 | 1993-02-05 | Fujitsu Ltd | 二元配置データの管理方法 |
US5247684A (en) | 1991-10-03 | 1993-09-21 | The United States Of America As Represented By The Secretary Of The Navy | Light update notification mechanism for shared data structures |
US5307487A (en) | 1991-10-03 | 1994-04-26 | The United States Of America As Represented By The Secretary Of The Navy | Method of database synchronization with consistency determined by entry and exit counters used on both update and retrieval |
GB9204450D0 (en) * | 1992-03-02 | 1992-04-15 | Ibm | Concurrent access to indexed data files |
JPH06290098A (ja) * | 1993-03-31 | 1994-10-18 | Hitachi Software Eng Co Ltd | 分散データベース処理方法 |
JP3702314B2 (ja) * | 1995-05-23 | 2005-10-05 | 三菱電機株式会社 | データファイル等価処理方法 |
JPH09128280A (ja) * | 1995-10-27 | 1997-05-16 | Toshiba Corp | データ管理装置及びデータ管理方法 |
JP2904100B2 (ja) * | 1996-01-26 | 1999-06-14 | 日本電気株式会社 | 複数のデータベース間の整合方式 |
US6330568B1 (en) * | 1996-11-13 | 2001-12-11 | Pumatech, Inc. | Synchronization of databases |
US6006274A (en) * | 1997-01-30 | 1999-12-21 | 3Com Corporation | Method and apparatus using a pass through personal computer connected to both a local communication link and a computer network for indentifying and synchronizing a preferred computer with a portable computer |
SE512171C2 (sv) | 1997-07-02 | 2000-02-07 | Forskarpatent I Linkoeping Ab | Videoöverföring |
US6247135B1 (en) * | 1999-03-03 | 2001-06-12 | Starfish Software, Inc. | Synchronization process negotiation for computing devices |
-
1999
- 1999-10-27 US US09/427,909 patent/US6560700B1/en not_active Expired - Lifetime
- 1999-11-05 DE DE69906121T patent/DE69906121D1/de not_active Expired - Lifetime
- 1999-11-05 AT AT99958564T patent/ATE235084T1/de not_active IP Right Cessation
- 1999-11-05 CN CN99813330A patent/CN1126054C/zh not_active Expired - Fee Related
- 1999-11-05 AU AU15904/00A patent/AU1590400A/en not_active Abandoned
- 1999-11-05 EP EP99958564A patent/EP1131756B1/en not_active Expired - Lifetime
- 1999-11-05 JP JP2000582936A patent/JP4511047B2/ja not_active Expired - Fee Related
- 1999-11-05 BR BR9915386-6A patent/BR9915386A/pt not_active Application Discontinuation
- 1999-11-05 WO PCT/SE1999/002003 patent/WO2000029997A2/en active IP Right Grant
- 1999-11-13 MY MYPI99004946A patent/MY124355A/en unknown
- 1999-11-17 AR ARP990105850A patent/AR026099A1/es unknown
Also Published As
Publication number | Publication date |
---|---|
CN1126054C (zh) | 2003-10-29 |
MY124355A (en) | 2006-06-30 |
US6560700B1 (en) | 2003-05-06 |
DE69906121D1 (de) | 2003-04-24 |
EP1131756B1 (en) | 2003-03-19 |
CN1326570A (zh) | 2001-12-12 |
JP2002530750A (ja) | 2002-09-17 |
WO2000029997A2 (en) | 2000-05-25 |
AR026099A1 (es) | 2003-01-29 |
AU1590400A (en) | 2000-06-05 |
ATE235084T1 (de) | 2003-04-15 |
EP1131756A2 (en) | 2001-09-12 |
WO2000029997A3 (en) | 2000-08-10 |
BR9915386A (pt) | 2001-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6983293B2 (en) | Mid-tier-based conflict resolution method and system usable for message synchronization and replication | |
US7461103B2 (en) | System and method for reconciling transactions between a replication system and a recovered database | |
JP3556170B2 (ja) | 永続的更新シーケンス番号を使用してドキュメント変更をモニタリングする方法およびシステム | |
CN108255647B (zh) | 一种samba服务器集群下的高速数据备份方法 | |
US8595381B2 (en) | Hierarchical file synchronization method, software and devices | |
JP4511047B2 (ja) | 移動通信システムの並列プロセッサを同期化するためのプロトコル | |
US9367579B1 (en) | System and method for maintaining a file change log within a distributed file system | |
US8805889B2 (en) | Metadata structures and related locking techniques to improve performance and scalability in a cluster file system | |
US6295610B1 (en) | Recovering resources in parallel | |
JP2009507278A (ja) | データオブジェクトのサーチ及び復元 | |
US20050273474A1 (en) | Method and system for data processing with data replication for the same | |
US9158804B1 (en) | Method and system for efficient file-based backups by reverse mapping changed sectors/blocks on an NTFS volume to files | |
KR20040088397A (ko) | 트랜잭션적으로 일관성있는 트리거 기반 데이터베이스변경 추적 방법 및 시스템 | |
WO2004051481A1 (en) | Data recovery techniques in storage systems | |
US7487186B2 (en) | Protocol agnostic database change tracking | |
WO2013163864A1 (zh) | 数据持久化处理方法、装置及数据库系统 | |
WO2002095628A2 (en) | A method and apparatus for scanning records | |
US20100293143A1 (en) | Initialization of database for synchronization | |
CN112800060A (zh) | 数据处理方法、装置、计算机可读存储介质及电子设备 | |
US20230124036A1 (en) | In-place garbage collection for state machine replication | |
CA2609083C (en) | Hierarchical file synchronization method, software and devices | |
CN114741453A (zh) | 数据同步的方法、系统及计算机可读存储介质 | |
JP2004252957A (ja) | 分散ファイルシステムのファイルレプリケーション方法及び装置 | |
CN114930315A (zh) | 基于更新的变更提要处理删除请求 | |
JPH0844609A (ja) | データバックアップ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060322 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20060629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061106 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090605 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090902 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090909 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100312 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100412 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100506 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4511047 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140514 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |