JP2003528392A - ソフトウェアアプリケーションにおいてなされた進行中の変更を復旧するための方法及び装置 - Google Patents

ソフトウェアアプリケーションにおいてなされた進行中の変更を復旧するための方法及び装置

Info

Publication number
JP2003528392A
JP2003528392A JP2001569632A JP2001569632A JP2003528392A JP 2003528392 A JP2003528392 A JP 2003528392A JP 2001569632 A JP2001569632 A JP 2001569632A JP 2001569632 A JP2001569632 A JP 2001569632A JP 2003528392 A JP2003528392 A JP 2003528392A
Authority
JP
Japan
Prior art keywords
data
memory
file
cache
website
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.)
Pending
Application number
JP2001569632A
Other languages
English (en)
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 JP2003528392A publication Critical patent/JP2003528392A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/1441Resetting or repowering

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 内容開発用システムで形成されたときの進行中の変更等をプロセス・システム障害の場合に保存及び復旧しうるよう構成された方法及び装置が得られる。進行中のデータの開発及び変更は、これらが形成される間に保存され、システム、プロセスが復旧した後に検索及び復旧されうる。キャッシュメモリの内容がメモリマップファイルに反映されて、キャッシュデータについて冗長ロケーションが形成される。障害の場合、反映されたキャッシュ情報はファイルからの復旧のために利用可能である。この余分のキャッシュロケーションは、キャッシュデータがディスク等に記憶されるため、システムにより必要とされるときに充填、フラッシュされうる。よってキャッシュデータの保存が不要となる。本発明はかかる障害の後に実際にプロセス、システムを復旧及び再開始するための方法及び装置を含む。一方又は両方の特徴によれば、本発明を用いるアプリケーションは、プロセス・システム障害の結果失われるデータ量及び処理時間を低減できる。

Description

