(57)【要約】【解決手段】データ・バックアップ・システムは、エミュレーション・コンポーネントと、論理記録領域を含むストレージ・デバイスとを含む。エミュレーション・コンポーネントは、自動起動デバイスであるかのように、ソリッド・ステート・メモリやディスク・ドライブ・パーティションなどのストレージ・デバイスにおける第１論理記録領域を示す。したがって、パーソナル・コンピュータなどのデータ・ソースは、第１論理記録領域に対して、あたかもそれが自動起動デバイスであるかのようにアクセスする。オペレーティング・システムは、接続時に自動起動デバイスを認識すると、保持されているアプリケーションを自動起動するため、そのようなオペレーティング・システムを実行するデータ・ソースにデータ・バックアップ・システムを接続するだけで、第１論理記録領域に保存されているバックアップ・アプリケーションはデータ・ソース上において自動実行され、ストレージ・デバイスの第２論理記録領域に選択的にデータがバックアップされる。【選択図】図１
2009512034.tif 000002
【特許請求の範囲】
【請求項１】
通信インタフェースと、
第１および第２論理記録領域を含む書き込み可能なデータ記録媒体を含む第１のストレージ・デバイスと、
前記第１ストレージ・デバイスおよび前記通信インタフェース間の通信を中継するエミュレーション・コンポーネントと、を備え、
前記エミュレーション・コンポーネントは、
自動起動デバイスとして、前記第１論理記録領域を示す論理と、
書き込み可能なデータ記録媒体を含む第２記録デバイスとして、前記第２論理記録領域を示す論理と、
を含むことを特徴とするデータバックアップシステム。
【請求項２】
前記通信インタフェースは、ＵＳＢ通信インタフェースを含むことを特徴とする請求項１に記載のデータバックアップシステム。
【請求項３】
前記通信インタフェースは、FireWire通信インタフェースを含むことを特徴とする請求項１に記載のデータバックアップシステム。
【請求項４】
前記第１ストレージ・デバイスは、ＨＤＤを含むことを特徴とする請求項１に記載のデータバックアップシステム。
【請求項５】
前記第１および第２論理記録領域は、第１および第２のパーティションを含むことを特徴とする請求項４に記載のデータバックアップシステム。
【請求項６】
前記自動起動デバイスとして前記第１論理記録領域を示す論理は、前記第１パーティションをＣＤドライブとして示すことを特徴とする請求項５に記載のデータバックアップシステム。
【請求項７】
前記自動起動デバイスとして前記第１論理記録領域を示す論理は、前記第１パーティションをＤＶＤドライブとして示すことを特徴とする請求項５に記載のデータバックアップシステム。
【請求項８】
前記第１ストレージ・デバイスは、ソリッド・ステート・メモリを含むことを特徴とする請求項１に記載のデータバックアップシステム。
【請求項９】
前記ソリッド・ステート・メモリは、ＳＤメモリカードを含むことを特徴とする請求項８に記載のデータバックアップシステム。
【請求項１０】
前記ソリッド・ステート・メモリは、ＣＦメモリカードを含むことを特徴とする請求項８に記載のデータバックアップシステム。
【請求項１１】
前記第１ストレージ・デバイスは、光学デバイスを含むことを特徴とする請求項１に記載のデータバックアップシステム。
【請求項１２】
前記光学デバイスは、ＣＤドライブを含むことを特徴とする請求項１１に記載のデータバックアップシステム。
【請求項１３】
前記書き込み可能なデータ記録媒体は、ＣＤ−Ｒを含むことを特徴とする請求項１２に記載のデータバックアップシステム。
【請求項１４】
前記書き込み可能なデータ記録媒体は、ＣＤ−ＲＷを含むことを特徴とする請求項１２に記載のデータバックアップシステム。
【請求項１５】
前記光学デバイスは、ＤＶＤドライブを含むことを特徴とする請求項１１に記載のデータバックアップシステム。
【請求項１６】
前記書き込み可能なデータ記録媒体は、ＤＶＤ＋Ｒを含むことを特徴とする請求項１５に記載のデータバックアップシステム。
【請求項１７】
前記書き込み可能なデータ記録媒体は、ＤＶＤ−Ｒを含むことを特徴とする請求項１５に記載のデータバックアップシステム。
【請求項１８】
前記書き込み可能なデータ記録媒体は、ＤＶＤ＋ＲＷを含むことを特徴とする請求項１５に記載のデータバックアップシステム。
【請求項１９】
前記書き込み可能なデータ記録媒体は、ＤＶＤ−ＲＷを含むことを特徴とする請求項１５に記載のデータバックアップシステム。
【請求項２０】
前記エミュレーション・コンポーネントは、更に、
前記通信インタフェースから自動起動デバイス・コマンドを受信し、前記自動起動デバイス・コマンドを第１ストレージ・デバイス・コマンドに変換し、前記第１ストレージ・デバイス・コマンドを前記第１論理記録領域に送信し、
前記第１論理記録領域から第１ストレージ・デバイス・応答を受信し、前記第１ストレージ・デバイス・応答を自動起動デバイス・応答に変換し、前記自動起動デバイス・応答を前記通信インタフェースに送信する論理、
を含むことを特徴とする請求項１に記載のデータバックアップシステム。
【請求項２１】
前記エミュレーション・コンポーネントは、更に、
前記通信インタフェースから第２ストレージ・デバイス・コマンドを受信し、前記第２ストレージ・デバイス・コマンドを前記第２論理記録領域に送信し、
前記第２論理記録領域から第２ストレージ・デバイス・応答を受信し、前記第２ストレージ・デバイス・応答を前記通信インタフェースに送信する論理、
を含むことを特徴とする請求項２０に記載のデータバックアップシステム。
【請求項２２】
データ・バックアップ・アプリケーションを、前記第１論理記録領域に保持することを特徴とする請求項１に記載のデータバックアップシステム。
【請求項２３】
第２デバイス・タイプは、データ・ソースと接続されたときに、第１ストレージ・デバイスに保持されているバックアップ・アプリケーションを前記データ・ソースのオペレーティング・システムに自動起動させるデバイス・タイプ・クラスに属しており、
前記データ・ソースからの問い合わせに対し、第１デバイス・タイプの前記第１ストレージ・デバイスを前記第２デバイス・タイプとして応答するステップと、
前記データ・ソースに保持されているデータを選択的にコピーするために、前記バックアップ・アプリケーションを前記データ・ソースに提供するステップと、を含み、
前記バックアップ・アプリケーションを提供するステップは、
前記データ・ソースから自動起動デバイス・コマンドを受信し、前記自動起動デバイス・コマンドを第１ストレージ・デバイス・コマンドに変換し、前記第１ストレージ・デバイス・コマンドを前記ストレージ・デバイスに送信するステップと、
前記第１ストレージ・デバイスから前記第１ストレージ・デバイス・応答を受信し、前記第１ストレージ・デバイス・応答を自動起動デバイス・応答に変換し、前記自動起動デバイス応答を前記データ・ソースに送信するステップと、
を含むことを特徴とする、データ・ソース上に保持されるデータをバックアップするための方法。
【請求項２４】
データファイルを第２ストレージ・デバイスに選択的にコピーするステップ、を更に含むことを特徴とする請求項２３に記載の方法。
【請求項２５】
データファイルを前記第２ストレージ・デバイスに選択的にコピーするステップは、データ・ソースと関連づけられる１以上のストレージ・デバイスを検索し、所定基準に合致するデータファイルを検出するステップ、を含むことを特徴とする請求項２４に記載の方法。
【請求項２６】
前記所定基準とは、前記データファイルが以前にデータバックアップシステムにコピーされていないこと、であることを特徴とする請求項２５に記載の方法。
【請求項２７】
前記所定基準は、前記データファイルがコンテンツ・タイプと対応づけられる１以上のファイル・タイプを有すること、であることを特徴とする請求項２５に記載の方法。
【請求項２８】
データファイルを前記第２ストレージ・デバイスに選択的にコピーするステップは、前記データ・ソースにおけるコピーファイルの位置を示すために、前記第２ストレージ・デバイスにディレクトリ構造を生成するステップ、を含むことを特徴とする請求項２４に記載の方法。
【請求項２９】
データファイルを前記第２ストレージ・デバイスに選択的にコピーするステップは、ユーザ・コマンドにより開始されることを特徴特徴とする請求項２４に記載の方法。
【請求項３０】
データファイルを前記第２ストレージ・デバイスに選択的にコピーするステップは、リムーバブル・ストレージ・デバイスをデータバックアップシステムの通信ポートに接続することによって開始されること特徴とする請求項２４に記載の方法。
【請求項３１】
データファイルを前記第２ストレージ・デバイスに選択的にコピーするステップは、データ・ソースが以前にデータバックアップシステムと対応づけられているか否かを判定するステップ、を含むことを特徴とする請求項２４に記載の方法。
【請求項３２】
前記第１ストレージ・デバイスは、前記第２ストレージ・デバイスを含むことを特徴とする請求項２４に記載の方法。
【請求項３３】
データファイルを前記第２ストレージ・デバイスに選択的にコピーするステップは、コピーされたファイルをウェブベースのストレージ・デバイスに送信するステップ、を含むことを特徴とする請求項２４に記載の方法。
【請求項３４】
データファイルを前記第２ストレージ・デバイスに選択的にコピーするステップは、コピーされたファイルをネットワーク・ドライブに送信するステップ、を含むことを特徴とする請求項２４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、米国通常特許出願第１１／４９２,３８０号（発明の名称：「データ・バックアップ・アプリケーションのエミュレーション・コンポーネント」、２００６年７月２４日出願）の優先権を主張する分割出願である。原出願は、米国仮特許出願第６０／７２５，２２５号（発明の名称：「電子データ・バックアップ機器として、エミュレーション・コンポーネントを介して、外部のストレージ・デバイス上における着脱可能なメディア・デバイスをエミュレーションする方法、装置およびシステム」２００５年１０月１２日出願）の利益を主張する。この出願は、同様に、米国仮特許出願第６０／７２５，２２５号の利益を主張する。
本発明は、一般的には、デジタル・データ管理技術に関連し、より詳しくは、データ・バックアップ・アプリケーションのためのシステムに関する。
【背景技術】
【０００２】
さまざまなファイル形式のデジタル・データ・ファイルとして表現されるデジタル・コンテンツは、急速に他形式のコンテンツを置き換えつつある。ますます多くの文書、プレゼンテーション、写真、動画、音楽が、デジタルで生成・記録されるようになってきている。多くの個人や組織にとって問題となるのは、コンピュータのハードウェアに保存されているデジタル・コンテンツがきちんと整理されておらず、偶発的な紛失から守られるように記録される必要があることである。たとえば、パーソナル・コンピュータ（ＰＣ）において、デジタル写真ファイルは、さまざまなフォルダに保存されることが多い。デジタルカメラから送られた写真は一のフォルダ群に保存され、Ｅメールに添付された写真は別のフォルダ群に保存され、ウェブサイトからダウンロードされた写真は更に別のフォルダ群に保存される、といった具合である。
【０００３】
デジタル・コンテンツのアーカイブ方法の一つは、既存のデータ構造を維持したまま、コンピュータ上のデータ・ファイル全てを定期的にバックアップすることである。こういったやり方は、偶発的紛失からデジタル・コンテンツを守る上では有効であるが、欠点もある。一つは、コピー結果はオリジナル以上に上手く構造化されることはないので、間違った場所に置かれているコンテンツや、上手く構造化されていないコンテンツは、間違ったまま・上手く構造化されないまま、となる。また、データ・ファイル全てをバックアップするためには、既に他の場所に保存されている膨大な数のファイルをコピーする上で十分な容量のメモリが必要となる。たとえば、もともとコンパクト・ディスク（ＣＤ）からコンピュータにロードされたアプリケーション固有のファイルは、ＣＤに存在しているので、バックアップは不要である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
完全バックアップに必要なストレージ容量は、ハードディスク・ドライブ（ＨＤＤ）などの書き込み可能なデータ記録媒体によって実現できる。ただし、最初のシステム接続に際して、デバイスの導入やソフトウェアのセットアップが必要となる。これらの手順を踏むためには、ユーザは既存システムに関する情報を入力する必要があるかもしれないし、中には、ユーザがすぐにはわからない情報もあるかもしれない。また、ユーザは、デバイスやソフトウェアの設定をしなければならないかもしれない。複雑な手順の存在だけではなく、導入とセットアップにおける手順の数自体も、ユーザがバックアップ・アプリケーションを実行するのをためらう原因となっている。完全バックアップを実行する上で十分な容量の書き込み可能なデータ記録媒体の価格も、ユーザが完全バックアップを実行するのをためらう原因たりえる。更に、十分な容量のストレージを買って導入したユーザであっても、完全バックアップによりシステムが拘束される時間の長さにより、頻繁なバックアップをためらってしまう。
【０００５】
あるいは、ユーザは、手動でディレクトリからファイル群を選択し、選択したファイル群をストレージ・デバイスにコピーしてもよい。こういったやり方は、導入やセットアップなどの手続きなしに、小さなメモリ・デバイスで実現できるかもしれないが、手動でファイルを選ぶのは煩わしい。また、手動によるファイル選択の場合、偶発的な選択のし忘れが発生する可能性がある。
【０００６】
そこで、安価かつ簡易に、デジタル・コンテンツを選択的にバックアップする技術が必要とされている。
【課題を解決するための手段】
【０００７】
本実施例におけるデータ・バックアップ・システムは、通信インタフェース、第１ストレージ・デバイスおよびエミュレーション・コンポーネントを含む。第１ストレージ・デバイスは、第１および第２論理記録領域を含む書き込み可能なデータ記録媒体を含む。ある態様においては、第１論理記録領域は、データ・バックアップ・アプリケーションを含む。エミュレーション・コンポーネントは、第１ストレージ・デバイスと通信インタフェースの通信を仲介する。エミュレーション・コンポーネントは、第１論理記録領域を自動起動デバイスとして示す論理と、第２論理記録領域を、書き込み可能なデータ記録媒体を含む第２ストレージ・デバイスとして示す追加論理を含む。エミュレーション・コンポーネントの「論理」は、ソフトウェア、ハードウェア、ファームウェア、あるいは、それらの組み合わせとして実装可能である。
【０００８】
ある態様として例示するデータ・バック・アップシステムのエミュレーション・コンポーネントは、通信インタフェースから自動起動デバイス・コマンドを受信し、自動起動デバイス・コマンドを第１ストレージ・デバイス・コマンドに変換し、第１ストレージ・デバイス・コマンドを第１論理記録領域に送出する論理と、第１論理記録領域から第１ストレージ・デバイス・応答を受信し、第１ストレージ・デバイス・応答を自動起動デバイス・応答に変換し、自動起動デバイス・応答を通信インタフェースに送出する追加論理を含んでもよい。エミュレーション・コンポーネントは、更に、第２ストレージ・デバイス・コマンドを通信インタフェースから受信し、第２ストレージ・デバイス・コマンドを第２論理記録領域に送信する論理と、第２論理記録領域から第２ストレージ・デバイス・応答を受信し、第２ストレージ・デバイス・応答を通信インタフェースに送信する追加論理を更に含んでもよい。
【０００９】
ある態様における第１ストレージ・デバイスはＨＤＤを含んでもよい。この態様における第１および第２論理記録領域は、第１および第２ＨＤＤパーティションを含んでもよい。第１ストレージ・デバイスは、ソリッド・ステート（solid-state）・メモリや光学デバイスを含んでもよい。適切なソリッド・ステート・メモリとしては、少なくとも１回の書き込みが可能なソリッド・ステート・メモリであればよく、セキュア・デジタル（ＳＤ：Secure Digital）メモリカード、コンパクト・フラッシュ（ＣＦ：Compact Flash）メモリカード、メモリスティックなどを挙げることができる。適切な光学デバイスとしては、ＣＤドライブやＤＶＤドライブを挙げることができる。これらのドライブについての書き込み可能なデータ記録媒体としては、ＣＤ−Ｒ、ＣＤ−ＲＷ媒体と、ＤＶＤ−Ｒ、ＤＶＤ＋Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ媒体をそれぞれ挙げることができる。
【００１０】
データ・ソースのデータをバックアップする処理には、データ・ソースからの問い合わせ（クエリー）に応答を返す処理が含まれる。この応答は、第２デバイス・タイプとしてではなく、第１デバイス・タイプとして第１ストレージ・デバイスを特定してもよい。ここで、第２デバイス・タイプとは、データ・ソースと接続されたとき、データ・ソースのオペレーティング・システムに指示して、自動的に第１ストレージ・デバイスのバックアップ・アプリケーションを実行させるデバイス・タイプ・クラスに属する。この処理は、更に、データ・ソースのデータを選択的にコピーするためのバックアップ・アプリケーションをデータ・ソースに提供するステップ、を含んでもよい。バックアップ・アプリケーションを提供するステップは、データ・ソースから自動起動デバイス・コマンドを受信し、自動起動デバイス・コマンドを第１ストレージ・デバイス・コマンドに変換し、第１ストレージ・デバイス・コマンドをストレージ・デバイスに送信するステップ、を含む。バックアップ・アプリケーションを提供するステップは、更に、第１ストレージ・デバイスから第１ストレージ・デバイス・応答を受信し、第１ストレージ・デバイス・応答を自動起動デバイス・応答に変換し、自動起動デバイス・応答をデータソースに送信するステップ、を含んでもよい。
【００１１】
ある態様において、データ・ソースのデータをバックアップする処理は、第２ストレージ・デバイスに選択的にデータ・ファイルをコピーするステップ、を含んでもよい。ある態様においては、第１ストレージ・デバイスは第２ストレージ・デバイスを含んでもよい。ある態様において、データ・ファイルを選択的にコピーするステップは、コピー・ファイルをウェブベースの記録装置に送信するステップ、を含んでもよい。選択的にデータ・ファイルをコピーするステップは、データ・ソースと対応づけられている１以上のストレージ・デバイスを検索して、所定基準に合致するデータ・ファイルを検出するステップ、を含んでもよい。所定基準は、たとえば、データ・バックアップ・システムに以前にコピーされていないデータ・ファイルであること、であってもよいし、あるコンテンツ・タイプに対応したファイル・タイプのデータ・ファイルであること、でもよい。データ・ファイルを選択的にコピーするステップは、データ・ソースにおけるコピー・ファイルの位置を示すために、第２ストレージ・デバイスにディレクトリ構造を生成するステップを含んでもよい。データ・ファイルを選択的にコピーするステップは、更に、データ・ソースが以前にデータ・バックアップ・システムと結びつけられているか否か、を決定するステップ、を含んでもよい。ある態様において、データ・ファイルを選択的にコピーするステップは、ユーザ・コマンドによって、あるいは、着脱可能なストレージ・デバイスをデータ・バックアップ・システムの通信ポートに接続することによって開始されてもよい。
【発明を実施するための最良の形態】
【００１２】
データ・バックアップ・システムは、商業用アプリケーションだけでなく、個人用アプリケーションにも提供される。本発明のデータ・バックアップ・システムによれば、パソコンなどのデータ・ソースから、ファイル・タイプなどのなんらかの基準にしたがって、ストレージ・デバイスにファイルを選択的にコピーできる。たとえば、このシステムは、.mp3や.wavなどの既知の音楽ファイル・拡張子を持つ音声ファイルや、.jpg、.pct、.tifなどの既知の画像ファイル・拡張子を持つ画像ファイルをバックアップしてもよい。データ・バックアップ・システムは、データ・ソースとの接続時に自動実行されるバックアップ・アプリケーションを保持してもよい。バックアップ・アプリケーションは、バックアップ処理を実行する上で、ユーザ入力をほとんど、あるいは、まったく必要としない、とすることもできる。
【００１３】
データ・バックアップ・システムは、さまざまな形態が可能である。たとえば、バックアップ・アプリケーションと、コピー・ファイルを保存する上で十分な記録容量、の両方を備える装置であってもよい。あるいは、外付けＨＤＤやフラッシュ・メモリ機器のようなストレージ・デバイス形式の十分な記録容量と接続するためのインタフェース、および、バックアップ・アプリケーションを備える機器であってもよい。いずれの場合も、システムにはエミュレーション・コンポーネントが含まれる。エミュレーション・コンポーネントは、バックアップ・アプリケーションを含むデータ・バックアップ・システムの一部を、データソースには特定タイプの機器であるかのように見せる。より具体的には、データ・バックアップ・システムのバックアップ・アプリケーション部分は、以下、「自動起動デバイス」とよぶストレージ・デバイスのクラスとして示される。データ・バックアップ・システムは、自動起動デバイスのエミュレートにより、オペレーティング・システムの自動実行機能を利用できるので、オペレーティング・システムを実行するデータ・ソースとデバイスが接続されたとき、バックアップ・アプリケーションが自動実行される。
【００１４】
図１は、通信線１２０によりデータ・ソース１１０と接続されるデータ・バックアップ・システム１００の概要図である。データ・ソース１１０は、データを保持するパーソナル・コンピュータ（PC）、マッキントッシュ・コンピュータ（Mac）、ＰＤＡ（Personal Digital Assistant）などでもよい。データ・ソース１１０は、また、サーバ、セットトップ・ボックス、テレビ、携帯電話、スマートフォン（Smartphone）、デジタル・スチル・カメラ（Digital Still Camera）、ビデオ・カメラ、スキャナ、デジタル音楽プレーヤやデジタル動画プレーヤ、ゲーム・コンソール、ＰＶＲ（Personal Video Recorder）などでもよい。データ・ソース１００は、Windows（登録商標）XPのようなアプリケーションの自動実行機能を備えるオペレーティング・システム（ＯＳ）を備えることが好ましい。詳細は、後述する。その他適切なオペレーティング・システムとしては、MacOS、PalmOS、Linux、Unix（登録商標）等を挙げることができる。バックアップ・システム１００とデータソース１１０の間の通信線１２０は、実質的には、どのようなデータ伝送メカニズムであってもよい。たとえば、光ケーブル、電気ケーブル、ワイヤレス・リンク、ネットワーク接続等であってもよい。通信線１２０は、一時的なものであってもよいので、図１では通信線１２０を破線で示している。
【００１５】
図１に示すように、バックアップ・システム１００は、通信インタフェース１３０、エミュレーション・コンポーネント１４０、および、第１論理記録領域１６０と第２論理記録領域１７０を含むストレージ・デバイス１５０、を含む。通信プロトコルにしたがって、データソース１１０は、通信インタフェース１３０により、バックアップ・システム１００のエミュレーション・コンポーネント１４０と通信可能である。通信インタフェースは、たとえば、ＵＳＢ、FireWire、あるいは、赤外線やブルー・トゥース、ＷｉＦｉなどの無線インタフェースなどであってもよい。
【００１６】
バックアップ・システム１００は、同種または異種の複数の通信インタフェース１３０を含むことにより、複数、および／または、異種のデータ・ソース１１０に対応してもよい。通信インタフェース１３０のタイプに基づいて、通信インタフェース１３０は、通信線１２０とデータ・ソース１１０が接続するための通信ポートを含んでもよい。たとえば、ＵＳＢ・通信インタフェース１３０であれば、ＵＳＢ・通信ポートを含み、FireWire・通信インタフェース１３０であれば、FireWire・通信ポートを含む。あるいは、通信インタフェース１３０は、無線アンテナを含んでもよいし、赤外線信号を送受信するための赤外線送信部と受信部を含んでもよい。
【００１７】
ストレージ・デバイス１５０は、書き込み可能データ記録媒体を含み、たとえば、２以上の論理記録領域に区分されたＨＤＤであってもよい。この場合、各論理記録領域は、ＨＤＤのパーティションである。ストレージ・デバイス１５０として適切なＨＤＤは、２０〜６０ギガバイト（ＧＢ）、あるいは、それ以上の記録容量を備える１．０インチ、１．８インチ、２．５インチおよび３．５インチのハードディスク・ドライブである。再書き込み可能な媒体を含む他の適切なストレージ・デバイス１５０は、ＳＤメモリカードやＣＦメモリカードなどのソリッド・ステート・メモリ・デバイスである。ストレージ・デバイス１５０は、また、ＣＤドライブやＤＶＤドライブのような光学デバイスであってもよく、そのような光学ストレージ・デバイス１５０内の書き込み可能データ記録媒体としては、ＣＤ−Ｒ、ＤＶＤ−ＲやＤＶＤ＋Ｒなどの１回だけ書き込み可能な媒体（write-once medium）や、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷなどの再書き込み可能な媒体（rewritable medium）、であってもよい。
【００１８】
ストレージ・デバイス１５０においては、また、２つの論理記録領域１６０と１７０のそれぞれを、２つの異なるデバイスにより実装してもよい。たとえば、第１論理記録領域１６０をＣＤ媒体とＣＤドライブによって実装し、第２論理記録領域をＨＤＤにより実装してもよい。あるいは、第１論理記録領域１６０をソリッド・ステート・メモリにより実装し、第２論理記録領域１７０を書き込み可能データ記録媒体と光学デバイスにより実装してもよい。この場合、２つの異なるデバイスを共通筐体内に収納してもよい。ここでいうデバイスのタイプや形態、容量などは単なる例示であって、制約的な意図を含まないことは理解されるところであろう。
【００１９】
ある態様において、第１論理記録領域１６０と第２論理記録領域１７０がエミュレーション・コンポーネント１４０と通信可能となるように、バックアップ・システム１００はメモリ・デバイス・インタフェース１９０を含んでもよい。このような実装において、メモリ・デバイス・インタフェース１９０のタイプは、ストレージ・デバイス１５０のタイプに対応する。たとえば、ＩＤＥ（Integrated Drive Electronics）・インタフェース１９０はＩＤＥ・ＨＤＤ・ストレージ・デバイス１５０に使用され、ＳＣＳＩ（Small Computer System Interface）・インタフェース１９０はＳＣＳＩ・ＨＤＤ・ストレージ・デバイス１５０に使用される。ストレージ・デバイス１５０がＳＤメモリカードであるときには、メモリ・デバイス・インタフェース１９０はＳＤメモリカード・ホスト・インタフェースであってもよい。インタフェース１９０は、また、赤外線、ＷｉＦｉ、ブルートゥースなどの無線インタフェースであってもよい。メモリ・デバイス・インタフェース１９０は、ＩＣチップにより、あるいは、別コンポーネントを利用して、バックアップ・システム１００に実装可能である。メモリ・デバイス・インタフェース１９０とメモリ・デバイス１５０は統合されてもよい。複数のストレージ・デバイス１５０を使用する上記実施例において、バックアップ・システム１００は、適宜、複数のメモリ・デバイス・インタフェース１９０を備えてもよいことは、理解されるところであろう。
【００２０】
第１論理記録領域１６０は、ユーザ・アクセス不可として偶発的な削除から守られているメモリ・デバイス１５０上の論理領域である。第１論理記録領域１６０は、たとえば、バックアップ・アプリケーション、システム・ファイル、ドライバ、その他のセットアップ用、設定用ソフトウェア、などを保持してもよい。第１論理記録領域１６０は、エミュレーション・コンポーネント１４０により、データ・ソース１１０には自動起動デバイスとして示される。ここでいう自動起動デバイスとは、マイクロソフト・ウィンドウズ（登録商標）ＯＳのオートラン機能のようなオペレーティング・システムの自動実行機能をトリガするデバイスのことである。ウィンドウズ（登録商標）のオートランをトリガするデバイス・タイプは、たとえば、ＣＤやＤＶＤを含むときのＣＤドライブやＤＶＤドライブである。この場合、ウィンドウズ（登録商標）のオートラン機能は、データ・ソース１１０に接続済みのＣＤ／ＤＶＤドライブにＣＤ／ＤＶＤが挿入されたときや、ＣＤ／ＤＶＤが既に挿入されているＣＤ／ＤＶＤドライブがデータソース１１０に接続されたときに起動される。
【００２１】
第２論理記録領域１７０は、バックアップ・データを保持するメモリ・デバイス１５０上の論理領域である。したがって、エミュレーション・コンポーネント１４０は、書き込み可能なデータ記録媒体を含むデバイス・タイプとして、データ・ソースに第２論理記録領域１７０を示す。第２論理記録領域１７０は、たとえば、ＨＤＤ、ＣＦ／ＳＤメモリカードとして示されてもよい。第２論理記録領域１７０は、ストレージ・デバイス１５０と同一デバイス・タイプとして示されてもよい。第２論理記録領域１７０は、ストレージ・デバイス１５０とは異なるデバイス・タイプとして示されてもよい。
【００２２】
エミュレーション・コンポーネント１４０は、バックアップ・システム１００に機能提供し、ソフトウェア、ファームウェア、ハードウェア、あるいは、それらの組み合わせ論理により実装可能である。エミュレーション・コンポーネントの別々の機能を別々の論理にて実装可能であることも、実施例の範囲内であることは理解されるところであろう。エミュレーション・コンポーネント１４０の一の機能をファームウェアにより実装し、他の機能をソフトウェアにより実装することもできる。
【００２３】
エミュレーション・コンポーネント１４０は、ＩＣを含んでもよい。たとえば、エミュレーション・コンポーネントを、ソフトウェア、ファームウェア、ハードウェア、あるいはそれらの組み合わせにより実装し、ＵＳＢ・コントローラのチップセットに組み込んでもよい。ＵＳＢに対応する場合、エミュレーション・コンポーネント１４０は、多くの階層化された産業基準の全てまたは一部を実装する。このような基準には、USP Specification-Revision 2.0、USB Mass Strage Class-Bulk Only Transport-Revision 1.0、SCSI Primary Commands-3(SPC-3)、SCSI Block Commands-2(SBC-2)、Multimedia Commands-4(MMC-4)、AT Attachment with Packet Interface-6(ATA/ATAPI-6)、などが含まれる。実装によっては、エミュレーション・コンポーネントはこれらの産業基準コマンドの一部のみのサポートでもよいことは留意すべき点である。
【００２４】
エミュレーション・コンポーネント１４０によって提供される機能には、自動起動デバイスとして第１論理記録領域１６０を示す機能と、書き込み可能なデータ記録媒体を含むデバイスとして第２論理記録領域１７０を示す機能が含まれてもよい。したがって、データソース１１０は、バックアップ・システム１００と接続したとき、データ・バックアップ・システム１００を２つのデバイスが接続されたシステムとして認識する。ただし、ある態様において、データ・ソース１１０のユーザはこれら２つのデバイスのコンテンツにアクセスできないが、適切なアプリケーション・プログラミング・インタフェース（ＡＰＩ）コールを実装したバックアップ・アプリケーションはアクセスできることは、留意すべきである。これにより、第１論理記録領域や第２論理記録領域のコンテンツは、偶発的な変更・削除から守られる。ある態様において、第２論理記録領域１７０からバックアップされたデータにアクセスするとき、データ・バックアップ・システム１００は、データ・ソースにそのデータを復元（Restore）するか、別のデバイスにそのデータをコピーする。別態様として、第２論理記録領域１７０を示す仮想デバイスはユーザからアクセス可能であるが、第１論理記録領域１６０を示す仮想デバイスにはユーザからアクセスできない、としてもよい。これらの態様において、ユーザは第２論理記録領域１７０のコンテンツに直接アクセスできるが、第１論理記録領域１６０のコンテンツにはアクセスはできない。
【００２５】
エミュレーション・コンポーネント１４０が提供する別機能は、ＨＤＤやＣＤドライブのコマンド間のように、コマンドや応答をフォーマット変換することである。データソース１１０が（第１論理記録領域１６０により示されている）自動起動デバイス宛てのコマンドをバックアップ・システム１００に送信するとき、エミュレーション・コンポーネントは、そのコマンドを第１論理記録領域１６０に送信する前に、自動起動デバイスに対応したフォーマットからストレージ・デバイス１５０に対応したフォーマットに変換する。同様に、第１論理記録領域１６０からの応答は、ストレージ・デバイス１５０のフォーマットから自動起動デバイスのフォーマットに変換された上で、データソース１１０に送出されるので、自動起動デバイスからの応答のように見える。
【００２６】
ＣＤドライブおよびＨＤＤ間のフォーマット変換は一例に過ぎず、エミュレーション・コンポーネント１４０は、１以上の類似のフォーマット変換を実装可能であることは留意すべき点である。ここで、「ストレージ・デバイス・コマンド」とは、特定のストレージ・デバイスに対応したフォーマットのコマンドを意味し、「ストレージ・デバイス・応答」とは、同フォーマットの応答を意味する。特定の例として、「自動起動デバイス・コマンド」とは、特定の自動起動デバイスに対応したフォーマットのコマンドを意味し、「自動起動デバイス・応答」とは、同フォーマットの応答を意味する。
【００２７】
また、エミュレーション・コンポーネント１４０が提供可能な別機能は、データ・ソース１１０と第２論理記録領域１７０の間でコマンドと応答を通過させること、である。エミュレーション・コンポーネント１４０が受信したコマンドが、ストレージ・デバイス１５０に対応したフォーマットであれば、エミュレーション・コンポーネント１４０はコマンドや応答を変換する必要はない。このとき、エミュレーション・コンポーネント１４０は、書き込み可能なデータ記録媒体を含むデバイスに宛てて送信されたコマンドをデータ・ソース１１０から受信し、そのコマンドを第２論理記録領域１７０に送る。同様にして、変換することなく、データ・ソース１１０に応答を返す。エミュレーション・コンポーネント１４０は、第２論理記録領域１７０をメモリ・デバイス１５０とは別タイプのデバイスとして示してもよいことは理解されるところであろう。これらの例において、エミュレーション・コンポーネント１４０は、メモリ・デバイス１５０のフォーマットと第２論理記録領域１７０が示すデバイス・タイプの間の変換をするように形成される。
【００２８】
図２は、別実施例におけるデータ・バックアップ・システム２００の概要図であり、このシステムは、データ・バックアップ・システム１００と同じく、通信線１２０によりデータ・ソース１１０と接続されている。データ・バックアップ・システム１００と同様、バックアップ・システム２００も通信インタフェース１３０およびエミュレーション・コンポーネント１４０を含む。この態様においても、バックアップ・システム２００は、書き込み可能なデータ記録媒体を含むストレージ・デバイス２１０と、適切なメモリ・デバイス・インタフェース２２０を含む。ストレージ・デバイス２１０の書き込み可能なデータ記録媒体は、バックアップ・アプリケーションなどを保存するだけのメモリ容量があればよいので、バックアップ・システム２００は、ポケット・サイズやドングルなどのかなり小さなフォーム・ファクタ（form factor）で実現できる。あるいは、ドック（dock）やクレイドルなどの他のデバイスに組み込まれてもよい。
【００２９】
バックアップ・システム２００は、また、着脱可能なストレージ・デバイス・インタフェース２３０を含むことができ、書き込み可能なデータ記録媒体を含む着脱可能なストレージ・デバイス２４０は、通信ポート２５０を介してデータ・バックアップ・システム２００と外部接続可能である。着脱可能なストレージ・インタフェース２３０は、エミュレーション・コンポーネント１４０と着脱可能なストレージ・デバイス２４０を通信させる。着脱可能なストレージ・デバイス・インタフェース２３０は、たとえば、フラッシュ・メモリ・デバイスやＨＤＤのような記録媒体により着脱可能デバイスをサポートしてもよい。別の態様として、着脱可能デバイスは、ＣＤドライブのように着脱可能な媒体を受け入れてもよい。
【００３０】
コピー・ファイルは、データ・バックアップ・システム２００と関連づけられるメモリ・デバイスに記録される必要はないため、着脱可能なストレージ・デバイス・インタフェース２３０が必須構成ではないことは、理解されるところであろう。あるいは、バックアップ・アプリケーションは、コピー・ファイルをデータソースの内外において稼働中のドライブやネットワーク・ドライブに保存してもよい。別オプションとして、バックアップ・アプリケーションは、コピー・ファイルをインターネットに送出し、ウェブベースの記録設備に保存させてもよい。
【００３１】
バックアップ・システム１００や２００は、ディスプレイや、ＬＥＤ（Light Emitting Diode）などによる他の視覚表示器によりファイルのコピーを示してもよいし、ディスプレイを省略して、バックアップ・システム１００や２００のコスト抑制および耐久性向上を図ってもよいことは、留意すべき点である。バックアップ・システム１００や２００は、バッテリーや、ＡＣ電源コンセントなどの外部電源、あるいはデータ・ソース１００が提供する電力により駆動可能である。ある態様において、通信線１２０は、バックアップ・システム１００や２００の一部となるケーブルであってもよい。バックアップ・システム１００や２００は、また、着脱可能なストレージ・デバイス２４０や、デジタルカメラなどの家電製品としてのデータ・ソース１１０を受け入れるように設計されたクレイドル、として形成されてもよい。
【００３２】
図３は、データ・ソースのデータ・ファイルをバックアップする処理過程３００の一例を示すフローチャートである。処理過程３００は、バックアップ・アプリケーションを保持するストレージ・デバイスを含めて、データ・バックアップ・システムを提供するステップ３１０と、データ・バックアップ・システムをデータ・ソースに接続して自動的にバックアップ・アプリケーションを起動するステップ３２０と、データ・ソースのデータ・ファイルを選択コピーするステップ３３０、を含む。
【００３３】
データ・バックアップ・システムを提供するステップ３１０は、たとえば、データ・バックアップ・システム１００やデータ・バックアップ・システム２００を提供するステップを含んでもよい。データ・バックアップ・システム２００が提供される場合、バックアップ・システム２００を提供するステップ３１０は、通信ポート２５０に着脱可能ストレージ・デバイス２４０を接続するステップ、を含んでもよい。たとえば、着脱可能ストレージ・デバイス２４０がＳＤメモリカードやＣＦメモリカードである場合、通信ポート２５０に着脱可能ストレージ・デバイス２４０を接続するステップは、メモリカードを通信ポート２５０に挿入するステップ、を含んでもよい。着脱可能ストレージ・デバイス２４０がＨＤＤである場合、着脱可能ストレージ・デバイス２４０を通信ポート２５０に接続するステップは、ケーブルやワイヤレス・リンクなどの通信線を介して、通信ポート２５０と着脱可能ストレージ・デバイス２４０を接続するステップ、を含んでもよい。
【００３４】
データ・バックアップ・システム１００、２００について、データ・バックアップ・システム１００や２００をデータ・ソース１１０に接続するステップ３２０は、通信線１２０により、通信インタフェース１３０とデータ・ソース１１０を接続するステップ、を含んでもよい。データ・バックアップ・システムをデータ・ソースに接続するステップ３２０は、また、データ・ソースがデータ・バックアップ・システムを２つの新デバイスとして認識するステップ、を含む。たとえば、オペレーティング・システムは、定期的に未使用ポートに問い合わせて、新たに接続されたハードウェアが存在しないかを確認してもよい。データ・ソース１１０がデータ・バックアップ・システム１００や２００を２つデバイスが接続されたシステムとして認識する処理過程の一例は、図４に関連して後述する。
【００３５】
データ・バックアップ・システムをデータ・ソースに接続するステップ３２０により、バックアップ・アプリケーションは自動的に起動される。ウィンドウズ（登録商標）ＯＳのオートラン機能のような自動実行機能を含むＯＳは、自動起動デバイス内のアプリケーションを実行できる。ここで、データ・ソースのＯＳの自動実行機能は、バックアップ・アプリケーションを起動すべきアプリケーションとして認識し、バックアップ・アプリケーションを自動起動してデータソース上にて実行させる。
【００３６】
エミュレーション・コンポーネント１４０の機能について上述したように、データ・バックアップ・システムをデータ・ソースに接続するステップ３２０は、データ・ソースとデータ・バックアップ・システム間の通信に際し、コマンドや応答についてデバイスのフォーマットを変換するステップ、を含んでもよい。たとえば、バックアップ・システム１００に送信されるＣＤ読出命令は、第１論理記録領域１６０への送信前に、ＨＤＤ読出命令に変換される。
【００３７】
データソースのデータ・ファイルを選択コピーするステップ３３０は、データ・ソース上にてバックアップ・アプリケーションを実行させるステップ、を含んでもよい。バックアップ・アプリケーションは、データ・ソースと関連づけられる１以上のストレージ・デバイスを検索するように設定されている。バックアップ・アプリケーションは、内蔵ストレージ・デバイスのディレクトリや外付けストレージ・デバイスのディレクトリ、データソースからアクセス可能なネットワーク・ドライブのディレクトリを検索してもよい。バックアップ・アプリケーションは、第２論理記録領域１７０や着脱可能なストレージ・デバイス２４０といった、書き込み可能な記録媒体を含むストレージ・デバイスにファイルを選択的にコピーする。
【００３８】
バックアップ・アプリケーションは、ファイル・タイプ（JPEGなど）や、コンテンツ・タイプ（音楽ファイルなど）といった所定基準に合致するファイルを選択する。以前にコピーされていないファイルだけをコピーしてもよい。コンテンツ・タイプは、Ｅメール、ビジネス・アプリケーション・データ（たとえば、AccpacやSimply Accountingのファイル）、デジタル・ビデオ・ファイル、Ｅブック・ファイル、連絡ファイル（contacts files）、カレンダ・ファイル、テキスト・ファイル、タスク・ファイル、設定ファイル、ブックマーク・ファイル、パスワード・ファイルなどであってもよい。データ・ファイルを選択コピーするステップ３３０は、また、Ｅメールの添付ファイルを検索したり、.zipファイル内に圧縮されているファイルのような他ファイルに埋め込まれているファイルを検索することにより、所定基準に合致するファイルを検索するステップ、を含んでもよい。
【００３９】
バックアップ・アプリケーションは、データ・バックアップ・システムの書き込み可能なデータ記録媒体にファイル・パスやディレクトリ構造を生成し、データ・ソースのどこにコピー・ファイルが位置していたかを示してもよい。別例においては、バックアップ・アプリケーションは、日付順、アルファベット順、ファイル・サイズ、その他の基準に基づいて、新たにディレクトリ構造を生成する。バックアップ・アプリケーションは、全てのバックアップされたファイルを含む単一ファイルを生成してもよい。また、バックアップ・アプリケーションは、書き込み可能なデータ記録媒体の共有ディレクトリ（すなわち、フラット構造）にバックアップしたファイルを記録し、ファイルの位置情報を格納するインデックス（たとえば、ＸＭＬインデックス）を生成してもよい。この場合、バックアップしたファイルの復元に際しては、インデックスによりデータ・ソース上にディレクトリ構造が再現される。
【００４０】
処理過程３００によれば、ユーザの関与は、データ・バックアップ・システムとデータ・ソースを物理的に接続する作業だけとなることは理解されるところであろう。ユーザの関与は簡単な操作だけとなるが、データ・ソースのディスプレイ上におけるバックアップ・アプリケーションのＧＵＩにより他の操作機会を提供可能であることは理解されるところであろう。もし望むなら、ユーザは、コピーの対象となるコンテンツ・タイプやファイル・タイプなどの検索基準を指定することにより、バックアップ処理をカスタマイズできる。加えて、ユーザは、ドライブ、ディレクトリ、フォルダ、ファイル・タイプ、ファイル・サイズ、日時スタンプにより、バックアップ処理の範囲を限定できる。あるいは、ユーザは、テンポラリ・フォルダやインターネット・エクスプローラのディレクトリといったフォルダ、ディレクトリ、ドライブ、特定のファイルやコンテンツ・タイプを選択対象から除外することもできる。
【００４１】
上述したように、データ・ソースからデータ・ファイルを選択コピーするステップ３３０は、データ・ソース上にてバックアップ・アプリケーションを実行するステップ、を含んでもよい。バックアップ・アプリケーションの上記機能に加えて、バックアップ・アプリケーションは、データ・ファイルを選択コピーするステップ３３０の一部として、次に述べる機能を実行可能であってもよい。たとえば、バックアップ・システムがデータ・ソース１１０と接続されている限り、バックアップ・アプリケーションは、定期的にバックアップ処理を繰り返してもよい。バックアップ・アプリケーションはまた、定期的に、自己診断ルーチンを実行してもよい。バックアップ・アプリケーションは、ユーザがバックアップ処理をカスタマイズできるように、一定時間だけ待機してから自動バックアップを実行してもよい。更に、バックアップ・アプリケーションは、自動ではなく、ユーザ・コマンドのみにしたがって、データ・ファイルを選択コピーするステップ３３０、を実行してもよい。ユーザは、データ・ソースのＧＵＩを介して、あるいは、データ・バックアップ・システムのボタンやスイッチを介して、ユーザ・コマンドを入力してもよい。あるいは、バックアップ・アプリケーションは、着脱可能なストレージ・デバイス２４０が通信ポート２５０に接続されているときには、いつでも、データ・ファイルを選択コピーするステップ３３０を実行してもよい。
【００４２】
データ・ファイルをコピーするステップ３３０は、データ・ソースが既にデータ・バックアップ・システムと対応づけられているか否か（たとえば、データ・ソースが以前にデータ・バックアップ・システムによりバックアップされたか否か）を判定するステップ、を含んでもよい。このステップは、たとえば、データ・ソースに残っているマーカ（印）を検索したり、データ・バックアップ・システムに保存されているマーカとボリューム・ラベルのようなデータ・ソース識別子を比較するステップ、を含んでもよい。バックアップ・アプリケーションは、マーカによりデータ・ソースを識別できる。バックアップ・アプリケーションは、データ・ソースが既にデータ・バックアップ・システムと対応づけられているか否か、もし対応づけられているのであればデータ・バックアップ・システムがそのデータ・ソースに対応するデータを既に保持しているか否か、に基づいて、その動作内容を決定してもよい。たとえば、その動作内容とは、データ・ソースの自動バックアップ、バックアップしたデータのデータ・ソースへの完全な、または、差分による再現、あるいは、これらやそれ以外の方法の中からの選択に関するユーザへの問い合わせ、であってもよい。
【００４３】
図４は、データ・ソースが検出したデータ・バックアップ・システムを、２つのデバイスを装備するシステムとして認識する処理過程４００を示すフローチャートである。ここに示す処理過程４００は、ＵＳＢプロトコルについて説明されるが、FireWireなどの他プロトコルについての処理過程も同様であることは理解されるところであろう。処理過程４００は、データ・ソースがデータ・バックアップ・システムを数えるステップ４１０と、その後、データ・バックアップ・システムのエミュレーション・コンポーネントが初期化に際して、２つの論理ユニット数（LUN:Logical Unit Numbers）を示すステップ４２０、を含む。
【００４４】
データ・バックアップ・システムを数えるステップ４１０は、新たに装着されたハードウェア（この場合は、データ・バックアップ・システム）とそのハードウェアの通信設定を特定するために実行される。数えるステップ４１０は、データ・ソースが一意のデバイス番号を付与するステップと、データ・バックアップ・システムにデバイス記述子（descriptor）を問い合わせるステップ、を含む。エミュレーション・コンポーネントは、データ・ソースにデバイス記述子を示して応答する。数えるステップ４１０は、更に、データ・ソースがデータ・バックアップ・システムにアドレス設定するステップ、を含んでもよい。いったんアドレス設定されると、データ・バックアップ・システムは、そのアドレスに宛てた通信フレームを取得する。数えるステップ４１０は、また、データ・ソースがデータ・バックアップ・システム、より具体的には、エミュレーション・コンポーネントから、クラスやサブクラス、プロトコルといった、詳細な機器情報を要求したり、受け取るステップ、を含んでもよい。
【００４５】
数えるステップ４１０は、また、データ・ソースが適切なＵＳＢ大容量ストレージ・クラス・ドライバを起動し、ＵＳＢ大容量ストレージ・クラス・ドライバが「GET MAX LOGICAL UNIT NUMBER」コマンドにより、データ・バックアップ・システムに論理ユニット数ＬＵＮを要求するステップ、を含んでもよい。数えるステップ４１０は、また、データ・バックアップ・システム、より具体的には、エミュレーション・コンポーネントが「GET MAX LOGICAL UNIT NUMBER」コマンドに対応して、ＬＵＮ＝２をデータ・ソースに通知するステップ、も含む。
【００４６】
初期化に際してＬＵＮ＝２を示すステップ４２０は、エミュレーション・コンポーネントがデータ・ソースから各ＬＵＮに宛てた多くのＳＣＳＩコマンドを受信するステップ、を含んでもよい。エミュレーション・コンポーネントは、各ＬＵＮを別々に扱う。エミュレーション・コンポーネントは、認識したＳＣＳＩコマンドに応答し、認識できなかったＳＣＳＩコマンドについて標準エラー条件を生成する。次のＳＣＳＩコマンドがＬＵＮに発行される前に、通常、各ＳＣＳＩコマンドや生成されたエラーが処理される。書き込み可能なデータ記録媒体を含むストレージ・デバイスを示すＬＵＮに送出されたＳＣＳＩコマンド列と、自動起動デバイスを示すＬＵＮに送出されたＳＣＳＩコマンド列が異なることは、理解されるところであろう。加えて、データソースは、ＳＣＳＩコマンドやＳＣＳＩコマンド列を複数回繰り返し発行してもよく、２つのＬＵＮに宛てたＳＣＳＩコマンド列はまざってもよい。
【００４７】
両ＬＵＮに対するＳＣＳＩコマンド列は、ＵＳＢ大容量ストレージ・クラス・ドライバがデバイス・タイプを特定するための「INQUIRY」コマンドを発行することから始まる。エミュレーション・コンポーネントは、第２論理記録領域１７０（図１）のようなストレージ・デバイスは、書き込み可能なデータ記録媒体を含むストレージ・デバイスであると応答する。たとえば、「0x00」応答は、ストレージ・デバイスがＨＤＤであることを示す。同様に、エミュレーション・コンポーネントは、たとえば、第１論理記録領域１６０（図１）のようなストレージ・デバイスは、自動起動デバイスであると応答する。たとえば、「0x05」応答は、自動起動デバイスがＣＤドライブであることを示す。書き込み可能なデータ記録媒体を含み得るストレージ・デバイスに対し、追加的に、「着脱可能」、または、「着脱不能」としてマークしてもよい。自動起動デバイスに対しては、「着脱可能」としてマークしてもよい。この後、２つのＬＵＮに宛てたＳＣＳＩコマンド列は、分離される。以下に説明するＳＣＳＩコマンド列の順序は例示であり、ＳＣＳＩコマンドの順序はデータ・ソースに応じてさまざまであることは理解されるところであろう。また、以下に示す１以上のＳＣＳＩコマンドを省略してもよいし、および／または、他のＳＣＳＩコマンドを含めてもよい。
【００４８】
書き込み可能なデータ記録媒体を含むストレージ・デバイス宛てのＳＣＳＩコマンド列は、データ・ソースが書き込み可能なデータ記録媒体がフォーマット済みか否かを判定するための「READ FORMAT CAPACITIES」リクエストを続ける。通常、示されているストレージ・デバイスの記録媒体はフォーマット済みであり、それにしたがって、エミュレーション・コンポーネントが応答する。フォーマット済みでなければ、データ・ソースは、ストレージ・デバイスの媒体のフォーマットを試みる。次に、データ・ソースは、書き込み可能なデータ記録媒体の容量とそのブロック・サイズを特定するために、「READ CAPACITY」リクエストを発行し、エミュレーション・コンポーネントがこの情報を返す。「READ(10)」コマンドは、書き込み可能なデータ記録媒体における第１ブロックを読み込むために発行される。第１ブロックは、論理ブロック・アドレス（LBA:Logical Block Addressing）＝０であり、書き込み可能なデータ記録媒体のパーティション・テーブルを含むマスタ・ブート・レコード（MBR:Master Boot Record）を含む。エミュレーション・コンポーネントは、リクエストされたブロックの内容（コンテンツ）を返す。
【００４９】
「MODE SENSE(6)」コマンドは、ストレージ・デバイスがディスク・キャッシュを備えるか否かといった、書き込み可能なデータ記録媒体を含むストレージ・デバイスの能力を抽出する。エミュレーション・コンポーネントは、適宜、ストレージ・デバイスの能力について、応答する。別の「READ(10)」コマンドは、ルート・ディレクトリを含めて、ファイル・システムの第１ブロックを再現するために発行される。ファイル・システムの第１ブロックは、たとえば、ＬＢＡ＝0x3fに位置してもよいが、示されているファイル・システムのタイプによっては、さまざまであってもよい。エミュレーション・コンポーネントは、ファイル・システムの第１ブロックを返す。最後に、データ・ソースは、「TEST UNIT READY」リクエストを発行し、ルート・ディレクトリ等の全コンテンツを読み出してもよい。ここで、書き込み可能なデータ記録媒体を含むストレージ・デバイスは使用可能とデータ・ソースが判断するように、エミュレーション・コンポーネントは肯定回答する。そのあと、データ・ソースは、必要に応じて、更に、読み出し／書き込みリクエストを発行する。
【００５０】
自動起動デバイスに宛てのＳＣＳＩコマンド列は、自動起動デバイスの容量に関する情報と、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−Ｒ、ＤＶＤ＋Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷといったさまざまなタイプの光学媒体の読み書き能力に関する情報を取得するために、「GET CONFIGURATION」リクエストを続ける。エミュレーション・コンポーネントは、データ・ソースに示されている自動起動デバイスに適した能力を応答する。このあと、自動起動デバイス内における媒体の存否を検出するための「READ CAPACITY」リクエストが続いてもよい。エミュレーション・コンポーネントは、初期の試行に失敗することによって応答する。これに対し、データ・ソースは、拡大エラー情報にアクセスするための「REQUEST SENSE」コマンドを発行する。その応答として、エミュレーションコ・ンポーネントは、「UNIT ATTENTION」に「Sense Key」を設定し、「POWER ON」に「追加Sense Code」を設定する。データ・ソースは、その後、「READ CAPACITY」リクエストを繰り返し、エミュレーション・コンポーネントは、第１論理記録領域１６０（図１）のサイズなどの容量を返答する。
【００５１】
どのようなタイプのステータス・チェンジ・イベントを、読み出し専用ストレージ・デバイスがサポートしているか、を知るために、データ・ソースは、最初の「GET EVENT STATUS NOTIFICATION」を発行し、エミュレーション・コンポーネントは、符号化されたステータス・フィールド・セットを応答する。データ・ソースは、チェックすべきステータス・エントリーに対するフィールド・セットと共に、「GET EVENT STATUS NOTIFICATION」リクエストを繰り返してもよい。たとえば、オペレーショナル・ステータス・フィールドが有効化されているときには、エミュレーション・コンポーネントは、オペレーショナル・チェンジ・イベントと、変化内容を示すステータス・コードを応答する。この応答に対し、データ・ソースは、更に、「GET CONFIGURATION」リクエストを発行し、（もしあれば）変化内容を検出してもよい。
【００５２】
データ・ソースは、また、「MM Capabilities and Mechanical Status Page」として知られる「MODE SENSE(10)」リクエストをページコード（0x2A）に発行してもよい。エミュレーション・コンポーネントは、ＣＤ−ＲやＣＤ−ＲＷの媒体の読み出し専用サポートを含むシンプルな自動起動デバイスについて典型的な情報を応答する。これにより、「GET CONFIGURATION」リクエストに対する応答として返された情報をエコーする。
【００５３】
この時点で、データ・ソースは「TEST UNIT READY」コマンドを発行してもよい。これにより、異なるＯＳの自動実行機能をサポート可能なエミュレーション・コンポーネントにおいて、２系統のリクエスト／応答・イベントが発生する。２系統のコマンド列は混じり合い、エミュレーション・コンポーネントが予定される全ステータスをパスするまで、イベントはペンディングされる。以下概要を示すように、どちらのシーケンスもWindows（登録商標）XPのようなオペレーティング・システムＯＳにとっては通常のものである。以下に示すシーケンスは、リクエストやリクエスト列の繰り返し回数を説明するものではない。また、イベント列は、データ・ソース上で実行されるオペレーティング・システムのタイプやバージョンによってさまざまである。追加の、あるいは、代わりのコマンドを発行することもできる。
【００５４】
第１シーケンスには、データ・ソースから自動起動デバイスに送信される「TEST UNIT READY」コマンド・シリーズが含まれる。エミュレーション・コンポーネントは、最初のリクエストに失敗するように設定されている。そのあと、データ・ソースは、拡大エラー情報を取得するために「REQUEST SENSE」コマンドを送信し、エミュレーション・コンポーネントは追加センス・コード「MEDIUM NOT PRESENT」と共に、「NOT READY」に「Sense Key」を設定する。データ・ソースは、「TEST UNIT READY」コマンドを繰り返し、エミュレーション・コンポーネントは再度失敗する。データ・ソースは、「REQUEST SENSE」を再送信し、エミュレーション・コンポーネントは、「UNIT ATTENTION」に設定された「Sense Key」と「MEDIUM MAY HAVE CHANGED」の追加センス・コードを返す。以降の全「TEST UNIT READY」コマンドは、通常、エラーなく応答される。
【００５５】
第２シーケンスには、データ・ソースから自動起動デバイスに送信される「GET EVENT STATUS NOTIFICATION」リクエスト・シリーズが含まれる。第１シーケンスをトリガーする最初の「TEST UNIT READY」コマンドに続いて、データ・ソースは、オペレーショナル・チェンジ・フィールドを有効化し、「GET EVENT STATUS NOTIFICATION」リクエストを発行する。エミュレーション・コンポーネントは、オペレーショナル・チェンジ・イベントと変化内容を示すステータス・コードを返答する。それに続く「GET EVENT STATUS NOTIFICATION」リクエストにおいて、媒体のステータス・フィールドが有効化される。エミュレーション・コンポーネントは、媒体・イベント、新媒体を示すステータス・コード、媒体の存在を示すフラグ・セットを返す。有効化されている媒体・ステータス・フィールドに対する全「GET EVENT STATUS NOTIFICATION」リクエストにおいて、エミュレーション・コンポーネントは、媒体・イベントと媒体・プレゼント・フラグ・セットを返すが、ステータス・コードは、新媒体を示さない。「GET EVENT STATUS NOTIFICATION」リクエストが発行され、予測・ステータス・フィールドが有効化されない場合、エミュレーション・コンポーネントは、適宜、イベントの現在状態を応答する。
【００５６】
これらのシーケンスの双方または一方の終了時において、データ・ソースは自動起動デバイスの媒体から、テーブル・オブ・コンテンツ（ＴＯＣ：Table of Contents）を読み出すために、「READ TOC/PMA/ATIP」リクエストを送信してもよい。ＴＯＣには、媒体のトラック数やそれらの開始位置に関する情報が含まれる。エミュレーション・コンポーネントは、デフォルト設定のエントリー、すなわち、「lead-in」領域直後の単一データ・トラックを返す。デフォルト・ＴＯＣでは、媒体における第１ブロックのデータはアドレス＝０から開始する、と示される。最終トラックの位置は、エミュレーション・コンポーネント内において設定され、バックアップ・アプリケーションなどの自動起動デバイスにおけるデータのために確保される領域を示す。
【００５７】
データ・ソースが自動起動デバイスの読み出しリクエストを発行するとき、エミュレーション・コンポーネントは、自動起動デバイスとして示されているストレージ・デバイス（たとえば、図１の第１論理記録領域１６０）における該当物理アドレスに論理アドレスを自動変換する。更に、自動起動デバイス（ＣＤドライブ）として示されているストレージ・デバイス（たとえば、ＨＤＤのパーティション）のブロック・サイズが異なるときには、エミュレーション・コンポーネントは、自動起動デバイスについて要求されただけのデータをストレージ・デバイスにおいて適切な数のブロックに変換する。
【００５８】
処理過程４００が完了すると、データ・ソースは一つのＬＵＮを自動起動デバイスとして認識し、もう一つのＬＵＮを書き込み可能なデータ記録媒体を含むストレージ・デバイスとして認識し、それぞれと別個に通信可能となるように設定される。そのあと、データ・ソースからデータ・ファイルを選択コピーするステップ３３０、が開始可能となる。上述したように、データ・ソースのオペレーティング・システムは、自動起動デバイスとして示されているＬＵＮのバックアップ・アプリケーションを自動起動し、書き込み可能なデータ記録媒体を含むストレージ・デバイスとして示されているＬＵＮに、データ・ソースにおいて選択されたデータを書き込んでもよい。
【００５９】
上記においては、本発明を特定の実施例について説明しており、本発明の範囲はこれに限られるものではないことは当業者には理解されるところであろう。上記した本発明のさまざまな特徴・特性は、単体で、または組み合わせて用いられても良い。本明細書の思想や範囲から逸脱しない限りにおいて、記述された以外にも多くの環境やアプリケーションにおいて本発明を適用可能である。それゆえ、先述の記述や図面は限定的ではなく例証的に扱われるべきものである。「含む」や「持つ」といった単語は開かれた意味に用いられている。
【図面の簡単な説明】
【００６０】
【図１】本実施例におけるデータ・バックアップ・システムの概要図である。
【図２】変形例におけるデータ・バックアップ・システムの概要図である。
【図３】本実施例において、データ・ソース上におけるデータ・ファイルのバックアップ処理過程を示すフローチャートである。
【図４】本実施例において、データ・バックアップ・システムには２つのデバイスが接続されているとデータ・ソースに認識させる処理過程を示すフローチャートである。
【図１】
2009512034.tif 000003
【図２】
2009512034.tif 000004
【図３】
2009512034.tif 000005
【図４】
2009512034.tif 000006
【国際調査報告】
2009512034.tif 000007
2009512034.tif 000008
2009512034.tif 000009