JP4414893B2 - データオブジェクトのコンピュータ化されたレプリケーション - Google Patents

データオブジェクトのコンピュータ化されたレプリケーション Download PDF

Info

Publication number
JP4414893B2
JP4414893B2 JP2004554433A JP2004554433A JP4414893B2 JP 4414893 B2 JP4414893 B2 JP 4414893B2 JP 2004554433 A JP2004554433 A JP 2004554433A JP 2004554433 A JP2004554433 A JP 2004554433A JP 4414893 B2 JP4414893 B2 JP 4414893B2
Authority
JP
Japan
Prior art keywords
state
identifier
data
storage means
processes
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 - Lifetime
Application number
JP2004554433A
Other languages
English (en)
Other versions
JP2006508442A (ja
Inventor
コンラート ミヒャエル
ヘンリッヒ ディルク
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Publication of JP2006508442A publication Critical patent/JP2006508442A/ja
Application granted granted Critical
Publication of JP4414893B2 publication Critical patent/JP4414893B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, 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)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明の技術分野は電子データ処理の分野である。詳しくは、本発明はデータオブジェクトレプリケートのための方法、コンピュータプログラム製品ならびにシステムに関する。
関連技術の説明
データオブジェクトのレプリケーションはコンピュータのあらゆるユーザによく知られており、日常的に適用されるスタンダードな手続きである。データオブジェクトレプリケーションの特別な適用事例はコピーまたはアーカイブプロセスであって、これによればデータオブジェクトは安全性の理由および/またはパフォーマンスの理由でソースシステムからターゲットシステムへコピーされる。これらの特別なアプリケーションの場合、データオブジェクトは変更されないままである。ただし、もっと一般的な用語である「レプリケーション」 "replication"には、データオブジェクトがレプリケーションプロセス中に変更されるようなプロセスも含まれる。このような変更は、データ量の圧縮を要求した結果であるかもしれないし、あるいはデータオブジェクトの特定の部分だけを受け取るためにターゲットシステムのユーザが要求した結果であるかもしれない。企業においては、いわゆるエンタープライズリソースプラニングソフトウェア(enterprise resource planning software ERP)アプリケーションが利用されており、これによってビジネスプロセスがコントロールされ、コンピュータまたはコンピュータシステムのような自動データ処理システムによってあらゆる技術分野における様々な種類の企業における会社情報が管理される。この種のソフトウェアの使用中、データオブジェクト内に含まれる重要なビジネス情報を有する一般に膨大な量のデータが生成される。このような環境の場合、ソースシステムは財務部門および/またはコントロール部門のコンピュータやソフトウェアシステムかもしれないし、ターゲットシステムはマネージメントのコンピュータやソフトウェアシステムであるかもしれない。企業の経済状況に関する情報が与えられるマネージメントを維持する目的で、財務データたとえばポスティングデータが財務システムからマネージメントシステムへレプリケートされる(統合や集約のような変更が施されて伝送またはコピーされる)可能性がある。多くのERPアプリケーションの場合、企業のトランザクションがコンピュータシステムに別個にいつでも格納される。これと同時に、レプリケートされたデータを有する1つまたは複数のターゲットシステムを提供する必要がある。これらのデータレプリケーションは一般に少ない頻度で行われ、伝送されるデータボリュームの量を抑える目的で、新たなデータオブジェクトだけを、または先行のレプリケーションプロセス以降に修正されたデータオブジェクトだけをレプリケートすべきである。この目的を達成するための1つの方法はタイムスタンプ処理である。この方法の場合、ソースシステムに格納すべきデータオブジェクトにタイムスタンプが割り当てられる。タイムスタンプは通常、データオブジェクトが格納された時点であるかまたは、記憶プロセスが開始された直後の時点である。そしてレプリケーションアプリケーション(これはデータオブジェクトをソースからターゲットシステムへレプリケートするソフトウェアアプリケーション)は、まえもって定義可能な特定のタイムインターバル内にあるタイムスタンプをもつデータオブジェクトだけを特に処理する。
しかしながらこの方法のもつ欠点とは、物理的な記憶手段にデータオブジェクトが物理的に格納されるないしは書き込まれるデータベース(アプリケーション)の実際のコミットの時点とはタイムスタンプが必ずしも一致しないことである。このような不一致によって、レプリケーションプロセス中にエラー殊にデータオブジェクトが失われるというエラーが引き起こされる可能性があり、これが起きる可能性があるのは、レプリケーションプロセスがタイムスタンプとコミット時点および/または格納時点との間で同時に行われ、レプリケーションプロセスがパラレルに実行される場合である。タイムスタンプをt、コミット時点をt、レプリケーションインターバルをt〜tとし、ここでt<t<t<tであるものとする。このようなタイムギャップの場合、コミットが欠落している(t<tである)ことに起因して特定のデータオブジェクトをレプリケーションアプリケーションがまだ見ることができず、したがってそのようなデータオブジェクトはレプリケートされないことになる。t〜tのインターバルを伴う次のレプリケーション実行中、そのデータオブジェクトのタイムスタンプは、t<tであることが多いことから、このインターバル内にはない。この問題は通常、時点t+Δtをレプリケーションインターバルの上方レベルとして使用し、後続のレプリケーション実行を正確にtでスタートさせることによって抑えられる。Δtの一般的な長さは約30分である。ただしΔtを用いたこのコンセプトによる欠点は、Δtが長すぎるときには「ヒストリカルな」データオブジェクト "historical data object"がレプリケートされる一方、Δtが短すぎるときにはデータオブジェクトが失われてしまう。さらにタイムスタンプの割り当てはコンピュータの中央リソースへのアクセスであって、データオブジェクトの格納を並行して妨害する。
したがって、上述の問題点の少なくとも一部分のもっと効果的な解決手段を提供する方法、ソフトウェアアプリケーションおよび/またはデータ処理システムが必要とされている。殊に望まれるのは、レプリケートすべきデータオブジェクトを識別するためのメカニズムをもつソフトウェアアプリケーションを提供することである。
発明の概要
本発明によれば実施形態として概略的に記載されているように本発明の基本原理に即した方法およびシステムによって、コンピュータシステムにおけるデータオブジェクト処理プロセスのためのアクセス用の電子データ要素が提供され、この場合、前記の電子データ要素は以下に示すa)〜c)の状態のうちの少なくとも1つにセット可能である。すなわち、a)第1の状態、この状態において1つまたは複数のデータオブジェクト処理プロセスによって前記の電子データ要素にアクセス可能、その際この電子データ要素を1つまたは複数のデータオブジェクトに割り当て可能。b)第2の状態、この状態では1つまたは複数のデータ処理プロセスによっても前記の電子データ要素にアクセス不可能、ただしこの電子データ要素を1つまたは複数のデータオブジェクトに割り当て可能。c)第3の状態、この状態では1つまたは複数のデータ処理プロセスによっても前記の電子データ要素にアクセス不可能、かつその電子データ要素を1つまたは複数のデータオブジェクトに割り当て不可能。
データ処理において本発明による電子データ要素を利用すれば電子データ要素とその状態を問い合わせることで、データの処理、記憶またはレプリケーションの目的でデータオブジェクトに対するアクセスを要求するソフトウェアアプリケーションを、電子データ要素および/またはデータオブジェクトに対してどのオペレーションが許可されているか否かについてチェックすることができ、殊に割り当てられた電子データ要素をもつデータオブジェクトがレプリケーションプロセスに対して準備完了状態にあるか否かについてチェックすることができる。準備完了状態にあれば、上述のようなデータオブジェクトをそれらのソースシステムからターゲットシステムへとレプリケートしてかまわない。
別の観点によれば本発明は実施形態に概略的に記載されているように本発明の基本原理に即した方法およびシステムによって、1つまたは複数の先行の電子データ要素をもつコンピュータシステムにおいて実行される1つまたは複数のプロセスによってデータオブジェクトをレプリケートおよび処理する方法が提供され、この場合、割り当てられた電子データ要素が第3の状態にセットされているデータオブジェクトをターゲットシステムへレプリケートするステップa)が設けられている。この方法ならびに本発明による電子データ要素を使用することにより、第3の状態にあるこの特定の電子データ要素を使用するレプリケーションプロセスの開始または終了後、この電子データ要素には他のいかなるデータオブジェクトも割り当て不可能であることが保証される。したがってレプリケーションプロセスによっていかなるデータオブジェクトも省かれてしまう可能性がない。
本発明はさらに、コンピュータシステムにおけるデータオブジェクトを処理するための方法に関する。この場合、本発明による電子データ要素の1つまたは複数が生成され、それらが第1の状態にセットされる。
さらに本発明は電子データ要素をもつデータ構造、本発明およびその実施形態各々に従いデータを処理するための命令をもつコンピュータシステム、コンピュータプログラム、コンピュータで読み取り可能な媒体、搬送信号も対象としている。
実施例の説明には本発明の付加的な目的や利点が述べられており、あるいは本発明を実施することでそれらを理解することができる。本発明の目的ならびに利点を、殊に特許請求の範囲に示されている要素やそれらの組み合わせによって実現し達成することができる。詳細な説明および従属請求項には本発明の実施形態が開示されている。
なお、上述の概略的な説明ならびに以下の詳細な説明は例示であって説明のためのものにすぎず、特許請求の範囲に記載された本発明を限定するものではない。
図面の簡単な説明
次に、図面を参照しながら実施例に基づき本発明の基本的な着想について詳しく説明する。
図1は、コンピュータシステムにおいて本発明による電子データ要素をインプリメントする様子を示す概略ブロック図である。
図2は、電子データ要素に適用可能なオペレーションについて例示したブロック図である。
図3は、電子データ要素を使用したデータ処理プロセスに関する第1の実施形態を例示したフローチャートである。
図4は、電子データ要素を使用したデータ処理プロセスに関する第2の実施形態を例示したフローチャートである。
図5は、電子データ要素を使用したデータ処理プロセスに関する第3の実施形態を例示したフローチャートである。
図6は、電子データ要素を使用したデータレプリケートプロセスに関する第1の実施形態を例示したフローチャートである。
図7は、電子データ要素を使用したデータレプリケートプロセスに関する第2の実施形態を例示したフローチャートである。
図7aは、電子データ要素を使用したデータレプリケートプロセスに関するさらに別の実施形態を例示したフローチャートである。
図8は、電子データ要素の状態に関する時間順序の流れと、複数の独立したプロセスによって実行される本発明による方法によるステップとを示す図である。
詳細な説明
次に、本発明の原理について、添付の図面に例示されているデータ処理プロセスに基づき本発明を説明しながら詳しく述べることにする。ここで説明する実施例はあくまで例示目的であって、いかなるかたちであろうと本発明を限定するものではない。
本明細書のコンセプトにおいて、使用される用語は以下のセクションで異なる定義がなされていないかぎり、データ処理の分野というコンテキストにおいて一般的な意味をもつものである。
コンピュータシステムとは広い概念で、PCまたはラップトップのようなあらゆるスタンドアローンコンピュータ、またはたとえば社内ネットワークなどのネットワークを介して接続された一連のコンピュータ、あるいはインターネットを介して接続された一連のコンピュータのことを指す。
コンピュータシステムとプログラムは密接に関連しているといえる。ここで用いるように「コンピュータが〜をもたらす」および「プログラムが特定のアクションをもたらすまたは実行する」、「ユーザが特定のアクションを実行する」といったフレーズは、プログラムによりコントロール可能なコンピュータシステムによるアクションを表現するために用いられるし、あるいはコンピュータシステムが特定のアクションを実行できるよう、あるいはユーザがコンピュータシステムを用いて特定のアクションを実行できるよう、プログラムまたはプログラムモジュールを設計可能であることを表現するために用いられる。
また、データオブジェクトという用語は、たとえば数値データまたはテキストデータ、イメージデータ、メタデータなどあらゆる種類またはタイプのデータを広い概念で指すものであって、このことはデータがファイル全体またはファイルの一部分あるいはテーブル内のフィールドとして実現されていようと、あるいは揮発性メモリまたは不揮発性メモリとして格納されていようと、それらのことには関係なく適用される。一例としてデータオブジェクトを、たとえばリレーショナルデータベースなどにおける1つまたは複数のテーブルの1つまたは複数のフィールドとしてインプリメントすることができる。この種のデータオブジェクトの処理には、計算、修正、コピー、削除、挿入などデータに対する通常のオペレーションが含まれている。
コミットという用語は、コンピューティングシステムまたはコンピュータシステムにおける1つのトランザクションの処理の一部分として、先行して開始されたデータベース変更を首尾よく完了させる際の最終ステップのことを広い概念で指す。
ソース/ターゲットシステムという用語は、データオブジェクトが格納されたまたは格納可能であるソフトウェアアプリケーションの設けられたまたは設けられていないあらゆるコンピュータシステムのことを広い概念で指す。その際、ソースシステムとターゲットシステムはデバイスを共有することができる。その結果として、ソースシステムとターゲットシステムが同一のコンピュータシステムにインプリメントされている可能性がある。
データ構造とは、データを組織および格納するために特化されたフォーマットのことを広い概念で指す。データ構造の種類には配列、ファイル、レコード、テーブル、ツリー等が含まれている。この種のデータ構造を特有の目的に適合したデータを組織するために設計することができ、したがって適切なやり方でアクセスして利用することができる。コンピュータプログラミングにあたって、様々なアルゴリズムを用いたその動作の目的に合わせてデータまたはデータオブジェクトを格納するために、データ構造を選定または設計することができる。さらにデータ要素とは本発明の範囲において、1つのデータ構造に格納されたデータである。本発明による電子データ要素を、先に定義したデータオブジェクトと捉えることもできる。さらに電子データ要素という用語は、処理すべきデータオブジェクトを区別する目的で使用される。
コンピュータプログラミング言語において、本発明による電子データ要素を1つまたは複数のテーブルの1つまたは複数の行としてインプリメントすることができ、その際、各行は1つまたは複数のフィールドを有している。オブジェクト指向プログラミングの場合、電子データ要素を1つのクラスの1つのインスタンスとしてインプリメントすることができる。この場合、クラスは識別子(略して”ID”)のための少なくとも1つの変数と状態のための1つの変数をもっている。
電子データ要素に関する第1の実施形態の特徴によれば、このデータ要素は1つのテーブルにおける1つまたは複数の第1のフィールドと1つの第2のフィールドとしてインプリメントされており、その際、1つまたは複数の第1のフィールドには識別子が含まれており、第2のフィールドには1つまたは複数の第1のフィールドにおける識別子の状態に関する情報が含まれている。
電子データ要素に関する択一的な実施形態の特徴によれば、このデータ要素は第1のテーブルにおける1つまたは複数の第1のフィールドと第2のテーブルにおける1つの第2のフィールドとしてインプリメントされており、その際、第1のテーブルにおける1つまたは複数の第1のフィールドには識別子が含まれており、第2のテーブルにおける第2のフィールドには、第1のテーブルにおける1つまたは複数の第1のフィールドの識別子の状態に関する情報が含まれている。
IDという用語はデータのタイプを広い概念で指しており、これによって処理すべきデータオブジェクトまたはデータオブジェクトの集合の識別が可能となり、たとえばそれを数字または英数字キャラクタの組み合わせとしてインプリメントすることができる。したがって本発明による電子データ要素を1つのテーブルにおける2つのフィールドとしてインプリメントすることができ、これら2つのフィールドのうち第1のフィールドにはIDが格納され、第2のフィールドには電子データ要素の状態に関する情報が格納され、たとえばこれは”I”,”II”または”III”といった3つの異なるデータであって、これにより電子データ要素の第1の状態、第2の状態または第3の状態が規定される。
1つまたは複数の以下のオペレーションを、電子データ要素において実行することができる:第1の状態をもつ電子データ要素の生成、第1の状態から第2または第3の状態への変化、第2の状態から第3の状態への変化、状態変化のブロックまたはブロック解除、IDに対するロック(以下を参照)殊に共有ロックのセット/抹消、IDの状態を要求。これとは逆に、状態に依存してロックのセットを行うこともできる:状態が第2の状態であれば、共有ロックをそのIDにセットすることはできず、これは第2の状態について考えられるインプリメンテーションの一例である。IIIからIまたはIIへの状態変化は禁止されている。有利にはさらに別の変数も利用することができ、そのような変数は「デフォルト」または「デフォルトでない」といった状態/内容をもつことができ、これによって個々の電子データ要素がデフォルト要素として規定される。状態の変更を、第1または第2の状態に対するシンボル(たとえばキャラクタ、数字、符号またはそれらの組み合わせ)から第3の状態に対するシンボルへと、状態情報のためのフィールド内のエントリを変更することによって実現することができる。
ロックとは、特定のデータが他のアプリケーションによりアクセスされないようにするデータベースまたはソフトウェアアプリケーションのメカニズムである。次に、これについて詳しく説明する。
従来技術において知られているようにコンピュータデータベースシステムは、プログラムから変更ステートメント(INSERT, UPDATE, MODIFY, DELETE)を受け取ると、データベースロックを自動的にセットする。データベースのロックは、上述のステートメントにより影響の及ぼされるデータベースエントリに対する物理的なロックである。1つの既存のデータベースエントリに対し1つのロックだけをセットすることができ、これはロックメカニズムがエントリ内のロックフラグを利用していることによる。これらのフラグは、データベースがコミットされるたびにそのつど自動的に削除される。つまりデータベースロックは、単一のデータベースLUW(logical unit of work)よりも長い期間にわたっては決してセットできない。
したがってデータベースシステムにおける物理的なロックは環境によっては、データをロックする要求にとって不十分なものとなる可能性がある。アプリケーションによっては、複数のLUWステップの期間にわたりロックをセットしたままにしなければならない。また、それらを種々の作業プロセスによって処理できなければならず、複数の異なるアプリケーションによってさえ処理できなければならない。このような要求を満たすために、いわゆる論理的なロックが作られた。
物理的なロックをセットするデータベースアプリケーションとは異なり、論理的なロックをセットするということは、ロックされるデータオブジェクトがデータベーステーブルにおいて物理的にはロックされないことを意味する。論理的なロックは、単に中央のロックテーブルにおけるロック引数のエントリとしてインプリメントすることができる。ロック引数はロックすべきデータオブジェクトのプライマリーキーフィールドたとえばIDとすることができる。論理的なロックはデータベースLUWには依存しない。データベース更新時またはトランザクション終了時にはこれを暗黙的に解放することができるし、あるいは中央のロックテーブル中のエントリを削除することによって明示的に解放することもできる。その結果、論理的なロックの効力に対し、有利には共働するアプリケーションプログラミングによって作用が及ぼされる。論理的なロックのコンセプトはデータベーステーブル自体における物理的なロックを利用していないため、同じアプリケーションオブジェクトを使用するすべてのプログラムはどのような論理的なロックのためにも中央テーブル自体においてロックしなければならない。この場合、ロックテーブル内のロックが無視されないようプログラムを自動的に阻止するメカニズムは存在しない。少なくとも2つのタイプの論理的なロックをインプリメントすることができる:
共有ロック
アプリケーション(またはプログラム)によってセットされる共有ロック(または読み取りロック)によって、アプリケーションにより読み取られている間、他のアプリケーションによってデータが変更されないようにすることができる。共有ロックは、他のプログラムがオブジェクト変更のため排他ロック(書き込みロック)をセットするのを阻止する。ただしこれによっても、他のプログラムがさらに共有ロックをセットするのは阻止されない。
排他ロック
アプリケーションによってセットされる排他ロック(または書き込みロック)によって、そのアプリケーションがデータを変更中、そのデータ自体が変更されないよう阻止することができる。排他ロックはその名前からわかるように、それをセットしたプログラムにより排他的に使用するためにデータオブジェクトをロックする。この場合、他のプログラムは同じアプリケーションオブジェクトに対して共有ロックも排他ロックもセットすることはできない。
論理的なロックのコンセプトであれば、上述のようなデータオブジェクトに対し、特にIDに対し、1つまたは複数のロックをセットすることができ、このロックは2つ以上のLUWの期間にわたり存在し、2つ以上のアプリケーションによって取り扱うことができる。
以下で詳しく説明するように、本発明による電子データ要素ならびに本発明による方法によれば両方のコンセプトが利用される。
第1の状態にある場合、1つのデータオブジェクトを処理する複数のプロセスによって本発明による電子データ要素をアクセスすることができ、これをそれらのプロセスのいずれかにより処理される1つまたは複数のデータオブジェクトに割り当てることができる。データオブジェクトへの電子データ要素の割り当てを、たとえばそのコピーをデータオブジェクトといっしょに、あるいはそのコピーを特定のデータオブジェクトを一義的に識別する第2のIDとともに、別個のテーブルに格納することによってインプリメントすることができる。択一的に、電子データ要素に対するリンクを付加して格納することができる。さらに択一的に、データオブジェクトまたはその識別子に対するリンクと電子データ要素のIDを別個のテーブルに格納することができる。
第1の状態においてデータ処理プロセスに対し、電子データ要素に対する共有ロックのセットが許可される。
電子データ要素が第2の状態にあれば、その電子データ要素は依然として読み取り可能であり、データオブジェクトに割り当てることができる。ただし電子データ要素をアクセスすることはできない。つまりその電子データ要素に対する共有ロックのセットは、そのデータ処理プロセスに対し許可されていない。
電子データ要素が第3の状態にあるときには、その電子データ要素をデータ処理プロセスによってアクセスすることもできなければ、データオブジェクトに割り当てることもできない。ただしレプリケーションプロセスであればこの第3の状態において、割り当てられた第3の状態における特定の電子データ要素をもつすべてのデータオブジェクトを選択することができる。上述の3つの状態の特性ゆえに、この(これらの)特定の第3の状態の電子データ要素を、他のいかなるデータ処理プロセスによって割り当てることもできなければアクセスすることもできない。したがって、割り当てられた第3の状態の電子データ要素をもつデータオブジェクトを選択する本発明によるレプリケーションプロセスを使用することによって、関連技術の説明のセクションで述べたようなタイムギャップ問題ゆえに、データオブジェクトを削除することができないようになる。このことを実践に移すためには、データをレプリケートおよび処理するプロセスを相応にプログラミングしなければならない。
発明の概要のセクションで説明したとおり本発明による方法の第1の実施形態の特徴によればこの方法にはさらに、先行の電子データ要素のうちの1つを選択し、その電子データ要素を1つまたは複数のデータオブジェクトに割り当て、そのデータオブジェクトを記憶するステップb)が設けられている。
本発明による方法の第2の実施形態の特徴によればこの方法にはさらに、割り当てられたデータオブジェクトの格納がコミットされたならば、選択された電子データ要素を第3の状態にセットするステップc)が設けられている。
第3の実施形態によればステップa)〜c)に依存してまたは依存せずに、別の電子データ要素を生成してそれを第1の状態にセットするステップd)が設けられている。
排他ロックをセットできるのであれば、IDには対してはもはや共有ロックは存在しない。つまりデータオブジェクトの処理および記憶が完了されており、そのIDデータに割り当てられたデータオブジェクトを、データを失うおそれなくレプリケートすることができる。
さらに別の実施形態によれば、前記のさらに別の電子データ要素をデフォルト要素として定義し、以前の電子データ要素を第2の状態にセットするステップe)が設けられている。
さらに別の実施形態の特徴によれば、前記のさらに別の電子データ要素をデフォルトとして定義し、デフォルト要素として定義されていた以前の電子データ要素の状態を第2の状態に変更する。
さらに別の実施形態の特徴によればステップb)において、デフォルト要素を1つまたは複数のデータオブジェクトに割り当てるためにデフォルト要素を選択する。
さらに別の実施形態において本発明によればステップb)において、自身をセットするプロセスに対する参照をもつブロックを電子データ要素にセットするステップが設けられており、このブロックによって、電子データ要素の状態が第1または第2の状態であるときにその電子データ要素が第3の状態に変更されるのが回避される。
これらに加えてさらに別の実施形態によればステップb)において、電子データ要素の状態が第1または第2の状態であり記憶がコミットされたならば、プロセスを指すリファレンスをもつブロックを削除する。
さらに別の特徴によれば、電子データ要素の状態が第3の状態であれば、その電子データ要素の状態変更を不可逆的にブロックする。
有利であるのは、選択された電子データ要素に対し共有ロックをセットすることによって上記のブロックを実現するのが有利である。この場合、その共有ロックを削除することによってブロック解除を実現することができる。
本発明による方法のさらに別の実施形態によれば、電子データ要素を1つまたは複数の第1のフィールドをもつ第1のテーブルとして実現し、そのテーブルに識別子を設け、その際、共有ロックを第1のフィールドにおける1つまたは複数のフィールドにセットする。さらに別の実施形態の特徴によれば第1のテーブルに、状態情報を含む第2のフィールドを設ける。さらに別の実施形態の特徴によれば第2のテーブルを設け、そのテーブルに第1のテーブルとリンクさせた状態情報を含むフィールドをもたせる。
さらに別の実施形態の特徴によればステップb)において、電子データ要素をデータオブジェクトに割り当てるのに先立ちその電子データ要素に対し共有ロックをセットすることによって上述のブロックを実現する。さらに別の実施形態の特徴によればステップb)において、記憶がコミットされたならばただちに前記の共有ロックを削除することによってブロック解除を実現する。
本発明による方法のさらに別の実施形態の特徴によればステップc)に先立ち、電子データ要素に対し共有ロックがセットされているか否かをチェックし、共有ロックがセットされていなければステップc)を実行するステップf)が設けられている。さらに別の実施形態によれば、ステップc)が失敗した場合、まえもって規定可能な時間だけ待機してステップf)に戻るステップg)が設けられている。さらに別の実施形態の特徴によれば、まえもって選択可能な回数だけステップg)を繰り返す。さらに別の実施形態の特徴によれば、電子データ要素に対して排他ロックのセットを試みることによりチェックを実現し、排他ロックがセットされていたならば、電子データ要素に対し共有ロックがセットされていない状態に戻す。
さらに別の実施形態の特徴によれば、ステップb)および/またはステップl)および/またはステップc)を独立したプロセスによって無関係に実行する。
さらに別の実施形態によれば第1の状態のデータ要素の生成後、
まえもって規定可能な個数のサブプロセスをそれらに対応する個数のデータオブジェクトを処理するために生成するステップh)と、
対応するサブプロセスにおいてデータオブジェクトごとにステップb)を実行するステップi)と、
サブプロセスを生成したプロセスにおいて、対応する個数の共有ロックがデータ要素にセットされるまで待機してから、データ要素の状態を第2の状態に変更するステップj)と、
個々のサブプロセスにおけるデータオブジェクトを処理して格納するステップk)
が設けられている。
本発明による方法のさらに別の実施形態によれば、第1の状態にある電子データ要素を第2の状態にセットするステップl)が設けられている。この実施形態は独立したプログラムによってインプリメントすることができ、このプログラムによればインクリメントによって自動的に、あるいはコンピュータシステムのユーザにより「手動で」IDを生成することもできる。
さらに別の実施形態の特徴によれば、電子データ要素にはGUIDまたはタイムスタンプが設けられている。GUIDという用語は当業者に周知であり、広くグローバル一意識別子 global unique identifierのことを指す。これはWordドキュメントといったエンティティに対し一意の識別子を作るためにプログラミングにより生成される数字について用いられる用語である。GUIDはインタフェース、レプリカセット、レコードならびに他のオブジェクトを識別するため、製品において幅広く利用されている。異なる種類のGUIDをもつ異なる種類のオブジェクトたとえばMicrosoft Access databaseは、レプリケーションのために一意の識別子を作成する目的で16byteのフィールドを利用する。タイムスタンプには、データオブジェクトに対して実行される特定のアクションの日付と時間が含まれている。日付および/または時間を、電子データ要素のIDパートにおける別個のフィールドに格納することができる。さらに別の実施形態の特徴によれば、第3の状態におけるデータ要素に連続番号を付ける。さらに別の実施形態の特徴によれば、共有ロックは論理的な読み取りロックまたはデータベースの読み取りロックである。
さらに別の実施形態によれば、本発明による方法をエンタープライズリソースプラニングソフトウェアにおいて使用する。特定の利用法として挙げられるのは、財務分野におけるデータオブジェクトたとえばブッキング、アカウンティング、インボイシング、レシート、バウチャーなどのオブジェクトの処理、記憶ならびにレプリケーションである。
次に、図面を参照しながら本発明について詳しく説明する。
図1には、本発明による1つの実施形態に関して1つの実施例が描かれている。これは本発明による方法を実施するためのプログラムモジュールを備えたコンピュータシステムである。
図1に示されているコンピュータシステム101はコンピュータ103を有しており、これにはCPU105およびこのCPU105によって処理するためにソフトウェアアプリケーション111の格納されたワークメモリ102が設けられている。ソフトウェアアプリケーション111は、本発明による方法に従いデータレプリケーションならびにデータ処理を実行するためのプログラムモジュール109,110を有している。本発明による電子データ要素はテーブル106にインプリメントされており、このテーブルは識別子(”ID”と略されたとえばID1,ID2,ID3といった連続番号が付され、最後のものはデフォルトID略して”DID”として定義される)のための列と、状態のための列と、デフォルト属性のための列を有している。テーブル106はメモリ102に格納されている。デフォルト状態のためのフィールド(図1の「デフォルト?」)に、一般的な意味で”イエス”を付加することによって、デフォルト属性を設定可能である。コンピュータシステム101はさらに、ユーザとのインタラクションたとえばプログラムモジュール始動および/またはデータ入力のための入力手段113と出力手段112、ならびにデータ送受信のためのネットワークコネクション装置114を含む入出力手段104を有している。ネットワークコンピュータ113として、ネットワークコネクション装置114を介して複数のコンピュータシステム101を接続可能である。この場合、ネットワークコンピュータ113を、別の記憶場所としての使用形態を含むさらに別の入出力手段として利用できる。
コンピュータシステム103はさらに第1の記憶手段107を有しており、その中にソースシステムのデータオブジェクトが格納される。第2の記憶手段108はターゲットシステムの記憶手段である。本明細書における用語において、図1のソースシステムとは記憶手段107を除いたコンピュータシステム103のことであり、ターゲットシステムとは記憶手段108を除いたコンピュータシステム103のことである。ただしターゲットシステムあるいはソースシステムを、他のいかなるネットワークコンピュータ114としてもよい。
この場合、本発明による方法を実施する目的でCPU105によりプログラムモジュール110が処理され、これらのプログラムモジュール110へ転送されるあらゆるデータオブジェクトがこれらのモジュール110によって処理される。本発明による処理によれば、DIDを利用できるか否かについて各モジュール110内でチェックが行われる。図1の実施例の場合、”ID3”というIDがDIDとして定義される。この場合、モジュール110によって、DIDが状態Iにあるか否かがチェックされる。これはテーブル106を問い合わせることによって行うことができる。択一的な方法によれば、このDIDに対し共有ロックのセットが試みられる。共有ロックがセットされているならば、DIDは状態Iである。この場合、DIDはモジュール110により処理されるデータオブジェクトに割り当てられ、それらのデータオブジェクトは処理されて記憶手段108に格納される。DIDに割り当てられているデータオブジェクトの記憶がコミットされた後、テーブル106へのエントリを行うことでDIDの状態はIIIにセットされる。
共有ロックがセットされているならば、特定のモジュール110によりセットされたDIDに対する共有ロックが削除される。この目的で、レプリケーションモジュール109を処理することができる。この種のモジュールによって、状態IIIのIDが存在するか否かがチェックされる。このチェックをテーブル106の問い合わせによって実施することができるし、あるいはこれに対する代案として、中央ロックテーブル106内に含まれている1つまたは複数のIDに対し排他ロックを試すことによって実施することができる。IDのうちの1つに排他ロックがセットされているならば、個々のIDは状態IIIにある。この場合、ID(図1ではID1)に割り当てられているデータオブジェクトがターゲットシステムにレプリケートされる。データオブジェクトをレプリケーションプロセスによって変更することができる(たとえば余分なまたは冗長な情報の圧縮あるいは除去)。
図2には、3つの列すなわちIDと状態とデフォルトとをもつテーブル200の5つの行として電子データ要素を実現した様子が描かれている。テーブル200のこのような組織を電子データ要素の構造と捉えることができる。基本的に独立したプロセスによって、テーブル200に対し以下のオペレーションの実行を許可することができる:個々のフィールドにおける相応の内容とともに新しい行をテーブル200に加えることで、状態Iにある新しい電子データ要素をプロセス201により生成することができる。この場合、プロセス202により状態をIからIIへ変更することができる。プロセス203により電子データ要素の状態をIIからIIIに変更することができ、これが可能であるのは、この変更がプロセス205などのような1つまたは複数のプロセスによってもブロックされていないときである。IIIからIIまたはIへの状態変化は許可されていない。状態IまたはIIにおける変更のブロックは、自身のブロックに対するプロセス206によってブロック解除することができる。
電子データ要素に対する共有ロックのセットと削除とによって、ブロックとブロック解除を実現することができる。"default?"の列に対する相応のエントリによって、プロセス207により特定のIDをデフォルトIDと定義することができる。プロセス207により、一度にただ1つのDIDしか存在させないようにすることができる。プロセス204により電子データ要素の状態を要求することができ、それを別のプロセスに転送することができる。基本的に、複数の電子データ要素を3つの状態のいずれかで存在させることができる。ここで繰り返し述べておくと、それぞれID、状態、デフォルト?というただ1つの列しかもたない3つのテーブルによって電子データ要素を実現することもでき、それら3つのテーブルは1つのテーブルとして振る舞うよう個々の行によって互いにリンクされている。同様に2/1の組み合わせも可能である。これに加えて、2つまたはそれ以上の列における2つまたはそれ以上のフィールドをIDにもたせることができ、たとえば分割に関してそれ相応の代案を用いながら数字とデータフィールドとタイムフィールドをもたせることができる。
図3には、本発明の基本原理に沿ったプロセスのフローチャートが示されている。ステップ301において、ソフトウェアアプリケーション(略して”SA”)またはプログラムモジュールによって、コンピュータシステムにおけるデータオブジェクト(略して”DO”)が処理される。ステップ302において、以前に生成されたIDが中央IDテーブルから選択される。ステップ303において、IDの状態が要求される。状態がIでなければ、このプロセスはステップ305においてエラープロセス306に分岐し、このエラープロセス306自体はステップ302に戻る。さもなければIDはステップ307においてブロックされる。その後、IDの状態がステップ308において再び要求される。状態がIまたはIIであれば、ステップ311においてそのIDがソフトウェアアプリケーションSAにより処理されるデータオブジェクトに割り当てられる。さもなければ、プロセスはエラープロセス310へ分岐する。状態を繰り返し要求することによって、並行して実行されている別個のプロセスにより引き起こされる可能性のあるID状態の変更の可能性を確実に考慮できるようになる。このようなケースでは、選択されたIDをデータオブジェクトに割り当てることは許可されない。その代わりに、他のIDを選択しなければならないかまたはプロセスを終了させなければならない。次にステップ312においてデータオブジェクトDOが格納される。ステップ313において格納がコミットされたならば、ステップ307においてセットされたIDに対するブロックが削除される。その後、プロセス301が終了するかまたは新たなデータオブジェクトDOを用いてリスタートされる。
図4には、デフォルトIDを使用して本発明の基本原理に従い実行されるプロセスのフローチャートが示されている。ステップ401において、ソフトウェアアプリケーション(略して”SA”)またはプログラムモジュールによって、コンピュータシステムにおけるデータオブジェクトが処理される。ソフトウェアアプリケーションSAはステップ402において、テーブル409からコンピュータシステムにおける現在のDIDを読み出す。次にステップ403において、ソフトウェアアプリケーションSAはこのDIDに対する共有ロックを試みる。ステップ404において、DIDの状態がIまたはIIであるかがチェックされる。答えが否定であるならば、つまり状態がIIIであるならば、ソフトウェアアプリケーションSAはステップ402に戻る。このループはまえもって決められた回数だけ実行することができ、ロックをセットできなかったケースであれば、エラーメッセージとともにループを中止することができる。有利であるのは、ステップ403における共有ロックのセットならびに首尾よくセットされたか否かのチェックを、1つの「アトミックな」ステップとしてインプリメントできるようにすることである。つまりこのことは、両方のステップが実質的に同時に実行されることを意味し、換言すれば両方のステップ間のタイムギャップが実質的にゼロであることを意味する。状態がIまたはIIであれば、ステップ405においてソフトウェアアプリケーションSAは処理されるデータオブジェクトにDIDを割り当て、ステップ406においてそのデータオブジェクトを記憶させる。ステップ407において記憶がコミットされた後、ステップ403においてセットされた共有ロックがステップ408において削除される。データオブジェクトを記憶装置に書き込むシステムルーチンから記憶プロセスがコミットされるのをソフトウェアアプリケーションSAが待つようにするループに、ステップ407を含めることができる。ここでもこのループをまえもって規定可能な回数だけ実行することができ、コミットがなければエラーメッセージとともにこのループを中止することができる。
ステップ408の後、ステップ409においてソフトウェアアプリケーションSAを終了させてもよいし、あるいは処理のために別のデータオブジェクトを選択してもよい。
このソフトウェアアプリケーションSAと並行して、他のソフトウェアアプリケーション410が別のIDをIDテーブルに加えることができ、この新たなIDをデフォルトIDとして定義することができる。
図5は、少なくとも2つのデータオブジェクトDOを並行して処理するための、電子データ要素を使用したデータ処理プロセスに関するさらに別の実施形態を例示したフローチャートである。ステップ501において、ソフトウェアアプリケーション(略して”SA”)またはプログラムモジュールはコンピュータシステムにおける4つのデータオブジェクトI〜IVを処理する。ステップ502において、ソフトウェアアプリケーションSAはIDをDIDとして生成し、それを状態Iにセットする。次のステップ503において、ソフトウェアアプリケーションSAは4つのサブプロセスI〜IVを生成し、これはデータオブジェクトDO I〜IVを個々のサブプロセスにおいてさらに処理するためである。サブプロセス(”SP”)I〜IVは互いに別個にかつ並列に実行される。わかりやすくするため、以下のセクションではただ1つのサブプロセス504 Iについてのみ説明する。ステップ505 Iにおいて、サブプロセスSP IはDIDに対し共有ロックをセットする。これによりDIDが状態IIIにセットされないようになる。共有ロックがセットされていたならば、それ相応のメッセージがソフトウェアアプリケーションSAへ送られる。その後、ステップ506 IにおいてデータオブジェクトDOが処理され、ステップ507 IにおいてDIDがデータオブジェクトDOに割り当てられ、このデータオブジェクトDOがステップ508 Iにおいて記憶され、記憶プロセスのコミット後、サブプロセスSP IによりDIDにセットされた共有ロックが削除される。その後、ステップ510 IにおいてSPが終了する。メインプロセスSA 501はループ511,512において、すべてのサブプロセスが個々の共有ロックを首尾よくセットさせてしまうまで待機する。この条件が満たされたならば、ステップ513においてソフトウェアアプリケーションSAはDIDの状態をIからIIへ変更する。つまりこれが意味するのは、この時点からは他のいかなるプロセスによってもこのDIDをアクセスできないということであり、すなわち他のいかなるプロセスも利用できないということである。ただし、すでにこのDIDにアクセスしたプロセスすなわちサブプロセスSP I〜IVによるDIDの割り当ては制限されない。その後、ステップ514においてソフトウェアアプリケーションSAが終了する。
図6には、データオブジェクトをレプリケートするために電子データ要素を利用するプロセスに関するフローチャートが例示されている。レプリケーションプロセス601はステップ601においてIDテーブルからIDを選択する。ステップ603において、選択されたIDが状態IIIにあるか否かがチェックされる。状態IIIにあるならばステップ604において、割り当てられたこのIDをもつすべての記憶されているデータオブジェクトがそれらのソースシステムからターゲットシステムへレプリケートされる。状態IIIにないのであれば、レプリケーションプロセスはエラールーチン606に分岐し、このルーチンによってエラーメッセージが生成されてステップ602に戻るかまたはプロセスが終了する。すべてのデータがレプリケートされてしまうと、プロセスはステップ605において、他のIDのデータオブジェクトをレプリケートすべきか否かについてチェックする。チェックの結果が肯定であればプロセスはステップ602へ戻り、そうでなければこのプロセスはステップ607において終了する。
図7には、データオブジェクトをレプリケートするために電子データ要素を利用するプロセスに関するフローチャートの別の例が示されている。図7のプロセスの場合、データオブジェクトを処理するプロセスと並行して実行可能なソフトウェアアプリケーション(SA)701は、ID"old"(「電子データ要素」と「ID」という表現は同義として使われる)が状態Iにある状態でスタートする。このIDは、1つまたは複数のデータオブジェクトをレプリケートする目的で、テーブル702aに従いデフォルトIDとして定義されている。テーブル702は3つの列から成る。1列目にはそのフィールドにIDに関する情報が含まれており、すなわちIDが入っており、2列目には状態に関する情報すなわち"I"または"II"または"III"が入っており、3列目にはデフォルト属性に関する情報すなわち「イエス」または「ノー」が入っている。702aの場合、テーブルには1つの電子データ要素が含まれており、これは「旧」、「I」、「イエス」を有している。ソフトウェアアプリケーションSAはステップ703において新たなID「新」を生成し、これを状態Iにセットする(テーブル702b)。ステップ704において、この新たなIDがデフォルトとして定義され、つまりdefault?の列の対応するフィールドに"yes"がエントリされる。これと同時に古いIDが否として再定義され、これは「デフォルト?」フィールドに「ノー」をエントリすることによって行われる(テーブル702c)。ステップ705において、古いIDの状態がIからIIに変更される。
レプリケーションプロセスに関する別の実施例が図7aのフローチャートに描かれている。レプリケーションアプリケーション7a01はステップ7a02において、コンピュータシステム内のIDテーブルからIDを読み出し、このIDはDIDではなく、さらにステップ7a03においてレプリケーションアプリケーション7a01はこのIDに対し排他ロックのセットを試みる。ついでアプリケーションはステップ7a05において、排他ロックをセットできたか否かをチェックする。チェックの結果が「ノー」であれば、アプリケーションはまえもって規定可能な期間だけ待機した後、ステップ7a04からステップ7a03へ戻る。まえもって規定可能な回数だけ試行が失敗した後、ループを中止させることができる。ステップ7a05の結果が肯定であれば、ステップ7a06でアプリケーションは割り当てられたIDをもつデータオブジェクトをそのソースシステムからターゲットシステムへレプリケートする。その後、ステップ7a07でレプリケーションアプリケーションを終了させることができるし、あるいは別のIDを選択することができる。
図8には、図2を参照しながら説明した本発明による方法に従うステップの時間的な流れが描かれており、これは複数の独立したプロセスにより実行される。6つのソフトウェアアプリケーション801〜806は、そのつど1つのデータオブジェクトまたは複数の異なるデータオブジェクト("DO"と略す)を処理する。プロセス801〜804の開始時点において、デフォルトIDはID2である。時点t1からは、新たなIDであるID3がデフォルトIDとなり、ID2の状態がIからIIへ変更される。その時点からはいかなるプロセスもID2をアクセスすることはできず、いかなるプロセスもそれをDOに割り当てるために利用できない。IDが状態IであるかIIであるかのチェックを、電子データ要素の個々の状態フィールドの問い合わせによって実現することができ、この場合、状態フィールドは上述のようなテーブルの1つの行として実装されている。
状態の変更は、図示されていない独立したプロセスによって実行することができる。プロセス各々は現在のDID(図4参照)を読み出す。プロセスに依存する時点t2(p)においてプロセス801〜806は、プロセス801〜803に関してはID2でありプロセス804〜806に関してはID3である現在有効なDIDに対し共有ロック(略して"SL")をセットすることにより、現在有効なDIDの状態がI,IIからIIIへ変化するのをブロックする。SLのセット後、プロセス801〜806は、SLをセットした個々のDIDをデータオブジェクトに割り当て、それらのデータオブジェクトをソースシステムに記憶させる。その結果、ID2が割り当て時点では現在有効なDIDではないにもかかわらず、プロセス803は依然としてID2をそのDOへ割り当てる。DOの処理ならびに記憶は、DOとプロセスに依存して所定の期間にわたり行われる。この期間は、記憶ルーチンのコミットを受け取る時点t3(p)において終了する。それを受け取った後、プロセス801〜806は個々のSLを消去する。
IDにおける最後のSLの消去がコミットされた時点からは(プロセス802)、ID2の状態をIIIにセット可能である。これが可能であるか否かは、IDに対し排他ロックのセットを試すことによってチェックできる。排他ロックを首尾よくセットできるならば、状態をIIIへ変更可能である。この時点からは、そのIDの割り当てられたDOをレプリケーション可能である。
本発明による方法のさらに別の実施形態によれば、図3および図6、図4および図7/7aによるプロセスをそれぞれ組み合わせることができ、1つのコンピュータシステムにおいて並列に実行させることができる。
これまでのセクションで説明してきたように本発明による方法および電子データ要素を使用することによって、レプリケーションアプリケーションによりいかなるデータオブジェクトも見落とす可能性が確実になくなる。
これまで本発明の実施形態について説明してきたけれども、本発明はここで説明してきた種々の有利な実施形態に限定されるものではなく、同等の要素、変形、省略、(たとえば種々の実施形態にまたがる着想の)組み合わせ、用途に合わせた整合および/または本発明の開示に基づく当業者に自明の変更を伴うあらゆるすべての形態が含まれる。特許請求の範囲は、各請求項で採用された言葉をベースとして広く解釈されるべきものであり、本発明の明細書で開示された例あるいは本出願を実施したときの例に限定されるものではなく、それらの例は非排他的なものと解釈されたい。たとえば本発明の開示において、「有利には」という表現は非排他的であって、「有利であるけれども、それには限定されない」ということを意味する。また、手段および機能あるいはステップおよび機能の限定は、特定の特許請求の範囲の限定に関して以下の条件のすべてがその限定中に存在しているところでのみ採用している:a)「〜のための手段」または「〜のためのステップ」という表現が敢えて挙げられている;b)対応する機能という表現が敢えて挙げられている;c)構造、材料またはその構造を支援する作用が挙げられていない。
ユーザとの対話を行えるようにする目的で本発明を、ユーザに情報を表示するためのCRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタ、ユーザがコンピュータに入力できるようにするためのキーボード、マウスやトラックボールなどのようなポインティングデバイスを備えたコンピュータシステムにおいて実現することができる。他の種類のデバイスも同様にユーザとの対話を行わせるために利用できる。たとえばユーザに対して提供されるフィードバックを視覚によるフィードバック、聴覚によるフィードバックまたは触覚によるフィードバックのような何らかの形態の感覚的フィードバックとすることができるし、ユーザからの入力を音響的入力、音声入力または触覚による入力を含む何らかの形態で受け取ることができる。
あるコンピュータプログラムの実行に適したプロセッサには一例として、汎用マイクロプロセッサと特定用途プロセッサの双方、ならびに何らかの種類のディジタルコンピュータにおける1つまたは複数のプロセッサが含まれる。一般にプロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはそれらの双方から命令とデータを受け取る。コンピュータの基本的な要素は、命令実行用のプロセッサと命令およびデータを格納するための1つまたは複数の記憶装置である。さらにコンピュータには一般に、データを格納するための1つまたは複数の大容量記憶装置(記憶手段)を有しているかまたは、データを受け取ったりデータを送ったりあるいは双方の目的で1つまたは複数の大容量記憶装置と機能的に結合されており、そのような大容量記憶装置はたとえば磁気ディスク、光磁気ディスクまたは光ディスクなどである。コンピュータプログラムの命令およびデータを実現するのに適した情報担体にはあらゆる形式の不揮発性メモリが含まれており、そのような不揮発性メモリとしてたとえばEPROM,EEPROM,フラッシュメモリデバイスなどのような半導体メモリデバイス、内蔵ハードディスクやリムーバルディスクなどのような磁気ディスク、光磁気ディスク、CD−ROMディスク、DVD−ROMディスクが挙げられる。プロセッサおよびメモリをASIC(特定用途向け集積回路)によって補うこともできるし、あるいはそれに組み込むこともできる。
既述の説明に基づくコンピュータプログラムおよび本発明のフローチャートは、経験のある開発者の技能の範囲内である。当業者に周知のあらゆる技術を利用して種々のプログラムまたはプログラムモジュールを生成することができ、あるいはそれらを既存のソフトウェアと結び付けて設計することもできる。たとえばプログラムまたはプログラムモジュールをJava(登録商標), C++, HTML, XMLまたはJava appletの埋め込まれたHTML, SAP R/3またはABAPで設計可能である。1つまたは複数のこの種のモジュールを、既存のEメールソフトウェアまたはブラウザソフトウェアに統合させることができる。
当業者に自明のとおり、これまで説明してきた本発明の仕様や実施形態を考慮して本発明の変形や用途に合わせた整合を行うことができる。本発明の実施形態に関するこれまでの説明は、例示や説明の目的で開示したものであって包括的なものではなく、本発明はここで開示した厳密な形態に制約されるものではない。これまでの開示内容に沿って変形や変更が可能であるし、あるいは本発明の実施形態から得ることができる。たとえば上述の実装にはソフトウェアが含まれていたが、本発明によるシステムおよび方法をハードウェアとソフトウェアの組み合わせとして、あるいはハードウェアだけで実装してもよい。また、本発明の着想をメモリへの格納に関して説明してきたけれども、当業者にとって明らかであるように、この着想をコンピュータで読み取り可能な他の形式の媒体に格納することも可能であって、たとえばハードディスク、フロッピーディスクまたはCD−ROMのような補助記憶装置やインターネットまたは他の伝搬媒体に、あるいはさらに別の形態のRAMまたはROMに格納することができる。
本明細書ならびに実施例は例証として考慮されるにすぎず、本発明の本質的な範囲ならびに意図は、以下の各請求項によって表される。
コンピュータシステムにおいて本発明による電子データ要素をインプリメントする様子を示す概略ブロック図 電子データ要素に適用可能なオペレーションについて例示したブロック図 電子データ要素を使用したデータ処理プロセスに関する第1の実施形態を例示したフローチャート 電子データ要素を使用したデータ処理プロセスに関する第2の実施形態を例示したフローチャート 電子データ要素を使用したデータ処理プロセスに関する第3の実施形態を例示したフローチャート 電子データ要素を使用したデータレプリケートプロセスに関する第1の実施形態を例示したフローチャート 電子データ要素を使用したデータレプリケートプロセスに関する第2の実施形態を例示したフローチャート 電子データ要素を使用したデータレプリケートプロセスに関するさらに別の実施形態を例示したフローチャート 電子データ要素の状態に関する時間順序の流れと、複数の独立したプロセスによって実行される本発明による方法によるステップとを示す図