【発明の詳細な説明】 【0001】 【技術分野】 本発明は、記憶装置及び記憶技術の分野に関し、より詳細には、ソフトウェア
アプリケーションの使用中になされた進行中(in-progress)の変化を復旧(rec
overy)させること、及び、システム障害又はプロセス障害(system or process failure)の場合におけるダウン時間(downtime)を縮めることに関する。 【0002】 【背景技術】 電子ソフトウェアアプリケーションの使用中に情報を自動的かつ周期的に保存
するように構成された自動メカニズム(automatic mechanism)を含む従来シス
テムが存在する。例えば、多くのワード処理(word processing)アプリケーシ
ョンがこの機能を含んでいる。自動的に保存された情報は、再度システムの電源
が入れられれば、又は、電力が回復した際に、この後の復旧(retrieval)のた
めに保存されることが多い。しかしながら、このようなメカニズムは、データを
失うという問題、特に電力障害又はその他のシステム障害が発生した際にデータ
を失うという問題を十分には取り扱っていない。従来の方法は、プロセス障害又
はシステム障害が発生する前には進行中ではあるが最後に自動保存が発生した後
に作成又は変更された作業(work)のような失われうるすべての情報を、完全に
は補償していない。従来のシステムは、プロセス障害時又はシステム障害時にこ
のデータを失う。 【0003】 このようなアプリケーションは、現在、一例として、ウェブサイトの開発及び
維持の分野において用いられる。インターネットウェブサイトの開発に特別に調
整されたアプリケーションは、ウェブサイト開発業界において周知である。これ
らアプリケーションの多くは、ウェブサイト内での情報の検索、記憶、配列及び
送信といったようなウェブサイトをデザイン及び維持するための簡略化された方
法を提供する。より進歩したシステムでは、アプリケーションプログラムのその
他の進歩した機能が特定の情報を操作しかつこの情報にアクセスすることができ
るように、多数の場所及び異なるファイルに情報を記憶させなければならない。
多くの作成者(contributor)による成果を調整するという要求によって、大き
なウェブサイトを開発することは難題となることが多い。この結果として、現在
、多数のワークステーション(登録商標)にウェブサイトの内容を同時に作成さ
せることを可能とするウェブサイト開発ツールが開発されてきている。さらには
、多くのウェブサイトは頻繁に変更する必要のあるものであり、作成者は、通常
、それらウェブサイトをアドホック(ad hoc)処理により変更している。別々の
ワークステーションからのユーザがウェブサイト上における同一の更新を試みる
際に問題が発生し、この問題がアドホック処理を混乱させる。その問題とは、多
くのビジネスが、それらビジネスのインターネットサイトが日、時間又は分単位
で更新されるように要求していることである。また、作成者数が増加するにつれ
て、内容の量及び複雑さは、その内容の使用が増加するのと同様に増加する。情
報が作成されれば、その情報はこれらの作成者すべてによって保存される。なお
、これらの作成者は、適切なデータ保存手順を維持するのに熱心であるかもしれ
ないし熱心でないかもしれない。電力障害が起きた場合には、例えば、この問題
は、システムが電力を失うかもしくは電源を切った際には、手動でも自動的にも
保存されていない進行中の変化は失われうるので、さらに重大なものとなる。こ
の結果として、効率管理及び品質管理のためにウェブサイトを管理することが困
難となっている。 【0004】 これらの問題に対応して、ウェブサイト開発を管理するためのシステムアプリ
ケーションが開発されてきている。これらの中には、ソフトウェア構成管理シス
テム、ドキュメント管理システム及びデータベース公表(publishing)システム
を含むものがある。このようなアプリケーションの1つでは、ウェブサイトは、
各ウェブサイト開発者がウェブサイトを定める内容の別々の部分を構築又は維持
するようなワークエリア(work area)内で、開発されうる。これは、ウェブサ
イト開発のタスクを多数の人に分配することに役立っている。この後、各開発者
からの最終的な寄与物は、最終的なウェブサイトに組み込まれうる。 【0005】 このような既知のウェブサイト開発システムには、関連する様々な不都合があ
る。例えば、多数の人々の成果を必要とするウェブサイトを維持する場合には、
複数のウェブサイト作成者を並列に作業させることが望ましいであろう。ソフト
ウェア構成管理システムは、複数の作成者があるウェブサイトにおける同一の領
域に対して同時に変更を施すことを可能とはしていない。進行中の変化は、あっ
たとしても、個々の開発者のシステムによって、ランダムな方法により保存され
うる。また、従来のシステムは、典型的には、個々の作成者が、彼らの作成物(
work)をウェブサイトに公表することなく別々にテストすることを可能とはして
いない。この結果、個々の作成者は、自分の作成物が他の作成物に結合された際
の効果を予測することができない。この結果として、競合する変化は、ウェブサ
イトに公表されるので、ウェブサイトの内容を崩壊し、そのウェブサイトの完全
性(integrity)を傷つける。 【0006】 従来のシステムは、ときには、ウェブサイトに公表されるすべての変化を統合
するために、「ウェブマスタ(webmaster)」として知られる中央ウェブサイト
管理人に頼ることがある。このウェブマスタは、ウェブサイトの品質管理と、ウ
ェブサイトの内容のすべてを統合することと、に対する責任を単独で有している
。内容の作成者が多数存在することによって、ウェブマスタは、ウェブサイトを
維持及び開発する際の障害となることが多い。多数の作成者による作成物を統合
することは、時間を消費する労働集約的な仕事であり、また、内容に対してデバ
ッグを行うこと及び複数の作成者の間における競合(conflict)を解決すること
を含む。物事がさらに複雑なのは、ウェブマスタは、作成工程に対してリアルタ
イムに管理をしないことである。これは、ウェブマスタがウェブサイトを適切に
組織及び維持をすることを不可能ではないにしても困難にしている。ウェブマス
タは、内容を受け取った後に、エラーを分類し、競合を解決し、及び、ウェブサ
イトの変更をスケジュールすることを任される。 【0007】 このようなシステムは、情報が、多くの異なるファイル内に、かつ、アプリケ
ーション内でこの情報を容易にアクセス及び参照できるようなフォーマットで、
記憶されることを要求する。従来のアプリケーションは、ユーザに対して、いく
つかの場所に手動で情報を提示し記憶させるように、要求している。あるユーザ
が多数の場所へ提示し記憶させることを望む場合には、これらのことは通常各自
で行われ、そのユーザには、進行中の変更を含むデータを記憶させるべき適切な
記憶場所を決定するさらなるタスクと、その情報を手動で記憶させる責任と、が
残される。いずれの場合にも、情報を利用するには、ウェブサイトを開発する開
発ソフトウェアの第1の目的を損なう骨の折れるタスクが必要となる。 【0008】 ウェブサイトの開発及び維持の分野では、ウェブサイトを開発し維持する間に
おいてデータを保存することが最も重要である。ウェブサイト上に表示されるな
いようを定めるデータを作成するために、多くの時間がこの処理に費やされる。
しかしながら、実際問題として、そのシステムにおいて作成及び記憶されたデー
タの完全性を脅かすシステム障害及びプロセス障害が起こる。 【0009】 したがって、プロセス障害又はシステム障害の場合に進行中の情報をより効率
的に保存し、かつ、このような障害に起因するダウン時間量を縮める、システム
及び方法に対する要望がある。明らかなように、本発明は、簡単かつエレガント
な方法によりこれを実現する。 【0010】 【発明の開示】 本発明は、内容の開発のためのシステムにおいて形成されたときの進行中の開
発及び変更をプロセス障害又はシステム障害の場合に保存及び復旧することを可
能とするように構成された方法及び装置を含む。この進行中のデータの開発及び
変更は、これらが形成される間において保存されうるし、システム又はプロセス
が復旧した後に検索及び復旧されうる。一実施の形態では、キャッシュメモリの
内容が、メモリマップファイルに反映されて、キャッシュデータについて冗長ロ
ケーションが形成される。障害の場合には、上記反映されたキャッシュ情報は、
ファイルからの復旧のために利用可能である。この余分のキャッシュロケーショ
ンは、キャッシュデータがディスク又はその他のメモリロケーションに記憶され
るので、システムにより必要とされるときに、充填又はフラッシュされうる。よ
って、キャッシュデータを保存することが不要となる。本発明は、さらに、かか
る障害の後に実際にプロセス又はシステムを復旧及び再開始するための方法及び
装置を含む。一方又は両方の特徴を用いることにより、本発明を用いるアプリケ
ーションは、プロセス障害又はシステム障害の結果として失われるデータ量及び
処理時間を低減することができる。 【0011】 【発明を実施するための最良の形態】 本発明は、プロセス障害又はシステム障害があった場合に、インターネットウ
ェブサイト、イントラネットサイト又はエキストラネットサイトの開発のための
システムでなされた進行中の変化を復旧する方法及び装置を含む。1つの実施の
形態では、キャッシュメモリの内容は、メモリマッピングされたファイルに反映
されて、キャッシュデータのための冗長ロケーション(redundant location)を
提供する。障害があった場合には、反映されたキャッシュ情報は、ファイルから
の復旧のために利用可能である。この余分なキャッシュロケーションは、キャッ
シュデータがディスク又はその他のメモリロケーションに記憶されるので、シス
テムによって必要とされるときに、充填又はフラッシュされうる。よって、キャ
ッシュデータを保存することが不要となる。本発明は、さらに、かかる障害の後
に、実際のプロセス又はシステムを復旧するための方法及び装置を含む。一方又
は両方の特徴を用いれば、本発明を利用するアプリケーションは、プロセス障害
又はシステム障害の結果として失われるデータ量及びプロセス時間の量を低減す
ることができるであろう。 【0012】 本発明は、データの効率的な記憶及び復旧のための方法及び装置に関する。本
発明を利用するシステムは、作成され、変更され、再配置され又は更新された進
行中のデータを検索(retrieve)及び記憶するように、アプリケーションと同期
して動作しうる。データの検索及び記憶はまた、自動的なものとして、その動作
をアプリケーションのバックグラウンドで動作させ、システムオペレータにとっ
て透明とすることができる。本発明の一実施の形態では、コンピュータシステム
は、本発明に係る進行中のデータの検索動作及び記憶動作を実行するための関連
する機能を定めるソフトウェアコードを実行するように構成されうる。 【0013】 本発明の一実施の形態は、事象(event)に応じてソースからデータ内容レコ
ード(Data Content Records; DCRs)を読み込むレコード志向データポンプ(re
cord oriented data pump)アプリケーションとして特徴付けられうる。このポ
ンプは、事象、トリガ事象(trigger event)の発生に応じて検索動作をトリガ
するように、あるいは、事象のタイプに依存して、その後の動作又は並列の動作
を実行するように、構成されうる。例えば、ワークエリアでのデータの作成又は
変更の直後に、進行中のデータは、その更新を保存するように検索及び記憶され
うる。これは、ある時間期間上で自動的に起こる従来の周期的検索のように、通
常のプロセス動作と並列に起こりうる。本発明に係る方法は、進行中のデータを
メモリマッピングされたロケーションにこのデータが作成された状態に復旧させ
、あるいは、同期で、非同期で、周期的に又は非周期的に、発生するように、構
成されうる。データは、システムが動作するときにキャッシュメモリに記憶され
ることができ、同時に、キャッシュメモリの内容をコピーするメモリロケーショ
ンに格納されることができる。システム障害又はプロセス障害があった場合に、
データはここから復旧されうる。 【0014】 この後、データポンプは、そのデータを格納し、変更し、転送し、若しくは変
化させ、又は、所定のパラメータに従って結果を宛先(destination)に書き込
むことができる。本発明は、インターネットウェブサイト開発ソフトウェアアプ
リケーションにおいてデータを保存するように特別に適合され、本発明をその場
合について説明する。しかしながら、その説明は本発明の1つの利用にすぎない
ということを理解できるであろうし、本発明は、さらに多くの適用可能性を有し
ており、かつ、進行中のデータの保存及びダウン時間の低減が必要又は有用とさ
れるアプリケーションにおける利用可能性を有しているということを理解できる
であろう。 【0015】 ウェブサイト開発アプリケーションでは、データの変化に関連する事象は、多
くの形をとりうる。例えば、データがワークエリアで作成される際には、そのデ
ータをなんとかキャプチャ(capture)し、かつ、そのデータの作成に関連する
アプリケーションデータにおける変化を保存することが重要である。その他の例
には、データを宛先に転送すること、ウェブサイトに表示すべき実際の内容を変
化させること、ファイル内のその内容の利用に影響を与える、そのファイルの属
性を変化させること、内容、属性、その他のレコードに関連したその他の動作、
及び、ウェブサイトの開発及び維持に関連したデータが含まれる。本発明は、こ
れらのタイプのデータの効率的な検索(retrieval)、保存及び格納を、これら
のデータの作成又は変化が進行中である間において、実行することに関する。ま
た、この動作については、自動的なものとすることができるし、データが利用さ
れている基礎となった(underlying)アプリケーションに同期させることもでき
る。 【0016】 多量のデータを管理するコンピュータシステムでは、データは、ファイル形式
でコンピュータのメモリに格納される。例えば、ウェブサイト、エキストラネッ
トサイト又はイントラネットサイトについての内容を管理しかつこの内容を変化
させるためのシステムでは、ワークエリア、ステージングエリア(staging area
)及びエディションエリア(edition area)のために物理的メモリが割り当てら
れうる。ワークエリアは、個々の作成者又は作成者のグループによって内容に施
される進行中の変化を格納しうる。従来のシステムとは異なり、本発明を組み込
んだシステムは、内容を管理および開発するユーザにとって透明な方法によりこ
れら進行中の変化を自動的に検索及び格納するように構成されうる。一旦ワーク
エリアにおいて変化がなされると、変化した内容は、ステージングエリアに提出
される。 【0017】 ステージングエリアでは、内容の変化が結合されうる。ステージングエリアか
ら、変化した内容が、エディションエリア又はその他のエリアに転送されうる。
エディションエリアは、ウェブサイト、エキストラネット又はイントラネットサ
イトについての内容のバージョンすなわち版(edition)を格納する。いくつか
の実施の形態では、これらのエリアの任意の1つにおいて、及び、様々なアプリ
ケーションにおいて、データが開発及び管理されうる。かかる開発及び管理にお
いて、進行中のデータが作成され変化され又は再配置(relocated)される。こ
のデータを保存すること、及び、このデータを検索する能力は、本発明が目的と
しているものである。さらには、プロセス障害又はシステム障害に際して、本発
明は、障害の起きたプロセス又はシステムを回復させるための方法及び装置を提
供するので、進行中のデータを回復させることができ、かつ、プロセスは再開す
ることができる。これは、開発の構成(development configuration)が広範囲
で互いに依存しているファセット(facets)及び層を有している、ウェブサイト
開発システムにおいて特に有用である。進行中の変化の損失によって、システム
の他のエリアにリップルしうる分岐(ramifications)が生じうるので、破壊が
発生する。したがって、本発明に基づいてかかる変化を保存及び回復させる能力
は、非常に有用であるし、必要不可欠となろう。 【0018】 上述したような様々な目的のために割り当てることができるメモリに加えて、
変化及びその他の内容についての持続性(persistent)の記憶装置を設けるため
に、物理的な補助記憶メモリを用意することも可能である。持続性により意図す
ることというのは、補助記憶を一部としているシステムに対して発生するシャッ
トダウン又は電力障害にもかかわらず、その補助記憶の内容が保存されるという
ことである。従来のシステムでは、持続性メモリは、システムが最初に立ち上が
った際に検索されるデータを含む、使用されることの多い情報を保存するために
、用いられることが多い。本発明によれば、進行中の変化を保存することを目的
として、ユーザに透明である方法により進行中の変化に関連するこのようなデー
タを自動的に検索及び保存することに関する装置及び方法が得られる。 【0019】 本発明によれば、補助記憶メモリ又はその他のメモリにあるファイルのそれぞ
れは、内容及び属性を含む。ファイルの内容は、このファイル内に格納された情
報を含む。これは、例えば、ウェブサイト、エキストラネット又はイントラネッ
トを介して利用可能となりうる、テキスト、グラフィックス及び音声情報を含む
。ファイルの属性(この属性は「メタデータ(metadata)」ともよばれうる)は
、このファイルに関連する情報を含む。これは、例えば、そのファイルのサイズ
と、そのファイルが作成された時又はそのファイルの内容が最後に更新された時
を示すタイムスタンプと、そのファイル又はそのファイルの所有者が属するグル
ープについての識別と、そのファイルに対するオペレーションの読込み及び書込
みを実行することを目的としてそのファイルにアクセスすることを制限するため
の許可(permission)情報と、を含む。この情報は、進行中である作業について
の実際の内容と同じくらい重要となりうるし、あるワークエリアで作成された内
容を別のエリアで作成された内容と統合することによる生成物となりうる。本発
明は、このデータの検索及び格納を効率的な方法で行うことに関する。 【0020】 ファイルの属性は、このファイルの内容に関連して、例えば補助記憶のような
ところに記憶される。ファイルの内容に変更がなされた際には、ファイル内容の
更新されたバージョン及び更新前バージョンの両方が、補助記憶に格納されうる
。上記ファイル内容の各バージョンについては、関連した属性もまた格納される
。これら属性は、ファイルのサイズと、このファイルが最後に更新された時を示
すタイムスタンプとを含みうるので、ファイル内容を更新すると、上記属性が著
しく変化することになる。したがって、ファイル内容の各バージョンについて異
なるセットの属性が格納される。システムを最適に動作させるためには、これら
の属性を、絶え間なく、自動的に、かつ、そのシステムと同期させて、格納しな
ければならない。本発明は、まさにこれを実行することに向けられている。内容
及び、作成され、管理され、再配置され又は変更される関連したメタデータは、
本発明に係るシステムにより後で復旧させるために、保存されうる。 【0021】 しかしながら、ファイルの内容を変化させることなく、このファイルの属性が
更新されたときには、新たに更新された属性が、以前のバージョンの属性ととも
に、補助記憶のようなところに格納されうる。この新たに更新された属性及び以
前のバージョンの属性は、この後、同一バージョンのファイルの内容を共有する
。このように、多数バージョンの属性が、ファイルの内容の単一コピーと関連し
うる。よって、各バージョンのファイルの属性に関連するファイルの内容の別々
のコピーを記憶することが防止されるので、補助記憶の記憶スペースが保護され
うる。補助記憶のようなところにポインタを設けることができ、このポインタは
、新たに更新された属性及び以前の属性の両方を、関連するファイルの内容の同
一コピーにリンク(link)させる。 【0022】 本発明の一実施の形態では、インターネットウェブサイトを開発及び維持する
よう解決法が構成される。かかるシステムの全体では、ウェブサイトが開発及び
維持される間においては、データを記憶する必要がありうる。従来技術にかかる
システムにおいては、ユーザは、進行中のデータをこのデータが作成及び維持さ
れた状態でマニュアルで記憶させる必要があるであろう。しかしながら、本発明
を用いれば、進行中のデータは、ユーザから透明な特定のパラメータに従って、
自動的に検索、記憶及び更新されうる。進行中のデータの開発及び更新は、これ
らのデータが作成される間において保存されうるし、さらに、システム又はプロ
セスが復旧した後に検索及び復旧されうる。一実施の形態では、キャッシュメモ
リの内容は、メモリマップ(memory-mapped)ファイルに反映されるので、キャ
ッシュデータについての冗長ロケーション(redundant location)を設けること
ができる。障害の場合には、上記反映されたキャッシュ情報が、ファイルからの
復旧のために利用可能である。この余分のキャッシュロケーションは、キャッシ
ュデータがディスク又はその他のメモリロケーションに記憶されるので、システ
ムにより必要とされるときに、充填又はフラッシュされうる。よって、キャッシ
ュデータを保存することが不要となる。 【0023】 本発明が実施されるアプリケーションは、データが記憶及び提示されるステー
ジングエリアを含みうる。図1を参照するに、かかるアプリケーションのブロッ
ク図が示されている。ウェブサイトは、ワークステーション102を使用してい
るユーザにより維持される。このユーザは、ワークエリアにおけるウェブサイト
内に特定のエリアを作り出し、この特定のエリアは、他のエリアとは別個に記憶
される。ワークエリア内で作業するユーザがウェブサイトについてのタスクを一
旦完了させると、このユーザは、その内容を見直し(review)のためにステージ
ングエリアに提出することができる。このステージングエリアは、多数のワーク
エリアからのウェブサイト内のエリアに関係する情報を保持するように構成され
ている。ウェブサイトに対して提案された更新は、これらが最終的なウェブサイ
トに公表される前に、見直しのためにステージングエリアに表示されうる。これ
らの更新が一旦ステージングエリアで承認されれば、これらの更新は公表され、
ウェブサイトは変更される。 【0024】 特定の情報を適切に記憶するためには、従来の方法を利用するユーザは、典型
的には、ワークエリアにおいて形成された更新をファイルの中に編集しかつその
ファイルをデータベースに記憶させなければならない。ワークエリアにおいて作
成される多量のかつ様々な情報を考慮すると、これは、骨の折れるタスクとなり
、実行するのにかなりの時間を必要としうる。勿論、これによって、ウェブサイ
トを作成及び維持するというタスクにおいて貴重な時間が費やされれる。 【0025】 本発明によれば、情報を記憶するという問題は、ほとんど排除される。ワーク
エリアで発生する一定の事象は、自動的に保存されかつ更新されうるし、この動
作は、ユーザにとって透明となりうる。例えば、内容及び関連するデータは、最
初に作成された際に、このデータの古いバージョンを保存するとともにこのデー
タにおける更新をも保存するために、自動的に更新されうる。一実施の形態では
、キャッシュメモリの内容は、メモリマップファイルに反映されるので、キャッ
シュデータについて冗長ロケーションを設けることができる。障害の場合には、
上記反映されたキャッシュ情報が、ファイルからの復旧のために利用可能である
。この余分なキャッシュロケーションは、キャッシュデータがディスク又はその
他のメモリロケーションに記憶されるので、システムによって必要とされるとき
に、充填又はフラッシュされうる。よって、キャッシュデータを保存することが
不要となる。これにより、ユーザは、データをまとめ適切に保存することに関し
て心配し時間を浪費しなくとも、ウェブサイト開発タスクを続けることができる
。これを実際のソフトウェアアプリケーションに適用すると、このような改善に
よってウェブサイト開発プロセスの能率が著しく向上することが明らかになった
。 【0026】 本発明の一実施の形態がどれだけウェブサイト開発及び維持の解決法の動作を
高めるかを理解するためには、このような解決法の一例を理解することが有効で
ある。図1は、このようなシステムの一例を示す。図1を参照するに、ウェブサ
イト開発のためのコンピュータネットワークシステム100が示されている。1
つ以上の開発ワークステーション102では、ウェブサイト開発者は、ウェブサ
イトについてのファイルを、追加、除去、編集及び検討(examine)することが
できる。開発ワークステーションは、内容を開発するように構成されうる、従来
のパーソナルコンピュータ、UNIX(登録商標)ワークステーション又はその
他のワークステーションを含みうる。開発ワークステーション102は、インタ
ーネット又はLANのようなコンピュータネットワーク106を介して開発サー
バ104に接続されうる。 【0027】 開発サーバ104は、ウェブブラウザに対して内容をサーブアップ(serve up
)するためのウェブサーバ108と、ウェブサイトの内容のバージョンを記憶す
るための補助記憶110と、を含みうる。サーバ108は、ウェブサイトの内容
(例えばファイル)に対する開発ステーション102からのHTTP要求を処理
する。ウェブサイトのファイルは、WINDOWS NT(登録商標)ファイリ
ングシステム又はUNIX(登録商標)ファイリングシステムのような従来のも
のとしうる補助記憶110に物理的に記憶されうる。補助記憶は、システム内で
、作成され、転送され或いは維持されるすべてのデータを記憶するための中央ロ
ケーションとして機能しうる。本発明によれば、データの記憶は、ユーザに対し
て透明となるように実行されうる。 【0028】 開発サーバ104は、従来方式のメモリ112(例えばRAM)と、メモリ1
12に記憶されたソフトウェアコード116を実行することにより本発明のウェ
ブサイト開発方法を事項する従来のプロセッサ114と、を含みうる。HTTP
プロトコル仮想化(virtualization)モジュール118は、プロセッサ114に
より実行されることができ、これにより、ウェブサーバ108は、このウェブサ
ーバ108が多数のサーバであるかのように動作することができる。このモジュ
ールはまた、メモリ112に記憶されうる。開発サーバ104は、ネットワーク
122を介してウェブサイト作成ウェブサーバ120に接続されうる。ネットワ
ーク122については、ネットワーク106と同一又は異なるネットワークとす
ることができる。ウェブサーバ120はまた、インターネット又はイントラネッ
ト124に接続されうる。ウェブサイトがワールドワイドウェブ又はイントラネ
ットに公表される準備ができている際には、開発サーバ104は、そのウェブサ
イトの内容を作成ウェブサーバ120に送信し、この作成ウェブサーバ120は
、この後、システム構成に従って、そのウェブサイトに対するインターネット又
はイントラネットアクセスを提供する。 【0029】 ウェブサイトは、通常、任意のファイルシステムによる内容から構成される。
本発明のウェブサイト開発システム100は、階層型(hierarchical)ファイル
システムを含みうる。本発明のかかるシステムのそれぞれは、個々のファイルを
管理及び処理するための状況を提供する。ウェブサイト開発ソフトウェア116
は、実行されると、ファイルの管理及び処理を実行可能とする。補助記憶110
は、それらファイル及び対応するメタデータが物理的に記憶されうる場所である
。メタデータは、通常、ワーク内容データ(work content data)に関連したデ
ータであり、内容を含むファイルを識別しかつ区別するのに利用される。この内
容は、バージョン、作成日、ロケーション、著作者等のような内容のプロパティ
を含んでいる。いくつかの例には、例えば、内容所有者識別、グループ識別、ア
クセス制御、ファイル名、更新時間、作成時間、拡張型属性(extended attribu
tes; EAs)、その内容に関連したウェブサイトアドレス、及び、その内容に関連
したその他の情報を含む。 【0030】 本発明の階層型ファイルシステムは、当該技術分野では「エリア」とよばれう
る。様々なタイプのワークエリア、ステージングエリア及びエディションエリア
が存在しうる。ワークエリアについては、ウェブサイトにおいて最終的に使用す
るためのワークファイルにおけるウェブ内容を作成及び維持する者により使用さ
れる修正可能な(modifiable)ファイルシステムとすることができる。特にプロ
セス障害又はシステム障害の場合に、進行中の更新を後の使用のために保存する
必要がある場所は、これらのワークエリアである。ステージングエリアは、これ
らのワークファイルからの内容が公表される前に組み立てられるエリアとなりう
る。ウェブマスタのような中央制御人(central control person)は、ステージ
ングエリア又はエディションエリア内のワークエリアより提出された内容を編集
することができる。ワークエリアは、通常、内容を独占的に作成及び維持するた
めのエリアであるので、ステージングエリア及びエディションエリアは、内容を
組立て及び表示することのみに限定されうる。デザインによっては、ワークエリ
アは、読込み専用の(read-only)ファイルシステムとして構成されうる。内容
に対する修正(modification)は、必要とされうる更新を実行するために、編集
者からワークステーションに送信される必要がありうる。これは、その内容の完
全性(integrity)を維持しかつプロセスを簡略化するのに役立つ。しかしなが
ら、ビジネスによっては、システム100をもっと順応性を持たせて、編集者の
ような他の者が内容を公表前に修正することができるようにする、ことが望まれ
うる。よって、ステージングエリア及びエディションエリアを、修正可能な(mo
difiable)ファイルシステムとして構成してもよい。どちらの場合であっても、
特定の事象の発生に応じて自動的に記憶しデータを修正することは、ウェブサイ
トの開発又は維持において作成又は変更されたデータを保存するには望ましいこ
とであろう。このように、内容の様々なバージョンが保存され、かつ、内容の様
々なバージョンにタイムスタンプが付されうるので、開発者、編集者及び管理者
に対して、内容の様々なバージョンに戻る能力を付与することができる。 【0031】 例えば、内容は、見直し(review)のためにステージングエリアに提出されう
る。データの提出が発生すると、かかる内容に関連したメタデータは、施された
変更と元のバージョンとを区別するために、修正されうる。このように、様々な
バージョンが保存されまとめられる。スペースの節約のために、各バージョンか
ら、デルタ(deltas)のみ又は実際の更新が記憶されうる。これは、ウェブサイ
トを日単位(day-to-day)で操作する際に有用である。例えば、購入者による航
空券の注文先となりうるある航空会社は、様々な料金をオンラインで宣伝するで
あろう。料金を公表する際において、予定よりも著しく安い料金といったような
誤りが生じて、購入者が得をすることがありうる。よって、ウェブサイト管理者
は、以前のウェブサイトに戻って、あまりに低い料金で売ることによる資金の損
失を防止することができる。したがって、内容の古いバージョンを有しているこ
とは、特定のビジネスにとっては重要なこととなりうる。 【0032】 ワークエリアは、ウェブサイトが存在していなければ(この場合、このワーク
エリアは内容を有していないであろう)、最初はウェブサイト全体の仮想コピー
を含みうる。別言すれば、ワークエリアは、最初は、そのウェブサイトについて
示されたファイルシステムと同一の内容を有しうる。ワークエリアは、ウェブサ
イトについて開発者個人のビュー(view)を設け、このビューにおいてこの開発
者は、そのウェブサイトに対して寄稿することができる。例えば、ワークエリア
では、開発者は、ウェブサイトの内容を自由に追加、削除及び修正することがで
き、開発者による更新がウェブサイト全体のコンテキスト(context)にどのよ
うに適合するかを理解することができる。ワークエリアにおいて開発者によりな
された更新がは、ウェブサイト、又は、他のワークエリアにおける他の作成者の
作業に影響を与えないことが好ましい。これは、各ワークエリアが別々のファイ
ルシステムとして構成されうるからである。典型的には、ワークエリアは、1つ
以上のワークステーション102に設けられる。 【0033】 開発者は、この開発者のワークエリアの内容をステージングエリアに提出する
ことにより、ステージングエリアにおけるこの開発者の作業を統合しうる。この
動作は、内部配置(internal deployment)又は単に提出(submit)と呼ばれ、
この動作においては、データは、ウェブ内容のファイルバージョンを含んでいる
補助記憶に転送される。ステージングエリアは、ウェブサイトの共有されたビュ
ー(view)を提供する多数の開発者に利用可能なファイルシステムである。よっ
て、ステージングエリアは、様々な開発者のワークエリアの集合的な作成物(wo
rk)を保持することができ、かつ、これら開発者に対して該開発者による更新を
共有及び統合することを可能としうる。ステージングエリアでは、開発者は、該
開発者による更新がどのように適合するかを理解できる。ステージングエリアは
、典型的には、開発サーバ104に設けられる。本発明の一実施の形態によれば
、ワークエリアからステージングエリアに対する内容の提出に先行して、属性に
関連した内容に対する進行中の変化は、自動的に記憶されうるし、また、内容の
バージョンを保存するために、事象によって修正されうる。この動作は、ユーザ
にとって透明となるように実行されうるので、開発システムと同期して機能する
。コピーすることは、エリアがディレクトリツリー(directory trees)を共有
する「仮想的」とされているが、これらエリアは、このディレクトリツリーを物
理的にコピーする必要がないように構成される。ソフトウェアアプリケーション
の動作においては、ステージングエリアにおける集合的な作成物(work)は、様
々な作成者がワークエリアから新しい内容を提出するにつれて変化する。ワーク
エリアは、ステージングエリアにおける内容及びその他の情報が1つ以上の私用
の(private)ワークエリアに対して仮想的にコピーされたときに、最も効果を
発揮する。これは、作成者が内容の作成及び維持といったようなウェブサイトに
関連したタスクを実行している間、ステージングエリアに関して個々のワークエ
リアを最新の状態に保つことに役立つ。 【0034】 ステージングエリアにおける集合的な作成物(work)が最終的なものと考えら
れるときには、その作成物の内容は、ウェブサイトの版(edition)を作成する
ために公表されうる。本発明によれば、配置(deployment)は、特定の事象によ
って発生し、この配置の後には内容又はメタデータのいずれかを記憶することが
続く。このデータの検索及び保存は、本発明によれば、自動的かつ同期してなさ
れうる。これは、ステージングエリアの内容をエディションエリアに仮想的にコ
ピーすることにより実現されうる。版は、典型的には読込み専用のファイルシス
テムであるので、ウェブサイト全体の内容のフローズンスナップショット(froz
en snap-shot)である。ウェブサイトの開発における連続点(sequential point
s)で得られる各版は、アーカイブされ、かつ、すべての開発者にとってアクセ
ス可能なものとなりうるので、開発者は、ファイル及び全ディレクトリを即座に
呼出し、又は、ウェブサイトの過去のバージョン全体を再構築することができる
。例えば、版の内容は、ウェブサイトのさらなる開発のための基礎として用いら
れるように、ワークエリアに仮想的にコピーされうる。エディションエリアは、
典型的には、作成サーバ120に設けられる。本発明は、このデータの進行中の
変更の検索及び記憶を行うことによって、プロセス障害又はシステム障害の場合
に情報の仮想的なコピーがワークステーションで利用可能となっている。 【0035】 ウェブサイトの開発及び維持の作業が予測可能なかつ系統的な方法で進行する
ように、タスクは、ワークフロー(workflow)に従って割り当てられ実行され、
このワークフローは、当該分野では「ジョブ」としても知られている。ワークフ
ローの構成すなわちジョブは、実行しようとするタスクの計算された配列である
。この配列(arrangement)は、連続的(serial)順序により、互いに並列とな
るように、又は、連続的動作及び並列動作の組み合わせにより、実行されるタス
ク、を含みうる。ワークフローモデルは、繰り返し用いることが可能な、一般的
なワークフロー構成である。各ワークフローモデルは、ユーザタスクだけでなく
広範囲の様々な自動化された(automated)タスクをも含みうるプロセスを記述
する。ワークフローモデルは、典型的には、ビジネスマネージャによってデザイ
ンされ、システム管理者により構成される。本発明は、ワークフロー構成をシス
テム内で確立された基準(criteria)に従って構成しかつ管理することができる
能力を提供する。本発明の一実施の形態は、関連するメタデータ及び属性に従っ
て、様々なバージョンの内容についての進行中の変化を保存することに関し、こ
の関連するメタデータ及び属性は、この内容を含むファイルに関連している。 【0036】 図2を参照するに、ウェブサイト開発システムのブロック概略図が、ファイル
が作成及び維持される場所に関連した用語及び数字を用いて示されている。これ
らのファイルは、ウェブサイトの開発及び維持に関連した特定の結果を得るため
に、様々な方法により作成及び維持される。明らかなように、ウェブサイト内容
、内容を含むファイルの属性及びその他のデータの格納及び伝送の方法は、ウェ
ブサイトの効率的かつ便利な開発及び維持に重要となりうる。本発明は、様々な
バージョンの内容の進行中の変更を自動的にかつ開発及び維持アプリケーション
に同期して記憶することによってデータを有用に示すことを容易とすることによ
り、上記のみを実現するための方法及び装置に関する。図2に示すシステムでは
、第1ワークエリア202は、ファイル204を一時的に記憶するメモリを含む
。ファイル204は、ワークエリア202のユーザの寄稿先となるウェブサイト
の部分だけでなくそのユーザが施す更新をも定める。これらファイルは、このよ
うな寄稿に関連する内容及びファイル属性を含みうる。 【0037】 動作時において、ワークエリア202のユーザは、ウェブサイトに表れる最新
の(current)データのうちのいくつか又はすべてを含む1つ又は複数のファイ
ルをダウンロードしうる。このデータファイルは、内容、メタデータ、拡張型属
性(extended attributes)及び内容に関連したその他のデータを含みうる。こ
の内容は、ワークエリア内のユーザの作業による作成物(product)であり、メ
タデータは、その内容の使用を定めた、該内容に関連した情報であって、該内容
の意図した使用に従って該内容を類別するための能力をシステムに与える情報で
ある。拡張型属性は、ファイルに添付された情報であって、このファイルに含ま
れた情報を表すものである。このデータを用いることにより、本システムは、作
成日、ウェブサイトの場所、ワークエリアの場所、前回の使用日及びその他の情
報といった様々なパラメータに従って、複数のバージョンの内容を調べ、記憶し
かつまとめることができる。このデータの進行中の変更を特定の事象に従って保
存するので、開発アプリケーションは、自動的にかつユーザに透明となるように
内容に対する作業を実行することができる。ダウンロードされた1つ又は複数の
ファイルは、特定の時間に存在するので、ウェブサイトの一種の「スナップショ
ット(snapshot)」と考えられる。この後、ワークエリア202のユーザは、結
果としてこのウェブサイトのスナップショットに対する変更となる、1つ以上の
タスクを実行しうる。本発明によれば、このスナップショットに関する変更は、
ワークステーションで作業する開発者により変更がなされたときに、補助記憶に
自動的に記録されうる。進行中のデータの開発及び変更は、これらが生成される
間において保存され、この後、システム又はプロセスが復旧した後に検索及び普
及されうる。一実施の形態では、キャッシュメモリの内容は、メモリマップファ
イルに反映されるので、キャッシュデータについて冗長ロケーションが設けられ
る。障害の場合には、この反映されたキャッシュ情報が、ファイルからの復旧の
ために利用可能である。この余分のキャッシュロケーションは、キャッシュデー
タがディスク又はその他のメモリロケーションに記憶されるので、システムによ
り必要とされるときに、充填又はフラッシュされうる。よって、キャッシュデー
タを保存することが不要となる。 【0038】 図3を参照するに、本発明に従ってFailsafe(フェイルセーフ)(登録商標)
及びRecoveryアプリケーションのような展開(deploy)アプリケーションを使用
するシステムのブロック図が示されている。このような展開アプリケーションに
ついて、上述したウェブサイト開発及び維持方法に関連して説明する。本システ
ムは、モニタ704に接続されたワークエリアコンピュータ702を含み、この
モニタ704は、ユーザに対してデータを表示するためのディスプレイ706を
有する。ワークエリアコンピュータ702は、このコンピュータの内部動作(in
terworking)を制御するCPU708と、他の宛先に情報を送信するためのネッ
トワーク711に接続されたモデム710と、を含む。ワークエリアコンピュー
タ702は、さらに、頻繁に用いられるデータを記憶するキャッシュ712を含
む。CPU708に制御されるメモリ714については、従来のメモリとするこ
とができるし、また、ランダムアクセスメモリ(RAM)、動的ランダムアクセ
スメモリ(DRAM)、静的ランダムアクセスメモリ(SRAM)、又は、ディ
ジタルデータの記憶及び転送を行うように構成されたその他のメモリとすること
ができる。ワークエリアはまた、開発サーバの上に設けられたディレクトリの収
集物として定められうるので、独立した(separate)コンピュータではない。よ
って、ワークエリアは、開発コンピュータがアクセスする権限を有しているとい
う単なるファイルのセットとして定められうる。 【0039】 コンピュータ702が独立したコンピュータ上にあるのであれば、コンピュー
タ702は従来のコンピュータであるということ、及び、このコンピュータ70
2に対して様々な変更を施すことが可能であるということ、が明らかであろう。
メモリ714は、データを表示するために用いられるテンプレートを作成及び記
憶するテンプレートコードを含むワークエリアソフトウェアアプリケーション7
16を含む。これらのテンプレートは、ウェブサイトで用いられる表示を定める
ので、グラフィックユーザインターフェース(GUI)を有するユーザは、選択
されたテンプレートフォーマットで表示されたデータを読むことができる。また
、メモリ714に記憶されているのは、タプル(tuple)フォーマットでデータ
を記憶及び転送するためのデータタプルコード720である。また、ワークエリ
アコンピュータ702と通信するのは、ユーザが容易にアクセスするデータを記
憶する、選択的に用いられるデータベース722である。データは、選択的には
、データファイル723に記憶されうる。このデータファイル723は、ユーザ
に対して、データを記憶するための系統立てられた(organized)方法を付与す
る。ワークエリアコンピュータ702はまた、ユーザによるデータの入力を可能
とするキーボード724及びマウス726を含む。 【0040】 図3のウェブサイト構築システムは、さらに、サーバ730の内部動作(inte
r-workings)を制御するためのCPU732を有する開発サーバ730と、ネッ
トワーク712を用いてデータを転送するためのネットワーク712に接続され
たモデム734とを含む。サーバ730は、さらに、頻繁に用いられるデータを
記憶するためのキャッシュメモリ736と、従来方式のメモリ738とを含む。
よって、サーバ730が従来方式のサーバであるということ、及び、このサーバ
730に対して様々な変更を施すことが可能であることが、明らかであろう。進
行中のデータの開発及び変更は、これらが生成される間において保存され、この
後、システム又はプロセスが復旧した後に検索及び普及されうる。一実施の形態
では、キャッシュメモリの内容は、メモリマップ(memory-mapped)ファイルに
反映されるので、キャッシュデータについての冗長ロケーション(redundant lo
cation)を設けることができる。障害の場合には、キャッシュ712からキャッ
シュ736への反映されたキャッシュ情報は、ファイルからの復旧のために利用
可能である。このキャッシュ736は、メモリ738におけるソフトウェアにも
存在しうる。この余分のキャッシュロケーションは、キャッシュデータがディス
ク又はその他のメモリロケーションに記憶されるので、システムにより必要とさ
れるときに、充填又はフラッシュされうる。よって、キャッシュデータを保存す
ることが不要となる。メモリ738は、ウェブサイト上で用いるべきテンプレー
トを記憶及び作成するためのテンプレートコード740を含みうる。サーバ73
0は、さらに、タプルフォーマットでデータを記憶及び転送するためのタプルコ
ード742を含みうる。タプルコードについては、データを展開する(deploy)
するように構成されたソフトウェアアプリケーションとすることができる。さら
には、多数のワークエリアによるウェブサイトに対する寄与物(contributions
)をステージングするためのステージングアプリケーション744が含まれてい
る。ステージングアプリケーション744は、所定のテンプレートフォーマット
でウェブサイト上にデータを表示するためのテンプレートコード及びタプルコー
ドを形成することができる。また、ウェブサイトサーバ732によりアクセスさ
れるデータを記憶するための、選択的に用いられるデータエース746も含まれ
ている。また、ISP748が、ワークエリアコンピュータ702及びサーバ7
30に対して、インターネット、別の例としてネットワーク711を介してデー
タを交換することを可能とさせるために、図3のシステムに含まれている。デー
タ展開デーモン(daemon)752については、データを展開するように構成され
たソフトウェアアプリケーションとすることができる。 【0041】 本発明の一実施の形態は、電力障害のバイに、インターネットウェブサイト、
イントラネットサイト又はエキストラネットサイトの開発のためのシステムにお
いてなされた進行中の変更を復旧するための方法及び装置である。引き続き図3
を参照するに、かかるシステムが、Failsafe(登録商標)及びRecoveryアプリケ
ーションで実施されている。Failsafe(登録商標)のメカニズムは、システム障
害又はプロセス障害によって失われるかもしれないデータを保存するように構成
されている。Recoveryのメカニズムは、特定の状況下でのシステム又はプロセス
のダウン時間を防止又は低減するように構成されている。したがって、これら2
つのアプリケーションによって、ウェブサイト開発及び維持システムのようなシ
ステムは、失われるデータの量及びダウン時間を低減することができる。 【0042】 補助記憶メモリ754は、ユーザがウェブサイトを開発及び維持している間に
なされる進行中の変更を記憶するためのワークエリアメモリ714に含まれうる
。本発明によれば、補助記憶は、かかる変更がなされたときに動的に該変更を記
憶するように構成されているので、従来方式のデータの自動保存が発生する前で
あってもデータを保存することができる。補助記憶756は、同様の機能を実行
する、別のロケーションとしてのデータベース722に存在しうる。これに代え
て又はこれとともに、補助記憶758が、サーバ730に存在しうる。さらにこ
れに代えて、補助記憶760が、データベース746に存在しうる。いずれのロ
ケーションでも、補助記憶は、ワークエリアコンピュータ702において又はそ
の他のワークエリアコンピュータにおいて開発又は維持される進行中のデータを
記憶するように構成されうる。 【0043】 本発明の一実施の形態では、Recoveryアプリケーション762は、ウェブサイ
トサーバメモリ738に存在及び記憶される。復旧コードは、ウォッチドッグデ
ーモン(watchdog daemon)764を含み、このウォッチドッグデーモン764
は、かかるコードがCPU732により実行されたときに、サーバ730のよう
なサーバをモニタするように構成されたアプリケーションである。このようにモ
ニタすることには、特定のプロセスがサーバにおいて起動して実行しているかど
うかを調べることが含まれうる。障害の際には、又は、その他の状況では、ウォ
ッチドッグモニタは、復旧アプリケーションにおいて特定の機能をアクティブに
して、プロセスを復旧させる。このようにモニタすることには、電力障害及びそ
の他のシステム障害のような実際のサーバの機能を調べることも含まれうる。 【0044】 このような事象が発生した際には、システムのプロセス又はその他の障害が起
きたメカニズムを復旧させるために、復旧スクリプト(script)766が呼び出
されうる。補助記憶は、Failsafe(登録商標)ファイル(後述する)を検索する
ことにより復旧されうる。このFailsafe(登録商標)ファイルは、ワークエリア
でなされる進行中の変更を含んでおり、システムが従来方式の自動保存方法を用
いて上記変更を復旧させることができるようになる前になされた変更を含みうる
。従来方式のシステムでは、自動方法は、開発及び維持においてデータの変更が
発生したときに該データの変更を臨時にキャプチャ及び維持するために、周期的
に呼び出される。本発明によれば、データは、従来方式の記憶メカニズムの前で
あってもキャプチャ及び保存されうる。 【0045】 復旧スクリプト766はまた、本システム内で保存及び伝送されたデータを検
査(validate)するための特定の検査ツールを呼び出す。かかるツールは、復旧
されたデータが本システム内で有効であるかどうかを決定しうる。このようにデ
ータを検査することは、復旧されたデータを本システムで記憶及び利用すべきか
どうかを決定する際に役立ちうる。 【0046】 この復旧スクリプトは、プロセス障害又はシステム障害の場合に通知(notifi
cation)アプリケーションを呼び出しうる。通知スクリプトは、個人又はアプリ
ケーションに対して予め定められた通知を送信するように構成されうる。これら
個人又はアプリケーションもまた予め定められたものとすることができる。かか
る通知については、障害の発生を示す、特定の個人又はその他のアプリケーショ
ンに対する電子メール又はその他の通知の形式とすることができる。 【0047】 この復旧スクリプトは、再スタート(restart)スクリプトをも含みうる。こ
の再スタートスクリプトは、ウェブサイト開発及び維持アプリケーションといっ
たようなプロセスを再スタートさせる能力を含みうる。復旧スクリプトは、動作
を再開させることができるように、アプリケーションを再設定又は再構成するこ
とを含みうる。この再スタートスクリプトはまた、電力障害又はカーネル(kern
el)障害といったようなその他の障害の後に、サーバ730のようなシステムを
再スタートさせる能力をも含みうる。復旧スクリプトもまた、動作を再開させる
ことができるように、サーバを再設定又は再構成することを含みうる。 【0048】 復旧スクリプトはまた、障害の後にプロセス又はシステムを再構成するための
再構成スクリプトをも含む。この復旧スクリプトはまた、かかる障害の後に失わ
れたデータを復旧させるための能力を含む。復旧スクリプトはまた、システムが
アプリケーションのプロセス又はシステムの全体動作を復旧することを可能とし
、さらには、かかるシステムがアプリケーションでなされる進行中の変更を完全
に復旧することを可能としうる。 【0049】 引き続き図3を参照するに、メモリ738はまた、システム障害又はプロセス
障害の場合においてデータが失われることを低減するように構成された、Failsa
fe(登録商標)アプリケーションをも含みうる。Failsafe(登録商標)は、ウェ
ブサイトサーバの動作をモニタするように構成されたサーバモニタ770を含み
うる。このモニタは、ウェブサイトサーバが実行しているかどうか、該サーバが
障害を起こしているかどうか、その他の該サーバの動作状態を含む、サーバの状
態を調べるように構成されている。Failsafe(登録商標)はまた、第2のキャッ
シュメモリすなわちキャッシュキャッシュ(登録商標)をモニタするように構成
されている。キャッシュキャッシュについては、記憶のために指定されたメモリ
のエリアとすることができ、また、独立したメモリモジュールとすることができ
る。いずれの構成であっても、キャッシュキャッシュは、ワークエリア又はその
他のエリアでなされる進行中の変更を保存するために、システムのためのキャッ
シュメモリとして、システムキャッシュそのものとしても、機能しうる。キャッ
シュメモリの内容は、メモリマップ(memory-mapped)ファイルに反映されるの
で、キャッシュデータについての冗長ロケーション(redundant location)を設
けることができる。障害の場合には、上記反映されたキャッシュ情報が、ファイ
ルからの復旧のために利用可能である。この余分のキャッシュロケーションは、
キャッシュデータがディスク又はその他のメモリロケーションに記憶されるので
、システムにより必要とされるときに、充填又はフラッシュされうる。よって、
キャッシュデータを保存することが不要となる。 【0050】 特定の状況では、このキャッシュキャッシュをフラッシュすることは重要とな
りうる。例えば、メタデータは、進行中の変更と同様に、キャッシュキャッシュ
において保存されうる。メタデータにはエラーが含まれうるし、メタデータは、
古いものとなりうるし、又は、補助記憶又はその他のエリアにあるその他の関連
したデータとどういうわけか一致しないことがありうる。本発明によれば、CPU
は、キャッシュキャッシュに存在する不必要な又は有害なコードをフラッシュア
ウト(flush out)するために、フラッシュキャッシュコードを実行しうる。ま
た、いくつかのアプリケーションでは、キャッシュキャッシュをフラッシュしな
いことが有効となろう。かかるアプリケーションでは、アプリケーションにおけ
るかかるフラッシュを避けるために、禁止(disable)コード772が実行され
うる。 【0051】 本発明によれば、Failsafe(登録商標)は、ディスク書込み制御774をも含
み、このディスク書込み制御774は、キャッシュキャッシュからディスク又は
その他のメモリロケーションへの情報の書込みを制御及び管理するように構成さ
れている。この書込み制御は、宛先ロケーションにファイルを作成しかつキャッ
シュデータをそのロケーションに転送するように構成されうる。このように、Fa
ilsafeが呼び出されたときには、エリアからの、復旧された進行中の変更をキャ
プチャ及び利用するために、データが宛先に書き込まれうる。 【0052】 本発明の別の実施の形態では、復旧されたキャッシュキャッシュデータをファ
イルにマッピングするために、メモリマップファイルインターフェイス776が
含まれうる。Failsafeはまた、リンクしたリスト(linked memory)778のメ
モリを含み、このリンクしたリスト778は、Failsafeの復旧機能780におい
て用いられる。これらについては、図8に関連して示すデータ復旧機能を参照し
て後に詳述する。 【0053】 図4を参照するに、Failsafe800の実施の形態のさらにレベルの高いブロッ
ク図が示されている。ワークエリア802は、内容がウェブサイト又はその他の
アプリケーションを作成及び維持するためのウェブサイト内容であるか否かに関
係なく、この内容を作成及び維持するように構成されうる。本発明の動作時には
、キャッシュキャッシュ804は、補助記憶に関連したキャッシュメモリであり
うるが、ワークエリアからの、内容と、存在する内容に対する変更と、ファイル
の属性のようなメタデータとの進行中の作成物を、かかる変更がなされたときに
記憶するように、構成されている。プロセス障害又はシステム障害のような特定
の事象が発生した際には、キャッシュキャッシュに記憶されているデータは、補
助記憶806又は別のメモリ装置808に転送されうる。いずれのタイプの装置
であっても、特定のアプリケーションで使用されうる従来方式の方法によっては
保存されえない、作業からの進行中の変更を保存することが、1つの目的である
。 【0054】 図5を参照するに、本発明に係るFailsafeを用いるアプリケーションの一実施
の形態の動作が示されている。このアプリケーションについては、ワードプロセ
ッシングアプリケーション、ウェブサイト開発及び維持アプリケーション、又は
、内容若しくはメタデータについての進行中の変更を保存することが有益である
ようなその他のアプリケーションとすることができる。かかる特徴によれば、か
かるアプリケーションを実行するシステムにおいて、失われるデータを保存する
こと及びダウン時間から免れることができよう。工程902において、本システ
ムは、通常の動作を開始する。工程904において、ソフトウェアアプリケーシ
ョンは、その動作を開始する。工程906において、開発サーバモニタはその動
作を開始する。これには、サーバの動作をモニタすべく該サーバに対するモニタ
スレッド(monitoring thread)を作成することが伴う。工程908において、
ウェブサーバモニタは、サーバの動作をモニタすることを開始して、何らかのデ
ータが本アプリケーションにおいて変更されているかどうか及びいつ変更された
かを検出する。このモニタスレッドを用いて、開発サーバモニタは、工程910
において、本アプリケーションで何らかのデータが変更されたかどうかを決定し
うる。どのデータも変更されていない場合には、処理は工程908に戻り、この
工程においてシステムのモニタが継続する。これに対して、データが変更された
場合には、処理は工程912に進み、この工程912において、データがキャッ
シュキャッシュに書き込まれる。別の実施の形態では、データは、メモリマップ
ファイルインターフェイスを用いて補助記憶にマッピングされうる。 【0055】 いくつかのアプリケーションでは、データが一旦システムによってメモリに書
き込まれたら、キャッシュキャッシュからキャッシュキャッシュデータを除去す
ることが有利となりうる。これによって、古い又は役に立たないデータを用いる
ということを避けることができる。この状況では、データの保存は不要である。
というのは、データはディスク又はその他の安全な場所に保存されているからで
ある。本発明の一実施の形態では、一旦アプリケーションが内容の変更に関連し
たデータ又はその他のデータを書き込むと、キャッシュキャッシュは工程916
においてフラッシュされうる。 【0056】 Failsafeの動作もまた、システム障害が発生したかどうかを工程918におい
てモニタする。かかる障害は、ハードウェア障害又はソフトウェア障害の結果と
して起こりうるものである。かかる障害はまた、システムの内部で発生しうるプ
ロセス障害でありうる。システム障害が発生していなければ、処理は、システム
が依然として実行しているかどうかについて決定がなされる工程920に進む。
システムが実行している場合には、処理は、エラーが誤りであるということを検
出し、工程908におけるシステムをモニタすることに戻りうる。システムが実
行していない場合には、処理は、工程922に進んで、通常のシャットダウンが
起きたかどうかを決定する。ここでは、進行中のデータの変更を保存することは
必要でないであろう。通常のシャットダウンが起きていない場合には、キャッシ
ュキャッシュにおけるデータは必要でないであろうから、キャッシュキャッシュ
は工程926においてフラッシュアウトされ、本システムは工程928において
シャットダウンされる。 【0057】 しかしながら、サーバモニタが工程922において通常のシャットダウンが起
きていないと決定した場合には、処理は、工程918に戻り、システム障害が発
生したかどうかを決定する。工程918に戻ると、システム障害が発生した場合
には、本発明は、工程924においてデータを保存した後に工程930において
補助記憶に書き込む処理をさせる。この工程は、一旦かかる障害が検出されると
、保存されたデータをキャッシュキャッシュから補助記憶に持っていく。この後
、保存された進行中のデータの変更が利用されうる。これは、かかる状況ではデ
ータが失われうる従来技術に係るシステムとは対照的である。 【0058】 一旦システムが工程932において再スタートすると、進行中のデータを復旧
すべくFailsafeの復旧が工程934において開始されうる。この工程において、
工程930でキャッシュキャッシュから補助記憶に書き込まれたデータは、シス
テムによって復旧及び利用されうる。これで、ソフトウェアアプリケーションに
おけるデータに対する進行中の変更を保存及び復旧させる処理をすべての流れに
ついて説明した。この後、処理は、工程904に戻り、この工程904では、シ
ステムが再スタートした後にソフトウェアアプリケーションが再スタートして、
上述した処理が再度開始される。 【0059】 図6を参照するに、システム障害が本当に発生したのかどうかを確認するため
の処理がシステムフロー図に示されている。かかる処理は、図5を参照して、特
に工程918において説明したような処理で呼び出されうる。システム障害の確
認は、工程1002で始まった後に、工程1004に進む。この工程1004で
は、初期待ち時間がある。この待ち時間は、ディスク若しくはキャッシュフラッ
シュを起こすのに、又は、シャットダウン動作(activity)を起こすのに十分な
時間を付与するためのものである。かかる動作は、モニタスレッドがいくつかの
タイプのシステム異常が発生したということを示したかどうかに関係なく、シス
テム障害が発生していないということを示しうる。これら他の事象の1つが発生
した場合には、本システムは、システム障害が実際には起きていないと確信して
、次の工程に進む。工程1006におけるタイミングループによって一旦時間期
間が切れると、処理は、工程1008に進み、この工程1008では、Failsafe
ファイルが存在するかについて問合せがなされる。本発明の一実施の形態では、
Failsafeファイルが存在している場合にのみ、実際にシャットダウンがシステム
障害又はプロセス障害の結果として起こったということが示されうる。工程10
10において、かかる問合せがなされる。Failsafeファイルが存在する場合には
、このことによって、システム障害又はプロセス障害が発生したということが示
される。かかる場合には、処理は、工程1012に進む。この工程1012では
、Failsafeファイルの内容がディスク又はその他のメモリロケーションに転送さ
れる。このような転送に引続き、キャッシュキャッシュが工程1014において
フラッシュされうるので、他の進行中のデータがキャッシュキャッシュに記憶さ
れうる。この後、処理は、工程1016で終了するか、又は、図5の工程918
に続く工程に進む。工程1010を参照するに、Failsafeファイルが存在しない
場合には、本システムが依然としてアプリケーションとともに実行しているかど
うかについての最後のチェックが工程1018において存在する。これは、本シ
ステムが依然として動作しているかどうかを工程1020で問合せることにより
実現される。その答えが否であれば、これによって、システム障害又はプロセス
障害が発生したことが示されうる。上述したものと同様に、この後、処理は、工
程1012に進み、Failsafeファイルの内容をディスク又はその他のメモリ装置
に転送した後に、キャッシュキャッシュがフラッシュされる。しかしながら、本
システムが工程1020において依然として動作していると決定された場合には
、システム障害は発生しておらず、処理は、システム又は処理動作が再開する工
程1022に進み、この特定の処理が終了する工程1024に進む。 【0060】 図7を参照するに、Failsafe復旧のための処理が工程1102において開始さ
れる。この工程は、図5における工程934に対応し、障害が発生した後のシス
テムの再スタート後に開始される。工程1104において、本システムがエラー
に起因してシャットダウンされたかどうかを決定するために問合せがなされる。
本システムが実際にはエラーによってはシャットダウンされていないと決定され
た場合には、処理は、通常の動作が再開する工程1116に進む。しかしながら
、本システムが実際にシステムエラー又はプロセスエラーの結果としてシャット
ダウンした場合には、工程1106においてキャッシュファイルが検索される。
この後、キャッシュファイルが存在するかどうかの決定が工程1108において
なされる。この決定は、ファイルを検索しうるすべてのエリアを調べることによ
りなされる。この決定はまた、かかるファイルを識別する特定のフラグを検索す
ることにより、又は、システムにおいてかかるファイルを識別しうるその他の手
段により、なされうる。いずれの場合であっても、かかるファイルが存在しなけ
れば、復旧すべきデータは存在せず、処理は、システム動作又はプロセス動作を
再開すべく工程1116に進みうる。しかしながら、キャッシュキャッシュファ
イルが存在する場合には、処理は、工程1110に進み、この工程1110では
、キャッシュキャッシュデータは、かかるファイル又はデータロケーションから
検索される。この後、そのデータは、工程1112において、ディスク又はその
他のロケーションに書き込まれうる。この後、内容又はファイル属性が復元され
る工程1114において、復元(restoration)が実行されうる。これは、シス
テムがシャットダウンされる前に存在し、かつ、保存された後にこの復旧処理で
検索された、進行中の変更を復元することにより、なされうる。この後、処理又
はシステムは、復元されたデータを用いて、工程1116において動作を開始し
うる。 【0061】 補助記憶に対する書込み処理は、比較的ゆっくりと発生し、ワークエリアメモ
リに対する書込みと比較して著しいシステムリソースを必要としうる。よって、
ワークエリアメモリに記憶された変更は、周期的に補助記憶に提出されうる。電
力障害の場合には、ワークエリアメモリに記憶された変更であってまだ補助記憶
メモリによって記憶されていない変更を復旧することが望まれ、また、これらの
変更を補助記憶に対して書込むことが望まれる。 【0062】 Failsafeの一実施の形態では、インターネットウェブサイト、イントラネット
サイト又はエキストラネットサイトのためのシステムの電力を立ち上げる際には
、電力障害フラグがセットされる。本システムの通常の電力ダウンの際には、そ
のフラグはリセットされる。加えて、本システムの通常の電力ダウンの際には、
ワークエリアメモリの内容は、補助記憶に書き込まれる。しかしながら、電力障
害の場合のような異常な電力ダウンの際には、そのフラグはリセットされない。
典型的には、本システムの異常な電力ダウンの際には、ワークエリアメモリに記
憶された変更は、補助記憶に記憶されていないであろう。 【0063】 本システムの次の電力ダウンの際には、電力障害フラグは、通常の電力ダウン
が発生したかどうかを示す。よって、電力障害フラグは、本システムの電力を立
ち上げる度に調べられる。このフラグが電力障害が発生したことを示す場合には
、これによって、ワークエリアメモリから変更を復旧すべきことが示される。 【0064】 このプログラムは、ワークエリアメモリに記憶されたデータであって電力障害
の前に補助記憶に書き込まれていないデータを復旧する。よって、本システムの
電力を立ち上げる際には、電力障害フラグがセットされていると決定された場合
には、本システムが通常の動作を再開する前にFailsafeが実行される。本システ
ムの通常動作のリザンプション(resumption)は、本明細書でサーバと呼んでい
るソフトウェアプログラムを実行することにより、実現される。 【0065】 Failsafe(登録商標)は、ウェブサーバが再スタートされる前に実行されうる
。Failsafeのジョブは、サーバ障害又はシステム障害時に補助記憶に含まれてい
た情報を書き込むことである。「ポイント(points)」とは、UNIX(登録商
標)ベースのシステムに関連して用いられる当該分野における専門用語である。
このポイントは、例えばファイル、ブランチ(branch)又はディレクトリといっ
たファイルエンティティ(entity)を表す。これらのエンティティは、変更され
、又は、ワークエリアにおけるソフトウェアアプリケーションにより作業が施さ
れる際に変化する。ポイントが補助記憶メモリに書き込まれる前に一旦何らかの
方法で変更されると、本明細書で「汚いポイント(dirty point)」と呼ばれる
ものになる。汚いポイントは、一旦補助記憶メモリに書き込まれると、このポイ
ントは、本明細書で「きれいなポイント(clear point)」と呼ばれるものにな
る。したがって、Failsafeプログラムの目的は、電力障害の後に残された汚いポ
イントをきれいなポイントに変換することである。 【0066】 図8を参照するに、本発明に係るFailsafe(登録商標)アプリケーションの別
の実施の形態が、別のフロー図の形式で示されている。第1の工程1202にお
いて、実行ファイルが、アプリケーションのための進行中の変更を記憶するため
に作成されうる。かかるファイルは、好ましくは、キャッシュキャッシュに記憶
され、このキャッシュキャッシュには、システム障害若しくはプロセス障害又は
異常なシャットダウンの場合に進行中の変更が保存される。工程1204におい
て、補助記憶キャッシュのイメージを含んだファイルが開かれうる。補助記憶キ
ャッシュについては、キャッシュキャッシュとすることができ、又は、アプリケ
ーションから進行中の変更が記憶されるエリアとすることができる。この後、工
程1206において、ファイルからデータが読み込まれる。このファイルの最初
の4096程度のバイトが、通常の読み書きシステムコールを用いて読み込まれ
うる。本発明によれば、ファイルの最初のブロックは、メモリイメージに含まれ
たデータの「型(shape)」に関連する情報を含んでいる。かかるファイルは、
データのメモリイメージがサーバ処理のコンテキスト(context)の間において
存在したメモリアドレス(ベースメモリアドレス)のレコードと、ファイルシス
テム及びワークフローキャッシュからの汚いポイントについての2つのリンクさ
れたリストの始めを示すポインタ(メモリアドレス)と、を含みうる。処理は、
工程1208においてベースメモリアドレスを読み込み、工程1210において
オぺレーティングシステムのメモリマップファイルインターフェイスを用いてフ
ァイルをメモリにマッピングする。ファイルに現時点で含まれているイメージは
、サーバプロセスのコンテキストで実行されている間において有していたものと
同一の「型」を有している。この時点から、ファイルに含まれたイメージを、こ
れが依然としてサーバにあるかのように扱うことが可能となる。特に、上記リン
クされたリストを形成するポインタを、メモリ参照エラーを引き起こすことなく
、デリファレンス(de-reference)することができる。 【0067】 次の工程1212において、本システムは、リンクされたリストにおける次の
要素を読み込み、工程1214において正確性(accuracy)のための要素をチェ
ックしうる。これは、処理対象となっているノードのデータからのチェックサム
を他のノードのチェックサムと比較することにより、なされる。次に、ノードが
有効であるかどうかの問合せがなされる。有効である場合には、次のリンクされ
たリストが読み込まれる。次の要素がリストの終わりである場合には、処理は、
工程1212に戻り、上述した工程1218における次のリンクリストが読み込
まれた後の処理を繰り返す。リンクされたリストの要素は、リストにおける次の
要素に対するポインタ、関連するデータに対するポインタ、この要素により示さ
れるポイント数値IDのレコード、及び、このノードに含まれたデータのチェッ
クサムのうち1つを含みうる。ノードが本当に有効である場合には、工程122
0において処理が続けられる。正確性をチェックすることは、現在処理されてい
るノードに含まれたデータから新しいチェックサムを発生させること、及び、こ
の新しいチェックサムをそのノードから読み込んだチェックサムと比較すること
を含む。両方のチェックサムが等しい場合には、そのノードは有効であると考え
られる。 【0068】 次の工程1222において、現在処理されているノードにより参照されるデー
タが読み込まれる。ここで、このデータの部分は、「データブロッブ(data blo
b)」と呼ばれ、工程1224において正確性のためにチェックされる。ブロッ
ブは、このブロッブに含まれたデータのチェックサム、このブロッブに含まれた
データに対するポインタ、又は、このブロッブに含まれたデータのサイズの指示
を含みうる。この後、工程1226において、ブロッブが有効であるかどうかが
決定される。正確性をチェックすることは、現在処理されているブロッブに含ま
れたデータから新しいチェックサムを発生させること、及び、この新しいチェッ
クサムをブロッブから読み込んだチェックサムと比較することを含む。両方のチ
ェックサムが等しい場合には、そのブロッブは有効であると考えられる。ブロッ
ブが有効である場合には、本システムは、工程1228においてデータをディス
クに書き込む。一実施の形態では、本システムは、第2のリンクされたリストに
おけるデータについて上記工程を繰り返しうる。上記リンクされたリストの最後
までまだ到達していない場合には、処理は、工程1212に進んで、上記工程を
繰り返す。一旦上記リストの最後にまで到達すると、処理は終了して工程123
2に進む。 【0069】 一つの好ましい実施の形態では、工程1216が失敗すると、エラー復旧工程
が実行されうる。具体的には、上記リストの次の要素に対するポインタの有効性
が正確性のためにチェックされうる。そのポインタがメモリマップイメージの最
初と該メモリマップイメージの最後との間にある場合には、そのポインタをデリ
ファレンスしかつ次のノードを用いた処理を継続させるための試みがなされうる
。 【0070】 もっと複雑なエラー復旧方式は、上記リストにおける各要素と、各ブロッブと
、についての「署名(signature)」を含むものである。この場合にすべてが失
敗すれば、これらの署名を探すファイルが読み込まれ、1つが見つかった場合に
は、結果として得られるデータアイテムは、正確性のためにチェックされ、それ
が有効であれば処理される。一般的な方法としては、上記リストの最後を0とい
うメモリアドレスを用いて示す。このメモリアドレスは、たいていのシステムに
おいて無効のメモリアドレスであるとされている。 【0071】 上述した実施例では、上記リンクされたリストにおける各要素は、この要素に
関連した第2のポインタを有している。このポインタは、上記リンクされたリス
トにおけるノードにより表現されるポイントに関連したデータの「ブロッブ」を
いう。ポイントに関する情報をレコードするために、様々なデータ構造を用いる
ことができる。一実施の形態では、Bツリー(B-Tree)によれば、リストよりも
有用なルックアップ(lookup)性能が得られるが、挿入コストはリストよりも高
くなるかもしれない。 【0072】 本発明の別の実施の形態は、システム障害又はプロセス障害後のサーバにおけ
るダウン時間を低減する能力を含む。図3を参照して上述した復旧762は、C
PUにより実行された際にプロセス動作又はシステム動作を復旧させるべく特定
の動作を実行することが可能なソフトウェアアプリケーションとして、構成され
うる。この後、復旧は、特定の機能を実行することにより、かかる障害に応答す
る。上述したFailsafeがプロセス障害又はシステム障害の後に進行中のデータを
保存及び復旧させるように構成されうる一方、復旧は、かかる障害の後に実際の
システム又はプロセスを復旧させるように動作する。図9を参照するに、かかる
システムの動作を示すフロー図が示されている。 【0073】 処理は、工程1302において開始する。この工程1302では、ウォッチデ
ーモンが、開始されて動作を開始する。このデーモンは、独立したサーバであり
うるし、又は、処理ソフトウェアアプリケーション(例えばウェブサイト開発及
び維持アプリケーション)が実行されるサーバにおいて実行するアプリケーショ
ンでありうる。いずれの構成においても、復旧は、システム障害又はプロセス障
害を検出するべくサーバの動作をモニタするように構成されたウォッチドッグデ
ーモンを含む。最初のスタートアップ後、工程1304で実行されているように
、前回のシャットダウンが通常のシャットダウンであるかどうかを決定すること
が有用でありうる。この動作は、サーバが工程1306において開始される前で
あっても、本システムにより実行される最初の動作となりうる。このように、サ
ーバは、該サーバが最初にスタートアップされたときからモニタされうる。前回
のシャットダウンが通常のものであったと決定された場合には、サーバは、工程
1306において開始され、サーバば動作している間においてモニタが続けられ
うる。 【0074】 しかしながら、前回のシャットダウンが、例えばプロセス障害又はシステム障
害が発生したときのように通常のものでないと決定された場合には、工程131
0において、電力障害診断が実行される。この電力障害診断は、プロセス又はシ
ステムが、かかるプロセス又はシステムを作動不能にする又は欠陥を生じさせう
る何らかの残余欠陥(residual defect)を有するかどうかを調べるように構成
されうる。かかる手順は、システム障害が実際に発生したかどうかの確認がなさ
れる図6を参照して上述したものに類似しうる。診断がうまくいかない場合には
、ウォッチドッグサーバが工程1312において停止される。この時点において
、障害を示すために、障害メッセージ又はその他の通知が発生されうる。かかる
通知は、かかる障害が発生したというシステムワイドの通知、又は、かかる障害
に対する応答に責任のある特定の人員に送信すべきメッセージを含みうる。 【0075】 診断がうまくいけば、サーバは、工程1306において開始されうる。次に、
処理が工程1304又は1310から進もうとも、サーバは、依然として、ウォ
ッチドッグサーバによりウォッチされるか、又は、工程1314において、デー
モンは、サーバが実行しているかどうかを問い合わせる。工程1314において
、サーバが実行していると決定された場合には、ウォッチドッグデーモンは、工
程1316においてサーバをモニタし続け、あるいは、サーバが依然として実行
しているかどうかを何度も問い合わせしうる。ウォッチドッグデーモンは、サー
バがもはや実行していないと決定した場合には、処理は、工程1318に進み、
プロセス障害診断を実行する。この工程は、プロセス又はシステムがかかるプロ
セス又はシステムを作動不能にする又は欠陥を生じさせうる何らかの残余欠陥(
residual defect)を有するかどうかを決定する。かかる手順は、システム障害
が実際に発生したかどうかの確認がなされる図6を参照して上述したものに類似
しうる。診断がうまくいった場合には、後に続く工程は、動作しているサーバプ
ラットフォームのタイプに依存しうる。本システムがSolaris(ソラリス)(登
録商標)である場合には、処理は、工程1306に進み、サーバが再度開始され
る。本システムがWindows NT(登録商標)システムである場合には、
処理は、工程1322において、ウォッチドッグサーバ又はデーモンを停止しう
る。いずれのシステムであっても、診断がうまくいかない場合には、処理は工程
1322に進んでウォッチドッグサーバ又はデーモンを停止する。その他の診断
もまた、かかるウォッチドッグシステムにおいて実行されうるし、アプリケーシ
ョンに従って変化しうる。しかしながら、本発明は、かかる変化した診断に限定
されないし、その他の等価となるような変更を含むものである。 【0076】 図10を参照するに、ウォッチドッグサーバ又はデーモンの一実施の形態が図
示されている。ウォッチドッグサーバ1402は、ウェブサイトサーバ1404
と通信し、ウォッチドッグサーバ又はデーモンによるサーバのモニタを可能とす
るように構成されたモニタアプリケーション1406を含む。サーバはまた、残
余問題を含んだ電力障害問題を診断するための診断を含む電力障害アプリケーシ
ョン1408をも含む。発生しうる残余問題を含んだプロセス障害問題を診断す
るための診断を含んだプロセス障害アプリケーション1410もまた、含まれる
。ウォッチドッグサーバには、その他の障害タイプのアプリケーション1412
及び関連する診断もまた含まれうる。 【0077】 本発明は、基本的には、専用プロセッサと、ブラウザによる要求を受信及びル
ーティングするよう構成されたウェブサーバと、アプリケーションサーバと、状
態サーバと、互いに通信しかつローカルエリアネットワーク(LAN)、イント
ラネット及びインターネットを含む1つ以上のネットワークに接続されうるよう
構成されたその他のタイプのコンピュータプロセッサと、を含む。しかしながら
、かかる装置及びシステムのかかる実施例は、本発明の利用例にしか過ぎず、本
発明は、1つ以上のネットワーク内でデータを効率的にルーティング及び処理す
るような多くのその他のアプリケーションにおいてより優れた適用性及び利用性
を有しうるということを、当業者にはわかるであろう。本発明を実施する等価な
構造は、本発明の思想及び範囲を逸脱することなく、かかるアプリケーションに
ついて構成されうる。コンピュータシステム又はネットワークにおける複数ユー
ザの間においてデータを交換するための装置及びシステムというコンテキストに
よって、本実施の形態を説明してきたが、本発明は、同様な特徴が有用であるよ
うなその他のアプリケーションにも適用可能なものである。本発明は、パーソナ
ルコンピュータと、アプリケーションサーバと、状態サーバと、デザインされか
つコンピュータ上で実行されるインターネットウェブサーバであって、本発明を
実行するためにその他のコンピュータと通信するためのネットワークに接続され
うるインターネットウェブサーバと、を含みうる。本発明に従って動作するよう
構成されたシステムは、個別モデムを介して、又は、ワイヤレス通信のようなそ
の他の通信手段を介して、インターネットに接続された複数のパーソナルコンピ
ュータを含みうる。 【0078】 本発明は、マイクロプロセッサのようなコンピュータプロセッサにより実行さ
れる多数の機能をも含みうる。このマイクロプロセッサは、専門又は専用のマイ
クロプロセッサであって、特定のタスクを定める、機械により読み込み可能なソ
フトウェアコードを実行することによりこの特定のタスクを実行するよう構成さ
れたマイクロプロセッサでありうる。このマイクロプロセッサはまた、直接メモ
リアクセスモジュール、メモリ記憶装置、インターネット関連ハードウェアのよ
うなその他の装置、及び、本発明に従ったデータ伝送に関連したその他の装置、
とともに動作しかつ該装置と通信するように構成されうる。ソフトウェアコード
は、Java(登録商標)、C++、XML(拡張可能なマーク付け言語)、及
び、本発明に関連する機能動作を実行することが必要とされる装置の動作に関連
した機能を定めるのに用いられうるその他の言語を用いて、構成されうる。この
コードは、様々な形式及びスタイルで書かれ、これらの多くは、当業者にとって
既知なものである。ソフトウェアプログラムの様々なコードフォーマット、コー
ド構成、スタイル及び形式、並びに、本発明に係るマイクロプロセッサの動作を
定めるためにコードを構成するためのその他の手段は、本発明の思想及び範囲か
ら逸脱しないし、これについては別記の請求項によって特定される。 【0079】 本発明を利用する、コンピュータサーバのような様々なタイプのコンピュータ
内には、本発明に係る機能を実行する一方で情報を記憶及び検索するための様々
なメモリ装置が存在する。キャッシュメモリ装置は、頻繁に記憶及び検索される
情報についての便利な記憶ロケーションとして中央処理装置により使用されるた
めに、かかるコンピュータに含まれることが多い。同様に、持続性メモリもまた
、中央処理装置により頻繁に検索はされる情報ではあるが、キャッシュメモリと
は異なり持続性メモリ内であまり変更されない情報を維持するために、かかるコ
ンピュータについて頻繁に用いられる。データと、中央処理装置により実行され
たときに本発明に係る機能を実行するよう構成されたソフトウェアアプリケーシ
ョンと、のような多量の情報を記憶および検索するために、通常、メインメモリ
も含まれる。これらメモリ装置は、ランダムアクセスメモリ(RAM)、静的ラ
ンダムアクセスメモリ(SRAM)、動的ランダムアクセスメモリ(DRAM)
、フラッシュメモリ、及び、情報を記憶及び検索すべく中央処理装置によりアク
セスされうるその他のメモリ記憶装置として、構成されうる。本発明は、特定タ
イプのメモリ装置にも、これらのメモリ装置との間で情報を記憶及び検索するた
めの通常用いられるプロトコルにも限定されない。 【0080】 本発明に係る装置及び方法は、ソフトウェアアプリケーションの動作内でデー
タを自動的に展開しかつ該動作に同期する方法及び装置を含む。インターネット
ウェブサイトを開発するためのソフトウェアアプリケーションのコンテキストに
おいて本実施の形態を説明してきたが、本発明の範囲は、データソース又は宛先
がのいずれかにおいてデータを保存することが有益であるようなその他のアプリ
ケーションをも含む。さらには、ここまでは、本発明の特定の実施の形態を参照
して説明してきたが、これら特定の実施の形態は本発明を説明するに過ぎないも
のであり、本発明の原理から逸脱することなくこれらの実施の形態に対して変更
を施すことが可能である、ということが明らかであり、本発明の範囲は、本発明
に基づく優先権を主張した後の実用新案登録出願において定められる。 【図面の簡単な説明】 【図1】 図1は、本発明に係るウェブサイト開発のためのコンピュータネットワークシ
ステムを示す。 【図2】 図2は、本発明に係る開発システムを示す。 【図3】 図3は、本発明に係るワークエリアコンピュータ及び開発サーバを示す。 【図4】 図4は、本発明に係る進行中のデータを保存するためのFailsafe技術に用いら
れる構成要素の概略ブロック図である。 【図5】 図5は、本発明に係るFailsafe技術の動作についてのフロー図を示す。 【図6】 図6は、システム障害が本当に発生したかどうかを確認するための本発明に係
るフロー図を示す。 【図7】 図7は、本発明に係る進行中のデータの復旧を実行するためのフロー図を示す
。 【図8】 図8は、本発明に係るFailsafe技術の動作の別の実施の形態についてのフロー
図を示す。 【図9】 図9は、本発明に係るシステム復旧技術の動作についてのフロー図を示す。 【図10】 図10は、本発明に係るシステム復旧のために用いられる構成要素の概略ブロ
ック図を示す。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,LS,MW,MZ,SD,SL,SZ,TZ ,UG,ZW),EA(AM,AZ,BY,KG,KZ, MD,RU,TJ,TM),AE,AG,AL,AM, AT,AU,AZ,BA,BB,BG,BR,BY,B Z,CA,CH,CN,CR,CU,CZ,DE,DK ,DM,DZ,EE,ES,FI,GB,GD,GE, GH,GM,HR,HU,ID,IL,IN,IS,J P,KE,KG,KP,KR,KZ,LC,LK,LR ,LS,LT,LU,LV,MA,MD,MG,MK, MN,MW,MX,MZ,NO,NZ,PL,PT,R O,RU,SD,SE,SG,SI,SK,SL,TJ ,TM,TR,TT,TZ,UA,UG,US,UZ, VN,YU,ZA,ZW (72)発明者 ジア ジャック アメリカ合衆国 カリフォルニア州 94089 サニーヴェイル イレヴンス ア ベニュー 803 (72)発明者 パーク ブリット アメリカ合衆国 カリフォルニア州 94089 サニーヴェイル イレヴンス ア ベニュー 803 (72)発明者 サリー ジョン アメリカ合衆国 カリフォルニア州 94089 サニーヴェイル イレヴンス ア ベニュー 803 Fターム(参考) 5B018 GA04 HA04 KA22 MA03 5B082 DE06 FA12 HA08

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 内容の開発のためのシステムにおいて形成されたときの進行
    中の開発及び変更をプロセス障害又はシステム障害の場合に保存及び復旧するこ
    とを可能とするように構成された方法及び装置であって、 進行中のデータの開発及び変更をこれらが形成される間において検索し、かつ
    、これらをキャッシュメモリに記憶する工程と、 キャッシュメモリの内容をメモリマップファイルにコピーして、キャッシュデ
    ータについて冗長ロケーションを設ける工程と、 障害の場合に、前記キャッシュの情報をファイルから復旧する工程と、システ
    ムにより必要とされたときに前記メモリマップファイルから前記メモリのロケー
    ションをフラッシュする工程と、かかる障害の後に実際にプロセス又はシステム
    を復旧及び再開始する工程と、 を具備することを特徴とする方法及び装置。
