JP6389648B2 - ライブ更新 - Google Patents

ライブ更新 Download PDF

Info

Publication number
JP6389648B2
JP6389648B2 JP2014111474A JP2014111474A JP6389648B2 JP 6389648 B2 JP6389648 B2 JP 6389648B2 JP 2014111474 A JP2014111474 A JP 2014111474A JP 2014111474 A JP2014111474 A JP 2014111474A JP 6389648 B2 JP6389648 B2 JP 6389648B2
Authority
JP
Japan
Prior art keywords
data
computing system
copy
subset
changed
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.)
Active
Application number
JP2014111474A
Other languages
English (en)
Other versions
JP2014235749A (ja
Inventor
タベンキン ボリス
タベンキン ボリス
エドワード テュークスバリー デイビッド
エドワード テュークスバリー デイビッド
ジョセフ アッパム ウィリアム
ジョセフ アッパム ウィリアム
ランフランチ セベリン
ランフランチ セベリン
Original Assignee
ダッソー システムズ エノビア コーポレーション
ダッソー システムズ エノビア コーポレーション
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 ダッソー システムズ エノビア コーポレーション, ダッソー システムズ エノビア コーポレーション filed Critical ダッソー システムズ エノビア コーポレーション
Publication of JP2014235749A publication Critical patent/JP2014235749A/ja
Application granted granted Critical
Publication of JP6389648B2 publication Critical patent/JP6389648B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • 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
    • G06F16/273Asynchronous replication or reconciliation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、一般的には、コンピュータのプログラムおよびシステムの分野に関し、詳細には、システム更新実行の分野に関する。
コンピュータのプログラムおよびシステムの出現は、ビジネスの方法を大きく変えた。多くの精巧で複雑なコンピュータシステムが、ビジネスや消費者を支援するために開発された。
しかしながら、これらのシステムは、停滞したままではなく、典型的には、更新を必要とする。
本発明の一実施形態に係る方法および対応するシステムは、コンピュータシステムの更新に関する。本発明の一実施形態は、第1のコンピューティング(データ処理)システムから、通信可能に接続された第2のコンピューティング(データ処理)システムに、最初にデータのコピーを移動することによって開始する。この最初の移動の後、それに続いて一度または複数回、閾値に達するまで、変化したデータのコピーを第1のシステムから第2のシステムに移動する。閾値に達したことに応答して、残りの変化したデータのコピーを第1のシステムから第2のシステムに移動する。
本発明の一実施形態は、移動されたデータのサブセットを未変換で第2のシステムに書き込むステップをさらに含んでよい。言い換えれば、データは、変換を必要としない方法で書き込まれる。本発明のさらに別の実施形態は、第2のシステムとの通信を可能にする方法で、1つまたは複数のアプリケーションをインストールするステップを含んでよい。このような実施形態は、1つまたは複数のインストールされたアプリケーションによって供給される1つまたは複数のそれぞれのハンドラを用いて、移動されたデータのサブセットを変換するステップと、変換後のデータを第2のシステムに書き込むステップとをさらに含んでよい。本発明の一代替実施形態によると、ハンドラは、データベースを用いて、データ変換を追跡してよい。
本発明の一実施形態においては、第1のシステムへのアクセスを、最初のデータのコピーの移動の期間中ずっと、無効にする。さらに、このような実施形態においては、それに続いて一度または複数回、変化したデータのコピーを第1のシステムから第2のシステムに移動しているとき、第1のシステムへのアクセスを有効にし、維持する。さらに、第1のシステムへのアクセスは、第1のシステムから第2のシステムに残りの変化したデータのコピーを移動する期間中ずっと、無効にしてよい。
本発明の一実施形態によると、第1のシステムおよび第2のシステムは、第1のシステムが第2のシステムへの可視性を持たないように、一方向に、通信可能に接続されてよい。本発明の一実施形態は、閾値に達したことに応答して、残りの変化したデータのコピーを第1のシステムから第2のシステムに移動した後、1つまたは複数のクライアントを第2のシステムに導くステップをさらに含んでよい。本発明のさらに別の実施形態においては、残りの変化したデータのコピーを第1のシステムから第2のシステムに移した後、第1のシステムを削除する。さらに、本発明の一実施形態は、第2のシステムのカーネル更新を行うステップを含んでよい。
本発明の一実施形態によると、変化したデータとは、前回、第1のシステムから第2のシステムにデータを移動した後、変更されたデータ、および第1のシステムに追加されたデータである。本発明のさらなる一実施形態においては、閾値は、第1のシステムの変化したデータの量である。
本発明のさらなる一実施形態は、更新システムに関する。該システムは、第1のシステム、第1のシステムに通信可能に接続された第2のシステム、および、プロセッサを含んでよい。このような実施形態において、プロセッサは、第1のシステムから第2のシステムに、データのコピーを最初に移動するように構成されてよい。プロセッサは、それに続いて一度または複数回、変化したデータのコピーを移動するようにさらに構成されてよい。この移動は、閾値に達するまで続行してよい。閾値に達したことに応答して、プロセッサは、第1のシステムから第2のシステムに残りの変化したデータのコピーを移動するように構成されてよい。
更新システムのさらなる諸実施形態において、プロセッサは、移動されたデータのサブセットを未変換で書き込むように構成される。更新システムの別の実施形態によると、プロセッサは、第2のシステムとの通信を可能にする方法で、1つまたは複数のアプリケーションをインストールするように構成される。さらに別の実施形態においては、プロセッサは、1つまたは複数のインストールされたアプリケーションによって供給される1つまたは複数の各ハンドラを用いて、移動されたデータのサブセットを変換するように構成される。さらなる一実施形態においては、プロセッサは、変換後のデータを第2のシステムに書き込むようにさらに構成される。
更新システムのさらに別の実施形態においては、プロセッサは、第1のシステムから第2のシステムに最初にデータのコピーを移動する間、第1のシステムへのアクセスを無効にするように構成される。プロセッサは、また、それに続いて1度または複数回、変化したデータのコピーを移動する間、第1のシステムへのアクセスを有効にし、維持してよい。さらに、本発明の一実施形態によると、プロセッサは、残りの変化したデータのコピーを第1のシステムから第2のシステムに移動している間、第1のシステムへのアクセスを無効にするように構成されてよい。
更新システムの一実施形態によると、変化したデータとは、前回、第1のシステムから第2のシステムにデータを移動した後、変更されたデータ、および第1のシステムに追加されたデータである。本発明の一代替実施形態においては、プロセッサは、残りの変化したデータのコピーを第1のシステムから第2のシステムに移動した後、1つまたは複数のクライアントを第2のシステムに導き、第1のシステムを削除するように構成される。
本発明のさらに別の実施形態は、システム更新のためのクラウドコンピューティング実行に関する。このような実施形態は、1つまたは複数のクライアントとネットワークを介して通信するサーバによって実行されるコンピュータプログラム製品に関する。該コンピュータプログラム製品は、プログラム命令を含むコンピュータ可読媒体を含み、そのプログラム命令をプロセッサが実行すると、第1のシステムから通信可能に接続された第2のシステムに、最初にデータのコピーを移動し、それに続いて一度または複数回、閾値に達するまで、第1のシステムから第2のシステムに変化したデータのコピーを移動し、閾値に達したことに応答して、第1のシステムから第2のシステムに残りの変化したデータのコピーを移動する。
前述の説明は、添付の図面で示された本発明の諸実施形態例をより詳細に説明した下記の記載より、明らかになろう。図面では、類似の参照番号は、異なる図面にわたり同じ部分を指す。図面は、必ずしも実際の縮尺に従わず、本発明の諸実施形態を示すことに重点が置かれている。
本発明の原理に係るシステムを更新する方法を示すフローチャートである。 システムを更新する方法を示すフローチャートである。 本発明の一実施形態に係る更新システムの略図である。 本発明の原理に係るシステムを更新する方法を示すフローチャートである。 本発明の一実施形態に係るデータを変換するプロセスを示す略図である。 本発明の一実施形態で使用可能なコンピュータシステムのブロック図である。 本発明の一実施形態を実現するコンピュータシステムの略図である。
企業コンピュータ/ソフトウェアシステムは、典型的には、追加の製品特徴等を含むために更新を必要とする。しかしながら、更新の実行には、システムのダウンタイムを必要とする場合があるので、消費者のシステム使用を妨げることになる。さらに、システムのダウンタイムによって、ユーザはシステムの更新を思いとどまる場合がある。従って、本発明の一実施形態は、既存の企業ソフトウェアシステムを更新し、かつ、システム全体としてのダウンタイムを最小にするという需要に取り組む。なかでも、顧客の期待、ならびにSLA(Service Level Agreement)を満たすために、システム更新が原因のダウンタイムを最小にすることは重要である。
更新時間は様々であるが、システムに記憶されるデータ量に相関性があることが多い。従って、システムの使用が増加し、システムに記憶するデータが増えると、更新に必要なダウンタイムも増加する可能性が高い。
本発明の一実施形態は、これらのシステムの更新によって原因のダウンタイムを軽減する。本出願書類を通して「データ」という語を使用しているが、「データ」は、単に、データの定義された単位であるオブジェクトを指してよい。さらに、本出願書類における「データ」は、オブジェクトの構造を指してよい。例えば、データは、所与のオブジェクトが記憶し得る様々な属性を含んでよい。データ(オブジェクト)の構造は、一般的に、メタデータ、すなわち、データに関するデータと呼んでよい。企業システムにおいては、多種多様のデータ構造を有する場合があるので、しばしばシステムの更新には、これらのデータ構造の変更、または、全く新しいデータ構造の追加を含み得る。システム更新をさらに複雑にするのは、このような変更はクライアント単位で、クライアント上で行われることがあるので、クライアントごとにカスタマイズされた更新プロセスが必要な場合があるという事実である。
本発明の一実施形態は、メタデータシステムを更新するという課題を解決する。複雑なメタデータシステムにおいては、データ間の互いの関係は、リリースごとに変わり得る非常に複雑な構造によって管理される。このデータ構造の複雑さは、複雑な物理データおよび論理データをモデル化する必要性に左右される。これらの構造の変更は、進化し続けるモデル化要件および性能考察のためであることが多い。本発明の一実施形態は、システムのダウンタイムを最小にしつつ、これらの構造の更新を可能にする。
次に、本発明の諸実施形態例を説明する。
図1は、コンピュータベースのシステムを更新する方法100のフローチャートである。方法100は、第1のシステムから、通信可能に接続された第2のシステムに、最初にデータのコピーを移動することによって開始する(102)。第1のシステムおよび第2のシステムは、企業ソフトウェアシステム等の、当技術分野で既知の任意のコンピューティングシステムまたはコンピュータベースのシステムであってよい。データは、更新を実行するように構成されたプロセッサによって実行されるオペレーティングシステムに関連付けられたファイルシステムによって提供される「スナップ」ユーティリティを用いるなど、当技術分野で既知の任意の方法を用いて、第1のシステムからコピーしてよい。第1のシステムおよび第2のシステムは、ハイパーテキスト トランスファ プロトコル(HTTP)またはセキュアHTTP(HTTPS)プロトコルを用いて、ローカル エリア ネットワーク(LAN)接続またはワイド エリア ネットワーク(WAN)接続を介する等、任意の様々な方法で、通信可能に接続されてよい。
最初にデータのコピーを移動した後、それに続いて一度または複数回、閾値に達するまで、変化したデータのコピーを第1のシステムから第2のシステムに移動する(104)。例えば、方法100の一実施形態によると、データの最初のコピーおよび移動の後、該方法は、変化しているデータまたは第1のシステムに追加されているデータを第2のシステムに継続して移動する。このプロセスは長時間にわたる場合があるので、変化したデータの移動が多数回になることがある。上述のように、変化したデータを移動するプロセスは、閾値に達するまで続行される。
本発明の一実施形態において、閾値は、第1のシステムで変化したデータの量を指す。この閾値は、変化したデータの履歴の量を含む、任意の数のファクタに基づいて設定してよい。さらに、閾値は、更新プロセスの経過時間、および/または、更新プロセスを行う時刻を指してもよい。例えば、システムを特定の時刻までに更新しなければならない場合、更新の完了が必要な時刻に達するまで更新プロセスを継続してよい。さらに、オフピーク時対ピーク時という観点から閾値を定義すると有利な場合がある。例えば、第1のシステムでのデータの変化がユーザの結果である可能性が高く、オフピークの期間中ずっと第1のシステムを利用するユーザがほとんどいないと想定すると、これらのオフピーク時に閾値に達してよい。さらに、閾値は、上述のファクタ、および/または、当技術分野で既知の任意の他の考慮事項の組み合わせとして定義してよい。
閾値に達したことに応答して、方法100の次のステップは、残りの変化したデータのコピーを第1のシステムから第2のシステムに移動する(106)。残りの変化したデータを移動すると(106)、第1のシステムのデータの全てが第2のシステムに移動したことになる。
図2は、システムを更新する方法200を示すフローチャートである。方法200は、ライブシステムを更新する方法100の一実施形態の詳細を示す。方法200は、一連のステップ202を伴い開始する(201)。これらのステップ202は、図1に関連して上述の方法100のステップ102を実現してよい。方法200はダウンタイムを最小にするようにシステムを更新するが、方法200の一実施形態は、更新中のシステムに多少のダウンタイムは引き起こす。
方法200は、第1のシステムへのアクセスを無効にし、第1のシステムから第2のシステムにデータのコピーを移動する(202a)ことによって開始する。データのコピーを移動の期間中ずっと、このデータの1つまたは複数のサブセットを変換してよい(202b)。本発明の一実施形態において、変換を必要とするデータのみを変換し、他のデータは、変換せずに移動してよい。データを変換(202b)後、変換後のデータおよび未変換のデータを第2のシステムに書き込む(202c)。変換の詳細およびプロセスを図5に関して下記に記載する。この時点で、第1のシステムへのアクセスを有効にする(202c)。方法200のサブプロセス202は、第1のシステムのダウンタイムを第1のシステムのデータの最初のコピー時に限定する。最初のコピー後、第1のシステムへのアクセスを有効にする。従って、システム更新の期間中ずっと、ユーザは、高可用性のシステムを体験する。
第1のシステムから第2のシステムへのデータの移動、変換、および書き込み(202)後、方法200の次のステップは、第1のシステムから第2のシステムへの変化したデータをコピーの移動、必要に応じてこのデータのサブセットの変換、および変化したデータの第2のシステムへの書き込むこと(204)である。ステップ204は、ステップ202に続いて起こる。上述のように、第1のシステムへのアクセスを、ステップ202cにおけるデータの最初の移動後に有効にするので、新しいデータが第1のシステムに追加される可能性が高く、第1のシステムの既存のデータは変更される可能性が高い。第1のシステムのデータのこれらの変化は、第2のシステムに反映されなければならない。従って、ステップ204で、引き続き、変化したデータをコピー、移動、必要に応じて変換、および第2のシステムに書き込む。
変化したデータをコピー、移動、変換、および第2のシステムに書き込んだ(204)後、方法200の次のステップは、閾値を満たすか否かを決定する(205)ことである。閾値は、プロセス200が更新を終えるべきと決定される点である。閾値は、当技術分野で既知の任意の方法で定義してよい。方法200の一実施形態例においては、閾値は、第1のシステムの変化したデータの量である。閾値をチェックして(205)閾値を満たさないと決定される場合、方法200は、ステップ204に戻り、第1のシステムの変化したデータをコピー、移動、変換、および第2のシステムに書き込む。コピー、移動、変換、および書き込み(204)、ならびに閾値のチェック(205)のこのループを、閾値に達するまで続ける。
閾値に達したことに応答して、第1のシステムへのアクセスを無効にし、残りの変化したデータを、第1のシステムから第2のシステムに移動、変換、および書き込む(206)。この時点で、第2のシステムは、第1のシステム上にあった最新のデータを含むことになる。残りの変化したデータを移動した(206)後、アクセスを有効にして、クライアントを第2のシステムに導いて(207)、方法200を終了する(208)。
このように、方法200は、上述の反復プロセスを用いて第1のシステムのミラーを作成、更新することによって、第1のシステムを更新する。方法200は、限られたダウンタイムでシステムを更新することができる方法を提供する。上述のように、方法200の一実施形態によると、第1のシステムへのアクセスを、最初の移動(202)、および、残りの変化したデータを移動する最後のパス(206)の間だけ、無効にする。
図3は、本発明の一実施形態に係る更新システム320の略図である。更新システムは、プロセッサ326を含む。プロセッサ326は、更新システム320の様々なコンポーネントを用いてシステム更新を行うように構成される。システム320は、アプリケーション開発ツールキット(ADK)323をさらに含む。ADK323は、ハードウェア、ソフトウェア、および/または、それらの組み合わせで実現してよく、更新システム320へのアプリケーション プログラミング インターフェース(API)として機能してよい。本発明の一実施形態においては、ADK323は、プロセッサ326によって実行される。本発明の一実施形態によると、ADK323は、アセットライブラリファイルの形で伝達される。該ファイルは、例えば、Java ARchive(JAR)フォーマットなどの、当技術分野で既知の任意のフォーマットであってよい。更新システム320の一実施形態によると、ADK323は、ユーザおよび管理者は更新システム320と対話することができる。下記により詳細に説明するように、ADK324は、システム320によって供給されるハンドラ、および/またはシステム320に接続された様々なアプリケーション325a〜325nによって使用可能で、プロセッサ326によって実行されて、更新すべきシステム321に対してクエリを行うことができる。これらのクエリは、更新すべきシステム321(Nシステム)で変化したデータに関連する問い合わせであってよい。
プロセッサ326にさらに接続されるのは、アプリケーション325a〜325nである。任意の数のアプリケーション325a〜325nがプロセッサ326に接続されてよい。アプリケーション325a〜325nは、プロセッサ326によって実行され、ユーザに利用可能であってよい。アプリケーションの例には、コンピュータ エイデッド デザイン(CAD)アプリケーション、コンピュータ エイデッド エンジニアリング(CAE)アプリケーション、および/または、他のアプリケーションモデリングツールを含む。本発明の一実施形態においては、アプリケーション325a〜325nは、様々なハンドラを提供する。下記に詳細に記載するように、様々なハンドラは、プロセッサ326によって実行されてよく、更新すべきシステム321からのデータを変換するように構成されてよい。
更新モジュール324が、プロセッサ326、アプリケーション325a〜325n、および、ADK323に接続される。更新モジュール324は、ハードウェア、ソフトウェア、および/または、それらの組み合わせによって実現してよい。更新モジュール324は、全体または一部を、プロセッサ326によって実行されてよい。本発明の一実施形態においては、更新モジュール324は、様々なアプリケーション325a〜325nを管理するデータモデル(スキーマ)を定義する管理定義を変更するように構成される。これらの管理定義は、アプリケーション325a〜325nの様々なスキーマのデータ構造の定義を指す。本出願書を通して、モデル、スキーマ、およびメタデータという語は、置き換え可能に用いてよく、データに関するデータ、すなわち、様々なアプリケーション325a〜325nが用いるデータの構造を記述するデータを指す。
更新モジュール324は、本明細書に記載の方法200、300、および/または、400を実現するよう構成されてよい。更新モジュール324は、様々なシステムレベルで更新を行うよう構成されてよい。例えば、更新モジュール324は、カーネル更新を行ってよく、カーネル更新は、データベースレベルの定義、すなわち、データベーススキーマを変更するステップを含んでよい。更新モジュール324は、また、カーネルプラットフォームレベルでの変更を行うように構成されてよい。カーネルプラットフォームレベルでの変更は、データをどのように体系化するかを変更するステップを含んでよい。さらに、更新モジュール324は、アプリケーションレベルの定義を変更してよい。アプリケーションレベルでの変更は、例えば、ある属性をあるタイプに追加するなど、追加のデータを既存のオブジェクトに追加するように単純であってもよく、データをどのように体系化するかという構造を変更するステップを含んでもよい。本明細書に記載のように、データ構造が変更される場合、アプリケーション325a〜325nのそれぞれが供給するハンドラを用いて、元のNシステム321からのデータを変換して、変換後のデータをN+1システム322に提示してよい。
更新システム320は、データベース327をさらに含み、データベース327は、タグDBと呼んでよい。データベース327は、更新モジュール324およびプロセッサ326に通信可能に接続される。本発明の一実施形態によると、データベース327は、更新すべきシステム321からのデータを変換するプロセスを追跡するために、プロセッサ326、更新モジュール324、アプリケーション325a〜325n、および、アプリケーション325a〜325nによって供給される各ハンドラによって用いられる。データベース327は、当技術分野で既知の任意のデータベースであってよく、更新すべきシステム321を更新するプロセスを促進するような任意の方法で構築されてよい。例えば、本発明の一実施形態においては、データベース327は、NoSQL(not only structured query language)タイプのデータベースである。
更新システム320は、元のシステム、すなわち、更新すべきシステム321をさらに含み、更新すべきシステム321は、本出願書を通して、「Nシステム」と呼んでよい。更新すべきシステム321は、アプリケーション325a〜325nが用いる様々なデータであって、ユーザによるアプリケーション325a〜325nの使用を促進する、および/または、その使用に由来するデータを含む。例えば、所与のアプリケーション325aがCADアプリケーションの場合、システム321は、アプリケーション325aを用いてユーザが生成するCADモデルを定義するデータを含んでよい。この場合、Nシステム321は、アプリケーション325aのメタデータと呼ばれる特定の構造のこのデータを記憶し、記憶されたデータはアプリケーション325aの特定のスキーマで管理される。
通信可能に接続されたシステム321が、更新後のシステム322である。システム321および322は、プロセッサ326に通信可能に接続される。システム321および322は、更新モジュール324およびADKモジュール323を含む様々なモジュールの使用を通じてアクセスし、本発明の原理に従ったシステム更新を行ってよい。さらに、システム321および322は、第1のシステム321が第2のシステム322に可視性をもたないように、または、第2のシステム322が第1のシステム321に可視性をもたないように、一方向に、通信可能に接続されてよい。
システム320を使用してシステム321を更新する例を以下に記載する。更新システム320を用いてシステム321を更新する方法の例は、任意の数の初期設定手順で開始してよい。このような手順の1つには、更新すべきシステム321に関する管理変更を無効にするステップを含んでよい。管理変更は、メタデータ、すなわち、システム321に記憶されたデータの構造を記述する規則を指してよい。管理変更を行う機能は、更新プロセス中、中止してよい。しかしながら、「インスタントデータ」を作成する機能は、更新プロセス中、許可されてよい。データ構造への変更は、更新プロセス中、無効にしているので、「インスタントデータ」は、新しいデータ構造によって定義されたデータではなく、変更されたデータおよび新しいデータを指してよい。
他の初期手順は、N+1システム322をNシステム321に接続するように構成するステップを含む。この接続は、HTTP(hypertext transfer protocol)および/またはHTTPS(secure HTTPS)プロトコルの使用を介することを含む当技術分野で既知の任意の方法で達成してよい。初期手順は、Nシステム321からN+1システム322にデータをコピーするステップをさらに含んでよい。このデータは、ファイルシステム「スナップ」ユーティリティの使用を含む、当技術分野で既知の任意の方法を用いてコピーしてよい。更新システム320を用いてシステム321を更新する方法の一部となり得る別の初期手順は、N+1システム322のカーネル更新を行うステップを含んでよい。
さらに、初期手順は、アプリケーション325a〜325nは、そのスキーマの更新と共にインストールするステップを含んでよい。これらのアプリケーション325a〜325nは、スキーマの更新と共に、テナント単位で、テナントにインストールしてよい。これらのスキーマ(メタデータ)の更新は、データの構造の変更を指す。例えば、モデリングツールアプリケーションの場合では、スキーマの変更は、属性の追加、または、特定のデータ構造のポリシーの修正を含んでよい。アプリケーション325a〜325nは、N+1システム322との通信を可能にする方法でインストールされるように、任意のシステムまたはコンポーネントにインストールしてよい。一実施形態例において、N+1システムのメタデータ定義を更新する効果を有するアプリケーションを、N+1システムにインストールする。アプリケーション325a〜325nを、所望に応じて、それぞれの各スキーマの更新と共にインストールした後、初期設定手順は、変換を必要とするデータタイプのアプリケーションハンドラを構成することをさらに含んでよい。ハンドラを構成することは、ハンドラが特定のデータ構造に出会うと、そのデータ構造をスキーマの更新に適合するような特定の方法で変換するように、それぞれのハンドラを構成するというように単純なものであってよい。ハンドラは、データを変換するように構成されてよい。その一方で、デフォルトハンドラと呼んでよい他のハンドラは、変換を必要としないデータを扱うように構成されてよい。これは、変換を必要としないデータを識別することと、変換を必要としないデータの転送および更新を促進することと、ならびに、このデータをN+1システム322に書き込むこととを含んでよい。別の初期手順は、更新モジュール324によって使用するデータベース327、およびアプリケーション325a〜325nが供給する各ハンドラを構成することを含んでよい。
初期設定手順の1つまたは複数の後、更新を行ってよい。上述のように、初期プロセスは、Nシステム321のデータをコピーするステップ、およびこのデータをN+1システム322に移動するステップを含む。最初のコピー後、プロセッサ326によって実行される更新モジュール324およびADK323は、協働してNシステム321の更新を行う。このように、データが、Nシステム321に追加される、および、Nシステム321で変更されると、これらのデータの変化は、更新モジュール324、ADK323、アプリケーション325a〜325n、ハンドラ、およびプロセッサ326を使用して、N+1システム322に反映されている。
更新プロセスの一実施形態例において、更新の最初の繰り返しにおいて、全てのクロージャの最初の変換を捉える。クロージャは、このように、互いに関連するオブジェクトのセットを指し、クロージャは、オブジェクトの範囲を指す。本出願書類を通して、データ、オブジェクトという語は、置き換え可能に用いてよい。
最初の繰り返しにおいて、変換を必要とする全てのデータを処理する。これは、変換を必要とする全てのデータを決定するようにADK323によるNシステム321へのクエリを伴う。このようなデータは、初期手順として行われた元のコピーおよび移動によってN+1システムに既に存在するが、N+1システム322のこのデータにアクセスして変換を必要とするデータを変換するよりも、アプリケーション325a〜325nのそれぞれによって供給されるハンドラは、N+1システム322のこの未変換のデータを削除し、Nシステム321の変換を必要とするデータにアクセスする。その後、この変換を必要とするデータは、移動され、変換され、およびN+1システム322に書き込まれる。
更新プロセスの最初の繰り返し後、ADK323を介した更新方法は、最後にシステムがクエリされた後に変化したデータを決定するように、Nシステム321にクエリする。この時点から、Nシステム321で変化したデータのみが、移動され、必要に応じて変換され、およびN+1システム322に書き込まれる。さらに、N+1システム322に記憶された、更新を必要とする、変換後のデータは、いずれも削除される。Nシステム321の対応するデータは、移動され、変換され、およびN+1システム322に書き込まれる。N+1システム322で更新を必要とする変換後のデータを更新するよりも、変換が必要なデータを変換し、移動し、書き込むことの方が早いので、この方法は有利であると思われる。一代替実施形態においては、N+1システム322の更新が必要な変換後のデータを削除するのではなく、N+1システム322のデータを単純に更新する。
Nシステム321にアクセスし、Nシステム321のデータの変化を反映するようにN+1システム322のデータを更新するというこの反復プロセスは、閾値に達するまで継続する。この閾値は、Nシステム321のデータとN+1システム322のデータとの相違量、すなわち、デルタのサイズを指してよい。さらに、閾値は、あるいは、期限、および/または、デルタと時間との組み合わせであってよい。閾値に達した後、Nシステム321の残りの変化したデータのすべてが、移動され、必要に応じて変換され、およびN+1システム322に書き込まれ、プロセスは終了する。
システム320のさらなる一実施形態においては、プロセッサ326は、最初のコピーおよび最初のデータの移動の期間中ずっと、Nシステム321へのアクセスを無効にするように構成される。さらに、プロセッサ326は、最初の移動およびコピー後、ならびにデータの移動、変換、および、N+1システム322への書き込みの反復プロセスの期間中ずっと、Nシステム321へのアクセスを有効にして、維持して、Nシステム321のデータの変化を反映させるように構成されてよい。さらに、プロセッサ326は、閾値に達したことに応答して起こる残りの変化したデータの移動の期間中ずっと、Nシステム321へのアクセスを無効にするように構成されてよい。
本発明の一代替実施形態によると、プロセッサ326は、更新が完了した後、クライアントをN+1システム322に導くようにさらに構成されてよい。一代替実施形態は、更新完了後、Nシステム321を削除するステップをさらに含んでよい。
さらに、本発明の一実施形態においては、システム321は、任意の数のテナントが共有してよい。従って、Nシステム321の更新は、テナント単位で、テナント上で行ってよい。さらに、そのような更新手順は、各アプリケーションが各テナントのニーズに合うように、テナント単位で、テナントにアプリケーションをインストールするステップを含んでよい。
図4は、本発明の原理に係るシステムを更新する方法400を示すフローチャートである。方法400が開始すると(431)、「検査日」をゼロに設定する(432)。「検査日」は、更新すべきシステムが更新プロセスによってクエリされた最後の時を指す。本明細書に記載のように、方法400の諸実施形態は、スキーマの更新と共にアプリケーションをインストールすることを含む任意の数の初期手順を行うことをさらに含んでよい。「検査日」の初期化(432)後、「検査日」より新しいオブジェクトおよび関係が識別される(433)。「より新しい」という語を使用しているが、「より新しい」は、「検査日」後に変更されたオブジェクトを指し、必ずしも「新しい」必要はない。さらに、「検査日」より新しいオブジェクト/関係を決定後、「検査日」をこの問い合わせの時に設定する(433)。次に、図3に関連して記載した、アプリケーション325a等の各アプリケーションのハンドラが呼び出されてクロージャを計算する。上述のように、クロージャは、互いに関連するオブジェクトのセットを指す。本明細書に記載のクロージャは、図5に関連して本明細書で例証し、記載するように、オブジェクト、およびこれらのオブジェクト間の関係を含む。クロージャの計算は、オブジェクト、ひいては関連付けられたオブジェクトを変換して、システム更新の結果として生じるスキーマの更新に適合するプロセスを指す。クロージャの計算のためにアプリケーションハンドラを呼び出した(434)後、クロージャを計算したか否かを決定する(435)。クロージャが既に計算された場合、プロセスは、まだ、するべきことがあるか否かを決定する(440)。クロージャがまだ計算されていないと決定されると(435)、まず、以前マッピングされたオブジェクトおよび関係を削除する(436)。次に、新しいオブジェクトおよび関係が作成される(437)。新しいオブジェクトおよび関係が作成された(437)後、オブジェクトおよび関係に関する全てのプロパティが設定される(438)。オブジェクトおよび関係のプロパティを設定した(438)後、クロージャは図3のデータベース327等のデータベースに記録される(439)。
プロセス400の次のステップは、まだ、するべきことがあるか否かを決定することである(440)。この問い合わせは、変換を必要とするオブジェクトがまだあるか否かを尋ねることである。変換を必要とするオブジェクトがまだある場合、方法400は、ステップ434に戻り、アプリケーションハンドラを呼び出して別のクロージャを計算し、変換を必要とするクロージャに対してステップ435〜439を繰り返す。このプロセスは、ステップ433で「検査日」より新しいと識別された全てのオブジェクトおよび関係を適切に変換し、および/または、新しいシステムに移動するまで、継続する。変換および/または移動する必要のあるオブジェクトがもうないと決定されると、ステップ440で、これ以上するべきことがないと決定される。
これ以上するべきことがないと決定されると(440)、方法400の次のステップは、小さいデルタがあるか否かを決定することである(441)。デルタは、新しいシステムのオブジェクトとは異なる元のシステムのオブジェクトの数を指してよい。更新する必要のある元のシステムのオブジェクトの数が、なんらかの閾値に達する時、小さいデルタと考えてよい。図示の方法400は、小さいデルタを求めている(441)が、他のインジケータを単独で、または、デルタと共に用いてもよい。例えば、方法400の一実施形態は、更新を行っている時刻も考慮してよい。本明細書に記載するように、更新中のシステムは、最初のデータの移動中、および、最後のパス中は利用不可能であってよい。従って、例えば、更新すべきシステムを使用し、アクセスを試みる人がほとんどいない時に、最終的なスイープ(sweep)を行うと有利であると思われる。
ステップ441で、小さいデルタがないと決定されると、方法400は、ステップ433に戻り、上述のステップを繰り返す。ステップ433で、「検査日」より新しいオブジェクトと関係を見つけると、この最新の問い合わせを反映するように「検査日」は更新され、該方法は、上述のように進む。小さいデルタに達すると、方法は終了する(442)。小さいデルタに達した後、方法400の一代替実施形態は、1つまたは複数のタスクを行って更新を終了させる。このような一実施形態によると、小さいデルタに達すると、更新中のシステムへのアクセスを無効にし、更新が必要な最後に残っているデータは、移動され、必要に応じて変換され、およびN+1システムに書き込まれる。さらなる諸実施形態は、最終承認テスト、および、ベースラインインデックスプロセスを追加で実行してよい。例えば、N+1システムを作る前に、ライブ、自動、および/または、手動のテストを行って、N+1システムが承認できる状態であることを検証してよい。さらに、諸実施形態は、システムのN+1インスタンスにクライアントを導いて、システムの元のインスタンスおよびデータ変換の追跡に用いられたデータベースを削除してよい。
図5は、本発明の一実施形態に係るデータを変換するプロセスを示す略図である。本明細書に記載する変換は、NシステムおよびN+1システムにおいて異なるデータ構造を扱う必要性に関する。Nシステムのデータが、N+1システムのデータと異なる方法で配置されていることはあり得る。変換は、ハンドラと呼ばれるコードによって扱われてよい。ハンドラは、変換に必要な変化をグループ化し、データの変換後のセットを作り出してよい
図5において、クロージャ555は、更新すべき第1のシステム551のクロージャBを表す。図示のクロージャ555において、配線X、Y、Z等の配線は、関係を指し、囲み文字A、B、C、Dは、オブジェクトを指す。変換B′556は、第2のシステム552に図示される。第2のシステム552および各クロージャ556において、中間のオブジェクトBを取り除いて、Bのデータは関係Mに記憶される。この変換を考慮して、タグデータベース553は、エントリ557を更新して、変化を反映する。本発明の一実施形態において、変換に関わるオブジェクトのグループ化は、ソースクロージャとして知られ、オブジェクトの変換後のセットは、ターゲットクロージャと呼んでよい。
本発明の一施形態によると、アプリケーション325a〜325n等のアプリケーションは、変換を必要とする各オブジェクトタイプのためのハンドラを登録してよい。さらに、本発明の一実施形態において、変換を必要としないデータタイプのためのデフォルトハンドラがあってよい。デフォルトハンドラは、1つのオブジェクトを含むクロージャを単に戻してよい。別の実施形態においては、ハンドラは、最後の繰り返しの後、修正されたオブジェクトのクロージャを計算する。
本発明の一実施形態によると、複数のハンドラが、複数のタイプとクロージャで協働してよい。このような協働において、各ハンドラは、クロージャ内のオブジェクトが変化するときは、同じ結果を産んでよい。例えば、Xが所与のクロージャ内で変化する場合、各ハンドラは、B=B、X、Y、Zとなり、同様に、Yが変化する場合、別の各ハンドラはB=B、X、Y、Zとなる。ハンドラが、協働しているとき、ハンドラは、クロージャを識別するために、一貫した命名規則を選択して、その命名規則に合意するように構成されてよい。本発明の一実施形態においては、クロージャ識別子は、固有のものとされ、時間が経っても一貫している。このような可能な規則の1つは、クロージャの中心的なオブジェクトの物理的識別子を使用することであってよい。
特定のハンドラがクロージャを計算しているとき、オブジェクトおよび関係、ならびにそれらの各プロパティのグラフが、メモリで決定される。このような変換を追跡するための可能な規則は、オブジェクト/関係を再利用するときは、実際の物理的識別子(PID)を使用することであってよく、新しいオブジェクト/関係を生成するときは記号名を使用することであってよい。
本明細書に記載のように、NoSQLデータベース等のデータベースは、データベース327によって実現してよく、該データベースを用いて、変換および結果として生じるPIDを記録してよい。変換を記憶する時、本発明の一実施形態によると、変換は二つの部分を有する。識別子(ID)は、更新を行う各ハンドラが選択した変わらない名前で、PIDリストは、変換を構成する実際または記号のPIDのリストである。さらに、本発明の一実施形態によると、IDにタイムスタンプを付加して、クロージャの構築に用いられた最新のオブジェクトを示してよい。タイムスタンプの使用によって、たとえ多数のオブジェクトが変化しても、唯一つの変換を構築することを可能にしてよい。さらに、本発明の一実施形態によると、タイムスタンプが、記憶されたタイムスタンプより前の場合、クロージャは既に処理されたとみなすことができる。
変換を記憶するステップに加えて、本発明の一実施形態は、PIDマッピングを記憶するステップをさらに含んでよい。記憶されたPIDマッピングの使用は、以前のPIDを調べたり、必要に応じて、対応するオブジェクトを削除するのを容易にする。このようなマッピングにおいて、新しいオブジェクトが作成されると、新しいPIDが記録される。
図6は、本発明の諸実施形態を実現可能なコンピュータシステム601のハイレベルブロック図である。システム601はバス615を含む。バス615は、システム601の様々なコンポーネント間の接続である。バス615に接続されるのは、キーボード、マウス、ディスプレイ、スピーカなどの様々な入力装置および出力装置を、システム601に接続するための入/出力装置インタフェース630である。CPU605は、バス615に接続され、コンピュータ命令の実行を行う。メモリ625は、コンピュータ命令の実行に使用されるデータのための揮発性記憶装置を提供する。記憶装置620は、オペレーティングシステム(OS)等のソフトウェア命令のための不揮発性記憶装置を提供する。システム601は、LANおよびWAN等の当技術分野で既知の任意の様々なネットワークにシステム601を接続するためのネットワークインタフェース635も含む。
図7は、本発明を実行可能なコンピュータネットワーク環境770を示す。コンピュータネットワーク環境770においては、サーバ771は、通信ネットワーク772を介して、クライアント773a〜773nにリンクされる。環境770を用いて、クライアント773a〜773nが単独でまたはサーバ771との組み合わせで、上述の方法を実行するのを可能にしてよい。さらに、コンピュータネットワーク環境770の一実施形態においては、クライアント773a〜773nは、ネットワーク772および/またはサーバ771を介して、更新されたシステムにアクセスしてよい。
上述の諸実施形態例は、多くの異なる方法で実行可能なことは理解されたい。時には、本明細書に記載の様々な方法および機械は、それぞれ、物理的、仮想、もしくは、ハイブリッドの汎用コンピュータ、または、コンピュータ環境770等のコンピュータネットワーク環境によって実行されてよい。
諸実施形態、または、その諸態様は、ハードウェア、ファームウェア、または、ソフトウェアの形で実行してよい。ソフトウェアで実行される場合、ソフトウェアは、プロセッサが、ソフトウェア、または、ソフトウェアの命令のサブセットをロードするのを可能にするように構成される任意の永続的なコンピュータ可読媒体に記憶されてよい。そうすると、プロセッサは、命令を実行し、本明細書に記載の方法で動作する、または、装置を動作させるように構成される。
さらに、ファームウェア、ソフトウェア、ルーチン、または、命令は、データプロセッサの特定の動作および/または機能を行うとして、本明細書に記載しているが、本明細書に含まれるこのような記載は、便宜上のものにすぎず、このような動作は、実際は、コンピューティング装置、プロセッサ、制御装置、または、ファームウェア、ソフトウェア、ルーチン、または、命令などを実行する他の装置によって生じる、ことは理解されたい。
フロー図、ブロック図、ネットワーク図は、本記載より多くの要素、または、より少ない要素を含んでよく、異なる配置であってよく、または、異なるように表されてよいことは、理解されたい。しかし、特定の諸実行形態については、ブロック図、ネットワーク図、ならびにブロック図およびネットワーク図の数を定めて、諸実施形態の実行をある特定の方法で実行することを示してよいことも、理解されたい。
従って、さらなる諸実施形態も、様々なコンピュータアーキテクチャ、物理的コンピュータ、仮想コンピュータ、クラウドコンピュータ、および/または、それらの何らかの組合せで実行してよいので、本明細書に記載のデータプロセッサは、例証目的のみで記載しており、諸実施形態を制限するものとして記載してはいない。
本発明を、本発明の諸実施形態例に関して、詳細に、図示し、記載したが、請求項に包含される本発明の範囲を逸脱することなく、形態および詳細を様々に変更してよいことを、当業者は理解されよう。
例えば、前述は、コンピュータベースの、計算(コンピューティング)、処理、データ処理、データベースシステムなどの任意のもの、および/または、それらの任意の組み合わせとして、第1のシステムおよび第2のシステムを記載している。

Claims (18)

  1. システムを更新する方法であって、
    第1のコンピューティングシステムから通信可能に接続された第2のコンピューティングシステムにシステム更新の間じゅう、最初にデータのコピーを移動するステップであって、前記最初に前記移動する期間中、前記第1のコンピューティングシステムへのアクセスを無効にする、該ステップと、
    その後前記システム更新の間じゅう、変化したデータのコピーを移動するステップであって、前記変化したデータは閾値に達するまで前記第1のコンピューティングシステムから前記第2のコンピューティングシステムに移動され、前記その後、前記変化したデータのコピーを移動する期間中、前記第1のコンピューティングシステムへのアクセスを有効にしおよび維持する、該ステップと、
    前記変化したデータのコピーを移動するステップは、
    前記変化したデータの変換を必要とするサブセットを決定するために、前記第1のコンピューティングシステムに対してクエリするステップであって、前記サブセットは、前記変換を必要とする前記第1のコンピューティングシステム上のデータを含む、該ステップと、
    前記第2のコンピューティングシステムで前記移動したデータのサブセットを削除するステップであって、前記第2のコンピューティングシステムで前記削除された前記移動したデータのサブセットは、前記第1のコンピューティングシステムで前記決定された前記変換を必要とするサブセットに対応する、該ステップと、
    前記第1のコンピューティングシステムで前記決定された前記変換を必要とするサブセットのデータ構造を、前記第2のコンピューティングシステムのデータ構造に変換するステップと、
    前記第2のコンピューティングシステムで前記削除された前記移動したデータのサブセットに代わって、前記変換されたサブセットのコピーを前記第1のコンピューティングシステムから前記第2のコンピューティングシステムへ移動させるステップと、
    を含み、
    前記閾値に達したことに応答して、前記第1のコンピューティングシステムから前記第2のコンピューティングシステムに残りの変化したデータのコピーを移動するステップであって、前記残りの変化したデータの前記移動する期間中、前記第1のコンピューティングシステムへのアクセスを無効にする、該ステップと
    を備えたことを特徴とする方法。
  2. 前記移動されたデータのサブセットを未変換で前記第2のコンピューティングシステムに書き込むステップ
    をさらに備えたことを特徴とする請求項1に記載の方法。
  3. 前記第2のコンピューティングシステムとの通信を可能にする方法で1つまたは複数のアプリケーションをインストールするステップ
    をさらに備えたことを特徴とする請求項1に記載の方法。
  4. 前記1つまたは複数のインストールされたアプリケーションによって供給される1つまたは複数のそれぞれのハンドラを用いて前記移動されたデータのサブセットを変換するステップと、
    前記変換後のデータを前記第2のコンピューティングシステムに書き込むステップと
    をさらに備えたことを特徴とする請求項3に記載の方法。
  5. 前記1つまたは複数のそれぞれのハンドラが、データベースを利用して前記データの変換を追跡することを特徴とする請求項4に記載の方法。
  6. 前記第1のコンピューティングシステムおよび前記第2のコンピューティングシステムは、一方向に通信可能に接続され、前記第1のコンピューティングシステムが前記第2のコンピューティングシステムに可視性をもたないようにすることを特徴とする請求項1に記載の方法。
  7. 前記第1のコンピューティングシステムから前記第2のコンピューティングシステムに前記残りの変化したデータのコピーを移動した後、1つまたは複数のクライアントを前記第2のコンピューティングシステムに導くステップと、
    前記第1のコンピューティングシステムから前記第2のコンピューティングシステムに前記残りの変化したデータのコピーを移動した後、前記第1のコンピューティングシステムを削除するステップと
    をさらに備えたことを特徴とする請求項1に記載の方法。
  8. 前記第2のコンピューティングシステムのカーネル更新を実行するステップをさらに備えたことを特徴とする請求項1に記載の方法。
  9. 前記変化したデータは、前回、前記第1のコンピューティングシステムから前記第2のコンピューティングシステムにデータが移動された後、変更されたデータおよび前記第1のコンピューティングシステムに追加されたデータであることを特徴とする請求項1に記載の方法。
  10. 前記閾値は、前記第1のコンピューティングシステムの変化したデータの量であることを特徴とする請求項1に記載の方法。
  11. 第1のシステムと、
    前記第1のシステムに通信可能に接続された第2のシステムと、
    プロセッサであって、
    前記第1のシステムから前記第2のシステムにシステム更新の間じゅう、データのコピーを移動することであって、当該プロセッサは最初に前記データのコピーを移動し、前記最初に前記移動する期間中、前記第1のシステムへのアクセスを無効にし、
    その後前記システム更新の間じゅう、変化したデータのコピーを移動することであって、当該プロセッサは閾値に達するまで前記変化したデータを前記第1のシステムから前記第2のシステムに移動し、前記その後、前記変化したデータのコピーを移動する期間中、前記第1のシステムへのアクセスを有効にしおよび維持し、
    前記変化したデータのコピーを移動することは、
    前記変化したデータの変換を必要とするサブセットを決定するために、前記第1のコンピューティングシステムに対してクエリすることであって、前記サブセットは、前記変換を必要とする前記第1のコンピューティングシステム上のデータを含み、
    前記第2のコンピューティングシステムで前記移動したデータのサブセットを削除することであって、前記第2のコンピューティングシステムで前記削除された前記移動したデータのサブセットは、前記第1のコンピューティングシステムで前記決定された前記変換を必要とするサブセットに対応し、
    前記第1のコンピューティングシステムで前記決定された前記変換を必要とするサブセットのデータ構造を、前記第2のコンピューティングシステムのデータ構造に変換することと、
    前記第2のコンピューティングシステムで前記削除された前記移動したデータのサブセットに代わって、前記変換されたサブセットのコピーを前記第1のコンピューティングシステムから前記第2のコンピューティングシステムへ移動させることと、
    を含み、
    前記閾値に達したことに応答して、前記第1のシステムから前記第2のシステムに残りの変化したデータのコピーを移動し、前記残りの変化したデータの前記移動する期間中、前記第1のシステムへのアクセスを無効にする
    ように構成されたプロセッサと
    を備えたことを特徴とするコンピュータ更新システム。
  12. 前記プロセッサは、
    前記移動されたデータのサブセットを未変換で前記第2のシステムに書き込むようにさらに構成されたことを特徴とする請求項11に記載の更新システム。
  13. 前記プロセッサは、
    前記第2のシステムとの通信を可能とする方法で1つまたは複数のアプリケーションをインストールする
    ようにさらに構成されたことを特徴とする請求項11に記載の更新システム。
  14. 前記プロセッサは、
    前記1つまたは複数のインストールされたアプリケーションによって供給される1つまたは複数のそれぞれのハンドラを用いて前記移動されたデータのサブセットを変換し、
    前記変換後のデータを前記第2のシステムに書き込む、
    ようにさらに構成されたことを特徴とする請求項13に記載の更新システム。
  15. 前記変化したデータは、前回、前記第1のシステムから前記第2のシステムにデータが移動された後、変更されたデータおよび前記第1のシステムに追加されたデータであることを特徴とする請求項11に記載の更新システム。
  16. 前記プロセッサは、
    前記第1のシステムから前記第2のシステムに前記残りの変化したデータのコピーを移動した後、1つまたは複数のクライアントを前記第2のシステムに導き、
    前記第1のシステムから前記第2のシステムに前記残りの変化したデータのコピーを移動した後、前記第1のシステムを削除する
    ようにさらに構成されたことを特徴とする請求項11に記載の更新システム。
  17. 前記閾値は、前記第1のシステムの変化したデータの量であることを特徴とする請求項11に記載の更新システム。
  18. コンピュータに、請求項1ないし10のいずれか1つに記載の方法を実行させることを特徴とするコンピュータプログラム。
JP2014111474A 2013-05-30 2014-05-29 ライブ更新 Active JP6389648B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/905,719 2013-05-30
US13/905,719 US9582510B2 (en) 2013-05-30 2013-05-30 Live Upgrade

Publications (2)

Publication Number Publication Date
JP2014235749A JP2014235749A (ja) 2014-12-15
JP6389648B2 true JP6389648B2 (ja) 2018-09-12

Family

ID=50628635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014111474A Active JP6389648B2 (ja) 2013-05-30 2014-05-29 ライブ更新

Country Status (5)

Country Link
US (1) US9582510B2 (ja)
EP (1) EP2808807B1 (ja)
JP (1) JP6389648B2 (ja)
KR (1) KR20140141467A (ja)
CN (1) CN104216731B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9571603B2 (en) * 2013-09-17 2017-02-14 Cisco Technology, Inc. Redundancy network protocol system
US9619490B2 (en) * 2014-04-11 2017-04-11 Nutanix, Inc. Mechanism for performing lockless rolling upgrade of NoSQL database
CN106610839B (zh) * 2015-10-21 2020-10-30 阿里巴巴集团控股有限公司 发布升级包的方法、轻量升级方法、装置及系统
US10382544B2 (en) 2016-04-08 2019-08-13 International Business Machines Corporation Establishing reverse paths between servers in a copy environment
US10469405B2 (en) * 2016-06-29 2019-11-05 Amazon Technologies, Inc. Network-accessible data volume modification
US10540366B2 (en) 2017-03-09 2020-01-21 Bank Of America Corporation Transforming data structures and data objects for migrating data between databases having different schemas
CN113553090B (zh) * 2021-07-26 2023-07-25 网易(杭州)网络有限公司 客户端应用程序的更新控制方法及装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7310653B2 (en) 2001-04-02 2007-12-18 Siebel Systems, Inc. Method, system, and product for maintaining software objects during database upgrade
TWI242725B (en) * 2001-06-11 2005-11-01 Oce Tech Bv A method for executing a hot migrate operation through an incremental roll-over process that uses migration plug-in means for conversion during an upgrade transition, and a multiprocessing system and a system arranged for implementing such method
US20040225658A1 (en) * 2003-02-13 2004-11-11 Felix Horber Network-based document management systems
JP2005266973A (ja) * 2004-03-16 2005-09-29 Kyowa Exeo Corp データ移行方法および装置
US7587455B2 (en) * 2004-05-14 2009-09-08 Mirapoint Software, Inc. Method for mailbox migration
JP4693540B2 (ja) * 2005-08-04 2011-06-01 富士通株式会社 データベース再構成装置、およびデータベース再構成プログラム
US8200634B2 (en) * 2008-10-08 2012-06-12 Sap Ag Zero downtime maintenance using a mirror approach
CN101650744A (zh) * 2009-09-16 2010-02-17 中兴通讯股份有限公司 一种基于表空间迁移处理大数据量的系统及方法
US8505003B2 (en) * 2010-04-28 2013-08-06 Novell, Inc. System and method for upgrading kernels in cloud computing environments
US9275160B2 (en) 2010-05-20 2016-03-01 Salesforce.Com, Inc. Performing an upgrade in a multi-tenant database system environment
US9317314B2 (en) * 2010-06-29 2016-04-19 Microsoft Techology Licensing, Llc Techniques for migrating a virtual machine using shared storage
US8356010B2 (en) 2010-08-11 2013-01-15 Sap Ag Online data migration
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US8484161B2 (en) * 2011-08-29 2013-07-09 Oracle International Corporation Live file system migration
US9275368B1 (en) * 2012-09-25 2016-03-01 Amazon Technologies, Inc. Annotation mapping
US8898201B1 (en) * 2012-11-13 2014-11-25 Sprint Communications Company L.P. Global data migration between home location registers
US9692632B2 (en) * 2012-11-29 2017-06-27 International Business Machines Corporation Migration to managed clouds
US8984243B1 (en) * 2013-02-22 2015-03-17 Amazon Technologies, Inc. Managing operational parameters for electronic resources

Also Published As

Publication number Publication date
JP2014235749A (ja) 2014-12-15
EP2808807A1 (en) 2014-12-03
EP2808807B1 (en) 2020-01-08
KR20140141467A (ko) 2014-12-10
US20140358854A1 (en) 2014-12-04
US9582510B2 (en) 2017-02-28
CN104216731A (zh) 2014-12-17
CN104216731B (zh) 2019-12-20

Similar Documents

Publication Publication Date Title
JP6389648B2 (ja) ライブ更新
US8712965B2 (en) Dynamic report mapping apparatus to physical data source when creating report definitions for information technology service management reporting for peruse of report definition transparency and reuse
CN105723363B (zh) Erp系统中维持并升级承租者数据库的方法及其服务器
US9251222B2 (en) Abstracted dynamic report definition generation for use within information technology infrastructure
US10366112B2 (en) Compiling extract, transform, and load job test data cases
US20140019934A1 (en) Generation framework for mapping of object models in a development environment
US11334593B2 (en) Automated ETL workflow generation
CN102542382A (zh) 业务规则的管理方法和装置
JP2013534019A5 (ja)
WO2015126409A1 (en) Migrating cloud resources
US10007682B2 (en) Dynamically maintaining data structures driven by heterogeneous clients in a distributed data collection system
US10621003B2 (en) Workflow handling in a multi-tenant cloud environment
JP2020531949A (ja) ブロックチェーン内のデータベース・ハッシュコードの遅延更新
CN113196231A (zh) 用于解耦对基础设施模型的访问的技术
US9158796B1 (en) Data source modeling methods for heterogeneous data sources and related computer program products and systems
JP2017509997A (ja) ヘテロジニアスコンピューティング環境におけるデータタイプ変換をサポートするためのシステムおよび方法
US10445435B2 (en) Auto-conversion mechanism for multiple three-dimensional object representations to facilitate collaboration
JP4079990B2 (ja) オブジェクト統合管理システムの生成方法
US11416642B2 (en) Preparation of a three-dimensional model for data transmission
US20230128661A1 (en) Information retrieval framework
CA2858061A1 (en) Live upgrade
US11704093B2 (en) Rapid prototyping of user experience components and related application functionality
US20210286819A1 (en) Method and System for Operation Objects Discovery from Operation Data
Lakhe et al. RDBMS Design and Implementation Tools

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170328

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180613

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180820

R150 Certificate of patent or registration of utility model

Ref document number: 6389648

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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