(57)【特許請求の範囲】
【請求項１】
第一の通信デバイスと前記第一の通信デバイスに対応するネットワークドライバが記録された記録媒体とを備えた可搬型デバイスに格納される通信支援プログラムであって、
前記可搬型デバイスが接続されたコンピュータに、
前記コンピュータが備える第二の通信デバイスを検知するデバイス検知手順と、
検知された前記第二の通信デバイスに対応するネットワークドライバが前記コンピュータ及び前記可搬型デバイスに存在しない場合に、前記第一の通信デバイスを用いたネットワーク通信により当該ネットワークドライバを取得するドライバ取得手順とを実行させるための通信支援プログラム。
【請求項２】
前記デバイス検知手順は、
通信デバイスごとに利用の可否を示す利用可否情報が記録された利用可否管理手段に前記第一の通信デバイスは利用不可であることを示す情報を記録する手順と、
前記可搬型デバイスが備える前記第一の通信デバイス及び前記コンピュータが備える前記第二の通信デバイスを検知し、検知された通信デバイスのうち、対応するネットワークドライバが存在し、かつ、前記利用可否情報が利用可能であることを示す通信デバイスによる通信を有効化する手順とを有し、
前記ドライバ取得手順は、前記第二の通信デバイスによる通信が有効でない場合に、前記一の通信デバイスによる通信を有効化し、前記第二の通信デバイスに対応するネットワークドライバを取得することを特徴とする請求項１記載の通信支援プログラム。
【請求項３】
前記ドライバ取得手順は、
前記第二の通信デバイスによる通信が有効でない場合に、前記第一の通信デバイスは利用可能であることを示す情報を前記利用可否管理手段に記録する手順と、
前記可搬型デバイスが備える前記第一の通信デバイス及び前記コンピュータが備える前記第二の通信デバイスを検知し、検知された通信デバイスのうち、対応するネットワークドライバが存在し、かつ、前記利用可否情報が利用可能であることを示す前記第一の通信デバイスによる通信を有効化する手順と、
前記第一の通信デバイスを用いたネットワーク通信により前記第二の通信デバイスに対応するネットワークドライバを取得する手順とを有することを特徴とする請求項２記載の通信支援プログラム。
【請求項４】
前記第一の通信デバイスによる通信を無効化し、前記ドライバ取得手順において取得されたネットワークドライバを用いて前記第二の通信デバイスによるネットワーク通信を有効化する通信手順を有することを特徴とする請求項１乃至３いずれか一項記載の通信支援プログラム。
【請求項５】
前記通信手順は、
前記第一の通信デバイスによる通信を無効化する手順と、
前記第一の通信デバイスは利用不可であることを示す情報を前記利用可否管理手段に記録する手順と、
前記可搬型デバイスが備える前記第一の通信デバイス及び前記コンピュータが備える前記第二の通信デバイスを検知し、検知された通信デバイスのうち、対応するネットワークドライバが存在し、かつ、前記利用可否情報が利用可能であることを示す前記第二の通信デバイスによる通信を有効化する手順とを有することを特徴とする請求項４記載の通信支援プログラム。
【請求項６】
第一の通信デバイスと前記第一の通信デバイスに対応するネットワークドライバが記録された記録媒体とを備えた可搬型デバイスが接続されたコンピュータが実行する通信支援方法であって、
前記コンピュータが備える第二の通信デバイスを検知するデバイス検知手順と、
検知された前記第二の通信デバイスに対応するネットワークドライバが前記コンピュータ及び前記可搬型デバイスに存在しない場合に、前記第一の通信デバイスを用いたネットワーク通信により当該ネットワークドライバを取得するドライバ取得手順とを有することを特徴とする通信支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信支援プログラム及び通信支援方法に関し、特に通信デバイスに対応するネットワークドライバが存在しない場合に通信を支援する通信支援プログラム及び通信支援方法。
【背景技術】
【０００２】
近年では、ＵＳＢメモリ等の携帯可能なデバイス（ポータブルデバイス）に、自らが通常利用するＰＣのシステム環境（ＯＳイメージ等）をコピーして携帯し、ＵＳＢブートによって他のコンピュータ上において自らのシステム環境を再現することが可能となっている。
【０００３】
図１は、システム環境をポータブルデバイスによって携帯する様子を示す図である。同図では、通常利用するＰＣのＯＳ４１１（ＯＳイメージ）等がポータブルデバイス４０１に記録されている。この状態でポータブルデバイス４０１をＰＣ５０１，５０２、５０３、又は５０４にＵＳＢ接続し、ＵＳＢブートを実行することで、各ＰＣにおいてＯＳ４１１をロードさせることができ、通常利用するシステム環境を再現することができる。
【特許文献１】特開２００７−２９３７８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、図１において、ＰＣ５０１は通信デバイスＡを、ＰＣ５０２には通信デバイスＢを、ＰＣ５０３は通信デバイスＣを、通信デバイスＤ５０４は通信デバイスＤをそれぞれ備えている。通信デバイスは、ネットワークカード等、有線又は無線による通信を実現するためのハードウェアである。
【０００５】
通常、ＰＣに接続された通信デバイスを利用可能とするためには、当該通信デバイスに対応するドライバソフト（ネットワークドライバ）が必要とされる。ポータブルデバイス４０１には、斯かるドライバソフトとして、ドライバＡ、ドライバＢ、及びドライバＣが記録されている。ドライバＡは通信デバイスＡに、ドライバＢは通信デバイスＢに、ドライバＣは通信デバイスＣにそれぞれ対応する。
【０００６】
このような状態において、例えば、ＰＣ５０１にポータブルデバイス４０１を接続したとする。図２は、ＰＣ５０１にポータブルデバイス４０１の環境がロードされた例を示す図である。この場合、ＰＣ５０１のメモリ領域にロードされた環境にはＰＣ５０１が備える通信デバイスＡに対応するドライバＡが含まれている。したがって、ＰＣ５０１は、ドライバＡ及び通信デバイスＡを用いて通信を行うことができる。
【０００７】
一方、図３は、ＰＣ５０４にポータブルデバイス４０１の環境がロードされた例を示す図である。この場合、ＰＣ５０４のメモリ領域にロードされた環境にはＰＣ５０４が備える通信デバイスＤに対応するドライバソフト（例えば、ドライバＤ）が含まれていない。したがって、ＰＣ５０４では通信デバイスＤを利用することができない（通信を行うことができない）。また、通信を行えないことにより、ネットワークを介してドライバＤをダウンロードすることもできない。
【０００８】
なお、ポータブルデバイスには容量の制限もあり、全てのハードウェアに対応するドライバソフトを予め記録しておくのは現実的ではない。
【０００９】
本発明は、上記の点に鑑みてなされたものであって、通信デバイスに対応するネットワークドライバが存在しない環境において通信可能な状態の構築を適切に支援することのできる通信支援プログラム及び通信支援方法の提供を目的とする。
【課題を解決するための手段】
【００１０】
そこで上記課題を解決するため、本発明は、第一の通信デバイスと前記第一の通信デバイスに対応するネットワークドライバが記録された記録媒体とを備えた可搬型デバイスに格納される通信支援プログラムであって、前記可搬型デバイスが接続されたコンピュータに、前記コンピュータが備える第二の通信デバイスを検知するデバイス検知手順と、検知された前記第二の通信デバイスに対応するネットワークドライバが前記コンピュータ及び前記可搬型デバイスに存在しない場合に、前記第一の通信デバイスを用いたネットワーク通信により当該ネットワークドライバを取得するドライバ取得手順とを実行させることを特徴とする。
【００１１】
このような通信支援プログラムでは、通信デバイスに対応するネットワークドライバが存在しない環境において通信可能な状態の構築を適切に支援することができる。
【発明の効果】
【００１２】
本発明によれば、通信デバイスに対応するネットワークドライバが存在しない環境において通信可能な状態の構築を適切に支援することのできる通信支援プログラム及び通信支援方法を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。図４は、本発明の実施の形態において利用される装置を説明するための図である。同図には、ポータブルデバイス１０、ＰＣ（Personal Computer）２０、及びサーバ３０が示されている。
【００１４】
ポータブルデバイス１０は、通常利用するＰＣ等におけるシステム環境を携帯するための携帯型又は可搬型のデバイスであり、記録媒体１１、ＵＳＢインタフェース１２、ＵＳＢハブ１３、及び通信デバイスＺ１５等のハードウェアを備える。なお、ポータブルデバイス１０によって携帯されるシステム環境を、以下「携帯環境」という。
【００１５】
ＵＳＢインタフェース１２は、ＵＳＢケーブルを接続するためのコネクタであり、本実施の形態ではＰＣ２０に接続するためのインタフェースとして用いられる。ＵＳＢハブ１３は、ＵＳＢによる接続経路を記録媒体１１と通信デバイスＺ１５とに分岐させる。通信デバイスＺ１５は、無線又は有線によって通信を行うために必要とされるネットワークカード等の着脱可能なデバイスであってもよいし、例えば携帯電話の場合のように予め装置に組み込まれた固定型のデバイスでもよい。
【００１６】
記録媒体１１は、不揮発性のメモリであり、本実施の形態では、ドライバＡ４１、ドライバＢ４２、ドライバＣ４３、ドライバＺ４５、監視アプリ４７、及びＯＳ４８等のソウェアプログラムが静的に記録されている。これらは、通常利用するＰＣよりコピーされたものである。
【００１７】
ドライバＡ４１、ドライバＢ４２、ドライバＣ４３、ドライバＣ４３、及びドライバＺ４５は、いわゆるネットワーク通信用のドライバソフト（ネットワークドライバ）であり、通信デバイスの制御を行う。各ドライバは対応する通信デバイスが異なる。ドライバＡ４１、ドライバ４２、ドライバＣ４３は、それぞれ非図示の通信デバイスＡ、通信デバイスＢ、通信デバイスＣに対応する。ドライバＺ４５は、通信デバイスＺ１５に対応する。
【００１８】
監視アプリ４７は、ＰＣ２０における通信環境の構築を支援する。具体的には、監視アプリ４７は、携帯環境がＰＣ２０にロードされた際に、ＰＣ２０が備える通信デバイスＤ２４によって通信を可能とするための処理を実行する。ＯＳ４８は、通常利用するＰＣよりコピーされたＯＳイメージである。ＯＳ４８には、ドライバ管理テーブル４８１が含まれる。ドライバ管理テーブル４８１は、通信デバイスとネットワークドライバとの関連付け等を管理するための情報である。ここでは、通常利用しているＰＣにおいて予め設定されている内容がそのままコピーされている。
【００１９】
図５は、ドライバ管理テーブルの構成例を示す図である。同図において、ドライバ管理テーブル４８１は、携帯環境においてインストールされているネットワークドライバごとに、利用フラグ、デバイス識別子、及びドライバ識別子等の情報を管理する。
【００２０】
ドライバ識別子は、ＯＳ４８等が、ＯＳ４８上に（携帯環境に）インストールされている各ネットワークドライバを識別するための識別情報である。デバイス識別子は、ネットワークドライバに対応する通信デバイスをＯＳ４８等が識別するための識別情報であり、例えば、メーカＩＤ、プロダクトＩＤ等によって構成される。すなわち、デバイス識別子及びドライバ識別子の組みによって各通信デバイスに対応するネットワークドライバが識別される。利用フラグは、当該レコードに係る通信デバイスの利用の可否を示すフラグ情報である。利用フラグの値が「０」の通信デバイスは、利用不可となり利用対象とはされない。
【００２１】
なお、ポータブルデバイス４０１として携帯電話や無線又は有線の通信機能を有するＰＣ等を用いてもよい。また、ＵＳＢメモリ等の携帯型メモリに通信機能を搭載することによりポータブルデバイス４０１を実現してもよい。すなわち、ポータブルデバイス４０１は、通信機能、システム環境を記録するための記録媒体、及びコンピュータと接続（通信）するためのインタフェースを備えていれば所定のデバイスに限定されない。また、本実施の形態におけるポータブルデバイス１０は、ＵＳＢインタフェース１２を介してＰＣ２０と通信するが、ＰＣ２０との通信インタフェースはＵＳＢインタフェースに限定される必要はない。有線又は無線を問わずその他の手段でＰＣ２０と通信できるインタフェースを、ポータブルデバイス１０が有していればよい。
【００２２】
ＰＣ２０は、いわゆるＰＣであり、それぞれバスＢによって接続されたＲＡＭ２１、ＵＳＢインタフェース２２、ＣＰＵ２３、及び通信デバイスＤ２４等を備える。通信デバイスＤ２４は、ネットワークカード等、無線又は有線によって通信を行うために必要とされるデバイスである。なお、ＰＣ２０は、図示されているハードウェア以外にもＲＯＭやＨＤＤ等、一般的なＰＣが備えるハードウェアをも有するが、本実施の形態では便宜上省略されている。
【００２３】
サーバ３０は、ネットワークドライバのダウンロードサイトが構築されたコンピュータであり、本実施の形態では、ＰＣ２０の通信デバイスＤ２４に対応するドライバＤ４４をダウンロード可能な状態に管理している。
【００２４】
図４に示されるポータブルデバイス１０をＰＣ２０にＵＳＢ接続し、ＰＣ２０においてＵＳＢブートを行うとＰＣ２０にはポータブルデバイス１０に記録されている携帯環境がロードされる。
【００２５】
図６は、携帯環境がＰＣにロードされた状態を示す図である。同図では、混同を避けるため、ＰＣ２０にロードされたソフトウェアについては、元の参照番号の後に符号「ａ」を付加している。同図において、ＰＣ２０のＲＡＭ２１上には、ＯＳ４８ａがロードされている。ＰＣ２０にポータブルデバイス１０に記録されているＯＳ４８をロードする方法として、ＵＳＢブータブル方式がある。これは、ＰＣ２０に搭載されたＢＩＯＳがＵＳＢの接続を認識し、接続されたデバイスに記録されているＯＳイメージ（ＯＳ４８）を認識し、ブートするものである。なお、ＰＣ２０とポータブルデバイス１０とがＵＳＢ接続されることにより、ＰＣ２０からは記録媒体１１及び通信デバイスＺ１５等を透過的に（ＰＣ２０が備えるハードウェアと同様に）扱うことが可能となる。
【００２６】
ところで、同図では、監視アプリ４７ａもＲＡＭ２１にロードされている。これは、ＯＳ４８ａ上において監視アプリ４７ａが起動された様子を示したものである。監視アプリ４７ａの起動は、ＯＳ４８ａのロードに続いて自動的に行われてもよいし、ＯＳ４８ａのロード後、ＰＣ２０の操作者によって手動によって行われても良い。
【００２７】
以下、図６のような状態においてＰＣ２０等によって実行される処理手順について説明する。図７及び図８は、本実施の形態における処理手順を説明するためのシーケンス図である。なお、同図において、監視アプリ４７ａ及びＯＳ４８ａに関する処理は、ＰＣ２０のＣＰＵ２３によって実行される。
【００２８】
監視アプリ４７ａは、起動されると、ポータブルデバイス１０が備える通信デバイスＺ１５について、ドライバ管理テーブル４８１ａにおける利用フラグを０（利用不可）とする（Ｓ１０１）。なお、図５では、通信デバイスＺ１５の利用フラグが０とされた例が示されている。
【００２９】
続いて、監視アプリ４７ａは、ＯＳ４８ａに対して通信デバイスのスキャンの実行を要求する（Ｓ１０２）。当該要求に応じ、ＯＳ４８ａは、ＰＣ２０が備えている通信デバイスのスキャンを実行する。ここで、通信デバイスのスキャンとは、接続されている通信デバイスを検知し、検知された通信デバイスについてドライバ管理テーブル４８１ａにおいて利用フラグが１（利用可能）とされている場合には、当該通信デバイスに対応するネットワークドライバをロードすることによりネットワーク通信を有効化する処理をいう。
【００３０】
ここで、ＰＣ２０は通信デバイスＤ２４を備えている。したがって、スキャンによって通信デバイスＤ２４が検知され、そのデバイス識別子がＯＳ４８ａによって取得される（Ｓ１０３ａ）。また、ポータブルデバイス１０が備える通信デバイスＺ１５もＰＣ２０から透過的に見える。したがって、スキャンによって通信デバイスＺ１５も検知され、そのデバイス識別子がＯＳ４８ａによって取得される（Ｓ１０３ｂ）。
【００３１】
但し、図５に示されるように、ドライバ管理テーブル４８１ａには、通信デバイスＤ２４は登録されていない。したがって、ＯＳ４８ａは、対応するネットワークドライバを判定することはできず、通信デバイス２４に対応するネットワークドライバはロードされない。また、通信デバイスＺ１５については、ドライバ管理テーブル４８１ａに登録されており、対応するネットワークドライバ（ドライバＺ４５）も判定することが可能であるが、利用フラグが０とされている。したがって、ＯＳ４８ａは、ドライバ４５のロードは実行しない。その結果、通信デバイスＺ１５による通信は可能とならない。
【００３２】
続いて、監視アプリ４７ａは、スキャンの結果、ネットワーク通信が有効となったか否か（すなわち、ネットワークドライバがロードされたか否か）をＯＳ４８ａに問い合わせる（Ｓ１０４）。ＯＳ４８ａは、スキャン結果に応じて、有効又は無効である旨を応答する（Ｓ１０５）。ここでは、ネットワークドライバはロードされていないため、無効である旨が応答される。なお、有効である旨が応答された場合、以降の処理は実行されず、ロードされたネットワークドライバ及びそれに対応する通信デバイスを用いて通信が行われる。
【００３３】
すなわち、ステップＳ１０１において通信デバイスＺ１５の利用フラグを０としているのは、このタイミングにおけるスキャンによって通信デバイスＺ１５に対応するドライバＺ４５がロードされないようにするためである。仮に、このタイミングでドライバＺ４５がロードされ通信デバイスＺ１５による通信が可能となってしまうと、次のステップ（Ｓ１０６）においてネットワーク通信の無効状態（通信不能状態）を検知することができないからである。そうすると、更に後段のステップにおいて、通信デバイスＤ２４を利用可能とするための処理が実行されず、通信デバイスＺ１５を用いたまま通信状態が維持される可能性があるからである。一般的に、ポータブルデバイス１０等に接続可能な通信デバイスＺ１５による通信帯域は、ＰＣ２０に接続可能な通信デバイスＤ２４による通信帯域に比べて狭い。斯かる点に鑑みれば、通信デバイスＺ１５によって通信が維持されるよりも、可能でれば通信デバイスＤ２４に用いて通信を行う方が高速な通信環境が実現される可能性が高い。
【００３４】
ステップＳ１０５において無効である旨が応答された場合、監視アプリ４７ａは、そもそもＰＣ２０は通信デバイスを有するのかを問い合わせる（Ｓ１０６）。ＯＳ４８ａは、スキャン結果に基づいて応答を行う（Ｓ１０７）。ここでは、スキャンによって二つの通信デバイスが検知されている。したがって、通信デバイスを有する旨が応答される。
【００３５】
通信デバイスを有する旨が応答された場合、監視アプリ４７ａは、その通信デバイスのデバイス識別子をＯＳ４８ａに問い合わせる（Ｓ１０８）。ＯＳ４８ａは、スキャン結果に基づいて、通信デバイスＤ２４及び通信デバイスＺ１５のデバイス識別子を返却する（Ｓ１０９）。監視アプリ４７ａは、返却されたデバイス識別子のうち、ドライバ管理テーブル４８１ａに登録されていないデバイス識別子をドライバ管理テーブル４８１ａに登録し、その利用フラグを１とする（Ｓ１１０）。したがって、ここでは通信デバイスＤに関するレコードがドライバ管理テーブル４８１ａに登録される。
【００３６】
図９は、通信デバイスＤが登録されたドライバ管理テーブルの例を示す図である。同図に示されるように、ドライバ管理テーブル４８１ａには通信デバイスＤ２４のデバイス識別子及び利用フラグが登録されている。但し、通信デバイスＤ２４に対応するネットワークドライバについてはこの時点ではインストールされていない。
【００３７】
続いて、監視アプリ４７ａは、通信デバイスＺの利用フラグを１にする（Ｓ１２１（図８））。図１０は、通信デバイスＺの利用フラグが１にされたドライバ管理テーブルの例を示す図である。
【００３８】
この状態において、監視アプリ４７ａは、通信デバイスの再スキャンをＯＳ４８ａに要求する（Ｓ１２２）。ＯＳ４８ａは、ステップＳ１０３ａ及びＳ１０３ｂと同様に、スキャンによって通信デバイスＤ２４及び通信デバイスＺ１５を検知する（Ｓ１２３ａ、Ｓ１２３ｂ）。ここで、通信デバイスＤ２４については、相変わらず対応するネットワークドライバはインストールされていない（図１０参照）。一方、通信デバイスＺ１５については、利用フラグが１（利用可能）にされている。そこで、ＯＳ４８ａは、ドライバ管理テーブル４８１ａにおいて通信デバイスＺ１５に対応づけられているドライバＺ４５をロードする（Ｓ１２４）。これによって、ＰＣ２０は、通信デバイスＺ１５を介してネットワーク通信が可能となる（有効化される）。
【００３９】
そこで、監視アプリ４７ａは、ドライバＺ４５及び通信デバイスＺ１５を用いてサーバ３０とネットワーク通信を開始する（Ｓ１２５）。監視アプリ４７ａは、ドライバ管理テーブル４８１ａを参照し、デバイス識別子のみが記録され、ドライバ識別子が記録されていないレコードを特定し、当該レコードのデバイス識別子（今回の例では、通信デバイスＤ）をサーバ３０へ送信する、（Ｓ１２６）。サーバ３０は、例えば、サーバ３０が提供できるネットワークドライバ毎に、デバイス識別子とドライバ識別子とが対応づけられて管理されたドライバ管理テーブルを参照し、ポータブルデバイス１０から受信したデバイス識別子に対応するドライバ識別子を特定し、該ドライバ識別子が示すネットワークドライバ（今回の例では、ドライバＤ４４）をポータブルデバイス１０に送信する。以上により、ポータブルデバイス１０は必要なネットワークドライバをダウンロードする。なお、携帯環境には、監視アプリ４７ａが認識可能な位置（例えば、ファイルシステム上の所定のファイル）に、サーバ３０のＩＰアドレス又はホスト名等が記録されている。したがって、監視アプリ４７ａは、通信デバイスＺ１５を利用可状態（利用フラグを１）にした場合は、当該ＩＰアドレス等に基づいてサーバ３０との通信を行う。
【００４０】
ダウンロード後、監視アプリ４７ａは、ドライバＤ４４のドライバ識別子をドライバ管理テーブル４８１ａに登録する（Ｓ１２８）。
【００４１】
図１１は、ドライバＤが登録されたドライバ管理テーブルの例を示す図である。同図に示されるように、ドライバＤ４４のドライバ識別子は、通信デバイスＤ２４のレコードに登録される。これにより、通信デバイスＤ２４は利用可能となる。
【００４２】
そこで、監視アプリ４７ａは、ネットワークドライバのダウンロード処理を行った場合は、それ以降ポータブルデバイス１０の通信デバイスＺ１５ではなく、ＰＣ２０の通信デバイスＤ２４によって通信を行うための処理（すなわち、利用対象とする通信デバイスを切り替える処理）を実行する。まず、監視アプリ４７ａは、現在ロードされているドライバＺ４５をアンロードする（Ｓ１２９）。これにより、通信デバイスＺ１５による通信は無効化される。続いて、監視アプリ４７ａは、通信デバイスＺ１５の利用フラグを０にすることにより、通信デバイスＺ１５を利用不可とする（Ｓ１３０）。
【００４３】
図１２は、通信デバイスＺの通信デバイスＺの利用フラグが０にされたドライバ管理テーブルの例を示す図である。
【００４４】
この状態において、監視アプリ４７ａは、通信デバイスの再スキャンをＯＳ４８ａに要求する（Ｓ１３２）。ＯＳ４８ａは、スキャンによって通信デバイスＤ２４を検知する（Ｓ１３３）。ここで、通信デバイスＤ２４に対応するドライバＤ４４はダウンロードされており、また、通信デバイスＤ２４の利用フラグは１である（図１２参照）。したがって、ＯＳ４８ａは、ドライバＤ４４をロードする（Ｓ１３４）。
【００４５】
図１３は、ドライバＤがＰＣにロードされた状態を示す図である。同図に示されるように、ＰＣ２０のＲＡＭ４４ａにはドライバＤ４４ａがロードされている。これにより、通信デバイスＤ２４による通信が有効化される。なお、再スキャンによって通信デバイスＺ１５も検知されるが、その利用フラグは０とされているためドライバＺ４５がロードされることはない。よって、通信デバイスＺ１５が誤って使用されることはない。
【００４６】
その後、ポータブルデバイス１０とＰＣ２０との接続を解除する前に、ＰＣ２０のＲＡＭ２１にロードされた環境をポータブルデバイス１０の記録媒体１１に書き戻すようにしてもよい。この場合、記録媒体１１には新たに通信デバイスＤ４４が記録され、デバイス管理テーブル４８１は、図１２に示される状態に更新される。したがって、次回、ポータブルデバイス１０をＰＣ２０に接続した際、ポータブルデバイス１０に記録されているドライバＤ４４とＰＣ２０の通信デバイス２４とを用いて速やかに通信を開始することができる。
【００４７】
上述したように、本実施の形態によれば、ポータブルデバイス１０が接続するＰＣ２０が備える通信デバイスＤ２４に対応するドライバＤ４４が携帯環境に存在しない場合であっても、ポータブルデバイス１０が備える通信デバイスＺ１５を用いてドライバＤ４４をダウンロードすることができ、通信デバイスＤ２４による通信を有効化することができる。
【００４８】
また、利用フラグを適切なタイミングで切り替えることにより、通信デバイスＤ２４を検知する際における通信デバイスＺ１５による干渉の回避、通信デバイスＺ１５を用いた通信デバイスＤ２４のダウンロード、及びダウンロード後の通信デバイスＤ２４による通信の有効化等を適切に実現することができる。
【００４９】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００５０】
以上の説明に関し、更に以下の項を開示する。
（付記１）
第一の通信デバイスと前記第一の通信デバイスに対応するネットワークドライバが記録された記録媒体とを備えた可搬型デバイスに格納される通信支援プログラムであって、
前記可搬型デバイスが接続されたコンピュータに、
前記コンピュータが備える第二の通信デバイスを検知するデバイス検知手順と、
検知された前記第二の通信デバイスに対応するネットワークドライバが前記コンピュータ及び前記可搬型デバイスに存在しない場合に、前記第一の通信デバイスを用いたネットワーク通信により当該ネットワークドライバを取得するドライバ取得手順とを実行させるための通信支援プログラム。
（付記２）
前記デバイス検知手順は、
通信デバイスごとに利用の可否を示す利用可否情報が記録された利用可否管理手段に前記第一の通信デバイスは利用不可であることを示す情報を記録する手順と、
前記可搬型デバイスが備える前記第一の通信デバイス及び前記コンピュータが備える前記第二の通信デバイスを検知し、検知された通信デバイスのうち、対応するネットワークドライバが存在し、かつ、前記利用可否情報が利用可能であることを示す通信デバイスによる通信を有効化する手順とを有し、
前記ドライバ取得手順は、前記第二の通信デバイスによる通信が有効でない場合に、前記一の通信デバイスによる通信を有効化し、前記第二の通信デバイスに対応するネットワークドライバを取得することを特徴とする付記１記載の通信支援プログラム。
（付記３）
前記ドライバ取得手順は、
前記第二の通信デバイスによる通信が有効でない場合に、前記第一の通信デバイスは利用可能であることを示す情報を前記利用可否管理手段に記録する手順と、
前記可搬型デバイスが備える前記第一の通信デバイス及び前記コンピュータが備える前記第二の通信デバイスを検知し、検知された通信デバイスのうち、対応するネットワークドライバが存在し、かつ、前記利用可否情報が利用可能であることを示す前記第一の通信デバイスによる通信を有効化する手順と、
前記第一の通信デバイスを用いたネットワーク通信により前記第二の通信デバイスに対応するネットワークドライバを取得する手順とを有することを特徴とする付記２記載の通信支援プログラム。
（付記４）
前記第一の通信デバイスによる通信を無効化し、前記ドライバ取得手順において取得されたネットワークドライバを用いて前記第二の通信デバイスによるネットワーク通信を有効化する通信手順を有することを特徴とする付記１乃至３いずれか一項記載の通信支援プログラム。
（付記５）
前記通信手順は、
前記第一の通信デバイスによる通信を無効化する手順と、
前記第一の通信デバイスは利用不可であることを示す情報を前記利用可否管理手段に記録する手順と、
前記可搬型デバイスが備える前記第一の通信デバイス及び前記コンピュータが備える前記第二の通信デバイスを検知し、検知された通信デバイスのうち、対応するネットワークドライバが存在し、かつ、前記利用可否情報が利用可能であることを示す前記第二の通信デバイスによる通信を有効化する手順とを有することを特徴とする付記４記載の通信支援プログラム。
（付記６）
第一の通信デバイスと前記第一の通信デバイスに対応するネットワークドライバが記録された記録媒体とを備えた可搬型デバイスが接続されたコンピュータが実行する通信支援方法であって、
前記コンピュータが備える第二の通信デバイスを検知するデバイス検知手順と、
検知された前記第二の通信デバイスに対応するネットワークドライバが前記コンピュータ及び前記可搬型デバイスに存在しない場合に、前記第一の通信デバイスを用いたネットワーク通信により当該ネットワークドライバを取得するドライバ取得手順とを有することを特徴とする通信支援方法。
（付記７）
前記デバイス検知手順は、
通信デバイスごとに利用の可否を示す利用可否情報が記録された利用可否管理手段に前記第一の通信デバイスは利用不可であることを示す情報を記録する手順と、
前記可搬型デバイスが備える前記第一の通信デバイス及び前記コンピュータが備える前記第二の通信デバイスを検知し、検知された通信デバイスのうち、対応するネットワークドライバが存在し、かつ、前記利用可否情報が利用可能であることを示す通信デバイスによる通信を有効化する手順とを有し、
前記ドライバ取得手順は、前記第二の通信デバイスによる通信が有効でない場合に、前記一の通信デバイスによる通信を有効化し、前記第二の通信デバイスに対応するネットワークドライバを取得することを特徴とする付記６記載の通信支援方法。
（付記８）
前記ドライバ取得手順は、
前記第二の通信デバイスによる通信が有効でない場合に、前記第一の通信デバイスは利用可能であることを示す情報を前記利用可否管理手段に記録する手順と、
前記可搬型デバイスが備える前記第一の通信デバイス及び前記コンピュータが備える前記第二の通信デバイスを検知し、検知された通信デバイスのうち、対応するネットワークドライバが存在し、かつ、前記利用可否情報が利用可能であることを示す前記第一の通信デバイスによる通信を有効化する手順と、
前記第一の通信デバイスを用いたネットワーク通信により前記第二の通信デバイスに対応するネットワークドライバを取得する手順とを有することを特徴とする付記２記載の通信支援方法。
（付記９）
前記第一の通信デバイスによる通信を無効化し、前記ドライバ取得手順において取得されたネットワークドライバを用いて前記第二の通信デバイスによるネットワーク通信を有効化する通信手順を有することを特徴とする付記６乃至８いずれか一項記載の通信支援方法。
（付記１０）
前記通信手順は、
前記第一の通信デバイスによる通信を無効化する手順と、
前記第一の通信デバイスは利用不可であることを示す情報を前記利用可否管理手段に記録する手順と、
前記可搬型デバイスが備える前記第一の通信デバイス及び前記コンピュータが備える前記第二の通信デバイスを検知し、検知された通信デバイスのうち、対応するネットワークドライバが存在し、かつ、前記利用可否情報が利用可能であることを示す前記第二の通信デバイスによる通信を有効化する手順とを有することを特徴とする付記９記載の通信支援方法。
（付記１１）
第一の通信デバイスと前記第一の通信デバイスに対応するネットワークドライバが記録された記録媒体とを備えた可搬型デバイスであって、
当該可搬型デバイスが接続されたコンピュータに、
前記コンピュータが備える第二の通信デバイスを検知するデバイス検知手順と、
検知された前記第二の通信デバイスに対応するネットワークドライバが前記コンピュータ及び前記可搬型デバイスに存在しない場合に、前記第一の通信デバイスを用いたネットワーク通信により当該ネットワークドライバを取得するドライバ取得手順とを実行させるための可搬型デバイスが記録された可搬型デバイス。
（付記１２）
前記デバイス検知手順は、
通信デバイスごとに利用の可否を示す利用可否情報が記録された利用可否管理手段に前記第一の通信デバイスは利用不可であることを示す情報を記録する手順と、
前記可搬型デバイスが備える前記第一の通信デバイス及び前記コンピュータが備える前記第二の通信デバイスを検知し、検知された通信デバイスのうち、対応するネットワークドライバが存在し、かつ、前記利用可否情報が利用可能であることを示す通信デバイスによる通信を有効化する手順とを有し、
前記ドライバ取得手順は、前記第二の通信デバイスによる通信が有効でない場合に、前記一の通信デバイスによる通信を有効化し、前記第二の通信デバイスに対応するネットワークドライバを取得することを特徴とする付記１１記載の可搬型デバイス。
（付記１３）
前記ドライバ取得手順は、
前記第二の通信デバイスによる通信が有効でない場合に、前記第一の通信デバイスは利用可能であることを示す情報を前記利用可否管理手段に記録する手順と、
前記可搬型デバイスが備える前記第一の通信デバイス及び前記コンピュータが備える前記第二の通信デバイスを検知し、検知された通信デバイスのうち、対応するネットワークドライバが存在し、かつ、前記利用可否情報が利用可能であることを示す前記第一の通信デバイスによる通信を有効化する手順と、
前記第一の通信デバイスを用いたネットワーク通信により前記第二の通信デバイスに対応するネットワークドライバを取得する手順とを有することを特徴とする付記１２記載の可搬型デバイス。
（付記１４）
前記第一の通信デバイスによる通信を無効化し、前記ドライバ取得手順において取得されたネットワークドライバを用いて前記第二の通信デバイスによるネットワーク通信を有効化する通信手順を有することを特徴とする付記１１乃至１３いずれか一項記載の可搬型デバイス。
（付記１５）
前記通信手順は、
前記第一の通信デバイスによる通信を無効化する手順と、
前記第一の通信デバイスは利用不可であることを示す情報を前記利用可否管理手段に記録する手順と、
前記可搬型デバイスが備える前記第一の通信デバイス及び前記コンピュータが備える前記第二の通信デバイスを検知し、検知された通信デバイスのうち、対応するネットワークドライバが存在し、かつ、前記利用可否情報が利用可能であることを示す前記第二の通信デバイスによる通信を有効化する手順とを有することを特徴とする付記１４記載の可搬型デバイス。
【図面の簡単な説明】
【００５１】
【図１】システム環境をポータブルデバイスによって携帯する様子を示す図である。
【図２】ＰＣ５０１にポータブルデバイス４０１の環境がロードされた例を示す図である。
【図３】ＰＣ５０４にポータブルデバイス４０１の環境がロードされた例を示す図である。
【図４】本発明の実施の形態において利用される装置を説明するための図である。
【図５】ドライバ管理テーブルの構成例を示す図である。
【図６】携帯環境がＰＣにロードされた状態を示す図である。
【図７】本実施の形態における処理手順を説明するためのシーケンス図である。
【図８】本実施の形態における処理手順を説明するためのシーケンス図である。
【図９】通信デバイスＤが登録されたドライバ管理テーブルの例を示す図である。
【図１０】通信デバイスＺの利用フラグが１にされたドライバ管理テーブルの例を示す図である。
【図１１】ドライバＤが登録されたドライバ管理テーブルの例を示す図である。
【図１２】通信デバイスＺの利用フラグが０にされたドライバ管理テーブルの例を示す図である。
【図１３】ドライバＤがＰＣにロードされた状態を示す図である。
【符号の説明】
【００５２】
１０          ポータブルデバイス
１１          記録媒体
１２          ＵＳＢインタフェース
１３          ＵＳＢハブ
１５          通信デバイスＺ
２０          ＰＣ
２１          ＲＡＭ
２２          ＵＳＢインタフェース
２３          ＣＰＵ
２４          通信デバイスＤ
３０          サーバ
４１          ドライバＡ
４２          ドライバＢ
４３          ドライバＣ
４４          ドライバＤ
４５          ドライバＺ
４７          監視アプリ
４８          ＯＳ
Ｂ            バス
【図１】
0005040694.tif 000002
【図２】
0005040694.tif 000003
【図３】
0005040694.tif 000004
【図４】
0005040694.tif 000005
【図５】
0005040694.tif 000006
【図６】
0005040694.tif 000007
【図７】
0005040694.tif 000008
【図８】
0005040694.tif 000009
【図９】
0005040694.tif 000010
【図１０】
0005040694.tif 000011
【図１１】
0005040694.tif 000012
【図１２】
0005040694.tif 000013
【図１３】
0005040694.tif 000014