(57)【特許請求の範囲】
【請求項１】
少なくとも一つのソフトウェアプログラムを格納するためのメモリと、一つ又は複数のデータオブジェクトを記憶するための第１の記憶手段と、一つ又は複数のデータオブジェクトを記憶するための第２の記憶手段と、前記第１の記憶手段に結合されたソースシステムと、前記第２の記憶手段に結合されたターゲットシステムと、少なくとも一つのソフトウェアプログラムを実行するために前記メモリ、前記第１の記憶手段及び前記第２の記憶手段に結合されたマイクロプロセッサとを備えるコンピュータシステムにおいて、前記ソースシステムから前記ターゲットシステムへデータオブジェクトをレプリケートする方法を実行するためのコンピュータプログラムであって、前記方法は、
第１のデータフィールド、第２のデータフィールド及び第３のデータフィールドを含む電子データ要素を供給するステップであって、前記第１のデータフィールドは、一つ又は複数のデータオブジェクトに割り当て可能な識別子を表すデータを含み、前記第２のデータフィールドは前記識別子の状態を表すデータを含み、前記第２のデータフィールドは、ａ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第１の状態、ｂ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションであって、前記識別子が前記第１の状態であったときに前記識別子に既にアクセスした一つ又は複数のデータオブジェクト処理オペレーションにより、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第２の状態、ｃ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て不可能である第３の状態のいずれか一つを記憶するように構成されており、前記第３のデータフィールドは、前記第１のデータフィールドに格納されている前記識別子がデフォルト識別子であるか否かを表すデータを格納するように構成されている、ステップと、
一つ又は複数のデータオブジェクトに前記識別子を割り当てるステップと、
前記コンピュータプログラムに従って前記マイクロプロセッサにより前記一つ又は複数のデータオブジェクトにアクセスするステップと、
前記一つ又は複数のデータオブジェクトを前記第１の記憶手段に記憶するステップと、
前記一つ又は複数のデータオブジェクトが前記第１の記憶手段から前記第２の記憶手段へレプリケートされる準備ができていることを表すように、前記電子データ要素の前記識別子の状態を変更するステップと、
前記一つ又は複数のデータオブジェクトを、前記識別子の状態の変更に応じて前記第１の記憶手段から前記第２の記憶手段へレプリケートするステップと、
を含む、ことを特徴とするコンピュータプログラム。
【請求項２】
前記方法は、前記一つ又は複数のデータオブジェクトに前記識別子を割り当てるステップより後であって前記電子データ要素の前記識別子の状態を変更するステップより前に、前記各ステップと並行して実行可能なステップとして、前記電子データ要素の前記第３のデータフィールドを、前記デフォルト識別子に対応する値から前記デフォルト識別子以外の識別子に対応する値に変更するステップをさらに含む、ことを特徴とする請求項１に記載のコンピュータプログラム。
【請求項３】
少なくとも一つのソフトウェアプログラムを格納するためのメモリと、一つ又は複数のデータオブジェクトを記憶するための第１の記憶手段と、一つ又は複数のデータオブジェクトを記憶するための第２の記憶手段と、前記第１の記憶手段に結合されたソースシステムと、前記第２の記憶手段に結合されたターゲットシステムと、少なくとも一つのソフトウェアプログラムを実行するために前記メモリ、前記第１の記憶手段及び前記第２の記憶手段に結合されたマイクロプロセッサとを備えるコンピュータシステムにおいて、前記ソースシステムから前記ターゲットシステムへデータオブジェクトをレプリケートする方法を実行するためのコンピュータプログラムであって、前記方法は、
第１のデータフィールド及び第２のデータフィールドを含む電子データ要素を供給するステップであって、前記第１のデータフィールドは、一つ又は複数のデータオブジェクトに割り当て可能な識別子を表すデータを含み、前記第２のデータフィールドは前記識別子の状態を表すデータを含み、前記第２のデータフィールドは、ａ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第１の状態、ｂ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションであって、前記識別子が前記第１の状態であったときに前記識別子に既にアクセスした一つ又は複数のデータオブジェクト処理オペレーションにより、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第２の状態、ｃ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て不可能である第３の状態のいずれか一つを記憶するように構成されている、ステップと、
一つ又は複数のデータオブジェクトに前記識別子を割り当てるステップと、
前記コンピュータプログラムに従って前記マイクロプロセッサにより前記一つ又は複数のデータオブジェクトにアクセスするステップと、
前記一つ又は複数のデータオブジェクトを前記第１の記憶手段に記憶するステップと、
前記一つ又は複数のデータオブジェクトが前記第１の記憶手段から前記第２の記憶手段へレプリケートされる準備ができていることを表すように、前記電子データ要素の前記識別子の状態を変更するステップと、
前記一つ又は複数のデータオブジェクトを、前記識別子の状態の変更に応じて前記第１の記憶手段から前記第２の記憶手段へレプリケートするステップと、
前記第２のデータフィールドを前記第１の状態から前記第２の状態へ変更するステップと、
を含む、ことを特徴とするコンピュータプログラム。
【請求項４】
前記電子データ要素の前記識別子の状態を変更するステップにおいて、前記第２のデータフィールドを前記第３の状態に変更する、ことを特徴とする請求項３に記載のコンピュータプログラム。
【請求項５】
前記方法は、前記電子データ要素を供給するステップの後であって前記電子データ要素の前記識別子の状態を変更するステップの前に、前記各ステップと並行して実行可能なステップとして、
第１のデータフィールド及び第２のデータフィールドを含む新たな電子データ要素を生成するステップであって、前記第１のデータフィールドは、一つ又は複数のデータオブジェクトに割り当て可能な識別子を表すデータを含み、前記第２のデータフィールドは、前記識別子の状態を表すデータを含む、ステップと、
前記新たな電子データ要素の前記第２のデータフィールドを前記第１の状態に設定するステップと、
をさらに含む、ことを特徴とする請求項４に記載のコンピュータプログラム。
【請求項６】
前記新たな電子データ要素は、前記新たな電子データ要素の前記第１のデータフィールドに格納されている前記識別子がデフォルト識別子であるか否かを表すデータを格納するように構成されている第３のデータフィールドをさらに含み、
前記方法は、前記新たな電子データ要素の前記第２のデータフィールドを前記第１の状態に設定するステップの後に、前記新たな電子データ要素の前記第１のデータフィールドが前記デフォルト識別子を含むことを表すデータを、前記新たな電子データ要素の前記第３のデータフィールドに格納するステップをさらに含む、ことを特徴とする請求項５に記載のコンピュータプログラム。
【請求項７】
前記方法は、前記新たな電子データ要素の前記第２のデータフィールドを前記第１の状態に設定するステップの後に、前記新たな電子データ要素の前記第２のデータフィールドを前記第２の状態に設定するステップをさらに含む、ことを特徴とする請求項５に記載のコンピュータプログラム。
【請求項８】
少なくとも一つのソフトウェアプログラムを格納するためのメモリと、一つ又は複数のデータオブジェクトを記憶するための第１の記憶手段と、一つ又は複数のデータオブジェクトを記憶するための第２の記憶手段と、前記第１の記憶手段に結合されたソースシステムと、前記第２の記憶手段に結合されたターゲットシステムと、少なくとも一つのソフトウェアプログラムを実行するために前記メモリ、前記第１の記憶手段及び前記第２の記憶手段に結合されたマイクロプロセッサとを備えるコンピュータシステムにおいて、前記ソースシステムから前記ターゲットシステムへデータオブジェクトをレプリケートする方法を実行するためのコンピュータプログラムであって、前記方法は、
第１のデータフィールド及び第２のデータフィールドを含む電子データ要素を供給するステップであって、前記第１のデータフィールドは、一つ又は複数のデータオブジェクトに割り当て可能な識別子を表すデータを含み、前記第２のデータフィールドは前記識別子の状態を表すデータを含み、前記第２のデータフィールドは、ａ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第１の状態、ｂ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションであって、前記識別子が前記第１の状態であったときに前記識別子に既にアクセスした一つ又は複数のデータオブジェクト処理オペレーションにより、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第２の状態、ｃ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て不可能である第３の状態のいずれか一つを記憶するように構成されている、ステップと、
一つ又は複数のデータオブジェクトに前記識別子を割り当てるステップと、
前記コンピュータプログラムに従って前記マイクロプロセッサにより前記一つ又は複数のデータオブジェクトにアクセスするステップと、
前記一つ又は複数のデータオブジェクトを前記第１の記憶手段に記憶するステップと、
前記一つ又は複数のデータオブジェクトが前記第１の記憶手段から前記第２の記憶手段へレプリケートされる準備ができていることを表すように、前記電子データ要素の前記識別子の状態を変更するステップと、
前記一つ又は複数のデータオブジェクトを、前記識別子の状態の変更に応じて前記第１の記憶手段から前記第２の記憶手段へレプリケートするステップと、
前記電子データ要素にブロックを設定するステップと、
前記電子データ要素の前記第２のデータフィールドを検査するステップと、
前記電子データ要素の前記第２のデータフィールドの状態が前記第１の状態又は前記第２の状態であるときは、前記第２のデータフィールドの状態が前記第３の状態に変更されることを防止するステップと、
を含む、ことを特徴とするコンピュータプログラム。
【請求項９】
前記方法は、前記第２のデータフィールドの状態が前記第３の状態に変更されることを防止するステップの後に、前記一つ又は複数のデータオブジェクトを前記第１の記憶手段に記憶して当該記憶がコミットされたときは、前記ブロックを解除するステップをさらに含む、ことを特徴とする請求項８に記載のコンピュータプログラム。
【請求項１０】
前記方法は、前記ブロックを解除するステップの後に、前記電子データ要素の前記第２のデータフィールドをさらに検査し、前記電子データ要素の前記第２のデータフィールドの状態が前記第３の状態であるときは、前記ブロックを不可逆的に設定するステップをさらに含む、ことを特徴とする請求項９に記載のコンピュータプログラム。
【請求項１１】
少なくとも一つのソフトウェアプログラムを格納するためのメモリと、一つ又は複数のデータオブジェクトを記憶するための第１の記憶手段と、一つ又は複数のデータオブジェクトを記憶するための第２の記憶手段と、前記第１の記憶手段に結合されたソースシステムと、前記第２の記憶手段に結合されたターゲットシステムと、少なくとも一つのソフトウェアプログラムを実行するために前記メモリ、前記第１の記憶手段及び前記第２の記憶手段に結合されたマイクロプロセッサとを備えるコンピュータシステムにおいて、前記ソースシステムから前記ターゲットシステムへデータオブジェクトをレプリケートする方法を実行するためのコンピュータプログラムであって、前記方法は、
第１のデータフィールド及び第２のデータフィールドを含む電子データ要素を供給するステップであって、前記第１のデータフィールドは、一つ又は複数のデータオブジェクトに割り当て可能な識別子を表すデータを含み、前記第２のデータフィールドは前記識別子の状態を表すデータを含み、前記第２のデータフィールドは、ａ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第１の状態、ｂ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションであって、前記識別子が前記第１の状態であったときに前記識別子に既にアクセスした一つ又は複数のデータオブジェクト処理オペレーションにより、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第２の状態、ｃ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て不可能である第３の状態のいずれか一つを記憶するように構成されている、ステップと、
一つ又は複数のデータオブジェクトに前記識別子を割り当てるステップと、
前記コンピュータプログラムに従って前記マイクロプロセッサにより前記一つ又は複数のデータオブジェクトにアクセスするステップと、
前記一つ又は複数のデータオブジェクトを前記第１の記憶手段に記憶するステップと、
前記一つ又は複数のデータオブジェクトが前記第１の記憶手段から前記第２の記憶手段へレプリケートされる準備ができていることを表すように、前記電子データ要素の前記識別子の状態を変更するステップと、
前記一つ又は複数のデータオブジェクトを、前記識別子の状態の変更に応じて前記第１の記憶手段から前記第２の記憶手段へレプリケートするステップと、
前記電子データ要素に共有ロックを設定するステップと、
を含む、ことを特徴とするコンピュータプログラム。
【請求項１２】
前記方法は、前記一つ又は複数のデータオブジェクトを前記レプリケートするステップの後の、前記電子データ要素に前記共有ロックを設定するステップの代わりに、前記電子データ要素を供給するステップの後であって前記一つ又は複数のデータオブジェクトに前記電子データ要素の前記識別子を割り当てるステップの前に、前記電子データ要素に前記共有ロックを設定するステップを含む、ことを特徴とする請求項１１に記載のコンピュータプログラム。
【請求項１３】
前記方法は、前記一つ又は複数のデータオブジェクトを前記第１の記憶手段に記憶するステップにおいて前記一つ又は複数のデータオブジェクトの記憶がコミットされた後であって前記電子データ要素の前記識別子の状態を変更するステップの前に、前記電子データ要素の前記共有ロックを解除するステップをさらに含む、ことを特徴とする請求項１２に記載のコンピュータプログラム。
【請求項１４】
前記方法は、前記電子データ要素を供給するステップの後であって前記一つ又は複数のデータオブジェクトに前記電子データ要素の前記識別子を割り当てるステップの前に、前記電子データ要素の前記共有ロックの状態を検査するステップをさらに含む、ことを特徴とする請求項１１に記載のコンピュータプログラム。
【請求項１５】
ソースシステムからターゲットシステムへ一つ又は複数のデータオブジェクトをレプリケートするためのデータオブジェクトレプリケーションシステムであって、
コンピュータプログラムを格納するためのメモリと、
一つ又は複数のデータオブジェクトを記憶するための第１の記憶手段と、
一つ又は複数のデータオブジェクトを記憶するための第２の記憶手段と、
前記第１の記憶手段に結合されたソースシステムと、
前記第２の記憶手段に結合されたターゲットシステムと、
コンピュータプログラムを実行するために前記メモリ、前記第１の記憶手段及び前記第２の記憶手段に結合され、以下の各手段を実現するマイクロプロセッサと、
第１のデータフィールド、第２のデータフィールド及び第３のデータフィールドを含む電子データ要素を供給する手段であって、前記第１のデータフィールドは、一つ又は複数のデータオブジェクトに割り当て可能な識別子を表すデータを含み、前記第２のデータフィールドは前記識別子の状態を表すデータを含み、前記第２のデータフィールドは、ａ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第１の状態、ｂ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションであって、前記識別子が前記第１の状態であったときに前記識別子に既にアクセスした一つ又は複数のデータオブジェクト処理オペレーションにより、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第２の状態、ｃ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て不可能である第３の状態のいずれか一つを記憶するように構成されており、前記第３のデータフィールドは、前記第１のデータフィールドに格納されている前記識別子がデフォルト識別子であるか否かを表すデータを格納するように構成されている、手段と、
一つ又は複数のデータオブジェクトに前記識別子を割り当てる手段と、
前記コンピュータプログラムに従って前記一つ又は複数のデータオブジェクトにアクセスする手段と、
前記一つ又は複数のデータオブジェクトを前記第１の記憶手段に記憶する手段と、
前記一つ又は複数のデータオブジェクトが前記第１の記憶手段から前記第２の記憶手段へレプリケートされる準備ができていることを表すように、前記電子データ要素の前記識別子の状態を変更する手段と、
前記一つ又は複数のデータオブジェクトを、前記識別子の状態の変更に応じて前記第１の記憶手段から前記第２の記憶手段へレプリケートする手段と、
を備えていることを特徴とするデータオブジェクトレプリケーションシステム。
【請求項１６】
前記マイクロプロセッサは、前記電子データ要素の前記第３のデータフィールドを、前記デフォルト識別子に対応する値から前記デフォルト識別子以外の識別子に対応する値に変更する手段をさらに実現することを特徴とする請求項１５に記載のデータオブジェクトレプリケーションシステム。
【請求項１７】
ソースシステムからターゲットシステムへ一つ又は複数のデータオブジェクトをレプリケートするためのデータオブジェクトレプリケーションシステムであって、
コンピュータプログラムを格納するためのメモリと、
一つ又は複数のデータオブジェクトを記憶するための第１の記憶手段と、
一つ又は複数のデータオブジェクトを記憶するための第２の記憶手段と、
前記第１の記憶手段に結合されたソースシステムと、
前記第２の記憶手段に結合されたターゲットシステムと、
コンピュータプログラムを実行するために前記メモリ、前記第１の記憶手段及び前記第２の記憶手段に結合され、以下の各手段を実現するマイクロプロセッサと、
第１のデータフィールド及び第２のデータフィールドを含む電子データ要素を供給する手段であって、前記第１のデータフィールドは、一つ又は複数のデータオブジェクトに割り当て可能な識別子を表すデータを含み、前記第２のデータフィールドは前記識別子の状態を表すデータを含み、前記第２のデータフィールドは、ａ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第１の状態、ｂ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションであって、前記識別子が前記第１の状態であったときに前記識別子に既にアクセスした一つ又は複数のデータオブジェクト処理オペレーションにより、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第２の状態、ｃ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て不可能である第３の状態のいずれか一つを記憶するように構成されている、手段と、
一つ又は複数のデータオブジェクトに前記識別子を割り当てる手段と、
前記コンピュータプログラムに従って前記一つ又は複数のデータオブジェクトにアクセスする手段と、
前記一つ又は複数のデータオブジェクトを前記第１の記憶手段に記憶する手段と、
前記一つ又は複数のデータオブジェクトが前記第１の記憶手段から前記第２の記憶手段へレプリケートされる準備ができていることを表すように、前記電子データ要素の前記識別子の状態を変更する手段と、
前記一つ又は複数のデータオブジェクトを、前記識別子の状態の変更に応じて前記第１の記憶手段から前記第２の記憶手段へレプリケートする手段と、
前記第２のデータフィールドを前記第１の状態から前記第２の状態へ変更する手段と、
を備えていることを特徴とするデータオブジェクトレプリケーションシステム。
【請求項１８】
前記マイクロプロセッサは、前記一つ又は複数のデータオブジェクトが前記第１の記憶手段に記憶された後に前記第２のデータフィールドを前記第３の状態に変更する手段をさらに実現することを特徴とする請求項１７に記載のデータオブジェクトレプリケーションシステム。
【請求項１９】
前記マイクロプロセッサは、
第１のデータフィールド及び第２のデータフィールドを含む新たな電子データ要素を生成するステップであって、前記第１のデータフィールドは、一つ又は複数のデータオブジェクトに割り当て可能な識別子を表すデータを含み、前記第２のデータフィールドは、前記識別子の状態を表すデータを含む、手段と、
前記新たな電子データ要素の前記第２のデータフィールドを前記第１の状態に設定する手段と、
をさらに実現することを特徴とする請求項１８に記載のデータオブジェクトレプリケーションシステム。
【請求項２０】
前記新たな電子データ要素は、前記新たな電子データ要素の前記第１のデータフィールドに格納されている前記識別子がデフォルト識別子であるか否かを表すデータを格納するように構成されている第３のデータフィールドをさらに含み、
前記マイクロプロセッサは、前記新たな電子データ要素の前記第１のデータフィールドが前記デフォルト識別子を含むことを表すデータを、前記新たな電子データ要素の前記第３のデータフィールドに格納する手段をさらに実現することを特徴とする請求項１９に記載のデータオブジェクトレプリケーションシステム。
【請求項２１】
前記マイクロプロセッサは、前記新たな電子データ要素の前記第２のデータフィールドを前記第２の状態に設定する手段をさらに実現することを特徴とする請求項１９に記載のデータオブジェクトレプリケーションシステム。
【請求項２２】
ソースシステムからターゲットシステムへ一つ又は複数のデータオブジェクトをレプリケートするためのデータオブジェクトレプリケーションシステムであって、
コンピュータプログラムを格納するためのメモリと、
一つ又は複数のデータオブジェクトを記憶するための第１の記憶手段と、
一つ又は複数のデータオブジェクトを記憶するための第２の記憶手段と、
前記第１の記憶手段に結合されたソースシステムと、
前記第２の記憶手段に結合されたターゲットシステムと、
コンピュータプログラムを実行するために前記メモリ、前記第１の記憶手段及び前記第２の記憶手段に結合され、以下の各手段を実現するマイクロプロセッサと、
第１のデータフィールド及び第２のデータフィールドを含む電子データ要素を供給する手段であって、前記第１のデータフィールドは、一つ又は複数のデータオブジェクトに割り当て可能な識別子を表すデータを含み、前記第２のデータフィールドは前記識別子の状態を表すデータを含み、前記第２のデータフィールドは、ａ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第１の状態、ｂ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションであって、前記識別子が前記第１の状態であったときに前記識別子に既にアクセスした一つ又は複数のデータオブジェクト処理オペレーションにより、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第２の状態、ｃ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て不可能である第３の状態のいずれか一つを記憶するように構成されている、手段と、
一つ又は複数のデータオブジェクトに前記識別子を割り当てる手段と、
前記コンピュータプログラムに従って前記一つ又は複数のデータオブジェクトにアクセスする手段と、
前記一つ又は複数のデータオブジェクトを前記第１の記憶手段に記憶する手段と、
前記一つ又は複数のデータオブジェクトが前記第１の記憶手段から前記第２の記憶手段へレプリケートされる準備ができていることを表すように、前記電子データ要素の前記識別子の状態を変更する手段と、
前記一つ又は複数のデータオブジェクトを、前記識別子の状態の変更に応じて前記第１の記憶手段から前記第２の記憶手段へレプリケートする手段と、
前記電子データ要素にブロックを設定する手段と、
前記電子データ要素の前記第２のデータフィールドを検査する手段と、
前記電子データ要素の前記第２のデータフィールドの状態が前記第１の状態又は前記第２の状態であるときは、前記第２のデータフィールドの状態が前記第３の状態に変更されることを防止する手段と、
を備えていることを特徴とするデータオブジェクトレプリケーションシステム。
【請求項２３】
前記マイクロプロセッサは、前記一つ又は複数のデータオブジェクトの記憶がコミットされたときは前記ブロックを解除する手段をさらに実現することを特徴とする請求項２２に記載のデータオブジェクトレプリケーションシステム。
【請求項２４】
前記マイクロプロセッサは、前記電子データ要素が前記第３の状態であるときは前記ブロックを不可逆的に設定する手段をさらに実現することを特徴とする請求項２２に記載のデータオブジェクトレプリケーションシステム。
【請求項２５】
ソースシステムからターゲットシステムへ一つ又は複数のデータオブジェクトをレプリケートするためのデータオブジェクトレプリケーションシステムであって、
コンピュータプログラムを格納するためのメモリと、
一つ又は複数のデータオブジェクトを記憶するための第１の記憶手段と、
一つ又は複数のデータオブジェクトを記憶するための第２の記憶手段と、
前記第１の記憶手段に結合されたソースシステムと、
前記第２の記憶手段に結合されたターゲットシステムと、
コンピュータプログラムを実行するために前記メモリ、前記第１の記憶手段及び前記第２の記憶手段に結合され、以下の各手段を実現するマイクロプロセッサと、
第１のデータフィールド及び第２のデータフィールドを含む電子データ要素を供給する手段であって、前記第１のデータフィールドは、一つ又は複数のデータオブジェクトに割り当て可能な識別子を表すデータを含み、前記第２のデータフィールドは前記識別子の状態を表すデータを含み、前記第２のデータフィールドは、ａ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第１の状態、ｂ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションであって、前記識別子が前記第１の状態であったときに前記識別子に既にアクセスした一つ又は複数のデータオブジェクト処理オペレーションにより、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第２の状態、ｃ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て不可能である第３の状態のいずれか一つを記憶するように構成されている、手段と、
一つ又は複数のデータオブジェクトに前記識別子を割り当てる手段と、
前記コンピュータプログラムに従って前記一つ又は複数のデータオブジェクトにアクセスする手段と、
前記一つ又は複数のデータオブジェクトを前記第１の記憶手段に記憶する手段と、
前記一つ又は複数のデータオブジェクトが前記第１の記憶手段から前記第２の記憶手段へレプリケートされる準備ができていることを表すように、前記電子データ要素の前記識別子の状態を変更する手段と、
前記一つ又は複数のデータオブジェクトを、前記識別子の状態の変更に応じて前記第１の記憶手段から前記第２の記憶手段へレプリケートする手段と、
前記電子データ要素に共有ロックを設定する手段と、
を備えていることを特徴とするデータオブジェクトレプリケーションシステム。
【請求項２６】
前記マイクロプロセッサは、前記一つ又は複数のデータオブジェクトへの前記電子データ要素の前記識別子の割り当て前に前記電子データ要素に前記共有ロックを設定する手段をさらに実現することを特徴とする請求項２５に記載のデータオブジェクトレプリケーションシステム。
【請求項２７】
前記マイクロプロセッサは、前記一つ又は複数のデータオブジェクトの記憶がコミットされた後に前記電子データ要素の前記共有ロックを解除する手段をさらに実現することを特徴とする請求項２５に記載のデータオブジェクトレプリケーションシステム。
【請求項２８】
前記マイクロプロセッサは、前記一つ又は複数のデータオブジェクトへの前記電子データ要素の前記識別子の割り当て前に前記電子データ要素の前記共有ロックの状態を検査する手段をさらに実現することを特徴とする請求項２５に記載のデータオブジェクトレプリケーションシステム。
【請求項２９】
少なくとも一つのソフトウェアプログラムを格納するためのメモリと、一つ又は複数のデータオブジェクトを記憶するための第１の記憶手段と、一つ又は複数のデータオブジェクトを記憶するための第２の記憶手段と、前記第１の記憶手段に結合されたソースシステムと、前記第２の記憶手段に結合されたターゲットシステムと、少なくとも一つのソフトウェアプログラムを実行するために前記メモリ、前記第１の記憶手段及び前記第２の記憶手段に結合されたマイクロプロセッサとを備えるコンピュータシステムにおいて、前記ソースシステムから前記ターゲットシステムへデータオブジェクトをレプリケートする方法を実行するためのコンピュータプログラムであって、前記方法は、
第１のデータフィールド及び第２のデータフィールドを含む電子データ要素を供給するステップであって、前記第１のデータフィールドは、一つ又は複数のデータオブジェクトに割り当て可能な識別子を表すデータを含み、前記第２のデータフィールドは前記識別子の状態を表すデータを含み、前記第２のデータフィールドは、ａ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第１の状態、ｂ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションであって、前記識別子が前記第１の状態であったときに前記識別子に既にアクセスした一つ又は複数のデータオブジェクト処理オペレーションにより、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第２の状態、ｃ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て不可能である第３の状態のいずれか一つを記憶するように構成されている、ステップと、
一つ又は複数のデータオブジェクトに前記識別子を割り当てるステップと、
ビジネスアプリケーションプログラムである前記コンピュータプログラムに従って前記マイクロプロセッサにより前記一つ又は複数のデータオブジェクトにアクセスするステップと、
前記一つ又は複数のデータオブジェクトを前記第１の記憶手段に記憶するステップと、
前記一つ又は複数のデータオブジェクトが前記第１の記憶手段から前記第２の記憶手段へレプリケートされる準備ができていることを表すように、前記電子データ要素の前記識別子の状態を変更するステップと、
前記一つ又は複数のデータオブジェクトを、前記識別子の状態の変更に応じて前記第１の記憶手段から前記第２の記憶手段へレプリケートするステップと、
を含む、ことを特徴とするコンピュータプログラム。
【請求項３０】
前記ビジネスアプリケーションプログラムは、エンタープライズリソースプラニングソフトウェアアプリケーションプログラムであることを特徴とする請求項２９に記載のコンピュータプログラム。
【請求項３１】
前記一つ又は複数のデータオブジェクトを前記第１の記憶手段から前記第２の記憶手段へレプリケートするステップは、前記ビジネスアプリケーションプログラム以外のソフトウェアアプリケーションプログラムにより実行される、ことを特徴とする請求項２９に記載のコンピュータプログラム。
【請求項３２】
少なくとも一つのソフトウェアプログラムを格納するためのメモリと、一つ又は複数のデータオブジェクトを記憶するための第１の記憶手段と、一つ又は複数のデータオブジェクトを記憶するための第２の記憶手段と、前記第１の記憶手段に結合されたソースシステムと、前記第２の記憶手段に結合されたターゲットシステムと、少なくとも一つのソフトウェアプログラムを実行するために前記メモリ、前記第１の記憶手段及び前記第２の記憶手段に結合されたマイクロプロセッサとを備えるコンピュータシステムにおいて、前記ソースシステムから前記ターゲットシステムへデータオブジェクトをレプリケートする方法を実行するためのコンピュータプログラムであって、前記方法は、
第１のデータフィールド及び第２のデータフィールドを含む電子データ要素を供給するステップであって、前記第１のデータフィールドは、一つ又は複数のデータオブジェクトに割り当て可能な識別子を表すデータを含み、前記第２のデータフィールドは前記識別子の状態を表すデータを含み、前記第２のデータフィールドは、ａ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第１の状態、ｂ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションであって、前記識別子が前記第１の状態であったときに前記識別子に既にアクセスした一つ又は複数のデータオブジェクト処理オペレーションにより、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第２の状態、ｃ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て不可能である第３の状態のいずれか一つを記憶するように構成されている、ステップと、
一つ又は複数のデータオブジェクトに前記識別子を割り当てるステップと、
前記コンピュータプログラムに従って前記マイクロプロセッサにより前記一つ又は複数のデータオブジェクトにアクセスするステップと、
前記一つ又は複数のデータオブジェクトを前記第１の記憶手段に記憶するステップと、
前記一つ又は複数のデータオブジェクトが前記第１の記憶手段から前記第２の記憶手段へレプリケートされる準備ができていることを表すように、前記電子データ要素の前記識別子の状態を変更するステップと、
前記一つ又は複数のデータオブジェクトを、前記識別子の状態の変更に応じて前記第１の記憶手段から前記第２の記憶手段へレプリケートするステップであって、前記一つ又は複数のデータオブジェクトは、少なくとも一つのブッキング、アカウンティング、インボイシング、レシート又はバウチャー・データオブジェクトを含む、ステップと、
を含む、ことを特徴とするコンピュータプログラム。
【請求項３３】
ソースシステムからターゲットシステムへ一つ又は複数のデータオブジェクトをレプリケートするためのデータオブジェクトレプリケーションシステムであって、
コンピュータプログラムを格納するためのメモリと、
一つ又は複数のデータオブジェクトを記憶するための第１の記憶手段と、
一つ又は複数のデータオブジェクトを記憶するための第２の記憶手段と、
前記第１の記憶手段に結合されたソースシステムと、
前記第２の記憶手段に結合されたターゲットシステムと、
コンピュータプログラムを実行するために前記メモリ、前記第１の記憶手段及び前記第２の記憶手段に結合され、以下の各手段を実現するマイクロプロセッサと、
第１のデータフィールド及び第２のデータフィールドを含む電子データ要素を供給する手段であって、前記第１のデータフィールドは、一つ又は複数のデータオブジェクトに割り当て可能な識別子を表すデータを含み、前記第２のデータフィールドは前記識別子の状態を表すデータを含み、前記第２のデータフィールドは、ａ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第１の状態、ｂ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションであって、前記識別子が前記第１の状態であったときに前記識別子に既にアクセスした一つ又は複数のデータオブジェクト処理オペレーションにより、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第２の状態、ｃ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て不可能である第３の状態のいずれか一つを記憶するように構成されている、手段と、
一つ又は複数のデータオブジェクトに前記識別子を割り当てる手段と、
ビジネスアプリケーションプログラムである前記コンピュータプログラムに従って前記一つ又は複数のデータオブジェクトにアクセスする手段と、
前記一つ又は複数のデータオブジェクトを前記第１の記憶手段に記憶する手段と、
前記一つ又は複数のデータオブジェクトが前記第１の記憶手段から前記第２の記憶手段へレプリケートされる準備ができていることを表すように、前記電子データ要素の前記識別子の状態を変更する手段と、
前記一つ又は複数のデータオブジェクトを、前記識別子の状態の変更に応じて前記第１の記憶手段から前記第２の記憶手段へレプリケートする手段と、
を備えていることを特徴とするデータオブジェクトレプリケーションシステム。
【請求項３４】
前記ビジネスアプリケーションプログラムは、エンタープライズリソースプラニングソフトウェアアプリケーションプログラムであることを特徴とする請求項３３に記載のデータオブジェクトレプリケーションシステム。
【請求項３５】
前記一つ又は複数のデータオブジェクトを前記第１の記憶手段から前記第２の記憶手段へレプリケートするために、前記マイクロプロセッサは、前記ビジネスアプリケーションプログラム以外のソフトウェアアプリケーションプログラムを実行する、ことを特徴とする請求項３３に記載のデータオブジェクトレプリケーションシステム。
【請求項３６】
ソースシステムからターゲットシステムへ一つ又は複数のデータオブジェクトをレプリケートするためのデータオブジェクトレプリケーションシステムであって、
コンピュータプログラムを格納するためのメモリと、
一つ又は複数のデータオブジェクトを記憶するための第１の記憶手段と、
一つ又は複数のデータオブジェクトを記憶するための第２の記憶手段と、
前記第１の記憶手段に結合されたソースシステムと、
前記第２の記憶手段に結合されたターゲットシステムと、
コンピュータプログラムを実行するために前記メモリ、前記第１の記憶手段及び前記第２の記憶手段に結合され、以下の各手段を実現するマイクロプロセッサと、
第１のデータフィールド及び第２のデータフィールドを含む電子データ要素を供給する手段であって、前記第１のデータフィールドは、一つ又は複数のデータオブジェクトに割り当て可能な識別子を表すデータを含み、前記第２のデータフィールドは前記識別子の状態を表すデータを含み、前記第２のデータフィールドは、ａ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第１の状態、ｂ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションであって、前記識別子が前記第１の状態であったときに前記識別子に既にアクセスした一つ又は複数のデータオブジェクト処理オペレーションにより、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第２の状態、ｃ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て不可能である第３の状態のいずれか一つを記憶するように構成されている、手段と、
一つ又は複数のデータオブジェクトに前記識別子を割り当てる手段と、
前記コンピュータプログラムに従って前記一つ又は複数のデータオブジェクトにアクセスする手段と、
前記一つ又は複数のデータオブジェクトを前記第１の記憶手段に記憶する手段と、
前記一つ又は複数のデータオブジェクトが前記第１の記憶手段から前記第２の記憶手段へレプリケートされる準備ができていることを表すように、前記電子データ要素の前記識別子の状態を変更する手段と、
前記一つ又は複数のデータオブジェクトを、前記識別子の状態の変更に応じて前記第１の記憶手段から前記第２の記憶手段へレプリケートする手段であって、前記一つ又は複数のデータオブジェクトは、少なくとも一つのブッキング、アカウンティング、インボイシング、レシート又はバウチャー・データオブジェクトを含む、手段と、
を備えていることを特徴とするデータオブジェクトレプリケーションシステム。
【請求項３７】
ソースシステムからターゲットシステムへ一つ又は複数のデータオブジェクトをレプリケートするためのデータオブジェクトレプリケーションシステムであって、
コンピュータプログラムを格納するためのメモリと、
一つ又は複数のデータオブジェクトを記憶するための第１の記憶手段と、
一つ又は複数のデータオブジェクトを記憶するための第２の記憶手段と、
前記第１の記憶手段に結合されたソースシステムと、
前記第２の記憶手段に結合されたターゲットシステムと、
コンピュータプログラムを実行するために前記メモリ、前記第１の記憶手段及び前記第２の記憶手段に結合された一つ又は複数のプロセッサを含み、以下の各手段を実現するマイクロプロセッサと、
第１のデータフィールド及び第２のデータフィールドを含む電子データ要素を供給する手段であって、前記第１のデータフィールドは、一つ又は複数のデータオブジェクトに割り当て可能な識別子を表すデータを含み、前記第２のデータフィールドは前記識別子の状態を表すデータを含み、前記第２のデータフィールドは、ａ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第１の状態、ｂ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションであって、前記識別子が前記第１の状態であったときに前記識別子に既にアクセスした一つ又は複数のデータオブジェクト処理オペレーションにより、前記識別子が一つ又は複数のデータオブジェクトに割り当て可能である第２の状態、ｃ）前記電子データ要素が前記マイクロプロセッサによる一つ又は複数のデータオブジェクト処理オペレーションによりアクセス不可能であり、且つ、前記識別子が一つ又は複数のデータオブジェクトに割り当て不可能である第３の状態のいずれか一つを記憶するように構成されている、手段と、
一つ又は複数のデータオブジェクトに前記識別子を割り当てる手段と、
前記コンピュータプログラムに従って前記一つ又は複数のデータオブジェクトにアクセスする手段と、
前記一つ又は複数のデータオブジェクトを前記第１の記憶手段に記憶する手段と、
前記一つ又は複数のデータオブジェクトが前記第１の記憶手段から前記第２の記憶手段へレプリケートされる準備ができていることを表すように、前記電子データ要素の前記識別子の状態を変更する手段と、
前記一つ又は複数のデータオブジェクトを、前記識別子の状態の変更に応じて前記第１の記憶手段から前記第２の記憶手段へレプリケートする手段と、
を備えていることを特徴とするデータオブジェクトレプリケーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
本発明の技術分野は電子データ処理の分野である。詳しくは、本発明はデータオブジェクトレプリケートのための方法、コンピュータプログラム製品ならびにシステムに関する。
【０００２】
関連技術の説明
データオブジェクトのレプリケーションはコンピュータのあらゆるユーザによく知られており、日常的に適用されるスタンダードな手続きである。データオブジェクトレプリケーションの特別な適用事例はコピーまたはアーカイブプロセスであって、これによればデータオブジェクトは安全性の理由および／またはパフォーマンスの理由でソースシステムからターゲットシステムへコピーされる。これらの特別なアプリケーションの場合、データオブジェクトは変更されないままである。ただし、もっと一般的な用語である「レプリケーション」 "replication"には、データオブジェクトがレプリケーションプロセス中に変更されるようなプロセスも含まれる。このような変更は、データ量の圧縮を要求した結果であるかもしれないし、あるいはデータオブジェクトの特定の部分だけを受け取るためにターゲットシステムのユーザが要求した結果であるかもしれない。企業においては、いわゆるエンタープライズリソースプラニングソフトウェア（enterprise resource planning software ERP）アプリケーションが利用されており、これによってビジネスプロセスがコントロールされ、コンピュータまたはコンピュータシステムのような自動データ処理システムによってあらゆる技術分野における様々な種類の企業における会社情報が管理される。この種のソフトウェアの使用中、データオブジェクト内に含まれる重要なビジネス情報を有する一般に膨大な量のデータが生成される。このような環境の場合、ソースシステムは財務部門および／またはコントロール部門のコンピュータやソフトウェアシステムかもしれないし、ターゲットシステムはマネージメントのコンピュータやソフトウェアシステムであるかもしれない。企業の経済状況に関する情報が与えられるマネージメントを維持する目的で、財務データたとえばポスティングデータが財務システムからマネージメントシステムへレプリケートされる（統合や集約のような変更が施されて伝送またはコピーされる）可能性がある。多くのＥＲＰアプリケーションの場合、企業のトランザクションがコンピュータシステムに別個にいつでも格納される。これと同時に、レプリケートされたデータを有する１つまたは複数のターゲットシステムを提供する必要がある。これらのデータレプリケーションは一般に少ない頻度で行われ、伝送されるデータボリュームの量を抑える目的で、新たなデータオブジェクトだけを、または先行のレプリケーションプロセス以降に修正されたデータオブジェクトだけをレプリケートすべきである。この目的を達成するための１つの方法はタイムスタンプ処理である。この方法の場合、ソースシステムに格納すべきデータオブジェクトにタイムスタンプが割り当てられる。タイムスタンプは通常、データオブジェクトが格納された時点であるかまたは、記憶プロセスが開始された直後の時点である。そしてレプリケーションアプリケーションは、データオブジェクトをソースからターゲットシステムへレプリケートするソフトウェアアプリケーションであって、このアプリケーションはまえもって定義可能な特定のタイムインターバル内にあるタイムスタンプをもつデータオブジェクトだけを特に処理する。
【０００３】
しかしながらこの方法のもつ欠点とは、物理的な記憶手段にデータオブジェクトが物理的に格納されるないしは書き込まれるデータベース（アプリケーション）の実際のコミットの時点とはタイムスタンプが必ずしも一致しないことである。このような不一致によって、レプリケーションプロセス中にエラー殊にデータオブジェクトが失われるというエラーが引き起こされる可能性があり、これが起きる可能性があるのは、レプリケーションプロセスがタイムスタンプとコミット時点および／または格納時点との間で同時に行われ、レプリケーションプロセスがパラレルに実行される場合である。タイムスタンプをｔｓ、コミット時点をｔｃ、レプリケーションインターバルをｔ１〜ｔ２とし、ここでｔ１＜ｔｓ＜ｔ２＜ｔｃであるものとする。このようなタイムギャップの場合、コミットが欠落している（ｔ２＜ｔｃである）ことに起因して特定のデータオブジェクトをレプリケーションアプリケーションがまだ見ることができず、したがってそのようなデータオブジェクトはレプリケートされないことになる。ｔ２〜ｔ３のインターバルを伴う次のレプリケーション実行中、そのデータオブジェクトのタイムスタンプは、ｔｓ＜ｔ２であることが多いことから、このインターバル内にはない。この問題は通常、時点ｔ２＋Δｔをレプリケーションインターバルの上方レベルとして使用し、後続のレプリケーション実行を正確にｔ２でスタートさせることによって抑えられる。Δｔの一般的な長さは約３０分である。ただしΔｔを用いたこのコンセプトによる欠点は、Δｔが長すぎるときには「ヒストリカルな」データオブジェクト "historical data object"がレプリケートされる一方、Δｔが短すぎるときにはデータオブジェクトが失われてしまう。さらにタイムスタンプの割り当てはコンピュータの中央リソースへのアクセスであって、データオブジェクトの格納を並行して妨害する。
【０００４】
したがって、上述の問題点の少なくとも一部分のもっと効果的な解決手段を提供する方法、ソフトウェアアプリケーションおよび／またはデータ処理システムが必要とされている。殊に望まれるのは、レプリケートすべきデータオブジェクトを識別するためのメカニズムをもつソフトウェアアプリケーションを提供することである。
【０００５】
発明の概要
本発明によれば実施形態として概略的に記載されているように本発明の基本原理に即した方法およびシステムによって、コンピュータシステムにおけるデータオブジェクト処理プロセスのためのアクセス用の電子データ要素が提供され、この場合、前記の電子データ要素は以下に示すａ）〜ｃ）の状態のうちの少なくとも１つにセット可能である。すなわち、ａ）第１の状態、この状態において１つまたは複数のデータオブジェクト処理プロセスによって前記の電子データ要素にアクセス可能、その際この電子データ要素を１つまたは複数のデータオブジェクトに割り当て可能。ｂ）第２の状態、この状態では１つまたは複数のデータ処理プロセスによっても前記の電子データ要素にアクセス不可能、ただしこの電子データ要素を１つまたは複数のデータオブジェクトに割り当て可能。ｃ）第３の状態、この状態では１つまたは複数のデータ処理プロセスによっても前記の電子データ要素にアクセス不可能、かつその電子データ要素を１つまたは複数のデータオブジェクトに割り当て不可能。
【０００６】
データ処理において本発明による電子データ要素を利用すれば電子データ要素とその状態を問い合わせることで、データの処理、記憶またはレプリケーションの目的でデータオブジェクトに対するアクセスを要求するソフトウェアアプリケーションを、電子データ要素および／またはデータオブジェクトに対してどのオペレーションが許可されているか否かについてチェックすることができ、殊に割り当てられた電子データ要素をもつデータオブジェクトがレプリケーションプロセスに対して準備完了状態にあるか否かについてチェックすることができる。準備完了状態にあれば、上述のようなデータオブジェクトをそれらのソースシステムからターゲットシステムへとレプリケートしてかまわない。さらに、他のいかなるデータも特定の電子データ要素に確実にアクセスできないようになる。したがってレプリケーションプロセスによっていかなるデータオブジェクトも省かれてしまう可能性がない。
【０００７】
別の観点によれば本発明は実施形態に概略的に記載されているように本発明の基本原理に即した方法およびシステムによって、第１の状態にある１つまたは複数の先行の電子データ要素をもつコンピュータシステムにおいて実行される１つまたは複数のプロセスによってデータオブジェクトを処理する方法が提供され、この場合、先行の電子データ要素のうちの１つを選択し、この電子データ要素を１つまたは複数のデータオブジェクトに割り当て、そのデータオブジェクトを記憶するステップａ）が設けられている。
【０００８】
本発明はさらに、コンピュータシステムにおけるデータオブジェクトを処理するための方法に関する。この場合、本発明による電子データ要素の１つまたは複数が生成され、それらが第１の状態にセットされる。
【０００９】
さらに本発明は電子データ要素をもつデータ構造、本発明およびその実施形態各々に従いデータを処理するための命令をもつコンピュータシステム、コンピュータプログラム、コンピュータで読み取り可能な媒体、搬送信号も対象としている。
【００１０】
実施例の説明には本発明の付加的な目的や利点が述べられており、あるいは本発明を実施することでそれらを理解することができる。本発明の目的ならびに利点を、殊に特許請求の範囲に示されている要素やそれらの組み合わせによって実現し達成することができる。詳細な説明および従属請求項には本発明の実施形態が開示されている。
【００１１】
なお、上述の概略的な説明ならびに以下の詳細な説明は例示であって説明のためのものにすぎず、特許請求の範囲に記載された本発明を限定するものではない。
【００１２】
図面の簡単な説明
次に、図面を参照しながら実施例に基づき本発明の基本的な着想について詳しく説明する。
【００１３】
図１は、コンピュータシステムにおいて本発明による電子データ要素をインプリメントする様子を示す概略ブロック図である。
【００１４】
図２は、電子データ要素に適用可能なオペレーションについて例示したブロック図である。
【００１５】
図３は、電子データ要素を使用したデータ処理プロセスに関する第１の実施形態を例示したフローチャートである。
【００１６】
図４は、電子データ要素を使用したデータ処理プロセスに関する第２の実施形態を例示したフローチャートである。
【００１７】
図５は、電子データ要素を使用したデータ処理プロセスに関する第３の実施形態を例示したフローチャートである。
【００１８】
図６は、電子データ要素を使用したデータレプリケートプロセスに関する第１の実施形態を例示したフローチャートである。
【００１９】
図７は、電子データ要素を使用したデータレプリケートプロセスに関する第２の実施形態を例示したフローチャートである。
【００２０】
図７ａは、電子データ要素を使用したデータレプリケートプロセスに関するさらに別の実施形態を例示したフローチャートである。
【００２１】
図８は、電子データ要素の状態に関する時間順序の流れと、複数の独立したプロセスによって実行される本発明による方法によるステップとを示す図である。
【００２２】
詳細な説明
次に、本発明の原理について、添付の図面に例示されているデータ処理プロセスに基づき本発明を説明しながら詳しく述べることにする。ここで説明する実施例はあくまで例示目的であって、いかなるかたちであろうと本発明を限定するものではない。
【００２３】
本明細書のコンセプトにおいて、使用される用語は以下のセクションで異なる定義がなされていないかぎり、データ処理の分野というコンテキストにおいて一般的な意味をもつものである。
【００２４】
コンピュータシステムとは広い概念で、ＰＣまたはラップトップのようなあらゆるスタンドアローンコンピュータ、またはたとえば社内ネットワークなどのネットワークを介して接続された一連のコンピュータ、あるいはインターネットを介して接続された一連のコンピュータのことを指す。
【００２５】
コンピュータシステムとプログラムは密接に関連しているといえる。ここで用いるように「コンピュータが〜をもたらす」および「プログラムが特定のアクションをもたらすまたは実行する」、「ユーザが特定のアクションを実行する」といったフレーズは、プログラムによりコントロール可能なコンピュータシステムによるアクションを表現するために用いられるし、あるいはコンピュータシステムが特定のアクションを実行できるよう、あるいはユーザがコンピュータシステムを用いて特定のアクションを実行できるよう、プログラムまたはプログラムモジュールを設計可能であることを表現するために用いられる。
【００２６】
また、データオブジェクトという用語は、たとえば数値データまたはテキストデータ、イメージデータ、メタデータなどあらゆる種類またはタイプのデータを広い概念で指すものであって、このことはデータがファイル全体またはファイルの一部分あるいはテーブル内のフィールドとして実現されていようと、あるいは揮発性メモリまたは不揮発性メモリとして格納されていようと、それらのことには関係なく適用される。一例としてデータオブジェクトを、たとえばリレーショナルデータベースなどにおける１つまたは複数のテーブルの１つまたは複数のフィールドとしてインプリメントすることができる。この種のデータオブジェクトの処理には、計算、修正、コピー、削除、挿入などデータに対する通常のオペレーションが含まれている。
【００２７】
コミットという用語は、コンピューティングシステムまたはコンピュータシステムにおける１つのトランザクションの処理の一部分として、先行して開始されたデータベース変更を首尾よく完了させる際の最終ステップのことを広い概念で指す。
【００２８】
ソース／ターゲットシステムという用語は、データオブジェクトが格納されたまたは格納可能であるソフトウェアアプリケーションの設けられたまたは設けられていないあらゆるコンピュータシステムのことを広い概念で指す。その際、ソースシステムとターゲットシステムはデバイスを共有することができる。その結果として、ソースシステムとターゲットシステムが同一のコンピュータシステムにインプリメントされている可能性がある。
【００２９】
データ構造とは、データを組織および格納するために特化されたフォーマットのことを広い概念で指す。データ構造の種類には配列、ファイル、レコード、テーブル、ツリー等が含まれている。この種のデータ構造を特有の目的に適合したデータを組織するために設計することができ、したがって適切なやり方でアクセスして利用することができる。コンピュータプログラミングにあたって、様々なアルゴリズムを用いたその動作の目的に合わせてデータまたはデータオブジェクトを格納するために、データ構造を選定または設計することができる。さらにデータ要素とは本発明の範囲において、１つのデータ構造に格納されたデータである。本発明による電子データ要素を、先に定義したデータオブジェクトと捉えることもできる。さらに電子データ要素という用語は、処理すべきデータオブジェクトを区別する目的で使用される。
【００３０】
コンピュータプログラミング言語において、本発明による電子データ要素を１つまたは複数のテーブルの１つまたは複数の行としてインプリメントすることができ、その際、各行は１つまたは複数のフィールドを有している。オブジェクト指向プログラミングの場合、電子データ要素を１つのクラスの１つのインスタンスとしてインプリメントすることができる。この場合、クラスは識別子（略して”ＩＤ”）のための少なくとも１つの変数と状態のための１つの変数をもっている。
【００３１】
電子データ要素に関する第１の実施形態の特徴によれば、このデータ要素は１つのテーブルにおける１つまたは複数の第１のフィールドと１つの第２のフィールドとしてインプリメントされており、その際、１つまたは複数の第１のフィールドには識別子が含まれており、第２のフィールドには１つまたは複数の第１のフィールドにおける識別子の状態に関する情報が含まれている。
【００３２】
電子データ要素に関する択一的な実施形態の特徴によれば、このデータ要素は第１のテーブルにおける１つまたは複数の第１のフィールドと第２のテーブルにおける１つの第２のフィールドとしてインプリメントされており、その際、第１のテーブルにおける１つまたは複数の第１のフィールドには識別子が含まれており、第２のテーブルにおける第２のフィールドには、第１のテーブルにおける１つまたは複数の第１のフィールドの識別子の状態に関する情報が含まれている。
【００３３】
ＩＤという用語はデータのタイプを広い概念で指しており、これによって処理すべきデータオブジェクトまたはデータオブジェクトの集合の識別が可能となり、たとえばそれを数字または英数字キャラクタの組み合わせとしてインプリメントすることができる。したがって本発明による電子データ要素を１つのテーブルにおける２つのフィールドとしてインプリメントすることができ、これら２つのフィールドのうち第１のフィールドにはＩＤが格納され、第２のフィールドには電子データ要素の状態に関する情報が格納され、たとえばこれは”Ｉ”，”ＩＩ”または”ＩＩＩ”といった３つの異なるデータであって、これにより電子データ要素の第１の状態、第２の状態または第３の状態が規定される。
【００３４】
１つまたは複数の以下のオペレーションを、電子データ要素において実行することができる：第１の状態をもつ電子データ要素の生成、第１の状態から第２または第３の状態への変化、第２の状態から第３の状態への変化、状態変化のブロックまたはブロック解除、ＩＤに対するロック（以下を参照）殊に共有ロックのセット／抹消、ＩＤの状態を要求。これとは逆に、状態に依存してロックのセットを行うこともできる：状態が第２の状態であれば、共有ロックをそのＩＤにセットすることはできず、これは第２の状態について考えられるインプリメンテーションの一例である。ＩＩＩからＩまたはＩＩへの状態変化は禁止されている。有利にはさらに別の変数も利用することができ、そのような変数は「デフォルト」または「デフォルトでない」といった状態／内容をもつことができ、これによって個々の電子データ要素がデフォルト要素として規定される。状態の変更を、第１または第２の状態に対するシンボル（たとえばキャラクタ、数字、符号またはそれらの組み合わせ）から第３の状態に対するシンボルへと、状態情報のためのフィールド内のエントリを変更することによって実現することができる。
【００３５】
ロックとは、特定のデータが他のアプリケーションによりアクセスされないようにするデータベースまたはソフトウェアアプリケーションのメカニズムである。次に、これについて詳しく説明する。
【００３６】
従来技術において知られているようにコンピュータデータベースシステムは、プログラムから変更ステートメント（INSERT, UPDATE, MODIFY, DELETE）を受け取ると、データベースロックを自動的にセットする。データベースのロックは、上述のステートメントにより影響の及ぼされるデータベースエントリに対する物理的なロックである。１つの既存のデータベースエントリに対し１つのロックだけをセットすることができ、これはロックメカニズムがエントリ内のロックフラグを利用していることによる。これらのフラグは、データベースがコミットされるたびにそのつど自動的に削除される。つまりデータベースロックは、単一のデータベースＬＵＷ（logical unit of work）よりも長い期間にわたっては決してセットできない。
【００３７】
したがってデータベースシステムにおける物理的なロックは環境によっては、データをロックする要求にとって不十分なものとなる可能性がある。アプリケーションによっては、複数のＬＵＷステップの期間にわたりロックをセットしたままにしなければならない。また、それらを種々の作業プロセスによって処理できなければならず、複数の異なるアプリケーションによってさえ処理できなければならない。このような要求を満たすために、いわゆる論理的なロックが作られた。
【００３８】
物理的なロックをセットするデータベースアプリケーションとは異なり、論理的なロックをセットするということは、ロックされるデータオブジェクトがデータベーステーブルにおいて物理的にはロックされないことを意味する。論理的なロックは、単に中央のロックテーブルにおけるロック引数のエントリとしてインプリメントすることができる。ロック引数はロックすべきデータオブジェクトのプライマリーキーフィールドたとえばＩＤとすることができる。論理的なロックはデータベースＬＵＷには依存しない。データベース更新時またはトランザクション終了時にはこれを暗黙的に解放することができるし、あるいは中央のロックテーブル中のエントリを削除することによって明示的に解放することもできる。その結果、論理的なロックの効力に対し、有利には共働するアプリケーションプログラミングによって作用が及ぼされる。論理的なロックのコンセプトはデータベーステーブル自体における物理的なロックを利用していないため、同じアプリケーションオブジェクトを使用するすべてのプログラムはどのような論理的なロックのためにも中央テーブル自体においてロックしなければならない。この場合、ロックテーブル内のロックが無視されないようプログラムを自動的に阻止するメカニズムは存在しない。少なくとも２つのタイプの論理的なロックをインプリメントすることができる：
共有ロック
アプリケーション（またはプログラム）によってセットされる共有ロック（または読み取りロック）によって、アプリケーションにより読み取られている間、他のアプリケーションによってデータが変更されないようにすることができる。共有ロックは、他のプログラムがオブジェクト変更のため排他ロック（書き込みロック）をセットするのを阻止する。ただしこれによっても、他のプログラムがさらに共有ロックをセットするのは阻止されない。
【００３９】
排他ロック
アプリケーションによってセットされる排他ロック（または書き込みロック）によって、そのアプリケーションがデータを変更中、そのデータ自体が変更されないよう阻止することができる。排他ロックはその名前からわかるように、それをセットしたプログラムにより排他的に使用するためにデータオブジェクトをロックする。この場合、他のプログラムは同じアプリケーションオブジェクトに対して共有ロックも排他ロックもセットすることはできない。
【００４０】
論理的なロックのコンセプトであれば、上述のようなデータオブジェクトに対し、特にＩＤに対し、１つまたは複数のロックをセットすることができ、このロックは２つ以上のＬＵＷの期間にわたり存在し、２つ以上のアプリケーションによって取り扱うことができる。
【００４１】
以下で詳しく説明するように、本発明による電子データ要素ならびに本発明による方法によれば両方のコンセプトが利用される。
【００４２】
第１の状態にある場合、１つのデータオブジェクトを処理する複数のプロセスによって本発明による電子データ要素をアクセスすることができ、これをそれらのプロセスのいずれかにより処理される１つまたは複数のデータオブジェクトに割り当てることができる。データオブジェクトへの電子データ要素の割り当てを、たとえばそのコピーをデータオブジェクトといっしょに、あるいはそのコピーを特定のデータオブジェクトを一義的に識別する第２のＩＤとともに、別個のテーブルに格納することによってインプリメントすることができる。択一的に、電子データ要素に対するリンクを付加して格納することができる。さらに択一的に、データオブジェクトまたはその識別子に対するリンクと電子データ要素のＩＤを別個のテーブルに格納することができる。
【００４３】
第１の状態においてデータ処理プロセスに対し、電子データ要素に対する共有ロックのセットが許可される。
【００４４】
電子データ要素が第２の状態にあれば、その電子データ要素は依然として読み取り可能であり、データオブジェクトに割り当てることができる。ただし電子データ要素をアクセスすることはできない。つまりその電子データ要素に対する共有ロックのセットは、そのデータ処理プロセスに対し許可されていない。
【００４５】
電子データ要素が第３の状態にあるときには、その電子データ要素をデータ処理プロセスによってアクセスすることもできなければ、データオブジェクトに割り当てることもできない。ただしレプリケーションプロセスであればこの第３の状態において、割り当てられた第３の状態における特定の電子データ要素をもつすべてのデータオブジェクトを選択することができる。上述の３つの状態の特性ゆえに、この（これらの）特定の第３の状態の電子データ要素を、他のいかなるデータ処理プロセスによって割り当てることもできなければアクセスすることもできない。したがって、割り当てられた第３の状態の電子データ要素をもつデータオブジェクトを選択するレプリケーションプロセスを使用することによって、関連技術の説明のセクションで述べたようなタイムギャップ問題ゆえに、データオブジェクトを削除することができないようになる。このことを実践に移すためには、データ処理プロセスを相応にプログラミングしなければならない。
【００４６】
発明の概要のセクションで述べたような本発明による方法に関する第１の実施形態によればこの方法は、選択された電子データ要素を第２の状態にセットするステップｂ）を有している。この実施形態は独立したプログラムによってインプリメントすることができ、このプログラムによればインクリメントによって自動的に、あるいはコンピュータシステムのユーザにより「手動で」ＩＤを生成することもできる。
【００４７】
本発明による方法の第２の実施形態の特徴によればこの方法にはさらに、割り当てられたデータオブジェクトの格納がコミットされたならば、選択された電子データ要素を第３の状態にセットするステップｃ）が設けられている。
【００４８】
第３の実施形態によればステップａ）〜ｃ）に依存してまたは依存せずに、別の電子データ要素を生成してそれを第１の状態にセットするステップｄ）が設けられている。
【００４９】
排他ロックをセットできるのであれば、ＩＤには対してはもはや共有ロックは存在しない。つまりデータオブジェクトの処理および記憶が完了されており、そのＩＤデータに割り当てられたデータオブジェクトを、データを失うおそれなくレプリケートすることができる。
【００５０】
さらに別の実施形態によれば、前記のさらに別の電子データ要素をデフォルト要素として定義し、以前の電子データ要素を第２の状態にセットするステップｅ）が設けられている。
【００５１】
さらに別の実施形態の特徴によれば、前記のさらに別の電子データ要素をデフォルトとして定義し、デフォルト要素として定義されていた以前の電子データ要素の状態を第２の状態に変更する。
【００５２】
さらに別の実施形態の特徴によればステップａ）において、デフォルト要素を１つまたは複数のデータオブジェクトに割り当てるためにデフォルト要素を選択する。
【００５３】
さらに別の実施形態において本発明によればステップａ）において、自身をセットするプロセスに対する参照をもつブロックを電子データ要素にセットするステップが設けられており、このブロックによって、電子データ要素の状態が第１または第２の状態であるときにその電子データ要素が第３の状態に変更されるのが回避される。
【００５４】
これらに加えてさらに別の実施形態によればステップａ）において、電子データ要素の状態が第１または第２の状態であり記憶がコミットされたならば、プロセスを指すリファレンスをもつブロックを削除する。
【００５５】
さらに別の特徴によれば、電子データ要素の状態が第３の状態であれば、その電子データ要素の状態変更を不可逆的にブロックする。
【００５６】
有利であるのは、選択された電子データ要素に対し共有ロックをセットすることによって上記のブロックを実現するのが有利である。この場合、その共有ロックを削除することによってブロック解除を実現することができる。
【００５７】
本発明による方法のさらに別の実施形態によれば、電子データ要素を１つまたは複数の第１のフィールドをもつ第１のテーブルとして実現し、そのテーブルに識別子を設け、その際、共有ロックを第１のフィールドにおける１つまたは複数のフィールドにセットする。さらに別の実施形態の特徴によれば第１のテーブルに、状態情報を含む第２のフィールドを設ける。さらに別の実施形態の特徴によれば第２のテーブルを設け、そのテーブルに第１のテーブルとリンクさせた状態情報を含むフィールドをもたせる。
【００５８】
さらに別の実施形態の特徴によればステップａ）において、電子データ要素をデータオブジェクトに割り当てるのに先立ちその電子データ要素に対し共有ロックをセットすることによって上述のブロックを実現する。さらに別の実施形態の特徴によればステップａ）において、記憶がコミットされたならばただちに前記の共有ロックを削除することによってブロック解除を実現する。
【００５９】
本発明による方法のさらに別の実施形態の特徴によればステップｃ）に先立ち、電子データ要素に対し共有ロックがセットされているか否かをチェックし、共有ロックがセットされていなければステップｃ）を実行するステップｆ）が設けられている。さらに別の実施形態によれば、ステップｃ）が失敗した場合、まえもって規定可能な時間だけ待機してステップｆ）に戻るステップｇ）が設けられている。さらに別の実施形態の特徴によれば、まえもって選択可能な回数だけステップｇ）を繰り返す。さらに別の実施形態の特徴によれば、電子データ要素に対して排他ロックのセットを試みることによりチェックを実現し、排他ロックがセットされていたならば、電子データ要素に対し共有ロックがセットされていない状態に戻す。
【００６０】
さらに別の実施形態の特徴によれば、ステップｂ）および／またはステップｃ）を独立したプロセスによって無関係に実行する。
【００６１】
さらに別の実施形態によれば第１の状態のデータ要素の生成後、
まえもって規定可能な個数のサブプロセスをそれらに対応する個数のデータオブジェクトを処理するために生成するステップｈ）と、
対応するサブプロセスにおいてデータオブジェクトごとにステップａ）を実行するステップｉ）と、
サブプロセスを生成したプロセスにおいて、対応する個数の共有ロックがデータ要素にセットされるまで待機してから、データ要素の状態を第２の状態に変更するステップｊ）と、
個々のサブプロセスにおけるデータオブジェクトを処理して格納するステップｋ）が設けられている。
【００６２】
本発明のさらに別の実施形態の特徴によれば、第３の状態にセットされた割り当てられたデータ要素をもつデータオブジェクトをターゲットシステムにレプリケートするステップｌ）が設けられている。
【００６３】
さらに別の実施形態の特徴によれば、電子データ要素にはＧＵＩＤまたはタイムスタンプが設けられている。ＧＵＩＤという用語は当業者に周知であり、広くグローバル一意識別子 global unique identifierのことを指す。これはWordドキュメントといったエンティティに対し一意の識別子を作るためにプログラミングにより生成される数字について用いられる用語である。ＧＵＩＤはインタフェース、レプリカセット、レコードならびに他のオブジェクトを識別するため、製品において幅広く利用されている。異なる種類のＧＵＩＤをもつ異なる種類のオブジェクトたとえばMicrosoft Access databaseは、レプリケーションのために一意の識別子を作成する目的で１６ｂｙｔｅのフィールドを利用する。タイムスタンプには、データオブジェクトに対して実行される特定のアクションの日付と時間が含まれている。日付および／または時間を、電子データ要素のＩＤパートにおける別個のフィールドに格納することができる。さらに別の実施形態の特徴によれば、第３の状態におけるデータ要素に連続番号を付ける。さらに別の実施形態の特徴によれば、共有ロックは論理的な読み取りロックまたはデータベースの読み取りロックである。
【００６４】
さらに別の実施形態によれば、本発明による方法をエンタープライズリソースプラニングソフトウェアにおいて使用する。特定の利用法として挙げられるのは、財務分野におけるデータオブジェクトたとえばブッキング、アカウンティング、インボイシング、レシート、バウチャーなどのオブジェクトの処理、記憶ならびにレプリケーションである。
【００６５】
次に、図面を参照しながら本発明について詳しく説明する。
【００６６】
図１には、本発明による１つの実施形態に関して１つの実施例が描かれている。これは本発明による方法を実施するためのプログラムモジュールを備えたコンピュータシステムである。
【００６７】
図１に示されているコンピュータシステム１０１はコンピュータ１０３を有しており、これにはＣＰＵ１０５およびこのＣＰＵ１０５によって処理するためにソフトウェアアプリケーション１１１の格納されたワークメモリ１０２が設けられている。ソフトウェアアプリケーション１１１は、本発明による方法に従いデータレプリケーションならびにデータ処理を実行するためのプログラムモジュール１０９，１１０を有している。本発明による電子データ要素はテーブル１０６にインプリメントされており、このテーブルは識別子（”ＩＤ”と略されたとえばＩＤ１，ＩＤ２，ＩＤ３といった連続番号が付され、最後のものはデフォルトＩＤ略して”ＤＩＤ”として定義される）のための列と、状態のための列と、デフォルト属性のための列を有している。テーブル１０６はメモリ１０２に格納されている。テーブル１０６はメモリ１０２に格納されている。デフォルト状態のためのフィールド（図１の「デフォルト？」）に、一般的な意味で”イエス”を付加することによって、デフォルト属性を設定可能である。コンピュータシステム１０１はさらに、ユーザとのインタラクションたとえばプログラムモジュール始動および／またはデータ入力のための入力手段１１３と出力手段１１２、ならびにデータ送受信のためのネットワークコネクション装置１１４を含む入出力手段１０４を有している。ネットワークコンピュータ１１３として、ネットワークコネクション装置１１４を介して複数のコンピュータシステム１０１を接続可能である。この場合、ネットワークコンピュータ１１３を、別の記憶場所としての使用形態を含むさらに別の入出力手段として利用できる。
【００６８】
コンピュータシステム１０３はさらに第１の記憶手段１０７を有しており、その中にソースシステムのデータオブジェクトが格納される。第２の記憶手段１０８はターゲットシステムの記憶手段である。本明細書における用語において、図１のソースシステムとは記憶手段１０７を除いたコンピュータシステム１０３のことであり、ターゲットシステムとは記憶手段１０８を除いたコンピュータシステム１０３のことである。ただしターゲットシステムあるいはソースシステムを、他のいかなるネットワークコンピュータ１１４としてもよい。
【００６９】
この場合、本発明による方法を実施する目的でＣＰＵ１０５によりプログラムモジュール１１０が処理され、これらのプログラムモジュール１１０へ転送されるあらゆるデータオブジェクトがこれらのモジュール１１０によって処理される。本発明による処理によれば、ＤＩＤを利用できるか否かについて各モジュール１１０内でチェックが行われる。図１の実施例の場合、”ＩＤ３”というＩＤがＤＩＤとして定義される。この場合、モジュール１１０によって、ＤＩＤが状態Ｉにあるか否かがチェックされる。これはテーブル１０６を問い合わせることによって行うことができる。択一的な方法によれば、このＤＩＤに対し共有ロックのセットが試みられる。共有ロックがセットされているならば、ＤＩＤは状態Ｉである。この場合、ＤＩＤはモジュール１１０により処理されるデータオブジェクトに割り当てられ、それらのデータオブジェクトは処理されて記憶手段１０８に格納される。ＤＩＤに割り当てられているデータオブジェクトの記憶がコミットされた後、テーブル１０６へのエントリを行うことでＤＩＤの状態はＩＩＩにセットされる。
【００７０】
共有ロックがセットされているならば、特定のモジュール１１０によりセットされたＤＩＤに対する共有ロックが削除される。この目的で、レプリケーションモジュール１０９を処理することができる。この種のモジュールによって、状態ＩＩＩのＩＤが存在するか否かがチェックされる。このチェックをテーブル１０６の問い合わせによって実施することができるし、あるいはこれに対する代案として、中央ロックテーブル１０６内に含まれている１つまたは複数のＩＤに対し排他ロックを試すことによって実施することができる。ＩＤのうちの１つに排他ロックがセットされているならば、個々のＩＤは状態ＩＩＩにある。この場合、ＩＤ（図１ではＩＤ１）に割り当てられているデータオブジェクトがターゲットシステムにレプリケートされる。データオブジェクトをレプリケーションプロセスによって変更することができる（たとえば余分なまたは冗長な情報の圧縮あるいは除去）。
【００７１】
図２には、３つの列すなわちＩＤと状態とデフォルトとをもつテーブル２００の５つの行として電子データ要素を実現した様子が描かれている。テーブル２００のこのような組織を電子データ要素の構造と捉えることができる。基本的に独立したプロセスによって、テーブル２００に対し以下のオペレーションの実行を許可することができる：個々のフィールドにおける相応の内容とともに新しい行をテーブル２００に加えることで、状態Ｉにある新しい電子データ要素をプロセス２０１により生成することができる。この場合、プロセス２０２により状態をＩからＩＩへ変更することができる。プロセス２０３により電子データ要素の状態をＩＩからＩＩＩに変更することができ、これが可能であるのは、この変更がプロセス２０５などのような１つまたは複数のプロセスによってもブロックされていないときである。ＩＩＩからＩＩまたはＩへの状態変化は許可されていない。状態ＩまたはＩＩにおける変更のブロックは、自身のブロックに対するプロセス２０６によってブロック解除することができる。
【００７２】
電子データ要素に対する共有ロックのセットと削除とによって、ブロックとブロック解除を実現することができる。"default?"の列に対する相応のエントリによって、プロセス２０７により特定のＩＤをデフォルトＩＤと定義することができる。プロセス２０７により、一度にただ１つのＤＩＤしか存在させないようにすることができる。プロセス２０４により電子データ要素の状態を要求することができ、それを別のプロセスに転送することができる。基本的に、複数の電子データ要素を３つの状態のいずれかで存在させることができる。ここで繰り返し述べておくと、それぞれＩＤ、状態、デフォルト？というただ１つの列しかもたない３つのテーブルによって電子データ要素を実現することもでき、それら３つのテーブルは１つのテーブルとして振る舞うよう個々の行によって互いにリンクされている。同様に２／１の組み合わせも可能である。これに加えて、２つまたはそれ以上の列における２つまたはそれ以上のフィールドをＩＤにもたせることができ、たとえば分割に関してそれ相応の代案を用いながら数字とデータフィールドとタイムフィールドをもたせることができる。
【００７３】
図３には、本発明の基本原理に沿ったプロセスのフローチャートが示されている。ステップ３０１において、ソフトウェアアプリケーション（略して”ＳＡ”）またはプログラムモジュールによって、コンピュータシステムにおけるデータオブジェクト（略して”ＤＯ”）が処理される。ステップ３０２において、以前に生成されたＩＤが中央ＩＤテーブルから選択される。ステップ３０３において、ＩＤの状態が要求される。状態がＩでなければ、このプロセスはステップ３０５においてエラープロセス３０６に分岐し、このエラープロセス３０６自体はステップ３０２に戻る。さもなければＩＤはステップ３０７においてブロックされる。その後、ＩＤの状態がステップ３０８において再び要求される。状態がＩまたはＩＩであれば、ステップ３１１においてそのＩＤがソフトウェアアプリケーションＳＡにより処理されるデータオブジェクトに割り当てられる。さもなければ、プロセスはエラープロセス３１０へ分岐する。状態を繰り返し要求することによって、並行して実行されている別個のプロセスにより引き起こされる可能性のあるＩＤ状態の変更の可能性を確実に考慮できるようになる。このようなケースでは、選択されたＩＤをデータオブジェクトに割り当てることは許可されない。その代わりに、他のＩＤを選択しなければならないかまたはプロセスを終了させなければならない。次にステップ３１２においてデータオブジェクトＤＯが格納される。ステップ３１３において格納がコミットされたならば、ステップ３０７においてセットされたＩＤに対するブロックが削除される。その後、プロセス３０１が終了するかまたは新たなデータオブジェクトＤＯを用いてリスタートされる。
【００７４】
図４には、デフォルトＩＤを使用して本発明の基本原理に従い実行されるプロセスのフローチャートが示されている。ステップ４０１において、ソフトウェアアプリケーション（略して”ＳＡ”）またはプログラムモジュールによって、コンピュータシステムにおけるデータオブジェクトが処理される。ソフトウェアアプリケーションＳＡはステップ４０２において、テーブル４０９からコンピュータシステムにおける現在のＤＩＤを読み出す。次にステップ４０３において、ソフトウェアアプリケーションＳＡはこのＤＩＤに対する共有ロックを試みる。ステップ４０４において、ＤＩＤの状態がＩまたはＩＩであるかがチェックされる。答えが否定であるならば、つまり状態がＩＩＩであるならば、ソフトウェアアプリケーションＳＡはステップ４０２に戻る。このループはまえもって決められた回数だけ実行することができ、ロックをセットできなかったケースであれば、エラーメッセージとともにループを中止することができる。有利であるのは、ステップ４０３における共有ロックのセットならびに首尾よくセットされたか否かのチェックを、１つの「アトミックな」ステップとしてインプリメントできるようにすることである。つまりこのことは、両方のステップが実質的に同時に実行されることを意味し、換言すれば両方のステップ間のタイムギャップが実質的にゼロであることを意味する。状態がＩまたはＩＩであれば、ステップ４０５においてソフトウェアアプリケーションＳＡは処理されるデータオブジェクトにＤＩＤを割り当て、ステップ４０６においてそのデータオブジェクトを記憶させる。ステップ４０７において記憶がコミットされた後、ステップ４０３においてセットされた共有ロックがステップ４０８において削除される。データオブジェクトを記憶装置に書き込むシステムルーチンから記憶プロセスがコミットされるのをソフトウェアアプリケーションＳＡが待つようにするループに、ステップ４０７を含めることができる。ここでもこのループをまえもって規定可能な回数だけ実行することができ、コミットがなければエラーメッセージとともにこのループを中止することができる。
【００７５】
ステップ４０８の後、ステップ４０９においてソフトウェアアプリケーションＳＡを終了させてもよいし、あるいは処理のために別のデータオブジェクトを選択してもよい。
【００７６】
このソフトウェアアプリケーションＳＡと並行して、他のソフトウェアアプリケーション４１０が別のＩＤをＩＤテーブルに加えることができ、この新たなＩＤをデフォルトＩＤとして定義することができる。
【００７７】
図５は、少なくとも２つのデータオブジェクトＤＯを並行して処理するための、電子データ要素を使用したデータ処理プロセスに関するさらに別の実施形態を例示したフローチャートである。ステップ５０１において、ソフトウェアアプリケーション（略して”ＳＡ”）またはプログラムモジュールはコンピュータシステムにおける４つのデータオブジェクトＩ〜ＩＶを処理する。ステップ５０２において、ソフトウェアアプリケーションＳＡはＩＤをＤＩＤとして生成し、それを状態Ｉにセットする。次のステップ５０３において、ソフトウェアアプリケーションＳＡは４つのサブプロセスＩ〜ＩＶを生成し、これはデータオブジェクトＤＯ Ｉ〜ＩＶを個々のサブプロセスにおいてさらに処理するためである。サブプロセス（”ＳＰ”）Ｉ〜ＩＶは互いに別個にかつ並列に実行される。わかりやすくするため、以下のセクションではただ１つのサブプロセス５０４ Ｉについてのみ説明する。ステップ５０５ Ｉにおいて、サブプロセスＳＰ ＩはＤＩＤに対し共有ロックをセットする。これによりＤＩＤが状態ＩＩＩにセットされないようになる。共有ロックがセットされていたならば、それ相応のメッセージがソフトウェアアプリケーションＳＡへ送られる。その後、ステップ５０６ ＩにおいてデータオブジェクトＤＯが処理され、ステップ５０７ ＩにおいてＤＩＤがデータオブジェクトＤＯに割り当てられ、このデータオブジェクトＤＯがステップ５０８ Ｉにおいて記憶され、記憶プロセスのコミット後、サブプロセスＳＰ ＩによりＤＩＤにセットされた共有ロックが削除される。ついでステップ５１０ ＩにおいてサブプロセスＳＰが終了する。メインプロセスＳＡ ５０１はループ５１１，５１２において、すべてのサブプロセスが個々の共有ロックを首尾よくセットさせてしまうまで待機する。この条件が満たされたならば、ステップ５１３においてソフトウェアアプリケーションＳＡはＤＩＤの状態をＩからＩＩへ変更する。つまりこれが意味するのは、この時点からは他のいかなるプロセスによってもこのＤＩＤをアクセスできないということであり、すなわち他のいかなるプロセスも利用できないということである。ただし、すでにこのＤＩＤにアクセスしたプロセスすなわちサブプロセスＳＰ Ｉ〜ＩＶによるＤＩＤの割り当ては制限されない。その後、ステップ５１４においてソフトウェアアプリケーションＳＡが終了する。
【００７８】
図６には、データオブジェクトをレプリケートするために電子データ要素を利用するプロセスに関するフローチャートが例示されている。レプリケーションプロセス６０１はステップ６０１においてＩＤテーブルからＩＤを選択する。ステップ６０３において、選択されたＩＤが状態ＩＩＩにあるか否かがチェックされる。状態ＩＩＩにあるならばステップ６０４において、割り当てられたこのＩＤをもつすべての記憶されているデータオブジェクトがそれらのソースシステムからターゲットシステムへレプリケートされる。状態ＩＩＩにないのであれば、レプリケーションプロセスはエラールーチン６０６に分岐し、このルーチンによってエラーメッセージが生成されてステップ６０２に戻るかまたはプロセスが終了する。すべてのデータがレプリケートされてしまうと、プロセスはステップ６０５において、他のＩＤのデータオブジェクトをレプリケートすべきか否かについてチェックする。チェックの結果が肯定であればプロセスはステップ６０２へ戻り、そうでなければこのプロセスはステップ６０７において終了する。
【００７９】
図７には、データオブジェクトをレプリケートするために電子データ要素を利用するプロセスに関するフローチャートの別の例が示されている。図７のプロセスの場合、データオブジェクトを処理するプロセスと並行して実行可能なソフトウェアアプリケーション（ＳＡ）７０１は、ＩＤ"old"（「電子データ要素」と「ＩＤ」という表現は同義として使われる）が状態Ｉにある状態でスタートする。このＩＤは、１つまたは複数のデータオブジェクトをレプリケートする目的で、テーブル７０２ａに従いデフォルトＩＤとして定義されている。テーブル７０２は３つの列から成る。１列目にはそのフィールドにＩＤに関する情報が含まれており、すなわちＩＤが入っており、２列目には状態に関する情報すなわち"I"または"II"または"III"が入っており、３列目にはデフォルト属性に関する情報すなわち「イエス」または「ノー」が入っている。７０２ａの場合、テーブルには１つの電子データ要素が含まれており、これは「旧」、「I」、「イエス」を有している。ソフトウェアアプリケーションＳＡはステップ７０３において新たなＩＤ「新」を生成し、これを状態Ｉにセットする（テーブル７０２ｂ）。ステップ７０４において、この新たなＩＤがデフォルトとして定義され、つまりdefault?の列の対応するフィールドに"yes"がエントリされる。これと同時に古いＩＤが否として再定義され、これは「デフォルト？」フィールドに「ノー」をエントリすることによって行われる（テーブル７０２ｃ）。ステップ７０５において、古いＩＤの状態がＩからＩＩに変更される。
【００８０】
レプリケーションプロセスに関する別の実施例が図７ａのフローチャートに描かれている。レプリケーションアプリケーション７ａ０１はステップ７ａ０２において、コンピュータシステム内のＩＤテーブルからＩＤを読み出し、このＩＤはＤＩＤではなく、さらにステップ７ａ０３においてレプリケーションアプリケーション７ａ０１はこのＩＤに対し排他ロックのセットを試みる。ついでアプリケーションはステップ７ａ０５において、排他ロックをセットできたか否かをチェックする。チェックの結果が「ノー」であれば、アプリケーションはまえもって規定可能な期間だけ待機した後、ステップ７ａ０４からステップ７ａ０３へ戻る。まえもって規定可能な回数だけ試行が失敗した後、ループを中止させることができる。ステップ７ａ０５の結果が肯定であれば、ステップ７ａ０６でアプリケーションは割り当てられたＩＤをもつデータオブジェクトをそのソースシステムからターゲットシステムへレプリケートする。その後、ステップ７ａ０７でレプリケーションアプリケーションを終了させることができるし、あるいは別のＩＤを選択することができる。
【００８１】
図８には、図２を参照しながら説明した本発明による方法に従うステップの時間的な流れが描かれており、これは複数の独立したプロセスにより実行される。６つのソフトウェアアプリケーション８０１〜８０６は、そのつど１つのデータオブジェクトまたは複数の異なるデータオブジェクト（"DO"と略す）を処理する。プロセス８０１〜８０４の開始時点において、デフォルトＩＤはＩＤ２である。時点ｔ１からは、新たなＩＤであるＩＤ３がデフォルトＩＤとなり、ＩＤ２の状態がＩからＩＩへ変更される。その時点からはいかなるプロセスもＩＤ２をアクセスすることはできず、いかなるプロセスもそれをＤＯに割り当てるために利用できない。ＩＤが状態ＩであるかＩＩであるかのチェックを、電子データ要素の個々の状態フィールドの問い合わせによって実現することができ、この場合、状態フィールドは上述のようなテーブルの１つの行として実装されている。
【００８２】
状態の変更は、図示されていない独立したプロセスによって実行することができる。プロセス各々は現在のＤＩＤ（図４参照）を読み出す。プロセスに依存する時点ｔ２（ｐ）においてプロセス８０１〜８０６は、プロセス８０１〜８０３に関してはＩＤ２でありプロセス８０４〜８０６に関してはＩＤ３である現在有効なＤＩＤに対し共有ロック（略して"SL"）をセットすることにより、現在有効なＤＩＤの状態がＩ，ＩＩからＩＩＩへ変化するのをブロックする。ＳＬのセット後、プロセス８０１〜８０６は、ＳＬをセットした個々のＤＩＤをデータオブジェクトに割り当て、それらのデータオブジェクトをソースシステムに記憶させる。その結果、ＩＤ２が割り当て時点では現在有効なＤＩＤではないにもかかわらず、プロセス８０３は依然としてＩＤ２をそのＤＯへ割り当てる。ＤＯの処理ならびに記憶は、ＤＯとプロセスに依存して所定の期間にわたり行われる。この期間は、記憶ルーチンのコミットを受け取る時点ｔ３（ｐ）において終了する。それを受け取った後、プロセス８０１〜８０６は個々のＳＬを消去する。
【００８３】
ＩＤにおける最後のＳＬの消去がコミットされた時点からは（プロセス８０２）、ＩＤ２の状態をＩＩＩにセット可能である。これが可能であるか否かは、ＩＤに対し排他ロックのセットを試すことによってチェックできる。排他ロックを首尾よくセットできるならば、状態をＩＩＩへ変更可能である。この時点からは、そのＩＤの割り当てられたＤＯをレプリケーション可能である。
【００８４】
本発明による方法のさらに別の実施形態によれば、図３および図６、図４および図７／７ａによるプロセスをそれぞれ組み合わせることができ、１つのコンピュータシステムにおいて並列に実行させることができる。
【００８５】
これまでのセクションで説明してきたように本発明による方法および電子データ要素を使用することによって、レプリケーションアプリケーションによりいかなるデータオブジェクトも見落とす可能性が確実になくなる。
【００８６】
これまで本発明の実施形態について説明してきたけれども、本発明はここで説明してきた種々の有利な実施形態に限定されるものではなく、同等の要素、変形、省略、（たとえば種々の実施形態にまたがる着想の）組み合わせ、用途に合わせた整合および／または本発明の開示に基づく当業者に自明の変更を伴うあらゆるすべての形態が含まれる。特許請求の範囲は、各請求項で採用された言葉をベースとして広く解釈されるべきものであり、本発明の明細書で開示された例あるいは本出願を実施したときの例に限定されるものではなく、それらの例は非排他的なものと解釈されたい。たとえば本発明の開示において、「有利には」という表現は非排他的であって、「有利であるけれども、それには限定されない」ということを意味する。また、手段および機能あるいはステップおよび機能の限定は、特定の特許請求の範囲の限定に関して以下の条件のすべてがその限定中に存在しているところでのみ採用している：ａ）「〜のための手段」または「〜のためのステップ」という表現が敢えて挙げられている；ｂ）対応する機能という表現が敢えて挙げられている；ｃ）構造、材料またはその構造を支援する作用が挙げられていない。
【００８７】
ユーザとの対話を行えるようにする目的で本発明を、ユーザに情報を表示するためのＣＲＴ（ブラウン管）またはＬＣＤ（液晶ディスプレイ）モニタ、ユーザがコンピュータに入力できるようにするためのキーボード、マウスやトラックボールなどのようなポインティングデバイスを備えたコンピュータシステムにおいて実現することができる。他の種類のデバイスも同様にユーザとの対話を行わせるために利用できる。たとえばユーザに対して提供されるフィードバックを視覚によるフィードバック、聴覚によるフィードバックまたは触覚によるフィードバックのような何らかの形態の感覚的フィードバックとすることができるし、ユーザからの入力を音響的入力、音声入力または触覚による入力を含む何らかの形態で受け取ることができる。
【００８８】
あるコンピュータプログラムの実行に適したプロセッサには一例として、汎用マイクロプロセッサと特定用途プロセッサの双方、ならびに何らかの種類のディジタルコンピュータにおける１つまたは複数のプロセッサが含まれる。一般にプロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはそれらの双方から命令とデータを受け取る。コンピュータの基本的な要素は、命令実行用のプロセッサと命令およびデータを格納するための１つまたは複数の記憶装置である。さらにコンピュータには一般に、データを格納するための１つまたは複数の大容量記憶装置（記憶手段）を有しているかまたは、データを受け取ったりデータを送ったりあるいは双方の目的で１つまたは複数の大容量記憶装置と機能的に結合されており、そのような大容量記憶装置はたとえば磁気ディスク、光磁気ディスクまたは光ディスクなどである。コンピュータプログラムの命令およびデータを実現するのに適した情報担体にはあらゆる形式の不揮発性メモリが含まれており、そのような不揮発性メモリとしてたとえばＥＰＲＯＭ，ＥＥＰＲＯＭ，フラッシュメモリデバイスなどのような半導体メモリデバイス、内蔵ハードディスクやリムーバルディスクなどのような磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭディスク、ＤＶＤ−ＲＯＭディスクが挙げられる。プロセッサおよびメモリをＡＳＩＣ（特定用途向け集積回路）によって補うこともできるし、あるいはそれに組み込むこともできる。
【００８９】
既述の説明に基づくコンピュータプログラムおよび本発明のフローチャートは、経験のある開発者の技能の範囲内である。当業者に周知のあらゆる技術を利用して種々のプログラムまたはプログラムモジュールを生成することができ、あるいはそれらを既存のソフトウェアと結び付けて設計することもできる。たとえばプログラムまたはプログラムモジュールをJava（登録商標）, C++, HTML, XMLまたはJava appletの埋め込まれたHTML, SAP R/3またはABAPで設計可能である。１つまたは複数のこの種のモジュールを、既存のＥメールソフトウェアまたはブラウザソフトウェアに統合させることができる。
【００９０】
当業者に自明のとおり、これまで説明してきた本発明の仕様や実施形態を考慮して本発明の変形や用途に合わせた整合を行うことができる。本発明の実施形態に関するこれまでの説明は、例示や説明の目的で開示したものであって包括的なものではなく、本発明はここで開示した厳密な形態に制約されるものではない。これまでの開示内容に沿って変形や変更が可能であるし、あるいは本発明の実施形態から得ることができる。たとえば上述の実装にはソフトウェアが含まれていたが、本発明によるシステムおよび方法をハードウェアとソフトウェアの組み合わせとして、あるいはハードウェアだけで実装してもよい。また、本発明の着想をメモリへの格納に関して説明してきたけれども、当業者にとって明らかであるように、この着想をコンピュータで読み取り可能な他の形式の媒体に格納することも可能であって、たとえばハードディスク、フロッピーディスクまたはＣＤ−ＲＯＭのような補助記憶装置やインターネットまたは他の伝搬媒体に、あるいはさらに別の形態のＲＡＭまたはＲＯＭに格納することができる。
【００９１】
本明細書ならびに実施例は例証として考慮されるにすぎず、本発明の本質的な範囲ならびに意図は、以下の各請求項によって表される。
【図面の簡単な説明】
【００９２】
【図１】コンピュータシステムにおいて本発明による電子データ要素をインプリメントする様子を示す概略ブロック図
【図２】電子データ要素に適用可能なオペレーションについて例示したブロック図
【図３】電子データ要素を使用したデータ処理プロセスに関する第１の実施形態を例示したフローチャート
【図４】電子データ要素を使用したデータ処理プロセスに関する第２の実施形態を例示したフローチャート
【図５】電子データ要素を使用したデータ処理プロセスに関する第３の実施形態を例示したフローチャート
【図６】電子データ要素を使用したデータレプリケートプロセスに関する第１の実施形態を例示したフローチャート
【図７】電子データ要素を使用したデータレプリケートプロセスに関する第２の実施形態を例示したフローチャート
【図７ａ】電子データ要素を使用したデータレプリケートプロセスに関するさらに別の実施形態を例示したフローチャート
【図８】電子データ要素の状態に関する時間順序の流れと、複数の独立したプロセスによって実行される本発明による方法によるステップとを示す図
【図１】
0004414892.tif 000002
【図２】
0004414892.tif 000003
【図３】
0004414892.tif 000004
【図４】
0004414892.tif 000005
【図５】
0004414892.tif 000006
【図６】
0004414892.tif 000007
【図７】
0004414892.tif 000008
【図７ａ】
0004414892.tif 000009
【図８】
0004414892.tif 000010