Claims (8)

  1. 少なくとも一つのソフトウェアプログラムを格納するためのメモリと、一つ又は複数のデータオブジェクトを記憶するための第1の記憶手段と、一つ又は複数のデータオブジェクトを記憶するための第2の記憶手段と、前記第1の記憶手段に結合されたソースシステムと、前記第2の記憶手段に結合されたターゲットシステムと、少なくとも一つのソフトウェアプログラムを実行するために前記メモリ、前記第1の記憶手段及び前記第2の記憶手段に結合されたマイクロプロセッサとを備えるコンピュータシステムにおいて、前記ソースシステムから前記ターゲットシステムへデータオブジェクトをレプリケートする方法を実行するためのコンピュータプログラムであって、前記方法は、
    一つ又は複数のデータオブジェクトレプリケーションプロセス及び前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスを実行するための、前記コンピュータプログラムを含む少なくとも一つのソフトウェアプログラムにアクセス可能な電子データ要素を供給するステップであって、前記電子データ要素は、識別子を有する第1のフィールドと前記識別子の状態を有する第2のフィールドとを含み、前記識別子の状態は、a)前記電子データ要素が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセス可能であり、且つ、前記第1の記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子が割り当て可能である第1の状態、b)前記電子データ要素が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセス不可能であり、且つ、前記第1の記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子が割り当てられている第2の状態、c)前記電子データ要素が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセス不可能であり、且つ、前記第1の記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子が割り当て不可能である第3の状態のいずれか一つに設定され得るものである、ステップと、
    前記識別子の状態を前記第1の状態に設定するステップと、
    前記識別子の状態を前記第1の状態に設定した後に、前記第1の記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子を割り当てるステップと、
    前記識別子の状態が前記第1の状態に設定されている間に、前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスにより、前記割り当てられた一つ又は複数のデータオブジェクトにアクセスするステップと、
    前記割り当てられた一つ又は複数のデータオブジェクトのうちの少なくとも一部が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセスされている間に、前記識別子の状態を前記第1の状態から前記第2の状態に変更して設定するステップと、
    前記割り当てられた一つ又は複数のデータオブジェクトの前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによるアクセスが終了した後に、前記識別子の状態を前記第3の状態に変更して設定するステップと、
    前記識別子の状態が前記第3の状態に設定された後に、前記割り当てられた一つ又は複数のデータオブジェクトを前記一つ又は複数のデータオブジェクトレプリケーションプロセスにより前記第1の記憶手段から前記第2の記憶手段へレプリケートするステップと、
    を含む、ことを特徴とするコンピュータプログラム。
  2. 前記方法は、前記割り当てられた一つ又は複数のデータオブジェクトの前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによるアクセスが終了した後であって、前記識別子の状態を前記第3の状態に変更して設定するステップの前に、前記割り当てられた一つ又は複数のデータオブジェクトを記憶するステップをさらに含む、ことを特徴とする請求項1に記載のコンピュータプログラム。
  3. 前記方法は、前記割り当てられた一つ又は複数のデータオブジェクトを記憶するステップにおける当該記憶コミットした時に、前記識別子の状態を前記第3の状態に変更して設定するステップを実行する、ことを特徴とする請求項2に記載のコンピュータプログラム。
  4. データオブジェクトのレプリケーションプロセスにおけるデータ損失を防止するためのデータ損失防止システムであって、
    少なくとも一つのソフトウェアプログラムを格納するためのメモリと、
    一つ又は複数のデータオブジェクトを記憶するためのソース記憶手段と、
    一つ又は複数のデータオブジェクトを記憶するためのターゲット記憶手段と、
    少なくとも一つのソフトウェアプログラムを実行するために前記メモリ、前記ソース記憶手段及び前記ターゲット記憶手段に結合され、以下の各手段を実現するマイクロプロセッサと、
    一つ又は複数のデータオブジェクトレプリケーションプロセス及び前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスを実行するための少なくとも一つのソフトウェアプログラムにアクセス可能な電子データ要素を供給するための手段であって、前記電子データ要素は、識別子を有する第1のフィールドと前記識別子の状態を有する第2のフィールドとを含み、前記識別子の状態は、a)前記電子データ要素が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセス可能であり、且つ、前記ソース記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子が割り当て可能である第1の状態、b)前記電子データ要素が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセス不可能であり、且つ、前記ソース記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子が割り当てられている第2の状態、c)前記電子データ要素が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセス不可能であり、且つ、前記ソース記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子が割り当て不可能である第3の状態のいずれか一つに設定され得るものである、手段と、
    前記識別子の状態を前記第1の状態に設定するための手段と、
    前記識別子の状態を前記第1の状態に設定した後に、前記ソース記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子を割り当てるための手段と、
    前記識別子の状態が前記第1の状態に設定されている間に、前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスにより、前記割り当てられた一つ又は複数のデータオブジェクトにアクセスするための手段と、
    前記割り当てられた一つ又は複数のデータオブジェクトのうちの少なくとも一部が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセスされている間に、前記識別子の状態を前記第1の状態から前記第2の状態に変更して設定するための手段と、
    前記割り当てられた一つ又は複数のデータオブジェクトの前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによるアクセスが終了した後に、前記識別子の状態を前記第3の状態に変更して設定するための手段と、
    前記識別子の状態が前記第3の状態に設定された後に、前記割り当てられた一つ又は複数のデータオブジェクトを前記一つ又は複数のデータオブジェクトレプリケーションプロセスにより前記ソース記憶手段から前記ターゲット記憶手段へレプリケートするための手段と、
    を備えていることを特徴とするデータ損失防止システム。
  5. 前記マイクロプロセッサは、
    前記割り当てられた一つ又は複数のデータオブジェクトの前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによるアクセスが終了した後であって、前記識別子の状態を前記第3の状態に変更して設定するための手段の動作前に、前記割り当てられた一つ又は複数のデータオブジェクトを記憶するための手段
    をさらに実現する、ことを特徴とする請求項4に記載のデータ損失防止システム。
  6. 前記マイクロプロセッサは、
    前記割り当てられた一つ又は複数のデータオブジェクトを記憶するための手段による当該記憶コミットした時に、前記識別子の状態を前記第3の状態に変更して設定するための手段
    動作させる、ことを特徴とする請求項5に記載のデータ損失防止システム。
  7. ソースシステムからターゲットシステムへデータオブジェクトをレプリケートするためのデータオブジェクトレプリケーションシステムであって、
    少なくとも一つのソフトウェアプログラムを格納するためのメモリと、
    一つ又は複数のデータオブジェクトを記憶するためのソース記憶手段と、
    一つ又は複数のデータオブジェクトを記憶するためのターゲット記憶手段と、
    少なくとも一つのソフトウェアプログラムを実行するために前記メモリ、前記ソース記憶手段及び前記ターゲット記憶手段に結合され、以下の各手段を実現するマイクロプロセッサと、
    一つ又は複数のデータオブジェクトレプリケーションプロセス及び前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスを実行するための少なくとも一つのソフトウェアプログラムにアクセス可能な電子データ要素を供給するための手段であって、前記電子データ要素は、識別子を有する第1のフィールドと前記識別子の状態を有する第2のフィールドとを含み、前記識別子の状態は、a)前記電子データ要素が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセス可能であり、且つ、前記ソース記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子が割り当て可能である第1の状態、b)前記電子データ要素が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセス不可能であり、且つ、前記ソース記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子が割り当てられている第2の状態、c)前記電子データ要素が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセス不可能であり、且つ、前記ソース記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子が割り当て不可能である第3の状態のいずれか一つに設定され得るものである、手段と、
    前記識別子の状態を前記第1の状態に設定するための手段と、
    前記識別子の状態を前記第1の状態に設定した後に、前記ソース記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子を割り当てるための手段と、
    前記識別子の状態が前記第1の状態に設定されている間に、前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスにより、前記割り当てられた一つ又は複数のデータオブジェクトにアクセスするための手段と、
    前記割り当てられた一つ又は複数のデータオブジェクトのうちの少なくとも一部が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセスされている間に、前記識別子の状態を前記第1の状態から前記第2の状態に変更して設定するための手段と、
    前記割り当てられた一つ又は複数のデータオブジェクトの前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによるアクセスが終了した後に、前記識別子の状態を前記第3の状態に変更して設定するための手段と、
    前記識別子の状態が前記第3の状態に設定された後に、前記割り当てられた一つ又は複数のデータオブジェクトを前記一つ又は複数のデータオブジェクトレプリケーションプロセスにより前記ソース記憶手段から前記ターゲット記憶手段へレプリケートするための手段と、
    を備えていることを特徴とするデータオブジェクトレプリケーションシステム。
  8. 少なくとも一つのソフトウェアプログラムを格納するためのメモリと、一つ又は複数のデータオブジェクトを記憶するための第1の記憶手段と、一つ又は複数のデータオブジェクトを記憶するための第2の記憶手段と、前記第1の記憶手段に結合されたソースシステムと、前記第2の記憶手段に結合されたターゲットシステムと、少なくとも一つのソフトウェアプログラムを実行するために前記メモリ、前記第1の記憶手段及び前記第2の記憶手段に結合されたマイクロプロセッサとを備えるコンピュータシステムにおいて、前記ソースシステムから前記ターゲットシステムへデータオブジェクトをレプリケートする方法を実行するためのコンピュータプログラムが記録されたコンピュータ読み出し可能な記録媒体であって、前記方法は、
    一つ又は複数のデータオブジェクトレプリケーションプロセス及び前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスを実行するための、前記コンピュータプログラムを含む少なくとも一つのソフトウェアプログラムにアクセス可能な電子データ要素を供給するステップであって、前記電子データ要素は、識別子を有する第1のフィールドと前記識別子の状態を有する第2のフィールドとを含み、前記識別子の状態は、a)前記電子データ要素が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセス可能であり、且つ、前記第1の記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子が割り当て可能である第1の状態、b)前記電子データ要素が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセス不可能であり、且つ、前記第1の記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子が割り当てられている第2の状態、c)前記電子データ要素が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセス不可能であり、且つ、前記第1の記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子が割り当て不可能である第3の状態のいずれか一つに設定され得るものである、ステップと、
    前記識別子の状態を前記第1の状態に設定するステップと、
    前記識別子の状態を前記第1の状態に設定した後に、前記第1の記憶手段に記憶された一つ又は複数のデータオブジェクトに前記識別子を割り当てるステップと、
    前記識別子の状態が前記第1の状態に設定されている間に、前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスにより、前記割り当てられた一つ又は複数のデータオブジェクトにアクセスするステップと、
    前記割り当てられた一つ又は複数のデータオブジェクトのうちの少なくとも一部が前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによりアクセスされている間に、前記識別子の状態を前記第1の状態から前記第2の状態に変更して設定するステップと、
    前記割り当てられた一つ又は複数のデータオブジェクトの前記一つ又は複数のデータオブジェクトレプリケーションプロセス以外の一つ又は複数のソフトウェアプロセスによるアクセスが終了した後に、前記識別子の状態を前記第3の状態に変更して設定するステップと、
    前記識別子の状態が前記第3の状態に設定された後に、前記割り当てられた一つ又は複数のデータオブジェクトを前記一つ又は複数のデータオブジェクトレプリケーションプロセスにより前記第1の記憶手段から前記第2の記憶手段へレプリケートするステップと、
    を含む、ことを特徴とするコンピュータ読み出し可能な記録媒体。
