(57)【特許請求の範囲】
【請求項１】
クライアントからのクライアント・データを格納するためのリモート・サーバを有し、前記クライアントがネットワークを介して前記クライアント・データを前記リモート・サーバに書き込み且つ前記リモート・サーバから前記クライアント・データを読み取り、前記クライアントが前記リモート・サーバ上に格納された前記クライアント・データのバックアップを提供するための少なくとも１つのローカル・ハード・ドライブを有するシステムにおいて、前記ローカル・ハード・ドライブをスタンバイ（非スピニング）・モードに維持し且つディスク・スピン・アップ動作の数を最小化するための逆データ・バックアップの方法であって、
（ａ）前記リモート・サーバ上に格納された前記クライアント・データを前記ローカル・ハード・ドライブと同期させるための１つ以上の条件が存在するか否かを決定するステップと、
（ｂ）前記ステップ（ａ）の肯定的決定に応答して、前記クライアント・データを前記リモート・サーバ及び前記ローカル・ハード・ドライブの間で同期させるステップとを含み、
前記リモート・サーバは、ネットワーク接続と帯域が利用可能であるとき、ストレージのための主要システムとして使用され、
前記１つ以上の条件のうち１つの条件が、前記リモート・サーバへの前記クライアント・データの書き込み及び前記リモート・サーバからの前記クライアント・データの読み取りが予め指定された活動量を超過したことである、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ローカル・ハード・ドライブの寿命を延ばし且つ電力消費並びにローカル・ハード・ドライブが発生する熱及び雑音を減少させつつ、データをバックアップするための方法及びシステムに係り、さらに詳細に説明すれば、ローカル・ハード・ドライブをスタンバイ（非スピニング）・モードに維持することにより、ローカル・ハード・ドライブの寿命を延ばし且つ電力消費並びにローカル・ハード・ドライブが発生する熱及び雑音を減少させるようにした逆バックアップ動作（reversed backup operation）のためのシステム及び方法を提供することに係る。
【背景技術】
【０００２】
ハード・ディスクは、機械的デバイスである。（一般に、ハード・ドライブ、ハード・ディスク又は固定ディスク・ドライブと呼ばれるハード・ディスク又はハード・ディスク・ドライブ（ＨＤＤ）は、不揮発性のストレージ・デバイスであって、磁気表面を有し且つ高速回転するプラッタ上にデジタル的にエンコードされたデータを格納する。ＨＤＤの詳細については、非特許文献１を参照されたい。）これらのディスクが回転している場合、ＨＤＤは電力を消費し、雑音を発生し、衝撃に敏感である。ハード・ドライブは、デスクトップ及びノートブック・コンピュータの電力のうち５％〜３１％を消費する。このことは、ＩＴ電力消費の全体を増加させ且つポータブル・コンピュータの電池寿命を短くさせるだけでなく、システムが発生する熱の量も増加させる。過度の熱は、ユーザに不快感をもたらし、コンピュータからの熱を除去するためのファン及び作業環境内の環境大気を冷却するための空調装置の電力消費を増加させることがある。米国では、オフィス・コンピュータは、米国内の発電電力の約１％を消費し、データ・センタは、同電力の１．２％を消費する。コンピュータの数が予測通りに増加するものとすると、これらの分野における電力消費は、今後著しく増加するものと予測される。危機的な状況にあるのは、電気料金が最も高く且つ電力供給の増加を全く見込めない、主要都市である。これらの場合、ビジネスを拡張する唯一の可能性は、既存の電力消費を低下させることである。
【０００３】
（例えば、ワークステーション又はラップトップ内のＨＤＤの回転から生ずる）オフィス内の少ない雑音でさえ、生産性、意欲、学習能力を低下させ、さらには健康上のリスクを引き起こすことがある。一般に、５４００〜７２００ ＲＰＭで回転する平均的なデスクトップ・ハード・ドライブの雑音レベルは、３０〜５０ｄＢＡである。より速い回転速度を有する高性能ハード・ディスクは、より多くの雑音を発生する。ディスク・ヘッドのシークに関連する音は、それらの不規則な性質に起因して、さらに多くのユーザの気をそらさせる。（ディスクの表面を対象とする読み取り及び書き込みを行うために、ドライブは、ヘッドと呼ばれる、アクチュエータ・アームの端部に設けられた小さな電気磁石アセンブリを使用する。スピンドル上の各プラッタ表面につき、１つのヘッドが存在する。ディスクは、非常に高速に回転され、その結果、ヘッドは、ディスクの表面上を速やかに移動することができる。アクチュエータ・アームの他方の端部には、ピボット点があり、前記端部には、ヘッドを移動させるボイス・コイルがある。）より良い遮音材を有するコンピュータを製造することが可能であると主張する向きもあるが、既存のハードウェアを使用しつつ、オフィス内の雑音レベルを低下させるシステム及び方法に対する要請が存在する。
【０００４】
さらに、回転中のハード・ディスク・ドライブは、脆弱であり且つ衝撃に敏感である。（ワークステーション及びラップトップは、物理的な衝撃、特にラップトップの場合には、落下に起因する物理的な衝撃の影響を受けやすい。）ディスク・プラッタ上を移動するディスク・ヘッドの相対的速度は、ディスク速度に依存し、１５０００ ＲＰＭドライブの場合は、時速２４１ ｋｍ（１５０マイル）を超えることがある。急激な衝撃又は振動を受けると、ディスク・ヘッドは、プラッタ表面に接触してプラッタ表面に損傷を与えることがある。
【０００５】
ジャイロ効果は、モバイル・デバイスの問題を悪化させる。小さなディスク・プラッタの損傷でさえ、ディスク・ヘッド及びディスク・プラッタからえぐり取られた粒子の連鎖的な衝突反応を生じさせることがある。従って、ディスク・ドライブのヘッド及びプラッタの１回の衝突でさえ、ドライブの急激な損失及びデータの損失に帰着することがある。
【０００６】
スタンバイ・モードにおける非回転中のディスクは、使用中のディスクより１桁少ない電力を消費し、使用中のディスクより少ない熱を発生し、そしてアイドル状態で回転中のディスクより３倍少ない熱を発生する。本明細書では、「スタンバイ」という用語は、非スピニング中（non-spinning）又は非回転中（non-rotating）のディスクを指す。さらに、非スピニング中又は非回転中のディスクは、静粛である。一般に、これらのディスクは、衝撃に対し４〜５倍の耐性があり、その結果、信頼性がより高い。従って、ディスクがスピンする時間を最小化することが望ましい。
【０００７】
「回転中のハード・ディスク」の問題に対する現在の殆どの解決法は、ポータブル・デバイス、サーバ又はＲＡＩＤコントローラをターゲットとする。「１つの媒体」解決法は、１つのストレージ・デバイスだけを使用して、この問題を解決することを試みる。しかし、（ディスクのアクセス・パターンを含む）将来を予測することは、不可能であり、また書き込みを遅らせることは、データを失うリスクを増大させる。データ読み取りの予測ミスは、ディスク・ドライブが常時スピンしているシステムと比較すると、電力消費を増加させることが多い。さらに、キャッシュをミスした読み取り要求の場合、ユーザは、ディスク・ドライブがスピン・アップするのを数秒にわたって待機することがある。データ書き込みを遅らせることは、データ損失の可能性を増大させ、そしてディスクを頻繁にスピン・アップすることは、ハード・ディスクの摩耗を増大させる。例えば、デスクトップ内のハード・ディスクは、故障する前に、高々約５００００回のスピン・アップ手続に耐えるに過ぎない。フラッシュ・メモリは、電力を殆ど消費せず、高速である。しかし、フラッシュ・メモリは、小容量であり、書き込み回数が制限されている。ハイブリッド・ドライブは、組み込み式の不揮発性フラッシュ・メモリを含む。このフラッシュ・メモリは、キャッシングに使用可能なメモリの量を増加させ、ディスク・ドライブをスピン・アップさせることなく、或る量のデータ書き込みを永続的に格納することを可能にする。従って、ハイブリッド・ドライブは、データの信頼性を犠牲にすることなく、より多くのデータをプリフェッチし且つディスクへのデータ書き込みを遅らせることを可能にする。しかし、ハイブリッド・ドライブは、前述の問題を部分的に解決するに過ぎない。読み取り要求の予測ミス及び大量の書き込みは、依然としてディスクにアクセスすることを必要とする。さらに、ハイブリッド・ドライブは、既存のハード・ドライブの交換を必要とするハードウェア的解決法であり、もし、フラッシュ・メモリが消耗し且つデータ・ブロック上で動作し、その結果、ファイル・システム・レベルのメタ情報にアクセスしないのであれば、アップグレードするのが困難であるか又は不可能である。（メタ情報は、データ・プリフェッチングの最適化に不可欠である。）ハード・ディスク・ドライブ及びフラッシュ・ドライブを２つの独立したドライブとして扱う、実験的なドライバ・レベルの解決法には、前述の第１及び第２の問題が存在しない。
【０００８】
ディスクレス・サーバ、ワークステーション及びシン・クライアントは、ローカル・ハード・ドライブの代わりに、リモート・ストレージを使用する。一般に、リモート・ストレージ・システムは、複数のハード・ディスクから成る。かかるシステムは、ディスクの使用量に従ってディスク上のデータを分配し、異なる特性を有する多速度ディスク又は複数のディスクを使用し、そして特定のディスクを書き込み及び読み取りキャッシュのために専用化することができる。これは、ディスクの数の相当な割合をオフに維持する能力をしばしば可能にする。しかし、ディスクレス・クライアントは、永続的で且つ高品質のネットワーク接続性を必要とする。従って、この技術は、殆どのモバイル・システムについて不適当である。また、ディスクレス・システムは、それほど一般的ではないから、ユーザ及び管理者にとって、構成及びサポートするのがより困難である。従って、ハード・ドライブを使用するシステムが、最も一般的である。
【０００９】
殆どのノートブック及びサーバ・システム内のハード・ディスクは、読み取り又は書き込み要求が実行されていない場合でさえ、アイドル・モードに維持される。ハード・ディスクをスタンバイ（非スピニング）・モードに入れるシステムは、当該システムが解決するよりも多くの問題をしばしば追加する。
【００１０】
完全なディスクレス・クライアントは、ユーザ及び管理者にとっての不便を追加する。デスクトップ解決法は、高い待ち時間を有しており、ネットワーク問題が発生する場合は使用不能になる。また、かかるシステムは、マシン自体によって制限されない、異なる管理プロセスを有する。この理由で、ディスクレス・デスクトップ及びサーバでは、その採用が制限されている。フラッシュ・メモリのサイズが最近のように増加するにつれて、フラッシュ・メモリがシステム・ディスクに置き換わることが期待されている。しかし、現在及び近い将来に使用可能なサイズは、ユーザが必要とするものよりも依然として遙かに小さく且つ高価である。
【００１１】
サーバ・タイプのワークロードについては、複数の（例えば、異なる）ディスクを組み合わせる解決法がより有効であることを実証した。しかし、サーバ及びデスクトップは、１つの（システム）ディスクだけを有するに過ぎない。フラッシュ・メモリ及びハード・ディスクの組み合わせは、その問題を部分的に解決するが、フラッシュ・メモリの読み取りミスが発生する場合は、依然として寿命の短縮及び長いアクセス待ち時間に帰着することがある。データを格納するためにディスク及びフラッシュをネットワーク接続性で増補するという従来の試みは、性能を改良し且つモバイル・システム上の電池寿命を延ばすことを実証した。しかし、これらの試みは、ディスクの寿命を短縮し、サーバ上の電力消費を増加させることがある。その結果、企業規模の全電力消費が増加することになる。
【００１２】
一般に、ストレージ・システムについては、データの信頼性及び使用可能性が最も重要な要件である。伝統的な電力最適化解決法は、しばしばこれらの要件と矛盾し、ユーザ及び管理上の利便性を減少させる。例えば、頻繁なスピン・アップ及びスピン・ダウン動作は、データの信頼性及び使用可能性を増加させるが、ハード・ディスク・ドライブの寿命を著しく減少させ、ひいてはその信頼性を著しく減少させる。その結果、殆どのサーバ及びデスクトップでは、これらの機能は、使用不可にされるか又は約１時間にわたって休止するように構成されるのが普通である。ノートブック内のハード・ディスクは、１桁程度多いスピン・アップ動作に耐えることができるが、電力の損益分岐だけを考慮すれば、１年以内に消耗するであろう。同様に、ディスクレス・クライアントは、性能を劣化させ、ネットワーク・インフラストラクチャの問題が発生する場合は、動作不能になる。
【００１３】
電力消費に加えて、ハード・ディスクは、雑音、脆弱性、盗難又は紛失の容易さのような他の１セットの問題をもたらす。しかし、サーバ、デスクトップ及びモバイル・システムは、異なるディスク及び異なる配備シナリオを有する。これは、前述の問題のうちの幾つかを重要なものにするか又は完全に重要でないものにする。例えば、ノートブック内のディスクは、アイドル状態では電力を殆ど消費しないから、その電力消費最適化は、企業規模において意味をなさないだけでなく、電池寿命について無視できる適度の効果を有するに過ぎないのが普通である。企業内のデスクトップは、殆ど常に高速のローカル・ネットワークに確実に接続される。これに対し、ノートブックは、任意の時間に切断されることがある。
【００１４】
クライアント・ファイル・システムについては、次の機能を提供することが要請されている。
１．一時的なネットワークの問題に起因してデスクトップが接続性を失う場合、又はモバイル・クライアントがネットワーク・インフラストラクチャから離れている場合でさえ、必要とされるバックアップ・ストレージのコストを著しく増加させることなく、企業における各ハード・ディスクの実行時データ保護（ＣＤＰ又は少なくとも複製）を提供する。
２．ローカル・ハード・ディスクを短い期間内でスピン・アップし且つかかるスピン・アップ動作を１日当たり数回だけ行う。
３．少なくとも典型的なユーザ・ワークロードの存在下におけるローカル・ディスクの動作と同様のデータ・アクセス待ち時間及び帯域幅を提供する。
４．既存のインフラストラクチャ内のハードウェア及びソフトウェアの変更を最小限度に留める。
【００１５】
ハード・ディスクは、不可避的に、しかも突然に故障する。ユーザは、誤りを犯し、有用なデータに上書きするか又はこれを削除することがある。ハード・ディスク又はコンピュータの全体が、紛失するか又は盗まれることがある。データ・バックアップ・システムは、これらの有害なイベントの結果を最小化することを試みる。伝統的なバックアップ・システムは、ファイル・サブセットのスナップショットを定期的に作成する。これは、次の２つの問題をもたらす。
１．幾つかの重要なデータは、ファイル・サブセットの誤選択に起因して、非保護状態のままにしておかれることがある（一般に、この状態に気付いたときは、既に手遅れである）。
２．最新の（従って最も重要であることが多い）データ更新が保護されない。
【００１６】
第１の問題は、ハード・ディスクの全体をバックアップすることにより、解決することができるであろう。しかし、かかるアプローチは、時間がかかり、バックアップのために使用される高価なストレージ・システムに起因して、ひどく高価につくと考えられる。また、バックアップ・ストレージの量を増加させると、企業の電力消費が増加する。
【００１７】
第２の問題は、実行時データ複製によって部分的に解決される。また、ファイルの以前のバージョンに復帰することが望ましいことがある。例えば、ユーザが或るファイルの一部を誤って削除する場合、当該ユーザは、削除された部分を回復するために当該ファイルの以前のバージョンに復帰することを必要とするであろう。継続的データ保護（ＣＤＰ：Continuous Data Protection）は、全てのデータ更新用のバックアップ・コピーをオン・ザ・フライで保存する。これは、ユーザが任意のファイルを以前の任意の状態にロールバックすることを可能にする。しかし、モバイル・ユーザは、信頼性のあるネットワーク・リンクに接続されていない場合は、依然として非保護状態のままにしておかれる。
【先行技術文献】
【非特許文献】
【００１８】
【非特許文献１】http://www-306.ibm.com/software/tivoli/resource-center/storage/cdp.jsp?S_TACT=104CB62&ca=104CB627
【非特許文献２】http://historyoftheinternet.org/
【発明の概要】
【発明が解決しようとする課題】
【００１９】
従って、当分野では、前記従来技術の少なくとも１つの欠点を解決するための解決法が要請されている。
【課題を解決するための手段】
【００２０】
本発明は、ローカル・ハード・ドライブをスタンバイ（非スピニング）・モードに維持することにより、ローカル・ハード・ドライブの寿命を延ばし、電力消費並びにローカル・ハード・ドライブが発生する熱及び雑音を減少させるようにした逆バックアップ動作のための方法及びコンピュータ・プログラムを提供する。
【００２１】
ローカル・ハード・ディスク及びリモート・サーバ上のデータの複製は、データ生存性（data survivability）を改良するために使用される通常の技術である。例えば、継続的データ保護（ＣＤＰ）システムは、ローカル・データが変更されるごとに、リモート・サーバ上にデータを複製することができる。本発明は、ネットワーク接続性及びその帯域幅が十分である場合、リモート・ストレージ・システムを１次ストレージ・システムとして使用する。リモート・ストレージからデータが読み取られている間及びデータがリモート・ストレージに書き込まれている間、ローカル・ハード・ディスクは、スタンバイ・モードに留まることができる。もし、ネットワーク接続性が使用不能であるか又はデータ・フローを扱うのに不十分であれば、ローカル・ハード・ディスクがスピン・アップされ、読み取り及び書き込みのための１次ストレージとして一時的に使用される。可能である場合、両方のストレージ位置上のデータが同期される。特に、ドライブがスピン・アップされる場合、リモート・ストレージに以前にコミットされた全ての書き込みが、ローカル・ディスクに書き込まれる。システムが十分なネットワーク接続性を獲得する場合、以前にローカル・ハード・ディスクに書き込まれたデータが、リモート・サーバに書き込まれる。
【００２２】
任意の時間にネットワーク接続性を失うことがあるモービル・システムは、リモート・サーバにコミットされたデータを、メモリ内に維持しておくべきである。これらのシステムは、システムの電力を遮断するか又はネットワーク接続性を失う際に、かかるデータをローカル・ディスクにフラッシュすべきである。ストレージ位置の少なくとも１つに、データが常に永続的に格納されることに留意されたい。サーバ側のストレージは、ローカル・ストレージよりも遙かに信頼性が高いから、データの信頼性は、通常のＣＤＰシステムのそれと同じである。可能である場合は常に、データはＣＤＰサーバ上に格納され、さもなければ、ローカル・ハード・ディスク上に格納される。有線式ＮＩＣは、ハード・ディスクより少ない電力を消費する。現在の無線ネットワーク・インタフェース及びプロトコルは、十分なセキュリティ、帯域幅、低い待ち時間を提供し、僅かな電力を消費するに過ぎない。また、無線インタフェースは、殆どの最新式モバイル・コンピュータ内に設けられており、その幾つかは複数の通信規格（例えば、WiFi 及び Bluetooth）に対応する。データが読み取られていないか又は書き込まれていない場合、ハード・ディスク・ドライブを、スタンバイ（非スピニング）・モードに入れることができる。従って、ローカル・システム上の省電力は、（１）ハード・ドライブが通常アイドル状態（ディスクはスピンしているが、読み取り又は書き込み要求は実行されていない）に維持される時間中の電力の節減、及び（２）通常のディスク省電力アプローチと比較して、より頻度が少ないディスク・スピン・アップ動作からもたらされる。さらに、複数の大容量ハード・ドライブを有するバックアップ・ストレージ・システムは、バックアップ・サーバを使用する個々のコンピュータ内の全てのローカル・ディスクよりも少ないエネルギーを消費することが多い。従って、本発明は、企業内で消費されるエネルギーの総量を減少させることを可能にする。
【発明の効果】
【００２３】
本発明は、パーソナル・コンピュータ及びポータブル・デバイスについて、次の利点を有する。
１．クライアント上の（及びバックアップ・サーバ上の特別の省電力手段が適用される場合は、企業内の全体的な）省電力。
２．雑音レベルの低下。
３．衝撃及び振動に対するディスク・ドライブ生存性の増加。
【００２４】
データ・プリフェッチングに基づく標準的な解決法と比較すると、本発明は、遙かに少ないディスク・スピン・アップを必要とするに過ぎず、その結果、次の追加的な利点を有する。
１．より多くの電力を節減することを可能にする、雑音の発生量をより少なくするか又は雑音を発生しない、衝撃に対するディスクの脆弱性をより小さくする。
２．ディスク寿命を減少させない。
３．キャッシュ・ミスの場合、ディスクがスピン・アップされるまで、ユーザは数秒間待機する必要はない。
【００２５】
また、本発明のシステム及び方法は、データ・センタ内でＣＤＰクライアントとして構成されたサーバ上に配備することができる。その場合、本発明は、次の追加的な利点を提供することができる。
１．計算ノード上の熱発生量の減少。
２．システム全体の熱発生量の減少。すなわち、前述のように、複数のハード・ドライブを有するストレージ・システムは、それらの電力消費を非常に効率的に最適化することができる。
【００２６】
本発明は、必要に応じて（例えば、Ｉ／Ｏ活動が高い期間中に）、リモート・サーバ及びローカル・ハード・ディスクの間のスイッチングを可能にし、そしてシステムは、ブート・ディスクを有する通常のシステムとして依然として構成される。これはユーザにとって便利である。
【図面の簡単な説明】
【００２７】
【図１】本発明に従ったシステムの「通常」モードにおける動作を示す図である。
【図２】本発明に従ったシステムの同期中の動作を示す図である。
【図３】ファイル・アクセスのためにローカル・ストレージを使用する本発明に従ったシステムの動作を示す図である。
【図４】本発明に従ったシステムを高水準で示す図である。
【図５】本発明に従ったシステムのスタック可能実装を示す図である。
【図６】同期が必要とされる場合を決定するための本発明に従った方法を示すフローチャートである。
【図７】アクセスすべきデータ・ストレージを決定するための本発明に従った方法を示すフローチャートである。
【図８】本発明に従ったクライアントを示す図である。
【発明を実施するための形態】
【００２８】
本発明の継続的データ保護（ＣＤＰ）クライアント・ファイル・システムは、全てのデータのために階層的な実行時データ保護を提供し、企業内の殆どのハード・ディスクを殆どの時間にわたって（プラッタの回転を伴わない）スタンバイ状態に維持することを可能にする。本発明のＣＤＰクライアント・ファイル・システムは、実際の企業内で使用されるようにするために、ディスク寿命を減少させない。このＣＤＰクライアント・ファイル・システムは、データの信頼性を実質的に増加させ、全体的な電力消費を減少させ、企業を環境により優しくし、性能を改良することによりユーザの利便性を増加させ、オフィスの雑音レベルを減少させる。
【００２９】
要約すると、本発明のＣＤＰクライアント・ファイル・システムは、次の機能を提供する。
１．一時的なネットワークの問題に起因してデスクトップが接続性を失う場合、又はモバイル・クライアントがネットワーク・インフラストラクチャから離れている場合でさえ、必要とされるバックアップ・ストレージのコストを著しく増加させることなく、企業における各ハード・ディスクの実行時データ保護（ＣＤＰ又は少なくとも複製）を提供する。
２．ローカル・ハード・ディスクを短い期間内でスピン・アップし且つかかるスピン・アップ動作を１日当たり数回だけ行う。
３．少なくとも典型的なユーザ・ワークロードの存在下におけるローカル・ディスクの動作と同様のデータ・アクセス待ち時間及び帯域幅を提供する。
４．既存のインフラストラクチャ内のハードウェア及びソフトウェアの変更を最小限度に留める。
【００３０】
前述の課題を解決するために、本発明のＣＤＰクライアントは、（１）バッファ化による全時間保護、（２）逆バックアップ動作、（３）全てのデータ保護、という利点を提供する。さらに、本発明のＣＤＰクライアント・ファイル・システムは、企業の任意の既存ＩＴインフラストラクチャに適合するように、モジュール構成を有する。本明細書では、特に（２）の逆バックアップ動作について説明する。
【００３１】
本発明の継続的データ保護（ＣＤＰ）クライアント・ファイル・システムは、通常の条件下のバックアップ及びローカル・ハード・ディスク・ストレージの使用を逆にする。すなわち、一般に、全ての読み取り及び書き込み要求は、リモート・バックアップ・ターゲットに送信され、ローカル・ディスクには送信されない。図１に示す本発明のシステム１００は、ＣＤＰクライアント１０１を有し、そのアプリケーション１０２は、ＩＢＭ社が提供するファイル用のTivoli（商標）ＣＤＰのようなＣＤＰシステム１０８に接続される。（ＩＢＭ社が提供するファイル用のTivoli（商標）ＣＤＰは、破損、ユーザ・エラー、ウィルス又はシステム障害の場合に完全なデータ保護を提供する、統合回復解決法である。その詳細については、非特許文献２を参照されたい）。ＣＤＰシステム１０８は、書き込み動作１１４及び読み取り動作１１６をリモート・サーバ１１０に対して行うことができるように、外部通信チャネル１１２及びネットワーク１１３を介してリモート・サーバ１１０に接続される。さらに、システム１００は、ローカル・ハード・ドライブ１０５を有する。ＣＤＰは、サーバ側（１１０）に設けることができる。その場合、リモート・クライアントがバージョン管理ファイル・システムから或るファイルの特定のバージョンを要求することを可能にするために、特別の機構を実装することが必要である。また、クライアント上でスタック可能バージョン管理ファイル・システムを稼働させることが可能である点に留意されたい。この実装は、システムが既存のファイル・サーバ（例えば、ＮＦＳ又はＣＩＦＳサーバ）１１０を変更なしに使用することを可能にするが、その場合は貧弱な性能を有することが予測される。一般的な使用法では、本発明に従って、アプリケーション１０２用のデータは、リモート・サーバ１１０内に（長期に）格納される。アプリケーション１０２は、ネットワーク１１３及びリモート・サーバ１１０が動作可能である場合、必要に応じて、リモート・サーバ１１０内に格納されたデータに対する読み取り／書き込み動作を行う。
【００３２】
図２は、リモート・サーバ１１０がＣＤＰクライアント１０１のローカル・ハード・ドライブ１０５と同期している間の、本発明のシステム２００の動作を示す。（読み取り／書き込み動作を表す双方向性の矢印１１８によって示される）同期は、クライアント１０１のシャットダウン時に生じ（その結果、ローカル・ハード・ドライブ１０５は、リモート・サーバ１１０がクライアント用の１次ストレージであった期間中の全ての更新を有する）、クライアント１０１のブート時に生じ（その結果、ローカル・ハード・ドライブ１０５及びリモート・サーバ１１０は、クライアントのクラッシュ又はその不適切なシャットダウンに起因してミスした可能性がある更新を有する）、クライアントがサーバとの接続性を再獲得する場合、サーバ若しくはネットワークがダウンしているか又はネットワークがサーバ１１０とのデータ転送を扱うのに不十分なキャパシティを有する場合、或いはクライアントがローカル・ハード・ドライブ１０５用の過剰な未処理の書き込みを有する場合に生じる。その存在時に同期を生じさせる他の条件は、ユーザによる手動的なディスク・スピン・アップ及びユーザの便宜に起因するスピン・アップを含むが、本明細書では、当該他の条件についてこれ以上説明しない。これは、図３において、内部通信チャネル１０６を介してアプリケーション１０２及びローカル・ハード・ドライブ１０５の間で行われる読み取り／書き込み動作を表す矢印１２２／１２０によって示されている。
【００３３】
図４は、基本的なネットワーク図を示す。クライアント１０１がネットワーク・アダプタ（図８のネットワーク・アダプタ４３８）を介してネットワーク１１３に結合されると、クライアント１０１は、ターゲット・サーバ（リモート・サーバ１１０）に結合されるか、或いは介在する私設又は公衆ネットワーク（ネットワーク１１３）を介してリモート・プリンタ（プリンタ１２０）又はストレージ・デバイス（ストレージ１２２）に結合されるようになる。（コンピュータ・ネットワークは、データ、資源及び通信を共有する目的のために、通信システムを使用して相互に接続される複数のコンピュータから構成される。その詳細については、非特許文献３を参照されたい。）モデム、ケーブル・モデム及びイーサネット（登録商標）・カードは、現に使用可能なネットワーク・アダプタの少数のタイプである。（ネットワークカード、ネットワーク・アダプタ又はＮＩＣ（ネットワーク・インタフェース・カード）は、コンピュータがコンピュータ・ネットワークを介して通信することを可能にするように設計されたコンピュータ・ハードウェアの一部である。かかるデバイスは、ネットワーク媒体への物理的なアクセスを提供し且つＭＡＣアドレスの使用を通して低レベルのアドレッシング・システムを提供するので、ＯＳＩ層１（物理層）及び層２（データ・リンク層）デバイスの両方である。かかるデバイスは、ケーブル又は無線を使用して、複数のユーザが相互に接続することを可能にする。）
【００３４】
前述のように、本発明のクライアントは、リモート・サーバ１１０及びローカル・ハード・ディスク１０５の役割を逆にする。すなわち、ローカル・ハード・ディスク１０５は、リモートに格納されたデータのバックアップになる。これが使用されるのは、ローカル・ネットワーク・インフラストラクチャ（ＬＡＮ／ＷＡＮ １１３）が問題を有する場合、ローカル・ネットワーク・インフラストラクチャが高帯域幅のワークロードにとって十分でない場合、モバイル・クライアントが切断モードで動作するか又はネットワーク接続性が貧弱な状態で動作する場合である。
【００３５】
この逆動作モードは、本発明のクライアントが、システム及び他のワークステーションのローカル・ハード・ディスクを殆どの時間にわたってオフに維持することを可能にする。ある意味では、ローカル・ハード・ディスクは、サーバの接続性に問題がある場合、又はリモート・ストレージの帯域幅又は待ち時間がユーザにとって著しい不便を引き起こす場合に、回復機構になる。
【００３６】
図５に示すように、本発明のシステム２００は、スタック可能デバイス・ドライバ、又はスタック可能ファイル・システムとして実装することができる。スタック可能デバイス・ドライバは、ファイル・システム・キャッシュの下部で動作し、メタ情報への直接的なアクセスを有しないから、本明細書では、その詳細を説明しない。スタック可能ファイル・システム、例えば、図５のスタック可能ファイル・システム２００は、ファイル・システム・キャッシュの上部で動作し、メタ情報へのアクセスを有し、他の既存のファイル・システムの良く管理されたコード及び機能を再使用することができる。提案された機能性を実装するスタック可能ファイル・システム２００は、２つの下位ファイル・システム上にマウントすることができる。当該２つの下位ファイル・システムは、ローカル・ハード・ディスク１０５上にマウントされたＥｘｔ３ １０４のようなローカル・ファイル・システム及びＮＦＳ ２０６又はＣＩＦＳのようなリモート・ファイル・システムである。本発明のスタック可能ファイル・システム２００は、これらの２つの下位ファイル・システム１０４及び２０６のうちの任意のものを１次ファイル・システムとして使用することができる。最も簡単なケースでは、ローカル・ディスク・ドライブ１０５は、或る時間にわたって使用されていなければ、ＡＰＭ又はＡＣＰＩによって自動的に電源をオフにされるであろう。（ＡＰＭ（Advanced Power Management）は、ＩＢＭ互換パーソナル・コンピュータを稼働させるオペレーティング・システムが電力管理を達成するようにＢＩＯＳ（コンピュータのファームウェアの一部）と協働することを可能にする、インテル社及びマイクロソフト社によって開発されたＡＰＩである。）ＡＣＰＩは、ＡＰＭの後継規格として位置づけられる。ＡＣＰＩ（Advanced Configuration and Power Interface）仕様は、ヒューレット・パッカード社、インテル社、マイクロソフト社、フェニックス社及び東芝によって開発され、１９９６年１２月に最初に公開されたオープンの業界基準であって、ハードウェア認識、マザーボード及びデバイス構成及び電力管理のための共通のインタフェースを定義する。その仕様によれば、「ＡＣＰＩは、オペレーティング・システム指向の構成及び電力管理（ＯＳＰＭ）における重要な要素である。」とされている。）より複雑なケースでは、スタック可能ファイル・システム２００は、ローカル・ハード・ディスク１０５をスタンバイ・モードに明示的に入れることができる。
【００３７】
独立したクライアント側の解決法は、バックアップされたデータのデータ・バージョン管理を完全にクライアント側でサポートしなければならない。例えば、これは、リモート・ファイル・システム上にマウントされた「VersionFS」スタック可能ファイル・システムを使用して達成することができる。その場合、クライアントは、サーバ側の如何なる変更も必要とすることなく、任意の標準ファイル・サーバと通信することができる。しかし、かかる実装は、クライアント及びサーバの間で送信される過剰な量の要求及びデータのために、貧弱な性能を有することがある。性能上の理由で、サーバ側のファイル・バージョン管理をサポートすることに加えて、クライアントが以前の任意のファイル・バージョンにロールバックすることを可能にする特別のプロトコルをサポートすることが必要であろう。
【００３８】
通常のＣＤＰシステムは、ユーザ・ファイル・システムのサブセットだけをバックアップするに過ぎない。しかし、バックアップすべきファイルのサブセットを選択する場合に、ユーザがしばしば誤りを犯すという点が問題である。本発明によれば、全てがバックアップされるので、このような問題は生じない。
【００３９】
圧縮は、ストレージ空間を節約するだけでなく、キャッシュ・メモリの消費がより少なくなるために、サーバの性能を改良することができる。如何なる場合にも、プログラム・バイナリ及び他の再生成可能ファイルをバックアップから回復することは、対応するプログラムを再インストールし且つ他の幾つかのファイルを再生成することよりも、比較的容易であることが多い。
【００４０】
しかし、再生成可能データのバックアップが望ましくないとしても、ユーザは、依然としてかかるファイル又は最も頻繁に使用されるファイルだけをバックアップすることができる。
【００４１】
当然のことながら、本明細書に開示されるスタック可能ファイル・システム実装は、フラッシュ・メモリ・デバイス上にマウントされる余分の下位ファイル・システムをサポートするように、これを拡張することができる。この余分な下位ファイル・システムは、ハイブリッド・ドライブ及びドライバ・レベルのフラッシュ・メモリ解決法と同様に、書き込みをバッファし且つ或る余分なプリフェッチ済みデータを維持するために使用することができる。しかし、ファイル・システム・レベルの実装は、以下に示す幾つかの追加の利点を有する。
１．データ・プリフェッチングの決定をより良くするためのメタ情報へのアクセス。
２．性能を改良するページ・キャッシュ上の動作。
３．他のファイル・システムの再使用。例えば、提案されたスタック可能ファイル・システムは、フラッシュ・ドライブの寿命を延長するために、フラッシュ・メモリ用に特別に設計されたファイル・システム（例えば、ＪＦＦＳ２）上にマウントすることができる。
【００４２】
データ更新は、幾つかの条件に基づき、１日当たり数回にわたってローカル・ディスクと同期される。図６は、同期を決定するための方法３００を示す。ステップ３０２から開始した後、ステップ３０３で、ストレージ・システムがマウント中であるか否かを決定する。そうであれば、ステップ３０６で、本発明のＣＤＰクライアントは、リモート・サーバ及びローカル・ハード・ドライブの間でデータを同期させる。このようにすると、リモート・サーバへのネットワーク接続性が次のブート動作時に使用不能であるとしても、システムは、依然として自律的に動作するための全てデータをローカルに有するであろうということが保証される。その後のステップ３２２で、方法３００が終了する。そうでなければ、ステップ３０８で、システムがメモリを使い果たしたか否かを決定する、そうでなければ、ステップ３０４で、ストレージ・システムがアンマウント中であるか否かを決定する。そうであれば、方法３００は、前述のステップ３０６で継続する。ステップ３０８で、システムがメモリを使い果たしたことを決定すれば、ステップ３１０で、本発明のＣＤＰクライアントが、ローカル・ハード・ディスクをスピン・アップし且つマークされたキャッシュ・ページをローカル・ディスクにコミットするように構成されているか否かを決定する。そうでなければ、ステップ３１２で、ページが除去され、その後のステップ３２２で、方法３００が終了する。このモードは、永続サーバ及びワークステーションに適切である。それらがリブートされるか、又はソフトウェアがクラッシュしても、それらのローカル・ハード・ディスクは、次のブート時間の間に再同期することができる。そうであれば、ステップ３１８で、ＣＤＰクライアントは、ローカル・ハード・ディスクをスピン・アップし、ステップ３２０で、マークされたキャッシュ・ページをローカル・ディスクにコミットし、その後のステップ３２２で、方法３００が終了する。この構成は、任意の時間にサーバから切断されることがあるモバイル・コンピュータにとって必要である。一般に、モバイル・コンピュータは、２．５インチのハード・ディスクを搭載しており、比較的頻繁なスピン・アップ動作に耐えることができる。また、このモードは、不安定なネットワーク接続性を有するオフィス環境でも必要であろう。本発明のシステムは、性能改良のための幾つかの最適化を有する。特に、ステップ３１２で、クライアントがページを除去しなければ、同期時に当該ページをサーバからフェッチする必要はない。また、データがクライアントによって変更されていなければ、サーバ上の情報は変わらないから、データ及びメタデータを再確認する必要はない。ＣＤＰクライアントは、変更され且つローカル・ディスク（図８の４１８）にコミットされなかったキャッシュ・ページを（当該キャッシュ・ページがリモート・ストレージ・システムにコミットされたとしても）マークする。（キャッシュ４３２は、図８のクライアント４０２内に示されている。）ステップ３０４で、ストレージ・システムがアンマウント中でないことを決定すれば、ステップ３１４で、リモート・ストレージ・システムへの帯域幅又は待ち時間がユーザにとって著しい不便を引き起こすか否かを決定する。そうであれば、方法３００はステップ３０６に進み、そこで前述のように継続する。従って、本発明のシステム及び方法は、ディスクをスピン・アップする。その理由は、本発明のシステム及び方法が、ローカル・ストレージを使用することにより、電力を節約できることを検出するだけでなく、高帯域幅のデータ読み取り活動の長い期間が存在するか否かも検出するからである。
【００４３】
本発明のシステム及び方法は、システムのページ・キャッシュが過剰な未処理の書き込み要求で満たされているならば、書き込みのために同じことをする。再び、これは、過剰なキャッシュ・パージングに起因するユーザの不便を回避し且つデータの信頼性を改良するのに必要である。
【００４４】
任意のケースにおいて、本発明のＣＤＰクライアントは、構成可能な頻度、例えば、１日当たり少なくとも１回又はシステム活動が低い特定の時間に、コピーを定期的に同期させる。これは、図６に示されている。ステップ３１４で、リモート・ストレージ・システムへの帯域幅又は待ち時間がユーザにとって著しい不便を引き起こしていないことを決定すれば、方法３００はステップ３１５に進み、そこで同期のための予め指定された時間、予め指定された頻度又は予め指定された活動量に到達したか否かを決定する。そうでなければ、方法３００は、ステップ３２２で終了する。そうであれば、方法３００は、前述のステップ３０６に進む。図６は、同期のための条件（ステップ３０３、３０４、３１４、３１５）を直列に調べることを示しているが、これに代えて、同期のための条件を並列に調べることもできるであろう。
【００４５】
代替的に、ユーザは、或る特定の理由で、制限された時間にわたって、ディスクの電源を手動的にオンに転ずることを望むことがある。
【００４６】
本発明のＣＤＰクライアントは、スピン・アップ動作のレート及び合計のスピン時間に関する情報を維持し、その結果に応じて、ユーザの利便性をバランスさせる。従って、本発明のＣＤＰクライアントは、ディスクのスピン・アップ回数が多すぎるか、又は最後の数日間の合計のスピン時間が長すぎるのであれば、高帯域幅の使用の場合においてさえ、ローカル・ハード・ディスクをスピン・アップしないであろう。
【００４７】
図７は、読み取り又は書き込み動作が必要であるときに、アクセスすべきデータ・ストレージをクライアントによって決定するための方法３００Ｂを示す。方法３００Ｂは、ステップ３０２Ｂから開始してステップ３０４Ｂに進み、そこでリモート・サーバへのネットワーク接続性が使用可能であるか否かを決定する。そうでなければ、ステップ３０６Ｂで、（場合に応じて）ローカル・ハード・ドライブからデータを読み取るか又はデータをローカル・ハード・ドライブに書き込んだ後、方法３００Ｂはステップ３２２Ｂで終了する。そうであれば、ステップ３０８Ｂで、リモート・サーバが動作可能であるか否かを決定する。そうでなければ、方法３００Ｂは前述のステップ３０６Ｂに進む。リモート・サーバが動作可能であれば、ステップ３１４Ｂで、リモート・ストレージ・システムへの帯域幅又は待ち時間がユーザにとって著しい不便を引き起こしているか否かを決定する。そうであれば、方法３００Ｂは前述のステップ３０６Ｂに進む。そうでなければ、ステップ３１６Ｂで、（場合に応じて）リモート・サーバからデータを読み取るか又はデータをリモート・サーバに書き込んだ後、方法３００Ｂがステップ３２２Ｂで終了する。
【００４８】
図８に示すように、システム４００内のクライアント４０２は、ローカル・ハード・ドライブ（ローカル・ハード・ドライブ・ストレージ４１８）をスタンバイ・モードに維持するための逆バックアップ動作を行うことにより、ローカル・ハード・ドライブ（ローカル・ハード・ドライブ・ストレージ４１８）の寿命を延ばし且つ電力消費並びにローカル・ハード・ドライブ（ローカル・ハード・ドライブ・ストレージ４１８）が発生する熱及び雑音を減少させる。多くのデータ処理システムがそうであるように、クライアント４０２は、プログラム・コードを格納及び／又は実行するのに適しており、システム・バスを通してメモリ・エレメントに対し直接的に又は間接的に結合された少なくとも１つのプロセッサ（処理ユニット４０６）を含む。これらのメモリ・エレメントは、当該プログラム・コードの実行中に使用されるローカル・メモリ（ＲＡＭ ４３０）、バルク・ストレージ（ローカル・ハード・ドライブ・ストレージ４１８）及びキャッシュ・メモリ（キャッシュ４３２）を含むことができる。キャッシュ・メモリは、通常の動作中にリモート・サーバ１１０からのプログラム・コードの検索回数を減少させるか、又はリモート・サーバ１１０が使用可能でない場合の動作中にローカル・ハード・ドライブ・ストレージ４１８からのプログラム・コードの検索回数を減少させるために、プログラム・コードの少なくとも一部の一時的ストレージを提供する。Ｉ／Ｏデバイス（外部デバイス４１６）（キーボード、ディスプレイ、ポインティング・デバイス等を含む）は、システムに対し直接的に又は介在するＩ／Ｏコントローラ（Ｉ／Ｏインタフェース４１４）を通して結合することができる。さらに、クライアント４０２は、フラッシュ・メモリ４４０を有する。
【００４９】
一般に、本発明は、ハードウェア及び／又はソフトウェアを介してコンピュータで実装されることを理解されたい。そのため、クライアント・システム及び／又はサーバは、当分野で公知のコンピュータ化されたコンポーネントを含むであろう。一般に、かかるコンポーネントは、処理ユニット、メモリ、バス、Ｉ／Ｏインタフェース、外部デバイス等を含む。
【００５０】
また、本明細書では、継続的データ保護のためにローカル・フラッシュ・メモリ及びリモート・サーバ・ハイブリッドを含む特定の実施形態を説明したが、本発明は、任意のタイプのバックアップ・サーバに関連して実装できることを理解されたい。
【００５１】
本明細書では、ローカル・ハード・ドライブをスタンバイ・モードに維持することにより、ローカル・ハード・ドライブの寿命を延ばし、電力消費並びにローカル・ハード・ドライブが発生する熱及び雑音を減少させるようにした逆バックアップ動作のためのシステム及び方法を開示した。しかし、本発明は、種々の代替実施形態を提供することを理解されたい。例えば、１つの実施形態では、本発明は、コンピュータ・プログラム・コードを含むコンピュータ可読／使用可能媒体を提供することにより、コンピュータ・インフラストラクチャが逆バックアップ動作を行うことを可能にする。この点に関連して、コンピュータ可読／使用可能媒体に含まれるプログラム・コードは、本発明の種々のプロセス・ステップの各々を実装する。コンピュータ可読／使用可能媒体という用語は、プログラム・コードの任意のタイプの物理的実施形態のうち１つ以上を含むことを理解されたい。特に、コンピュータ可読／使用可能媒体は、１つ以上のポータブル・ストレージ製品（例えば、コンパクト・ディスク、磁気ディスク、テープ等）、メモリ及び／又はストレージ・システム（例えば、固定ディスク、読み取り専用メモリ、ランダム・アクセス・メモリ、キャッシュ・メモリ等）のようなコンピューティング・デバイスの１つ以上のデータ・ストレージ部分上に具体化されたプログラム・コードを含むか、又は（例えば、プログラム・コードの有線式／無線式電子配信中に）ネットワーク上を進行するデータ信号（例えば、伝播信号）として具体化されたプログラム・コードを含む。
【００５２】
さらに他の実施形態では、本発明は、ローカル・ハード・ドライブをスタンバイ・モードに維持することにより、ローカル・ハード・ドライブの寿命を延ばし、電力消費並びにローカル・ハード・ドライブが発生する熱及び雑音を減少させるようにした逆バックアップ動作のためのコンピュータ実装方法を提供する。この場合、コンピュータ・インフラストラクチャを提供し、本発明のプロセス・ステップを行うための１つ以上のシステムを（例えば、作成し、購入し、使用し、変更すること等を通して）獲得し、当該システムをコンピュータ・インフラストラクチャに配備することができる。この点に関連して、システムの配備は、（１）コンピュータ可読媒体からのプログラム・コードを、コンピュータ・システムのようなコンピューティング・デバイス上にインストールすること、（２）１つ以上のコンピューティング・デバイスをコンピュータ・インフラストラクチャに追加すること、（３）コンピュータ・インフラストラクチャが本発明のプロセス・ステップを行うことを可能にするために、コンピュータ・インフラストラクチャの１つ以上の既存のシステムを組み込み／修正することのうち１つ以上を含むことができる。
【００５３】
本明細書で使用する「プログラム・コード」及び「コンピュータ・プログラム・コード」という用語は、同意語であって、情報処理能力を有するコンピューティング・デバイスに特定の機能を行わせるための、任意の言語、コード又は表記法における１セットの命令の任意の表現を意味する。かかる１セットの命令は、コンピューティング・デバイスによって直接的に実行されない場合、（ａ）他の言語、コード又は表記法に変換するか、又は（ｂ）異なる形式で再生した後に、これを実行することができる。この点に関し、プログラム・コードは、アプリケーション／ソフトウェア・プログラム、コンポーネント・ソフト／機能ライブラリ、オペレーティング・システム、特定のコンピューティング・デバイス又はＩ／Ｏデバイス用の基本入出力システム／ドライバ等の１つ以上として具体化することができる。
【００５４】
本発明の種々の側面に係る前述の記述は、例示及び説明を目的として提示されたものであって、網羅的であること及び開示された形態に本発明を限定することを意図するものではない。当業者にとって、多くの修正及び変形が明らかであろう。かかる修正及び変形は、請求項の記載によって定義されるような本発明の範囲に属することが意図される。
【符号の説明】
【００５５】
１０１・・・ＣＤＰクライアント
１０２・・・アプリケーション
１０４・・・バージョン管理ファイル・システム（ｅｘｔ３）
１０５・・・ローカル・ハード・ドライブ
１０６・・・内部通信チャネル
１０８・・・ＣＤＰシステム
１１０・・・リモート・サーバ
１１２・・・外部通信チャネル
１１３・・・ネットワーク
２０２・・・仮想ファイル・システム（ＶＦＳ）
２０６・・・ネットワーク・ファイル・システム（ＮＦＳ）
４０６・・・処理ユニット
４１８・・・ローカル・ハード・ディスク
４４０・・・フラッシュ・ドライブ
４４２・・・ハード・ディスク・ドライバ
４４４・・・フラッシュ・ディスク・デバイス・ドライバ
４４６・・・ネットワーク・プロトコル実装
【図１】
0005623284.tif 000002
【図２】
0005623284.tif 000003
【図３】
0005623284.tif 000004
【図４】
0005623284.tif 000005
【図５】
0005623284.tif 000006
【図６】
0005623284.tif 000007
【図７】
0005623284.tif 000008
【図８】
0005623284.tif 000009