JP2002507016A - 広域コンピュータネットワークにおけるコンピュータファイルをバックアップするためのシステムおよび方法 - Google Patents

広域コンピュータネットワークにおけるコンピュータファイルをバックアップするためのシステムおよび方法

Info

Publication number
JP2002507016A
JP2002507016A JP2000535980A JP2000535980A JP2002507016A JP 2002507016 A JP2002507016 A JP 2002507016A JP 2000535980 A JP2000535980 A JP 2000535980A JP 2000535980 A JP2000535980 A JP 2000535980A JP 2002507016 A JP2002507016 A JP 2002507016A
Authority
JP
Japan
Prior art keywords
block
computer
network
digital signature
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000535980A
Other languages
English (en)
Other versions
JP2002507016A5 (ja
Inventor
スティーブン・ピーター・ミッケルセン
トーマス・ビー・ボルト
フレッド・ダブリュー・マックレイン
Original Assignee
スカイデスク インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/041,149 external-priority patent/US6049874A/en
Priority claimed from US09/100,914 external-priority patent/US6038665A/en
Application filed by スカイデスク インコーポレイテッド filed Critical スカイデスク インコーポレイテッド
Publication of JP2002507016A publication Critical patent/JP2002507016A/ja
Publication of JP2002507016A5 publication Critical patent/JP2002507016A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • G06F11/3423Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/83Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 ラップトップコンピュータのバックアップロジックシステム(300)は、ラップトップコンピュータの使用中にバックアップを取るために、ユーザが選択したファイルまたは自動的に選択されたファイルをコピーする。変更されたファイルは、バックアップされ、ラップトップコンピュータ(24)のホールド領域内に記憶される。ラップトップコンピュータ(24)がネットワークに接続され、非動作状態にあることを検知すると、変更されたファイルのブロックがホールド領域からネットワーク(14)を介して離れた装置に送信される。ラップトップコンピュータ(24)のスクリーンセーバが呼び出されたとき、ラップトップコンピュータ(24)において、バックアッププロセスを起動させることができる。

Description

【発明の詳細な説明】 【0001】 (関連出願) 本出願は、1998年6月19日付けで出願された米国特許出願第09/10
0,914号の一部継続米国特許出願である。さらに、この米国特許出願第09
/100,914号は、1998年3月12日付けで出願された米国特許出願第
09/041,149号の一部継続米国特許出願である。この米国特許出願第0
9/041,149号は、1996年12月3日付けで出願された米国特許出願
第08/757,134号の一部継続米国特許出願であって、現在、米国特許第
5,794,254号となっており、優先権がこのときから主張される。 【0002】 (発明の分野) 本発明は、一般に、コンピュータファイルのバックアップシステムに関し、と
りわけ自動化されたコンピュータファイルのバックアップシステムに関する。 【0003】 (発明の背景) 膨大な量の情報が、パーソナルコンピュータのハードディスク駆動機構やその
他の広く知られたデータ記憶媒体などの電子媒体上に記憶されている。このよう
な情報は、近年ますます、もっぱら、こうした媒体に記憶され、大量の情報のた
めに、「ハード的な」(つまり、紙の)コピーは存在しなくなった。情報を紙面
上に記憶する必要のあるシステムとは対称的に、いわゆる「ペーパーレス」情報
記憶システムによれば、必要なスペースを小さくでき、さらに自然資源を消費す
ることはない。ただし残念ながら、電子データ記憶媒体が「破壊」する、つまり
、情報を損傷したり、消失してしまうことは珍しくない。こうした情報の消失は
、情報所有者にとって壊滅的であり、費用が高くつく。 【0004】 したがって、多くのコンピュータシステム管理者は、コンピュータファイルの
コピーを定期的にバックアップする。通常、1日1度(あるいは、その他の特定
の周期で)、システム管理者は、コンピュータシステムを操作して、システムの
ハードディスク駆動機構に存在するファイルを、その他のハードディスク駆動機
構や磁気テープなどの記憶媒体上にコピーする。たとえ、システム内の1つのフ
ァイルまたはハードディスク駆動機構全体が損傷を受けて、アクセスできなくな
った場合でも、例えば、記憶テープ上に記憶されたファイルをシステム内に再度
コピーし直すことができる。 【0005】 こうしたバックアップシステムは、いくつかの問題を有する。まず、こうした
バックアップシステムによれば、バックアップ処理を開始し、単調で退屈な作業
に従事する担当者の時間を割くといった、ユーザの相互操作を必要とする。さら
に、コンピュータファイルをバックアップし、バックアップする際、同じ場所で
ファイルを記憶するシステムは、火事や洪水などの大災害が起こったとき、あま
り価値がない。なぜなら、バックアップされたファイルコピーは、システム内に
存在するファイルとともに消滅して、バックアップシステムが破壊すると考えら
れるためである。 【0006】 択一的なバックアップシステムの一例が、米国特許第5,479,654号で
開示され、離れた電子記憶装置にモデムを介して、コンピュータファイルの変更
された部分を送信することが教示されている。’654特許で開示されているよ
うに、前回のバックアップ以降になされた変更に対して、コンピュータファイル
のセグメント(segment)がチェックされる。このチェックは、第1に、ファイ ルのいわゆる「排他的論理和(XOR)」の結果と、ファイルの記憶されたバッ
クアップバージョンのために過去に求められていたXOR値を比較することを含
む。2つのXOR値が合致しなければ、ファイルが変更されたことを意味し、フ
ァイルの変更された部分が、モデム、LAN、WAN、またはその他のネットワ
ークデバイスを介して離れた場所に送信される。 【0007】 他方、2つのXOR値が合致すれば、第2に、より領域的なチェックを行って
、セグメントが最近過去のバックアップ時から変更されたかどうかを検知する。
第2のチェックでは、セグメントの巡回冗長検査(CRC)と前回の記憶された
CRC値に対して比較する。2つのCRC値が合致しなければ、ファイルが変更
されたことを意味し、ファイルの変更された部分が、モデム、LAN、WAN、
またはその他のネットワークデバイスを介して離れた場所に送信される。そうで
なければ、セグメントは、最近過去のバックアップ時から変更されなかったもの
と仮定される。 【0008】 残念ながら、’654特許で開示されたシステムは、1回のチェックに2回の
計算を必要とする。各計算には計算時間を要し、本発明により認識されるように
、結果的には、コンピュータファイルに変更があったかどうかを決定するために
要する計算回数を最低限に抑えることが好ましい。さらに、ここで認識されるよ
うに、最初の「迅速かつ不正」なチェックを行って、計算上必要な領域チェック
の回数を低減することができる。 【0009】 さらに、本発明で認識されたように、離れた記憶装置へのデータ通信を管理し
て、あるユーザが別のユーザの操作を干渉しないようにする必要がある。さらに
、本発明によれば、いくつかのファイルは、最初の段階では、まったくバックア
ップする必要がないことが認識されている。本発明によれば、1つ以上の方法で
復元ファイルを形成して、消失したファイルをコンピュータシステムに復元する
ために必要な時間を低減することができる。 【0010】 上述の考察に加えて、本発明は、所定の間隔でデータをバックアップすると、
バックアップデータをこの間隔において形成し、消失する恐れがあることを認識
している。幸いにも、本発明によれば、ユーザが能動的にコンピュータを使用し
ているときに、広域ネットワークを介したデータバックアップを行うことができ
るので、リアルタイムで、かつ、ほとんど最新のデータバックアップを提供する
ことができる。 【0011】 さらに、データが広域ネットワークを介して通信される場合、安全性の理由か
らデータをまず暗号化することが好ましい。本発明によれば、ユーザが用いる暗
号化データの単一キーが長いほど、キーが破られる危険が増大することが認識さ
れている。この理由のため、データを暗号化するために、2つ以上のキーを用い
ることが好ましい。長期間に亙ってバックアップするという文脈において、所定
の時間間隔において2つ以上のキーを用いることは、多少困難であることを本発
明は認識している。というのも、続いて行われる暗号解読中に、正確な暗号化キ
ーを、本来の暗号化されたブロックに関連付けることが困難であるからである。
ただし、ここで認識されるように、2個以上の暗号化キーを利用しやすくして、
暗号化システムのリスクを低減することができる。本発明は、加えて、各通信セ
ッションに対するセッション固有キーを用いることが好適で、しかも可能であり
、この固有キーは、通信されるデータの各ビットが論理的に知られていない場合
には、破られることはない。 【0012】 本発明は、多くの人々が、職場に、職場から、または旅行中に携帯するラップ
トップコンピュータまたはその他の携帯可能なコンピュータの利用が増大する点
を視野に入れている。ラップトップコンピュータのユーザは、しばしば、ラップ
トップコンピュータをコンピュータネットワークに接続しようとする。ネットワ
ークシステムは、例えば、単一のプリンタを有する、単純な家庭用のネットワー
クであったり、職場におけるローカルエリアネットワーク(LAN)であったり
、プリンタ、サーバネットワークなどの数多くのデバイスが接続された広域ネッ
トワーク(WAN)であったりする。いずれの場合においても、ラップトップコ
ンピュータのユーザは、ネットワークに接続する毎に、コンピュータを再構成す
る必要があることが、本発明により認識されている。例えば、特定のプリンタ、
またはラップトップコンピュータがたまたま接続される、ネットワーク上の特定
のサーバと通信するように、コンピュータを再構成する。携帯可能コンピュータ
のユーザに対して、ネットワークに接続する毎にコンピュータを再構成すること
を要請するのは、じれったくも時間の要することであり、こうした再構成は、実
行するためにユーザの介在を必要としないものであることを、本発明は認識して
いる。 【0013】 ラップトップコンピュータに関して、さらに、ラップトップコンピュータは、
通常、継続的に、あるいは実際に任意の規則的間隔でネットワークと接続されて
いるわけではなく、ユーザのスケジュールが許す特定の条件のもとで、ネットワ
ーク接続される。したがって、インターネットに対して、ラップトップコンピュ
ータを事前に予定してバックアップを取ることは、最適な解決方法ではないこと
を、本発明は認識している。むしろ、ここで理解されるように、ラップトップコ
ンピュータが、時折、インターネットに接続されることを想定した十分に頑健な
手法で、ラップトップコンピュータ上でバックアップされたコンピュータファイ
ルを送信する必要がある。本発明の目的は、上記問題の1つまたはそれ以上に対
処することにある。 【0014】 (発明の要約) コンピュータプログラム製造物は、例えば、携帯可能なラップトップコンピュ
ータなどのデジタル処理システムにより読み出し可能なコンピュータプログラム
記憶デバイスを有する。コンピュータプログラム記憶デバイス上には、ロジック
手段があって、このロジック手段は、コンピュータネットワークに接続可能な携
帯可能コンピュータから、少なくとも1つのローカルコンピュータファイル内に
ある少なくともいくつかのブロックを、バックアップする方法ステップを実行す
るためのデジタル処理システムにより実行可能な指令を有する。このコンピュー
タプログラム製造物により実行される方法ステップは、少なくとも1つのスクリ
ーンセーバ信号を受信するステップと、スクリーンセーバ信号に呼応して、バッ
クアップすべきブロックを準備するステップ、およびネットワークを介してブロ
ックを送信するステップのうち、少なくとも一方のステップを実行するステップ
を有する。好適な実施形態においては、この方法ステップは、同様に、所定のデ
ータ量がバックアップされた場合、および未保護データ量が所定の閾値を超える
場合の一方または両方の条件が存在するとき、ユーザに警告を与えるステップを
有する。 【0015】 別の態様においては、コンピュータプログラム製造物は、携帯可能コンピュー
タ内にあるコンピュータファイルの少なくともブロックを決定するロジックを有
する。また、このプログラム製造物は、携帯可能コンピュータ内にあるファイル
システムにアクセスして、バックアップすべきブロックにアクセスするロジック
手段を有する。さらに、ロジック手段は、バックアップすべきブロックを決定す
る手段に呼応して、携帯可能コンピュータのホールド領域にブロックをコピーす
る。さらに、携帯可能コンピュータがコンピュータネットワークに接続された時
点を判断するためのロジックが設けられている。以下詳述するように、このロジ
ックは、ネットワークのデータ経路が非動作状態にある時点を判断する。データ
経路が非動作状態にある時、ホールド領域にあるブロックを、ネットワークを介
して、離れたデータ記憶デバイスに送信する。 【0016】 好適なロジックは、携帯可能コンピュータ内にあるコンピュータファイルのブ
ロックをバックアップすべきと判断した場合、ネットワークインターフェイスを
呼び出す。ファイル変更信号を受信すると、ブロックをホールド領域にバックア
ップすることができる。また、データ準備完了信号を受信すると、ブロックをホ
ールド領域からネットワークへ送信する。このコンピュータプログラム製造物は
、携帯可能コンピュータおよびネットワークと協働して開示される。 【0017】 別の態様において、コンピュータプログラム製造物は、デジタル処理システム
により読み出し可能なコンピュータプログラム記憶デバイスと、プログラム手段
をプログラム記憶デバイス上に有する。本発明が意図するように、このプログラ
ムデバイスは、極めて重要な機械部品の内部に実現され、これにより、デジタル
処理システムは、コンピュータネットワークに接続可能な少なくとも1つの携帯
可能コンピュータから、少なくとも1つのローカルコンピュータファイル内にあ
る1つまたはそれ以上のブロックを、バックアップするための方法ステップを実
行する。このコンピュータプログラム製造物により実行される方法ステップは、
バックアップすべきブロックを準備するステップと、携帯可能コンピュータがネ
ットワークに接続されたかどうかを判断するステップを有する。携帯可能コンピ
ュータがネットワークに接続されている場合、1つまたはそれ以上のブロックの
送信を可能にする。本発明によれば、このブロックは、送信すべき他のデータに
インターリーブされる。 【0018】 上述のこれまでの用途において、バックアップすべきローカルファイル内にあ
る少なくともいくつかのブロックに対して、各々、第1の比較値を定義する2文
字がコピーされ、第2の比較値を定義するデジタル署名コードが形成される。少
なくともいくつかのブロックに対して、テストデジタル署名コードが周期的に決
定され、これと第2の比較値のそれぞれとを比較される。ブロックのテストデジ
タル署名コードが、すべての第2の比較値と等しくならない場合、ブロックの最
初の2文字が第1の比較値のうちの1つと等しいかどうかが判断される。反対に
、最初の2文字が第1の比較値のうちの1つと等しい場合、テストブロックの第
1バイトとしてi番目のテストバイトを用いて、ブロックのデジタル署名コード
が決定される。その後、ブロックのデジタル署名コードが、第2の比較値のうち
の1つと等しいかどうかが判断され、ブロックのデジタル署名コードが、第2の
比較値のうちの1つと等しい場合、「再同期」を応答する。さもなければ、i番
目のテストバイトの最初の2文字が、第1の比較値のうちの1つと等しくない場
合、またはブロックのデジタル署名コードが第2の比較値のうちの1つと等しく
ない場合、iを単位元(1)だけ繰り上げる。このコンピュータプログラム製造
物は、携帯可能コンピュータと協働して開示される。 【0019】 必要ならば、このコンピュータプログラム製造物は、好適には、ネットワーク
に接続される1つまたはそれ以上のデバイスの存在と種類に基づいてネットワー
ク構成を決定し、その後、少なくとも1つの携帯可能コンピュータの設定と相関
か関係を有することができる。相関ステップに呼応して、コンピュータ上の設定
を確立することができる。 【0020】 さらに別の形態において、携帯可能コンピュータ内にある1つまたはそれ以上
のファイルのつまたはそれ以上のブロックをバックアップし、ブロックをネット
ワークを介して離れたコンピュータ記憶位置に送信するための携帯可能コンピュ
ータのバックアップシステムは、携帯可能コンピュータがネットワークに接続さ
れている時点を決定するロジック手段を有する。さらに、このシステムは、ネッ
トワークの可用性が少なくとも所定の可用性と等しいかどうかを判断するロジッ
ク手段を有する。さらに、ロジック手段は、1つまたはそれ以上の送信基準を満
足する場合に、バックアップすべきブロックをネットワークに対して送信する。
この送信基準は、携帯可能コンピュータがネットワークに接続されていることで
あってもよい。 【0021】 さらに別の実施形態において、コンピュータファイルブロックをバックアップ
するためのコンピュータにより実行される方法は、ユーザ用コンピュータにおい
て、1つまたはそれ以上の暗号化キーを用いて少なくとも1つのブロックを暗号
化する。この方法は、さらに、1つまたはそれ以上のキーをキーファイル内に記
憶するステップと、このブロックを離れたデータセンタへ送信するステップを有
する。次に、この方法は、復元時間において、このブロックをデータセンタから
ユーザ用コンピュータへ送信し、キーファイルから1つのキーを選択する。この
ブロックがこのキーにより暗号解読されると、この方法は、暗号解読が成功した
かどうかを判断する。暗号解読が成功しなかった場合、キーリストから別のキー
を選択して、このデータを暗号解読し、暗号解読が成功するまで、上記ステップ
を反復する。 【0022】 別の実施形態では、送信コンピュータと受信コンピュータの間でデータを送信
する送信セッションのためのセッションキーを提供する方法は、データに固有の
データデジタル署名を集めるステップと、データを暗号化するために、このデー
タデジタル署名を利用するステップを有する。 【0023】 別の実施形態では、ユーザ用コンピュータと少なくとも1つのデータ記憶装置
を有する、システム内のテ゛ータをバックアップする方法は、ユーザ用コンピュータ において、ユーザ用コンピュータに付随するデータが共通ソフトウェアライブラ
リ内に存在するかどうかを判断するステップを有する。このデータが共通ソフト
ウェアライブラリ内に存在する場合、このデータはバックアップされない。そう
でなければ、このデータが少なくとも所定数のシステム内のユーザ用コンピュー
タ内に存在している場合、このデータは自動的に共通ソフトウェアライブラリに
追加される。 【0024】 本発明の詳細は、その構造および動作において、添付図面を参照すると最もよ
く理解され、同様の参照符号は同様の構成部品を示す。 【0025】 (好適な実施形態の詳細な説明) まず、図1を参照すると、一般に、符号10で示すシステムが図示されており
、このシステムは、ここではデータセンタ12と称するサーバコンピュータを有
する。サーバコンピュータは、コンピュータネットワークの一部である。好適な
実施形態において、データセンタ12は、インターネットと称するコンピュータ
ネットワーク14の一部であって、モデム、LAN、WANまたはその他のネッ
トワークデバイス16を介して、ネットワーク14上の他のコンピュータと接続
することができる。 【0026】 図1に図示するように、データセンタ12は、付随する共通ライブラリ20を
含む電子データ記憶貯蔵体18を有する。好適には、大多数のユーザをサポート
するために、このシステム10をスケーリングできるように、データ貯蔵体18
は、数テラバイトまたは、実際には1ペタバイトの容量を有する。データ貯蔵体
18の容量は、100テラバイト以上であることが好ましく、500テラバイト
以上であることが、さらに好ましい。制御モジュール22は、以下に詳述する新
規なロジックと協働して、データ貯蔵体18に入出力されるデータの流れを制御
する。 【0027】 本発明によれば、共通ライブラリ20は、広範に分配され、数多くのユーザに
が用いるコンピュータファイルブロックを記憶するため、数多くのユーザに対し
て汎用性がある。例えば、共通ライブラリ20は、広く知られた既成のパーソナ
ルコンピュータオペレーティングシステム、ネットワークブラウザなどのコピー
を記憶することができる。共通ライブラリ20は、後に図5を参照しながら、さ
らに説明するように、自動的に更新することができる。本発明が意図するように
、共通ライブラリ20を備えたデータ記憶貯蔵体18は、例えば、磁気テープ、
ハードディスクアレイ、コンパクトディスク読み出し専用メモリ(CD−ROM
)、DASDアレイ、またはフロッピーディスクなどの適当な媒体内に物理的に
構成することができる。 【0028】 複数のユーザ用コンピュータ24、例えば、パーソナルコンピュータ、携帯可
能コンピュータ、またはパームトップコンピュータが、それぞれのユーザ用モデ
ム26またはその他の適当なネットワーク通信を介して、ネットワーク14と通
信する。好適な実施形態では、ユーザ用コンピュータ24の各々は、ソフトウェ
アにより実現されるバックアップモジュール28を有し、このバックアップモジ
ュール28が、本発明の進歩性を保証するものとなる。別の実施形態において、
このバックアップモジュール28は、ユーザ用コンピュータ24から取り外し、
またはこれにアクセスできるものと理解されたい。さらに、容易に理解しやすく
するために、ユーザ用コンピュータ24は、各々、CD−ROM駆動機構30を
有する。当業者ならば理解されるように、ユーザ用コンピュータ24は、同様に
、ビデオモニタ、プリンタ、およびその他の出力デバイスと、キーボード、マウ
ス、およびその他の入力デバイスを備えることができる。 【0029】 図2ないし図8は、コンピュータプログラムソフトウェアとして実現された、
本発明のバックアップモジュール30の構成を示す。当業者ならば理解されるよ
うに、これらの図面は、本発明の機能を果たす、コンピュータプログラムコード
要素または電子ロジック回路などのロジック要素の構成を示している。明らかに
、本発明は、必須の実施形態において、機械部品を用いて実現され、この機械部
品により、デジタル処理装置(つまりコンピュータ)に指令を与えるような形態
を有するロジック要素が、図面に図示した一連の機能ステップに対応するステッ
プを実行する。 【0030】 これらの指令は、プログラムされたコンピュータディスケットなどのようなコ
ンピュータプログラム製造物(product)を確立するためのデータ記憶媒体を含 むプログラム記憶装置上に存在することもある。択一的には、こうした媒体を、
磁気テープ、光ディスク、従来式のハードディスク駆動機構、電子式読み出し専
用メモリ、または電子式ランダム・アクセス・メモリ、またはその他の適当なデ
ータ記憶デバイスなどの半導体デバイス上に見出すこともできる。本発明の説明
的な実施形態において、ロジック手段は、C++言語コードで記述されたコンピュ
ータにより実行可能な指令である。 【0031】 ここで、図2を参照すると、初期化プロセスを理解することができる。このプ
ロセスは、各ユーザ用コンピュータに関する開始状態32で始まり、ブロック3
4に移動する。このとき、ファイル・インデックス・カウンタ「j」は、単位元
(1)に等しくなるように設定される。判断菱形36に進み、後に説明する、い
わゆる「メッセージ・ダイジェスト・ファイブ(MD5:message digest five )」コードを用いて、j番目のファイルのコピーが共通ライブラリ20内に既に
記憶されているかどうかを判断する。これは、j番目のファイルのMD5と共通
ライブラリ20内にあるファイルのMD5とを比較することにより、ファイル毎
に行うことができる。共通ライブラリ20内に記憶された各ファイルに対して、
共通ライブラリ20内のファイルのMD5の1つと、ファイルのMD5が合致す
ると判断された場合、このプロセスは、ブロック38に進んで、このファイルが
共通ライブラリ20内にあるものとして、ファイルにフラグを立てる。したがっ
て、大多数の候補すべてがデータセンタ12へ送信されることはない。 【0032】 択一的には、各j番目ファイルの各ブロックのMD5と共通ブロックMD5の
リストを比較して、共通ライブラリ20内の共通ライブラリのMD5リストにあ
るMD5と合致するMD5を有するブロックに関してのみ、ファイルにフラグを
立てることにより、より大きな細分化(granularity)を実現することができる 。したがって、大多数の候補をすべてデータセンタ12に送信することはない。
j番目ファイルがユーザ用コンピュータ24内に存在するときに、j番目ファイ
ルが、共通ライブラリ20内の共通の既成バージョンから変更された場合、変更
された部分が検知され、後に図3を参照して説明するサブファイル・インクリメ
ント式手続の間にデータセンタ12に送信されると、理解されたい。 【0033】 いずれにせよ、共通ライブラリ20を用いると、多くのパーソナルコンピュー
タシステム上に存在するが、大部分のパーソナルコンピュータシステム上には存
在しないならばバックアップを必要とする、極めて大量の既成のコンピュータフ
ァイルを、データセンタ12に送信する必要性を回避できることが理解されよう
。換言すると、共通ライブラリ20を用いて、ユーザ用コンピュータ24にある
ファイルの最初のコピーを作成する時間と労力を削減することができる。 【0034】 加えて、ブロック38において、ブロック毎の比較値の作成リストが記憶され
て、このリストには、共通ライブラリ20内あるものとしてフラグを立てられた
各j番目ファイルの各i番目ブロック(ここで、「i」はブロック・インデック
ス・カウンタである。)に対する2つのエントリがある。第1のエントリは、各
i番目ブロックの第1バイトの最初の2文字(「XXi」)である。対称的に、 第2のエントリは、i番目ブロックのコンテンツを固有に定義する値としてのデ
ジタル署名(「MD5」)である。第1エントリが第1比較値を、第2エントリ
が第2比較値を形成する。 【0035】 上述のように、この好適な実施形態において、用いられるデジタル署名は、暗
号化技術で知られた128ビット長の「メッセージ・ダイジェスト・ファイブ(
MD5:message digest five)」コードである。本発明により認識されるよう に、ブロックのMD5コードは、ブロックに非常に少ない変更があっても大きく
変化する。本発明によるデジタル署名は、好適にも、検査合計、巡回冗長コード
、およびいわゆる「排他的論理和」コードよりも、ブロック内の変化に対して、
より敏感である。 【0036】 ブロック38から、ロジックは判断菱形40に進み、ユーザ用コンピュータ2
4内の最後のファイルが検査されたかどうかを判断する。最後のファイルが検査
された場合、初期化プロセスは、状態42で終了する。そうでなければ、このプ
ロセスは、ブロック44に進み、ファイル・インデックス・カウンタ「j」を1
つ繰り上げて、判断菱形36に戻る。 【0037】 これとは対称的に、判断菱形36において、j番目ファイルのi番目ブロック
のコピーが、共通ライブラリ20に存在しない場合、このロジックは、ブロック
46に進み、j番目ファイルの存在しないi番目ブロックの各コピーを、データ
センタ12のデータ記憶貯蔵体18へ、少しづつ送信する(trickle)。コピー を少しづつ送信する(trickle copy)ことは、ファイルの存在しないブロックが
所定の送信期間において、データセンタ12へ送信されることを意味する。ファ
イルの存在しない部分がすべて送信されるまで、または送信期間が過ぎるまで、
この送信期間を、ここでは「ウィンドウ」と称する。択一的には、図8を参照し
ながら後に説明するように、ユーザ用コンピュータ24がネットワーク14とオ
ンライン接続されている場合、バックアップすべきデータは、ユーザがユーザ用
コンピュータ24に入力する時に、リアルタイムで送信することができる。 【0038】 ファイルの存在しない部分がすべて送信される前に、送信期間が経過した場合
、各バックアップモジュール28は、チャンク(chunk)の送信を完了した後、 終了する。送信期間において、送信が妨害された場合、モジュール28は、ブロ
ック・インデックス・カウンタ「i」の値を記憶するので、次回の送信期間にお
いて、送信をそこから再開できる。次回の送信期間の開始時点において、バック
アップモジュール28は、ブロック・インデックス・カウンタ「i」を単位元(
1)だけ繰り上げて、前回中断したi番目のファイルの送信を開始する。図2で
示すように、ブロック46において、i番目のXXiおよびMD5iに関するブロ
ック毎のリストが、ブロック38を参照して上述したように、作成される。この
ロジックは、ブロック46から判断菱形40へ進み、上述のように機能する。 【0039】 ここで図3を参照すると、サブファイル・インクリメント式バックアップロジ
ックが図示されている。本発明が意図するように、周期的に(例えば、1日に1
度の頻度で)、各ユーザ用コンピュータ24のバックアップモジュール28は、
以下詳述するプロセスを実行する。 【0040】 判断菱形48で開始して、ユーザが選択する所定のバックアップ期間が開始さ
れたかどうかを判断する。そうであれば、このプロセスは、ブロック50に進ん
で、バックアップするかどうかをユーザにより指定された各j番目ファイルに対
して、DOループに入る。この後、このプロセスは、ブロック52に進み、ブロ
ック50で選択されたj番目ファイルの各i番目ブロックに対して、DOループ
に入る。 【0041】 ブロック54に進んで、バックアップモジュール28は、i番目ブロックのテ
ストされるデジタル署名MD5i newを計算する。次に、判断菱形56において、
i番目ブロックのテストされるデジタル署名MD5i newを、上述のように図2で
形成されたリストに記憶されたデジタル署名MD5i oldと比較する。 【0042】 デジタル署名MD5i oldのリストが、i=0からi=nまでの順序を有するリ
ストで、ここでnは、リスト中のデジタル署名の数であると理解されたい。i番
目ブロックのテストされるデジタル署名MD5i newは、最初に、リスト中のi番
目ブロックのデジタル署名MD5i oldと比較され、合致しなければ、次に、順序
を有するリストの次のデジタル署名MD5i old(すなわち、i番目+1MD5ol d )などと、合致するまで、または順序を有するリストの最後に至るまで比較さ れる。リスト中のどこかで合致することが検知されると、判断菱形56における
テストは肯定判定され、このプロセスは、判断菱形58に移動する。また、リス
ト中のl(エル)番目位置で合致したことが検知されると、l>iのとき、テス
トすべき(i+l)番目のブロックのMD5i+l newが、最初に、MD5i+l old
つまり、古いデジタル署名の順序を有するリスト中の(i+l)番目の要素と比
較される。合致しないことが検知された場合、(i+l)番目のブロックのMD
i+l newは、その後、古いデジタル署名の順序を有するリスト中の(i+l)番
目の要素の後にあるリスト中のデジタル署名に対して連続的にテストされる。 【0043】 i番目のブロックの説明に戻ると、デジタル署名が合致したことが検知された
場合、これは、最近過去にバックアップしてから、テストされるi番目ブロック
には変更がなかったことを意味し、このプロセスは、判断菱形58へ移動する。
判断菱形58において、このロジックは、j番目ファイルの最後のブロックがテ
ストされたかどうかを判断し、まだテストされていない場合には、このプロセス
は、ループバックして、次のi番目ブロックを呼び出し、図示して詳述したよう
に、デジタル署名を計算する。換言すると、テストされるj番目ファイルに関し
て、ブロックが残っている限り、インデックス・カウンタ「i」を1つずつ繰り
上げる。このプロセス54は、ブロック54にループバックする。 【0044】 他方、j番目ファイルの最後のブロックがテストされた場合、このロジックは
、判断菱形60において、ユーザ用コンピュータ24内の最後のファイルがテス
トされたかどうかを判断する。まだテストされていない場合には、このプロセス
は、ループバックして、次のファイルを呼び出して、上述のように、ファイル内
のブロックをテストする。最後のファイルがテストされた場合は、このプロセス
は、判断菱形62に移動する。 【0045】 判断菱形62において、バックアップ期間が経過したかどうか、つまり、配分
されたバックアップ・ウィンドウが依然として開放状態にあるかどうかを判断す
る。バックアップ期間が経過した場合、このロジックは、判断菱形48にループ
バックして、次に配分されるバックアップ期間の開始を待つ。逆に、バックアッ
プ・ウィンドウが依然として開放状態にある場合、このロジックは、モデム26
、16(または、LANやWANなどのその他のネットワークデバイス)を介し
て、データセンタ12との送信を確立しようとする。 【0046】 判断菱形64において、送信接続が実現されたかどうかを判断する。送信が接
続されなかった場合、このロジックは、ブロック66に進み、所定のタイムアウ
ト時間(好適には、5分間)だけ待って、判断菱形62にループバックして、ウ
ィンドウが依然として開放状態にある場合、再接続を試みる。いずれにせよ、ユ
ーザ用コンピュータ12内のすべてのファイルをテストした後に、ユーザ用コン
ピュータ12とデータセンタ12の間において、送信が確立されたと判断された
場合に、このロジックは、ブロック68において、すべての残存する更新された
ブロックを暗号化し、(以下詳述するように)圧縮して、これらをデータセンタ
12に送信する。このプロセスは、ブロック68から判断菱形48にループバッ
クする。 【0047】 判断菱形56から派生する否定ループについて説明すると、i番目ブロックの
デジタル署名が、ブロックのリストに記憶されたデジタル署名のいずれとも合致
しない場合、i番目ブロックが変更されたことを意味し、そのため、i番目ブロ
ックは、バックアップすべき候補となる。加えて、このプロセスは、上述のブロ
ック毎の比較値リストと再同期する。 【0048】 したがって、判断菱形56において否定判定された後(すなわち、このロジッ
クが本質的に「変更ブロック」信号を応答するとき)、このロジックは、ブロッ
ク70に移動する。このとき、i番目ブロックのk番目のバイトに対して、DO
ループに入る。「k」は、最初は単位元(1)に等しいインデックス・カウンタ
である。判断菱形72に進んで、このロジックは、テストされるk番目のバイト
で始まるブロックの最初の2文字(「XXk new」)が、比較値リストにあるi番
目ブロックに対応する第1の比較値(「XXold」)と等しいかどうか判断する 。この比較値リストは、順序を有するデジタル署名MD5oldと並行しているこ とを理解されたい。その結果、第1の比較で合致することはなく、判断菱形56
におけるテストと同様に、合致が検知されるか、リストの最後に達するまで、順
序を有するリスト中の次の2文字XXoldに対して、XXk newが比較される。 【0049】 合致することなく、比較値リストの最後まで及んだ場合、このロジックは、判
断菱形73まで進み、現在のk番目のバイトがテストされる候補ブロックの最後
のバイトであるかどうかを判断する。換言すると、判断菱形73において、この
ロジックは、バイト・インデックス・カウンタ「k」が約2048に等しいかど
うかを判断する。その場合、このロジックは、ブロック74に進み、ブロック・
インデックス・カウンタ「i」を単位元(1)だけ繰り上げた後、このロジック
ループは、判断菱形58に進む。この場合、検査されるすべてのブロックについ
て、コピーするようフラグが立てられる。判断菱形73において、バイト・イン
デックス・カウンタ「k」が1000に等しくなければ、このロジックは、ルー
プバックして、「k」を単位元(1)だけ繰り上げて、判断菱形72において、
i番目ブロック中の次のバイトをテストする。 【0050】 しかしながら、判断菱形72において、「XXk new」が「XXold」と等しい と判断した場合、このロジックは、判断菱形75に進む。判断菱形75において
、テストされるk番目のバイトを第1バイトとして有するブロックのデジタル署
名MD5が決定され、第2比較値、すなわち、比較値リスト中にある合致する文
字XXoldに対応するデジタル署名MD5oldと比較される。判断菱形56におけ
るテストと同様に、合致を見出すために必要ならば、テストされるデジタル署名
MD5は、順序を有するリスト中の後続のデジタル署名MD5oldに対してテス トされる。合致することが検知されなかった場合、このロジックは、判断菱形7
3に移動する。 【0051】 しかしながら、テストされるk番目のバイトを第1バイトとして有するブロッ
クのデジタル署名MD5が、判断菱形75において、順序を有するリスト中のデ
ジタル署名MD5oldの1つに等しいと判断された場合、このロジックは、「再 同期された」ことを応答し、ブロック76に移動する。換言すると、判断菱形7
5における肯定的なテスト結果は、このロジックが、過去にバックアップされた
古い未変更のブロックを見出し、このロジックが比較値リストに対して再同期し
たことを意味するものである。 【0052】 ブロック76において、変更されたブロック(ここでは、「送信ブロック」と
もいう。)は、「次回チャンク(next chunk)」ファイルに移動する。ブロック
76において、比較値リストは、次回バックアップ周期においてブロックをテス
トする間、第1および第2比較値として各々用いられる、変更されたブロックに
関する最初の2文字およびデジタル署名を含むように更新される。判断菱形78
に移動すると、チャンクファイルが満杯になっているかどうかを判断する。現在
の好適な実施形態において、チャンクファイルの容量が5メガバイト(5MB)
のとき、満杯となる。 【0053】 チャンクファイルが満杯でなければ、このロジックは、判断菱形58に戻る。
逆に、チャンクファイルが満杯であれば、このプロセスは、判断菱形80に進ん
で、バックアップ期間が経過したかどうか、すなわち、配分されたバックアップ
・ウィンドウが依然として開放状態にあるかどうかを判断する。この期間が経過
している場合、このロジックは、判断菱形48にループバックして、次回の配分
されたバックアップ期間が始まるのを待つ。反対に、バックアップ・ウィンドウ
が依然として開放状態にある場合、このロジックは、上述のステップ64および
66を処理して、送信がうまく接続されたとき、このチャンク(chunk)をデー タセンタ12へ送信する。このロジックは、ブロック82から判断菱形58に戻
る。 【0054】 図4は、消失したファイルをユーザ用コンピュータ24に復元できるロジック
を示す。ここで明らかなように、データセンタ12におけるバックアップされた
ファイルブロックは、周期的に(例えば、毎週、毎月、毎四半期など)、記憶貯
蔵体18からCD−ROMディスクにコピーされ、これらのディスクは、関連す
るユーザ用コンピュータ24と同じ物理的場所に搬送される。以下、これらのC
D−ROMディスクを「ローカル・バックアップ・システム」という。 【0055】 ブロック84において、データセンタ12内にある、ユーザ用コンピュータ2
4に対応するブロックのディレクトリが、データセンタ12からダウンロードさ
れる。次に、ブロック86において、消失したファイルのi番目の各ブロックに
対して、以下のようにDOループに入る。判断菱形88において、ファイルブロ
ックの要求されたバージョン(version)がローカル・バックアップ・システム 上にあるかどうか判断される。もしあれば、ブロック90において、そのブロッ
クは、ローカル・バックアップ・ディスクから優先的に復元される。もしなけれ
ば、ブロック92において、そのブロックは、データセンタ12からモデム26
、16を介して復元される。このロジックは、ブロック90またはブロック92
からループバックして、次のi番目のブロックを呼び出し、すべての要求された
ファイルが復元されるまで、このプロセスを続ける。 【0056】 図5ないし図8を参照すると、本発明のさらなる発明的特徴が理解される。特
に、図5に関して、図1で示す共通ソフトライブラリ20は、図5のブロック1
00において開始することにより、自動的に更新することができる。ブロック1
00において、サーバ(すなわち、図1で示すデータセンタ12)は、記憶のた
めに受信される付随するブロックとともに、各デジタル署名MD5コードに関し
て、判断菱形102に移動することによりループを実行し、このとき、テストさ
れるデジタル署名MD5コードが、候補としてライブラリ20に記憶されたかど
うかを判断する。特定のデジタル署名MD5コードが、最初に、任意のユーザ用
コンピュータから受信される。判断菱形102におけるテストの結果が否定的で
ある場合、このプロセスは、当然に、ブロック104に進んで、候補リスト上に
デジタル署名MD5コードを記憶する。また、ブロック104において、テスト
される特定のデジタル署名MD5コードのためのカウンタJMD5が単位元(1) と等しくなるように設定される。ブロック104からブロック106に進んで、
次に受信されるデジタル署名MD5コードが呼び出され、上述のプロセスが、図
5に示す破線ループバック線で図示されたように反復される。 【0057】 一方、デジタル署名MD5コードがユーザ用コンピュータから事前に受信され
ていた場合、つまり、判断菱形102におけるテストの結果が肯定的である場合
、このプロセスは、ブロック108に進んで、テストされるデジタル署名MD5
コードに付随するJMD5を1つだけ繰り上げる。テストされるデジタル署名MD 5コードに付随するカウンタJMD5が、任意のユーザ用コンピュータから受信さ れた場合、またはテストされるデジタル署名MD5コードを事前に送信しなかっ
たユーザ用コンピュータから受信された場合はいつでも、テストされるデジタル
署名MD5コードに付随するカウンタJMD5を1つ繰り上げることができる。 【0058】 次に、判断菱形110において、テストされるデジタル署名MD5コードに付
随するカウンタJMD5の値が所定値「k」に等しいかどうかが判断される。この プロセスは、カウンタJMD5の値が所定値「k」に等しくなければ、ブロック1 06にループバックし、等しければ、ブロック112に進んで、関連するブロッ
クとともに、テストされるデジタル署名MD5コードを共通ソフトウェアライブ
ラリ20に加える。その後、このプロセスは、ブロック106にループバックし
て、次のデジタル署名MD5コードを呼び出す。 【0059】 図6Aおよび図6Bは、ユーザが複数の暗号化キーを用いて、バックアップす
るためのデータを送信することにより、安全性を高められるようにした本発明の
特徴を示す。ブロック114で開始して、ユーザ用コンピュータにおいて、図2
ないし図4で上述したステップにより選択されたバックアップを要するブロック
のそれぞれのデジタル署名MD5コードが決定され、各データブロックに添付さ
れ、その後、このデジタル署名MD5コードは、当業者により広く知られた圧縮
原理を用いて圧縮される。ブロック116に進んで、MD5コードではなく、デ
ータブロックがユーザ・キー・リスト上のユーザ選択キーを用いて暗号化される
。このプロセスは、ブロック116から、状態120で終了するが、上述の送信
ステップが実行可能であることを理解されたい。続いて、ユーザ用コンピュータ
が、例えば、図6Aで示すステップにより処理されたデータパケットを消失して
、データセンタ12からデータパケットのコピーを受信できるように要請した場
合、ユーザ用コンピュータは、図6Bに示すステップを呼び出す。ブロック12
4で開始して、ユーザ用コンピュータは、データセンタ12から記憶すべきブロ
ックを受信し、各ブロックに対して次のステップを実行する。ブロック126に
おいて、コンピュータは、リスト中から第1暗号化キーを選択した後、ブロック
128において、ブロックを暗号解読し、圧縮解除する。判断菱形130に進ん
で、ユーザ用コンピュータは、例えば、データオーバフローで示されるように、
圧縮解除が失敗したかどうかを判断する。圧縮が失敗した場合は、このプロセス
は、ブロック132に進んで、リスト中から次の暗号化キーを選択し、その後、
ブロック128にループバックして再び圧縮を試みる。 【0060】 一方、判断菱形130において、満足できるように圧縮解除できたと判断され
た場合、このプロセスは、ブロック136に進んで、このパケットデータからデ
ジタル署名MD5コードを抜き取り、暗号解読されるブロックに付随するデータ
のデジタル署名MD5コードを新たに計算することにより、テストされるキーを
認証する。ブロック136において、このプロセスを実行するとき、デジタル署
名MD5コードは、既知の位置に付随するデータに添付される128ビット長の
ストリングであって、結果として、このデジタル署名MD5コードを容易に抜き
取ることができると、本発明は理解している。 【0061】 判断菱形138において、暗号解読データの計算されたデジタル署名MD5コ
ードが、ブロック136において、データから抜き取られた暗号解読されたデジ
タル署名MD5コードと比較される。判断菱形138において、2つのデジタル
署名MD5コードが互いに合致する場合、テストされるキーは認証され、このプ
ロセスは、ブロック140において、「正確なキー」を応答する。その後、ブロ
ック124において、次のデータ部分を呼び出す。2つのデジタル署名MD5コ
ードが互いに合致しない場合、このプロセスは、ブロック132にループバック
して、ユーザ用コンピュータのキー・リストにある次のキーを呼び出す。 【0062】 図7Aは、暗号化のための独特のセッション固有のセッション・キーを提供す
る方法を示す。ブロック142で開始して、送信すべき一連のデータ全体に対す
るデジタル署名MD5コードが、データを送信するコンピュータにより計算され
る。ブロック144に進んで、このデジタル署名MD5コードが、データ送信セ
ッションのための暗号化キーとして用いられる。キーのために56ビットしか必
要とされない場合、排他的論理和(XOR)処理を用いて、128ビット長のデ
ジタル署名MD5コードの半分の64ビットが組み合わされる。結果として得ら
れる64ビットストリングの8ビット、つまり最後の8ビットは、切り捨てられ
る。 【0063】 ブロック144から、このロジックは、「A」および「B」で示されるように
、2通りの選択肢を取る。とりわけ、ブロック146Aにおいて、デジタル署名
MD5コード(またはその一部)を乱数として用いて暗号化された後、ブロック
148Aにおいて、データは受信コンピュータに送信される。他方、セッション
・キーとして機能するデジタル署名MD5コードの一部が、(すなわち、ブロッ
ク146Aにおいて、データを暗号化するために用いられるデジタル署名MD5
コードの一部)が、従来式の私的キー/公的キーによる暗号化原理を用いて、あ
るいは、より好適には、ディフィ−へルマン(Diffie-Helman)暗号化原理を用 いて、送信コンピュータから受信コンピュータへ送信される。すなわち、146
Bにおいて、受信コンピュータの公的キーを用いて、送信コンピュータがデジタ
ル署名MD5コードを暗号化することができる。その後、ブロック148Bにお
いて、受信コンピュータは、私的キーを用いて、このデジタル署名MD5コード
を暗号解読することができる。図7Aで示すように、ブロック150は、ブロッ
ク148Aおよびブロック148Bで得られた結果を受信して、デジタル署名M
D5コードのセッション・キーを用いて、暗号解読することができる。 【0064】 図7Bは、ブロック152ないし158で図示された認証ステップを実行する
ことにより、ブロック152で受信されるデータを認証することができる。とり
わけ、ブロック152において、受信コンピュータは、ブロック150からの暗
号解読データに関連するデータのデジタル署名MD5コードを計算する。次に、
判断菱形154において、暗号解読データの計算されたデジタル署名MD5コー
ドが、ブロック148Bで受信され暗号解読されたデジタル署名MD5コードと
比較される。XOR処理されたデジタル署名MD5コードの56ビットだけがセ
ッション・キーとして用いられる場合、判断菱形154における比較は、セッシ
ョン・キーと、ブロック152で計算されたデジタル署名MD5コードのXOR
処理されたバージョンとの間で行うことができる。 【0065】 いずれにせよ、判断菱形154において、2つのデジタル署名MD5コードが
合致する場合、テストされるセッション・キーが認証され、このプロセスは、ブ
ロック156において、「送信が認証された」ことを応答する。2つのデジタル
署名MD5コードが合致しない場合、このプロセスは、ブロック158において
、「送信エラー」を応答する。 【0066】 ここで、図8を参照しながら、広域コンピュータネットワークを介して連続的
にデータバックアップするための方法を示す。このとき、ユーザ用コンピュータ
はネットワークとオンライン接続しており、ユーザはこのユーザ用コンピュータ
を利用している。ブロック160で開始して、これまで説明したような原理に基
づいて変更されたデータブロックをバックアップすべきことが、ユーザ用コンピ
ュータにより決定されると(バックアップ開始時間を待つことなく、このプロセ
スは、むしろ間断なく、リアルタイムで、バックアップすべきデータブロックを
決定する。)、このプロセスは、判断菱形162移動する。判断菱形162にお
いて、このプロセスは、このユーザ用コンピュータが、例えば、図1に示すよう
なネットワークとオンライン接続されているかどうかを判断する。オンライン接
続されていない場合、このプロセスは、ブロック164に進み、オンライン接続
された時に送信すべきデータを記憶する。 【0067】 一方、判断菱形162において、このプロセスは、ユーザ用コンピュータがネ
ットワークとオンライン接続されていると判断した場合、このロジックは、判断
菱形166に進み、ユーザ用コンピュータの中央演算装置(CPU)がビジー状
態にあるかどうかを判断する。特に、図8で示すバックアップタスクよりも優先
順位の高い優先順位を有するタスクが処理されて、CPUがビジー状態にあるか
どうかを判断する。CPUが、このデータバックアップタスクよりも高い優先準
位を有するタスクを実行している場合、このプロセスは、ブロック168に進み
すべてのブロックが送信されるまで、またはバックアップタスクよりも優先順位
の高いタスクを行うために、コンピュータが再び占有されるまで、ブロックを送
信する。ブロックの送信が、より優先順位の高いタスクにより妨害される場合、
ユーザ用コンピュータは、より優先順位の高いそのタスクを実行して、完了した
時点で、このバックアップタスクに戻って、データブロックの送信を完了させる
ものと理解されたい。このロジックは、その後、ブロック169に進み、送信す
べき別のブロックを決定し、ユーザがユーザ用コンピュータを他のタスクで利用
している時に、実質的にリアルタイムでブロックを送信する。 【0068】 ブロック170と判断菱形166の間のループ、およびブロック168におけ
る「ビジー状態にある」ループは、上述の記述の原理を説明するものである。判
断菱形166において、キー操作などの入力タスクを実行するように要請されて
いる場合など、CPUがビジー状態にある場合、このロジックは、ブロック17
0に進み、所定期間Δtだけ待って、判断菱形166における判断を再び試みる
。Δtの長さは、極めて短く、ミリ秒またはマイクロ秒のオーダである。択一的
には、このロジックは、本質的に「CPUが非動作状態」であるΔtを定義する
ことができ、CPUが非動作状態のとき、ブロック168に進み、データ送信す
る。 【0069】 例えば、判断菱形166においてテストを行う間、CPUは、コンピュータの
ユーザによるキー入力を介してデータ入力を受信することができる。その場合、
このプロセスは、ブロック170において、キー入力が完了するまで待機した後
、ブロック168において、データ送信する。こうして、1つの実施形態におい
て、このプロセスは、ユーザの要請をサポートするCPUタスク間に、例えば、
キー入力と次のキー入力の間に、バックアップデータを送信する。さらに、この
プロセスは、キー入力により変更され、バックアップデータとして決定され、デ
ータがコンピュータユーザにより創作された時点で、実質的にリアルタイムで記
憶するように、インターネットを介して遠くデータ送信する。 【0070】 図9および図10は、例えば、ユーザ用コンピュータ24が、このロジックを
採用するラップトップコンピュータまたはパームトップコンピュータである場合
の好適な実施形態において、上述した原理を図示する。以下詳述するように、携
帯可能コンピュータの環境において、本発明によれば、ホスト携帯可能コンピュ
ータがネットワークに接続されていないとき、ファイルブロックがコピーされ、
ネットワークに接続されたときに、コピーされたブロックがネットワークを介し
て記憶装置に送信される。 【0071】 ブロック180において開始して、ホスト携帯可能コンピュータが稼動してい
る場合、このロジックは、ユーザ用コンピュータ上のすべてのファイルについて
、またはユーザが設定した一連のファイルついてのみ、バックアップを要するか
どうかを検討する。ユーザが、例えば、ワイルドカードを備えた含有/排他リス
ト(inclusion/exclusion lists)を用いて、バックアップのための一連のファ イルを(ディレクトリなどにより)設定した場合、ブロック182において、こ
の一連のファイルが受信される。ブロック182から、または判断菱形180か
ら、ユーザ設定の一連のファイルがなく、すべてのファイル(または一連のデフ
ォルトファイル)は、バックアップする候補となり、このロジックは、ブロック
184に進み、先に図3を用いて説明したようなロジックに従って、上述のよう
なチャンクの中にブロックを準備する。既に説明したように、ユーザが、文章作
成処理やプレゼンテーション用スライド作成処理などの、その他のタスクに対し
てホストコンピュータを採用した場合、バックアップ処理は、ユーザから見えな
い「背景(background)」で実施される。 【0072】 判断菱形186は、本発明に係るロジックを表しており、このロジックは、ホ
ストコンピュータ上において、所定の記憶スペースの限界値に達したかどうかを
モニタする。本発明により認識されるように、稼動しているがネットワークとは
接続されていないラップトップコンピュータなどの携帯可能コンピュータは、バ
ックアップすべきブロックを複製して形成するので、記憶スペースに限界が生じ
る場合がある。このとき、判断菱形186におけるステップは、「背景」処理と
して意図された上述のバックアップ処理により、ユーザの記憶容量が一杯になら
ないようにするためのものである。この好適なネットワークの実施形態において
、ホストコンピュータの5%以下の記憶容量が、バックアップ用に記憶するため
に用いられる。択一的には、ユーザが所定の記憶スペースの限界値を設定する。
記憶スペースの限界値に達した場合、このロジックは、ブロック188に移り、
例えば、バックアップすべきブロックを送信した後、ホストコンピュータの上の
バックアップコピーを削除して、追加的な記憶スペースを空けるまで、バックア
ップ処理を一時中断する。 【0073】 ブロック188から、またはテスト結果が否定的であるときの判断菱形186
から、このロジックは、判断菱形190に移る。判断菱形190で表したように
、このロジックは、ホスト携帯可能コンピュータがネットワークに接続している
かどうかをモニタする。ネットワークの接続が検知されない場合、このロジック
は、ブロック192に移り、上述のようにバックアップ処理を継続して実行し、
判断菱形186に論理的にループバックする。 【0074】 逆に、このロジックは、ネットワークの接続を検知した場合、判断菱形194
で示すように、このホスト携帯可能コンピュータが能動的にデータを送信してい
るかどうかを判断する。ホスト携帯可能コンピュータが能動的にデータを送信し
ている場合、このロジックは、この送信処理を妨害しないように、バックアップ
処理を一時中断して、その後、判断菱形194に論理的にループバックして、デ
ータ送信の完了を待つ。ホスト携帯可能コンピュータがデータ送信していない場
合、このロジックは、ブロック192に戻る。 【0075】 図9で示すロジックフローは、説明するための本発明の原理を表すもので、実
際のロジックコードは、イベント待ち方式であってもよく、つまり、判断菱形1
86、190、および194において表される状態をモニタするものであっても
よいと理解されたい。同様に、図10および図11のフローフォーマットで示す
ロジックは、イベント待ち方式コードとして実行される。 【0076】 ここで、図10を参照すると、図9で示したロジックにより形成されたバック
アップすべきブロックを送信するためのロジックが図示されている。ブロック1
98で開始して、この送信ロジックは、ネットワーク接続が検知された場合に開
始される。好適な実施形態においては、ブロックが利用でき、ネットワーク帯域
が許容する場合、送信バックアップブロックに優先順位が与えられ、このとき、
ホストコンピュータがネットワークに接続されていて、送信準備が整ったブロッ
クが全くない場合、またはネットワークを使用することが送信を妨害する場合に
、図9に示すバックアップ処理が実行される。 【0077】 判断菱形200に移って、このロジックは、データのブロックを送信する準備
が整っているかどうかを判断する。整っていれば、このロジックは、ブロック2
02に移り、例えば、関連するメタデータまたはその他の送信すべきデータに、
このブロックをインターリーブする。この目的は、処理すべき最後のファイル全
体に至るまでのバックアップセッション中になされたすべてのフォワード・プロ
グレス(forward progress)を利用できるようにするためで、その結果、送信が
中止された時点までに完了した作業の利点を享受することができる。この点に関
して、このプロセスは、「シャクトリムシ」データ送信と考えられ、この中で、
送信の流れを任意の点で機能させ、依然として実行可能なエンティティを維持す
ることができる。 【0078】 ブロック200から、このプロセスは、ブロック202に移り、最後の実際に
インターリーブされるブロックを特定するために、「最後のブロック」を定義す
る。その後、このプロセスは、判断菱形206に移る。 【0079】 判断菱形206は、バックアップデータを送信するために、十分にネットワー
クの可用性(availability)があるかどうかを判断する。1つの実施形態では、
このロジックがバックアップデータを送信するためには、ネットワークの可用性
が全体の可用性に対して所定の設定値、例えば70%未満である必要がある。そ
の場合、このロジックは、ブロック208に移り、データを送信する。そうでな
い場合、このロジックは、ブロック210に移り、ネットワークの可用性が所定
の設定値以下となるまで待って、図3で上述した再同期ロジックを用いてこのプ
ロセスを再開する。 【0080】 1つの好適な実施形態においては、ネットワークがローカル・ネット・ワーク
(LAN)である場合、オペレーティングシステムのパーフォーマンス・カウン
タを用いて、ステップ206における判断が実行される。例えば、オペレーティ
ングシステムがマイクロソフト社のオペレーティングシステムである場合、パー
フォーマンス・レジストリにある動的キーの数を用いて、単位時間あたりの送信
パケット数を決定することができる。この比は、ネットワークがどの程度ビジー
状態にあるか(つまり、ネットワークの可用性)を示す。あるいは、ネットワー
クが(インターネットのような)広域ネットワークである場合、ホストコンピュ
ータがパケットを送信した時点から、受信コンピュータから受信の返答(acknow
ledgement)を受信する時点までの往復時間を用いて、ネットワークの可用性を 表す。このとき、この往復時間が短ければ、可用性は高い。ホストコンピュータ
が、WANに接続されたLANに接続されている場合、判断菱形206において
、一方または両方のネットワークの可用性を判断することができる。 【0081】 図11は、上述のバックアップロジックに加えて、携帯可能コンピュータを接
続するネットワークのために、好適にも、携帯可能コンピュータを自動的に構成
(configuring)する本発明を示す。とりわけ、本発明は、特定のプリンタ、サ ーバ、インタネット接続、およびコストコンピュータがたまたま接続されたネッ
トワークの記憶リソースに対して、携帯可能コンピュータを自動的に再構成(re
configures)することにより、ユーザは、ホストコンピュータがネットワークに
接続される毎に、こうした時間のかかる再構成処理を手動で実行しなくても済む
。 【0082】 ブロック212で開始して、本発明は、各ネットワークのデバイスのリストと
ともに、ネットワークの認証リストを、(自動的に、またはユーザの手動による
1回の入力により)編集する。例えば、特定の指定を有する職場プリンタ、特定
の指定を有する職場サーバ、特定の指定を有するインターネット接続、および特
定の指定を有する職場記憶リソースを備えたユーザの職場のLANによって、第
1のネットワークを確立してもよい。同様に、特定の指定を有する家庭プリンタ
、特定の指定を有する家庭サーバ、特定の指定を有する家庭インターネット接続
、および特定の指定を有する家庭記憶リソースを備えたユーザの家庭のLANに
よって、第2のネットワークを確立してもよい。 【0083】 本発明が意図するように、「ネットワーク構成」とは、ネットワーク上にある
どのような種類のどのようなデバイス、つまり、どのようなプリンタなどがネッ
トワークに接続されるかということを意味する。各ネットワーク構成に対して、
一連のホストコンピュータ設定が記憶され、包含される。換言すると、各ネット
ワーク構成に対して、一連のホストコンピュータ設定は、相関関係があって、ホ
ストコンピュータが、例えば、ネットワークのプリンタで印刷させることができ
る。ブロック212において、ネットワーク構成は記憶される。 【0084】 ブロック214に移って、本発明は、ホストコンピュータがネットワークに接
続された時点を検知する。ブロック216において、本発明は、どのようなデバ
イスがネットワークに接続されたかを検知する。判断菱形218に移って、この
ロジックは、ネットワークに実際に接続されたデバイスと、記憶されたネットワ
ーク構成とを比較する。例えば、90%以内で合致していることが検知されると
(つまり、ネットワーク上の10個のデバイスのうち9個が、ネットワーク構成
テーブル内の単一のエントリにあることが検知されると)、このロジックは、ブ
ロック220に移り、合致したネットワーク構成と相関するネットワーク設定に
従って、ホスト携帯可能コンピュータを再構成する。検知されたネットワーク構
成が、記憶されたネットワーク構成のいずれとも合致しない場合、このプロセス
は、ホスト携帯可能コンピュータ内にデフォルト設定を確立して、判断菱形21
8から終了する。 【0085】 ここで、図12および図13を検討すると、コンピュータ24(図1)が、一
般に、システム300と称するように図示されたとき、コンピュータ24上のコ
ンピュータファイルのブロックをバックアップするためのロジックに関する別の
実施形態が示されている。システム300は、コンピュータ24により実行可能
なロジック指令のシーケンスを有する。このとき、このシーケンスは、ブロック
302から開始し、コンピュータのオペレーティングシステムが起動する。 【0086】 判断菱形304に移り、コンピュータがバックアップのために、適正に構成さ
れているかどうかを判断する。つまり、ソフトウェア内に存在する現在のロジッ
クがコンピュータ24内に適正にインストールされているかどうかを判断する。
そうである場合、このプロセスは、判断菱形306を続けて、ユーザまたは自動
的に、バックアップ候補として、任意のファイルが選択つまり指定されたかどう
かを判断する。「バックアップ候補」とは、携帯可能なコンピュータ内にあるい
くつかのまたはすべてのファイルを意味し、上述のバックアップアルゴリズムに
より検討のために、バックアップ候補を選択することができる。このとき、いく
つかの(あまり重要でない)ファイルを、バックアップのための検討から除外し
て、処理速度を上げることができる。 【0087】 ファイルがまったく選択されなかった場合、このプロセスは、判断菱形306
からブロック306に移って、ユーザにより、バックアップの候補として、この
コンピュータ内のファイルのいくつかまたはすべてを選択できるように、ユーザ
インターフェイスを実行することができる。あるいは、ブロック308において
、コンピュータ内のいくつかまたはすべてのファイルを、バックアップのための
候補として自動的に選択することができる。例えば、ブロック308において、
バックアップのための候補として、テンポラリ・インターネットファイルは別と
して、すべてのファイルが自動的に選択されることもある。 【0088】 判断菱形306において、少なくともいくつかのファイルがバックアップのた
めの候補として選択された場合、このプロセスは、ブロック310に移り、図1
3を参照しながら以下詳述するネットワーク・インターフェイスをスタートさせ
る。プロッく312に移って、ネットワーク・インターフェイスがスタートする
と、コンピュータのファイルシステムが「フック(hook)」される。「フック(
hook)」とは、このロジックがコンピュータ24の元来あったファイルシステム
コード内に挿入されることを意味する。このように、任意のユーザがこのファイ
ルシステムにアクセスしたときはいつでも、このロジックが起動されるので、図
2および図3を参照して説明した利用のために、ファイルシステム内のブロック
に変更があったことを検知することができる。 【0089】 判断菱形314において、ファイルシステムが、システム300により成功裡
にフックされたかどうか、すなわち、ファイルシステムのフックが、正確かつ安
全に所定位置に存在するかどうかを判断する。その場合、このロジックは、状態
316に移り、2つのコンピュータシステム信号の一方のために待機状態に入る
。第1に、ブロック318において、ファイル変更信号が受信された場合、この
ロジックは、ブロック320に移行し、上述のバックアップアルゴリズム(例え
ば、図2および図3で示すアルゴリズム)に従って、新しいファイルデータを処
理する。このように、上述の原理に基づいて、バックアップ用ブロックとして処
理されたブロックは、携帯可能コンピュータの中にある「ホールド」領域と称す
る内部データ記憶領域内にコピーされる。ブロック320から、このロジックは
、ループバックして、状態316を持つ。 【0090】 一方、ブロック322において、コンピュータ・シャットダウン信号を受信し
た場合、またはブロック314において、ファイルシステムのフックがうまく処
理されなかったと判断された場合、あるいは、ブロック304において、コンピ
ュータが適正に構成されていないと判断された場合、このロジックは、ブロック
324に移る。ブロック324において、ファイルシステムのフックが終了する
。ブロック326に移って、出口信号が、図13で示すネットワーク・インター
フェイス・ロジックに送信された後、ブロック328において、「出口(exit)
」メッセージがコンピュータのモニタ上に表示される。このプロセスは、ブロッ
ク330において、コンピュータのオペレーティング・システムへ出る。 【0091】 ここで図13を参照すると、ネットワーク・インターフェイス・ロジックが図
示されている。このロジックは、状態332で開始して、判断菱形334に移り
、コンピュータ24において、ネットワーク・ソフトウェアが存在するかどうか
を判断する。存在する場合、このロジックは、第1の待機状態336に移り、2
つのシステム信号の一方を待つ。ブロック338において、図12で示すロジッ
クから出口信号を受信した場合、このプロセスは、ブロック340に移り、すべ
ての既存のネットワークを終了して、図12のロジックに帰還する。反対に、ブ
ロック342において、ネットワーク送信がスタートしたことを示す信号を受信
した場合、このロジックは、第2の待機状態344に移る。 【0092】 このロジックは、第2の待機状態334において、3つのシステム信号の1つ
を待つ。ブロック346において出口信号を受信できた場合、このロジックはブ
ロック340に移り、上述のように機能する。また、ブロック348において、
ネットワークが停止したことを示す信号を受信できた場合、第1の待機状態33
6までループバックする。さらに、ブロック350において、ネットワークが非
動作状態であることを示す信号を受信できた場合、このロジックは、第3の待機
状態352に進む。「非動作状態のネットワーク」とは、図10に関して上述し
た原理に従って計測されたように、ネットワーク上のデータ経路が非動作状態に
あることを意味し、好適には、コンピュータ24からネットワークまでのデータ
経路を意味し、または、あまり好適でないが、ネットワーク内の他のデータ経路
を意味する。 【0093】 このロジックは、第3の待機状態352において、4つのシステム信号の1つ
を待つ。ブロック354において、出口信号を受信できた場合、このロジックは
ブロック340に移り、上述のように機能する。また、ブロック356において
、ネットワークが停止したことを示す信号を受信できた場合、第1の待機状態3
36までループバックする。さらに、ブロック358において、ネットワークが
動作状態であることを示す信号を受信できた場合、このロジックは、第2の待機
状態344に進み、ネットワーク非動作信号を待つ。 【0094】 図13に示すように、ブロック360において、ホールド領域においてデータ
の準備が整っていることを示す信号を受信することがある。第3の待機状態35
2において、その他の3つの信号を受信する前に、このような信号を受信する場
合(つまり、「ネットワーク非動作状態」信号が存在したままか、実行中である
場合)、データは、ネットワークを介して、離れた場所にあるデータ記憶装置に
送信される。データ準備完了信号が存在して、かつ、第3の待機状態352にお
いて他の3つの信号が存在しない限り、このロジックは、ブロック360に留ま
る。 【0095】 図14を参照すると、ラップトップコンピュータのファイルのバックアップを
呼び出すための「スパルタ式」バージョンが図示されている。ブロック362で
開始して、例えば、バックアップすべきファイルを有する携帯可能コンピュータ
のオペレーティング・システムから非動作信号を受信する。例えば、ブロック3
62で非動作信号を受信すると、スクリーン・セーバ・プログラムが開始される
。 【0096】 上述の具体例において、スクリーン・セーバが現れると、このロジックは、そ
の後、ブロック364に移り、図2および図3で示すアルゴリズムに従って、バ
ックアップするためにファイルブロックをコピーする。加えて、図14に示すロ
ジックは、2つのテストを実行する。第1に、判断菱形366において、ラップ
トップコンピュータ内にある未保護のデータの量が所定のデータ量よりも多いか
どうかを判断する。「未保護」とは、バックアップすべき候補として、ユーザに
よりまたは自動的に選択されず、最近過去にバックアップされて以来、変更され
た(または、まったくバックアップされたことのない)データのブロックを意味
する。同様に、判断菱形368において、ホールド領域におけるデータ量(すな
わち、バックアップされるが、送信されていないデータ量)が、所定量を超える
かどうかを判断する。この所定量は、例えば、ネットワークの容量に依存するこ
ともある。判断菱形366、368において、どちらかのテストが肯定的であれ
ば、このロジックは、ブロック370において、携帯可能コンピュータのモニタ
上に、例えば、ホールド領域にあるブロックを送信するために、速やかにネット
ワークを接続すべきである旨を示唆して、警告表示する。 【0097】 ここに図示、説明された、広域コンピュータネットワークにおけるコンピュー
タファイルをバックアップするための特定のシステムおよび方法によれば、本発
明の上述の目的を実現することができる。これは、本発明に係る現在の好適な実
施形態であって、本発明を用いて広く実施される目的物を意味し、当業者には明
白となる他の実施形態が本発明の範囲に含まれるものと理解されたい。したがっ
て、本発明の範囲は、添付したクレーム以外によって、限定されるものではなく
、単数扱いで用いた構成要素は、「1つまたはそれ以上」と明確に記述されない
限り、「1つ、およびただ1つ」を意味するものとして意図される。 【図面の簡単な説明】 【図1】 図1は、本発明に係るコンピュータファイルのバックアップシス
テムの概略図を示す。 【図2】 図2は、初期化プロセスのフローチャートを示す。 【図3】 図3は、サブファイルのインクリメント式バックアッププロセス
に関するフローチャートを示す。 【図4】 図4は、復元プロセスのフローチャートである。 【図5】 図5は、共通ソフトウェアライブラリを自動的に更新するプロセ
スに関するフローチャートである。 【図6A】 図6Aは、バックアップされるデータを暗号化するためのプロ
セスに関するフローチャートである。 【図6B】 図6Bは、データセンタから受けたバックアップされたデータ
を暗号解読するためのプロセスに関するフローチャートである。 【図7A】 図7Aは、暗号化乱数として送信されるデータのメッセージ要
約(MD:message Digest)−5の比較値を用いて、ユーザ用コンピュータから
データセンタへ送信されるプロセスに関するフローチャートである。 【図7B】 図7Bは、図7Aで示すデータ送信を認証するプロセスに関す
るフローチャートである。 【図8】 図8は、ユーザがコンピュータを用い、コンピュータが広域ネッ
トワークを介して離れたデータセンタにオンライン接続されている場合に、ユー
ザ用コンピュータを継続的にバックアップするプロセスに関するフローチャート
である。 【図9】 図9は、コンピュータネットワークに時々接続される携帯可能コ
ンピュータ上のコンピュータファイルをバックアップするプロセスに関するフロ
ーチャートである。 【図10】 図10は、図9のロジック回路で形成されたデータを送信する
プロセスに関するフローチャートである。 【図11】 図11は、携帯可能コンピュータがコンピュータネットワーク
に接続されたときに、携帯可能コンピュータを自動的に再構成するプロセスに関
するフローチャートである。 【図12】 図12は、ラップトップコンピュータ上のファイルをバックア
ップする別のロジックプロセスに関するフローチャートである。 【図13】 図13は、図12のロジック回路の続きを示す。 【図14】 図14は、簡略化されたラップトップコンピュータのバックア
ップシステムのステップに関するフローチャートを示す。
───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 09/239,475 (32)優先日 平成11年1月28日(1999.1.28) (33)優先権主張国 米国(US) (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AL,AM,AT,AU,AZ,BA,BB ,BG,BR,BY,CA,CH,CN,CU,CZ, DE,DK,EE,ES,FI,GB,GE,GH,G M,HR,HU,ID,IL,IS,JP,KE,KG ,KP,KR,KZ,LC,LK,LR,LS,LT, LU,LV,MD,MG,MK,MN,MW,MX,N O,NZ,PL,PT,RO,RU,SD,SE,SG ,SI,SK,SL,TJ,TM,TR,TT,UA, UG,US,UZ,VN,YU,ZW (72)発明者 フレッド・ダブリュー・マックレイン アメリカ合衆国92014カリフォルニア州デ ル・マー、シルコ・ディエグエノ6886番 Fターム(参考) 5B018 HA02 KA03 MA12 QA01 5B082 DA02 DE06 5J104 AA09 AA16 EA06 EA19 EA33 LA06 NA02 NA03 PA07

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 コンピュータプログラム製造物であって、 デジタル処理システムにより読み出し可能なコンピュータプログラム記憶デバ
    イスと、 コンピュータネットワークに接続可能な少なくとも1つの携帯可能コンピュー
    タから、少なくとも1つのローカルコンピュータファイル内にある少なくともい
    くつかのブロックを、バックアップする方法ステップを実行するための、デジタ
    ル処理システムにより実行可能な指令を、コンピュータプログラム記憶デバイス
    上に有するロジック手段とを備え、 このコンピュータプログラム製造物により実行される方法ステップは、 少なくとも1つのスクリーンセーバ信号を受信するステップと、 スクリーンセーバ信号に呼応して、バックアップすべきブロックを準備するス
    テップ、およびネットワークを介してブロックを送信するステップのうち、少な
    くとも一方のステップを実行するステップを有することを特徴とするコンピュー
    タプログラム製造物。 【請求項2】 請求項1のコンピュータプログラム製造物であって、 この方法ステップは、 所定のデータ量がバックアップされた場合、および未保護データ量が所定の閾
    値を超える場合の一方または両方の条件が存在するとき、ユーザに警告を与える
    ステップをさらに有することを特徴とするコンピュータプログラム製造物。 【請求項3】 請求項1のコンピュータプログラム製造物であって、 この方法ステップは、 バックアップすべきローカルファイル内にある少なくともいくつかのブロック
    に対して、各々、第1の比較値を定義する2文字をコピーし、第2の比較値を定
    義するデジタル署名コードを形成するステップと、 少なくともいくつかのブロックに対して、テストデジタル署名コードを周期的
    に決定し、これと第2の比較値のそれぞれとを比較するステップと、 ブロックのテストデジタル署名コードが、すべての第2の比較値と等しくなら
    ない場合、ブロックの最初の2文字が第1の比較値のうちの1つと等しいかどう
    かを判断するステップをさらに有することを特徴とするコンピュータプログラム
    製造物。 【請求項4】 請求項3のコンピュータプログラム製造物であって、 この方法ステップは、 最初の2文字が第1の比較値のうちの1つと等しい場合、テストブロックの第
    1バイトとしてi番目のテストバイトを用いて、ブロックのデジタル署名コード
    を決定するステップと、 ブロックのデジタル署名コードが、第2の比較値のうちの1つと等しいかどう
    かを判断するステップと、 ブロックのデジタル署名コードが、第2の比較値のうちの1つと等しい場合、
    「再同期」を応答し、さもなければ、 i番目のテストバイトの最初の2文字が、第1の比較値のうちの1つと等しく
    ない場合、またはブロックのデジタル署名コードが第2の比較値のうちの1つと
    等しくない場合、i=i+1と設定して、選択ステップを反復するステップをさ
    らに有することを特徴とするコンピュータプログラム製造物。 【請求項5】 携帯可能コンピュータと協働する請求項1のコンピュータプ
    ログラム製造物。 【請求項6】 コンピュータプログラム製造物であって、 携帯可能コンピュータ内にあるファイルシステムにアクセスして、バックアッ
    プすべきブロックにアクセスするロジック手段と、 携帯可能コンピュータのホールド領域にブロックをコピーするロジック手段と
    、 携帯可能コンピュータがコンピュータネットワークに接続された時点を判断す
    るロジック手段と、 ネットワークのデータ経路が非動作状態にある時点を判断するロジック手段と
    、 データ経路が非動作状態にある時、ホールド領域にあるブロックを、ネットワ
    ークを介して、離れたデータ記憶デバイスに送信するロジック手段とを備えたこ
    とを特徴とするコンピュータプログラム製造物。 【請求項7】 請求項6のコンピュータプログラム製造物であって、 携帯可能コンピュータ内にある、少なくともバックアップすべきコンピュータ
    ファイルのブロックを決定するロジック手段と、 バックアップすべきコンピュータファイルのブロックを決定するロジック手段
    に呼応して、ネットワークインターフェイスを呼び出すロジック手段とをさらに
    有することを特徴とするコンピュータプログラム製造物。 【請求項8】 請求項6のコンピュータプログラム製造物であって、 アクセスするロジック手段が成功裡にファイルシステムにアクセスした時点を
    判断するロジック手段をさらに有することを特徴とするコンピュータプログラム
    製造物。 【請求項9】 請求項6のコンピュータプログラム製造物であって、 ファイル変更信号を受信して、ブロックをバックアップするロジック手段によ
    り、ブロックをホールド領域にバックアップするロジック手段をさらに有するこ
    とを特徴とするコンピュータプログラム製造物。 【請求項10】 請求項6のコンピュータプログラム製造物であって、 ネットワーク送信開始信号を受信するロジック手段をさらに有することを特徴
    とするコンピュータプログラム製造物。 【請求項11】 請求項6のコンピュータプログラム製造物であって、 データ準備完了信号を受信して、ブロックを送信するロジック手段により、ブ
    ロックをホールド領域からネットワークへ送信するロジック手段をさらに有する
    ことを特徴とするコンピュータプログラム製造物。 【請求項12】 携帯可能コンピュータと協働する請求項6のコンピュータ
    プログラム製造物。 【請求項13】 ネットワークと協働する請求項6のコンピュータプログラ
    ム製造物。 【請求項14】 携帯可能コンピュータ内にあるコンピュータファイルのブ
    ロックをバックアップするための方法であって、 携帯可能コンピュータからコンピュータ非動作信号を受信するステップと、 コンピュータ非動作信号に呼応して、バックアッププログラムに従って、コン
    ピュータのファイルシステム内にあるブロックをバックアップするステップとを
    有することを特徴とする方法。 【請求項15】 請求項14の方法であって、 コンピュータ非動作信号は、スクリーンセーバ開始信号により確立されること
    を特徴とする方法。 【請求項16】 請求項15の方法であって、 所定のデータ量がバックアップされた場合、および未保護データ量が所定の閾
    値を超える場合の一方または両方の条件が存在するとき、ユーザに警告を与える
    ステップをさらに有することを特徴とする方法。 【請求項17】 請求項14の方法であって、 バックアッププログラムは、方法ステップを実行し、 この方法ステップは、 バックアップすべきローカルファイル内にある少なくともいくつかのブロック
    に対して、各々、第1の比較値を定義する2文字をコピーし、第2の比較値を定
    義するデジタル署名コードを形成するステップと、 少なくともいくつかのブロックに対して、テストデジタル署名コードを周期的
    に決定し、これと第2の比較値のそれぞれとを比較するステップと、 ブロックのテストデジタル署名コードが、すべての第2の比較値と等しくなら
    ない場合、ブロックの最初の2文字が第1の比較値のうちの1つと等しいかどう
    かを判断するステップとを有することを特徴とする方法。 【請求項18】 請求項17の方法であって、 バックアッププログラムは、さらなる方法ステップを実行し、 この方法ステップは、 最初の2文字が第1の比較値のうちの1つと等しい場合、テストブロックの第
    1バイトとしてi番目のテストバイトを用いて、ブロックのデジタル署名コード
    を決定するステップと、 ブロックのデジタル署名コードが、第2の比較値のうちの1つと等しいかどう
    かを判断するステップと、 ブロックのデジタル署名コードが、第2の比較値のうちの1つと等しい場合、
    「再同期」を応答し、さもなければ、 i番目のテストバイトの最初の2文字が、第1の比較値のうちの1つと等しく
    ない場合、またはブロックのデジタル署名コードが第2の比較値のうちの1つと
    等しくない場合、i=i+1と設定して、選択ステップを反復するステップをさ
    らに有することを特徴とするコンピュータプログラム製造物。 【請求項19】 ラップトップコンピュータ内にあるファイルのブロックを
    バックアップするための方法であって、 バックアップすべきブロックを判断するステップと、 ラップトップコンピュータがコンピュータネットワークに接続される時点を判
    断するステップと、 ネットワークのデータ経路が非動作状態にある時点を判断するステップと、 データ経路が非動作状態にある時、バックアップすべきと判断されたブロック
    を、ネットワークを介して、離れたデータ記憶デバイスに送信するステップとを
    有することを特徴とする方法。 【請求項20】 請求項19の方法であって、 ネットワークインターフェイスを呼び出すステップをさらに有することを特徴
    とする方法。 【請求項21】 請求項19の方法であって、 ファイル変更信号を受信して、ラップトップコンピュータ内にあるホールド領
    域にブロックをコピーするステップをさらに有することを特徴とする方法。 【請求項22】 請求項21の方法であって、 データ準備完了ファイル信号を受信して、ホールド領域内のブロックを、ホー
    ルド領域からネットワークに送信するステップをさらに有することを特徴とする
    方法。 【請求項23】 携帯可能コンピュータが接続されるネットワークのために
    携帯可能コンピュータを構成するためのシステムであって、 ネットワーク上の少なくとも1つの他のデバイスを決定するロジック手段と、 ネットワーク構成と、1つまたはそれ以上の所定の構成とを比較するロジック
    手段と、 ネットワーク構成が少なくとも1つの所定の構成と合致する場合、ネットワー
    クのために携帯可能コンピュータを構成するロジック手段とを有することを特徴
    とする方法。 【請求項24】 請求項23のシステムであって、 所定の携帯可能コンピュータの設定が、所定の各構成と相関関係を有し、 ネットワーク構成が所定の各構成と合致する場合、構成する手段が少なくとも
    1つの携帯可能コンピュータにおける設定を確立することを特徴とする方法。 【請求項25】 携帯可能コンピュータ内の1つまたはそれ以上のファイル
    内にある1つまたはそれ以上のブロックをバックアップし、このブロックを離れ
    たコンピュータ記憶位置にネットワークを介して送信するための携帯可能コンピ
    ュータのバックアップシステムであって、 携帯可能コンピュータがネットワークに接続された時点を判断するロジック手
    段と、 ネットワークの可用性が少なくとも所定の可用性と等しくなる時点を判断する
    ロジック手段と、 1つまたはそれ以上の送信基準を満足する場合に、バックアップすべきブロッ
    クをネットワークに対して送信するロジック手段とを有し、 この送信基準は、携帯可能コンピュータがネットワークに接続されていると、
    判断手段が判断する点にあることを特徴とするシステム。 【請求項26】 請求項25のシステムであって、 この送信基準は、ネットワークの可用性が所定の可用性未満であると、判断手
    段が判断する点にあることを特徴とするシステム。 【請求項27】 請求項26のシステムであって、 メタデータを用いて、ブロックをインターリーブすることにより、ブロックが
    送信されることを特徴とするシステム。 【請求項28】 コンピュータプログラム製造物であって、 デジタル処理システムにより読み出し可能なコンピュータプログラム記憶デバ
    イスと、 コンピュータネットワークに接続可能な少なくとも1つの携帯可能コンピュー
    タから、少なくとも1つのローカルコンピュータファイル内にある1つまたはそ
    れ以上のブロックを、バックアップする方法ステップを実行するための、デジタ
    ル処理システムにより実行可能な指令を、コンピュータプログラム記憶デバイス
    上に有するロジック手段とを備え、 このコンピュータプログラム製造物により実行される方法ステップは、 バックアップすべきブロックを形成するステップと、 携帯可能コンピュータがネットワークに接続されている時点を判断するステッ
    プと、 携帯可能コンピュータがネットワークに接続されている場合、1つまたはそれ
    以上のブロックを送信することを許可するステップと、 送信するための他のデータをブロックにインターリーブするステップとを有す
    ることを特徴とするコンピュータプログラム製造物。 【請求項29】 請求項28のコンピュータプログラム製造物であって、 携帯可能コンピュータの所定の記憶容量限界値に達した場合、ブロックのバッ
    クアップを一時中断するステップをさらに有することを特徴とするコンピュータ
    プログラム製造物。 【請求項30】 請求項28のコンピュータプログラム製造物であって、 この方法ステップは、 携帯可能コンピュータがネットワークに接続されて、かつ、ネットワークへデ
    ータを送信している場合、ブロック形成ステップを一時中断し、そうでない場合
    、バックアップすべきと判断されたブロックすべてが形成されるまで、ブロック
    形成ステップを実行するステップをさらに有することを特徴とするコンピュータ
    プログラム製造物。 【請求項32】 請求項28のコンピュータプログラム製造物であって、 この方法ステップは、 携帯可能コンピュータがネットワークに接続されて、かつ、ネットワークの可
    用性が閾値以下である場合にのみ、ブロックを送信するステップをさらに有する
    ことを特徴とするコンピュータプログラム製造物。 【請求項33】 請求項28のコンピュータプログラム製造物であって、 この方法ステップは、 バックアップすべきローカルファイル内にある少なくともいくつかのブロック
    に対して、各々、第1の比較値を定義する2文字をコピーし、第2の比較値を定
    義するデジタル署名コードを形成するステップと、 少なくともいくつかのブロックに対して、テストデジタル署名コードを周期的
    に決定し、これと第2の比較値のそれぞれとを比較するステップと、 ブロックのテストデジタル署名コードが、すべての第2の比較値と等しくなら
    ない場合、ブロックの最初の2文字が第1の比較値のうちの1つと等しいかどう
    かを判断するステップをさらに有することを特徴とするコンピュータプログラム
    製造物。 【請求項34】 請求項33のコンピュータプログラム製造物であって、 この方法ステップは、 最初の2文字が第1の比較値のうちの1つと等しい場合、テストブロックの第
    1バイトとしてi番目のテストバイトを用いて、ブロックのデジタル署名コード
    を決定するステップと、 ブロックのデジタル署名コードが、第2の比較値のうちの1つと等しいかどう
    かを判断するステップと、 ブロックのデジタル署名コードが、第2の比較値のうちの1つと等しい場合、
    「再同期」を応答し、さもなければ、 i番目のテストバイトの最初の2文字が、第1の比較値のうちの1つと等しく
    ない場合、またはブロックのデジタル署名コードが第2の比較値のうちの1つと
    等しくない場合、i=i+1と設定して、選択ステップを反復するステップをさ
    らに有することを特徴とするコンピュータプログラム製造物。 【請求項35】 コンピュータプログラム製造物であって、 デジタル処理システムにより読み出し可能なコンピュータプログラム記憶デバ
    イスと、 少なくとも1つのローカルコンピュータファイル内にある少なくともいくつか
    のブロックを、コンピュータネットワーク内にある少なくとも1つのユーザ用コ
    ンピュータからバックアップする方法ステップを実行するための、デジタル処理
    システムにより実行可能な指令を、コンピュータプログラム記憶デバイス上に有
    するロジック手段とを備え、 このコンピュータプログラム製造物により実行される方法ステップは、 (a) ローカルファイルを、ユーザ用コンピュータから離れたデータセンタへ
    送信して、遠隔バージョンを形成するステップを有し、 データセンタは、コンピュータネットワークを介してアクセス可能で、少なく
    とも100テラバイトの電子記憶容量を有し、ローカルファイルと同一のコピー
    を記憶しない場合に限って、ローカルファイルがデータセンタへ送信されること
    を特徴とするコンピュータプログラム製造物。 【請求項36】 請求項35のコンピュータプログラム製造物であって、 この方法ステップは、 (b) ローカルファイル内にあるブロックに対して、各々、第1の比較値を定
    義する2文字をコピーし、第2の比較値を定義するデジタル署名コードを形成す
    るステップと、 (c) 各ブロックに対して、テストデジタル署名コードを周期的に決定し、こ
    れと第2の比較値のそれぞれとを比較するステップと、 (d) ブロックのテストデジタル署名コードがブロックの第2の比較値と等し
    くならない場合、ローカルファイルのブロックを、データセンタへ送信すべき送
    信ブロックとして特定することにより、遠隔バージョンを更新するステップと、
    (e) ブロックのテストデジタル署名コードがすべての第2の比較値と等しく
    ならない場合、ブロックのi番目(iは自然数)のテストバイトで始まる最初の
    2文字が、第1の比較値のうちの1つと等しいかどうかを判断するステップと、
    (f) 最初の2文字が第1の比較値のうちの1つと等しい場合、テストブロッ
    クの第1バイトとしてi番目のテストバイトを用いて、ブロックのデジタル署名
    コードを決定するステップと、 (g) ブロックのデジタル署名コードが、第2の比較値のうちの1つと等しい
    かどうかを判断するステップと、 (h) ブロックのデジタル署名コードが、第2の比較値のうちの1つと等しい
    場合、「再同期」を応答し、さもなければ、 (i) 最初の2文字が、第1の比較値のうちの1つと等しくない場合、または
    ブロックのデジタル署名コードが第2の比較値のうちの1つと等しくない場合、
    i=i+1と設定して、上記ステップ(e)−(i)を反復するステップをさら
    に有することを特徴とするコンピュータプログラム製造物。 【請求項37】 請求項35のコンピュータプログラム製造物であって、 この方法ステップは、 送信チャンク内に送信ブロックを集めるステップと、 送信チャンクのサイズが所定のサイズと等しいとき、送信チャンクをデータセ
    ンタへ送信するステップをさらに有し、 送信チャンクは、所定期間中においてのみデータセンタへ送信されることを特
    徴とするコンピュータプログラム製造物。 【請求項38】 請求項35のコンピュータプログラム製造物であって、 この方法ステップは、 ローカルファイルブロックの各々に対して、ローカルファイルブロックの複製
    が共通ファイルブロックライブラリに記憶されているかどうかを判断するステッ
    プと、 ローカルファイルブロックの複製が共通ファイルブロックライブラリに記憶さ
    れていない場合に限り、上記ステップ(a)を実行するステップをさらに有する
    ことを特徴とするコンピュータプログラム製造物。 【請求項39】 請求項35のコンピュータプログラム製造物であって、 この方法ステップは、 データセンタにおいて、携帯可能データ記憶媒体上に遠隔バージョンを周期的
    にコピーするステップと、 携帯可能データ記憶媒体上に記憶された遠隔バージョンが、少なくとも、デー
    タセンタに記憶されている遠隔バージョンと同じ程度に最新のものである場合は
    、携帯可能データ記憶媒体から遠隔バージョンをコピーし、そうでない場合は、
    データセンタから遠隔バージョンをコピーすることにより、ローカルファイルを
    復元するステップをさらに有することを特徴とするコンピュータプログラム製造
    物。 【請求項40】 ユーザ用コンピュータ内にあるファイルをバックアップす
    るためのシステムであって、 コンピュータデータの共通ライブラリを有するデータセンタと、 データセンタから離れ、これと通信する複数のユーザ用コンピュータと、 ユーザ用コンピュータのいずれのデータブロックが、共通ライブラリに含まれ
    るために、共通コンピュータファイルブロックであると判断する共通ライブラリ
    ロジック手段を有し、 共通コンピュータファイルブロックでないコンピュータファイルブロックは、
    非共通コンピュータファイルブロックと判断され、 さらに、非共通コンピュータファイルブロックが、ユーザ用コンピュータにお
    いて、少なくとも所定回数、出現する場合、共通ライブラリに非共通コンピュー
    タファイルブロックを追加する共通ライブラリ追加手段を有することを特徴とす
    るシステム。 【請求項41】 請求項40のシステムであって、 各ユーザ用コンピュータに関連し、共通ファイルブロック以外のファイルブロ
    ックをデータセンタへ送信する初期化ロジック手段と、 各ユーザ用コンピュータに関連し、所定のバックアップ時以降に変更されたブ
    ロックを判断し、これに呼応して変更されたブロック信号を形成するサブファイ
    ルインクリメント式バックアップロジック手段と、 サブファイルインクリメント式バックアップロジック手段に呼応して、変更さ
    れたブロックだけを、所定のサイズを有するチャンクとして、データセンタへ送
    信するチャンク送信ロジック手段と、 変更されたブロック信号に呼応して、サブファイルインクリメント式バックア
    ップロジック手段を同期させる同期ロジック手段と、 各ブロック、ブロックの最初の2文字、およびブロックのデジタル署名に関連
    して、データセンタで記憶されたファイルのブロックのリストを作成するロジッ
    ク手段を有し、サブファイルインクリメント式バックアップロジック手段は、こ
    のリストを用いて、判断機能を実行することを特徴とするシステム。 【請求項42】 請求項40のシステムであって、 非共通コンピュータファイルブロックが、少なくとも所定数のユーザ用コンピ
    ュータに出現する場合、この非共通コンピュータファイルブロックを共通ライブ
    ラリに追加されることを特徴とするシステム。 【請求項43】 コンピュータファイルブロックをバックアップするための
    コンピュータの実行方法であって、 (a) ユーザ用コンピュータにおいて、1つまたはそれ以上の暗号化キーを用
    いて少なくとも1つのブロックを暗号化するステップと、 (b) 少なくともこのブロックを離れたデータセンタへ送信するステップと、 (c) 復元時間において、少なくともこのブロックをデータセンタからユーザ
    用コンピュータへ送信するステップと、 (d) キーファイルから1つのキーを選択するステップと、 (e) このキーを用いて少なくともこのブロックを暗号解読するステップと、 (f) 暗号解読が成功したかどうかを判断するステップと、 (g) 暗号解読が成功しなかった場合、キーリストから別のキーを選択して、 このブロックを暗号解読し、暗号解読が成功するまで、上記ステップ(f)およ
    び(g)を反復することを特徴とする方法。 【請求項44】 請求項43の方法であって、 ブロックがブロックデジタル署名を定義し、このブロックが暗号化され暗号解
    読されて、暗号解読データを形成し、判断ステップは、 暗号解読されたブロックに対するデジタル署名を決定するステップと、 暗号解読されたブロックに対するデジタル署名とブロックデジタル署名を比較
    するステップと、 暗号解読されたブロックに対するデジタル署名とブロックデジタル署名が等し
    い場合に、暗号解読が成功したと判断するステップを有する方法。 【請求項45】 請求項44の方法であって、 ブロックは暗号化する前に圧縮され、 この方法は、 ブロックを圧縮解除するステップと、 圧縮解除するステップが成功しない場合に、キーが適正な暗号解読キーでない
    と判断するステップをさらに有する方法。 【請求項46】 送信コンピュータと受信コンピュータの間でデータを送信
    する送信セッションのためのセッションキーを提供する方法であって、 データに基づくデータデジタル署名を集めるステップと、 データを暗号化するために、このデータデジタル署名を利用するステップを有
    することを特徴とする方法。 【請求項47】 請求項46の方法であって、 データデジタル署名は、送信コンピュータにより集められ、 この方法は、 受信コンピュータの公的キーを用いて、データデジタル署名を暗号化するステ
    ップと、 データデジタル署名を受信コンピュータへ送信するステップをさらに有するこ
    とを特徴とする方法。 【請求項48】 請求項47の方法であって、 暗号解読データを形成するためにデータを暗号解読するステップと、 暗号解読データのデジタル署名を決定するステップと、 暗号解読データのデジタル署名と、データデジタル署名を比較して、データが
    うまく送信されたかどうかを判断するステップをさらに有することを特徴とする
    方法。
JP2000535980A 1998-03-12 1999-03-11 広域コンピュータネットワークにおけるコンピュータファイルをバックアップするためのシステムおよび方法 Pending JP2002507016A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US09/041,149 US6049874A (en) 1996-12-03 1998-03-12 System and method for backing up computer files over a wide area computer network
US09/041,149 1998-03-12
US09/100,914 US6038665A (en) 1996-12-03 1998-06-19 System and method for backing up computer files over a wide area computer network
US09/100,914 1998-06-19
US23947599A 1999-01-28 1999-01-28
US09/239,475 1999-01-28
PCT/US1999/005248 WO1999046660A2 (en) 1998-03-12 1999-03-11 System and method for backing up computer files over a wide area computer network

Publications (2)

Publication Number Publication Date
JP2002507016A true JP2002507016A (ja) 2002-03-05
JP2002507016A5 JP2002507016A5 (ja) 2006-05-11

Family

ID=27365855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000535980A Pending JP2002507016A (ja) 1998-03-12 1999-03-11 広域コンピュータネットワークにおけるコンピュータファイルをバックアップするためのシステムおよび方法

Country Status (5)

Country Link
EP (1) EP1062558A2 (ja)
JP (1) JP2002507016A (ja)
AU (1) AU3076499A (ja)
CA (1) CA2323522A1 (ja)
WO (1) WO1999046660A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346218A (ja) * 2004-06-01 2005-12-15 Dainippon Printing Co Ltd データバックアップ装置
JP2009512077A (ja) * 2005-10-12 2009-03-19 データキャッスル・コーポレーション データ・バックアップのための方法およびシステム
KR101936955B1 (ko) * 2018-06-28 2019-04-09 펜타시큐리티시스템주식회사 디피헬만 알고리즘과 타원곡선 디피헬만 알고리즘의 비대칭 응용을 이용한 가용성이 보장되는 안전한 비밀정보 백업 및 복원 방법
US20190266127A1 (en) * 2010-05-26 2019-08-29 Red Hat, Inc. Managing and archiving system and application log files

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080260B2 (en) * 1996-11-19 2006-07-18 Johnson R Brent System and computer based method to automatically archive and retrieve encrypted remote client data files
EP1197020B2 (en) 1999-03-29 2011-04-13 Gotuit Media Corp. Electronic music and programme storage, comprising the recognition of programme segments, such as recorded musical performances and system for the management and playback of these programme segments
GB2375191B (en) * 2001-04-06 2005-09-21 Hewlett Packard Co Storage system
KR20030038140A (ko) * 2001-11-08 2003-05-16 주식회사 스파이어테크놀로지 스크린세이버를 이용한 자료백업방법
KR100431945B1 (ko) * 2001-12-05 2004-05-17 주식회사 스파이어테크놀로지 스크린세이버를 이용한 자료백업방법
US7814490B2 (en) 2004-10-14 2010-10-12 International Business Machines Corporation Apparatus and methods for performing computer system maintenance and notification activities in an opportunistic manner
US10802928B2 (en) 2015-09-10 2020-10-13 International Business Machines Corporation Backup and restoration of file system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438671A (en) * 1991-07-19 1995-08-01 Dell U.S.A., L.P. Method and system for transferring compressed bytes of information between separate hard disk drive units
EP0541281B1 (en) * 1991-11-04 1998-04-29 Commvault Systems, Inc. Incremental-computer-file backup using signatures
US5864853A (en) * 1994-09-14 1999-01-26 Kabushiki Kaisha Toshiba Portable file system operable under various computer environments
US5778395A (en) * 1995-10-23 1998-07-07 Stac, Inc. System for backing up files from disk volumes on multiple nodes of a computer network
US5854754A (en) * 1996-02-12 1998-12-29 International Business Machines Corporation Scheduling computerized backup services

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346218A (ja) * 2004-06-01 2005-12-15 Dainippon Printing Co Ltd データバックアップ装置
JP2009512077A (ja) * 2005-10-12 2009-03-19 データキャッスル・コーポレーション データ・バックアップのための方法およびシステム
US20190266127A1 (en) * 2010-05-26 2019-08-29 Red Hat, Inc. Managing and archiving system and application log files
US11868308B2 (en) * 2010-05-26 2024-01-09 Red Hat, Inc. Managing and archiving system and application log files
KR101936955B1 (ko) * 2018-06-28 2019-04-09 펜타시큐리티시스템주식회사 디피헬만 알고리즘과 타원곡선 디피헬만 알고리즘의 비대칭 응용을 이용한 가용성이 보장되는 안전한 비밀정보 백업 및 복원 방법

Also Published As

Publication number Publication date
AU3076499A (en) 1999-09-27
WO1999046660A3 (en) 1999-10-21
WO1999046660A2 (en) 1999-09-16
CA2323522A1 (en) 1999-09-16
EP1062558A2 (en) 2000-12-27

Similar Documents

Publication Publication Date Title
US6038665A (en) System and method for backing up computer files over a wide area computer network
US6049874A (en) System and method for backing up computer files over a wide area computer network
KR101067547B1 (ko) 보안 소프트웨어 갱신
US7562100B2 (en) Maintaining coherency in a symbiotic computing system and method of operation thereof
CN102369509B (zh) 关系数据管理的控制服务
US7908339B2 (en) Transaction based virtual file system optimized for high-latency network connections
EP2234049B1 (en) Background service process for local collection of data in an electronic discovery system
US7275176B2 (en) Automatic reconnect and reacquisition in a computer investigation system
JP5438911B2 (ja) バックアップされたファイルのパスワード保護
JP2009536418A (ja) グループ・ベースの完全および増分コンピュータ・ファイル・バックアップ・システム、処理および装置
CN109309730A (zh) 一种可信的文件传输方法和***
JP2002507016A (ja) 広域コンピュータネットワークにおけるコンピュータファイルをバックアップするためのシステムおよび方法
JP2003296176A (ja) 分散格納方法および装置
JP2003524255A (ja) インターネット基盤の遠隔データ及びファイル復旧システム及びその方法
JP2000200208A (ja) ファイルバックアップ方法,装置およびそのプログラム記録媒体
JP2002182768A (ja) インストールサーバ装置、インストールサービス方法、ならびに、情報記録媒体
CN112131041A (zh) 用于管理数据放置的方法、设备和计算机程序产品
JP2004164226A (ja) 情報処理装置およびプログラム
JP2005063363A (ja) データバックアップ装置、データバックアップ方法およびデータバックアッププログラム
JP2003526153A (ja) ネットワークをベースとする記憶サイトにサービスを提供する方法
JP2005063399A (ja) ファイル/キー/データ管理システム
WO2007007081A2 (en) A data storage system
US7574458B2 (en) Computer backups using un-used disk space
JP2002132560A (ja) バックアップシステム
WO2001071638A1 (en) An internet storage service system and method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060310

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090120

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090417

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090424

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090520

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090527

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090619

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090626

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091006