JP2004554433A 2002-11-27 2003-11-24 データオブジェクトのコンピュータ化されたレプリケーション Expired - Lifetime JP4414893B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US42937202P 2002-11-27 2002-11-27
US42937102P 2002-11-27 2002-11-27
US42937402P 2002-11-27 2002-11-27
US42937302P 2002-11-27 2002-11-27
PCT/EP2003/013160 WO2004049155A2 (en) 2002-11-27 2003-11-24 Avoiding data loss when refreshing a data warehouse

Publications (2)

Publication Number Publication Date
JP2006508442A JP2006508442A (ja) 2006-03-09
JP4414893B2 true JP4414893B2 (ja) 2010-02-10

Family

ID=32398270

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2004554433A Expired - Lifetime JP4414893B2 (ja) 2002-11-27 2003-11-24 データオブジェクトのコンピュータ化されたレプリケーション
JP2004554432A Expired - Lifetime JP4414892B2 (ja) 2002-11-27 2003-11-24 データウェアハウスリフレッシュ時のデータ損失を防止する方法
JP2004554430A Expired - Lifetime JP4414890B2 (ja) 2002-11-27 2003-11-24 データウェアハウスリフレッシュ時のデータ損失を防止する方法
JP2004554431A Expired - Lifetime JP4414891B2 (ja) 2002-11-27 2003-11-24 データウェアハウスリフレッシュ時のデータ損失を防止する方法
JP2009239551A Expired - Lifetime JP5043913B2 (ja) 2002-11-27 2009-10-16 データウェアハウスリフレッシュ時のデータ損失を防止する方法

