JP5444368B2 - アプリケーション復元ポイント - Google Patents

アプリケーション復元ポイント Download PDF

Info

Publication number
JP5444368B2
JP5444368B2 JP2011536004A JP2011536004A JP5444368B2 JP 5444368 B2 JP5444368 B2 JP 5444368B2 JP 2011536004 A JP2011536004 A JP 2011536004A JP 2011536004 A JP2011536004 A JP 2011536004A JP 5444368 B2 JP5444368 B2 JP 5444368B2
Authority
JP
Japan
Prior art keywords
application
component
installer process
installer
restore point
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
JP2011536004A
Other languages
English (en)
Other versions
JP2012508919A (ja
Inventor
チャートランド、ダグラス、マイケル
パテル、サンジェイクマール
キルケビー、ケビン、ウェイン
バウアー、エリザベス、アン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2012508919A publication Critical patent/JP2012508919A/ja
Application granted granted Critical
Publication of JP5444368B2 publication Critical patent/JP5444368B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明の実施形態は、一般に、コンピューティング・システムにおけるアプリケーションのバックアップ及び復元に関し、より具体的には、アプリケーション復元ポイント(application restore point)を用いて、アプリケーション(又は、オペレーティング・システム・コンポーネント)を、アプリケーションをインストール(又は、アップグレード)する前に存在した状態に復元することに関する。
新しいアプリケーションのインストール、及び、既存のアプリケーション又はオペレーティング・システムの更新は、一般的に行なわれるプロセスである。例えば、アプリケーション(及びオペレーティング・システム)の供給業者は、アプリケーションを更新し、「バグ」又はセキュリティ上の問題を修正するパッチを頻繁にリリースする。しかしながら、新しいアプリケーションのインストール、又は既存のアプリケーションのアップグレードにより、コンピュータ・システムに問題が生じることがある。つまり、アップグレードが、アプリケーション(又は、システム上で実行されている他のアプリケーション)を「破壊する」ことがある。例えば、アップグレード・プロセスが成功裏に完了しなかった場合、アプリケーションは正常に機能することができず、及び/又は、データが失われることがある。同様に、アップグレードされたアプリケーションが、他のシステム・アプリケーションが正常に機能するのを妨げるといった、予期せぬ方法で、他のシステム・アプリケーションに影響を及ぼすこともある。従って、場合によっては、アプリケーション又はアップグレードを削除(remove)して、コンピューティング・システムが正常に機能するのを再開できるようにする必要があることがある。
アプリケーションのアップグレードを削除する1つの手法は、アプリケーションをインストールする(又は、アップグレードする)前に、コンピューティング・システムの完全なイメージを作成し、次に、必要に応じて、そのイメージを復元することである。しかしながら、この手法は、多くの場合、かなりのストレージ・リソースを必要とする。さらに、アプリケーションをアップグレード前の状態に復元するには、アップグレード・プロセスを開始する前に、コンピューティング・システムのユーザが、忘れずにシステム・イメージを作成する必要がある。さらに、この手法は、バックアップ・プロセス中、インストーラ・プロセス中、又は、システムの復元にイメージが用いられる場合には復元プロセス中、かなりのダウンタイム(downtime)をもたらすことが多い。
第1の態様によれば、インストール・パッケージをアプリケーションに適用するように構成されたインストーラ・プロセスを呼び出すことと、新しいコンポーネントのリストと、インストーラ・プロセスによってインストール・パッケージが適用されたときに変更される、アプリケーションの1つ又は複数のコンポーネントの各々の未変更コピーとを格納するように構成されたアプリケーション復元ポイント・データ構造体を生成することと、インストーラ・プロセスによってインストール・パッケージが適用されたときに、インストーラ・プロセスによって変更されるアプリケーションの各々のコンポーネントに対して、該コンポーネントの未変更コピーをアプリケーション復元ポイント・データ構造体内に格納し、インストーラ・プロセスによってコンピューティング・システムに付加された各々の新しいコンポーネントに対して、該新しいコンポーネントへの参照を新しいコンポーネント・リストに付加することとを含む、アプリケーションのためのアプリケーション復元ポイントを作成するコンピュータ実装方法が提供される。この方法は、新しいコンポーネント・リストを、アプリケーション復元ポイント・データ構造体内に格納することをさらに含む。
第2の態様によれば、インストール・パッケージをアプリケーションに適用するように構成されたインストーラ・プロセスを呼び出すことと、新しいコンポーネント・リストと、インストーラ・プロセスによってインストール・パッケージが適用されたときに変更される、アプリケーションの1つ又は複数のコンポーネントの各々の未変更コピーとを格納するように構成されたアプリケーション復元ポイント・データ構造体を生成することと、インストーラ・プロセスによってインストール・パッケージが適用されたときに、インストーラ・プロセスによって変更されたアプリケーションの各々のコンポーネントに対して、該コンポーネントの未変更コピーをアプリケーション復元ポイント・データ構造体内に格納し、インストーラ・プロセスによってコンピューティング・システムに付加された各々の新しいコンポーネントに対して、該新しいコンポーネントへの参照を新しいコンポーネント・リストに付加することとを含む、実行時に、アプリケーションのためのアプリケーション復元ポイントを作成するための動作を実行するプログラムを含むコンピュータ可読ストレージ媒体が提供される。この動作は、新しいコンポーネント・リストを、アプリケーション復元ポイント・データ構造体内に格納することをさらに含む。
第3の態様によれば、プロセッサと、プロセッサによる実行時に、アプリケーションのためのアプリケーション復元ポイントを作成するための動作を実行するように構成されたアプリケーション・インストーラ・プロセスを格納するメモリとを含み、この動作は、インストール・パッケージをアプリケーションに適用するように構成されたインストーラ・プロセスを呼び出すことと、新しいコンポーネント・リストと、インストーラ・プロセスによってインストール・パッケージが適用されたときに変更される、アプリケーションの1つ又は複数のコンポーネントの各々の未変更コピーとを格納するように構成されたアプリケーション復元ポイント・データ構造体を生成することと、インストーラ・プロセスによってインストール・パッケージが適用されたときに、(i)インストーラ・プロセスによって変更されたアプリケーションの各々のコンポーネントに対して、該コンポーネントの未変更コピーをアプリケーション復元ポイント・データ構造体内に格納し、(ii)インストーラ・プロセスによってコンピューティング・システムに付加された各々の新しいコンポーネントに対して、該新しいコンポーネントへの参照を新しいコンポーネント・リストに付加することとを含む、システムが提供される。この動作は、新しいコンポーネント・リストを、アプリケーション復元ポイント・データ構造体内に格納することをさらに含む。
ここで本発明の実施形態を、ほんの一例として及び以下の図面を参照して説明する。
本発明の一実施形態による、コンピューティング・システムを示すブロック図である。 本発明の一実施形態による、アプリケーション復元ポイントを示す。 本発明の一実施形態による、アプリケーション復元ポイントを作成するための方法のフローチャートを示す。 本発明の一実施形態による、アプリケーション復元ポイントに基づいてアプリケーションを復元するための方法のフローチャートを示す。
本発明の実施形態は、アプリケーションをインストールしたとき、更新したとき、又はこれにパッチを適用した(patch)ときに、アプリケーション復元ポイントを作成するための技術を提供する。必要なときに、アプリケーション復元ポイントを用いて、コンピューティング・システムのアプリケーション及び関連部分を、アプリケーション復元ポイントに存在した状態に復元することができる。一実施形態において、アプリケーション復元ポイントは、アプリケーションをインストールする(アップグレードする)間、アプリケーション及び/又はアプリケーションを実行しているコンピューティング・システムのどのコンポーネント、ファイル又は他の要素が、変更され、作成され、又は削除されるかについての情報を獲得する。重要なことに、作成及び復元プロセスは、コンピューティング・システム上で実行されている他のアプリケーションに問題を生じさせることはない。言い換えれば、アプリケーションを復元するために(即ち、インストール又はパッチの適用を効果的に取り消す(undo)ために)、アプリケーション復元ポイントが作成される又は使用される間、コンピューティング・システムの他のコンポーネント及びアプリケーションを使用することができる。さらに、作成及び復元プロセスは、本来、インストーラ・プロセスに必要なファイルを含んでいるので、コンピューティング・システムのリソースが節約され、それを異なる目的のために利用することができる。
一実施形態において、ユーザは、コンピュータ・システムにおいて、インストーラ・プロセスを呼び出して、アプリケーションをインストールし、更新し、又はこれにパッチを適用する。インストーラ・プロセスは、アプリケーションのためのアプリケーション復元ポイントを作成する。インストーラ・プロセスの実行中、コンピューティング・システムの幾つかのファイルを変更する必要があること、及び/又は、新しいファイルを作成する必要があることがある。インストーラ・プロセスによってファイルが変更される場合、ファイルのオリジナル・コピー(即ち、インストーラ・プロセスによって変更される前の状態にあるファイルのコピー)が、アプリケーション復元ポイント内に入れられる。インストーラ・プロセスによってファイルが作成された場合、こうしたファイルへの参照が、アプリケーション復元ポイント内に含められる。このように、インストーラ・プロセスが、アプリケーションのインストール、更新、又はこれへのパッチ適用を成功裏に終えても又はそれらが不成功に終わっても、アプリケーション復元ポイントは、インストーラ・プロセスによって変更された(又は、削除された)各々のファイルのオリジナル・コピーと、インストーラ・プロセスによって作成されたファイル(即ち、新しいファイル)のリストとを含む。従って、コンピューティング・システムのアプリケーション及び対応する部分を、インストーラ・プロセスが何らかの変更を行なう前の状態に復元するために、新しいファイル・リスト内に含まれるコンピューティング・システムのファイルを削除し、インストーラによって変更されたファイルを、インストール(又は、更新)プロセス中に獲得された未変更バージョン(即ち、オリジナル・コピー)のものと置き換える。
以下では、本発明の実施形態を参照する。しかしながら、本発明は、特定の説明された実施形態に限定されないことを理解すべきである。寧ろ、本発明を実施及び実行するために、異なる実施形態に関連するか否かに関わらず、以下の特徴及び要素の任意の組み合わせが考慮される。さらに、種々の実施形態において、本発明は、従来技術よりも優れた多くの利点を提供する。しかしながら、本発明の実施形態は、他の可能な解決策及び/又は従来技術よりも優れた利点を達成し得るものではあるが、所与の実施形態によって特定の利点が達成されるかどうかは、本発明を限定するものではない。従って、以下の態様、特徴、実施形態及び利点は、単に例証的なものであり、特許請求の範囲において明確に記載される場合を除いて、添付の特許請求の範囲の要素又は限定であると考えるべきではない。同様に、「本発明」に対する言及は、本明細書で開示されるいずれかの本発明の対象物の一般化として解釈されるべきではなく、特許請求の範囲において明確に記載される場合を除いて、添付の特許請求の範囲の要素又は限定であると考えるべきではない。
本発明の一実施形態は、コンピューティング・システムで用いるためのプログラム製品として実装される。プログラム製品の1つ又は複数のプログラムは、(本明細書で説明される方法を含む)実施形態の機能を定め、様々なコンピュータ可読ストレージ媒体上に収容することができる。例証的なコンピュータ可読ストレージ媒体は、これらに限定されるものではないが、(i)情報を恒久的に格納する書き込み不可能なストレージ媒体(例えば、CD−ROMドライブによって読み出し可能なCD−ROMディスクといった、コンピュータ内部の読み出し専用メモリ・デバイス)、及び(ii)可変情報を格納する書き込み可能なストレージ媒体(例えば、ディスケット・ドライブ又はハードディスク・ドライブ内部のフロッピー・ディスク)を含む。こうしたコンピュータ可読ストレージ媒体は、本発明の機能を指示するコンピュータ可読命令を伝えるときは、本発明の実施形態を表す。他の媒体は、例えばコンピュータ・ネットワーク又は電話ネットワークなどを通じて、無線通信ネットワークを含む、コンピュータに情報を伝達する通信媒体を含む。後者の実施形態は、具体的には、インターネット及び他のネットワークとの間で情報を伝送することを含む。こうした通信媒体は、本発明の機能を指示するコンピュータ可読命令を伝えるときは、本発明の実施形態を表す。大まかに言うと、本明細書ではコンピュータ可読ストレージ媒体及び通信媒体を、コンピュータ可読媒体と呼ぶことができる。
一般に、本発明の実施形態を実施するために実行されるルーチンは、オペレーティング・システム又は特定のアプリケーションの一部、コンポーネント、プログラム、モジュール、オブジェクト、又は命令のシーケンスとすることができる。本発明のコンピュータ・プログラムは、典型的には、ネイティブ・コンピュータによって機械可読形式、従って実行可能命令に変換される多数の命令から構成される。また、プログラムは、プログラムに局所的に存在するか、又は、メモリ内若しくはストレージ・デバイス上に見出される、変数及びデータ構造体から構成される。さらに、以下に説明される種々のプログラムは、本発明の特定の実施形態においてそのプログラムが実装されるアプリケーションに基づいて識別することができる。しかしながら、以下のいずれかの特定のプログラム用語は、単に便宜的に用いられるものであることを認識すべきであり、従って、本発明は、そのような用語によって識別及び/又は暗示されるいずれかの特定のアプリケーションにおける用途のみに限定されるべきではない。
図1は、本発明の一実施形態による、コンピューティング・システム100の例を示すブロック図である。示されるように、コンピューティング・システム100は、キーボード及びマウス・ポインティング・デバイスのような入力装置110と、CRT又はLCDディスプレイ・モニタのようなディスプレイ装置120と、コンピュータ・システム130とを含む。例示的に、コンピュータ・システム130は、バス・インターフェース134によって互いに結合された、1つ又は複数の中央処理ユニット(「CPU」)132と、メモリ140と、ストレージ150とを含む。CPU132は、コンピュータにおける全ての命令、論理及び数学的処理を実行する1つ又は複数のプログラム可能論理デバイスを表す。例えば、CPU132は、単一のCPU、複数のCPU、複数の処理コアを有する単一のCPU等を表すことができる。メモリ140は、必要なプログラミング及びデータ構造体を保持するのに十分に大容量のランダム・アクセス・メモリを含む、メモリ・デバイスの1つ又は組み合わせとすることができる。ストレージ150は、これらに限定されるものではないが、物理的ディスク・ドライブ、フラッシュ・メモリ・デバイス等を含むストレージ・デバイスの1つ又は組み合わせ、並びに、ネットワーク接続された(network attached)ストレージ・デバイス、及びネットワークを通じて実装されたストレージ・ボリュームとすることができる。
コンピュータ・システム130は、例えば、デスクトップ・コンピュータ、サーバ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ等の既存のコンピュータ・システムを表すように含められる。しかしながら、図1に示されるサーバ・システム130は、コンピューティング・システムの一例にすぎない。コンピューティング・システムが、高速ネットワーク、シングルユーザ・ワークステーション、又は不揮発性ストレージをもたないネットワーク・アプライアンスによって接続された個々のコンピュータのクラスタのような複雑なマルチユーザ・コンピューティング・システムであるかどうかに関わらず、他のコンピューティング・システムを用いて、本発明の実施形態を実施することができる。さらに、本明細書で説明されたソフトウェア・アプリケーションは、既存のコンピュータ・システム上で実行されるコンピュータ・ソフトウェア・アプリケーションを用いて実施することができる。しかしながら、本明細書で説明されたソフトウェア・アプリケーションは、現在のところ存在するいずれかのコンピューティング環境又はプログラミング言語に限定されるものではなく、新しいコンピュータ・システムが利用できるようになったとき、それらを利用するように適合させることができる。
示されるように、メモリ140は、インストーラ142、アプリケーション・アップグレード・コンポーネント144、及びコンピューティング・システム100上で実行されるように構成されたアプリケーション146を含む。インストーラ142、アプリケーション・アップグレード・コンポーネント144及びアプリケーション146は、一般に、同じくメモリ140内に常駐するオペレーティング・システム(図示せず)によってサポートされる。オペレーティング・システムの例は、IBM(登録商標)AIX(登録商標)、UNIX(登録商標)、Microsoft Windows(登録商標)及びLinux(登録商標)オペレーティング・システムのディストリビューション等を含む。より一般的には、本明細書で説明される機能をサポートすることができる任意のオペレーティング・システムを用いることができる。
IBM及びAIXは、米国、他の国々、又はその両方におけるInternational Business Machines Corporationの商標であり、UNIXは、米国及び他の国々におけるThe Open Groupの登録商標であり、Microsoft及びWindowsは、米国、他の国々、又はその両方におけるMicrosoft Corporationの商標であり、Linuxは、米国、他の国々、又はその両方におけるLinus Torvaldsの登録商標である。
一般に、アプリケーション・アップグレード・コンポーネント144を用いて、コンピューティング・システム100において、アプリケーション146をインストール、アップグレードし、これにパッチを適用し、及び/又はこれを削除するために、インストーラ142を用いることができる。こうしたプロセスの間、1つ又は複数のファイル154及び復元ポイント152を作成し、変更し、又は削除することができる。ファイル154及び復元ポイント152は、ストレージ150内にある。より具体的には、ファイル154は、アプリケーション146のアップグレード中にインストーラ・プロセス142によって変更される、アプリケーション146及び/又はコンピューティング・システム100のファイル、コンポーネント、又は他の要素を含む。各々のアプリケーション復元ポイント152は、インストーラ142によってインストールされたアプリケーション・アップグレードに対応するデータ構造体を提供する。一実施形態においては、アプリケーション146をアップグレードする間、少なくとも1つのアプリケーション復元ポイント152が作成される。必要に応じて、後でこうしたアプリケーション復元ポイント152を用いて、アプリケーション146及び/又はコンピューティング・システム100のファイル、コンポーネント及び/又は他の要素を復元することができる。
図2は、本発明の一実施形態による、例示的なアプリケーション復元ポイント152を示す。一般に、アプリケーション復元ポイント152は、対応するアプリケーションの可能な復元に関連する情報を格納するデータ構造体である。示されるように、アプリケーション復元ポイント152は、アプリケーション名205;プロセスが実行された日時、どのタイプのプロセスが実行されたか(例えば、インストール、アップグレード、パッチの適用等)といった、アプリケーション上で実行された特定のプロセスを指定することができるインストール/アップグレード日時210のような、アプリケーション復元ポイントと関連付けられた特定のアプリケーションを識別する情報を含む。アプリケーション復元ポイント152は、各々が、インストーラ・プロセスがファイルを変更する前にアプリケーション復元ポイントによって獲得された、インストーラ・プロセスによって変更されたファイルのコピーである1つ又は複数のオリジナル・ファイル2201−220M(まとめてファイル220と呼ばれる)、並びに、新しいファイル2301−230Nのような、インストーラ・プロセスによって作成された新しいファイルのリストを含む。
下記により詳細に説明されるように、一実施形態においては、コピー・オン・ライト(copy-on-write)プロセスを用いて、インストーラ142によってそのファイルが変更される前の未変更のファイル・コピーを獲得することができる。さらに、ファイルを変更しているプロセスのプロセスidとインストーラ・プログラム(又は、チャイルド・プロセス)のプロセスidを照合することによって、コピー・オン・ライト機構を介してアプリケーション復元ポイントに保存されたファイルを、復元ポイントに適用可能であるように識別することができる。このように、インストール又はアップグレード中、同様に実行されている、アプリケーションによって変更された他のファイルは、復元ポイントに付加されない。ファイルのリストは、アプリケーション復元ポイント152に復元するときに、オリジナル・ファイルを復元する(又は、新しくインストールされたファイルを削除する)ために必要とされる他のあらゆる情報と共に、各々の新しく作成されたファイルの名前及びその場所といった、作成されたファイルの識別情報を含むことができる。
図3は、本発明の一実施形態による、アプリケーション復元ポイントを作成するための方法300のフローチャートを示す。述べられたように、復元ポイント152のようなアプリケーション復元ポイントは、インストール又はアップグレード・プロセスによってもたらされる、アプリケーションを含むコンピューティング・システムの要素、即ちファイル154の変更についての情報を獲得し、格納する。こうした情報を格納するために、ステップ305において、アプリケーション復元ポイントのデータ構造体が作成され、及び/又は初期化される。
ステップ310において、図1に示されるインストーラ142のようなインストーラ・プロセスを呼び出して、コンピューティング・システム100上で実行されるように適合されたアプリケーション146をアップグレードする(又は、インストールする)。一般に、インストーラ・プロセス142は、アプリケーション・アップグレード・コンポーネント144を用いて、アプリケーション146をアップグレードし、アップグレードする間、アップグレード・プロセスによりもたらされる変更を監視するように構成される。変更を識別すると、インストーラ・プロセス142は、どのような変更が生じたかを示す情報をアプリケーション復元ポイント152内に格納する。一実施形態において、インストーラ・プロセス142は、パッケージ管理システム(即ち、プログラムをインストールし、アップグレードし、構成し、コンピューティング・システムから削除するプロセスを自動化するために用いられるシステム・ツール)のコンポーネントとして実装される。このような場合、インストーラ・プロセスを初期化して、アプリケーションのコンポーネント(又は、アプリケーション自体)をインストールし、アップグレードし、又は削除する。さらに、いずれかのこうした行為の実行の一部として、インストーラ・プロセス142は、アップグレード、パッチの適用、又はインストールのどれが実行されても対応するアプリケーション復元ポイント152を作成することができる。
ステップ315において、インストーラ・プロセス142によるアップグレード中に変更された各々のファイルについて、未変更ファイル(即ち、オリジナル・ファイル220)のコピーを、アプリケーション復元ポイントに付加する。一実施形態においては、同じファイルがアップグレード・プロセス中に何度も変更された場合、例えば、ファイルが初めて変更されたときに、オリジナル・ファイルの1つのコピーだけが保存される。このように、インストーラ・プロセスが完了したとき、アプリケーション復元ポイントは、インストーラ・プロセス中にコンピューティング・システム内で変更された(又は、削除された)あらゆるファイルのオリジナル・コピーを含む。
幾つかのインストール又はアップグレード・プロセスは、コンピューティング・システム内に新しいファイルを作成することができる。従って、インストーラ・プロセスによってもたらされた変更を削除するために、こうした新しいファイルを削除すべきである。こうしたファイルを常時監視するために、ステップ320において、インストーラ・プロセス142によってアップグレード中に作成された各ファイルが、新しいファイル230として、アプリケーション復元ポイント内に列挙される。作成されたファイルの一部は、アップグレード・プロセスの間にだけ作成された一時ファイルであり得ることに留意されたい。一実施形態においては、インストーラ・プロセス142は、こうした一時ファイルを新しいファイルのリスト内には入れない。代替的に、インストーラ・プロセス142は、一時ファイルを識別せず、ファイルを削除する必要があるとき、そのファイルが新しいファイルのリストにあるかどうかをチェックする。リストにある場合には、次に、そのファイルを新しいファイル・リストから削除し、ファイルのコピーは作成しない。このように、インストーラ・プロセス142がインストーラ・プロセスを成功裏に(又は、不成功に)完了したとき、アプリケーション復元ポイント152は、インストーラ・プロセスによってアップグレード・プロセス中に作成されたファイルへの参照を含む。インストーラ・プロセス142は、種々のツールを利用して、ステップ315及び320を実行し、特定のインストーラ・プロセス中に変更されたファイルのみを識別することができる。例えば、一実施形態においては、ジャーナリング(journaling)又は追跡ファイル・システムによって提供されるツールが使用される。ジャーナリング・ファイル・システムの変更は、コミットされる前にジャーナル内にログ記録される。従って、インストーラ・プロセス142は、こうしたログを用いて、そうした変更がコミットされる前に、アップグレード・プロセスによってもたらされたファイルの変更を検出することができる。例えば、「コピー・オン・ライト」プロセスを用いることができる。周知のように、「コピー・オン・ライト」プロセスにより、アプリケーション(実際には、複数のアプリケーション)がファイルにアクセスすることが可能になる。アプリケーションがファイルに書き込みを行なった(即ち、ファイルを変更した)場合には、コピー・オン・ライト・プロセスは、アプリケーションが書き込みを行なったファイルのコピーを作成する。一実施形態においては、インストーラ・プロセスに「コピー・オン・ライト」コピーを提供するのではなく、単にこうしたコピーをアプリケーション復元ポイントに付加するだけであり、インストーラ・プロセス142によって、実際のファイル・コピーに書き込みが行なわれる。このように、インストーラ・プロセス142は、ファイルがアプリケーションのインストール(又は、アップグレード、パッチの適用)の一部として変更又は削除される前に、ファイルのオリジナル・コピーを保存する。
別の実施形態においては、アップグレード・プロセスを初期化する直前に、インストーラ・プロセス142が、例えば、周知のLinux(登録商標)Logical Volume Managerパッケージにより提供されるツールを用いて、コンピューティング・システム100のスナップショット(コンピューティング・システム・ファイルの読み出し専用コピーのような)を作成する。次いで、インストーラ・プロセス142が関連ファイルの変更を検出したときに、スナップショットから、ファイルの未変更バージョンを得る。アップグレード・プロセスの完了時に、インストーラ・プロセス142は、スナップショットを削除することができる。
一実施形態においては、ユーザが、インストーラ・プロセス142を呼び出して、アプリケーション146をアップグレードするとき、インストーラ・プロセス142は、アプリケーション復元ポイント152を自動的に生成し、上述したステップ305、315及び320を実行する。従って、ユーザは、アップグレード・プロセスの前にデータをバックアップする必要がない。どちらかと言えば、ユーザがインストーラ・プロセスを用いてアプリケーションをアップグレードする度に、それぞれのアプリケーション復元ポイントが作成され、これにより、ユーザが、必要なときに、アップグレード・プロセス中に及びアップグレード・プロセスによって変更されたファイルを、こうしたプロセスが実行される前の状態に復元することが可能になる。随意的に、異なる段階のアップグレード・プロセス中に複数のアプリケーション復元ポイントを作成するように、インストーラ・プロセスを構成することもできる。
図4は、本発明の一実施形態による、復元ポイントを用いてアプリケーションを復元するための方法400のフローチャートを示す。ステップ405において、アプリケーション復元ポイントの選択を受け取る。一実施形態においては、アプリケーションを、多数のアプリケーション復元ポイントと関連付けることができる。既に述べたように、各々のアプリケーション復元ポイントは、パッチ、アップグレード、又はアプリケーション自体のインストールによって変更されたアプリケーション及び関連要素(ファイル、レジストリ・キー等のような)の特定の状態を表す。例えば、アプリケーション復元ポイントは、アプリケーションをインストールする前の多数のファイルの状態、インストーラ・プロセス中の特定のポイント以前の関連ファイルの状態、アプリケーションが1つのバージョンにアップグレードされる前の関連ファイルの状態、アプリケーションが別のバージョンにアップグレードされる前の関連ファイルの状態等を獲得することができる。一実施形態においては、ユーザが所望のアプリケーション復元ポイントを選択するのを可能にするインターフェースが、ユーザに与えられ。
随意的に、復元プロセスを取り消す機会をユーザに与えるために、ステップ410において、復元プロセスによって作成されるファイルへの参照、及び、復元プロセスによって変更又は削除されたファイルのコピーが、取り消し(undo)アプリケーション復元ポイントに保存され、格納される。一実施形態において、こうしたファイルは、選択されたアプリケーション復元ポイント内に含まれる情報を用いて決定される。つまり、アプリケーション復元ポイントを復元するプロセスは、それ自体をアップグレードと見なすことができ、そのために、対応するアプリケーション復元ポイントを生成することができる。既に述べたように、アプリケーション復元ポイント内の新しいファイルとして列挙されたファイルは、インストーラ・プロセスによって作成されたファイルであり、従って、復元プロセス中に削除する必要がある。従って、こうしたファイルのコピーは、取り消しアプリケーション復元ポイント内に保存される。ファイルが、アプリケーション復元ポイント内に格納された対応するオリジナル・コピーを有する場合には、ファイルは、インストーラ・プロセスによって変更されるか又は削除されるかのいずれかであり、従って、現在のファイルのコピー(復元プロセスを初期化する前の状態の)が、取り消しアプリケーション復元ポイント内に保存される。ファイルが存在しないとき、取り消しアプリケーション復元ポイントの新しいファイルのリスト内に、ファイルへの参照が含められる。別の実施形態においては、インストーラ・プロセスがアプリケーションのための復元プロセスを実行する図3に関連して上述したような、アプリケーション復元ポイントを作成するための方法を用いて、取り消しアプリケーション復元ポイントが生成される。
方法400のステップ415において、新しいファイルとしてアプリケーション復元ポイント内に列挙された各ファイルを削除することができる。上述のように、ファイルが、アプリケーション復元ポイント内に新しいものとして列挙された場合には、この特定のアプリケーション復元ポイントが作成されたとき、インストーラ・プロセスによって、こうしたファイルを最初に作成した。従って、インストーラ・プロセスの影響を受けたコンピュータ・システムのアプリケーション及び部分を、選択されたアプリケーション復元ポイントにおいて獲得された状態に復元するために、アプリケーション復元ポイント内に列挙された新しいファイルが削除される。アプリケーション復元ポイントは、コンピュータ・システムにおけるこうしたファイルを見つけるのに必要な、例えばパス名及びファイル名といった情報を含むことに留意されたい。
ステップ420において、インストーラ・プロセス中に変更された各ファイルは、復元されるアプリケーション復元ポイント内に格納されたオリジナル・コピーと置き換えられる。上述のように、アプリケーション復元ポイントは、インストーラ・プロセス中に変更又は削除されたファイルのオリジナル・コピーを含む。従って、インストーラ・プロセスに影響を受けたコンピューティング・システムのアプリケーション及び部分を、アプリケーション復元ポイントが表す状態に復元するように、アプリケーション復元ポイント内に格納されたオリジナル・コピーが復元される。より具体的には、インストーラ・プロセスによってファイルが変更された以降にファイルが削除された場合、こうしたファイルは復元され、例えば、アプリケーション復元ポイント内に格納されたファイルのオリジナル・コピーが、コンピューティング・システム内に入れられる。インストーラ・プロセスによって変更されたコンピューティング・システムのファイルが、コンピューティング・システム内に依然として存在する場合には、次に、コンピューティング・システムからその現在のバージョンが削除され、アプリケーション復元ポイント内に格納されたファイルのオリジナル・コピーが、コンピューティング・システム内に入れられる。一実施形態においては、ファイルごとにステップ420が実行される。代替的に、アプリケーション復元ポイント内に含まれる全てのオリジナル・コピーを、コンピューティング・システム内にコピーし、既存のファイルと置き換える。
ステップ415及びステップ420が、アプリケーション復元ポイントにおいて識別された全てのファイルの復元を完了すると、方法400は完了する。随意的には、方法400の完了時に、方法によって用いられたアプリケーション復元ポイントが削除される。
有利なことに、本明細書で述べられるように、本発明の実施形態は、アプリケーションがインストールされたとき、更新されたとき、又はこれにパッチが適用されたときにアプリケーション復元ポイントを作成すること、及び、必要なときに、コンピューティング・システムのアプリケーション及び関連部分を、アプリケーション復元ポイントにおいて獲得された状態に復元することを可能にする。例えば、インストーラ・プロセスを監視し、インストーラ・プロセスによって及びインストーラ・プロセス中に変更されたファイルのような関連データだけを保存することによって、作成及び復元プロセスが、コンピューティング・システム上で実行される他のアプリケーションに問題を生じさせることはない。さらに、作成及び復元プロセスは、本来、インストーラ・プロセスに必要なファイルを含むので、コンピューティング・システムのリソースが節約され、それを異なる目的のために用いることができる。
上記は、本発明の実施形態に向けられるが、本発明の基本的な範囲から逸脱することなく、本発明の他の及びさらに別の実施形態を考案することができ、本発明の範囲は、以下の特許請求の範囲によって決定される。
100:コンピューティング・システム
110:入力装置
120:ディスプレイ装置
130:コンピュータ・システム
132:中央処理ユニット(CPU)
134:バス・インターフェース
140:メモリ
142:インストーラ
144:アプリケーション・アップグレード・コンポーネント
146:アプリケーション
150:ストレージ
152:アプリケーション復元ポイント
154:ファイル
205:アプリケーション名
210:インストール/アップグレード日時
220:オリジナル・ファイル
230:新しいファイル

Claims (15)

  1. アプリケーションのためのアプリケーション復元ポイントを作成して、コンピューティング・システムの前記アプリケーション及び関連部分を、前記アプリケーション復元ポイントに存在した状態に復元する方法であって、
    インストール・パッケージを前記アプリケーションに適用するように構成されたインストーラ・プロセスを呼び出すことと、
    新しいコンポーネントのリストと、前記インストーラ・プロセスによって前記インストール・パッケージが適用されたときに変更される、前記アプリケーションの1つ又は複数のコンポーネントの各々の未変更コピーとを格納するように構成されたアプリケーション復元ポイント・データ構造体を生成することと、
    前記インストーラ・プロセスによって前記インストール・パッケージが適用されたときに、
    前記インストーラ・プロセスによって変更される前記アプリケーションの各々のコンポーネントに対して、前記コンポーネントの未変更コピーを前記アプリケーション復元ポイント・データ構造体内に格納し、前記インストーラ・プロセスによって前記コンピューティング・システムに付加された各々の新しいコンポーネントに対して、前記新しいコンポーネントへの参照を前記新しいコンポーネント・リストに付加することと、
    前記新しいコンポーネント・リストを、前記アプリケーション復元ポイント・データ構造体内に格納することと、
    を含み、
    コピー・オン・ライト機構を用いて、前記インストーラ・プロセスによって変更された前記アプリケーションの各コンポーネントを識別し、前記インストーラ・プロセスと関連したプロセスID(PID)を用いて、前記コンポーネントを識別する、方法。
  2. 前記インストーラ・プロセスを呼び出して、前記アプリケーションのインストール、前記アプリケーションのアップグレード、前記アプリケーションへのパッチ適用、及び前記アプリケーションの削除のうちの1つを実行する、請求項1に記載の方法。
  3. 前記変更されたコンポーネント、及び、前記コンピューティング・システムに付加された前記新しいコンポーネントの1つ又は複数は、ファイル・システム内の指定した場所に格納されたファイルである、請求項1又は請求項2に記載の方法。
  4. 前記新しいコンポーネント・リストは、前記コンピューティング・システム内の前記新しいコンポーネント・リスト上のそれぞれのファイルのファイル名のリストと、パスの場所のリストとを含む、請求項1、請求項2、又は請求項3のいずれか1項に記載の方法。
  5. 前記インストーラ・プロセスは、ファイル・システム機構にアクセスして、前記インストーラ・プロセスによって変更された各々のコンポーネントを識別し、かつ、各々の変更されたコンポーネントの前記未変更コピーを得るように構成される、請求項1に記載の方法。
  6. 前記コンピューティング・システムのスナップショットを作成することと、
    前記スナップショットから、前記インストール・パッケージを適用することによって変更されるコンポーネントの各々の未変更コンポーネントを得ることと、
    前記インストーラ・プロセスの完了時に、前記作成されたスナップショットを削除することと、
    をさらに含む、請求項1から5までのいずれか1項に記載の方法。
  7. 前記インストール・パッケージを適用することの一部として、前記インストーラ・プロセスによって最初にインストールされ、その後に削除されたコンポーネントに対応する前記新しいコンポーネント・リストから、少なくとも1つのエントリを削除すること、
    をさらに含む、請求項1から6までのいずれか1項に記載の方法。
  8. プロセッサと、
    前記プロセッサによる実行時に、アプリケーションのためのアプリケーション復元ポイントを作成して、コンピューティング・システムの前記アプリケーション及び関連部分を、前記アプリケーション復元ポイントに存在した状態に復元するための動作を実行するように構成されたアプリケーション・インストーラ・プロセスを格納するメモリと、
    を含み、前記動作は、
    インストール・パッケージを前記アプリケーションに適用するように構成されたインストーラ・プロセスを呼び出すことと、
    新しいコンポーネント・リストと、前記インストーラ・プロセスによって前記インストール・パッケージが適用 されたときに変更される、前記アプリケーションの1つ又は複数のコンポーネントの各々の未変更コピーとを格納するように構成されたアプリケーション復元ポイント・データ構造体を生成することと、
    前記インストーラ・プロセスによって前記インストール・パッケージが適用されたときに、
    (i)前記インストーラ・プロセスによって変更された前記アプリケーションの各々のコンポーネントに対して、前記コンポーネントの未変更コピーを前記アプリケーション復元ポイント・データ構造体内に格納することと、
    (ii)前記インストーラ・プロセスによって前記コンピューティング・システムに付加された各々の新しいコンポーネントに対して、前記新しいコンポーネントへの参照を前記新しいコンポーネント・リストに付加することと、
    前記新しいコンポーネント・リストを、前記アプリケーション復元ポイント・データ構造体内に格納することと、
    を含み、
    コピー・オン・ライト機構を用いて、前記インストーラ・プロセスによって変更された前記アプリケーションの各コンポーネントを識別し、前記インストーラ・プロセスと関連したプロセスID(PID)を用いて、前記コンポーネントを識別する、システム。
  9. 前記インストーラ・プロセスを呼び出して、前記アプリケーションのインストール、前記アプリケーションのアップグレード、前記アプリケーションへのパッチ適用、及び前記アプリケーションの削除のうちの1つを実行する、請求項8に記載のシステム。
  10. 前記変更されたコンポーネント、及び、前記コンピューティング・システムに付加された前記新しいコンポーネントの1つ又は複数は、ファイル・システム内の指定した場所に格納されたファイルである、請求項8又は請求項9に記載のシステム。
  11. 前記新しいコンポーネント・リストは、前記コンピューティング・システム内の前記新しいコンポーネント・リスト上のそれぞれのファイルのファイル名のリストと、パスの場所のリストとを含む、請求項8、請求項9、又は請求項10のいずれか1項に記載のシステム。
  12. 前記インストーラ・プロセスは、ファイル・システム機構にアクセスして、前記インストーラ・プロセスによって変更された各々のコンポーネントを識別し、かつ、各々の変更されたコンポーネントの前記未変更コピーを得るように構成される、請求項8に記載のシステム。
  13. 前記動作は、
    前記コンピューティング・システムのスナップショットを作成することと、
    前記スナップショットから、前記インストール・パッケージを適用することによって変更されるコンポーネントの各々の未変更コンポーネントを得ることと、
    前記インストーラ・プロセスの完了時に、前記作成されたスナップショットを削除することと、
    をさらに含む、請求項8から請求項12までのいずれか1項に記載のシステム。
  14. 前記動作は、
    前記インストール・パッケージを適用することの一部として、前記インストーラ・プロセスによって最初にインストールされ、その後に削除されたコンポーネントに対応する前記新しいコンポーネント・リストから、少なくとも1つのエントリを削除すること、
    をさらに含む、請求項8から請求項13までのいずれか1項に記載のシステム。
  15. 請求項1から請求項7までのいずれか1項に記載の方法をコンピュータに実行させる、コンピュータ・プログラム。
JP2011536004A 2008-11-14 2009-11-12 アプリケーション復元ポイント Active JP5444368B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/271,123 US8332842B2 (en) 2008-11-14 2008-11-14 Application restore points
US12/271,123 2008-11-14
PCT/EP2009/065013 WO2010055073A1 (en) 2008-11-14 2009-11-12 Application restore points

Publications (2)

Publication Number Publication Date
JP2012508919A JP2012508919A (ja) 2012-04-12
JP5444368B2 true JP5444368B2 (ja) 2014-03-19

Family

ID=41694668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011536004A Active JP5444368B2 (ja) 2008-11-14 2009-11-12 アプリケーション復元ポイント

Country Status (7)

Country Link
US (1) US8332842B2 (ja)
EP (1) EP2318929B1 (ja)
JP (1) JP5444368B2 (ja)
KR (1) KR20110086732A (ja)
CN (1) CN102216905B (ja)
AT (1) ATE540358T1 (ja)
WO (1) WO2010055073A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8566820B1 (en) 2005-12-30 2013-10-22 United Services Automobile Association (Usaa) Method and system for installing software
US7840955B1 (en) * 2005-12-30 2010-11-23 United Services Automobile Association (Usaa) Method and system for restoring software
US8726271B1 (en) 2005-12-30 2014-05-13 United Services Automobile Association (Usaa) Method and system for installing software
US8555247B2 (en) 2006-10-13 2013-10-08 International Business Machines Corporation Systems and methods for expressing temporal relationships spanning lifecycle representations
US9378011B2 (en) * 2009-03-19 2016-06-28 Microsoft Technology Licensing, Llc Network application versioning
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US8935458B2 (en) * 2011-01-05 2015-01-13 Intel Corporation Drive assisted system checkpointing via system restore points
US8677346B1 (en) * 2011-09-27 2014-03-18 Symantec Corporation Providing installer package information to a user
US8972966B2 (en) * 2012-01-05 2015-03-03 Lenovo (Singapore) Pte. Ltd. Updating firmware in a hybrid computing environment
GB2508599A (en) * 2012-12-04 2014-06-11 Ibm Software version management when downgrading software
US9459856B2 (en) * 2013-01-02 2016-10-04 International Business Machines Corporation Effective migration and upgrade of virtual machines in cloud environments
CN103324507A (zh) * 2013-06-25 2013-09-25 宇龙计算机通信科技(深圳)有限公司 一种终端预置应用程序更新的方法和装置
CN103631679A (zh) * 2013-12-06 2014-03-12 Tcl通讯(宁波)有限公司 一种移动终端中应用程序安装的控制方法及系统
US9535856B2 (en) 2014-02-21 2017-01-03 International Business Machines Corporation Data access to a storage tier on a client in a multi-tiered storage system
JP6458342B2 (ja) * 2014-02-25 2019-01-30 株式会社リコー 操作部を備えた機器、情報処理方法、情報処理プログラム、および情報処理システム
US10152391B2 (en) * 2014-02-28 2018-12-11 Ncr Corporation Self-service terminal (SST) backups and rollbacks
US20150269856A1 (en) * 2014-03-24 2015-09-24 Guru Labs, L.C. Virtual classroom management system and interface
US9785510B1 (en) 2014-05-09 2017-10-10 Amazon Technologies, Inc. Variable data replication for storage implementing data backup
KR102399964B1 (ko) * 2014-05-28 2022-05-20 주식회사 알티캐스트 어플리케이션 관리 시스템 및 그 방법
US9734021B1 (en) 2014-08-18 2017-08-15 Amazon Technologies, Inc. Visualizing restoration operation granularity for a database
JP5904514B1 (ja) * 2014-10-28 2016-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 仮想マシンのスナップショットに対して更新を自動的に適用する方法、並びに、そのコンピュータ・システム及びコンピュータ・システム用プログラム
US10567500B1 (en) 2015-12-21 2020-02-18 Amazon Technologies, Inc. Continuous backup of data in a distributed data store
US10423493B1 (en) 2015-12-21 2019-09-24 Amazon Technologies, Inc. Scalable log-based continuous data protection for distributed databases
US10509646B2 (en) 2017-06-02 2019-12-17 Apple Inc. Software update rollbacks using file system volume snapshots
US10437683B1 (en) * 2017-06-06 2019-10-08 Symantec Corporation Systems and methods for protecting data affected by system changes
CN107861747A (zh) * 2017-06-26 2018-03-30 平安普惠企业管理有限公司 产品更新方法、设备和计算机可读存储介质
CN109508195B (zh) * 2017-09-12 2022-05-27 北京国双科技有限公司 测试安装包的安装方法及装置
US10990581B1 (en) 2017-09-27 2021-04-27 Amazon Technologies, Inc. Tracking a size of a database change log
US10754844B1 (en) 2017-09-27 2020-08-25 Amazon Technologies, Inc. Efficient database snapshot generation
US11182372B1 (en) 2017-11-08 2021-11-23 Amazon Technologies, Inc. Tracking database partition change log dependencies
US11042503B1 (en) 2017-11-22 2021-06-22 Amazon Technologies, Inc. Continuous data protection and restoration
US11269731B1 (en) 2017-11-22 2022-03-08 Amazon Technologies, Inc. Continuous data protection
US20190163370A1 (en) * 2017-11-28 2019-05-30 International Business Machines Corporation Data replication based on data-driven recovery objectives
US10621049B1 (en) 2018-03-12 2020-04-14 Amazon Technologies, Inc. Consistent backups based on local node clock
US11126505B1 (en) 2018-08-10 2021-09-21 Amazon Technologies, Inc. Past-state backup generator and interface for database systems
US11042454B1 (en) 2018-11-20 2021-06-22 Amazon Technologies, Inc. Restoration of a data source
CN117827534A (zh) * 2022-06-16 2024-04-05 荣耀终端有限公司 一种数据克隆过程的管控方法、电子设备及存储介质

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62210552A (ja) * 1986-03-11 1987-09-16 Nec Corp フアイルリカバリ方式
US6044205A (en) * 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US6112024A (en) * 1996-10-02 2000-08-29 Sybase, Inc. Development system providing methods for managing different versions of objects with a meta model
US6216175B1 (en) * 1998-06-08 2001-04-10 Microsoft Corporation Method for upgrading copies of an original file with same update data after normalizing differences between copies created during respective original installations
US6141773A (en) 1998-06-30 2000-10-31 Emc Corporation Method and apparatus for undoing changes to computer memory
US6523166B1 (en) * 1998-09-21 2003-02-18 Microsoft Corporation Method and system for on-demand installation of software implementations
US6237144B1 (en) * 1998-09-21 2001-05-22 Microsoft Corporation Use of relational databases for software installation
US6397381B1 (en) 1998-09-21 2002-05-28 Microsoft Corporation System and method for repairing a damaged application program
US6226792B1 (en) * 1998-10-14 2001-05-01 Unisys Corporation Object management system supporting the use of application domain knowledge mapped to technology domain knowledge
US6457175B1 (en) 1998-11-09 2002-09-24 Tut Systems, Inc. Method and apparatus for installing a software upgrade within a memory resource associated with a computer system
US6324691B1 (en) * 1998-11-12 2001-11-27 Hewlett-Packard Company Manufacture of software distribution media packages from components resident on a remote server source
US6438749B1 (en) * 1999-03-03 2002-08-20 Microsoft Corporation Method and system for restoring a computer to its original state after an unsuccessful patch installation attempt
US6324692B1 (en) 1999-07-28 2001-11-27 Data General Corporation Upgrade of a program
GB2359385B (en) 2000-02-16 2004-04-07 Data Connection Ltd Method for upgrading running software processes without compromising fault-tolerance
US6631519B1 (en) * 2000-03-30 2003-10-07 Microsoft Corporation Automated schema and interface generation
EP1195679A1 (en) 2000-10-06 2002-04-10 Hewlett-Packard Company, A Delaware Corporation Performing operating system recovery from external back-up media in a headless computer entity
GB2367656A (en) 2000-10-06 2002-04-10 Hewlett Packard Co Self-repairing operating system for computer entities
DE10059825A1 (de) * 2000-12-01 2002-06-13 Clariant Gmbh Verwendung von kammförmigen Copolymeren auf Basis von Acryloyldimethyltaurinsäure in kosmetischen, pharmazeutischen und dermatologischen Mitteln
EP1237078A1 (de) * 2001-01-19 2002-09-04 Siemens Aktiengesellschaft Durchführung eines zeitoptimierten Austausches einer Software-Applikation
US7356816B2 (en) * 2001-02-13 2008-04-08 Computer Associates Think, Inc. Method and apparatus for multiplatform migration
WO2002075525A1 (fr) 2001-03-19 2002-09-26 Sony Corporation Systeme, procede et programme d'actualisation de logiciel
US6993760B2 (en) * 2001-12-05 2006-01-31 Microsoft Corporation Installing software on a mobile computing device using the rollback and security features of a configuration manager
WO2003107221A1 (en) * 2002-06-12 2003-12-24 Fslogic, Inc. Layered computing systems and methods
US7263688B2 (en) * 2002-09-23 2007-08-28 Realnetworks, Inc. Method and apparatus for dynamic data-type management
US6836657B2 (en) 2002-11-12 2004-12-28 Innopath Software, Inc. Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade
US7085957B2 (en) 2002-11-21 2006-08-01 Texas Instruments Incorporated Upgrading of firmware with tolerance to failures
US6978452B2 (en) * 2003-04-02 2005-12-20 Beach Unlimited Llc Upgrading digital media servers
US7735078B1 (en) * 2003-10-30 2010-06-08 Oracle America, Inc. System and method for software patching for cross-platform products
US7509636B2 (en) * 2003-12-15 2009-03-24 Microsoft Corporation System and method for updating files utilizing delta compression patching
US7676804B2 (en) * 2004-05-20 2010-03-09 Caterpillar Inc. Systems and method for remotely modifying software on a work machine
US7587433B2 (en) * 2004-06-01 2009-09-08 Red Bend Ltd. Method and system for in-place updating content stored in a storage device
US7506338B2 (en) * 2004-08-30 2009-03-17 International Business Machines Corporation Method and apparatus for simplifying the deployment and serviceability of commercial software environments
US7703090B2 (en) * 2004-08-31 2010-04-20 Microsoft Corporation Patch un-installation
US8001527B1 (en) * 2004-12-21 2011-08-16 Zenprise, Inc. Automated root cause analysis of problems associated with software application deployments
US7577949B2 (en) * 2005-01-20 2009-08-18 Microsoft Corporation Installation source management
WO2007002795A2 (en) * 2005-06-29 2007-01-04 Emc Corporation Creation of a single client snapshot using a client utility
JP2009512939A (ja) * 2005-10-21 2009-03-26 ヴァー2アス インコーポレイテッド 複数のオペレーティングシステムのインスタンスが単一のマシン資源を安全に共有することを可能とする、オペレーティングシステムの仮想化、を有するコンピュータセキュリティ方法
US7712094B2 (en) * 2005-12-22 2010-05-04 Alan Joshua Shapiro Method and apparatus for replicating a panoplex onto a storage medium from a master
US8261253B2 (en) 2006-01-25 2012-09-04 The Boeing Company Method for restoring software applications on desktop computers
US7664982B2 (en) 2006-10-26 2010-02-16 Hewlett-Packard Development Company, L.P. Method and system for storing recovery related information on a computer memory
US8037471B2 (en) * 2006-11-16 2011-10-11 International Business Machines Corporation Systems and methods for constructing relationship specifications from component interactions
US7788230B2 (en) * 2007-01-23 2010-08-31 International Business Machines Corporation Backing-up and restoring files including files referenced with multiple file names
JP2008269341A (ja) 2007-04-20 2008-11-06 Fanuc Ltd リカバリ用記録媒体

Also Published As

Publication number Publication date
EP2318929B1 (en) 2012-01-04
WO2010055073A1 (en) 2010-05-20
US8332842B2 (en) 2012-12-11
JP2012508919A (ja) 2012-04-12
US20100125841A1 (en) 2010-05-20
CN102216905B (zh) 2013-12-25
KR20110086732A (ko) 2011-07-29
ATE540358T1 (de) 2012-01-15
EP2318929A1 (en) 2011-05-11
CN102216905A (zh) 2011-10-12

Similar Documents

Publication Publication Date Title
JP5444368B2 (ja) アプリケーション復元ポイント
US5924102A (en) System and method for managing critical files
EP1374017B1 (en) System and method for restoring computer systems damaged by a malicious computer program
US7703090B2 (en) Patch un-installation
US8806476B2 (en) Implementing a software installation process
US7606842B2 (en) Method of merging a clone file system with an original file system
US8185884B2 (en) System and method for offline updation of software in virtual machine (VM) images
US8209290B1 (en) Generic granular restore of application data from a volume image backup
US20080270583A1 (en) Method, system and program product for remotely deploying and automatically customizing workstation images
US7577949B2 (en) Installation source management
AU2002250453A1 (en) System and method for restoring computer systems damaged by a malicious computer program
US11983519B2 (en) Abort installation of firmware bundles
US8132047B2 (en) Restoring application upgrades using an application restore point
CN112416379B (zh) 一种应用程序安装方法、装置、计算设备及可读存储介质
US8819657B1 (en) Method and apparatus for maintaining data consistency in a virtualized application during software update installation
US11748211B2 (en) Automatic update of network assets using gold images
US9372992B1 (en) Ensuring integrity of a software package installer
CN112068846A (zh) 一种基于双系统的应用分发方法、设备及介质
Halsey et al. Troubleshooting a Corrupted Registry
CN109976792A (zh) 一种镜像延迟更新方法
Shaw et al. Upgrading to Oracle 11 g Release 2
CA2539407A1 (en) Method and apparatus for implementing a software installation process

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120612

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130904

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131220

R150 Certificate of patent or registration of utility model

Ref document number: 5444368

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150