JP2001569632A 2000-03-22 2001-03-22 ソフトウェアアプリケーションにおいてなされた進行中の変更を復旧するための方法及び装置 Pending JP2003528392A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US19224400P 2000-03-22 2000-03-22
US60/192,244 2000-03-22
PCT/US2001/009259 WO2001071508A1 (en) 2000-03-22 2001-03-22 Method of and apparatus for recovery of in-progress changes made in a software application

Publications (1)

Publication Number Publication Date
JP2003528392A true JP2003528392A (ja) 2003-09-24

Family

ID=22708854

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001569626A Pending JP2003528391A (ja) 2000-03-22 2001-03-22 ファイルコンテンツの追加的なコピーを記憶する必要無しに、ファイル属性への変更を記憶するための方法及び装置
JP2001569632A Pending JP2003528392A (ja) 2000-03-22 2001-03-22 ソフトウェアアプリケーションにおいてなされた進行中の変更を復旧するための方法及び装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2001569626A Pending JP2003528391A (ja) 2000-03-22 2001-03-22 ファイルコンテンツの追加的なコピーを記憶する必要無しに、ファイル属性への変更を記憶するための方法及び装置

Country Status (6)

Country Link
US (3) US6480944B2 (ja)
EP (2) EP1266292A4 (ja)
JP (2) JP2003528391A (ja)
AU (2) AU2001250942A1 (ja)
CA (2) CA2402933C (ja)
WO (2) WO2001071508A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231723A (ja) * 2009-03-30 2010-10-14 Nec Computertechno Ltd マルチプロセッサシステム、ノードコントローラ、障害回復方式

