(57)【特許請求の範囲】
【請求項１】
オペレーティング・システムを格納する第１の補助記憶装置を有するコンピュータに、
第２の補助記憶装置が前記コンピュータに接続されたことに応答して前記第２の補助記憶装置に登録されたアカウント識別子を読み取るステップと、
現在ログオンしているユーザ・アカウントに前記アカウント識別子が対応するか否かを判断するステップと、
対応しない場合に前記アカウント識別子に対応するユーザ・アカウントでログオンするステップと
前記第１の補助記憶装置のマウント・ポイントに前記第２の補助記憶装置をマウントするステップと、
前記第１の補助記憶装置の所定のフォルダまたはファイルを宛先とするアクセスを開始するステップと、
前記アクセスにおける宛先のフォルダまたはファイルまでのフォルダ・パスをマウントされた前記第２の補助記憶装置のフォルダ・パスに変更するステップと
を有する処理を実行させるコンピュータ・プログラム。
【請求項２】
前記アクセスを開始するステップが、前記第１の補助記憶装置をインストール先にしたアプリケーション・プログラムのインストールを開始するステップを含む請求項１に記載のコンピュータ・プログラム。
【請求項３】
前記変更するステップが、前記第１の補助記憶装置の所定のフォルダと前記第２の補助記憶装置の所定のフォルダをマッピングしたマッピング・テーブルを提供するステップを含む請求項１または請求項２に記載のコンピュータ・プログラム。
【請求項４】
前記マッピング・テーブルが、アプリケーション・プログラムにおけるファイルの保存先としてディフォルトで設定されたフォルダをエントリに含む請求項３に記載のコンピュータ・プログラム。
【請求項５】
前記アクセスを開始するステップが、前記第１の補助記憶装置のフォルダに前記オペレーティング・システムがシステム・ファイルを保存する処理を開始するステップを含む請求項１から請求項４のいずれかに記載のコンピュータ・プログラム。
【請求項６】
前記変更するステップが、前記第１の補助記憶装置のフォルダに前記オペレーティング・システムにより保存される所定のシステム・ファイルと前記第２の補助記憶装置の所定のフォルダをマッピングしたマッピング・テーブルを提供するステップを含む請求項５に記載のコンピュータ・プログラム。
【請求項７】
前記第２の補助記憶装置から前記第２の補助記憶装置の用途を示す用途情報を読み取るステップと、
前記読み取った用途情報に基づいて現在の動作環境をディスプレイに表示するステップと
を有する請求項１から請求項６のいずれかに記載のコンピュータ・プログラム。
【請求項８】
前記第２の補助記憶装置に格納されたアプリケーション・プログラムに関する自動起動リストを提供するステップと、
前記第２の補助記憶装置が接続されたことに応答して前記自動起動リストに基づいて前記第２の補助記憶装置に格納された所定のアプリケーション・プログラムを起動するステップと
を有する請求項１から請求項７のいずれかに記載のコンピュータ・プログラム。
【請求項９】
アカウント識別子を登録したリムーバル・メディアの接続が可能なコンピュータであって、
オペレーティング・システムを格納する補助記憶装置と、
前記コンピュータに接続された前記リムーバル・メディアから読み取った前記アカウント識別子が現在ログオンしているユーザ・アカウントに対応するか否かを判断し、対応しないときに前記アカウント識別子に対応するユーザ・アカウントでログオンするアカウント制御部と、
前記リムーバル・メディアを前記補助記憶装置の所定のフォルダにマウントするマウント部と、
前記補助記憶装置の所定のフォルダまたはファイルに対してアクセスするシステム・コール関数のフォルダ・パスをマウントされた前記リムーバル・メディアのフォルダ・パスに変更するアクセス処理部と
を有するコンピュータ。
【請求項１０】
前記補助記憶装置がいずれのリムーバル・メディアが接続された状態でも使用する共通のアプリケーション・プログラムを保存し、前記リムーバル・メディアが所定の用途に沿った用途別のアプリケーション・プログラムを保存する請求項９に記載のコンピュータ。
【請求項１１】
前記コンピュータは複数のリムーバル・メディアの同時接続が可能で、前記マウント部は現在ログオンしているユーザ・アカウントに対応する前記アカウント識別子を登録したリムーバル・メディアをマウントする請求項９または請求項１０に記載のコンピュータ。
【請求項１２】
前記アクセス処理部は、インストーラがアプリケーション・プログラムを前記補助記憶装置のフォルダ階層にインストールするために呼び出したシステム・コール関数のフォルダ・パスを前記リムーバル・メディアのフォルダ・パスに変更する請求項９から請求項１１のいずれかに記載のコンピュータ。
【請求項１３】
前記アクセス処理部は、前記オペレーティング・システムが前記補助記憶装置の所定のフォルダにファイルを保存するために呼び出したシステム・コール関数のフォルダ・パスを前記リムーバル・メディアのフォルダ・パスに変更する請求項９から請求項１２のいずれかに記載のコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、補助記憶装置を利用してコンピュータに複数の動作環境を構築する技術に関し、さらに詳細には補助記憶装置との協働により本体の記憶容量を小さくしながら高度な機能を実現する技術に関する。
【背景技術】
【０００２】
データ流出の防止、ソフトウエアの一元管理、およびハードウエアの簡素化などを目的とするシンクライアントというコンピュータ・システムが存在する。シンクライアントのもとでは、クライアント・コンピュータは、使用時にサーバからアプリケーション・プログラム（アプリケーション）やファイルをダウンロードするため、補助記憶装置にはオペレーティング・システム（ＯＳ）やデバイス・ドライバなどの基本的なプログラムだけを実装しておけばよい。
【０００３】
したがって、クライアント本体では物理的な軽量化、薄型化、および小型化を図りながら、サーバから用途に応じたアプリケーションをダウンロードすることにより高度な機能を実現することができる。しかし、シンクライアントを実現するには、サーバとネットワーク環境を用意する必要があり大きな投資が必要となる。また、ネットワーク接続ができない環境では利用できずコンピュータの利用範囲が制限される。
【０００４】
所定の作業に必要なアプリケーションやファイルを格納したＵＳＢメモリやＳＤメモリ・カードのようなリムーバル・メディアを、使用時だけコンピュータに接続して利用することができれば、本体の補助記憶装置の容量を補いながら本体からデータを分離することができるので、シンクライアントと同様にデータの流出防止およびハードウエアの簡素化を図ることができる。しかも、コンピュータは、ネットワークに接続できないところでも使用できるので利用率が向上する。
【０００５】
携帯式コンピュータでは、本体の補助記憶装置としてＳＳＤ（Solid State Drive）を採用すると消費電力の低減、動作速度の向上および軽量化などの観点で有利であるが、ＳＳＤはハード・ディスク・ドライブ（ＨＤＤ）に比べてビット単価が高いため、リムーバル・メディアとの組み合わせで本体に実装するＳＳＤの容量を小さくすることができればコスト面で有利である。
【０００６】
特許文献１は、複数のコンピュータに同一の作業環境を提供する技術を開示する。コンピュータ環境ソフトウエアが格納されたＵＳＢメモリやＳＤメモリ・カードなどの環境携帯装置が第１のコンピュータに接続された際に、コンピュータ環境ソフトウエアが第１のコンピュータにインストールされて実行される。コンピュータ環境ソフトウエアは、電子メールの設定、ウエブ・ブラウザのブックマークや履歴、またはデスクトップなどの作業環境データを環境携帯装置に記録する。つづいて環境携帯装置を第２のコンピュータに接続すると、作業環境データが第２のコンピュータに書き込まれ、第１のコンピュータと同一の作業環境が実現される。
【０００７】
特許文献２は、異なるパーソナルコンピュータ間で、ユーザ個別の動作環境によるアプリケーションの使用が行えるようにする方法を開示する。光学ディスク・メディアには、ユーザ設定情報プログラムとアプリケーション（メーラ）と環境設定情報が記録されている。光学ディスク・メディアがコンピュータに装着されると、ユーザ設定情報プログラムが実行されて環境設定情報に基づいてネットワーク接続およびメール送受信などの環境設定が実行される。環境設定が終了したあとにアプリケーションが実行される。
【０００８】
非特許文献１は、ＮＴＦＳフォルダにたとえば２ＧＢのドライブをマウントすることで、そのボリューム上の空き領域を２ＧＢ拡張する方法を開示する。非特許文献２は、自分のファイルやアプリケーションを記録したＵＳＢメモリを、会社や自宅のコンピュータに接続して利用する方法を開示する。ここでＵＳＢメモリには、実行のためにＯＳに変更を加える必要がない自力動作のスタンドアロン型アプリケーションが記録される。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−１４６９１２号公報
【特許文献２】特開２００４−２９５３７０号公報
【非特許文献】
【００１０】
【非特許文献１】”Ｗｉｎｄｏｗｓ  ＸＰでＮＴＦＳフォルダにドライブをマウントして使用する方法”、［online］、マイクロソフト社、［平成２２年７月１日検索］、インターネット〈URL:http://support.microsoft.com/kb/307889/ja〉
【非特許文献２】”ＵＳＢメモリでアプリケーションを持ち歩く”、［online］、アイティメディア株式会社、［平成２２年７月１日検索］、インターネット〈URL:http://bizmakoto.jp/bizid/articles/0607/20/news046.html〉
【発明の概要】
【発明が解決しようとする課題】
【００１１】
リムーバル・メディアの接続が可能な携帯式コンピュータに小容量の補助記憶装置を搭載し、多くのアプリケーションおよびファイルを格納したリムーバル・メディアを利用することで、セキュリティの確保およびハードウエアの簡素化だけでなく、コンピュータの利便性を向上させることもできる。たとえば、ユーザは１台の携帯式コンピュータを異なる目的で使用したり、オフィス、家庭、または出張先といったような異なる場所で使用したりする。
【００１２】
このとき、仕事、写真、旅行、または音楽といったような用途別に用意したリムーバル・メディアにそれぞれに関連するアプリケーションとファイルを格納しておけば、コンピュータ本体にアプリケーションやファイルを格納しておかなくても特定の目的については何ら支障なく作業ができる。このとき、コンピュータ本体の補助記憶装置はＯＳやデバイス・ドライバだけを格納してコンピュータの動作に必要な最低限の基本的な動作環境を構築し、リムーバル・メディアは特定の目的に関する個別の動作環境を構築することになる。
【００１３】
交換して使用するリムーバル・メディアで個別の動作環境を構築する場合には、当該リムーバル・メディアを本体の補助記憶装置の拡張領域として使用できると、リムーバル・メディアの容量の有効活用およびデータの分散の防止を図る上で都合がよい。ＯＳのレジストリに依存しないで独立して動作できるタイプのアプリケーションはＵＳＢメモリに格納して、さまざまなコンピュータで実行することができる。しかし、多くのアプリケーションは、実行環境のＯＳのもとでインストールしてレジストリに設定情報を書き込む必要がある。コンピュータに接続されたリムーバル・メディアには、ＯＳが格納されているドライブ（以下、システム・ドライブという。）とは異なるドライブ・レターが付与されて、システムにより独立したドライブとして認識される。
【００１４】
インストーラは通常システム・ドライブをインストール先に指定する。インストール先を選択できるインストーラであれば、リムーバル・メディアにアプリケーションをインストールすることはできるが、インストール先を選択できないインストーラではシステム・ドライブにインストールされてしまう。また、インストール先を選択できるインストーラでもユーザがインストールするドライブとしてリムーバル・メディアを選択しない限りシステム・ドライブにインストールされてしまう。
【００１５】
特に、リムーバル・メディアに付与されるドライブ・レターは、リムーバル・メディアごとまたは挿入するポートごとに異なったものになることがあるため、ユーザにとって、インストールの都度インストール先のドライブを指定することは煩雑である。したがって、単にリムーバル・メディアを接続しただけでは、アプリケーションの格納場所としてリムーバル・メディアの容量を有効に活用することができない。アプリケーションが作成したファイルを保存する保存先のドライブは、ディフォルトでシステム・ドライブの所定のフォルダが設定されるので、同じようにファイルの保存場所としてリムーバル・メディアの容量を有効に活用することができない。
【００１６】
さらに、ＯＳは、ページ・ファイルまたはダンプ・ファイルといったシステムが作成するシステム・ファイルをシステム・ドライブに保存する。システム・ファイルの保存場所には、ユーザが設定変更できるものと変更できないものがあるが、いずれにしても現状ではシステム・ファイルの格納場所としてリムーバル・メディアを有効に活用することができない場合がある。
【００１７】
リムーバル・メディアを所定のマウント・ポイントにマウントする非特許文献１の方法でも上記の問題を解決することはできない。たとえばＷｉｎｄｏｗｓ（登録商標）のＯＳでは、アプリケーションのインストール先としてシステム・ドライブのProgram Filesフォルダを用意している。そして多くのインストーラは、Program Filesフォルダに作成された当該アプリケーション用のフォルダにインストールする。
【００１８】
インストーラはマウントされたリムーバル・メディアのフォルダを認識しないので、そこにインストールすることはできない。また、マウント・ポイントには、中にフォルダおよびファイルを含まない空のフォルダを選択する必要があるので、他のリムーバル・メディアの環境でも使用する共通のアプリケーションがインストールされているProgram Filesフォルダをマウント・ポイントにすることはできない。結局は、リムーバル・メディアがシステム・ドライブにマウントされてもユーザがリムーバル・メディアのフォルダを指定できない限りアプリケーションは、システム・ドライブにインストールされる。
【００１９】
目的に応じて複数のリムーバル・メディアにアプリケーションおよびファイルを保存して、必要に応じてコンピュータに接続して使用するような場合には、保存するファイルが、システム・ドライブとリムーバル・メディアに分散してしまうと、ファイルを見失ってしまうおそれもある。この場合、一貫して所定のリムーバル・メディアにファイルが保存されると、効果的にファイルを管理することができる。
【００２０】
そこで本発明の目的は、システム・ドライブとして使用する補助記憶装置と他の補助記憶装置を一体として使用することができるコンピュータを提供することにある。さらに本発明の目的は、機能は低下させないでシステム・ドライブとして使用する補助記憶装置の容量を低減することが可能なコンピュータを提供することにある。さらに本発明の目的は、用途に沿った用途別の動作環境を容易に実現できるコンピュータを提供することにある。
【００２１】
さらに本発明の目的は、本体から物理的にデータを分離して管理することができるコンピュータを提供することにある。さらに本発明の目的は、本体の補助記憶装置と他の補助記憶装置との間で、ファイルの分散を避けて一貫性のあるファイル管理ができるコンピュータを提供することにある。さらに本発明の目的は、そのようなコンピュータにおけるリムーバル・メディアをシステム・ドライブに一体化して使用する方法およびそのようなコンピュータで実行されるコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【００２２】
本発明ではＯＳを格納する第１の補助記憶装置に対して第１のフォルダ階層が構築されている。第２の補助記憶装置には、第２のフォルダ階層が構築されている。第２の補助記憶装置がコンピュータに接続されたことに応答して第１のフォルダ階層に第２のフォルダ階層を組み込んで第２の補助記憶装置をマウントする。その後、アプリケーションやＯＳが、第１のフォルダ階層にある所定のフォルダやファイルに対してアクセスを開始する。つづいて、所定のフォルダに対するアクセスがあった場合に、アクセス先のフォルダまたはファイルまでのフォルダ・パスをマウントされた第２のフォルダ階層のフォルダ・パスに変更する。
【００２３】
このようにして、インストーラがディフォルトで第１の補助記憶装置をインストール先に指定する場合、およびインストーラがあらかじめ決定しているインストール先が第１の補助記憶装置であってユーザが選択できない場合でも、アプリケーションを第２の補助記憶装置にインストールすることができる。また、オペレーティング・システムが第１の補助記憶装置に保存しているシステム・データを第２の補助記憶装置に保存することもできる。したがって、第２の補助記憶装置が接続されている間は、第２の補助記憶装置の容量を有効に活用することができる。しかも、ユーザは、第１の補助記憶装置にアクセスするつもりでインストーラを操作していても、実際にはアプリケーションは第２の補助記憶装置に保存されるのでインストール先が第１の補助記憶装置と第２の補助記憶装置との間で分散することがない。
【００２４】
個別動作環境を変更するためには、第２の補助記憶装置からコンピュータにログオンするためのアカウント識別子を読み取り、ログオンしているユーザ・アカウントにアカウント識別子が対応しない場合にログオフしてからアカウント識別子に対応するユーザ・アカウントでログオンすることができる。その結果、１台のコンピュータに複数のユーザ・アカウントを設定し、設定されたユーザ・アカウントに対応するアカウント識別子を登録した複数の第２の補助記憶装置を用意しておけば、第２の補助記憶装置を接続するだけでユーザ・アカウント別に容易に個別動作環境を構築することができる。
【００２５】
このとき第１の補助記憶装置には、いずれの第２の補助記憶装置が接続された状態でも使用する可能性のある共通アプリケーション・プログラムを保存し、各第２の補助記憶装置には、用途に沿った用途別のアプリケーション・プログラムを保存しておくと、第１の補助記憶装置の容量は小さく抑えながら、第２の補助記憶装置を接続することで高度な動作環境で作業をすることができる。
【００２６】
アクセス先のフォルダ・パスを変更する際には、第１のフォルダ階層の所定のフォルダと第２のフォルダ階層の所定のフォルダを対応付けたり、第１のフォルダ階層のフォルダに保存される所定のファイルと第２のフォルダ階層の所定のフォルダを対応付けたりしたマッピング・テーブルを利用することができる。マッピング・テーブルにエントリしたフォルダについては、ユーザがみかけ上はシステム・ドライブにアクセスしていても実際にはリムーバル・メディアにアクセスすることになる。
【００２７】
複数の第２の補助記憶装置でそれぞれ異なる個別動作環境を構築するような場合は、ユーザが現在の個別動作環境を誤って認識して、不適切なアプリケーションをインストールしたりファイルを保存したりする場合がある。それを防ぐために、第２の補助記憶装置にその用途を示す用途情報を登録しておき、接続時にコンピュータがその用途情報を読み取ってディスプレイに表示することで、用途の異なる複数の補助記憶装置が接続される場合でも、現在の個別動作環境を容易に把握することができるようになる。
【００２８】
第２の補助記憶装置に格納されたアプリケーション・プログラムに関する自動起動リストを用意することができる。自動起動リストは、第２の補助記憶装置に格納してもよいし第１の補助記憶装置に格納してもよい。そして、第２の補助記憶装置が接続されたことに応答して自動起動リストに基づいて第２の補助記憶装置に格納された所定のアプリケーション・プログラムを起動するようにすれば、第２の補助記憶装置を接続するだけで、簡単に所定の個別動作環境を構築することができる。第２の補助記憶装置は、同時に複数接続しておいてもよい。この場合、ログオンするユーザ・アカウントが変更された場合に、変更後のユーザ・アカウントに対応するアカウント識別子が登録された第２の補助記憶装置をマウントするように構成することができる。
【発明の効果】
【００２９】
本発明により、システム・ドライブとして使用する補助記憶装置と他の補助記憶装置を一体として使用することができるコンピュータを提供することができた。さらに本発明により、機能は低下させないでシステム・ドライブとして使用する補助記憶装置の容量を低減することが可能なコンピュータを提供することができた。さらに本発明により、用途に沿った用途別の動作環境を容易に実現できるコンピュータを提供することができた。
【００３０】
さらに本発明により、本体から物理的にデータを分離して管理することができるコンピュータを提供することができた。さらに本発明により、本体の補助記憶装置と他の補助記憶装置との間で、ファイルの分散を避けて一貫性のあるファイル管理ができるコンピュータを提供することができた。さらに本発明により、そのようなコンピュータにおけるリムーバル・メディアをシステム・ドライブに一体化して使用する方法およびそのようなコンピュータで実行されるコンピュータ・プログラムを提供することができた。
【図面の簡単な説明】
【００３１】
【図１】コンピュータのハードウエア構成を示す機能ブロック図である。
【図２】リムーバル・メディアに格納されているデータのデータ構造を説明する図である。
【図３】コンピュータが実行する本実施の形態にかかるソフトウエアの構成を説明するための機能ブロック図である。
【図４】システム・ドライブとマウント・ドライブのフォルダ階層を説明する図である。
【図５】マウント・ドライブのフォルダ階層をシステム・ドライブのフォルダ階層に統合するときの手順を示すフローチャートである。
【図６】マッピング・テーブルの一例を示す図である。
【図７】マウントされたリムーバル・メディアに新たなアプリケーションをインストールする手順を示すフローチャートである。
【発明を実施するための形態】
【００３２】
図１は、本発明を適用するコンピュータのハードウエア構成を示す機能ブロック図である。コンピュータ１０は、中央演算処理装置１１、メイン・メモリ１３、ＨＤＤ１５、液晶表示装置（ＬＣＤ）１７、ＵＳＢコントローラ１９、ＵＳＢコネクタ２１、２３、ＳＤカード・リーダ２５、光学ドライブ２７などの周知の要素で構成された携帯式コンピュータである。各構成要素は、本発明を実現する上で周知の機能を提供するだけなので、個別の機能の詳細な説明は省略する。
【００３３】
ＵＳＢコネクタ２１、２３にはそれぞれＵＳＢメモリ５１、５３を接続することができる。また、ＳＤカード・リーダ２５には、ＳＤカード５５を接続し光学ドライブ２７には光学ディスク５７を接続することができる。光学ディスク５７には、コンピュータ１０にインストールするアプリケーションが格納されている。
【００３４】
ＵＳＢメモリ５１、５３およびＳＤカード５５はコンピュータ１０に容易に着脱できるリムーバル・メディアの一例であり、かつＨＤＤ１５と同様にメイン・メモリ１３に対する補助記憶装置の一部でもある。ここに容易に着脱できるという意味は、コンピュータ１０の筐体内部に装着する場合は除き、筐体の表側に設けられたコネクタやスロットに装着する場合を意味する。また、各リムーバル・メディアは、他のコンピュータに接続して使用することもできるようになっている。
【００３５】
本明細書においては、補助記憶装置のなかでＯＳが格納されているＨＤＤ１５をシステム・ドライブといい、ＯＳが格納されることのないリムーバル・メディアと区別する。本発明においてはシステム・ドライブ以外の補助記憶装置は、リムーバル・メディアに限定されずコンピュータ１０のマザーボードに取り付けられたスロットに装着する記録媒体であってもよい。さらにシステム・ドライブ以外の補助記憶装置は、たとえばＵＳＢコネクタ２１、２３に接続が可能なディジタル・カメラ本体の記録媒体であってもよい。複数のリムーバル・メディアはコンピュータ１０に同時に接続して使用することができる。
【００３６】
図２は、ＵＳＢメモリ５１、５３またはＳＤメモリ・カード５５などのリムーバル・メディアに格納されているデータのデータ構造を説明する図である。リムーバル・メディアには、コントロール・ファイル７１、用途別のファイル７３、用途別のアプリケーション７５およびシステム・データ７７が記録されている。ユーザはコンピュータ１０に接続する複数のリムーバル・メディアにそれぞれ用途を設定する。リムーバル・メディアの用途はたとえば、オフィス、家庭、または出張先といったような使用場所を基準にして設定したり、仕事、写真、旅行、または音楽といったような目的を基準にして設定したりすることができる。
【００３７】
各リムーバル・メディアは、その用途に対応した用途別のファイル７３および用途別のアプリケーション７５をそれぞれ複数格納し、コンピュータ１０にその用途に沿った個別動作環境を実現する。コントロール・ファイル７１は、統合化識別子、ログオン・パスワード、アカウント識別子、フォルダ階層情報、自動起動リスト、および用途情報を含む。統合化識別子は、当該リムーバル・メディアが本発明によりシステム・ドライブと一体化されるものであることを示すデータである。
【００３８】
ログオン・パスワードおよびアカウント識別子は、コンピュータ１０に設定されたいずれかのユーザ・アカウントに対応するデータである。フォルダ階層情報は、コンピュータ１０が当該リムーバル・メディアに作成したフォルダ・パスを示す情報である。自動起動リストは、当該リムーバル・メディアがコンピュータ１０に接続されたときに、複数の用途別のアプリケーション７５の中から選択した自動的に起動するアプリケーションのリストである。ユーザは、あらかじめよく使用するアプリケーションを自動起動リストに登録しておくことで、リムーバル・メディアを接続するだけで最も利用頻度が高いアプリケーションを実行できる環境が構築される。用途情報は、当該リムーバル・メディアの用途または実現しようとする個別動作環境の内容をＬＣＤ１７に表示するためのデータである。
【００３９】
用途別のファイル７３と用途別のアプリケーション７５は、リムーバル・メディアに設定された用途に対応した個別動作環境をコンピュータ１０に実現するデータである。個別動作環境を提供するアプリケーション７５およびファイル７３は、コンピュータ１０を通じてリムーバル・メディアに保存するだけでなく、ディジタル・カメラなどのようなリムーバル・メディアを使用する他の装置が保存することもできる。システム・データ７７は、コンピュータ１０に実装されたＯＳがＨＤＤ１５に自動的に保存しているシステム・データを、ＨＤＤ１５に代わって保存したものである。
【００４０】
図３は、コンピュータ１０が実行する本実施の形態にかかるソフトウエアの構成を説明するための機能ブロック図である。図３は、コンピュータ１０にリムーバル・メディア５６が接続されて、各プログラムがメイン・メモリ１３に読み出され実行可能になっている状態を示している。図３においては、統合アプリケーション１０１、マウント・ツールおよび中間デバイス・ドライバ１２３以外の要素は周知である。ただし、周知なプログアムであっても、統合アプリケーション１０１および中間デバイス・ドライバ１２３に対するインターフェースは新規な構成である。
【００４１】
統合アプリケーション１０１は、リムーバル・メディア５６をＨＤＤ１５と一体化して扱えるようにするためのプログラムである。ここで、一体化して扱えるようにするとは、ユーザが見かけ上はＨＤＤ１５にアクセスしているが、実際にはリムーバル・メディア５６にアクセスするようにしてリムーバル・メディア５６をシステム・ドライブ（ＨＤＤ１５）の拡張領域のように統合して使用できるようにすることをいう。リムーバル・メディア５６が統合されると、ユーザはそれをシステム・ドライブの一部として認識してアクセスしながら、実際にはアプリケーションやファイルをリムーバル・メディア５６に保存することができるようになる。統合アプリケーション１０１は、マウント・ツール１０３および中間デバイス・ドライバ１２３とともにリムーバル・メディア５６をＨＤＤ１５と一体化して扱えるようにする。
【００４２】
マウント・ツール１０３は、リムーバル・メディア５６のフォルダ（ディレクトリともいう。）をシステム・ドライブのフォルダ階層の一部に組み込む処理をいう。システム・ドライブのフォルダの中でリムーバル・メディア５６をマウントするフォルダをマウント・ポイントという。マウント・ツール１０３は、リムーバル・メディアをマウントする前に、マウント・ポイントとなる空のフォルダをシステム・ドライブのディレクトリの一部に作成する。
【００４３】
プロセスは、マウントされたリムーバル・メディア（以下、マウント・ドライブという。）のフォルダを、システム・ドライブのフォルダ階層の最上位のルート・ディレクトリのフォルダからのフォルダ・パスで参照することができる。リムーバル・メディア５６をシステム・ドライブにマウントし、かつ、統合アプリケーション１０１および中間デバイス・ドライバ１２３が機能することで、ユーザはシステム・ドライブの容量をリムーバル・メディア５６のマウント・ドライブで拡張したのと同じ状態で使用することができる。
【００４４】
用途別のアプリケーション７５は、Ｗｅｂブラウザ、メーラ、文書作成または表計算などのようにビジネスに使用したり、カメラ画像の処理、動画再生または音楽再生などのように趣味に使用したりするプログラムである。用途別のアプリケーション１０３に対して、ＯＳ１０７およびデバイス・ドライバなどの基本プログラム、Ｗｅｂブラウザやメーラのようないずれの用途でも実行する必要があるアプリケーション、およびユーザ・アドレス、ブックマーク、メール・アドレス、およびメール・ログなどのようなファイルなどはコンピュータ１０に基本的な動作環境を提供する。
【００４５】
基本動作環境を提供するプログラムおよびデータはＨＤＤ１５に保存されるが、個別動作環境を提供するプログラムおよびデータは、目的とするリムーバル・メディアに保存される。リムーバル・メディアにアプリケーションをインストールする手順は後に図５を参照して説明する。インストーラ１０５は、コンピュータ１０に用途別のアプリケーション７５をインストールするためのプログラムである。インストーラ１０５は、アプリケーション７５を格納する光学ドライブ５７に一緒に格納されていたり、ＯＳ１０７に付随してＨＤＤ１５に格納されていたりする。
【００４６】
ＯＳ１０７は、複数のユーザがログオンできるようなマルチ・ユーザ・アカウント機能をサポートするＷｉｎｄｏｗｓ（登録商標）、ＭＡＣ＿ＯＳ（登録商標）、またはＵＮＩＸ（登録商標）などを採用することができる。ただし、マルチ・ユーザ・アカウント機能のないＯＳにも、本発明を適用することはできる。システム・サービス・ディスパッチャ（ＳＳＤ）１２１は、Ntoskrnl.exeの一部でシステム・コール関数を処理する。
【００４７】
マッピング・テーブル１７０は、マウント前にシステム・ドライブに作成されていたフォルダまたはファイルと、マウント・ドライブのフォルダをマッピングするためのエントリを格納する。マッピング・テーブル１７０は、統合化識別子を備えるリムーバル・メディア１７０が接続されてマウントされるたびに、統合アプリケーション１０１がＯＳ１０７からシステム・ドライブのフォルダ階層を取得し、コントロール・ファイル７１からマウント・ドライブのフォルダ階層情報を取得して作成する。
【００４８】
統合アプリケーション１０１は、マッピング・テーブル１７０を作成した後に、中間デバイス・ドライバ１２３を活性化して機能させる。活性化された中間デバイス・ドライバ１２３は、用途別のアプリケーション７５、インストーラ１０５、またはＯＳ１０７などがＨＤＤ１５に対してアクセスするシステム・コール関数またはＡＰＩ関数をすべて確認し、宛先のファイルまたはフォルダまでのフォルダ・パスがマッピング・テーブル１７０にエントリされている場合は、そのアクセス先をマッピング・テーブル１７０でマッピングされたリムーバル・メディア５６のフォルダ・パスに変更してファイル・システム１２５に送る。
【００４９】
活性化された中間デバイス・ドライバ１２３は、システム・コール関数の宛先のフォルダ・パスがマッピング・テーブル１７０にエントリされていない場合はアクセス先を変更しないでファイル・システム１２５に送る。活性化されていない中間デバイス・ドライバ１２３は、ＳＳＤ１２１から受け取ったシステム・コール関数の宛先のフォルダ・パスを変更しないでファイル・システム１２５に渡す。
【００５０】
ファイル・システム１２５は、ＨＤＤ１５およびリムーバル・メディア５６に対するフォルダ階層を作成してファイルの記録、読み取り、削除、および移動などを管理する。フォルダ階層を示すデータ構造体は、ＨＤＤ１５およびリムーバル・メディア５６に保存される。ファイル・システム１２５は、中間デバイス・ドライバ１２３から受け取ったシステム・コール関数を宛先に応じて物理デバイス・ドライバ１１１または１１３に送る。
【００５１】
物理デバイス・ドライバ１１１は、標準的な部分を制御するポート・ドライバおよびＨＤＤ１５に特有の部分を制御するミニ・ポート・ドライバを含み、ＨＤＤ１５を直接制御するプログラムである。物理デバイス・ドライバ１１１は、統合アプリケーション１０１、用途別のアプリケーション１０３、インストーラ１０５またはＯＳ１０７などから受け取ったシステム・コール関数を実行して、ＨＤＤに対するデータの書き込みや読み取りを行う。リムーバル・メディア５６を直接制御する物理デバイス・ドライバ１１３も同様にシステム・コール関数を実行してリムーバル・メディア５６にアクセスする。
【００５２】
図４は、ＨＤＤ１５に対応するシステム・ドライブとリムーバル・メディア５６に対応するマウント・ドライブのフォルダ階層を説明する図である。ここでは、Ｗｉｎｄｏｗｓ（登録商標）のＯＳを例示して説明する。ファイル・システム１２５は、論理ドライブごとにフォルダおよびファイルがツリー状に連絡するようにフォルダ階層を構築する。
【００５３】
図４（Ａ）は、コンピュータ１０に接続されたリムーバル・メディア５６がＯＳ１０７により認識されてマウントされる前に、ファイル・システム１２５が構築したフォルダ階層を示している。マウントされる前はフォルダ階層が論理ドライブごとにルート・ディレクトリから作成され、図４（Ａ）はシステム・ドライブのフォルダ階層１５１とリムーバル・メディア５６のフォルダ階層１５５の一部を示している。システム・ドライブのフォルダ階層１５１に含まれるアプリケーションおよびファイルはコンピュータ１０に基本動作環境を提供する。これに対し、リムーバル・メディア５６のフォルダ階層１５５に含まれるアプリケーションおよびファイルは、コンピュータ１０に個別動作環境を提供する。
【００５４】
ここではシステム・ドライブのルート・ディレクトリはＣ：￥で、リムーバル・メディア５６のルート・ディレクトリはＤ：￥となっている。「Ｃ」および「Ｄ」は論理ドライブを識別するためのドライブ・レターで、ＯＳ１０７がドライブを認識した順番または所定の順番にＡからＺまで割り振る。ただし通常ＯＳ１０７は、ドライブ・レター「Ａ」にはフロッピー・ディスク・ドライブ（フロッピーは登録商標）を割り当て、ドライブ・レター「Ｃ」にはＯＳがインストールされているドライブを割り当てることにしている。
【００５５】
システム・ドライブのルート・ディレクトリであるＣ：￥には、Windowsフォルダ、Program Filesフォルダ、Usersフォルダが作成され、さらにpagefile.sysというファイルが保存されている。Windowsフォルダには、ＯＳ１０７を構成するモジュールおよびコンピュータ１０の全体に適用するレジストリなどが格納されている。Program Filesフォルダには、本発明の適用がない場合はコンピュータ１０にインストールしたアプリケーションが格納される。アプリケーションは通常付随するインストーラでインストールするが、インストーラにはユーザがインストール先のフォルダを指定できるものと指定できないものがある。
【００５６】
インストール先のフォルダを指定できない場合は、通常ユーザまたはインストーラ１０５がProgram Filesフォルダの直下に独自のプログラム名や会社名のフォルダを作成してそこにインストールする。また、インストール先を指定できる場合でも、インストーラ１０５はディフォルトではProgram Filesフォルダを指定する。したがって、コンピュータ１０にアプリケーションをインストールするたびに、そのファイルはＨＤＤ１５に格納されてゆくため、図４（Ａ）の状態ではリムーバル・メディア５６をＨＤＤ１５の拡張領域として十分に活用することができない。
【００５７】
また、コンピュータ１０は、仮想記憶システムを採用しており、メイン・メモリ１３のページは随時システム・ドライブにスワップ・アウトされる。システム・ドライブのルート・ディレクトリには、スワップ領域が確保されておりスワップ・アウトされたページはpagefile.sysというファイルで保存される。あるいは、インターネットで閲覧したファイルをダウンロードしたときに生成されるインターネット一時ファイルもシステム・ドライブに保存される。このようなファイルは、必ずしもシステム・ドライブに保存する必要はないが、システムの設定を変更しない限りシステム・ドライブに保存されてしまい、アプリケーションと同様にリムーバル・メディア５６をシステム・ドライブの拡張領域として十分に活用することができない。
【００５８】
ここではユーザがコンピュータ１０のＯＳ１０７に、Business、Private、Travelという用途に応じた名称で３つのユーザ・アカウントを設定している。ユーザ・アカウントは通常同一コンピュータを異なるユーザが使用する場合に設定するが、本発明においてはさらに同一ユーザが用途別に個別動作環境を構築するために設定する。Usersフォルダには、ＯＳ１０７によりBusinessフォルダ、Privateフォルダ、およびTravelフォルダが作成されている。Usersフォルダ以下のフォルダ階層はユーザが作成したユーザ・アカウントに対応しており、ログオン時のカレント・ワーキング・ディレクトリであるホーム・ディレクトリに相当する。なお、ホーム・ディレクトリの上位のフォルダ名称はＯＳの種類により異なる。
【００５９】
ＯＳ１０７はログオンしたユーザ・アカウントに対応するUsersフォルダ以下のフォルダ階層の上位部分を構築する。下位のフォルダ階層は、ユーザが当該ユーザ・アカウントでログオンしてフォルダおよびファイルを作成するたびに追加されてゆく。ディフォルトで設定されている場合は、ユーザがアプリケーションで作成したデータの保存先を指定しない限り、システム・ドライブのMy Documentsフォルダにファイルが保存される。
【００６０】
Usersフォルダ以下のフォルダ・パスには、当該ユーザ・アカウントに固有のレジストリも含まれる。もし、ユーザがPrivateというユーザ・アカウントでログオンした場合は、プロセスはPrivateフォルダ以下のフォルダにはアクセスできるが、BusinessフォルダまたはTravelフォルダ以下のフォルダにアクセスするためには、現在のアカウントをログオフして、対応するユーザ・アカウントでログオンする必要がある。ＯＳ１０７のエクスプローラはログオンしているユーザ・アカウントに対応するUsersフォルダ以下のフォルダ・パスだけを表示する。
【００６１】
Business、Private、Travel のユーザ・アカウント名称は、リムーバル・メディア５６が提供するコンピュータ１０の個別動作環境に対応している。Businessフォルダ、Privateフォルダ、およびTravelフォルダにはそれぞれ、My Documentsフォルダとマウント・ポイント１５３となるフォルダが作成される。My Documentsフォルダは、アプリケーションがファイルの保存先としてディフォルトで設定するフォルダでＯＳ１０７により作成される。マウント・ポイント１５３のフォルダは、それぞれMount Businessフォルダ、Mount Privateフォルダ、およびMount Travelフォルダとして統合アプリケーション１０１により作成される。
【００６２】
マウント・ポイント１５３となるフォルダの直下または内部には、いずれのフォルダおよびファイルも作成されていない。統合アプリケーション１０は、いずれかのリムーバル・メディア５６が接続されたときにコントロール・ファイル７１のアカウント識別子に基づいて、Mount Businessフォルダには仕事を目的としたリムーバル・メディア５６をマウントし、Mount Privateフォルダには個人用途を目的としたリムーバル・メディア５６をマウントし、さらに、Mount Travelフォルダには旅行を目的としたリムーバル・メディア５６をマウントする。
【００６３】
リムーバル・メディア５６のルート・ディレクトリであるＤ：￥には、My Documents#1フォルダ、Program Files#1フォルダ、System Dataフォルダ、およびControl Fileが記録されている。これらのフォルダはいずれのリムーバル・メディアにも共通して作成されるもので、リムーバル・メディアが最初にコンピュータ１０に接続されたときに統合アプリケーション１０１が作成する。
【００６４】
ここではリムーバル・メディア５６が、コンピュータ１０に個人用途（Private）を目的とする個別動作環境を実現するものとする。My Documents#1フォルダは、システム・ドライブのMy Documents フォルダに対応するもので、本実施の形態によってリムーバル・メディア５６が統合されたときに、アプリケーション７５がシステム・ドライブのMy Documents フォルダに保存するように宛先指定したファイルを実際に保存するためのフォルダである。
【００６５】
Program Files#1フォルダは、システム・ドライブのProgram Filesフォルダに対応するもので、リムーバル・メディア５６が統合されたときに、インストーラがシステム・ドライブのProgram Filesフォルダを指定してその直下に独自のフォルダを作成してインストールする場合に、Program Filesフォルダに代わって実際のインストール先になるフォルダである。ここでは、Program Files#1フォルダの直下にインストーラによりCameraフォルダ、Musicフォルダ、およびMovieフォルダが作成されている。System Dataフォルダは、pagefile.sysのようなＯＳ１０７が生成するシステム・ファイルを保存するフォルダである。Control Fileは図２に示したコントロール・ファイル７１である。
【００６６】
図４（Ｂ）は、Privateというユーザ・アカウントでログオンして、かつ、マウント・ツール１０３を通じて、リムーバル・メディア５６をマウントした状態を示している。リムーバル・メディア５６は、Mount Privateフォルダのマウント・ポイント１５３にマウントされてPrivateフォルダの直下にリムーバル・メディア５６のフォルダ階層１５５が作成されている。リムーバル・メディア５６がマウントされると、ＯＳ１０７はマウント・ポイントのフォルダを認識しない。マウント・ツール１０３は、リムーバル・メディア５６からドライブ・レター（Ｄ）を取り除いて形成したマウント・ドライブのフォルダ階層１５７を、マウント・ポイントに組み込んでシステム・ドライブのフォルダ階層１５１に統合する。
【００６７】
しかしマウントしただけでは、所定の個別動作環境におけるアプリケーションおよびファイルまたはシステム・データなどは、保存先の変更が可能でかつユーザが保存先をマウント・ドライブのいずれかのフォルダに変更しない限りシステム・ドライブに保存される。また、マウントはマウント先の空のフォルダに対してフォルダ単位で行うため、pagefile.sysのようなシステム・ドライブのルート・ディレクトリに保存されるシステム・ファイルをマウント・ドライブの特定のフォルダに保存することはできない。
【００６８】
たとえば、システム・ドライブのルート・ディレクトリの直下にリムーバル・メディア５６に対するマウント・ポイントを設けても、pagefile.sysはシステム・ドライブに保存される。ルート・ディレクトリは空にすることができないので、マウント・ポイントにすることはできない。よって、pagefile.sysのようなシステム・ファイルはリムーバル・メディアをマウントしただけではマウント・ドライブに保存することはできない。なお、このことはシステム・ファイルがルート・ディレクトリに保存される場合に限らず、システム・ファイルが下の階層のフォルダに保存される場合も同様である。
【００６９】
図５は、リムーバル・メディア５６がコンピュータ１０に接続されたときに、図４（Ｂ）に示したようにリムーバル・メディア５６をマウントして、マウント・ドライブのフォルダ階層１５７をシステム・ドライブのフォルダ階層１５１に統合するときの手順を示すフローチャートである。リムーバル・メディア５６の統合には、リムーバル・メディア５６をシステム・ドライブのマウント・ポイントにマウントする手順と、マウントされたリムーバル・メディア５６にアプリケーションやファイルを保存する手順を含む。
【００７０】
ブロック２０１では、コンピュータ１０が登録されている３つのユーザ・アカウントのいずれかでログオンしている。そしてシステム・ドライブのフォルダ階層１５１が作成されコンピュータ１０に基本動作環境が構築されている。このときＯＳ１０７は、Usersフォルダ以下のフォルダ階層として、ログオンしてユーザ・アカウントに対応するホーム・ディレクトリのフォルダ階層だけを当該ユーザに提供する。コンピュータ１０は基本動作環境では、ブラウザやメーラを使った基本的な作業だけを行うようになっており、特定の用途に関する作業はいずれかのリムーバル・メディアを接続して行うことを前提にしている。ブロック２０３でリムーバル・メディア５６がコンピュータ１０に接続される。
【００７１】
いずれかのリムーバル・メディア５６が接続されたことを認識したＯＳ１０７は、図４（Ａ）に示すようリムーバル・メディア５６にドライブ・レターＤを付与してフォルダ階層１５５を構築し、アプリケーション７５、インストーラ１０５およびＯＳ１０７からのリムーバル・メディアに対するアクセスを可能にする。リムーバル・メディア５６が始めてコンピュータ１０に接続される場合は、中に一切のデータが格納されていないためＯＳ１０７は空のドライブとして認識する。さらにＯＳ１０７は、統合アプリケーション１０１にリムーバル・メディア５６が接続されたことを通知する。
【００７２】
ブロック２０５では、通知を受け取った統合アプリケーション１０１がＯＳ１０７を通じてリムーバル・メディア５６からコントロール・ファイル７１を読み出して統合化識別子が記録されているか否かを判断する。統合アプリケーション１０１が統合化識別子の存在を確認しないときは、ブロック２０７に移行して、コンピュータ１０はリムーバル・メディア５６をドライブ・レターがＤの通常の記録媒体として扱う。ここで、始めて使用するリムーバル・メディアや統合化識別子が登録されていないリムーバル・メディア５６を個別動作環境の構築に利用することがある。
【００７３】
統合アプリケーション１０１は、統合化識別子を確認できないリムーバル・メディア５６を認識したときには、ＬＣＤ１７にポップアップ・メニューを表示して、ユーザに当該リムーバル・メディア５６を個別動作環境の構築に利用するか否かを問い合わせる。ユーザが個別動作環境の構築に利用することを希望する場合は、統合アプリケーション１０１は設定画面を通じて図２のコントロール・ファイル７１に登録するデータを受け取ってリムーバル・メディアに登録して初期化する。さらに、統合アプリケーション１０１はファイル・システム１２５を通じてリムーバル・メディアに図４（Ａ）のフォルダ階層１５５のようなシステム・ドライブのフォルダ階層１５１に対応した基本的なフォルダ階層を構築する。
【００７４】
ブロック２０５で統合アプリケーション１０１が統合化識別子の存在を確認したときは、ブロック２０９に移行する。ブロック２０９では、統合アプリケーション１０１がＯＳ１０７から現在ログオンしているユーザ・アカウントを取得し、コントロール・ファイル７１に記録されていたアカウント識別子（Private）と比較して両者のユーザ・アカウントが一致しているか否かを判断する。
【００７５】
両者が一致している場合はブロック２１３に移行してＯＳ１０７は統合アプリケーション１０１に現在のユーザ・アカウントを通知する。一致していない場合はブロック２１１に移行する。ブロック２１１では統合アプリケーション１０１が、コントロール・ファイル７１から読み取ったログオン・パスワードをＯＳ１０７に送って、現在ログオンしているユーザ・アカウントをPrivateに変更するように要求する。要求を受け取ったＯＳ１０７は現在のユーザ・アカウントをログオフして、要求されたアカウント（Private）でログオンする。ログオンが完了したあとに、ＯＳ１０７は統合アプリケーション１０１に現在のユーザ・アカウントを通知する。
【００７６】
ブロック２１３では、通知を受け取った統合アプリケーション１０１は、現在ログオンしているユーザ・アカウントに対応するホーム・ディレクトリの中に形成されたマウント・ポイントを調べる。マウント・ポイントのフォルダの名称を、あらかじめ「Mount」という文字とユーザ・アカウントの名称の組み合わせに設定しておけば、統合アプリケーション１０１はMount Privateフォルダ１５３がマウント・ポイントであることを容易に認識することができる。
【００７７】
統合アプリケーション１０１はマウント・ツール１０３にMount Privateフォルダ１５３までのフォルダ・パスとマウントするドライブの識別子を送って、Ｄドライブをマウント・ポイント（Mount Private）にマウントするように要求する。要求を受け取ったマウント・ツール１０３は、Ｄドライブをマウントして図４（Ｂ）のマウント・ドライブのフォルダ階層１５７をシステム・ドライブのフォルダ階層１５１に組み込み、統合アプリケーション１０１にマウントの終了を通知する。
【００７８】
ブロック２１５では、マウントの終了通知を受け取った統合アプリケーション１０１が、コントロール・ファイル７１から読み取ったアカウント識別子に基づいて、ＬＣＤ１７に現在の個別動作環境が、個人用途（private）であることを示す情報を表示する。この表示により、ユーザは現在の動作環境で使用できるアプリケーションを認識することができ、さらにネットワークから他の用途（ユーザ・アカウント）で使用するようなアプリケーションやファイルをダウンロードするようなことを防ぐことができる。
【００７９】
ブロック２１７では統合アプリケーション１０１が、マウント・ドライブのフォルダ階層１５５の、システム・ドライブのルート・ディレクトリに対するフォルダ・パスを取得する。そして、統合アプリケーション１０１は、マウント・ドライブのフォルダのいくつかとシステム・ドライブのフォルダまたはファイルを関連付けた（マッピングした）マッピング・テーブル１７０を中間デバイス・ドライバ１２３が参照可能なように作成する。
【００８０】
図６は、マッピング・テーブル１７０の一例を示す図である。マッピング・テーブル１７０は、用途別のアプリケーション７５、インストーラ１０５およびＯＳ１０７が、ＨＤＤ１５のフォルダまたはファイルにアクセスするときのフォルダ・パスをリムーバル・メディア５６の所定のフォルダ・パスに変更するために中間デバイス・ドライバ１２３が参照するためのエントリで構成されている。リムーバル・メディア５６は、接続されるコンピュータごとまたはポートごとに付与されるドライブ・レターが変わることがある。その場合、ユーザープログラムのインストール時に設定されたドライブ・レターに基づいて当該プログラムの構成情報などがレジストリや設定ファイルなどに記録されているため、ドライブ・レターが変更された時点で、当該プログラムの正常な動作が保証されなくなってしまう。
【００８１】
しかし、システム・ドライブの所定のマウント・ポイントにマウントされたリムーバル・メディアはコンピュータ１０に接続するたびにフォルダ・パスが変更されることはないので、当該プログラムの正常な動作が保証される。また、マッピング・テーブル１７０のエントリは、統合アプリケーション１０１がリムーバル・メディアを一意なボリューム識別子で管理するため、リムーバル・メディアの接続のたびに変更する必要がない。
【００８２】
図６では、システム・ドライブのC:\pagefile.sysというシステム・ファイルは、マウント・ドライブのC:\Users\Private\System Dataというフォルダ・パスにマッピングされている。したがって、ＯＳ１０７がメイン・メモリ１３からシステム・ドライブのルート・ディレクトリにスワップ・アウトしたページは、実際にはリムーバル・メディア５６のSystem Dataフォルダに保存される。
【００８３】
システム・ドライブのC:\Users\My Documentsというフォルダ・パスは、マウント・ドライブのC:\Users\Private\My Documents#1というフォルダ・パスにマッピングされている。したがって、アプリケーション７５が保存先をシステム・ドライブのMy Documentsフォルダに指定したファイルは、実際にはリムーバル・メディア５６のMy Documents#1フォルダに保存されることになる。システム・ドライブのC:\Program Filesというフォルダ・パスは、マウント・ドライブのC:\Users\Private\Program Files#1というフォルダ・パスにマッピングされている。したがって、インストーラ１０５がアプリケーションのインストール先をシステム・ドライブのProgram Filesフォルダに指定した処理では、実際にはリムーバル・メディア５６のProgram Files#1フォルダに保存される。
【００８４】
統合アプリケーション１０１はマッピング・テーブル１７０を作成したあとに、ブロック２１９で中間デバイス・ドライバ１２３を活性化する。活性化された中間デバイス・ドライバ１２３は、用途別のアプリケーション７５またはＯＳ１０７のモジュールがＨＤＤ１５に対して行うＡＰＩ関数またはシステム・コール関数の宛先フォルダまでのフォルダ・パスを、マッピング・テーブル１７０を参照してリムーバル・メディア５６に渡すように変更する。
【００８５】
中間デバイス・ドライバ１２３は、活性化されていない間は、ＳＳＤ１２１から受け取ったシステム・コール関数の宛先フォルダのフォルダ・パスを変更しない。ブロック２２１では、統合アプリケーション１０１がコントロール・ファイル７１に登録されていた自動起動リストのアプリケーションをリムーバル・メディア５６のコントロール・ファイル７１から読み出して起動する。なお、自動起動リストは、コントロール・ファイル７１に登録しないで統合アプリケーション１０１がシステム・ドライブのレジストリに登録しておくようにしてもよい。
【００８６】
ブロック２２３では、ユーザがログオフを開始する。ブロック２２５ではログオフする前にＯＳ１０７がメイン・メモリ１３の未保存のデータをリムーバル・メディア５６に保存して統合アプリケーション１０１に通知する。保存が終了したことに応じて、統合アプリケーション１０１は、マウント・ツール１０３にリムーバル・メディア５６をアンマウントするように要求する。マウント・ツール１０３がリムーバル・メディア５６をアンマウントした後に、ＯＳ１０７はログオフを実行する。
【００８７】
図７は、図５の手順でマウントされたリムーバル・メディア５６に新たなアプリケーションをインストールする手順を示すフローチャートである。いま、個人用途のアプリケーションを光学ディスク５７からインストーラ１０５を実行してインストールするものとする。ブロック３０１では、アプリケーションのセットアップを開始すると、インストーラ１０５が実行される。ブロック３０３では、インストーラ１０５がユーザと対話しながら設定情報を決定してインストールを進める。
【００８８】
そして、インストーラ１０５はユーザにインストール先をＣドライブのC:\Program Filesフォルダにするか否かを確認し、あるいは、任意のインストール先を指定するように要求する。ユーザが所定のインストール先のフォルダを指定する場合は、ブロック３０５に移行して指定されたフォルダにインストールする。この場合の指定先のフォルダは、マウント・ドライブ１５７のフォルダでもよい。
【００８９】
ユーザがマウント・ドライブ１５７のProgram Files#1フォルダをマウント先に指定するような場合は、本実施の形態を利用することなくアプリケーションのインストール上はリムーバル・メディア５６の容量を有効に活用することができる。ブロック３０３で、インストーラ１０５がディフォルトで選択するC:\Program Filesフォルダにインストールする場合、およびインストーラ１０５がユーザに選択の機会を与えないでC:\Program Filesフォルダにインストールする場合は、ブロック３０７に移行する。
【００９０】
ブロック３０７では、インストーラ１０５がアプリケーションのファイルをＨＤＤ１５に保存するために発行した、ＣドライブのC:\Program Filesフォルダを宛先とするシステム・コール関数を、ＳＳＤ１２１を経由して中間デバイス・ドライバ１２３が受け取る。ブロック３０９では、中間デバイス・ドライバ１２３がマッピング・テーブル１７０を参照して、システム・コール関数が宛先とするC:\Program Filesフォルダを、C:\User\Private\Program Files#1フォルダに変更して、当該システム・コール関数をファイル・システム１２５に送る。ファイル・システム１２５は、システム・コール関数の宛先フォルダに基づいて、当該システム・コール関数を物理デバイス・ドライバ１１３に送る。
【００９１】
ブロック３１１では、物理デバイス・ドライバ１１３は、システム・コール関数を実行して指示されたフォルダにファイルを保存する。したがって、中間デバイス・ドライバ１２３が活性化されている限りは、マッピング・テーブル１７０に基づいて、インストーラ１０５によりシステム・ドライブのC:\Program Filesフォルダに保存するように指定されたファイルはすべて、リムーバル・メディア５６のマウント・ドライブ１５７に構築されたC:\User\Private\Program Files#1フォルダに保存される。
【００９２】
このときインストールされたアプリケーションの設定情報は、システム・ドライブのレジストリに記録される。統合アプリケーションはこのときのレジストリ情報をリムーバル・メディア５６に保存することができる。そして、他のコンピュータが当該リムーバル・メディアのアプリケーションを実行する際に、他のコンピュータのレジストリにコピーするようにすれば、インストールしたコンピュータとそれ以外のコンピュータでアプリケーションに関する同一の設定情報を利用できるようになる。
【００９３】
中間デバイス・ドライバ１２３は、ＯＳ１０７がシステム・ドライブの所定のフォルダに保存していたシステム・ファイルも同様にマッピング・テーブル１７０を参照してマウント・ドライブ１７０に保存することができる。したがって、インストールしたアプリケーションやファイルをリムーバル・メディア５６に保存することができるので、ＨＤＤ１５を小さな容量にすることができる。
【００９４】
また、用途別のアプリケーション７５を実行して作成したファイルを保存するときには、アプリケーション７５はファイルの保存先をディフォルトでシステム・ドライブのMy Documentsフォルダに指定する。ユーザが指定先のフォルダを変更しない限りファイルはシステム・ドライブに保存される。本発明によればユーザは常にファイルの保存先をシステム・ドライブのMy Documentsフォルダにしておけば、マウント・ドライブのMy Documents#1フォルダに保存されるため、保存先の指定の煩雑さから解放される。
【００９５】
しかも、ユーザはつねにMy Documentsフォルダを指定すればよいので、ファイルがシステム・ドライブとマウント・ドライブに分散してしまうことがなくなり、他のコンピュータにリムーバル・メディア５６を装着したときに、ファイルが存在しないような事態は生じない。なお、ユーザがファイルの保存先をマウント・ドライブのMy Documents#1フォルダに指定することもできるが煩雑さが伴い、保存先の一貫性を確保することは困難である。Ｗｉｎｄｏｗｓ（登録商標）などのＯＳは、文書、写真、動画、および音楽などの多くのフィアルの保存先としてMy Documents, My Pictures, My Musicなどのフォルダ・パスをディフォルトで指定している。本発明によればそのようなＯＳが提供するデータ管理のコンセプトを維持しながら、ユーザは所定のマウント・ドライブにデータを保存することができるようになる。
【００９６】
本発明によれば、ＨＤＤ１５には基本動作環境に関するプログラムおよびデータだけを保存し、リムーバル・メディアには用途別に用意した個別動作環境に関するプログラムおよびデータを保存しておいて、リムーバル・メディア５６をコンピュータに接続するだけで個別動作環境を実現することができる。コンピュータ１０には、さまざまな個別動作環境に対応したリムーバル・メディア５６が装着されるが、ユーザはシステム・ドライブのフォルダ階層の一部にマウント・ドライブのフォルダ階層が追加されたと認識するだけでよく、いずれの個別動作環境でもアプリケーションのインストールやファイルの操作はシステム・ドライブに対して行うことで、保存先の一貫性を維持しながらリムーバル・メディア５６の容量を活用することができる。
【００９７】
また、データをコンピュータ本体に残す必要はないので、リムーバル・メディアを適切に管理するだけで、コンピュータ本体を複数のユーザが共用する際のセキュリティを確保することができる。また、外出用と社内用でリムーバル・メディアを使い分けると、重要なデータを社外に持ち出さないでもコンピュータの使用ができるようになる。コンピュータに仕事のデータと個人的なデータを混在させるとセキュリティ上のリスクが発生するが、本発明によればリムーバル・メディアを交換するだけで目的とする個別動作環境に移行できるので、ユーザに負担をかけないでリムーバル・メディアごとにデータを分離することができる。
【００９８】
これまで、コンピュータ１０の外部に同時に１個だけ接続するリムーバル・メディアを例示して説明したが、用途別に用意した複数のＳＤカードをコンピュータに同時に装着しておいてソフトウエアで接続および離脱を制御して任意のＳＤカードをマウントするようにしてもよい。その際には、ログオンするユーザ・アカウントを変更するたびに、統合アプリケーション１０１が各ＳＤカードのコントロール・ファイル７１を読み取って、一致するアカウント識別子が登録されたＳＤカードをマウントし、それ以外のＳＤカードをアンマウントするように構成することができる。
【００９９】
また、一度にマウントするリムーバル・メディアの数は１個に限定する必要がなく、同一のアカウント識別子を有する複数のリムーバル・メディアを同時にマウントしてもよい。このときシステム・ドライブにマウントした第１のリムーバル・メディアに第２のリムーバル・メディアをマウントするといったように、同一のアカウント識別子を有する複数のリムーバル・メディアを階層的にマウントすることもできる。
【０１００】
また、本発明の利用形態は同一のコンピュータにリムーバル・メディアでユーザ・アカウントごとに個別動作環境を構築するだけでなく、複数のコンピュータに同一のリムーバル・メディアを接続して同一の個別動作環境を実現することもできる。この場合、コンピュータの個別動作環境をユーザ・アカウントごとに変更しない方法も採用できる。さらに、リムーバル・メディアにネットワークやデスクトップ画面のアイコンの配置などの情報も格納することで、リムーバル・メディアを装着するだけで異なるコンピュータ間にまったく同じ動作環境を構築することができる。
【０１０１】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【０１０２】
１５１…システム・ドライブのフォルダ階層
１５３…マウント・ポイント
１５５…リムーバル・メディアのフォルダ階層
１５７…マウント・ドライブのフォルダ階層
１７０…マッピング・テーブル
【図１】
0005335737.tif 000002
【図２】
0005335737.tif 000003
【図３】
0005335737.tif 000004
【図４】
0005335737.tif 000005
【図５】
0005335737.tif 000006
【図６】
0005335737.tif 000007
【図７】
0005335737.tif 000008