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
Links
- 238000000034 method Methods 0.000 title claims abstract description 116
- 230000008569 process Effects 0.000 claims abstract description 84
- 230000018109 developmental process Effects 0.000 claims abstract description 66
- 238000011161 development Methods 0.000 claims abstract description 63
- 238000011084 recovery Methods 0.000 claims abstract description 36
- 238000011010 flushing procedure Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 28
- 238000010586 diagram Methods 0.000 description 16
- 238000012423 maintenance Methods 0.000 description 15
- 238000013515 script Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000003745 diagnosis Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000006378 damage Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 150000001768 cations Chemical class 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000003908 quality control method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 239000011574 phosphorus Substances 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting 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は、本発明に係るシステム復旧のために用いられる構成要素の概略ブロ
ック図を示す。
アプリケーションの使用中になされた進行中(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】 内容の開発のためのシステムにおいて形成されたときの進行
中の開発及び変更をプロセス障害又はシステム障害の場合に保存及び復旧するこ
とを可能とするように構成された方法及び装置であって、 進行中のデータの開発及び変更をこれらが形成される間において検索し、かつ
、これらをキャッシュメモリに記憶する工程と、 キャッシュメモリの内容をメモリマップファイルにコピーして、キャッシュデ
ータについて冗長ロケーションを設ける工程と、 障害の場合に、前記キャッシュの情報をファイルから復旧する工程と、システ
ムにより必要とされたときに前記メモリマップファイルから前記メモリのロケー
ションをフラッシュする工程と、かかる障害の後に実際にプロセス又はシステム
を復旧及び再開始する工程と、 を具備することを特徴とする方法及び装置。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010231723A (ja) * | 2009-03-30 | 2010-10-14 | Nec Computertechno Ltd | マルチプロセッサシステム、ノードコントローラ、障害回復方式 |
Families Citing this family (136)
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)
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 |
-
2001
- 2001-03-22 WO PCT/US2001/009259 patent/WO2001071508A1/en not_active Application Discontinuation
- 2001-03-22 AU AU2001250942A patent/AU2001250942A1/en not_active Abandoned
- 2001-03-22 JP JP2001569626A patent/JP2003528391A/ja active Pending
- 2001-03-22 EP EP01924272A patent/EP1266292A4/en not_active Withdrawn
- 2001-03-22 US US09/815,541 patent/US6480944B2/en not_active Expired - Fee Related
- 2001-03-22 AU AU2001250952A patent/AU2001250952A1/en not_active Abandoned
- 2001-03-22 CA CA2402933A patent/CA2402933C/en not_active Expired - Fee Related
- 2001-03-22 EP EP01924285A patent/EP1266289A1/en not_active Withdrawn
- 2001-03-22 US US09/815,971 patent/US20010027457A1/en not_active Abandoned
- 2001-03-22 JP JP2001569632A patent/JP2003528392A/ja active Pending
- 2001-03-22 CA CA002403044A patent/CA2403044A1/en not_active Abandoned
- 2001-03-22 WO PCT/US2001/009387 patent/WO2001071501A1/en not_active Application Discontinuation
-
2002
- 2002-04-24 US US10/132,547 patent/US6609184B2/en not_active Expired - Fee Related
Cited By (1)
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) | 情報管理システム及び方法 |