(57)【要約】【課題】ライブ更新実行の効率化を図る。【解決手段】方法および対応するシステムが、ライブコンピューティングシステムを更新する。該方法は、第１のシステムから、通信可能に接続された第２のシステムに、最初にデータのコピーを移動することで開始する。次に、それに続いて一度または複数回、閾値に達するまで、変化したデータのコピーを第１のシステムから第２のシステムに移動する。最後に、閾値に達したことに応答して、残りの変化したデータのコピーを第１のシステムから第２のシステムに移動する。該方法のさらなる一実施形態は、データの最初の移動中、第１のシステムへのアクセスを無効にするステップと、それに続く一度または複数回、変化したデータのコピーの移動中、第１のシステムへのアクセスを有効にし、維持するステップと、残りの変化したデータのコピーの移動中、第１のシステムへのアクセスを無効にするステップとを含む。このようにして、更新中のシステムは、更新プロセス中も、高度に利用可能である。【選択図】図１
2014235749.tif 000002
【特許請求の範囲】
【請求項１】
システムを更新する方法であって、
第１のコンピューティングシステムから、通信可能に接続された第２のコンピューティングシステムに、最初にデータのコピーを移動するステップと、
その後の一度または複数回、変化したデータのコピーを移動するステップであって、前記変化したデータは閾値に達するまで前記第１のコンピューティングシステムから前記第２のコンピューティングシステムに移動される、当該移動するステップと、
前記閾値に達したことに応答して、前記第１のコンピューティングシステムから前記第２のコンピューティングシステムに残りの変化したデータのコピーを移動するステップと
を備えたことを特徴とする方法。
【請求項２】
前記移動されたデータのサブセットを未変換で前記第２のコンピューティングシステムに書き込むステップ
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項３】
前記第２のコンピューティングシステムとの通信を可能にする方法で１つまたは複数のアプリケーションをインストールするステップ
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項４】
前記１つまたは複数のインストールされたアプリケーションによって供給される１つまたは複数のそれぞれのハンドラを用いて前記移動されたデータのサブセットを変換するステップと、
前記変換後のデータを前記第２のコンピューティングシステムに書き込むステップと
をさらに備えたことを特徴とする請求項３に記載の方法。
【請求項５】
前記１つまたは複数のそれぞれのハンドラが、データベースを利用して前記データの変換を追跡することを特徴とする請求項４に記載の方法。
【請求項６】
前記最初に前記データのコピーを移動する期間中、前記第１のコンピューティングシステムへのアクセスを無効にするステップと、 
前記その後の一度または複数回、前記変化したデータのコピーを移動する期間中、前記第１のコンピューティングシステムへのアクセスを有効にしおよび維持するステップと、
前記残りの変化したデータのコピーを移動する期間中、前記第１のコンピューティングシステムへのアクセスを無効にするステップと
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項７】
前記第１のコンピューティングシステムおよび前記第２のコンピューティングシステムは、一方向に通信可能に接続され、前記第１のコンピューティングシステムが前記第２のコンピューティングシステムに可視性をもたないようにすることを特徴とする請求項１に記載の方法。
【請求項８】
前記第１のコンピューティングシステムから前記第２のコンピューティングシステムに前記残りの変化したデータのコピーを移動した後、１つまたは複数のクライアントを前記第２のコンピューティングシステムに導くステップと、
前記第１のコンピューティングシステムから前記第２のコンピューティングシステムに前記残りの変化したデータのコピーを移動した後、前記第１のコンピューティングシステムを削除するステップと
をさらに備えたことを特徴とする請求項１に記載の方法。 
【請求項９】
前記第２のコンピューティングシステムのカーネル更新を実行するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１０】
前記変化したデータは、前回、前記第１のコンピューティングシステムから前記第２のコンピューティングシステムにデータが移動された後、変更されたデータおよび前記第１のコンピューティングシステムに追加されたデータであることを特徴とする請求項１に記載の方法。
【請求項１１】
前記閾値は、前記第１のコンピューティングシステムの変化したデータの量であることを特徴とする請求項１に記載の方法。
【請求項１２】
第１のシステムと、
前記第１のシステムに通信可能に接続された第２のシステムと、
プロセッサであって、
前記第１のシステムから前記第２のシステムにデータのコピーを移動することであって、当該プロセッサは最初に前記データのコピーを移動し、
その後の一度または複数回、変化したデータのコピーを移動することであって、当該プロセッサは閾値に達するまで前記変化したデータを前記第１のシステムから前記第２のシステムに移動し、
前記閾値に達したことに応答して、前記第１のシステムから前記第２のシステムに残りの変化したデータのコピーを移動する
ように構成されたプロセッサと
を備えたことを特徴とする更新システム。
【請求項１３】
前記プロセッサは、
前記移動されたデータのサブセットを未変換で前記第２のシステムに書き込むようにさらに構成されたことを特徴とする請求項１２に記載の更新システム。
【請求項１４】
前記プロセッサは、
前記第２のシステムとの通信を可能とする方法で１つまたは複数のアプリケーションをインストールする
ようにさらに構成されたことを特徴とする請求項１２に記載の更新システム。
【請求項１５】
前記プロセッサは、
前記１つまたは複数のインストールされたアプリケーションによって供給される１つまたは複数のそれぞれのハンドラを用いて前記移動されたデータのサブセットを変換し、
前記変換後のデータを前記第２のシステムに書き込む、
ようにさらに構成されたことを特徴とする請求項１４に記載の更新システム。
【請求項１６】
前記プロセッサは、
前記最初に前記データのコピーを移動する期間中、前記第１のシステムへのアクセスを無効にし、
前記その後の一度または複数回、前記変化したデータのコピーを移動する期間中、前記第１のシステムへのアクセスを有効にしおよび維持し、
前記残りの変化したデータのコピーを移動する期間中、前記第１のシステムへのアクセスを無効にする
ようにさらに構成されたことを特徴とする、請求項１２に記載の更新システム。
【請求項１７】
前記変化したデータは、前回、前記第１のシステムから前記第２のシステムにデータが移動された後、変更されたデータおよび前記第１のシステムに追加されたデータであることを特徴とする請求項１２に記載の更新システム。
【請求項１８】
前記プロセッサは、
前記第１のシステムから前記第２のシステムに前記残りの変化したデータのコピーを移動した後、１つまたは複数のクライアントを前記第２のシステムに導き、
前記第１のシステムから前記第２のシステムに前記残りの変化したデータのコピーを移動した後、前記第１のシステムを削除する
ようにさらに構成されたことを特徴とする請求項１２に記載の更新システム。
【請求項１９】
前記閾値は、前記第１のシステムの変化したデータの量であることを特徴とする請求項１２に記載の更新システム。
【請求項２０】
１つまたは複数のクライアントとネットワークを介して通信するサーバに、プログラム命令を実行させるコンピュータプログラムであって、
該プログラム命令は、
第１のシステムから、通信可能に接続された第２のシステムに、最初にデータのコピーを移動することと、
それに続き一度または複数回、変化したデータのコピーを移動することであって、該変化したデータは閾値に達するまで前記第１のシステムから前記第２のシステムに移動する、当該移動することと、
前記閾値に達したことに応答して、前記第１のシステムから前記第２のシステムに残りの変化したデータのコピーを移動することと
を備えたことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、コンピュータのプログラムおよびシステムの分野に関し、詳細には、システム更新実行の分野に関する。
【背景技術】
【０００２】
コンピュータのプログラムおよびシステムの出現は、ビジネスの方法を大きく変えた。多くの精巧で複雑なコンピュータシステムが、ビジネスや消費者を支援するために開発された。
【発明の概要】
【課題を解決するための手段】
【０００３】
しかしながら、これらのシステムは、停滞したままではなく、典型的には、更新を必要とする。
【０００４】
本発明の一実施形態に係る方法および対応するシステムは、コンピュータシステムの更新に関する。本発明の一実施形態は、第１のコンピューティング（データ処理）システムから、通信可能に接続された第２のコンピューティング（データ処理）システムに、最初にデータのコピーを移動することによって開始する。この最初の移動の後、それに続いて一度または複数回、閾値に達するまで、変化したデータのコピーを第１のシステムから第２のシステムに移動する。閾値に達したことに応答して、残りの変化したデータのコピーを第１のシステムから第２のシステムに移動する。
【０００５】
本発明の一実施形態は、移動されたデータのサブセットを未変換で第２のシステムに書き込むステップをさらに含んでよい。言い換えれば、データは、変換を必要としない方法で書き込まれる。本発明のさらに別の実施形態は、第２のシステムとの通信を可能にする方法で、１つまたは複数のアプリケーションをインストールするステップを含んでよい。このような実施形態は、１つまたは複数のインストールされたアプリケーションによって供給される１つまたは複数のそれぞれのハンドラを用いて、移動されたデータのサブセットを変換するステップと、変換後のデータを第２のシステムに書き込むステップとをさらに含んでよい。本発明の一代替実施形態によると、ハンドラは、データベースを用いて、データ変換を追跡してよい。
【０００６】
本発明の一実施形態においては、第１のシステムへのアクセスを、最初のデータのコピーの移動の期間中ずっと、無効にする。さらに、このような実施形態においては、それに続いて一度または複数回、変化したデータのコピーを第１のシステムから第２のシステムに移動しているとき、第１のシステムへのアクセスを有効にし、維持する。さらに、第１のシステムへのアクセスは、第１のシステムから第２のシステムに残りの変化したデータのコピーを移動する期間中ずっと、無効にしてよい。
【０００７】
本発明の一実施形態によると、第１のシステムおよび第２のシステムは、第１のシステムが第２のシステムへの可視性を持たないように、一方向に、通信可能に接続されてよい。本発明の一実施形態は、閾値に達したことに応答して、残りの変化したデータのコピーを第１のシステムから第２のシステムに移動した後、１つまたは複数のクライアントを第２のシステムに導くステップをさらに含んでよい。本発明のさらに別の実施形態においては、残りの変化したデータのコピーを第１のシステムから第２のシステムに移した後、第１のシステムを削除する。さらに、本発明の一実施形態は、第２のシステムのカーネル更新を行うステップを含んでよい。
【０００８】
本発明の一実施形態によると、変化したデータとは、前回、第１のシステムから第２のシステムにデータを移動した後、変更されたデータ、および第１のシステムに追加されたデータである。本発明のさらなる一実施形態においては、閾値は、第１のシステムの変化したデータの量である。
【０００９】
本発明のさらなる一実施形態は、更新システムに関する。該システムは、第１のシステム、第１のシステムに通信可能に接続された第２のシステム、および、プロセッサを含んでよい。このような実施形態において、プロセッサは、第１のシステムから第２のシステムに、データのコピーを最初に移動するように構成されてよい。プロセッサは、それに続いて一度または複数回、変化したデータのコピーを移動するようにさらに構成されてよい。この移動は、閾値に達するまで続行してよい。閾値に達したことに応答して、プロセッサは、第１のシステムから第２のシステムに残りの変化したデータのコピーを移動するように構成されてよい。
【００１０】
更新システムのさらなる諸実施形態において、プロセッサは、移動されたデータのサブセットを未変換で書き込むように構成される。更新システムの別の実施形態によると、プロセッサは、第２のシステムとの通信を可能にする方法で、１つまたは複数のアプリケーションをインストールするように構成される。さらに別の実施形態においては、プロセッサは、１つまたは複数のインストールされたアプリケーションによって供給される１つまたは複数の各ハンドラを用いて、移動されたデータのサブセットを変換するように構成される。さらなる一実施形態においては、プロセッサは、変換後のデータを第２のシステムに書き込むようにさらに構成される。
【００１１】
更新システムのさらに別の実施形態においては、プロセッサは、第１のシステムから第２のシステムに最初にデータのコピーを移動する間、第１のシステムへのアクセスを無効にするように構成される。プロセッサは、また、それに続いて１度または複数回、変化したデータのコピーを移動する間、第１のシステムへのアクセスを有効にし、維持してよい。さらに、本発明の一実施形態によると、プロセッサは、残りの変化したデータのコピーを第１のシステムから第２のシステムに移動している間、第１のシステムへのアクセスを無効にするように構成されてよい。
【００１２】
更新システムの一実施形態によると、変化したデータとは、前回、第１のシステムから第２のシステムにデータを移動した後、変更されたデータ、および第１のシステムに追加されたデータである。本発明の一代替実施形態においては、プロセッサは、残りの変化したデータのコピーを第１のシステムから第２のシステムに移動した後、１つまたは複数のクライアントを第２のシステムに導き、第１のシステムを削除するように構成される。
【００１３】
本発明のさらに別の実施形態は、システム更新のためのクラウドコンピューティング実行に関する。このような実施形態は、１つまたは複数のクライアントとネットワークを介して通信するサーバによって実行されるコンピュータプログラム製品に関する。該コンピュータプログラム製品は、プログラム命令を含むコンピュータ可読媒体を含み、そのプログラム命令をプロセッサが実行すると、第１のシステムから通信可能に接続された第２のシステムに、最初にデータのコピーを移動し、それに続いて一度または複数回、閾値に達するまで、第１のシステムから第２のシステムに変化したデータのコピーを移動し、閾値に達したことに応答して、第１のシステムから第２のシステムに残りの変化したデータのコピーを移動する。
【図面の簡単な説明】
【００１４】
前述の説明は、添付の図面で示された本発明の諸実施形態例をより詳細に説明した下記の記載より、明らかになろう。図面では、類似の参照番号は、異なる図面にわたり同じ部分を指す。図面は、必ずしも実際の縮尺に従わず、本発明の諸実施形態を示すことに重点が置かれている。
【図１】本発明の原理に係るシステムを更新する方法を示すフローチャートである。
【図２】システムを更新する方法を示すフローチャートである。
【図３】本発明の一実施形態に係る更新システムの略図である。
【図４】本発明の原理に係るシステムを更新する方法を示すフローチャートである。
【図５】本発明の一実施形態に係るデータを変換するプロセスを示す略図である。
【図６】本発明の一実施形態で使用可能なコンピュータシステムのブロック図である。
【図７】本発明の一実施形態を実現するコンピュータシステムの略図である。
【発明を実施するための形態】
【００１５】
企業コンピュータ／ソフトウェアシステムは、典型的には、追加の製品特徴等を含むために更新を必要とする。しかしながら、更新の実行には、システムのダウンタイムを必要とする場合があるので、消費者のシステム使用を妨げることになる。さらに、システムのダウンタイムによって、ユーザはシステムの更新を思いとどまる場合がある。従って、本発明の一実施形態は、既存の企業ソフトウェアシステムを更新し、かつ、システム全体としてのダウンタイムを最小にするという需要に取り組む。なかでも、顧客の期待、ならびにＳＬＡ（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ）を満たすために、システム更新が原因のダウンタイムを最小にすることは重要である。
【００１６】
更新時間は様々であるが、システムに記憶されるデータ量に相関性があることが多い。従って、システムの使用が増加し、システムに記憶するデータが増えると、更新に必要なダウンタイムも増加する可能性が高い。
【００１７】
本発明の一実施形態は、これらのシステムの更新によって原因のダウンタイムを軽減する。本出願書類を通して「データ」という語を使用しているが、「データ」は、単に、データの定義された単位であるオブジェクトを指してよい。さらに、本出願書類における「データ」は、オブジェクトの構造を指してよい。例えば、データは、所与のオブジェクトが記憶し得る様々な属性を含んでよい。データ（オブジェクト）の構造は、一般的に、メタデータ、すなわち、データに関するデータと呼んでよい。企業システムにおいては、多種多様のデータ構造を有する場合があるので、しばしばシステムの更新には、これらのデータ構造の変更、または、全く新しいデータ構造の追加を含み得る。システム更新をさらに複雑にするのは、このような変更はクライアント単位で、クライアント上で行われることがあるので、クライアントごとにカスタマイズされた更新プロセスが必要な場合があるという事実である。
【００１８】
本発明の一実施形態は、メタデータシステムを更新するという課題を解決する。複雑なメタデータシステムにおいては、データ間の互いの関係は、リリースごとに変わり得る非常に複雑な構造によって管理される。このデータ構造の複雑さは、複雑な物理データおよび論理データをモデル化する必要性に左右される。これらの構造の変更は、進化し続けるモデル化要件および性能考察のためであることが多い。本発明の一実施形態は、システムのダウンタイムを最小にしつつ、これらの構造の更新を可能にする。
【００１９】
次に、本発明の諸実施形態例を説明する。
【００２０】
図１は、コンピュータベースのシステムを更新する方法１００のフローチャートである。方法１００は、第１のシステムから、通信可能に接続された第２のシステムに、最初にデータのコピーを移動することによって開始する（１０２）。第１のシステムおよび第２のシステムは、企業ソフトウェアシステム等の、当技術分野で既知の任意のコンピューティングシステムまたはコンピュータベースのシステムであってよい。データは、更新を実行するように構成されたプロセッサによって実行されるオペレーティングシステムに関連付けられたファイルシステムによって提供される「スナップ」ユーティリティを用いるなど、当技術分野で既知の任意の方法を用いて、第１のシステムからコピーしてよい。第１のシステムおよび第２のシステムは、ハイパーテキスト  トランスファ  プロトコル（ＨＴＴＰ）またはセキュアＨＴＴＰ（ＨＴＴＰＳ）プロトコルを用いて、ローカル  エリア  ネットワーク（ＬＡＮ）接続またはワイド  エリア  ネットワーク(ＷＡＮ）接続を介する等、任意の様々な方法で、通信可能に接続されてよい。
【００２１】
最初にデータのコピーを移動した後、それに続いて一度または複数回、閾値に達するまで、変化したデータのコピーを第１のシステムから第２のシステムに移動する（１０４）。例えば、方法１００の一実施形態によると、データの最初のコピーおよび移動の後、該方法は、変化しているデータまたは第１のシステムに追加されているデータを第２のシステムに継続して移動する。このプロセスは長時間にわたる場合があるので、変化したデータの移動が多数回になることがある。上述のように、変化したデータを移動するプロセスは、閾値に達するまで続行される。
【００２２】
本発明の一実施形態において、閾値は、第１のシステムで変化したデータの量を指す。この閾値は、変化したデータの履歴の量を含む、任意の数のファクタに基づいて設定してよい。さらに、閾値は、更新プロセスの経過時間、および／または、更新プロセスを行う時刻を指してもよい。例えば、システムを特定の時刻までに更新しなければならない場合、更新の完了が必要な時刻に達するまで更新プロセスを継続してよい。さらに、オフピーク時対ピーク時という観点から閾値を定義すると有利な場合がある。例えば、第１のシステムでのデータの変化がユーザの結果である可能性が高く、オフピークの期間中ずっと第１のシステムを利用するユーザがほとんどいないと想定すると、これらのオフピーク時に閾値に達してよい。さらに、閾値は、上述のファクタ、および／または、当技術分野で既知の任意の他の考慮事項の組み合わせとして定義してよい。
【００２３】
閾値に達したことに応答して、方法１００の次のステップは、残りの変化したデータのコピーを第１のシステムから第２のシステムに移動する（１０６）。残りの変化したデータを移動すると（１０６）、第１のシステムのデータの全てが第２のシステムに移動したことになる。
【００２４】
図２は、システムを更新する方法２００を示すフローチャートである。方法２００は、ライブシステムを更新する方法１００の一実施形態の詳細を示す。方法２００は、一連のステップ２０２を伴い開始する（２０１）。これらのステップ２０２は、図１に関連して上述の方法１００のステップ１０２を実現してよい。方法２００はダウンタイムを最小にするようにシステムを更新するが、方法２００の一実施形態は、更新中のシステムに多少のダウンタイムは引き起こす。
【００２５】
方法２００は、第１のシステムへのアクセスを無効にし、第１のシステムから第２のシステムにデータのコピーを移動する（２０２ａ）ことによって開始する。データのコピーを移動の期間中ずっと、このデータの１つまたは複数のサブセットを変換してよい（２０２ｂ）。本発明の一実施形態において、変換を必要とするデータのみを変換し、他のデータは、変換せずに移動してよい。データを変換（２０２ｂ）後、変換後のデータおよび未変換のデータを第２のシステムに書き込む（２０２ｃ）。変換の詳細およびプロセスを図５に関して下記に記載する。この時点で、第１のシステムへのアクセスを有効にする（２０２ｃ）。方法２００のサブプロセス２０２は、第１のシステムのダウンタイムを第１のシステムのデータの最初のコピー時に限定する。最初のコピー後、第１のシステムへのアクセスを有効にする。従って、システム更新の期間中ずっと、ユーザは、高可用性のシステムを体験する。
【００２６】
第１のシステムから第２のシステムへのデータの移動、変換、および書き込み（２０２）後、方法２００の次のステップは、第１のシステムから第２のシステムへの変化したデータをコピーの移動、必要に応じてこのデータのサブセットの変換、および変化したデータの第２のシステムへの書き込むこと（２０４）である。ステップ２０４は、ステップ２０２に続いて起こる。上述のように、第１のシステムへのアクセスを、ステップ２０２ｃにおけるデータの最初の移動後に有効にするので、新しいデータが第１のシステムに追加される可能性が高く、第１のシステムの既存のデータは変更される可能性が高い。第１のシステムのデータのこれらの変化は、第２のシステムに反映されなければならない。従って、ステップ２０４で、引き続き、変化したデータをコピー、移動、必要に応じて変換、および第２のシステムに書き込む。
【００２７】
変化したデータをコピー、移動、変換、および第２のシステムに書き込んだ（２０４）後、方法２００の次のステップは、閾値を満たすか否かを決定する（２０５）ことである。閾値は、プロセス２００が更新を終えるべきと決定される点である。閾値は、当技術分野で既知の任意の方法で定義してよい。方法２００の一実施形態例においては、閾値は、第１のシステムの変化したデータの量である。閾値をチェックして（２０５）閾値を満たさないと決定される場合、方法２００は、ステップ２０４に戻り、第１のシステムの変化したデータをコピー、移動、変換、および第２のシステムに書き込む。コピー、移動、変換、および書き込み（２０４）、ならびに閾値のチェック（２０５）のこのループを、閾値に達するまで続ける。
【００２８】
閾値に達したことに応答して、第１のシステムへのアクセスを無効にし、残りの変化したデータを、第１のシステムから第２のシステムに移動、変換、および書き込む（２０６）。この時点で、第２のシステムは、第１のシステム上にあった最新のデータを含むことになる。残りの変化したデータを移動した（２０６）後、アクセスを有効にして、クライアントを第２のシステムに導いて（２０７）、方法２００を終了する（２０８）。
【００２９】
このように、方法２００は、上述の反復プロセスを用いて第１のシステムのミラーを作成、更新することによって、第１のシステムを更新する。方法２００は、限られたダウンタイムでシステムを更新することができる方法を提供する。上述のように、方法２００の一実施形態によると、第１のシステムへのアクセスを、最初の移動（２０２）、および、残りの変化したデータを移動する最後のパス（２０６）の間だけ、無効にする。
【００３０】
図３は、本発明の一実施形態に係る更新システム３２０の略図である。更新システムは、プロセッサ３２６を含む。プロセッサ３２６は、更新システム３２０の様々なコンポーネントを用いてシステム更新を行うように構成される。システム３２０は、アプリケーション開発ツールキット（ＡＤＫ）３２３をさらに含む。ＡＤＫ３２３は、ハードウェア、ソフトウェア、および／または、それらの組み合わせで実現してよく、更新システム３２０へのアプリケーション  プログラミング  インターフェース(ＡＰＩ)として機能してよい。本発明の一実施形態においては、ＡＤＫ３２３は、プロセッサ３２６によって実行される。本発明の一実施形態によると、ＡＤＫ３２３は、アセットライブラリファイルの形で伝達される。該ファイルは、例えば、Ｊａｖａ ＡＲｃｈｉｖｅ（ＪＡＲ）フォーマットなどの、当技術分野で既知の任意のフォーマットであってよい。更新システム３２０の一実施形態によると、ＡＤＫ３２３は、ユーザおよび管理者は更新システム３２０と対話することができる。下記により詳細に説明するように、ＡＤＫ３２４は、システム３２０によって供給されるハンドラ、および／またはシステム３２０に接続された様々なアプリケーション３２５ａ〜３２５ｎによって使用可能で、プロセッサ３２６によって実行されて、更新すべきシステム３２１に対してクエリを行うことができる。これらのクエリは、更新すべきシステム３２１（Ｎシステム）で変化したデータに関連する問い合わせであってよい。
【００３１】
プロセッサ３２６にさらに接続されるのは、アプリケーション３２５ａ〜３２５ｎである。任意の数のアプリケーション３２５ａ〜３２５ｎがプロセッサ３２６に接続されてよい。アプリケーション３２５ａ〜３２５ｎは、プロセッサ３２６によって実行され、ユーザに利用可能であってよい。アプリケーションの例には、コンピュータ  エイデッド  デザイン（ＣＡＤ）アプリケーション、コンピュータ  エイデッド  エンジニアリング（ＣＡＥ）アプリケーション、および／または、他のアプリケーションモデリングツールを含む。本発明の一実施形態においては、アプリケーション３２５ａ〜３２５ｎは、様々なハンドラを提供する。下記に詳細に記載するように、様々なハンドラは、プロセッサ３２６によって実行されてよく、更新すべきシステム３２１からのデータを変換するように構成されてよい。
【００３２】
更新モジュール３２４が、プロセッサ３２６、アプリケーション３２５ａ〜３２５ｎ、および、ＡＤＫ３２３に接続される。更新モジュール３２４は、ハードウェア、ソフトウェア、および／または、それらの組み合わせによって実現してよい。更新モジュール３２４は、全体または一部を、プロセッサ３２６によって実行されてよい。本発明の一実施形態においては、更新モジュール３２４は、様々なアプリケーション３２５ａ〜３２５ｎを管理するデータモデル（スキーマ）を定義する管理定義を変更するように構成される。これらの管理定義は、アプリケーション３２５ａ〜３２５ｎの様々なスキーマのデータ構造の定義を指す。本出願書を通して、モデル、スキーマ、およびメタデータという語は、置き換え可能に用いてよく、データに関するデータ、すなわち、様々なアプリケーション３２５ａ〜３２５ｎが用いるデータの構造を記述するデータを指す。
【００３３】
更新モジュール３２４は、本明細書に記載の方法２００、３００、および／または、４００を実現するよう構成されてよい。更新モジュール３２４は、様々なシステムレベルで更新を行うよう構成されてよい。例えば、更新モジュール３２４は、カーネル更新を行ってよく、カーネル更新は、データベースレベルの定義、すなわち、データベーススキーマを変更するステップを含んでよい。更新モジュール３２４は、また、カーネルプラットフォームレベルでの変更を行うように構成されてよい。カーネルプラットフォームレベルでの変更は、データをどのように体系化するかを変更するステップを含んでよい。さらに、更新モジュール３２４は、アプリケーションレベルの定義を変更してよい。アプリケーションレベルでの変更は、例えば、ある属性をあるタイプに追加するなど、追加のデータを既存のオブジェクトに追加するように単純であってもよく、データをどのように体系化するかという構造を変更するステップを含んでもよい。本明細書に記載のように、データ構造が変更される場合、アプリケーション３２５ａ〜３２５ｎのそれぞれが供給するハンドラを用いて、元のＮシステム３２１からのデータを変換して、変換後のデータをＮ＋１システム３２２に提示してよい。
【００３４】
更新システム３２０は、データベース３２７をさらに含み、データベース３２７は、タグＤＢと呼んでよい。データベース３２７は、更新モジュール３２４およびプロセッサ３２６に通信可能に接続される。本発明の一実施形態によると、データベース３２７は、更新すべきシステム３２１からのデータを変換するプロセスを追跡するために、プロセッサ３２６、更新モジュール３２４、アプリケーション３２５ａ〜３２５ｎ、および、アプリケーション３２５ａ〜３２５ｎによって供給される各ハンドラによって用いられる。データベース３２７は、当技術分野で既知の任意のデータベースであってよく、更新すべきシステム３２１を更新するプロセスを促進するような任意の方法で構築されてよい。例えば、本発明の一実施形態においては、データベース３２７は、ＮｏＳＱＬ（ｎｏｔ  ｏｎｌｙ  ｓｔｒｕｃｔｕｒｅｄ  ｑｕｅｒｙ  ｌａｎｇｕａｇｅ）タイプのデータベースである。
【００３５】
更新システム３２０は、元のシステム、すなわち、更新すべきシステム３２１をさらに含み、更新すべきシステム３２１は、本出願書を通して、「Ｎシステム」と呼んでよい。更新すべきシステム３２１は、アプリケーション３２５ａ〜３２５ｎが用いる様々なデータであって、ユーザによるアプリケーション３２５ａ〜３２５ｎの使用を促進する、および／または、その使用に由来するデータを含む。例えば、所与のアプリケーション３２５ａがＣＡＤアプリケーションの場合、システム３２１は、アプリケーション３２５ａを用いてユーザが生成するＣＡＤモデルを定義するデータを含んでよい。この場合、Ｎシステム３２１は、アプリケーション３２５ａのメタデータと呼ばれる特定の構造のこのデータを記憶し、記憶されたデータはアプリケーション３２５ａの特定のスキーマで管理される。
【００３６】
通信可能に接続されたシステム３２１が、更新後のシステム３２２である。システム３２１および３２２は、プロセッサ３２６に通信可能に接続される。システム３２１および３２２は、更新モジュール３２４およびＡＤＫモジュール３２３を含む様々なモジュールの使用を通じてアクセスし、本発明の原理に従ったシステム更新を行ってよい。さらに、システム３２１および３２２は、第１のシステム３２１が第２のシステム３２２に可視性をもたないように、または、第２のシステム３２２が第１のシステム３２１に可視性をもたないように、一方向に、通信可能に接続されてよい。
【００３７】
システム３２０を使用してシステム３２１を更新する例を以下に記載する。更新システム３２０を用いてシステム３２１を更新する方法の例は、任意の数の初期設定手順で開始してよい。このような手順の１つには、更新すべきシステム３２１に関する管理変更を無効にするステップを含んでよい。管理変更は、メタデータ、すなわち、システム３２１に記憶されたデータの構造を記述する規則を指してよい。管理変更を行う機能は、更新プロセス中、中止してよい。しかしながら、「インスタントデータ」を作成する機能は、更新プロセス中、許可されてよい。データ構造への変更は、更新プロセス中、無効にしているので、「インスタントデータ」は、新しいデータ構造によって定義されたデータではなく、変更されたデータおよび新しいデータを指してよい。
【００３８】
他の初期手順は、Ｎ＋１システム３２２をＮシステム３２１に接続するように構成するステップを含む。この接続は、ＨＴＴＰ（ｈｙｐｅｒｔｅｘｔ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）および／またはＨＴＴＰＳ（ｓｅｃｕｒｅ  ＨＴＴＰＳ）プロトコルの使用を介することを含む当技術分野で既知の任意の方法で達成してよい。初期手順は、Ｎシステム３２１からＮ＋１システム３２２にデータをコピーするステップをさらに含んでよい。このデータは、ファイルシステム「スナップ」ユーティリティの使用を含む、当技術分野で既知の任意の方法を用いてコピーしてよい。更新システム３２０を用いてシステム３２１を更新する方法の一部となり得る別の初期手順は、Ｎ＋１システム３２２のカーネル更新を行うステップを含んでよい。
【００３９】
さらに、初期手順は、アプリケーション３２５ａ〜３２５ｎは、そのスキーマの更新と共にインストールするステップを含んでよい。これらのアプリケーション３２５ａ〜３２５ｎは、スキーマの更新と共に、テナント単位で、テナントにインストールしてよい。これらのスキーマ（メタデータ）の更新は、データの構造の変更を指す。例えば、モデリングツールアプリケーションの場合では、スキーマの変更は、属性の追加、または、特定のデータ構造のポリシーの修正を含んでよい。アプリケーション３２５ａ〜３２５ｎは、Ｎ＋１システム３２２との通信を可能にする方法でインストールされるように、任意のシステムまたはコンポーネントにインストールしてよい。一実施形態例において、Ｎ＋１システムのメタデータ定義を更新する効果を有するアプリケーションを、Ｎ＋１システムにインストールする。アプリケーション３２５ａ〜３２５ｎを、所望に応じて、それぞれの各スキーマの更新と共にインストールした後、初期設定手順は、変換を必要とするデータタイプのアプリケーションハンドラを構成することをさらに含んでよい。ハンドラを構成することは、ハンドラが特定のデータ構造に出会うと、そのデータ構造をスキーマの更新に適合するような特定の方法で変換するように、それぞれのハンドラを構成するというように単純なものであってよい。ハンドラは、データを変換するように構成されてよい。その一方で、デフォルトハンドラと呼んでよい他のハンドラは、変換を必要としないデータを扱うように構成されてよい。これは、変換を必要としないデータを識別することと、変換を必要としないデータの転送および更新を促進することと、ならびに、このデータをＮ＋１システム３２２に書き込むこととを含んでよい。別の初期手順は、更新モジュール３２４によって使用するデータベース３２７、およびアプリケーション３２５ａ〜３２５ｎが供給する各ハンドラを構成することを含んでよい。
【００４０】
初期設定手順の１つまたは複数の後、更新を行ってよい。上述のように、初期プロセスは、Ｎシステム３２１のデータをコピーするステップ、およびこのデータをＮ＋１システム３２２に移動するステップを含む。最初のコピー後、プロセッサ３２６によって実行される更新モジュール３２４およびＡＤＫ３２３は、協働してＮシステム３２１の更新を行う。このように、データが、Ｎシステム３２１に追加される、および、Ｎシステム３２１で変更されると、これらのデータの変化は、更新モジュール３２４、ＡＤＫ３２３、アプリケーション３２５ａ〜３２５ｎ、ハンドラ、およびプロセッサ３２６を使用して、Ｎ＋１システム３２２に反映されている。
【００４１】
更新プロセスの一実施形態例において、更新の最初の繰り返しにおいて、全てのクロージャの最初の変換を捉える。クロージャは、このように、互いに関連するオブジェクトのセットを指し、クロージャは、オブジェクトの範囲を指す。本出願書類を通して、データ、オブジェクトという語は、置き換え可能に用いてよい。
【００４２】
最初の繰り返しにおいて、変換を必要とする全てのデータを処理する。これは、変換を必要とする全てのデータを決定するようにＡＤＫ３２３によるＮシステム３２１へのクエリを伴う。このようなデータは、初期手順として行われた元のコピーおよび移動によってＮ＋１システムに既に存在するが、Ｎ＋１システム３２２のこのデータにアクセスして変換を必要とするデータを変換するよりも、アプリケーション３２５ａ〜３２５ｎのそれぞれによって供給されるハンドラは、Ｎ＋１システム３２２のこの未変換のデータを削除し、Ｎシステム３２１の変換を必要とするデータにアクセスする。その後、この変換を必要とするデータは、移動され、変換され、およびＮ＋１システム３２２に書き込まれる。
【００４３】
更新プロセスの最初の繰り返し後、ＡＤＫ３２３を介した更新方法は、最後にシステムがクエリされた後に変化したデータを決定するように、Ｎシステム３２１にクエリする。この時点から、Ｎシステム３２１で変化したデータのみが、移動され、必要に応じて変換され、およびＮ＋１システム３２２に書き込まれる。さらに、Ｎ＋１システム３２２に記憶された、更新を必要とする、変換後のデータは、いずれも削除される。Ｎシステム３２１の対応するデータは、移動され、変換され、およびＮ＋１システム３２２に書き込まれる。Ｎ＋１システム３２２で更新を必要とする変換後のデータを更新するよりも、変換が必要なデータを変換し、移動し、書き込むことの方が早いので、この方法は有利であると思われる。一代替実施形態においては、Ｎ＋１システム３２２の更新が必要な変換後のデータを削除するのではなく、Ｎ＋１システム３２２のデータを単純に更新する。
【００４４】
Ｎシステム３２１にアクセスし、Ｎシステム３２１のデータの変化を反映するようにＮ＋１システム３２２のデータを更新するというこの反復プロセスは、閾値に達するまで継続する。この閾値は、Ｎシステム３２１のデータとＮ＋１システム３２２のデータとの相違量、すなわち、デルタのサイズを指してよい。さらに、閾値は、あるいは、期限、および／または、デルタと時間との組み合わせであってよい。閾値に達した後、Ｎシステム３２１の残りの変化したデータのすべてが、移動され、必要に応じて変換され、およびＮ＋１システム３２２に書き込まれ、プロセスは終了する。
【００４５】
システム３２０のさらなる一実施形態においては、プロセッサ３２６は、最初のコピーおよび最初のデータの移動の期間中ずっと、Ｎシステム３２１へのアクセスを無効にするように構成される。さらに、プロセッサ３２６は、最初の移動およびコピー後、ならびにデータの移動、変換、および、Ｎ＋１システム３２２への書き込みの反復プロセスの期間中ずっと、Ｎシステム３２１へのアクセスを有効にして、維持して、Ｎシステム３２１のデータの変化を反映させるように構成されてよい。さらに、プロセッサ３２６は、閾値に達したことに応答して起こる残りの変化したデータの移動の期間中ずっと、Ｎシステム３２１へのアクセスを無効にするように構成されてよい。
【００４６】
本発明の一代替実施形態によると、プロセッサ３２６は、更新が完了した後、クライアントをＮ＋１システム３２２に導くようにさらに構成されてよい。一代替実施形態は、更新完了後、Ｎシステム３２１を削除するステップをさらに含んでよい。
【００４７】
さらに、本発明の一実施形態においては、システム３２１は、任意の数のテナントが共有してよい。従って、Ｎシステム３２１の更新は、テナント単位で、テナント上で行ってよい。さらに、そのような更新手順は、各アプリケーションが各テナントのニーズに合うように、テナント単位で、テナントにアプリケーションをインストールするステップを含んでよい。
【００４８】
図４は、本発明の原理に係るシステムを更新する方法４００を示すフローチャートである。方法４００が開始すると（４３１）、「検査日」をゼロに設定する（４３２）。「検査日」は、更新すべきシステムが更新プロセスによってクエリされた最後の時を指す。本明細書に記載のように、方法４００の諸実施形態は、スキーマの更新と共にアプリケーションをインストールすることを含む任意の数の初期手順を行うことをさらに含んでよい。「検査日」の初期化（４３２）後、「検査日」より新しいオブジェクトおよび関係が識別される（４３３）。「より新しい」という語を使用しているが、「より新しい」は、「検査日」後に変更されたオブジェクトを指し、必ずしも「新しい」必要はない。さらに、「検査日」より新しいオブジェクト／関係を決定後、「検査日」をこの問い合わせの時に設定する（４３３）。次に、図３に関連して記載した、アプリケーション３２５ａ等の各アプリケーションのハンドラが呼び出されてクロージャを計算する。上述のように、クロージャは、互いに関連するオブジェクトのセットを指す。本明細書に記載のクロージャは、図５に関連して本明細書で例証し、記載するように、オブジェクト、およびこれらのオブジェクト間の関係を含む。クロージャの計算は、オブジェクト、ひいては関連付けられたオブジェクトを変換して、システム更新の結果として生じるスキーマの更新に適合するプロセスを指す。クロージャの計算のためにアプリケーションハンドラを呼び出した（４３４）後、クロージャを計算したか否かを決定する（４３５）。クロージャが既に計算された場合、プロセスは、まだ、するべきことがあるか否かを決定する（４４０）。クロージャがまだ計算されていないと決定されると（４３５）、まず、以前マッピングされたオブジェクトおよび関係を削除する（４３６）。次に、新しいオブジェクトおよび関係が作成される（４３７）。新しいオブジェクトおよび関係が作成された（４３７）後、オブジェクトおよび関係に関する全てのプロパティが設定される（４３８）。オブジェクトおよび関係のプロパティを設定した（４３８）後、クロージャは図３のデータベース３２７等のデータベースに記録される（４３９）。
【００４９】
プロセス４００の次のステップは、まだ、するべきことがあるか否かを決定することである（４４０）。この問い合わせは、変換を必要とするオブジェクトがまだあるか否かを尋ねることである。変換を必要とするオブジェクトがまだある場合、方法４００は、ステップ４３４に戻り、アプリケーションハンドラを呼び出して別のクロージャを計算し、変換を必要とするクロージャに対してステップ４３５〜４３９を繰り返す。このプロセスは、ステップ４３３で「検査日」より新しいと識別された全てのオブジェクトおよび関係を適切に変換し、および／または、新しいシステムに移動するまで、継続する。変換および／または移動する必要のあるオブジェクトがもうないと決定されると、ステップ４４０で、これ以上するべきことがないと決定される。
【００５０】
これ以上するべきことがないと決定されると（４４０）、方法４００の次のステップは、小さいデルタがあるか否かを決定することである（４４１）。デルタは、新しいシステムのオブジェクトとは異なる元のシステムのオブジェクトの数を指してよい。更新する必要のある元のシステムのオブジェクトの数が、なんらかの閾値に達する時、小さいデルタと考えてよい。図示の方法４００は、小さいデルタを求めている（４４１）が、他のインジケータを単独で、または、デルタと共に用いてもよい。例えば、方法４００の一実施形態は、更新を行っている時刻も考慮してよい。本明細書に記載するように、更新中のシステムは、最初のデータの移動中、および、最後のパス中は利用不可能であってよい。従って、例えば、更新すべきシステムを使用し、アクセスを試みる人がほとんどいない時に、最終的なスイープ（ｓｗｅｅｐ）を行うと有利であると思われる。
【００５１】
ステップ４４１で、小さいデルタがないと決定されると、方法４００は、ステップ４３３に戻り、上述のステップを繰り返す。ステップ４３３で、「検査日」より新しいオブジェクトと関係を見つけると、この最新の問い合わせを反映するように「検査日」は更新され、該方法は、上述のように進む。小さいデルタに達すると、方法は終了する（４４２）。小さいデルタに達した後、方法４００の一代替実施形態は、１つまたは複数のタスクを行って更新を終了させる。このような一実施形態によると、小さいデルタに達すると、更新中のシステムへのアクセスを無効にし、更新が必要な最後に残っているデータは、移動され、必要に応じて変換され、およびＮ＋１システムに書き込まれる。さらなる諸実施形態は、最終承認テスト、および、ベースラインインデックスプロセスを追加で実行してよい。例えば、Ｎ＋１システムを作る前に、ライブ、自動、および／または、手動のテストを行って、Ｎ＋１システムが承認できる状態であることを検証してよい。さらに、諸実施形態は、システムのＮ＋１インスタンスにクライアントを導いて、システムの元のインスタンスおよびデータ変換の追跡に用いられたデータベースを削除してよい。
【００５２】
図５は、本発明の一実施形態に係るデータを変換するプロセスを示す略図である。本明細書に記載する変換は、ＮシステムおよびＮ＋１システムにおいて異なるデータ構造を扱う必要性に関する。Ｎシステムのデータが、Ｎ＋１システムのデータと異なる方法で配置されていることはあり得る。変換は、ハンドラと呼ばれるコードによって扱われてよい。ハンドラは、変換に必要な変化をグループ化し、データの変換後のセットを作り出してよい
【００５３】
図５において、クロージャ５５５は、更新すべき第１のシステム５５１のクロージャＢを表す。図示のクロージャ５５５において、配線Ｘ、Ｙ、Ｚ等の配線は、関係を指し、囲み文字Ａ、Ｂ、Ｃ、Ｄは、オブジェクトを指す。変換Ｂ′５５６は、第２のシステム５５２に図示される。第２のシステム５５２および各クロージャ５５６において、中間のオブジェクトＢを取り除いて、Ｂのデータは関係Ｍに記憶される。この変換を考慮して、タグデータベース５５３は、エントリ５５７を更新して、変化を反映する。本発明の一実施形態において、変換に関わるオブジェクトのグループ化は、ソースクロージャとして知られ、オブジェクトの変換後のセットは、ターゲットクロージャと呼んでよい。
【００５４】
本発明の一施形態によると、アプリケーション３２５ａ〜３２５ｎ等のアプリケーションは、変換を必要とする各オブジェクトタイプのためのハンドラを登録してよい。さらに、本発明の一実施形態において、変換を必要としないデータタイプのためのデフォルトハンドラがあってよい。デフォルトハンドラは、１つのオブジェクトを含むクロージャを単に戻してよい。別の実施形態においては、ハンドラは、最後の繰り返しの後、修正されたオブジェクトのクロージャを計算する。
【００５５】
本発明の一実施形態によると、複数のハンドラが、複数のタイプとクロージャで協働してよい。このような協働において、各ハンドラは、クロージャ内のオブジェクトが変化するときは、同じ結果を産んでよい。例えば、Ｘが所与のクロージャ内で変化する場合、各ハンドラは、Ｂ＝Ｂ、Ｘ、Ｙ、Ｚとなり、同様に、Ｙが変化する場合、別の各ハンドラはＢ＝Ｂ、Ｘ、Ｙ、Ｚとなる。ハンドラが、協働しているとき、ハンドラは、クロージャを識別するために、一貫した命名規則を選択して、その命名規則に合意するように構成されてよい。本発明の一実施形態においては、クロージャ識別子は、固有のものとされ、時間が経っても一貫している。このような可能な規則の１つは、クロージャの中心的なオブジェクトの物理的識別子を使用することであってよい。
【００５６】
特定のハンドラがクロージャを計算しているとき、オブジェクトおよび関係、ならびにそれらの各プロパティのグラフが、メモリで決定される。このような変換を追跡するための可能な規則は、オブジェクト／関係を再利用するときは、実際の物理的識別子（ＰＩＤ）を使用することであってよく、新しいオブジェクト／関係を生成するときは記号名を使用することであってよい。
【００５７】
本明細書に記載のように、ＮｏＳＱＬデータベース等のデータベースは、データベース３２７によって実現してよく、該データベースを用いて、変換および結果として生じるＰＩＤを記録してよい。変換を記憶する時、本発明の一実施形態によると、変換は二つの部分を有する。識別子（ＩＤ）は、更新を行う各ハンドラが選択した変わらない名前で、ＰＩＤリストは、変換を構成する実際または記号のＰＩＤのリストである。さらに、本発明の一実施形態によると、ＩＤにタイムスタンプを付加して、クロージャの構築に用いられた最新のオブジェクトを示してよい。タイムスタンプの使用によって、たとえ多数のオブジェクトが変化しても、唯一つの変換を構築することを可能にしてよい。さらに、本発明の一実施形態によると、タイムスタンプが、記憶されたタイムスタンプより前の場合、クロージャは既に処理されたとみなすことができる。
【００５８】
変換を記憶するステップに加えて、本発明の一実施形態は、ＰＩＤマッピングを記憶するステップをさらに含んでよい。記憶されたＰＩＤマッピングの使用は、以前のＰＩＤを調べたり、必要に応じて、対応するオブジェクトを削除するのを容易にする。このようなマッピングにおいて、新しいオブジェクトが作成されると、新しいＰＩＤが記録される。
【００５９】
図６は、本発明の諸実施形態を実現可能なコンピュータシステム６０１のハイレベルブロック図である。システム６０１はバス６１５を含む。バス６１５は、システム６０１の様々なコンポーネント間の接続である。バス６１５に接続されるのは、キーボード、マウス、ディスプレイ、スピーカなどの様々な入力装置および出力装置を、システム６０１に接続するための入／出力装置インタフェース６３０である。ＣＰＵ６０５は、バス６１５に接続され、コンピュータ命令の実行を行う。メモリ６２５は、コンピュータ命令の実行に使用されるデータのための揮発性記憶装置を提供する。記憶装置６２０は、オペレーティングシステム（ＯＳ）等のソフトウェア命令のための不揮発性記憶装置を提供する。システム６０１は、ＬＡＮおよびＷＡＮ等の当技術分野で既知の任意の様々なネットワークにシステム６０１を接続するためのネットワークインタフェース６３５も含む。
【００６０】
図７は、本発明を実行可能なコンピュータネットワーク環境７７０を示す。コンピュータネットワーク環境７７０においては、サーバ７７１は、通信ネットワーク７７２を介して、クライアント７７３ａ〜７７３ｎにリンクされる。環境７７０を用いて、クライアント７７３ａ〜７７３ｎが単独でまたはサーバ７７１との組み合わせで、上述の方法を実行するのを可能にしてよい。さらに、コンピュータネットワーク環境７７０の一実施形態においては、クライアント７７３ａ〜７７３ｎは、ネットワーク７７２および／またはサーバ７７１を介して、更新されたシステムにアクセスしてよい。
【００６１】
上述の諸実施形態例は、多くの異なる方法で実行可能なことは理解されたい。時には、本明細書に記載の様々な方法および機械は、それぞれ、物理的、仮想、もしくは、ハイブリッドの汎用コンピュータ、または、コンピュータ環境７７０等のコンピュータネットワーク環境によって実行されてよい。
【００６２】
諸実施形態、または、その諸態様は、ハードウェア、ファームウェア、または、ソフトウェアの形で実行してよい。ソフトウェアで実行される場合、ソフトウェアは、プロセッサが、ソフトウェア、または、ソフトウェアの命令のサブセットをロードするのを可能にするように構成される任意の永続的なコンピュータ可読媒体に記憶されてよい。そうすると、プロセッサは、命令を実行し、本明細書に記載の方法で動作する、または、装置を動作させるように構成される。
【００６３】
さらに、ファームウェア、ソフトウェア、ルーチン、または、命令は、データプロセッサの特定の動作および／または機能を行うとして、本明細書に記載しているが、本明細書に含まれるこのような記載は、便宜上のものにすぎず、このような動作は、実際は、コンピューティング装置、プロセッサ、制御装置、または、ファームウェア、ソフトウェア、ルーチン、または、命令などを実行する他の装置によって生じる、ことは理解されたい。
【００６４】
フロー図、ブロック図、ネットワーク図は、本記載より多くの要素、または、より少ない要素を含んでよく、異なる配置であってよく、または、異なるように表されてよいことは、理解されたい。しかし、特定の諸実行形態については、ブロック図、ネットワーク図、ならびにブロック図およびネットワーク図の数を定めて、諸実施形態の実行をある特定の方法で実行することを示してよいことも、理解されたい。
【００６５】
従って、さらなる諸実施形態も、様々なコンピュータアーキテクチャ、物理的コンピュータ、仮想コンピュータ、クラウドコンピュータ、および／または、それらの何らかの組合せで実行してよいので、本明細書に記載のデータプロセッサは、例証目的のみで記載しており、諸実施形態を制限するものとして記載してはいない。
【００６６】
本発明を、本発明の諸実施形態例に関して、詳細に、図示し、記載したが、請求項に包含される本発明の範囲を逸脱することなく、形態および詳細を様々に変更してよいことを、当業者は理解されよう。
【００６７】
例えば、前述は、コンピュータベースの、計算（コンピューティング）、処理、データ処理、データベースシステムなどの任意のもの、および／または、それらの任意の組み合わせとして、第１のシステムおよび第２のシステムを記載している。
【図１】
2014235749.tif 000003
【図２】
2014235749.tif 000004
【図３】
2014235749.tif 000005
【図４】
2014235749.tif 000006
【図５】
2014235749.tif 000007
【図６】
2014235749.tif 000008
【図７】
2014235749.tif 000009