Family Applications After (4)

Application Number Title Priority Date Filing Date
JP2004554432A Expired - Lifetime JP4414892B2 (ja) 2002-11-27 2003-11-24 データウェアハウスリフレッシュ時のデータ損失を防止する方法
JP2004554430A Expired - Lifetime JP4414890B2 (ja) 2002-11-27 2003-11-24 データウェアハウスリフレッシュ時のデータ損失を防止する方法
JP2004554431A Expired - Lifetime JP4414891B2 (ja) 2002-11-27 2003-11-24 データウェアハウスリフレッシュ時のデータ損失を防止する方法
JP2009239551A Expired - Lifetime JP5043913B2 (ja) 2002-11-27 2009-10-16 データウェアハウスリフレッシュ時のデータ損失を防止する方法

Country Status (7)

Country Link
EP (4) EP1567952A1 (ja)
JP (5) JP4414893B2 (ja)
AT (1) ATE367612T1 (ja)
AU (4) AU2003302184B2 (ja)
CA (4) CA2505276C (ja)
DE (1) DE60315030T2 (ja)
WO (4) WO2004049203A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW383508B (en) 1996-07-29 2000-03-01 Nichia Kagaku Kogyo Kk Light emitting device and display
EP1811404A1 (de) * 2006-01-20 2007-07-25 Ubs Ag Technik zum Beliefern eines Data Warehouse unter Gewährleistung einer konsistenten Datensicht
US8676772B2 (en) 2011-12-09 2014-03-18 Telduráðgevin Sp/f Systems and methods for improving database performance

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261069A (en) * 1990-08-13 1993-11-09 Hewlett-Packard Company Method of maintaining consistency of cached data in a database system
US6032158A (en) * 1997-05-02 2000-02-29 Informatica Corporation Apparatus and method for capturing and propagating changes from an operational database to data marts
US6029178A (en) * 1998-03-18 2000-02-22 Bmc Software Enterprise data movement system and method which maintains and compares edition levels for consistency of replicated data
US6205449B1 (en) * 1998-03-20 2001-03-20 Lucent Technologies, Inc. System and method for providing hot spare redundancy and recovery for a very large database management system