Families Citing this family (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765556B2 (en) * 2002-03-01 2010-07-27 Sap Ag Intelligent and event-based data population
JP2001166993A (ja) * 1999-12-13 2001-06-22 Hitachi Ltd 記憶制御装置およびキャッシュメモリの制御方法
WO2001071508A1 (en) * 2000-03-22 2001-09-27 Interwoven Inc. Method of and apparatus for recovery of in-progress changes made in a software application
US6640317B1 (en) * 2000-04-20 2003-10-28 International Business Machines Corporation Mechanism for automated generic application damage detection and repair in strongly encapsulated application
US7657887B2 (en) 2000-05-17 2010-02-02 Interwoven, Inc. System for transactionally deploying content across multiple machines
TWI221581B (en) * 2000-06-08 2004-10-01 Steptech Inc Method for embedding operating system and application program in memory device
US7165088B2 (en) * 2001-01-24 2007-01-16 Microsoft Corporation System and method for incremental and reversible data migration and feature deployment
US6684293B1 (en) * 2001-03-27 2004-01-27 Novell, Inc. Methods and computer readable media for preserving unique critical information during data imaging
US6820216B2 (en) * 2001-03-30 2004-11-16 Transmeta Corporation Method and apparatus for accelerating fault handling
US6829719B2 (en) 2001-03-30 2004-12-07 Transmeta Corporation Method and apparatus for handling nested faults
US6922796B1 (en) * 2001-04-11 2005-07-26 Sun Microsystems, Inc. Method and apparatus for performing failure recovery in a Java platform
US6728854B2 (en) * 2001-05-15 2004-04-27 Microsoft Corporation System and method for providing transaction management for a data storage space
US20050160088A1 (en) * 2001-05-17 2005-07-21 Todd Scallan System and method for metadata-based distribution of content
EP1267526A1 (de) * 2001-06-15 2002-12-18 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Verfahren und Vorrichtung zur Speicherung verketteter Listen
US6948038B2 (en) * 2001-07-24 2005-09-20 Microsoft Corporation System and method for backing up and restoring data
US7761449B2 (en) * 2001-08-09 2010-07-20 Hewlett-Packard Development Company, L.P. Self-disentangling data storage technique
US7188150B2 (en) * 2001-08-21 2007-03-06 International Business Machines Corporation System and method for sharing, searching, and retrieving web-based educational resources
US6799172B2 (en) * 2001-08-28 2004-09-28 International Business Machines Corporation Method and system for removal of resource manager affinity during restart in a transaction processing system
US20040039891A1 (en) * 2001-08-31 2004-02-26 Arkivio, Inc. Optimizing storage capacity utilization based upon data storage costs
US20040054656A1 (en) * 2001-08-31 2004-03-18 Arkivio, Inc. Techniques for balancing capacity utilization in a storage environment
US7092977B2 (en) * 2001-08-31 2006-08-15 Arkivio, Inc. Techniques for storing data based upon storage policies
JP2005503616A (ja) * 2001-08-31 2005-02-03 アルキヴィオ・インコーポレーテッド データの内容と属性に基づいてデータをリストアする技法
JP2003108603A (ja) * 2001-10-02 2003-04-11 Hitachi Ltd 設計支援装置、設計支援方法、設計支援記憶媒体および設計支援プログラム
CN1591405A (zh) * 2001-11-09 2005-03-09 无锡永中科技有限公司 版本兼容的数据处理系统
US6931571B2 (en) * 2001-11-20 2005-08-16 Hewlett-Packard Development Company, L.P. Method and apparatus for handling transient memory errors
US20030115204A1 (en) * 2001-12-14 2003-06-19 Arkivio, Inc. Structure of policy information for storage, network and data management applications
CA2365372A1 (en) * 2001-12-18 2003-06-18 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for editing a production data store by shadowing content
US7031085B2 (en) 2002-01-16 2006-04-18 Seagate Technology Llc Version tracking of disk write operations
US20040078681A1 (en) * 2002-01-24 2004-04-22 Nick Ramirez Architecture for high availability using system management mode driven monitoring and communications
JP4300738B2 (ja) * 2002-03-04 2009-07-22 ヤマハ株式会社 電子機器
JP3626741B2 (ja) * 2002-04-16 2005-03-09 オリオン電機株式会社 データ転送システム
US7162714B2 (en) * 2002-05-22 2007-01-09 American Power Conversion Corporation Software-based watchdog method and apparatus
US7028058B2 (en) * 2002-05-23 2006-04-11 Hewlett-Packard Development Company, L.P. System and method for preserving metadata in an electronic image file
US20040083202A1 (en) * 2002-08-30 2004-04-29 Arkivio, Inc. Techniques to control recalls in storage management applications
US7392268B2 (en) * 2002-09-19 2008-06-24 The Generations Network, Inc. Systems and methods for partitioning data on multiple servers
KR100453060B1 (ko) * 2002-11-15 2004-10-15 삼성전자주식회사 MPV(MultiPhotoVideo) 환경하에서자산이 위치하는 경로와 파일 이름을 나타내는 라스트유알엘 복구 방법
US20040163029A1 (en) * 2002-12-02 2004-08-19 Arkivio, Inc. Data recovery techniques in storage systems
JP3944449B2 (ja) * 2002-12-19 2007-07-11 株式会社日立製作所 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法
US8726075B1 (en) * 2003-02-14 2014-05-13 At&T Intellectual Property Ii, L.P. Method and apparatus for screenshot archiving to digital video disk (DVD)
GB0305828D0 (en) * 2003-03-14 2003-04-16 Ibm Real time xml data update identification
US7568003B2 (en) * 2003-03-28 2009-07-28 Microsoft Corporation Publishing interface for publishing content from a content-authoring application to a content server
US20050021566A1 (en) * 2003-05-30 2005-01-27 Arkivio, Inc. Techniques for facilitating backup and restore of migrated files
US20050015409A1 (en) * 2003-05-30 2005-01-20 Arkivio, Inc. Techniques for performing operations on migrated files without recalling data
KR100608613B1 (ko) 2003-06-04 2006-08-03 삼성전자주식회사 오디오 랜디션 제공 방법 및 이를 이용한 저장 매체
US20050044531A1 (en) * 2003-06-09 2005-02-24 Erc-Ip, Llc Methods and systems for deploying computer source code
US20050015762A1 (en) * 2003-06-09 2005-01-20 Steckler Steven James Methods and systems for deploying computer source code
WO2005001646A2 (en) * 2003-06-25 2005-01-06 Arkivio, Inc. Techniques for performing policy automated operations
US7401092B2 (en) 2003-06-26 2008-07-15 Standbysoft Llc Method and apparatus for exchanging sub-hierarchical structures within a hierarchical file system
US7028156B1 (en) 2003-07-01 2006-04-11 Veritas Operating Corporation Use of read data tracking and caching to recover from data corruption
US7028139B1 (en) 2003-07-03 2006-04-11 Veritas Operating Corporation Application-assisted recovery from data corruption in parity RAID storage using successive re-reads
US7529782B2 (en) 2003-11-13 2009-05-05 Commvault Systems, Inc. System and method for performing a snapshot and for restoring data
JP2008502953A (ja) * 2003-11-17 2008-01-31 ヴァージニア テック インテレクチュアル プロパティーズ,インコーポレイテッド 分散システムにおけるトランスペアレントなチェックポインティング及びプロセス移行
US20050193246A1 (en) * 2004-02-19 2005-09-01 Marconi Communications, Inc. Method, apparatus and software for preventing switch failures in the presence of faults
US7421562B2 (en) * 2004-03-01 2008-09-02 Sybase, Inc. Database system providing methodology for extended memory support
US7353241B2 (en) * 2004-03-24 2008-04-01 Microsoft Corporation Method, medium and system for recovering data using a timeline-based computing environment
US8223653B2 (en) * 2004-04-05 2012-07-17 Ixia Broadcast capable file system
EP1596262B1 (de) * 2004-05-10 2007-04-11 Siemens Aktiengesellschaft Sicherheitsgerichtete Übertragung von Daten
US20050256859A1 (en) * 2004-05-13 2005-11-17 Internation Business Machines Corporation System, application and method of providing application programs continued access to frozen file systems
US7353242B2 (en) 2004-07-09 2008-04-01 Hitachi, Ltd. File server for long term data archive
US7392458B2 (en) * 2004-11-19 2008-06-24 International Business Machines Corporation Method and system for enhanced error identification with disk array parity checking
US7392428B2 (en) * 2004-11-19 2008-06-24 International Business Machines Corporation Method and system for recovering from abnormal interruption of a parity update operation in a disk array system
US20060123271A1 (en) * 2004-11-19 2006-06-08 International Business Machines Corporation RAID environment incorporating hardware-based finite field multiplier for on-the-fly XOR
US7290199B2 (en) * 2004-11-19 2007-10-30 International Business Machines Corporation Method and system for improved buffer utilization for disk array parity updates
US20060123312A1 (en) * 2004-11-19 2006-06-08 International Business Machines Corporation Method and system for increasing parallelism of disk accesses when restoring data in a disk array system
US7434262B2 (en) * 2004-12-08 2008-10-07 At&T Intellectual Property I, L.P. Methods and systems that selectively resurrect blocked communications between devices
US20060136501A1 (en) * 2004-12-21 2006-06-22 International Business Machines Corporation Method and apparatus for saving and restoring parameter values set with user commands
JP4717464B2 (ja) * 2005-02-18 2011-07-06 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
DE102005010820C5 (de) * 2005-03-07 2014-06-26 Phoenix Contact Gmbh & Co. Kg Kopplung von sicheren Feldbussystemen
US8140373B2 (en) * 2005-04-07 2012-03-20 International Business Machines Corporation Data driven dynamic workflow
US7590668B2 (en) * 2005-04-15 2009-09-15 Microsoft Corporation Pausable backups of file system items
US20060271929A1 (en) * 2005-05-27 2006-11-30 Computer Associates Think, Inc. Method and system for providing job forecasting in a computer system
US7577879B2 (en) * 2005-06-07 2009-08-18 Microsoft Corporation Patching a mobile computing device software error
WO2006137057A2 (en) * 2005-06-21 2006-12-28 Onigma Ltd. A method and a system for providing comprehensive protection against leakage of sensitive information assets using host based agents, content- meta-data and rules-based policies
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
JP2007087036A (ja) * 2005-09-21 2007-04-05 Hitachi Ltd スナップショット維持装置及び方法
US20070271307A1 (en) * 2006-04-19 2007-11-22 Bergsten James R Write Sharing of Read-Only Data Storage Volumes
US7849030B2 (en) * 2006-05-31 2010-12-07 Hartford Fire Insurance Company Method and system for classifying documents
US8977252B1 (en) * 2006-07-06 2015-03-10 Gryphonet Ltd. System and method for automatic detection and recovery of malfunction in mobile devices
US20080313260A1 (en) * 2007-06-15 2008-12-18 Wildfireweb Inc. Automated website generation
US8949564B2 (en) * 2007-08-06 2015-02-03 Apple Inc. Staging electronic publications
US8191084B1 (en) * 2007-09-28 2012-05-29 Emc Corporation Techniques for supporting application operation
US8196136B2 (en) * 2007-09-28 2012-06-05 Microsoft Corporation Configuration and change management system with restore points
US20090172149A1 (en) 2007-12-28 2009-07-02 International Business Machines Corporation Real-time information technology environments
US9558459B2 (en) 2007-12-28 2017-01-31 International Business Machines Corporation Dynamic selection of actions in an information technology environment
US8447859B2 (en) 2007-12-28 2013-05-21 International Business Machines Corporation Adaptive business resiliency computer system for information technology environments
US8682705B2 (en) 2007-12-28 2014-03-25 International Business Machines Corporation Information technology management based on computer dynamically adjusted discrete phases of event correlation
US8341014B2 (en) 2007-12-28 2012-12-25 International Business Machines Corporation Recovery segments for computer business applications
US8990810B2 (en) 2007-12-28 2015-03-24 International Business Machines Corporation Projecting an effect, using a pairing construct, of execution of a proposed action on a computing environment
US8751283B2 (en) 2007-12-28 2014-06-10 International Business Machines Corporation Defining and using templates in configuring information technology environments
US8365185B2 (en) 2007-12-28 2013-01-29 International Business Machines Corporation Preventing execution of processes responsive to changes in the environment
US8326910B2 (en) 2007-12-28 2012-12-04 International Business Machines Corporation Programmatic validation in an information technology environment
US8375244B2 (en) 2007-12-28 2013-02-12 International Business Machines Corporation Managing processing of a computing environment during failures of the environment
US8763006B2 (en) 2007-12-28 2014-06-24 International Business Machines Corporation Dynamic generation of processes in computing environments
US8346931B2 (en) 2007-12-28 2013-01-01 International Business Machines Corporation Conditional computer runtime control of an information technology environment based on pairing constructs
US8782662B2 (en) 2007-12-28 2014-07-15 International Business Machines Corporation Adaptive computer sequencing of actions
US8868441B2 (en) 2007-12-28 2014-10-21 International Business Machines Corporation Non-disruptively changing a computing environment
US8428983B2 (en) 2007-12-28 2013-04-23 International Business Machines Corporation Facilitating availability of information technology resources based on pattern system environments
US8826077B2 (en) 2007-12-28 2014-09-02 International Business Machines Corporation Defining a computer recovery process that matches the scope of outage including determining a root cause and performing escalated recovery operations
US8677174B2 (en) * 2007-12-28 2014-03-18 International Business Machines Corporation Management of runtime events in a computer environment using a containment region
US9189250B2 (en) * 2008-01-16 2015-11-17 Honeywell International Inc. Method and system for re-invoking displays
US8862633B2 (en) 2008-05-30 2014-10-14 Novell, Inc. System and method for efficiently building virtual appliances in a hosted environment
US8543998B2 (en) * 2008-05-30 2013-09-24 Oracle International Corporation System and method for building virtual appliances using a repository metadata server and a dependency resolution service
US8335913B2 (en) * 2008-09-08 2012-12-18 Dell Products, LLP Method and system for restoring system configuration after disorderly shutdown
US8818961B1 (en) * 2009-10-30 2014-08-26 Symantec Corporation User restoration of workflow objects and elements from an archived database
US9323758B1 (en) * 2009-12-22 2016-04-26 Emc Corporation Efficient migration of replicated files from a file server having a file de-duplication facility
CA2783370C (en) 2009-12-31 2016-03-15 Commvault Systems, Inc. Systems and methods for performing data management operations using snapshots
CA2743680C (en) * 2010-06-18 2015-09-29 Indosoft Inc. Method and system for fail-safe call survival
EP2669804A4 (en) * 2011-01-28 2017-10-18 Nec Corporation Storage system
WO2013006985A1 (en) * 2011-07-12 2013-01-17 General Electric Company Version control methodology for network model
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
CN103634337B (zh) * 2012-08-22 2018-09-18 腾讯科技(深圳)有限公司 页面恢复方法、装置及移动终端
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
WO2015047271A1 (en) * 2013-09-26 2015-04-02 Hewlett-Packard Development Company, L.P. Undoing changes made by threads
US9264494B2 (en) * 2013-10-21 2016-02-16 International Business Machines Corporation Automated data recovery from remote data object replicas
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US10103937B1 (en) 2014-06-03 2018-10-16 State Farm Mutual Automobile Insurance Company System and method for central administration of multiple application environments
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
CN105426267B (zh) * 2014-09-18 2018-06-22 梧州学院 一种基于windows系统的保存与恢复计算机中用户工作状态的方法
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US10467020B2 (en) * 2016-02-26 2019-11-05 Toshiba Memory Corporation Memory device, and information-processing device
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
CN105893278A (zh) * 2016-03-30 2016-08-24 北京金山安全软件有限公司 系统缓存垃圾清理方法、装置和终端设备
US10235292B2 (en) * 2016-04-21 2019-03-19 Dell Products L.P. Method and system for implementing lock free shared memory with single writer and multiple readers
US10409988B2 (en) 2017-01-20 2019-09-10 Hewlett Packard Enterprise Development Lp Escalated remediation
US10331528B2 (en) * 2017-03-02 2019-06-25 Hewlett Packard Enterprise Development Lp Recovery services for computing systems
US10613951B2 (en) * 2017-09-13 2020-04-07 International Business Machines Corporation Memory mirror invocation upon detecting a correctable error
US10740022B2 (en) 2018-02-14 2020-08-11 Commvault Systems, Inc. Block-level live browsing and private writable backup copies using an ISCSI server

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ229740A (en) * 1988-07-11 1991-11-26 Amdahl Corp Improving data storage reliability: backup copy written into archive
US5555371A (en) * 1992-12-17 1996-09-10 International Business Machines Corporation Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage
US5574898A (en) * 1993-01-08 1996-11-12 Atria Software, Inc. Dynamic software version auditor which monitors a process to provide a list of objects that are accessed
US5649200A (en) * 1993-01-08 1997-07-15 Atria Software, Inc. Dynamic rule-based version control system
US5812853A (en) * 1994-04-11 1998-09-22 Lucent Technologies Inc. Method and apparatus for parsing source code using prefix analysis
US5557737A (en) * 1994-06-13 1996-09-17 Bull Hn Information Systems Inc. Automated safestore stack generation and recovery in a fault tolerant central processor
US5838907A (en) * 1996-02-20 1998-11-17 Compaq Computer Corporation Configuration manager for network devices and an associated method for providing configuration information thereto
US5784548A (en) * 1996-03-08 1998-07-21 Mylex Corporation Modular mirrored cache memory battery backup system
US6098091A (en) * 1996-12-30 2000-08-01 Intel Corporation Method and system including a central computer that assigns tasks to idle workstations using availability schedules and computational capabilities
US6571324B1 (en) * 1997-06-26 2003-05-27 Hewlett-Packard Development Company, L.P. Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system
US6469714B2 (en) * 1998-01-26 2002-10-22 International Business Machines Corporation Infocenter user interface for applets and components
US6195760B1 (en) * 1998-07-20 2001-02-27 Lucent Technologies Inc Method and apparatus for providing failure detection and recovery with predetermined degree of replication for distributed applications in a network
US20010039594A1 (en) * 1999-02-03 2001-11-08 Park Britt H. Method for enforcing workflow processes for website development and maintenance
US20010011265A1 (en) * 1999-02-03 2001-08-02 Cuan William G. Method and apparatus for deploying data among data destinations for website development and maintenance
AU2001250053A1 (en) * 2000-03-22 2001-10-03 Interwoven, Inc. Method and apparatus for automatically deploying data in a computer network
WO2001071508A1 (en) * 2000-03-22 2001-09-27 Interwoven Inc. Method of and apparatus for recovery of in-progress changes made in a software application
CA2409138A1 (en) * 2000-05-17 2001-11-22 Interwoven Inc. Method and apparatus for automatically deploying data and simultaneously executing computer program scripts in a computer network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231723A (ja) * 2009-03-30 2010-10-14 Nec Computertechno Ltd マルチプロセッサシステム、ノードコントローラ、障害回復方式

Also Published As

Publication number Publication date
US20010027457A1 (en) 2001-10-04
WO2001071501A1 (en) 2001-09-27
AU2001250952A1 (en) 2001-10-03
CA2402933C (en) 2012-01-10
WO2001071508A1 (en) 2001-09-27
US20010037475A1 (en) 2001-11-01
CA2403044A1 (en) 2001-09-27
US20020129042A1 (en) 2002-09-12
US6609184B2 (en) 2003-08-19
EP1266289A1 (en) 2002-12-18
EP1266292A4 (en) 2003-06-11
CA2402933A1 (en) 2001-09-27
US6480944B2 (en) 2002-11-12
JP2003528391A (ja) 2003-09-24
AU2001250942A1 (en) 2001-10-03
EP1266292A1 (en) 2002-12-18

Similar Documents

Publication Publication Date Title
JP2003528392A (ja) ソフトウェアアプリケーションにおいてなされた進行中の変更を復旧するための方法及び装置
JP6553822B2 (ja) 分散システムにおける範囲の分割および移動
US20010044834A1 (en) Method and apparatus for automatically deploying data in a computer network
US6304882B1 (en) Data replication system and method
US20010011265A1 (en) Method and apparatus for deploying data among data destinations for website development and maintenance
US20050080804A1 (en) System and method for maintaining componentized content
US20020004824A1 (en) Method and apparatus for automatically deploying data and simultaneously Executing computer program scripts in a computer network
US20070245311A1 (en) Mirrored file system
KR20040077497A (ko) 복제된 파일들을 위한 복수의 파일 상태 관리 방법
US8380660B2 (en) Database system, database update method, database, and database update program
JPH1021061A (ja) クライアントソフトウェア自動バージョンアップシステム
JPH11110275A (ja) データベースシステム及びその制御方法及び情報処理装置
CN113468143A (zh) 数据迁移方法、系统、计算设备及存储介质
AU2051901A (en) Method and apparatus for deploying data among data destinations for website development and maintenance
JPH11282687A (ja) プログラム自動改版方法
JP2006350411A (ja) 分散データベースリカバリ方法及び同リカバリシステム及び同リカバリプログラム
JP2003280963A (ja) 文書管理システム、復旧方法、復旧を実行させるためのプログラム、該プログラムを記録した記録媒体
JP2004157794A (ja) 電子カルテシステム
JP2004252514A (ja) データ管理方法
WO2014027881A1 (en) A configuration profile management system for mobile
CA2475325A1 (en) System and method for maintaining componentized content
JPH08263350A (ja) 情報管理システム及び方法