(57)【特許請求の範囲】
【請求項１】
正規のオペレーティング・システムを有するローカル・コンピュータにおける記憶媒体からデータを遠隔的に回復する方法であって、
前記ローカル・コンピュータのリムーバブル媒体記憶装置内に、立ち上がり可能な遠隔データ回復オペレーティング・プログラムが事前記憶されたリムーバブル記憶媒体をロードする段階と、
前記ローカル・コンピュータのメモリ内に、前記リムーバブル記憶媒体から前記立ち上がり可能な遠隔データ回復オペレーティング・プログラムをロードする段階とから成り、前記立ち上がり可能な遠隔回復オペレーティング・プログラムがローカル・コンピュータによって局所的に且つ前記正規のオペレーティング・システムとは独立して動作させられ、
更に、前記ローカル・コンピュータと遠隔データ回復コンピュータとの間の通信を、該ローカル・コンピュータによる前記遠隔データ回復オペレーティング・プログラムの動作を介して設定する段階と、
前記遠隔データ回復コンピュータの動作を介して前記ローカル・コンピュータの記憶媒体上のデータが診断されて矯正され得るように、前記遠隔データ回復コンピュータによって前記ローカル・コンピュータを遠隔的に制御する段階とから成る方法。
【請求項２】
請求項１に記載の方法であって、前記遠隔データ回復コンピュータとの通信を設定する前に、前記ローカル・コンピュータによる前記遠隔データ回復オペレーティング・プログラムの動作を通じて、情報を求めてローカル・コンピュータ・ユーザに質問する段階を更に含む方法。
【請求項３】
請求項２に記載の方法であって、前記遠隔データ回復コンピュータとの通信を設定する前に、前記ローカル・コンピュータによる前記遠隔データ回復オペレーティング・プログラムの動作を通じて、データ回復情報を求めて前記ローカル・コンピュータ・ユーザに質問する段階を更に含む方法。
【請求項４】
請求項２に記載の方法であって、前記遠隔データ回復コンピュータとの通信を設定する前に、前記ローカル・コンピュータによる前記遠隔データ回復オペレーティング・プログラムのオペレーションを通じて、ユーザ識別情報を求めて前記ローカル・コンピュータ・ユーザに質問する段階を更に含む方法。
【請求項５】
請求項１に記載の方法であって、前記ローカル・コンピュータ上で実行しているデータ回復プログラムの動作を、前記遠隔データ回復コンピュータでのディスプレイを介してモニタする段階を更に含む方法。
【請求項６】
請求項５に記載の方法であって、前記モニタする段階が、データ回復アプリケーション・プログラム用の前記遠隔データ回復オペレーティング・プログラムを含む前記記憶媒体をモニタすることを含む方法。
【請求項７】
請求項１に記載の方法であって、前記遠隔データ回復コンピュータでのコンピュータ入力装置によって、前記ローカル・コンピュータ上で実行しているデータ回復プログラムの動作を制御する段階を更に含む方法。
【請求項８】
請求項１に記載の方法であって、前記遠隔データ回復コンピュータによって、前記ローカル・コンピュータ上のローカル・ディスプレイの表示を制御する段階を更に含む方法。
【請求項９】
請求項１に記載の方法であって、前記遠隔データ回復コンピュータ上の遠隔ディスプレイによって、前記ローカル・コンピュータ上のローカル・ディスプレイの表示をモニタする段階を更に含む方法。
【請求項１０】
請求項１に記載の方法であって、前記遠隔データ回復コンピュータから前記ローカル・コンピュータへ、データ回復アプリケーション・プログラムをダウンロードする段階を更に含む方法。
【請求項１１】
請求項１に記載の方法であって、前記遠隔データ回復コンピュータから前記ローカル・コンピュータへ、データ回復診断プログラムをダウンロードする段階を更に含む方法。
【請求項１２】
請求項１１に記載の方法であって、前記ダウンロードする段階が、前記ローカル・コンピュータにおける記憶媒体上にデータ回復アプリケーション・プログラムをダウンロードすることを含む方法。
【請求項１３】
請求項１に記載の方法であって、前記ローカル・コンピュータでデータ回復アプリケーション・プログラムを実行する段階を更に含む方法。
【請求項１４】
請求項１に記載の方法であって、前記ローカル・コンピュータでデータ回復診断プログラムを実行する段階を更に含む方法。
【請求項１５】
請求項１に記載の方法であって、前記ローカル・コンピュータから前記遠隔データ回復コンピュータへ、回復されるべきデータをダウンロードする段階を更に含む方法。
【請求項１６】
請求項１に記載の方法であって、前記遠隔データ回復コンピュータから前記ローカル・コンピュータへ、データ回復アプリケーション・プログラムをダウンロードすると共に、そのデータ回復アプリケーション・プログラムを実行する段階を更に含む方法。
【請求項１７】
請求項１に記載の方法であって、前記通信を設定する段階が、通信サーバを通じて通信を設定し、データ回復のために、前記通信サーバを介して、第２遠隔データ回復コンピュータと第２ローカル・コンピュータとの間に通信を設定する段階を更に含む方法。
【請求項１８】
請求項１に記載の方法であって、前記遠隔データ回復コンピュータのオペレータが、データにおける変更を続行するか、或は代替的に放棄するかの決定を為すときまで、前記ローカル・コンピュータへのデータにおける変更を遅らせる段階を更に含む方法。
【請求項１９】
請求項１８に記載の方法であって、前記ローカル・コンピュータへのデータにおける変更を行うとの決定が為されたならば、変更される旨のマーク付けられた全データを、保管のために、前記遠隔データ回復コンピュータにおける保管ファシリティへ先ず転送する段階を更に含む方法。
【請求項２０】
請求項１９に記載の方法であって、前記ローカル・コンピュータのローカル記憶装置のセクタに対して実行されるべき全書込み活動を、前記遠隔データ回復コンピュータにおけるファイルにロギングする段階を更に含む方法。
【請求項２１】
請求項２０に記載の方法であって、前記セクタ及び前記ローカル記憶装置を識別すると共に、そのセクタに書込まれた最新データを識別する識別子を前記ファイル内の各エントリに提供する段階を更に含む方法。
【請求項２２】
データ記憶媒体からアクセスできないデータを回復するためのデータ回復システムであって、
前記データ記憶媒体に関連されるローカル・コンピュータであって、中央演算装置、メモリ、リムーバブル媒体記憶装置、並びに、正規のオペレーティング・システムを有するローカル・コンピュータと、
遠隔データ回復コンピュータと、
前記ローカル・コンピュータの前記リムーバブル媒体記憶装置内へロードされるべきリムーバブル・データ記憶媒体であって、事前記録された立ち上がり可能な遠隔データ回復プログラムを含むリムーバブル・データ記憶媒体と、
前記正規オペレーティング・システムとは独立して前記ローカル・コンピュータを動作させるために前記ローカル・コンピュータの前記メモリ内にロードされて、前記ローカル・コンピュータと前記遠隔データ回復コンピュータとの間に通信を設定する前記立ち上がり可能な遠隔データ回復プログラムとを備え、
前記ローカル・コンピュータの前記データ記憶媒体上のデータが診断されて矯正され得るように、前記ローカル・コンピュータが前記遠隔データ回復コンピュータによって遠隔的に制御されるデータ回復システム。
【請求項２３】
請求項２２に記載のデータ回復システムであって、前記立ち上がり可能な遠隔データ回復プログラムが、前記ローカル・コンピュータを動作するための立ち上がり可能なオペレーティング・システム手段を含むデータ回復システム。
【請求項２４】
請求項２２に記載のデータ回復システムであって、前記立ち上がり可能な遠隔データ回復プログラムが、データ回復診断プログラムを含むデータ回復システム。
【請求項２５】
請求項２２に記載のデータ回復システムであって、前記立ち上がり可能な遠隔データ回復プログラムが、データ回復アプリケーション・プログラムを含むデータ回復システム。
【請求項２６】
請求項２２に記載のデータ回復システムであって、前記遠隔データ回復コンピュータが、データ回復アプリケーション・プログラムを記憶する第２データ記憶媒体を含み、該データ回復アプリケーション・プログラムが前記遠隔データ回復コンピュータから前記ローカル・コンピュータへダウンロード可能であるデータ回復システム。
【請求項２７】
請求項２２に記載のデータ回復システムであって、前記ローカル・コンピュータと前記遠隔データ回復コンピュータとの間に設定される通信を担う通信チャネルを更に含み、該通信チャネルが、電話線、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、並びに、インターネットから成るグループの内の１つを用いているデータ回復システム。
【請求項２８】
請求項２２に記載のデータ回復システムであって、前記遠隔データ回復コンピュータが、前記ローカル・コンピュータでデータ回復アプリケーション・プログラムをモニタするためのディスプレイを備えるデータ回復システム。
【請求項２９】
請求項２２に記載のデータ回復システムであって、前記立ち上がり可能な遠隔データ回復プログラム手段が、前記ローカル・コンピュータのユーザにユーザ情報を求める質問を為すためのプログラムを含むデータ回復システム。
【請求項３０】
請求項２２に記載のデータ回復システムであって、前記立ち上がり可能なデータ遠隔回復プログラム手段が、前記ローカル・コンピュータのユーザにデータ回復情報を求める質問を為すプログラムを含むデータ回復システム。
【請求項３１】
請求項２２に記載のデータ回復システムであって、前記立ち上がり可能な遠隔データ回復プログラム手段が、前記データ記憶媒体からデータを回復するために、前記遠隔データ回復コンピュータから動作可能であるデータ回復システム。
【請求項３２】
請求項２２に記載のデータ回復システムであって、前記立ち上がり可能な遠隔データ回復プログラム手段が、前記データ記憶媒体上のデータ回復状況を診断するために、前記遠隔データ回復コンピュータから動作可能であるデータ回復システム。
【請求項３３】
請求項２２に記載のデータ回復システムであって、前記立ち上がり可能な遠隔データ回復プログラム手段が、前記遠隔データ回復コンピュータに回復させるべきデータをダウンロードするために、前記遠隔データ回復コンピュータから動作可能であるデータ回復システム。
【請求項３４】
ローカル・コンピュータのリムーバブル媒体記憶装置内にロードされる、コンピュータ・プログラムを事前記録したリムーバブル記憶媒体であって、事前記録されたコンピュータ・プログラムは、
ローカル・コンピュータの中央演算装置によって局所的にかつ正規のオペレーティング・システムとは独立して動作する遠隔データ回復オペレーティング・プログラムと、
前記遠隔データ回復オペレーティング・プログラムの動作を介して遠隔データ回復コンピュータとの通信を設定して、前記遠隔データ回復コンピュータによって前記ローカル・コンピュータ上のデータを遠隔的に診断して矯正する通信プログラムとを含むリムーバブル記憶媒体。
【請求項３５】
請求項３４に記載のリムーバブル記憶媒体であって、前記遠隔データ回復オペレーティング・プログラムがデータ回復診断プログラムを含むリムーバブル記憶媒体。
【請求項３６】
請求項３４に記載のリムーバブル記憶媒体であって、前記遠隔データ回復オペレーティング・プログラムがデータ回復アプリケーション・プログラムを含むリムーバブル記憶媒体。
【請求項３７】
ローカル・コンピュータからデータを遠隔的に回復するための方法であって、
記憶媒体からローカル・コンピュータのメモリへ遠隔データ回復オペレーティング・プログラムをロードし、
前記遠隔データ回復オペレーティング・プログラムを前記ローカル・コンピュータの正規のオペレーティング・システムとは独立して動作させ、
前記ローカル・コンピュータによる前記遠隔データ回復オペレーティング・プログラムの動作を介して前記ローカル・コンピュータと遠隔データ回復コンピュータとの間での通信を設定し、
前記遠隔データ回復コンピュータから前記ローカル・コンピュータへデータ回復アプリケーション・プログラムをダウンロードし、
データ回復が前記遠隔データ回復コンピュータの動作を介して実行され得るように、前記遠隔データ回復コンピュータによって前記ローカル・コンピュータを遠隔的に制御することから成る方法。
【請求項３８】
データ記憶媒体からデータを回復するためのデータ回復システムであって、
前記データ記憶媒体と関連されるローカル・コンピュータであって、メモリを有するローカル・コンピュータと、
第１遠隔データ回復コンピュータを含む複数の遠隔データ回復コンピュータと、
前記複数の遠隔データ回復コンピュータと結合された遠隔サーバと、
前記ローカル・コンピュータの正規のオペレーティング・システムとは独立して前記ローカル・コンピュータを動作させるために、前記ローカル・コンピュータの前記メモリ内へロードされて前記遠隔サーバとの通信を設定する遠隔データ回復プログラムであって、前記遠隔サーバが前記第1遠隔データ回復コンピュータとの通信を設定し、前記遠隔データ回復プログラムが前記ローカル・コンピュータを前記第１遠隔データ回復コンピュータによって遠隔的に制御させることを許容して、前記データ記憶媒体からデータを回復することから成る遠隔データ回復プログラムとを含むデータ回復システム。
【請求項３９】
請求項３８に記載のデータ回復システムであって、前記遠隔サーバが前記第1遠隔データ回復コンピュータとの通信を終了し、前記複数の遠隔データ回復コンピュータからの第２遠隔データ回復コンピュータとの通信を設定して、前記ローカル・コンピュータを前記第２遠隔データ回復コンピュータによって遠隔的に制御させることを許容するデータ回復システム。
【請求項４０】
請求項３８に記載のデータ回復システムであって、リムーバブル記憶媒体を更に含み、そこから前記遠隔データ回復プログラムが前記ローカル・コンピュータの前記メモリ内へロードされるデータ回復システム。
【請求項４１】
ローカル・コンピュータからデータを遠隔的に回復するための方法であって、
第１遠隔サーバから前記ローカル・コンピュータへデータ回復オペレーティング・プログラムをダウンロードする段階と、
前記データ回復オペレーティング・プログラムを前記ローカル・コンピュータ上にインストールする段階と、
前記データ回復オペレーティング・プログラムを前記ローカル・コンピュータのメモリ内へロードして、該データ回復オペレーティング・プログラムを前記ローカル・コンピュータの正規のオペレーティング・システムとは独立して動作させる段階と、
前記ローカル・コンピュータによる前記データ回復オペレーティング・プログラムの動作を介して前記ローカル・コンピュータと第２遠隔サーバとの間に通信を設定する段階と、
前記第２遠隔サーバによって第１遠隔データ回復コンピュータへの前記通信の経路指定する段階と、
データ回復が前記第１遠隔データ回復コンピュータの動作を介して実行され得るように、前記第１遠隔データ回復コンピュータによって前記ローカル・コンピュータを遠隔的に制御する段階とから成る方法。
【請求項４２】
請求項４１に記載の方法であって、前記通信を設定する段階が、ネットワークを介して、前記ローカル・コンピュータと前記第２遠隔サーバとの間に通信を設定する段階を含む方法。
【請求項４３】
請求項４１に記載の方法であって、前記通信を設定する段階が、モデムを用いて、前記ローカル・コンピュータと前記第２遠隔サーバとの間に通信を設定する段階を含む方法。
【請求項４４】
請求項４１に記載の方法であって、前記第１遠隔サーバと前記第２遠隔サーバとが１つのサーバである方法。
【請求項４５】
請求項４１に記載の方法であって、前記第２遠隔サーバによって第２遠隔データ回復コンピュータへの通信を再経路指定する段階を更に含む方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に、コンピュータ・データ記憶装置及び／或は記憶媒体からの情報の回復に関し、特に、正規の動作環境によってはアクセスできない情報の回復に関すると共に、そうしたデータ損失の遠隔的診断及び遠隔的矯正を可能とする方法に関する。
【０００２】
【従来の技術】
ユーザにとってコンピューティング・システムの真価は、そのシステムを含むハードウェア及びソフトウェアの実際的価格に制限されることなく、そのシステム内で表されるデータの価値を含む。事実上、会計データ、知的財産、設計及び製造情報、及び／或は、個人使用或はビジネス使用のコンピューティング・システムに保存される他の記録が、最終的にはコンピューティング設備自体の値を遙かに超える値となることは極めて普通である。
【０００３】
ディスク・ドライバ等のコンピュータ記憶装置上のデータにアクセスする能力の損失は、オペレータの誤り、誤ったソフトウェア、過渡的（一時的）な電気的事故、妨害行動、或は、電気的／機械的故障の結果としてしばしば生じ得る。多くの場合、そうしたデータは正規のオペレーティング環境によってアクセスすることができないが、データ自体は記憶装置上に依然として存在しており、オペレーティング環境によって採用されているファイル・システムを表す媒体上のデータ構造を操作することによってアクセスさせることができる。そうした媒体上のデータ構造の操作は、高度に特殊化されたソフトウェア・ツールを備えた熟練技術者によって最善の信頼性をもって実行される。
【０００４】
時折、データにアクセスできないことが相当なコスト及び／或はビジネス損失の原因となり得て、ある時には甚大な程度に及ぶ場合がある。データの幾つかの形態は再作成の候補となり得る一方で、この再作成のコストは些細な額から莫大な額までの範囲であり得る。更に、データ再作成には有限の時間が費やされ、その間にビジネスの各種の局面がアクセスできないデータに応じて必然的に中断或は邪魔され得る。また、一般にはリアルタイムで入手される再作成が不可能なデータのカテゴリーが存在し、それはそれ故に代替不可能であると考えられる。
【０００５】
オフライン・バックアップ等の従来の冗長機構は、データ損失状況に対して救済を提供しようとするものである。しかしながら、オフライン・バックアップからの回復又は再生は、時間がかかり、潜在的にはデータ回復手続を介して有効となるデータに対して経年変化したデータを提供し得る。それ故に、オフライン・バックアップから理論的には回復できるデータ損失ですら、潜在的なデータ回復候補として考えられ得る。
【０００６】
商業的なデータ回復サービス・ビジネスは、こうした問題に様々なサービス・カテゴリーでもって対処するものである。これらは、オン-サイト及びオフ-サイト・サービス双方を典型的には含む。オフ-サイト・データ回復サービス、即ち、アクセスできないデータを含む媒体或は装置をサービス・ファシリティ（又はサービス施設）でデータ回復技術者が処理するサービスは、顧客の下から媒体或は装置をサービス施設へ物理的に移動することが必要とされる。これは出荷に起因する遅れ等によって、相当な稼働停止時間（ダウン・タイム）を生じ得る。また、データは鋭敏であり、対応保障要件としてサイトからのデータ移動は勧められない旨の指示がある場合もある。多くの場合、夜を徹しての運搬によって誘導される遅延等にすら鋭敏である。オン-サイト・データ回復サービス、即ち、データ回復技術者が特殊な装置を携えて顧客下へ出向いて局所的にサービスを実行するサービスは稼働停止時間を低減できるが、技術者及び必要装置の顧客サイトへの移動及び顧客サイトからの移動の追加費用が嵩む。
【０００７】
コンピュータを通信ハードウェアを介して通信線に取り付け、これもまた通信ハードウェアを介して通信線に取り付けられた第２コンピュータのオペレータによって制御させるように為すことを可能とする遠隔制御方法がある。そうしたハードウェア形態は典型的にはパーソナル・コンピュータであり、またそうした遠隔制御ソフトウェアは共通のパーソナル・コンピュータ・オペレーティング・システムに対して容易に利用可能である。そうした遠隔制御プログラムの例としては、「ＰＣａｎｙｗｈｅｒｅ」、「Ｒｅｍｏｔｅ２」、「Ｃａｒｂｏｎ  Ｃｏｐｙ」等々が挙げられる。このアプローチの短所は、回復されようとするコンピュータが遠隔制御ソフトウェアを支援するオペレーティング・システムをランしなければならない。それ故に、このアプローチはそのオペレーティング・システムが遠隔制御を支援しない場合には役に立たない。
【０００８】
遠隔技術者によってコンピュータ記憶媒体及び記憶装置からデータを遠隔的に回復することを信頼性をもって可能とするシステム及び方法は、それ故に当業界では最も必要とされている。従来の先行技術は、コンピュータ記憶媒体或は記憶装置を、顧客サイト或は技術者側ファシリティの内の何れかで、技術者によって処理させることを必要としている。データ回復サービスを電話線を介して遠隔的に実行することは、オン-サイト及びオフ-サイト回復の短所を克服すべく上首尾のうちに採用されてきたが、ターゲット又は対象となるコンピュータが遠隔制御ソフトウェアを支援して、回復させることが望まれるデータに対するアクセスを可能とするオペレーティング・システムをロードできることを要求している。残念ながら、データ損失に至る各種状況は正規のオペレーティング・システムを頻繁に不安定及び使用不能とさせたりもする。従って、正規のオペレーティング・システムが必然的にロード可能或は依存可能でなくとも、遠隔データ回復能力を提供する方法が当業界において特に要望されている。
【０００９】
【発明が解決しようとする課題】
本発明はこれらの問題を解決するものであり、正規のオペレーティング環境によってアクセスできないコンピュータ・データ記憶装置及び／或は記憶媒体から遠隔的にデータの回復を為す方法及び装置を提供するものであり、データ損失の遠隔的診断及び遠隔的矯正を為す方法に関する。
【００１０】
本発明の目的は、限定されることはないが、正規のオペレーティング・システムが動作できない状況を含んで、遠隔データ回復オペレーティングを可能とする手段を提供することである。
【００１１】
【課題を解決するための手段】
本発明の一実施例はデータ回復の方法に関し、該方法は、
データの回復が必要な記憶装置を有するローカル・コンピュータから技術者によって操作される遠隔データ回復コンピュータへ、通信ハードウェアを介して、通信線を設ける段階と、
前記技術者の前記ローカル・コンピュータとの相互作用を可能とする一方で、前記遠隔データ回復コンピュータに常駐するデータ回復プログラムの全てとアクセスする段階と、の諸段階を含む。
【００１２】
一実施例において、本発明の原理は、遠隔技術者に対して、通信ハードウェアを介しての通信を可能とする充分な機能を有するブート可能な又は立ち上がり可能なデータ回復オペレーティング・システムを実行することによって達成される。遠隔技術者は特殊化された遠隔制御ソフトウェアを更に備えており、それがブート可能なデータ回復オペレーティング・システムをランしているコンピュータとの通信ハードウェアを介しての通信を可能としている。回復下のコンピュータ及び遠隔コンピュータがひとたび通信されると、回復下コンピュータ上でのデータ回復オペレーションは、遠隔技術者の完全な制御の下、進行することができる。
【００１３】
この好適実施例において、遠隔データ回復オペレーティング・システムはそれ自体の分配フロッピー・ディスクから直に動作する程に充分に小さく、正規の立ち上がり可能なオペレーティング・システムが欠如していても該データ回復オペレーションを進行させることを可能としている。その同一の分配フロッピー・ディスクからでも、或は、遠隔技術者のそうしたソフトウェアの膨大なライブラリからでも、データ回復ユーティリティ・ソフトウェアを通信ハードウェアを介してロードすることができる。
【００１４】
この好適実施例において、ロードに及んでのそのブート可能な遠隔データ回復オペレーティング・システムは、そうしたローカル・ユーザに対して制限された数の選択肢を提示して、ユーザのデータ回復要望やユーザの個人データの実態に関する情報に対してユーザが入力することを可能としている。この情報がひとたび入力されると、ローカル・ユーザは、取り付けられた通信ハードウェアを介して遠隔技術者との接触設定を為すオペレーティング・システムを持ちたいとの該ユーザの意図を確認することができる。この接触又はコンタクトで、直ちにデータ回復オペレーションを開始することができ、或は代替的に、データ回復オペレーションの要求を待ち行列（キュー：ｑｕｅｕｅ）に入れて、データ回復技術者がその要求を吟味してそのデータ回復オペレーションの準備を為す時間を持つようなときに、そのデータ回復オペレーションを進行させることができる。ひとたびデータ回復オペレーションが開始すると、ローカル・コンピュータの全制御がその遠隔データ回復技術者に対して開放される。それで技術者はそのローカル・コンピュータを操作することができ、それも技術者がそのローカル・コンピュータの前方に直に着座しているが如くに操作することができ、技術者サイトで利用可能な全てのデータ回復ユーティリティ・ソフトウェアに対するアクセスをもたらすと共に、データ回復オペレーティング・システム・ディスク上に任意に常駐し得る全てに対するアクセスをもたらす。
【００１５】
使用に際して、本発明の一実施例を用いたデータ回復はブート可能な遠隔データ回復オペレーティング・プログラムをユーザのローカル・コンピュータで立ち上げるか、或は該ローカル・コンピュータのメモリ内へロードすることによって進められる。次いで遠隔データ回復オペレーティング・プログラムは、ユーザのローカル・コンピュータの特定ハードウェア構成を決定又は確定する。次いで遠隔データ回復オペレーティング・プログラムはユーザに対して該ユーザの名前、アドレス、電話番号等々を問い合わせることができる。また、ユーザに対してデータ回復状況の説明を問い合わせることもできる。更に遠隔データ回復オペレーティング・プログラムは、通信ハードウェアを介して、遠隔データ回復コンピュータとの初期電話リンクを設定して、ユーザによって入力された情報を上記段階においてダウンロードする。もし時間が許せば、そこで遠隔データ回復コンピュータ側の技術者が、その遠隔リンクを介してユーザのコンピュータの制御を為して、遠隔データ回復プロセスを始める。さもなければ、遠隔データ回復プロセスを追って行う時間の同意を得ることができる。遠隔リンクはそれで終了して、次いでその同意された時間に再設定され、それに及んで遠隔データ回復が開始される。
【００１６】
本発明を特徴付ける新規性ある以上の長所及び特徴や、他の様々な長所及び特徴等は、添付されると共に、この出願の一部を形成している請求の範囲で特に指摘されている。しかしながら発明のより良好な理解のために、その使用を通じて獲得されるその長所や達成される目的等は、更に本出願の一部を形成する添付図面及び記述事項が参照されるべきであり、そこには、本発明の好適実施例が例示され且つ説明されている。
【００１７】
【発明の実施の形態】
次に図面を参照して、データの遠隔回復を為す装置及び方法の実施例が以下説明される。なお、対応する参照符号は幾つかの図面を通じて対応するパーツを全般的に指示している。
【００１８】
図１には、本発明の実施例のブロック線図が示されている。ローカル遠隔データ回復（ＲＤＲ）コンピュータ２０であって、データ回復手続が必要とされているコンピュータ２０が、中央演算処理装置（ＣＰＵ）及びメモリ２１（典型的には共通システム・ボード上に配列されている）、ローカル入力装置２２、ローカル・ディスプレイ２４、ローカル記憶装置２６、並びに、リムーバブル媒体記憶装置２８を有した状態で示されている。更に、ローカルＲＤＲコンピュータ２０は、他のコンピュータとの通信用の、例えばモデム或はネットワーク・カード等のローカル通信ハードウェア・ユニット３０を有した状態で示されている。ローカルＲＤＲコンピュータ２０は任意のＩＢＭ互換システムであってよいし、或は、ＧＡＴＥＷＡＹ２０００，ＩＢＭ、ＡＰＰＬＥ、Ｈｅｗｌｅｔｔ  Ｐａｃｋａｒｄ、Ｃｏｍｐａｑ等々の様々なベンダーによって日常的に販売されている他のタイプのコンピュータ・システムであってよい。特に、ローカルＲＤＲコンピュータ２０のメイン・システム・ボードには、３８６，４８６，５８６等のＩＮＴＥＬ  ＣＰＵ、或は、任意の他のマイクロプロセッサを適切量のランダム・アクセス・メモリ（ＲＡＭ）と共に搭載することができる。ローカル入力装置２２は、キーボード、マウス、ポインター、触感スクリーン等々のユーザ入力装置であってよい。２つ以上のユーザ入力装置２２を設けることもできる。ローカル・ディスプレイ２４は、視覚的ディスプレイ・ユニット等の任意の適切なディスプレイ装置であってよい。ローカル記憶装置２６は内部的或は外部的であってよく、様々に変動していく技術を採用することもできる。記憶装置は、ウィンチェスター技術の従来型のハード・ドライブ、レーザ・ディスク、ＣＤ-ＲＯＭ等々であってよい。リムーバブル（取り外し自在）媒体記憶装置２８は、従来のフロッピー・ドライブや任意の他の適切なリムーバブル媒体ドライブであってよい。ローカル通信ハードウェア・ユニット３０は、Ｈａｙｅｓ互換モデム等の従来タイプのモデム装置、ＩＳＤＮモデム、無線モデムであってよいし、或は代替的には、従来型のローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、或は、インターネット（ＬＡＮ／ＷＡＮ／ＩｎｔｅｒNet）に接続するネットワーク・カード等のハードウェアであってよい。
【００１９】
遠隔データ回復用の遠隔データ回復（ＲＤＲ）ワークステーション４０の実施例が図１に示され、ＣＰＵ及び関連メモリ４１、遠隔入力装置４２、遠隔ディスプレイ４４、遠隔記憶装置４６、並びに、遠隔リムーバブル媒体記憶装置４８を有している。ＲＤＲワークステーション４０は、モデム或はネットワーク・カード等の遠隔通信ハードウェア・ユニット５０を有するようにも示されている。理解して頂けるように、ＲＤＲワークステーション４０及びその関連コンポーネントは上記ローカルＲＤＲコンピュータ２０に対して説明されたものと同一であってよい。更に理解して頂けるように、ローカルＲＤＲコンピュータ２０及びＲＤＲワークステーション４０の間のメイン通信チャネル３５は電話線であっても、或は、従来のＬＡＮ／ＷＡＮ／ＩｎｔｅｒＮｅｔ接続通信チャネルであってもよい。
【００２０】
図２には、本発明に従ったシステムの更なる他の実施例が図示されている。この実施例では、複数のＲＤＲワークステーション４０がローカル・エリア・ネットワークによって相互接続されている。図示の実施例において、ファイル・サーバ６０はそれら複数のＲＤＲワークステーション４０をネットワーク６２、より好ましくはＴＣＰ／ＩＰネットワークによって相互に接続している。ファイル・サーバ６０は、各種データがＲＤＲワークステーション４０や、通信サーバ６８によってアクセス可能となるようなネットワーク共有ドライブ６５上に記憶されたデータ６４を有する。複数のＲＤＲワークステーション４０は、選択されたＲＤＲワークステーション４０と任意選択のネットワーク通信ハードウェア・ユニット６９との間の１つ以上の論理的接続の設定を可能とするように、ＴＣＰ／ＩＰネットワーク６２を介して通信サーバ６８に対して通信できる。これら複数のネットワーク通信ハードウェア・ユニット６９は、外部の電話線とモデム接続させることができるか、或は、ＬＡＮ／ＷＡＮ／ＩｎｔｅｒＮｅｔとネットワーク・ハードウェア接続させられることができるか等々が可能である。ネットワーク・ハードウェア通信ユニット６９は、ＰＢＸ等の通信スイッチ７０を介してローカルＲＤＲコンピュータ２０との通信を為す。従って、ＲＤＲワークステーション４０の任意の１つを用いてローカルＲＤＲコンピュータ２０から通信チャネル３５を介してデータを回復することができ、それも他の多数のＲＤＲワークステーション４０が異なるローカルＲＤＲコンピュータからデータを回復すべく使用されているのと同時にである。この実施例は多数の技術者の内の任意の一人に対してアクセスすることを可能とすべく使用できて、単一の番号のダイヤリングに及んで或はＬＡＮ／ＷＡＮ／ＩｎｔｅｒＮｅｔ上の単一エンティティー（entity）に接続するに及んで、遠隔データ回復を提供するものである。
【００２１】
この好適実施例において、遠隔データ回復オペレーティング・プログラムはローカルＲＤＲコンピュータ２０の持ち主／購買者に対してフロッピー・ディスク等のリムーバブル記憶媒体上に提供される。そのプログラムはコンピュータを購買する際に購買することができ、或は代替的に、後日に小売販路を通じてか或は郵便注文して購買することができる。更にそれは、通信サーバ６８及びそのネットワーク通信ハードウェア・ユニット６９のＢＢＳ様の動作モード（「ゲスト・モード」）を含む幾つかの電子分配機構を通じて提供され得る。
【００２２】
こうして、遠隔データ回復オペレーティング・プログラムによって提供されたプログラムは、ローカルＲＤＲコンピュータ２０を動作させることができると共に、ローカル通信ハードウェア・ユニット３０を介してＲＤＲワークステーション４０との通信を可能とするに充分な機能を含む。
【００２３】
図３は、遠隔データ回復オペレーティング・プログラムを含む様々なソフトウェア・コンポーネントを説明するものである。様々なデータ回復アプリケーション・プログラム３００は、データ回復及び／或は診断プロセスを実行すべく動作する。そうしたプログラムは、記憶装置機能的診断ルーチン、記憶媒体分析ルーチン、十六進法、ＡＳＣＩＩ、或は、回復下のファイル・システムに関連する他のフォーマットで作業するセクタ・エディタ、ファイル非消去ルーチン、並びに、回復下のファイル・システムに関連するファイル・システム完全性検査／修復ルーチンを含む。これらデータ回復アプリケーション・プログラム３００は、ＮＯＲＴＯＮ  ＵＴＩＬＩＴＩＥＳ（米国登録商標）、或は、オントラック社（Ｏｎｔｒａｃｋ）のＯＤＲ−Ｎ（米国商標）又はＤＯＳＵＴＩＬＳ（米国登録商標）に見出される各種ルーチンと一般用語において相関している。
【００２４】
データ回復アプリケーションＤＲＡプログラム３００は、ベーシック入力／出力サブシステム（ＢＩＯＳ）３６０及び／或はオペレーティング・システム３４０と直にインターフェース接続する一組の適用業務プログラム・インターフェース（ＡＰＩ）３１０を介して、ローカルＲＤＲアプリケーション３０８とインターフェース接続している。ローカルＲＤＲアプリケーション３０８は、ＤＲＡ３００の遠隔制御動作を可能とするために、これらＡＰＩを効果的に転送或は「フック（hook）」する。更に、ローカルＲＤＲアプリケーション３０８は、プライベートＡＰＩを提供して、「通過（pass throught）」を「フックされた（hooked）」ＢＩＯＳ機能３１６及びＯＳ機能３１４へ提供することによって、「ＲＤＲ自覚（ａｗａｒｅ）」アプリケーションを通信サブシステム３１２に直にインターフェース接続させることを可能としている。これはＲＤＲ自覚アプリケーションに各種機能の転送を迂回させて、ローカルＲＤＲコンピュータ２０のオペレータに対すると共に通信サブシステムの制御に対するインターフェース接続を可能としている。ローカルＲＤＲアプリケーション３０８の残りは通信サブシステム・コード３１８及びローカルＲＤＲアプリケーション・コード３２０を含む。ローカルＲＤＲアプリケーション３２０のフローチャートは図４に示されている。
【００２５】
こうしたシステムのソフトウェア・コンポーネントは、ローカルＲＤＲコンピュータ・オペレーティング・システム３４０としてデータ回復オペレーティング・システム（ＤＲＯＳ）３０６を含み得る。このＤＲＯＳ３０６は、ローカルＲＤＲコンピュータの固有オペレーティング・システムが機能しない際に遠隔データ回復が生ずることを可能としている。ＤＲＯＳ３０６は、ローカルＲＤＲアプリケーション３０８やデータ回復プロセスを実行するために使用される任意の所望データ回復アプリケーション・プログラム３００を支援するために必要とされる各種ルーチンを含む。そうした必要とされるルーチンの例にはメモリ・マネージメント、ファイル・システム・アクセス及びマネージメント、アプリケーション・プログラムのローディング及び実行、並びに、周辺装置の制御機能が挙げられる。これらルーチンは、一般に、ＭＳ−ＤＯＳ割り込み２１Ｈ機能の幾つかと等しい。ローカルＲＤＲアプリケーション３０８を任意のデータ回復アプリケーション・プログラム３００に加えて動作させるためには、ＤＲＯＳ３０６は直接的に固有オペレーティング・システムの呼び出し規約及びプロトコル（通信規約）をエミュレート（模倣）する。更には、固有コマンド線インタプリタに類似するユーザ・コマンド解釈機能が提供されてもよい。ローカルＲＤＲアプリケーション３０８は、ローカルＲＤＲコンピュータ・オペレーティング・システム３４０として固有オペレーティング・システムを用いてランさせてもよい。
【００２６】
ＩＢＭ互換パーソナル・コンピュータの例において、下側に置かれたハードウェア３８０に対するインターフェースはベーシック入力／出力サブシステム或はＢＩＯＳ３６０によって実行される共通インターフェースを介して達成される。
【００２７】
図４のフローチャートはローカルＲＤＲアプリケーション３０８のオペレーションを説明している。プログラムがステップ４０２に入ると、プライベートＡＰＩ３１２，３１４，３１６がインストールされ、適切なオペレーティング・システム及びＢＩＯＳ「フック」がインストールされる。これによって、任意の引き続きロードされるプログラムが遠隔制御下で動作させられる。ステップ４０４で、メニューがローカルＲＤＲコンピュータ２０のオペレータに対して提示され、新ユーザ、既に登録済みユーザ、或は、ローカルＲＤＲアプリケーション３０８のからの退出の何れかの操作を指定することを可能とされている。
【００２８】
もし新ユーザのオプションが選択されると、ステップ４１０で、ルーチンが発動（呼出）され、ローカルＲＤＲコンピュータのハードウェア構成にアクセスする。次いでユーザには、ステップ４１２で、ユーザＩＤ（識別）、電話番号等々を状況の説明及びデータ回復状況の実体と共にフォーム２２１０及び２２２０内に記入することが要求される。これらフォームが完成すると、ステップ４１４で新ユーザとして遠隔データ回復ファシリティにダイヤルして該ファシリティとの通信を設定する試みが為される。
【００２９】
もし（既に）登録済みユーザのオプションが選択されれば、ステップ４２０で登録済みユーザとして遠隔データ回復ファシリティにダイヤルして該ファシリティとの通信を設定する試みが直ちに為される。
【００３０】
もしステップ４３０で遠隔データ回復ファシリティとの接続の試みが不成功に終わったと決定されたならば、失敗接続を示す対話（ダイアローグ）がステップ４４０でローカル・コンピュータのオペレータに対して表示されて、制御がメニューへ戻される。
【００３１】
もし遠隔データ回復ファシリティとの接続が成功したとステップ４３０で決定されると、ステップ４５０で、遠隔サイトの完全な指揮の下、遠隔制御活動が以下に説明される論理に従って取り扱われる。完了すると、通信セッションがステップ４６０で終了され、通信ハードウェアがその通信セッションを終了するように指示される。
【００３２】
もし退場（又はＥＸＩＴ）のオプションが選択されると、ステップ４０６で、ローカルＲＤＲアプリケーション３０８は、プライベートＡＰＩ３１２，３１４，３１６と、先行してインストールされたオペレーティング・システム、並びに、ＢＩＯＳ「フック」を除去する。
【００３３】
図５は遠隔制御オペレーション中に実行するローカルＲＤＲアプリケーション３０８の一部のフローチャートである。通信パケット受領及びファイル転送制御を管理支配する重要なデータ構造のステップ５０４での初期化に続いて、ステップ５１０乃至５５０では、ローカルＲＤＲアプリケーション３０８がループに入場する。このループは全ての通信事象をステップ５１０で連続的に取り扱い、遠隔データ回復ファシリティから送信され得る任意のコマンドを送出する。ステップ５２０で、完全な遠隔コマンドが遠隔回復ファシリティから受信されて、ローカル・キーボード・バッファ内に保存されたならば、ステップ５４０でその遠隔コマンドがスクリーン上に表され、それがハング-アップ（停止）のコマンドであるのかを調べる。もしハング-アップ・コマンドが受信されたならば、このルーチンがステップ５６０で退場する。もしそのコマンドがステップ５４０で決定されたようにハング-アップ・コマンドでなければ、そのコマンドはステップ５５０でオペレーティング・システムの固有コマンド線インタプリタへ通過させられる。留意すべきことは、ローカル・キーボード・バッファが、好ましくはキーボードである遠隔入力装置４２で発せられるコマンドで満たされる。もしステップ５２０でローカル・キーボード・バッファ内に完全なコマンドがあることが決定されたならば、不活動性タイムアウトが通信の失敗をステップ５３０で検出して、適切な退場をステップ５６０で行わせる。遠隔サイトによって指揮された対応活動は図１２を参照して説明される。
【００３４】
図６に示されるフローチャートは、ローカルＲＤＲアプリケーション３０８内の通信事象ハンドラー（handler）を説明するものである。通信事象ハンドラーは、例えばステップ４５０等でのローカル・フック内や、オペレーティング・システム及びＢＩＯＳフック内の多数の点から呼び出される。通信事象ハンドラーの目的は、通信ドライバに役立ち、ステップ６０２乃至６３０での任意の入力パケットを送出することである。ステップ６００での通信事象ハンドラーの初期化後、ルーチンは任意の新キャラクタが受信されたかをステップ６０２で決定する。もしキャラクタが受信されたならば、そのキャラクタはステップ６０５で受信バッファ内に配置され、ステップ６１０で受信バッファ内に完全なデータ・パケットがあるかが検査される。もし任意の完全なデータ・パケットが受信バッファ内にあれば、これらの完全に形成されたパケットはパケット受信制御構造２６１０のリストと比較される。このリストは単一でリンクされたリストとしてポインタ・リンク・フィールド２６１２を介して維持されている。リストが調査又はサーチされて、符合パケット受信制御構造を見出す。もしパケットのタイプ・フィールドがパケット受信制御構造２６１０のパケット・タイプ番号フィールド２６１４と符合すれば、パケット・カウンタ・フィールド２６１６が増分（インクリメント）され、パケット・ハンドラー・ルーチン・ポインタ・フィールド２６１８によって指摘されたルーチンが呼び出される。多数のパケット取り扱いルーチンが、ステップ７００のファイル作成／オープン或はクローズＡＣＫパケット、ステップ７２０のエコー受領、ステップ７３０のスクリーン変化受領、ステップ７４０のディスプレイ・データ・パケット、ステップ７５０のキーストローク・パケット、ステップ７６０のファイル読取りパケット、並びに、ステップ７７０のエコー要求を含んで、図７に示されている。しかしながら受信されたパケットがステップ６２０の決定でもし符合しなければ、そのパケットはステップ６３０で無視され、ルーチンはステップ６１０で受信バッファ内の完全パケットの調査に戻される。もし新キャラクタがステップ６０２で何ら受信されなければ、ステップ６５０で呼出が為され、既に生じているが予め送信させることができなかった何らかのスクリーン更新に対して、伝送キューに到達する機会が与えられる。加えて、ステップ６５５で、伝送キュー内に外に向かうパケットがあるかを見るべく決定が為される。ステップ６６０で決定されるようにもし伝送バッファ内に利用可能なスペース、そして充分なスペースがあれば、ステップ６７０で、外に向かうパケットは通信ドライバの伝送バッファに添付される。伝送キューは、図２５の２５１０で示されるような外に向かうパケット・ディスクリプタ（descriptor）の単一でリンクされたリストによって実行される。各パケット・ディスクリプタは、細分長さ２５１２及び細分ポインタ２５１４の対の収集が伴われるリストの次の要素に対するリンク２５１１を含む。各対は、形成され且つ伝送されるパケットを備えることになるメモリの領域を記載している。各種対の収集は２５１６に示されるゼロの長さフィールドの入力で終了される。これらパケット自体���、この「収集書込み」を用いて、且つ、ステップ６７０での伝送バッファ内へのデータ配置に先行して、作成者が適切であると考えたような他のコード化、フレーム化、誤差制御方法等のあるもの全てを組み入れることで形成される。
【００３５】
図７は、様々なパケット・タイプを取り扱う場合の、ローカルＲＤＲアプリケーション３０８の動作を示す各種フローチャートを含む。
【００３６】
ステップ７００において、ファイル作成受領確認、ファイル・オープン受領確認、並びに、ファイル・クローズ受領確認パケットが、ファイル作成／オープン／クローズ動作が遠隔データ回復ファシリティで生ずるように要求すべく送信又は送出されたこれらパケットに応じて受信され。これらファイル作成／オープン／クローズ受領確認パケットは、ステップ７０２で、適切なファイル制御構造２５２０を単に更新して、その要求が受領確認された旨の事実を反映し且つファイル作成／オープン／クローズ動作の状況をポストすることによって取り扱われる。これによって、受領確認されているファイル作成／オープン／クローズ動作は進められることが可能となる。
【００３７】
ステップ７１０において、初期ファイル書込み要求に応じてファイル書込み要求リスト・パケットが受信される。これらファイル書込み要求リスト・パケットは、遠隔データ回復通信サーバが受信すべく準備するそれらファイル・セグメントを含む。ファイル書込み要求リスト・パケットは、ステップ７１２で、ファイル制御構造２５２０を更新することによって取り扱われて、新要求リストに反映され、引き続き、ステップ７１４で、更新ファイル制御構造２５２０毎にファイル書込みデータ・パケットが送信又は送出される。加えて、ファイル制御構造２５２０の更新は、ステップ７１６で、タイムアウトをリセットする。ファイル読取り及び書込みフックは図１０を参照して更に説明される。
【００３８】
エコー受領確認パケットが、ステップ７２０で、エコー要求に応じて受信される。このエコーのメカニズムは通信診断機能用に提供される。エコー受領確認パケットは、ステップ７２２で、データ内容を専用エコー・バッファにコピーすることによって取り扱われて、プログラムが引き続きエコー・データを更に分析する。
【００３９】
スクリーン変化受領確認パケットは、ステップ７３０で、スクリーン変化パケットに応じて受信される。スクリーン変化受領確認パケットは、ステップ７３２で、スクリーン変化がもはや伝送中ではないことを選別することによって取り扱われる。
【００４０】
ディスプレイ・データ・パケットは、ステップ７４０で、ローカルＲＤＲコンピュータ・モニタ２４上にテキストを配置するための指示によって受信される。ディスプレイ・データ・パケットは、ステップ７４２で、ローカル・ディスプレ２４にパケット・データをコピーすることによって取り扱われ、次いで、ステップ７４４で、表示データ受領確認パケットを送出して遠隔データ回復通信サーバに対して、パケットはうまく受信されローカル・ディスプレイ２４上に付与された旨を通知する。
【００４１】
キーストローク・パケットは、ステップ７５０で、ＲＤＲワークステーション４０でキーストロークが生ずると受信され、ＲＤＲ通信サーバ６８を介して送出される。キーストローク・パケットは、ステップ７５２で、パケット・キーストローク情報をローカル・キーボード・バッファへコピーすることによって取り扱われる。これによって、ローカルＲＤＲアプリケーション３０８がこれらキーストロークを非同期に検索して所望に応じてそれらをインタプリタすることを可能としている。次いで、キーストロークがローカルＲＤＲコンピュータ２０におけるオペレーティング・システム或はアプリケーション・プログラムによっての引き続く解釈のためにローカル・キーボード・バッファ内に保存された後、キーストローク受領確認パケットが、ステップ７５４で戻される。
【００４２】
ファイル読取りデータ・パケットは、ステップ７６０で、ファイル読取り要求リスト・パケットに応じて受信される。ファイル読取りデータ・パケットはＲＤＲ通信サーバ６８によって読み込まれて送出された実際の遠隔ファイル・データ・セグメントを含む。ファイル読取りデータ・パケットは、ステップ７６２で、そのファイル・セグメントは予想されたセグメントの順次連続番号であるかを検査することによって取り扱われる。もしそうでなければ、ステップ７６６で、校正読取り要求リスト・パケットが送出される。もし入ってくるパケットがステップ７６２で検出されたように予想された連続的なセグメント番号を含んでいれば、ステップ７６４、そのファイル・データがデータ・バッファにコピーされる。
【００４３】
エコー要求パケットは、ステップ７７０で、通信診断要求として受信される。そうしたエコー要求パケットは、ステップ７７２で、エコー要求パケットからパケット・データをコピーすることを応答され、ステップ７７４でエコー返答パケットが送出される。
【００４４】
図８は、ローカルＲＤＲアプリケーション３０８内の通信パケット送信ルーチンのフローチャートである。このルーチンは、ステップ８１０で、伝送用パケットを伝送キュー内に配置することによって開始する。もしこのルーチン８００を呼び出すローカルＲＤＲアプリケーション３０８が、ステップ８３０で決定されるように、受領確認（ＡＣＫ）を待機しないを要求したのならば、このルーチンは、ステップ８３５で、通信事象ハンドラーを呼び出し、ステップ６００で、パケットは伝送されるべき機会を有する旨を確認し、ステップ８９０での成功状況を伴って退出する。もしローカルＲＤＲアプリケーション３０８が、ステップ８３０で決定されるように、このルーチンは受領確認（ＡＣＫ）を待機すべきと要求したならば、ステップ８５０でＡＣＫが生じて、ステップ８９０での成功退出か、或は、ステップ８６０でタイムアウトの決定の何れかまで通信事象を取り扱うループに入る。タイムアウト状態の場合、パケット伝送及び受領確認待機のシーケンスは、ステップ８７０で決定されるように、制限又は限定された回数再試行（リトライ）される。このリトライ・カウントが出し尽くされた後の失敗は、ステップ８００での失敗状況退出となる。
【００４５】
図９は、ファイル作成／オープン／クローズ・インターセプタ或は、ローカルＲＤＲアプリケーション３０８内の「フック」のフローチャートである。この手続きはインストールされて、任意選択ファイルの作成或はクローズのために、アプリケーションによる試行を先取りする。このフックの振る舞いは先ず、ステップ９１０でファイルは遠隔のファイルか或はローカルのファイルかを決定する。これは、このルーチンの呼び出し主によって供給されるファイル名、即ち、それはローカルＲＤＲアプリケーション３０８或はデータ回復アプリケーション３００であるかを、遠隔ファイルを名付けてそれらをローカル・ファイルと容易に識別できる任意の約定を利用して審査することによってのファイル・オープン／クローズ動作中に実行され、そして、ローカルＲＤＲアプリケーション３０８によって供給されるファイル取り扱いを審査することによってのファイル・クローズ動作中に実行される。もしファイルがステップ９１０での試験によってローカルであると決定されると、ステップ９１２で、システムの固有ファイル作成／オープン／クローズ手続きへ実行が転送される。もしファイルがステップ９１０で遠隔であると決定されると、ステップ９２０で、適切なファイル作成要求、ファイル・オープン要求、或は、ファイル・クローズ要求パケットが構築される。次いで、ステップ９３０で、このパケットは送出されて受領確認が待機される。戻されて受信された受領確認は、遠隔末端での要求状況を反映しており、それがステップ９４０でファイル制御構造２５２０の内容に影響する。次いでこの状況は、固有システム・ファイルの作成／オープン／クローズの約定毎にローカルＲＤＲコンピュータ２０のオペレータに戻される。遠隔ファイル作成及び／或はオープン活動の場合、ファイル取り扱いは呼び出し主へ戻され、それは、システム固有ファイル作成或はオープン・プロセスから合法的に戻された任意のファイル取り扱いと容易に識別される。これは将来の読取り／書込み／クローズ動作がローカル・ファイルを遠隔ファイルから識別することを可能としている。
【００４６】
図１０は、ファイル読取り及び書込みインターセプタ、或は、ローカルＲＤＲアプリケーション３０８内の「フック」のフローチャートである。この手続きはインストールされて、任意のファイルの読取り或は書込みのために、任意のアプリケーション試行を先取りするものである。このフックの振る舞いは先ず、ステップ１０１０で、ファイルが遠隔ファイルか或はローカル・ファイルかを決定することである。これはこのルーチンの呼び出し主によって供給されるファイル取り扱いを、それがローカルＲＤＲアプリケーション３０８或はデータ回復アプリケーション３００であることを試験することによって実行される。もしファイルがステップ１０１０での試験でローカルであると決定されると、ステップ１０１２で、システムの固有ファイル読取り或は書込み手続きへ実行が転送される。もしファイルが遠隔であると決定されると、ファイル制御構造２５２０はステップ１２０でその要求の実態を反映すべく更新される。ファイル制御構造２５２０の内容に基づき、適切なファイル読取り要求或は書込み要求パケットがステップ１０３０で構築される。次いで、ステップ１０４０でループに入場し、ステップ６００での通信事象取り扱いを続行し、読取り或は書込み要求が完全に満足されたかをステップ１０５０で試験する。もし要求が満足されたのであれば、成功状況が、ステップ１０９０で、固有システム・ファイルの読取り／書込み約定毎にその呼び出し主へ戻される。ステップ１０５０において、もし要求が完全ではなければ、ステップ１０６０でタイムアウト状態がモニタされる。もしタイムアウトが何等生じてなければ、ルーチンはステップ１０４０での通信取り扱いを続行し、ステップ１０５０での完了要求を求めてモニタされる。ステップ１０６０において、もしタイムアウトが生じてれば、ステップ１０３０で要求が制限されたリトライ数再送出される。もし、ステップ１０２０でのリトライ・カウントが出し尽くされれば、その要求を、固有システムのファイル読取り／書込み約定毎に、ステップ１０９０でファイル失敗を戻す。
【００４７】
ローカルＲＤＲアプリケーション３０８のディスプレイ・スクリーン書込み及び読取り機能の「フック」に対するフローチャートが図１１に示されいる。提案されるメカニズムはスクリーン変化を、プログラム実行に対しての最小影響を伴っての時機を得た状態で、記憶して遠隔サイトに伝送することが意図されている。スクリーン書込み機能は、ステップ１１１０で、所望のスクリーン書込み情報を内部バッファ内に先ずコピーすることによって実行され、これはディスプレイ・スクリーンの状態を完全に記載するものである。このバッファの目的は、ステップ１１７０で、スクリーン読取りフックを促進すると共に、スクリーン更新パケットが形成され伝送されるとそれらのソースを提供することである。好適実施例は、ローカルＲＤＲコンピュータ・ディスプレイ２４におけるキャラクタの各ライン（行）に対してスクリーン・ライン変化ディスクリプタ・データ構造を利用する。図２５の２５６０で示されるこれらスクリーン・ライン変化ディスクリプタは、キャラクタの各関連ラインに対して、アプリケーション・プログラムによって変更又は変えられたキャラクタの複数コラムから成る範囲を記述するものであり、それら変更されたキャラクタは伝送用にキュー内に未だ配置されていない。変更されたが未だ送出されていないコラムのこの範囲は、そのラインに対する「ダーティ（汚濁）」範囲と呼称され、各スクリーン・ラインに対する最初（最左翼）のダーティ・コラム２５６２及び最後（最右翼）のダーティ・コラム２５６４をマークする入力での、スクリーン・ライン変化ディスクリプタ２５６０によって記述される。ステップ１１１０での、新スクリーン・キャラクタの内部バッファに対するコピーに続いて、影響されたディスプレイ・ラインの各々に対するスクリーン・ライン変化ディスクリプタは変更されて、「ダーティ」範囲がこれら新書込みコラムを含む旨を確認する。次いで、ステップ１１３０で呼び出しが為されて、任意の未送出スクリーン変化を伝送キュー２５１０内に配置してＲＤＲワークステーション４０に引き続く伝送を為す。
【００４８】
スクリーン変化記述を遠隔サイトへ送出する試行がステップ１１７０乃至ステップ１１７８に記載されている。例えばステップ１１７２で決定されるようにスクリーン変更記述が移動中である理由から、もしそれらが現在送信中であり受領確認されていなければ、この時にスクリーン変化情報の送信は何等試行されることがない。もしステップ１１７４で決定されるように、未送信変化を表す現行スクリーン変化記述が存在しなければ、何等行動が執り行われることがない。もし先行状態が満足されていなければ、非ゼロ・ダーティ範囲を記述する次のスクリーン・ライン変化ディスクリプタが利用されて、ステップ１１７８でのエントリが内部スクリーン・バッファから関連されたダーティ・スクリーン内容を送出することになる伝送キューへ追加される。スクリーン変化は現在「移動中」であり、関連スクリーン・ライン変化ディスクリプトはクリアできる。このスクリーン・ライン変化パケットの引き続くの受領確認は受信されると、スクリーン変化は、ステップ７３０のように、もはや「移動中」ではないと考えられる。タイムアウトが受領確認なしで生ずれば、スクリーン・ライン変化記述は再伝送されることになる。ディスプレイ・スクリーン読取り機能フックは、ステップ１１８０で、所望情報を、内部スクリーン訳出バッファから直にローカルＲＤＲコンピュータ・バッファへコピーすることによって実行される。
【００４９】
本発明の実施例におけるＲＤＲ通信サーバ・アプリケーションを実行するメイン・アプリケーションが、図１２のフローチャートに説明されている。典型的には、各ネットワーク通信ハードウェア・ユニット６９に通ずるアプリケーションは、ステップ１２１０乃至１２８０を実行して始まる。入ってくる電話呼出を受信するに及んで、ステップ１２１０で、ＡＳＣＩＩプロンプトが伝送されローカルＲＤＲコンピュータ２０のオペレータに所望のサービス・タイプを供給するように要求する。これは、従来の「ダム（dumb）」末端アプリケーションによると共に、ローカルＲＤＲアプリケーション３０８からの高度に自動化された呼出トランザクションによって遠隔データ回復通信サーバの使用を可能としている。
【００５０】
ＲＤＲ通信サーバ・アプリケーションがダム末端によって任意のユーザから呼び出される典型的な状況において、ユーザはステップ１２１０で設定されたプロンプト（促し）に「ゲスト」として応答できる。これは、ＲＤＲ通信サーバ・アプリケーションを、プログラマの独創性やローカルのオペレータ末端アプリケーションの能力だけで限定される機能を具備した古典的な掲示板サービスとして振る舞わせることになる。サービスのこの「ゲスト」カテゴリーの有用性は、古典的なＢＢＳのように、組織体のサービス／産物を宣伝すべく使用可能であることである。更にそれは、ローカルＲＤＲアプリケーション３０８及び関連プログラムの分配を可能とするダウンロード・ファシリティとしても使用可能である。
【００５１】
ひとたびローカルＲＤＲアプリケーション・プログラムがローカル・ユーザの所有となると、ローカル・ユーザはそのアプリケーションをインストールして利用することによって、ＲＤＲ通信サーバ・アプリケーションからのサービスの「新ユーザ」カテゴリーにアクセス可能となる。ローカルＲＤＲアプリケーション３０８はステップ１２１０で設定されたプロンプトや、ＲＤＲ通信サーバ・アプリケーションによって予想され図４で説明された回答に関して知識がある。
【００５２】
ステップ１２２５で、ＲＤＲ通信サーバ・アプリケーションは、ローカルＲＤＲアプリケーション３０８は、ステップ４０４でのサービスの「新ユーザ」カテゴリーを要求しているのかを決定する。ローカル・サイトに提供された、ステップ４１０及び４１２における、ハードウェア構成、ユーザ情報、並びに問題説明を記述するファイルが、遠隔データ回復ファシリティにコピーされて、更なる分析が行われ、ステップ１２３０で登録済みユーザ・データベースに追加される。もしそれが遠隔データ回復で現在は進めることができないとステップ１２３４で決定されると、メニューが提示されて、遠隔データ回復プロセスで進める時間がステップ１２３８で交渉される。
【００５３】
先行して交渉されたＲＤＲ手続きが始まろうとしている時に、ローカルＲＤＲアプリケーション３０８は、ステップ１２３５で、ＲＤＲ通信サーバ・アプリケーションからサービスの「登録済みユーザ」カテゴリーを要求する。そうした呼出は、ステップ１２４０で、登録済みユーザ・データベースに対して確証をたてる。非確証呼出は終了される。個々別々の通信接続が設定され、図１２に示される様々な段階を通るように進展すると、進展の状態は、例えば図２３に示されるような通信チャネル状況ウィンドウ２３１０内の通信サーバ６８のオペレータ・コンソール上に記述され得る。
【００５４】
もし、ステップ１２３４において、「新ユーザ」サービスがＲＤＲ手続きで直ちに進められると許容されたならば、或は代替的に、ステップ１２４０での登録済みユーザの確証成就に及んで、ＲＤＲ診断プロセスがステップ１２５０で実行される。この診断プロセスは、図１４を参照して詳細に説明される。任意の提案されたデータ回復サービスの条件を記述する慣習的な法律的合意書が提供されて、ステップ１２６０で、ローカルＲＤＲコンピュータ２０のオペレータに提示される。この法律的な合意書の伝送及び手続きは、図１５に詳細に説明されている。ローカルＲＤＲコンピュータ２０のオペレータが、ステップ１２７０で決定されるように、その合意書の条件に合意すると、ステップ１２８０で、遠隔データ回復手続きが実行される。遠隔データ回復手続きは図１６で参照されるように詳細に説明される。
【００５５】
図１３のフローチャートは、理由が何であろうが、初期電話呼出の後にデータ回復プロセスが生ずるべきであるとステップ１２３４で決定されると、発動されるＲＤＲ通信サーバ・アプリケーションの一部を記述するフローチャートである。スケジュールを維持すると共に、ファイル・サーバ６０のネットワーク供給データ記憶装置６４に常駐するファイルがステップ１３１０で読取られる。このファイルは、手元のこの特定データ回復状況の必要性によって、ステップ１３２０で処理されて、ＲＤＲプロセスを処理するための適切なスケジュール時間のリストを決定する。回復を実行する見積もり時間としてのそうした要因は、特定の技術者能力や他の優先要因が用いられて、遠隔データ回復サービスを提供するための適切時間にこの特注リストを作り出すことができる。ステップ１３３０で、アプリケーションがローカル・コンピュータで起動され、その特注スケジュール・リストの視認、そして任意選択で、遠隔データ回復を進めるための相互的に合意可能な時間の選択を可能としてる。もしそうした時間が、ステップ１３４０で、選択されたならば、ステップ１３５０でそれがスケジュール・ファイルに追加される。もしそうした時間がステップ１３４０で選択されなければ、更なるオプションの記述が、ステップ１３６０で、ローカルＲＤＲコンピュータのオペレータに提示される。ステップ１３６０で提示されたオプションは、従来的なオフ-サイト回復のために、遠隔回復ファシリティへの装置の送出、或は、オン-サイトのカテゴリーでのデータ回復サービスの要求を含むことができる。
【００５６】
図１４は、データ回復診断の実行促進を為す遠隔データ回復通信サーバの一部のフローチャートである。先ず、ステップ１４１０で、ローカル・サイトの分配媒体に現行バージョンの診断アプリケーションの有効コピーが存在するかの検査が為される。もしこの診断アプリケーションの有効コピーが存在しなければ、或は、適切なバージョンの診断アプリケーションがなければ、適切バージョンの診断アプリケーションを、ステップ１４２０で、ローカル・サイトにダウンロードさせる。引き続いて、或は、もし適切な診断アプリケーションがステップ１４１０で存在していると決定されたならば、ステップ１４３０で診断アプリケーションがローカル・コンピュータで起動される。診断アプリケーションはデータ回復状況の診断を為し、ステップ１４４０で、結果を通信サーバ６８でのファイルに配置して、遠隔技術者及び／或は遠隔データ回復ファシリティでの他のアプリケーションでの更なる分析が為される。
【００５７】
図１５は、法的合意書の（意思）表示及びローカルＲＤＲコンピュータ２０のオペレータによる選択的な了承を促進する遠隔データ回復通信ハードウェア・アプリケーションの一部のフローチャートである。先ず、ステップ１５１０で、現行バージョンの法的合意書がユーザ・サイトの分配媒体に存在するかを検査する。もし法的合意書が存在しなければ、或は、適切なバージョンでなければ、ステップ１５２０で、適切なバージョンの法的合意書をローカル・サイトにダウンロードさせる。ダウンロード１５２０に続いて、或は、適切な法的合意書がステップ１５１０でしかるべくあると決定されていれば、ステップ１５３０で、現行日付及び時間が記入される。合意書リーダ・アプリケーションは、ローカルＲＤＲコンピュータ２０のオペレータがその法的合意書を調査して、そこに含まれる状況を選択的に了承することを可能とする。ステップ１５５０で、オペレータによって了承／辞退の回答が為されて、現行日付及び時間が再度記入される。合意表示の日付及び時間と合意書了承の正確な知識を有することは、論争に係る合意書に関して生じ得る何らかの可能性ある紛争を解決するための関連要因であり得る。
【００５８】
図１６は、遠隔データ回復を実行する遠隔データ回復通信サーバ・アプリケーションの一部のフローチャートである。このプロセスは、ローカルＲＤＲコンピュータ２０を遠隔制御すべく、技術者を動かしＲＤＲワークステーション４０を動作させることによって達成される。ステップ１６１０で、論理的接続が、遠隔データ回復手続きの実行に利用可能な任意のＲＤＲワークステーション４０によってＴＣＰ／ＩＰを介して形成される。追加的に、ステップ１６２０で、遠隔データ回復のこのセッションのために固有又は独自のサブディレクトリがファイル・サーバ６０のネットワーク共有データ記憶装置６４に作成される。この固有のサブディレクトリは、ローカルＲＤＲコンピュータ２０のオペレータによって作成された任意のセッション固有ファイル用の容器であると共に、ＲＤＲ通信サーバ・アプリケーション或はＲＤＲワークステーション４０が作成したい任意のログ・ファイルである。ステップ１６４０−１６６０でのループに入ると、ステップ１６４０で、ローカルＲＤＲコンピュータ２０からの任意の通信パケットを処理すると共に、ステップ１６５０で、ＲＤＲワークステーション４０からの任意のＴＣＰ／ＩＰメッセージを処理する。ステップ１６６０で、もし「ハング-アップ」メッセージがＲＤＲワークステーション４０から受信されなかったと決定されたならば、このループは持続する。最後に、ＲＤＲワークステーションのオペレータは、ステップ１６６０で、「ハング-アップ」メッセージを送出させて、このループを破壊し、ステップ１６７０で、「ハング-アップ」コマンドをローカルＲＤＲコンピュータ２０へ送出させる。
【００５９】
図１７は、ＲＤＲ通信サーバ・アプリケーションの一部のフローチャートであり、該アプリケーション一部は、遠隔ファイルをネットワーク通信ハードウェア・ユニット６９を介して、ローカルＲＤＲコンピュータ２０から到着するパケットに応答するものであり、オープン、作成、或は、クローズさせることを要求する。パケットは、０から同時オープン・ファイルの最大数までの範囲内のファイル指標と、この要求をファイル指標の独特な使用として識別すべく利用される一連番号とを含む。それ故に、ファイル指標及び連続番号（又は一連番号）の組合せを利用して、これは独特な要求であるのか、或は、これは通信チャネル３５でのエラーによって失われた受領確認を求める要求の再試行であるのかを決定することができる。もし、ステップ１７２０で、これは先行する要求の繰り返しではないと決定されたならば、ステップ１７２０で、パケットの残り毎にファイルのオープン／作成／クローズが為される。もし、ステップ１７１０で、この要求は事実上の繰り返し要求であれば、ファイルの実際的なオープン／作成／クローズは迂回される。もし、ステップ１７３０で、オープン／作成／クローズ要求がうまくいかなければ、ステップ１７６０で、失敗受領確認が伝送される。代替的には、ステップ１７３０での決定で、オープン／作成／クローズ要求は成功であれば、ステップ１７４０で、ファイル接続データ構造が、オープン／作成／クローズ要求パケット毎に、遠隔データ回復通信サーバ内で初期化され、成功受領確認がステップ１７５０で送出される。
【００６０】
図１８は、ＲＤＲ通信サーバ・アプリケーションの一部のフローチャートであり、該アプリケーション一部は、ネットワーク通信ハードウェア・ユニット６９を介してローカルＲＤＲコンピュータ２０から到着するパケットに応答するものであり、ファイル書込み活動を要求する。受信された第１パケットは書込みファイル初期化パケットであり、ステップ１８１０で、それは先行して受信された要求の再試行であるのかを見るべく、そのファイル上の最後の活動の連続番号又は一連番号が検査される。もし、ステップ１８１０で、これが再試行ではないと決定されたならば、活動に対するメモリの割り当てと共に初期ファイル制御構造２６２０の準備を含む初期化がステップ１８５０で実行される。もし、ステップ１８１０で、再試行であると決定されたならば、初期化は既に実行されているが、通信エラーによって受領確認が失われ、それで初期化がスキップされる。何れの場合にも、フローは図１８の点Ａへ進み、ファイル書込みパケットに対してどのように応答すべきかを決定するアルゴリズムの始まりである。ステップ１８６０で、全ての書込みデータは受信されて書込みファイル初期化パケット全体は満足したかを決定する検査が為される。もし全てのデータが受信されたならば、ステップ１８６５で、メモリ・バッファに残存する任意のデータは実際にファイルに書き込まれる。ステップ１８５０で割り当てられたメモリがステップで１８６５で割当解除され、ステップ１８８０でヌル要求リストが送出されて、ファイル書込みの完了を示す。もし、ステップ１８６０での検査中、受信されるべき更なるファイル・データがあると決定されたならば、適切な書込み要求パケットが公式化されてステップ１８９０で送出される。この要求リストは、データが未だ受信されていない場合や、現行、未書込みデータを現行含まない利用可能なバッファ・スペースがある場合等のためのファイル・データ・セグメントを要求するものである。
【００６１】
ファイル書込みデータ要求に応じてファイル書込みデータ・パケットが到着すると、ステップ１８１５で、パケットにおける一連番号に基づきこれは再試行であるか否かについての決定が為される。もし再試行であれば、処理は点Ａまで続行する。もし再試行であるとの決定が為されなければ、ステップ１８２０で、パケット・データはステップ１８５０で割り当てられたバッファにコピーされる。もし、ステップ１８２５で、そのセグメント番号が適切な一連であると決定されなければ、ステップ１８４５で、要求リストは調整されて、受信されなかった任意のセグメントの再要求を為す。もし、ステップ１８２５で、通信エラーの欠如の場合のように、セグメントが一連番号であると決定されたならば、ステップ１８３０でファイル書込み活動が現行執り行われているかが審査される。もしファイル書込み活動がなければ、ステップ１８３５でファイル書込みが、未書込みファイル・データを含むデータ・バッファに対して始動される。要求リストはステップ１８４０で調整されて、これまで受信されたファイル・セグメントを考慮すると共に、更にデータを受け入れるべく現在空いている任意のファイル・データ・バッファを考慮する。次いで処理は点Ａへ連続する。
【００６２】
図１９は、ＲＤＲ通信サーバ・アプリケーションの実施例に存在する様々なパケット・ハンドラーを記述するものである。ステップ１９００で始まるルーチン内で、オリジナルのエコー要求パケット内である任意の選択的なエコー・データのコピーを含むエコー受領確認パケットを送出することによって、エコー要求パケットが取り扱われる。ファイル読取り要求リスト・パケットはファイルの複数セグメントのリストを含み、ローカル・ユーザはデータ受信の準備が為される。これらファイル読取り要求リスト・パケットはステップ１９１０で始動するルーチンで、ステップ１９２０での実際の読取りを実行することによって、そして、ステップ１９３０でファイル読取りデータ・パケットの形態でのデータを送出することによって取り扱われる。ステップ１９３９で始動するルーチンによって取り扱われるスクリーン変化パケットは、ステップ１９４０で検査されてそれらが既に処理されたパケットの再試行であるかが見られる。この検査は、他のパケットのように、パケット内に含まれる連続番号によって実行される。もし、ステップ１９４０で、パケットが再試行であると決定されなければ、ステップ１９５０で、ＴＣＰ／ＩＰ接続を介して遠隔データ回復ワークステーションへ送出することによって処理される。この行動に続いて、或は、パケットが再試行である決定されたならば、ステップ１９６０で、スクリーン変化受領確認パケットがＲＤＲコンピュータ２０へ送出される。
【００６３】
図２０は、遠隔データ回復ワークステーション接続をモニタするためのＲＤＲ通信サーバ・アプリケーション内で連続的に動作するステップ２００２−２００８での実行の筋道と、ＲＤＲワークステーション４０が活動的に遠隔データ回復動作に関わっている間、それらからメッセージを連続的に取り扱う実行の筋道とを表すフローチャートである。
【００６４】
ステップ２００２−２００８での接続モニタ筋道は、システムにおける全ＲＤＲワークステーション４０に知られたＴＣＰ／ＩＰポートをモニタする。ＲＤＲ通信サーバ・アプリケーションは、ステップ２００２で、任意のＲＤＲワークステーション４０がＴＣＰ／ＩＰ接続を設定することを待機している。それ故に、ＲＤＲワークステーション・アプリケーションを起動している任意のＲＤＲワークステーション４０は、図２１で追って議論されるように、このポートを介して論理的接続を設定する。ひとたびＴＣＰ／ＩＰ接続がこのポートに設定されれば、ステップ２００６で、他の実行の筋道が生まれ、それがＲＤＲワークステーション４０からのメッセージを取り扱う。こうして接続されたＲＤＲワークステーション４０は、ステップ２００８で、遠隔データ回復サービスの処理ができるとして留意される。ステップ２００８で留意されたＲＤＲワークステーション接続は、図２３に示されるワークステーション状況ウィンドウ２３２０における通信サーバ６８のオペレータ・コンソール上に記述され得る。
【００６５】
ステップ２０１０−２０７５の筋道は、ＴＣＰ／ＩＰ接続の結果としてステップ２００６で生まれ、ＲＤＲワークステーション４０によって送出された全ＴＣＰＣ／ＩＰメッセージを取り扱う責務がある。ＲＤＲ通信サーバ・アプリケーション内には、この種類とは分離した筋道が、現行下、遠隔データ回復サービスの潜在的なプロバイダーとして設定されている全ＲＤＲワークステーション４０に対して存在する。ＲＤＲワークステーション４０のオペレータが遠隔データ回復の実行における活動を行うと、これら筋道はメッセージを受信し始める。
【００６６】
特定のＴＣＰ／ＩＰメッセージは、これらメッセージを通信ハードウェア上の様々なパケットを介してローカルＲＤＲコンピュータ２０へ送出することによって取り扱われる。キーストロークを表すＴＣＰ／ＩＰがステップ２０２０で検出されると、ステップ２０２５でキーストローク・パケットとしてローカルＲＤＲコンピュータ２０へ送出される。ディスプレイ・メッセージを表すＴＣＰ／ＩＰメッセージがステップ２０３０で検出されると、ステップ２０３５でディスプレイ・データ・メッセージとしてローカルＲＤＲコンピュータ２０へ送出される。「ハング-アップ」ＴＣＰ／ＩＰメッセージがステップ２０４０で検出されると、ステップ２０４５でローカルＲＤＲコンピュータ２０へ送出されて電話接続をハング-アップ（停止）させる。残りのＴＣＰ／ＩＰメッセージ・タイプは「ログアウト（LOGOUT）」メッセージであり、ＲＤＲワークステーション・アプリケーションから退出するＲＤＲワークステーション・オペレータの結果として生ずる。「ログアウト」メッセージがステップ２０５０で検出されると、ステップ２０７５で、ＲＤＲ通信サーバ・アプリケーションに対して、このＲＤＲワークステーション４０がもはや遠隔データ回復サービスを処理する用意がないことを留意させる。次いで、ステップ２０８０で、ＴＣＰ／ＩＰ接続は閉じられて、実行のこの筋道は終了する。
【００６７】
図２１は、ＲＤＲワークステーション４０を制御するアプリケーションの全体的な動作を表すフローチャートである。ステップ２１００でのＲＤＲワークステーション・アプリケーションの発動に及んで、ステップ２１１０で論理的接続が、ＲＤＲ通信サーバ６８上の予め決定され固定されたＴＣＰ／ＩＰポートを介してＲＤＲ通信サーバ・アプリケーションに対して設定される。次いで、ステップ２１１５−２１２０で、ワークステーション・オペレータがステップ２１１５でアプリケーションが退出することを要求するまでか、或は、ステップ２１２０で、ＲＤＲ通信サーバ・アプリケーションからの遠隔データ回復セッションの始動を要求するＴＣＰ／ＩＰメッセージが到着するまでかの何れかまで待機するループに入る。通信サーバ６８は、ステップ１６１０での遠隔データ回復セッションを始動する旨のＴＣＰ／ＩＰ要求を発する。この要求１６１０はステップ２１２０でＲＤＲワークステーション４０によって検出され、ウィンドウ２４１０，２４２０及びコントロール２４３０，２４４０の集まりは、図２４に図示されるように、ＲＤＲワークステーション・コンソール４４上に描かれる。
【００６８】
マクロ制御ボタン２４３０が設けられて、「マクロ」能力が許容されて、任意の個別のボタンの起動が多重的な、予め構成されたキーストロークと同様のものを発するように為されている。状況制御ボタン２４４０が設けられて、ＲＤＲローカル・コンピュータ・コンソール２４上のディスプレイに対して、状況メッセージを指定する能力を許容している。
【００６９】
ステップ２１３０で、ステップ１１７０でのローカルＲＤＲコンピュータ２０によって送出された任意のスクリーン更新メッセージが、ステップ１９５０で引き続き通信サーバ６８によって送出されて、ＴＣＰ／ＩＰを介して受信されてウィンドウ２４１０上に付与される。こうしてウィンドウ２４１０は、ローカルＲＤＲコンピュータ２０で動作しているそれらデータ回復アプリケーション・プログラム３００が実行する全スクリーン活動を示す。
【００７０】
ステップ２１３５で、ＲＤＲワークステーション・キーボード４２からの任意のキーストロークは、ステップ２０２０，２０２５においてキーストローク・パケットとしてローカルＲＤＲコンピュータ２０へ送出するためにＴＣＰ／ＩＰを介して通信サーバ６８へ送出される。これらキーストローク・パケットは、図７におけるステップ７５０及び７５５で示されるように、ローカルＲＤＲコンピュータ２０によって受信されて、ＲＤＲワークステーション４０のオペレータがローカルＲＤＲコンピュータ２０で動作しているデータ回復アプリケーション・プログラム３００を制御することを可能としている。
【００７１】
ステップ２１４０で、制御ボタン２４４０の起動を介して指定された任意のディスプレイ・データ・メッセージは、ステップ２０３０，２０３５においてディスプレイ・データ・パケットとしてローカルＲＤＲコンピュータ２０へ送出するために、ＴＣＰ／ＩＰを介して通信サーバ６８へ送出される。ローカルＲＤＲコンピュータ２０はこれらパケットをステップ７４２でローカル・スクリーンへコピーすることによって、これらパケットを取り扱う。追加的にステップ２１４０で、これらディスプレイ・データ・メッセージはウィンドウ２４２０上に付与されて、ウィンドウ２４２０がローカルＲＤＲコンピュータ・コンソール２４の表情の正確な表示を維持する。
【００７２】
ステップ２１５０で、セッションが完了との決定が為されると、「ハング-アップ」メッセージが通信サーバ６８へ送出されて、ウィンドウ２４１０及び２４２０及びコントロール２４３０及び２４４０がステップ２１５５でクリアされる。
【００７３】
図２２は、ローカル・ディスプレイ２４上に表示されるフォームを表すコンピュータ・スクリーンの各種描写を含み、ローカルＲＤＲコンピュータ２のユーザがそのフォームに記入できて、該ユーザの識別、現行データ損失状況の実態、並びに、所望の対応サービスに関しての情報を提供する。ユーザ識別及び他の関連情報はフォーム２２１０によって明らかにされる。データ損失の適切な診断に関連する情報や、所望サービスの記述に関連する情報はユーザが記入するフォーム２２２０によって明らかとされる。
【００７４】
図２３は、通信サーバ・アプリケーションによって表示されるコンピュータ・スクリーンの各種描写を含み、遠隔データ回復ファシリティの管理者に通信サーバ６８を管理させている。通信チャネル状況ウィンドウ２３１０は、構築されたＬＡＮ通信チャネル６６の各々の状況のモニタを促進すべく提供されている。各ＬＡＮ通信チャネル６６は、待機モード、ゲスト・モード、新ユーザ・モード、アクティブ・データ回復モードの何れであってよく、或は、オフ-ラインであってもよい。追加的なコントロールが提供されてもよく、個別ＬＡＮ通信チャネル６６或は全体としての通信サーバ６８のメンテナンス及びコンフィギュレーションを促進する。追加的に、ワークステーション状況ウィンドウ２３２０が提供されて、通信サーバ６８に対してＴＣＰ／ＩＰ接続を設定した遠隔データ回復ワークステーション４０のモニタや、それら遠隔データ回復ワークステーション４０で行われている現行活動状態についての指示を可能としている。
【００７５】
図２４は、ＲＤＲワークステーション・ディスプレイ４４上に表示可能なコンピュータ・スクリーンの各種描写を含む。これらスクリーンは、ＲＤＲワークステーション４０のユーザが、ローカルＲＤＲコンピュータ２０のプログラムからの出力を制御すると共にモニタすること、並びに、ローカルＲＤＲコンピュータ・ディスプレイ２４の実際のスクリーンの映像を制御すると共にモニタすることを可能としている。ローカル・プログラム出力ウィンドウ２４１０は全ＲＤＲアプリケーション３００の出力としてのディスプレイである。この出力で、ＲＤＲワークステーション４０のオペレータが、ローカルＲＤＲコンピュータ２０上でランしているアプリケーションをモニタすることができる。マクロ制御ボタン２４３０は、ＲＤＲワークステーション４０のオペレータが、頻繁に使用されるキーストロークのシーケンスをローカルＲＤＲコンピュータ２０へ送出する方法を提供している。状況制御ボタン２４４０の使用は、ＲＤＲワークステーション４０のオペレータが、予め構成された状況或は特定（カスタム）状況のメッセージをローカルＲＤＲコンピュータ・ディスプレイ２４上に表示させることを可能としている。実ローカル・ディスプレイ・ウィンドウ２４２０は、ローカル・コンピュータ・ディスプレイ２４の内容を追従するディスプレイである。これは、ＲＤＲワークステーション４０のオペレータに、表示された状況メッセージの知識を維持させることを可能としている。
【００７６】
図２５は、ローカルＲＤＲアプリケーション３００の実施例で利用されたデータ構造の模式図を含む。略図２５１０は外に向かうパケット・ディスクリプタ（ＯＰＤ）データ構造を記述している。このＯＰＤ２５１０と、リンク・リスト・ポインタ２５１１を介してリンクされている任意ＯＰＤとは、ローカルＲＤＲアプリケーション３０８の通信サブシステム・コード３１８内の伝送キューを備える。このデータ構造の残りは細分長フィールド２５１２及び細分長フィールド２５１４の複数対から成る。細分長フィールド２５１２及び細分長フィールド２５１４のそうした対の数は、ゼロ細分長フィールドを伴う対が、そこで対リストが終了する２５１６に遭遇されるまで存在し得る。各対は外に向かうパケットの一部を備えるメモリの一領域を記述している。これは古典的な「集中出力又はギャザ・ライト（gather write）」アプローチであり、メモリの広範に分離された複数領域から収集すべく外に向かうパケットの様々な部分の収集を可能としている。
【００７７】
略図２５２０はローカル・ファイル制御構造（ローカルＦＣＳ）を図示している。１つのそうしたローカルＦＣＳ２５２０は、ローカル遠隔データ回復アプリケーション３０８内のオープン状態の遠隔ファイルの可能性ある同時併発的な例毎に存在する。このデータ構造使用の更なる洞察は図７、図９、並びに、図１０のフローチャートと共に、それらフローチャートに関連された詳細な説明を参照することによって得ることができる。ローカルＦＣＳ２５２０は、ファイルの現行状態、例えば、現行オープン状態、現行クローズ状態、或は、通信が生じての何らかの中間状態等々を表す状況フィールド２５２２を含む。連続番号フィールド２５２２は、遠隔ファイルの読取り、書込み、オープン、作成、或は、クローズの試行毎に、処理通信に先行して変更される。それとして、遠隔データ回復通信サーバ６８はそうした要求が新要求であるのか、或は、応答が通信エラーによって失われた故での要求の再試行であるのかを決定することができる。再試行は要求毎に再試行カウント・フィールド２５２６でカウントされて、限定された数の再試行をオペレーションが立消えになる前に試すことができる。現行ファイルポインタ・フィールド２５２８が利用されて、ストリーム・オペレーションに対して使用されるようにファイル内のオフセットの記録を維持する。通信エラーによって失われる要求或は受領確認を保護するために、タイムアウト・フィールド２５３０が存在して、要求とその要求に対する応答との間に充分な実時間が経過したかを決定することが可能としている。充分な時間が経過すれば常に、要求か或はその要求に対する応答かが喪失されたと想定される。
【００７８】
ファイル読取り動作中、読取り要求リスト・パケットが送出されて、所望されているがまだ受信されていないようなファイル・セグメントを要求する。ファイルはセグメントと呼称される量単位に基づき転送され、該セグメントはファイルの固定サイズの細分である。任意のファイル・データ転送パケットはせいぜい１セグメントを含む。セグメントの固定サイズはプログラマによって予め決定され、計算の都合やファイル・システム性能に基づくと共に、結果としてのパケット・サイズが考慮されている。要求リストは、受信すべく次のセグメント２５３２に同等な初期セグメント値によって作成され、フィールド２５３４に受信すべく残存された合計セグメントを氾濫させることなしに、できる限り多くの連続するセグメントを要求するものである。シーケンスから受信されたセグメントは廃棄され、直ちに校正読取り要求リストが作成させて、図７のステップ７６６において伝送キュー内に配置させられる。また、タイムアウト条件は校正読取り要求リストを作成させて、図１０のステップ１０３０において伝送キュー内に配置させられる。
【００７９】
ファイル書込み動作中、書込み初期化パケットが送出され、該パケットは始動セグメント番号及び合計バイト・カウントを含む。このパケットは通信サーバ６８が該通信サーバのバッファリングに伴ってファイル・セグメントを要求させることができ、Ｉ／Ｏサブシステムはファイル・セグメントを受信する用意ができる。通信サーバ６８は、図７のステップ７１２で処理されるファイル書込み要求リスト・パケットを送出することによってファイル・セグメントのそうした要求を為す。データ構造フィールドの要求された第１セグメント２５３６及び要求されたセグメント・カウント２５３８はファイル書込み要求リスト・パケットから直に採られる。送出すべき次のセグメントのフィールド２５４０が利用されて、どのファイル・セグメントをキュー内に配置し始めるのかを決定する。送出すべき次のセグメントが要求された第１セグメント及び要求されたセグメント・カウントによって記述されている範囲内である限り、送出すべき次のセグメント２５４０及び要求されるべき第１セグメント２５３６の間の如何なる差も移動中であるパケットによる。ヌル要求を伴うファイル書込み要求リスト・パケットの受領はファイル書込み動作の成功完了として解釈される。
【００８０】
略図２５６０は、トラックを保持すべく使用されたスクリーン・ライン変化ディスクリプタ（ＳＬＣＤ）・データ構造を説明しており、そのトラックの、ＲＤＲアプリケーション３００によって書き込まれる仮想スクリーンの複数部分は、ＲＤＲ通信サーバ６８に未だ首尾よく伝送されていなかったものである。このＳＬＣＤ内には一対のフィールド、即ち、スクリーン上のキャラクタの各ラインに対して最初のダーティ・コラム２５６２及び最後のダーティ・コラム２５６４が存在している。このフィールド対は変更されているが未だ伝送されていないデータを含むコラムのいっさいを含めた範囲を記述している。
【００８１】
図２６は、ローカルＲＤＲアプリケーション３０８の実施例に利用される更なるデータ構造の模式図と共に、ＲＤＲ通信サーバ・アプリケーションの実施例に利用されるデータ構造の模式図とを含む。
【００８２】
図２６の２６１０で記述されるデータ構造はパケット受信制御（ＰＲＣ）構造である。このＰＲＣはＲＤＲローカル・アプリケーション３０８によって利用されて入力パケットをデコードし、統計を維持し、そして制御を図７のルーチンへ転送し、入ってくるパケットの各特定タイプを取り扱う責務がある。次のパケット受信構造に対するポインタのフィールド２６１２が利用されて、そうした構造を古典的な単一でリンクされたリストの形態の収集を維持している。パケット・タイプ番号のフィールド２６１４は入ってくるパケットのタイプ・フィールドと符合させて、このパケットがこのＰＲＣ或は引き続くＰＲＣに従って取り扱われるべきかを決定する。もしパケット・タイプ番号フィールドが入ってくるパケットのタイプ・フィールドと同等であれば、パケット・カウンタのフィールド２６１６は増分されて統計を維持し、パケット・ハンドラー・ルーチンを指すポインタのフィールド２６１８によってポインタが付けられたソフトウェア・ルーチンは呼び出されて、入ってくるパケットの処理を取り扱う。
【００８３】
データ構造２６２０はＲＤＲ通信サーバ６８内で利用されるようにファイル制御構造（ＦＣＳ）である。１つのサーバＦＣＳ２６２０は、ＲＤＲ通信サーバ・アプリケーション内のオープンされた遠隔ファイルの潜在的に同時併発する例毎に存在する。このデータ構造の使用の更なる洞察は、図１８及び図１９のフローチャートを参照すると共に、それらのフローチャートに関連された詳細な説明を参照することによって得ることができる。サーバＦＣＳ２６２０は状況フィールド２６２２を含み、それはファイルの現行状態、例えば、現行オープン状態、現行クローズ状態、或は、通信が生じての何らかの中間状態等々を表す。最後の連続番号のフィールド２６２４は、遠隔ファイルの読込み、書込み、オープン、作成、或は、クローズの試行毎に検査される。それとして、ＲＤＲ通信サーバ・アプリケーションはそうした要求が新要求であるのか、或は、応答が通信エラーによって失われた故での要求の再試行であるのかを決定することができる。再試行は要求毎に再試行カウント・フィールド２６２６でカウントされて、限定された数の再試行をオペレーションが立消えになる前に試すことができる。通信エラーによって失われる要求或は受領確認を保護するために、タイムアウト・フィールド２６３０が存在して、要求とその要求に対する応答との間に充分な実時間が経過したかを決定することが可能としている。充分な時間が経過すれば常に、要求か或はその要求に対する応答かが喪失されたと想定される。ファイルが作成されるか、オープンされるかすると、実ファイル・ハンドル・フィールド２６３６が用いられて、システムによって利用される実ファイル・ハンドルを保持されて、このファイルを将来の読取り、書込み、或は、クローズの要求に参照する。
【００８４】
ファイル読取り動作中、読取り要求リスト・パケットはその要求リストで指定されているような実ファイル読取りを単に実行し、続いてその要求されたファイル・データをファイル読取りデータ・パケットとして送出することによって応答される。ファイル読取りデータ・パケットが送出されている間、読取り要求リスト・パケットが到着すると、読取りデータは止められ、新読取り要求リストが受け入れられる。読取り動作中、ＦＣＳデータ構造の関連フィールドは、現行ファイル・ポインタ２６２８、要求された第１セグメント２６３２、要求されたセグメント・カウントである。これらフィールドは読取り要求リスト・パケットの内容から記入され、関連されたファイル読取りデータ・パケットが伝送されるように調整される。
【００８５】
ファイル書込み動作中、書込みファイル初期化パケットが受信されて意図された書込み動作を画成する。書込みファイル初期化パケットは、現行ファイル・ポインタ２６２８、要求された第１セグメント２６３２，並びに、要求されたセグメント・カウント２６３４のサーバＦＣＳ２６２０における各種フィールドの情報を提供する。追加的に、メモリは要求毎にシステム・リソースの利用状況を考慮して割り当てられる。自由セグメント・バッファの数のフィールド２６３６、セグメントの合計数のフィールド２６４０、並びに、セグメント・バッファに対するポインタ２６４２が設定されて、割り当てられたセグメント数及びそれらのメモリ箇所に反映される。書込みファイル・データ・パケットが到着すると、それは利用可能なバッファに配置されて、ファイルへの書込みのためのスケジュールが組まれる。ファイル・セグメントの到着は自由セグメント・バッファ数２６３８を減分することになり、またそれらセグメントの上首尾な書込みは自由セグメント・バッファ数２６３８を増分することになる。ファイル書込み要求リスト・パケットはセグメント数の始動として要求された第１セグメントのフィールド２６３２を利用して公式化され、要求されたセグメントの数は、自由セグメント・バッファ数２６３８のフィールド、或は要求されたセグメント・カウント２６３４のフィールの何れかによって制限される。要求された第１セグメント２６３２及び要求されたセグメント・カウント２６３４の各フィールドは、ファイル・データ・パケットの到着にで、それぞれ増分及び減分されて、それは受信が維持され続けるファイル・データの正確な記述を維持する。
【００８６】
理解して頂けるように、本発明は、上述した実施例の多数の変形を受け入れることができる。本発明の原理は、データ記憶装置の診断及び／或はデータ回復を遠隔データ回復コンピュータによって可能とするものである。幾つかの場合、ユーザが実際の回復に進行することを選択しない可能性があるので、診断のみが遠隔的に実行される。また幾つかの場合、回復がローカル・コンピュータにおいて実行されて、回復されたデータがローカル・ユーザの記憶装置２６に再記憶される。多くの場合、データはＲＤＲネットワーク共有ドライブ６５にダウンロードさせることが可能であり、新しい記憶媒体に再記憶及び保存させて、それからその記憶媒体をユーザへ送出するか、或は、ユーザが取りに行くかすることができる。幾つかの場合、損傷されたデータはＲＤＲネットワーク供給ドライブ６５にダウンロードさせることができ、再記憶させ、それからアップロードしてローカルＲＤＲコンピュータ２０へ戻す。理解して頂けるように、これらは、本発明の原理の下、生じ得る多くのシナリオの内の幾つかである。
【００８７】
ご理解できるように、チャット・カンバセーション、法的合意書の了承、使用されるデータ回復アプリケーション等々を含む注目すべき事象の自動的で詳細なロギング（logging）は、ビジネス・トレンドの分析に価値があり、時々引き起こされる係争に対する参照資料として価値がある。それ故に、ＲＤＲの好適実施例は以下のような事象をロギングする手段を含む。
１）接続始動：日付／時間、クライアントのジョブＩＤ及び電話番号、通信チャネルのタイプ及び速度；
２）データ回復診断／アプリケーション・プログラムの始動及び停止の日付／時間と共に、そのプログラムからの報告；
３）全てのチャット或はカンバセーション（双方向）；
４）提出された全ての法的合意書、その合意書に対するクライアントの応答、全ての添付物或は補充物；
５）変更された全データ・セクタの完全な記録及びそれらの先行状態、そして
６）接続終了日付／時間。
【００８８】
ご理解できるように、データ回復の実行は、その回復プロセスの続行に伴って、不正確になると判明され得る仮説の要請を含むことができる。それ故に、ローカル記憶装置２６に対して実行された変更を「アンドゥー（undo）」する能力を可能とすることが望ましく、例えば、そうした変更が正しくない仮定に基づいて続けて決定された場合のため、さもなければ不適切であった場合のためである。好適実施例において、ＲＤＲワークステーションのオペレータが続行を決定するときまで、或は、代替的にその変更を放棄するときまで、ローカル記憶装置に対する全ての変更を延期するようなメカニズムが設けられている。もし変更を行うとの決定が為されたならば、変更されるとのマークが為された全データを先ず記憶保管のためにＲＤＲファシリティに転送する。その後にだけ、新データがそのローカル記憶装置２６に実際に書き込まれる。そうしたメカニズムを実行するこの好適な方法はファイルを伴い、それはそのローカル記憶装置２６に対して実行されることになる全書込み活動を記憶するものである。そのファイルは遠隔データ回復サイトでのネットワークに取り付けられた記憶装置６５に常駐する。そのファイル内の各エントリは、固有セクタと代表されるローカル記憶装置とを識別する識別子と共に、そのセクタに書き込まれた最新データを含む。それは「書込み-キャッシュ」であることが効果的である。
【００８９】
図２７は、ローカル・データ記憶装置２６に対して為される変更を「アンドゥー」する能力を実行するローカルＲＤＲアプリケーション３０８内のＩＯ論理層のフローチャートである。ローカル記憶装置２６に対して書き込まれる全試行は、２７１０のこのＩＯ論理層に入る。もし要求されたセクタ（又は複数のセクタ）が先行して書込まれていれば、ログ-ファイルに何等エントリが存在しない。もしこの状態が２７２０で検出されたならば、ログ-ファイル・エントリは２７３０で追加され、そして、２７３５で書込まれるべきデータがそのログ-ファイル・エントリに書込まれる。もし２７２０で要求されたセクタ（又は複数のセクタ）が先行して書込まれていると検出されたならば、存在するログ-ファイル・エントリは２７４０で書込まれるべき新データで更新される。それ故に、このログ-ファイルにはエントリと、データ回復セッション中に書込まれたセクタ毎に対する新データとが存在する。ローカル記憶装置２６を読取る全試行は、２７５０のこのＩＯ層に入る。もし、２７６０で、要求されたセクタ（又は複数のセクタ）がログ-ファイルに存在しないと決定されたならば、即ち、セクタがこのセッション中に書込まれなかったと決定されたならば、２７７０でデータが装置から直に読取られる。もし、２７６０で、要求されたセクタ（又は複数のセクタ）がログ-ファイルに存在していると決定されたならば、即ち、セクタがこのセッション中に書込まれたと決定されたならば、２７８０でデータがログ-ファイルから読取られてこの要求を満たす。これはデータ回復アプリケーション・プログラム３００に対して、セクタが事実上書込まれているとの外観を付与しているが、これら書込みは、事実上、ログ-ファイルによって効果的に保存されている。
【００９０】
図２８は、変更の放棄、新データ実行、並びに、オリジナル・データの潜在的な復帰を促進すべくログ-ファイルを操作するアプリケーションのフローチャートである。不適切に変更されていると決定されたセクタは、２８１５で対応するログ-ファイル・エントリを削除することによって、２８１０でのように「アンドゥー」させることができる。２８２０で、全ての変更を実行することが望ましくなる場合、上書きされようとするオリジナル・データは、２８３０でのように、遠隔データ回復サイトでのネットワークに取り付けられた記憶装置６５上のファイルに転送される。次いで、このオリジナル・データのログ-ファイルは２８４０でのように保管される。最終的に、オリジナル・データはここで安全に保管されたので、２８５０のように、ログ-ファイルのデータが用いられて、ローカル記憶装置２６を変更する。もし、何らかの理由で、そのローカル記憶装置２６をオリジナル状態に復帰させることが適切であると考えられたならば、２８７０のように、犯された全変更をアンドゥーすることが可能である。この場合、２８３０及び２８４０のように転送されて保管されたオリジナル・データは、それぞれ２８８０のように、ローカル・コンピュータ・メモリへ転送されて戻され、このオリジナル・データのログ-ファイルに注記された全セクタは２８８５のようにローカル記憶装置２６に復帰されて、ローカル記憶装置２６をそのオリジナル状態に為す。
【００９１】
理解して頂けるように、本発明の多数の特性及び長所が、本発明の構造及び機能の詳細と共に、以上の記載で詳述されたが、この開示は例示的目的のみであり、そして、添付の請求項で表現されている文言の広範な一般的意味合いによって示される全幅にわたる発明の原理内において、様々な変更が、詳細に、特に各種パーツの形状、寸法、並びに、配列の点で為され得る。
【図面の簡単な説明】
【図１】本発明の原理に従った装置の一実施例のブロック線図である。
【図２】本発明の原理に従った装置の他の実施例のブロック線図であ。
【図３】本発明の実施例でのローカル環境のソフトウェア階層線図であ。
【図４】本発明の実施例におけるローカルＲＤＲのフローチャートであり、
【図５】ローカル・コンピュータの遠隔制御オペレーションを促進する、本発明の実施例におけるローカルＲＤＲの一部のフローチャートである。
【図６】通信チャネル事象を取り扱う、本発明の実施例におけるローカルＲＤＲの一部のフローチャートである。
【図７】種々雑多な入力データ・パケットを取り扱う、本発明の実施例におけるローカルＲＤＲの一部のフローチャートである。
【図８】外に向かう通信データ・パケットを送出する、本発明の実施例におけるローカルＲＤＲの一部のフローチャートである。
【図９】ファイルの作成／オープン／クローズ機能のための固有オペレーティング・システムＡＰＩの割り込み及び処理を為す、本発明の実施例におけるローカルＲＤＲの一部のフローチャートである。
【図１０】ファイルの読取り／書き込み機能のための固有オペレーティング・システムＡＰＩの割り込み及び処理を為す、本発明の実施例におけるローカルＲＤＲの一部のフローチャートである。
【図１１】表示-スクリーン読取り／書き込み機能のための固有オペレーティング・システムＡＰＩの割り込み及び処理を為す、本発明の実施例におけるローカルＲＤＲの一部のフローチャートである。
【図１２】本発明の実施例におけるＲＤＲ通信サーバ・アプリケーションのフローチャートである。
【図１３】ローカル・コンピュータのユーザと呼び戻し（コールバック）時間の交渉を促進する、本発明の実施例におけるＲＤＲ通信サーバ・アプリケーションの一部のフローチャートである。
【図１４】データ回復診断アプリケーションをローカル・コンピュータにダウンロードし、該データ回復診断アプリケーションを該ローカル・コンピュータで実行させる、本発明の実施例におけるＲＤＲ通信サーバ・アプリケーションの一部のフローチャートである。
【図１５】正式合意書をローカル・コンピュータにダウンロードし、合意書リーダ・アプリケーションを該ローカル・コンピュータで実行させる、本発明の実施例におけるＲＤＲ通信サーバ・アプリケーションの一部のフローチャートである。
【図１６】ローカル・コンピュータと適切なＲＤＲワークステーションの間での論理的な接続を設定して、該論理的接続を維持する、本発明の実施例におけるＲＤＲ通信サーバ・アプリケーションの一部のフローチャートである。
【図１７】ローカル・コンピュータからのファイルのオープン／作成／クローズ要求パケットを取り扱う、本発明の実施例におけるＲＤＲ通信サーバ・アプリケーションの一部のフローチャートである。
【図１８】ローカル・コンピュータからのファイル書き込み要求データ・パケットを取り扱う、本発明の実施例におけるＲＤＲ通信サーバ・アプリケーションの一部のフローチャートである。
【図１９】ローカル・コンピュータからの種々雑多な要求データ・パケットを取り扱う、本発明の実施例におけるＲＤＲ通信サーバ・アプリケーションの一部のフローチャートである。
【図２０】ＲＤＲワークステーション・コンピュータからのＴＣＰ／ＩＰメッセージを取り扱う、本発明の実施例におけるＲＤＲ通信サーバ・アプリケーションのその一部のフローチャートである。
【図２１】本発明の実施例におけるＲＤＲワークステーションのメイン・アプリケーションのフローチャートである。
【図２２】ユーザの識別及び現行データ損失状況の実態に関する情報を提供すると共に所望される対応サービスを提供すべく、ローカル・コンピュータのユーザが記入できるフォームを表示するコンピュータ・スクリーン又はコンピュータ画面を図示する。
【図２３】通信サーバを操作管理するために、遠隔データ回復ファシリティの管理者に対して情報を提供するコンピュータ・スクリーンを図示する。
【図２４】遠隔データ回復ローカル・コンピュータのプログラムからの出力を制御しモニタすると共に、遠隔データ回復ローカル・コンピュータの実際のスクリーンにおける表示を制御しモニタすることを、遠隔データ回復ワークステーションのユーザに許容するコンピュータ・スクリーンを図示する。
【図２５】ローカル遠隔データ回復アプリケーションの実施例で利用されるデータ構造の各種の説明的な図面を含む。
【図２６】ローカル遠隔データ回復アプリケーションの実施例で利用されるデータ構造の説明的な各種図面を含むと共に、遠隔データ回復通信サーバ・アプリケーションの実施例で利用されるデータ構造の説明的な各種図面を含む。
【図２７】ローカル・データ記憶装置２６に対して為された任意の変更の「アンドゥー（undoing）」機能を実行するローカルＲＤＲアプリケーション３０８内のＩＯ論理層のフローチャートである。
【図２８】変更の棄却、新データの実行又は記憶、並びに、オリジナル・データの潜在的な回復を促進するログ-ファイルを操作するアプリケーションのフローチャートである。
【符号の説明】
２０  ローカル遠隔データ回復（ＲＤＲ）コンピュータ
２１  中央演算処理装置（ＣＰＵ）・メモリ
２２  ローカル入力装置
２４  ローカル・ディスプレイ
２６  ローカル記憶装置
２８  リムーバブル媒体記憶装置
３０  ローカル通信ハードウェア・ユニット
３５  メイン通信チャネル
４０  遠隔データ回復（ＲＤＲ）ワークステーション
４１  ＣＰＵ及び関連メモリ
４２  遠隔入力装置
４４  遠隔ディスプレイ
４６  遠隔記憶装置
４８  遠隔リムーバブル媒体記憶装置
５０  遠隔通信ハードウェア・ユニット
６０  ファイル・サーバ
６２  ＴＣＰ／ＩＰネットワーク
６４  データ
６５  ネットワーク共有ドライブ
６８  通信サーバ
６９  ネットワーク通信ハードウェア・ユニット
７０  通信スイッチ
【図１】
0004616423.tif 000002
【図２】
0004616423.tif 000003
【図３】
0004616423.tif 000004
【図４】
0004616423.tif 000005
【図５】
0004616423.tif 000006
【図６】
0004616423.tif 000007
【図７】
0004616423.tif 000008
【図８】
0004616423.tif 000009
【図９】
0004616423.tif 000010
【図１０】
0004616423.tif 000011
【図１１】
0004616423.tif 000012
【図１２】
0004616423.tif 000013
【図１３】
0004616423.tif 000014
【図１４】
0004616423.tif 000015
【図１５】
0004616423.tif 000016
【図１６】
0004616423.tif 000017
【図１７】
0004616423.tif 000018
【図１８】
0004616423.tif 000019
【図１９】
0004616423.tif 000020
【図２０】
0004616423.tif 000021
【図２１】
0004616423.tif 000022
【図２２】
0004616423.tif 000023
【図２３】
0004616423.tif 000024
【図２４】
0004616423.tif 000025
【図２５】
0004616423.tif 000026
【図２６】
0004616423.tif 000027
【図２７】
0004616423.tif 000028
【図２８】
0004616423.tif 000029