Also Published As

Publication number Publication date
AU2003288151B2 (en) 2007-11-08
AU2003302184B2 (en) 2008-07-17
AU2003288151A1 (en) 2004-06-18
CA2505275C (en) 2009-06-16
CA2505270C (en) 2011-04-26
DE60315030T2 (de) 2008-04-03
JP2006508440A (ja) 2006-03-09
AU2003292085A1 (en) 2004-06-18
JP2006508442A (ja) 2006-03-09
EP1522032A1 (en) 2005-04-13
CA2505275A1 (en) 2004-06-10
EP1522032B1 (en) 2007-07-18
JP2006508439A (ja) 2006-03-09
WO2004049155A2 (en) 2004-06-10
JP4414890B2 (ja) 2010-02-10
EP1567957A2 (en) 2005-08-31
AU2003302184A1 (en) 2004-06-18
JP4414892B2 (ja) 2010-02-10
WO2004049155A3 (en) 2004-08-19
EP1567947A1 (en) 2005-08-31
DE60315030D1 (de) 2007-08-30
WO2004049203A1 (en) 2004-06-10
EP1567952A1 (en) 2005-08-31
CA2505270A1 (en) 2004-06-10
AU2003293716B2 (en) 2008-07-31
JP4414891B2 (ja) 2010-02-10
CA2505276A1 (en) 2004-06-10
AU2003293716A1 (en) 2004-06-18
JP2006508441A (ja) 2006-03-09
JP2010061674A (ja) 2010-03-18
CA2476603C (en) 2009-05-19
WO2004049201A1 (en) 2004-06-10
ATE367612T1 (de) 2007-08-15
WO2004049202A1 (en) 2004-06-10
AU2003292085B2 (en) 2008-01-10
CA2505276C (en) 2009-01-27
JP5043913B2 (ja) 2012-10-10
CA2476603A1 (en) 2004-06-10

Similar Documents

Publication Publication Date Title
US6564215B1 (en) Update support in database content management
Cahill et al. Serializable isolation for snapshot databases
CN104793988B (zh) 跨数据库分布式事务的实现方法和装置
US7756814B2 (en) Methods and systems for controlling access to a data object
US7464091B2 (en) Method and software for processing data objects in business applications
US7409412B2 (en) Data element and structure for data processing
US7225302B2 (en) Method and software application for avoiding data loss
JP5043913B2 (ja) データウェアハウスリフレッシュ時のデータ損失を防止する方法
US7430569B2 (en) Computerized replication of data objects
US7209919B2 (en) Library server locks DB2 resources in short time for CM implicit transaction
Kleppmann et al. The magazine archive includes every article published in Communications of the ACM for over the past 50 years.
Rocha Transaction Management for Multidatabases (Interactions): Synchronization of transactions used on planning applications
Deen Supporting Facilities

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080905

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081202

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081204

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081209

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081226

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090106

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090109

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090204

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090416

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090713

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090721

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090817

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090824

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090916

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091016

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: 20091113

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: 20091120

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4414893

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: 20121127

Year of fee payment: 3

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131127

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

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

EXPY Cancellation because of completion of term