(57)【要約】【課題】外部装置に対して複数の機能を提供可能な多機能装置を提供すること、多機能装置の利便性を向上させること。【解決手段】ＵＳＢ多機能装置１０は、記憶部１６と無線通信部１７とを備えており、パーソナルコンピュータＰＣに対して記憶機能と無線通信機能とを提供することができる。これら機能は、スイッチ１４を操作することによって切り替えることができる。スイッチ１４が無線通信機能をオンする状態に切り替えられている場合には、切替部１５は記憶部１６および無線通信部１７に給電し、記憶部１６および無線通信部１７を動作させる。スイッチ１４が無線通信機能をオフする状態に切り替えられている場合には、切替部１５は記憶部１６のみに給電し、記憶部１６を動作させる。【選択図】図２
2012053648.tif 000002
【特許請求の範囲】
【請求項１】
外部装置に装着されて用いられる多機能装置であって、
前記外部装置に対して無線通信機能を提供するための無線通信実行部と、
前記外部装置に対して記憶機能を提供するための記憶部と、
前記記憶部のみを選択的に動作させることが可能な切り替え部と
を備える多機能装置。
【請求項２】
請求項１に記載の多機能装置はさらに、
前記記憶部のみを動作させるための物理的な外部スイッチを備え、
前記切り替え部は、前記外部スイッチの操作に応じて、前記記憶部のみを選択的に動作させる、多機能装置。
【請求項３】
請求項２に記載の多機能装置はさらに、
前記多機能装置が提供可能な複数の機能の内、前記外部装置に対して提供可能な機能を通知する提供機能通知部を備え、
前記提供機能通知部は、前記スイッチによって、前記外部装置に対して提供すべき機能として記憶部が選択されている際には、前記外部装置に対して、記憶部の機能を提供可能であることを通知する、
多機能装置。
【請求項４】
請求項１に記載の多機能装置はさらに、
前記外部装置に無線通信用のデバイスドライバがインストールされているか否かを判断する判断部を備え、
前記判断部は、前記無線通信用のデバイスドライバが前記外部装置にインストールされていると判断された場合には、前記切り替え部に対して、前記記憶部のみを選択的に動作させるよう要求し、
前記切り替え部は前記要求に応じて、前記記憶部のみを選択的に動作させる、
多機能装置。
【請求項５】
請求項４に記載の多機能装置はさらに、
前記多機能装置が提供可能な複数の機能の内、前記外部装置に対して提供可能な機能を通知する提供機能通知部を備え、
前記提供機能通知部は、前記判断部によって、前記無線通信用のデバイスドライバが前記外部装置にインストールされていると判断された場合には、前記外部装置に対して、前記記憶機能を提供可能であることを通知する、
多機能装置。
【請求項６】
請求項５に記載の多機能装置において、
前記判断部は、前記無線通信用のデバイスドライバが前記外部装置にインストールされていないと判断する場合には、前記切り替え部に対して、前記無線通信部および前記記憶部を動作させるよう要求し、
前記切り替え部は前記要求に応じて、前記無線通信部および前記記憶部を動作させ、
前記提供機能通知部は、前記判断部によって、前記無線通信用のデバイスのデバイスドライバが前記外部装置にインストールされていないと判断された場合には、前記外部装置に対して、前記無線通信機能および前記記憶機能を提供可能であることを通知する、
多機能装置。
【請求項７】
請求項５に記載の多機能装置において、
前記判断部はさらに、前記外部装置にインストールされている前記無線通信用のドライバが、前記無線通信実行部に対応するデバイスドライバであると判断する場合には、前記切り替え部に対して、前記無線通信部および前記記憶部を動作させるよう要求し、
前記切り替え部は前記要求に応じて、前記無線通信部および前記記憶部を動作させ、
前記提供機能通知部は、前記判断部によって、前記外部装置にインストールされている前記無線通信用のドライバが、前記無線通信実行部に対応するデバイスドライバであると判断された場合には、前記外部装置に対して、前記無線通信機能および前記記憶機能を提供可能であることを通知する、
多機能装置。
【請求項８】
請求項５に記載の多機能装置において、
前記判断部は、無線通信用のデバイスドライバが前記外部装置にインストールされているか否か判断できない場合には、前記切り替え部に対して、前記無線通信部および前記記憶部を動作させるよう要求し、
前記切り替え部は前記要求に応じて、前記無線通信部および前記記憶部を動作させ、
前記提供機能通知部は、前記判断部が、前記外部装置に無線通信用のデバイスドライバがインストールされているか否か判断できない場合には、前記外部装置に対して、前記無線通信機能および前記記憶機能を提供可能であることを通知する、
多機能装置。
【請求項９】
請求項１から請求項８のいずれか一の請求項に記載の多機能装置はさらに、
前記提供機能通知部による前記外部装置に対する前記通知に先立ち、前記外部装置から前記通知の実行の確認入力を受信する確認部を備え、
前記提供機能通知部は、前記確認部によって、前記通知の実行の確認入力が受信されると、前記外部装置に対する前記通知を実行する、
多機能装置。
【請求項１０】
請求項３および請求項５から請求項９のいずれか一の請求項に記載の多機能装置において、
前記提供機能通知部は、前記提供可能な機能の通知に加えて、前記提供可能な機能に対応するデバイスドライバを前記外部装置に対して送信する、多機能装置。
【請求項１１】
請求項１から請求項１０のいずれか一の請求項に記載の多機能装置はさらに、
前記無線通信部が動作された際に、前記記憶部情報のバックアップデータとしてのバックアップ情報を格納する外部サーバ装置に対して、前記記憶部に格納されている記憶部情報と前記バックアップ情報との間での同期処理の実行を要求する情報同期要求部を備える、多機能装置。
【請求項１２】
請求項１から請求項１１のいずれか一の請求項に記載の多機能装置において、
前記記憶部は、着脱可能な記憶媒体と、前記記憶媒体を装着するための装着部とを備える、
多機能装置。
【請求項１３】
外部装置に装着されて用いられる多機能装置であって、前記外部装置に対して無線通信機能を提供するための無線通信実行部と、前記外部装置に対して記憶機能を提供するための記憶部とを備える多機能装置の制御方法であって、
前記外部装置に前記無線通信実行部に対応する無線通信用のデバイスドライバがインストールされているか否かを判断し、
前記外部装置に前記無線通信実行部に対応するデバイスドライバがインストールされていないと判断した場合には、前記記憶部のみを選択的に動作させる、
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置、例えば、計算機に装着されることによって、外部装置に対して複数の機能を提供し得る多機能装置、および多機能装置の制御方法に関する。
【背景技術】
【０００２】
デジタルカメラにおいて撮像された画像データを格納すると共に、無線通信が可能な環境下においては、格納された画像データをデータサーバ等に送信する無線通信機能を有するメモリモジュールが知られている（例えば、特許文献１、２）。
【０００３】
また、計算機、例えば、パーソナルコンピュータに装着可能な外部ストレージとして、ユニバーサルシリアルバス（ＵＳＢ）規格に準拠した、いわゆる、ＵＳＢメモリが知られており、さらに、パーソナルコンピュータに装着可能な無線子機として、ＵＳＢ端子に接続可能なＵＳＢ無線子機も知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２３５８９１号公報
【特許文献２】特開２００１−１４３０３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＵＳＢメモリおよびＵＳＢ無線子機は、いずれもパーソナルコンピュータに対して単一機能を提供するに過ぎない。また、無線通信機能を有するメモリモジュールは、専らメモリとしてデジタルカメラに装着されて利用されることを前提としており、パーソナルコンピュータ等の計算機に対して付加的な複数の機能を提供するために用いられることは何ら考慮されていなかった。
【０００６】
本発明は上記課題の少なくとも一部を解決するためになされた発明であり、外部装置に対して複数の機能を提供可能な多機能装置を提供すること、多機能装置の利便性を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
上記課題の少なくとも一部を解決するために、本発明は以下の種々の態様を採る。
【０００８】
第１の態様は、外部装置に装着されて用いられる多機能装置を提供する。第１の態様に係る多機能装置は、前記外部装置に対して無線通信機能を提供するための無線通信実行部と、前記外部装置に対して記憶機能を提供するための記憶部と、前記記憶部のみを選択的に動作させることが可能な切り替え部とを備える。
【０００９】
第１の態様に係る多機能装置によれば、記憶部および無線通信実行部を備え、記憶部のみを選択的に動作させることが可能な構成を備えているので、外部装置に対して複数の機能を提供可能な多機能装置を提供することができると共に、多機能装置の利便性を向上させることができる。
【００１０】
第１の態様に係る多機能装置はさらに、前記記憶部のみを選択する有効にするための物理的な外部スイッチを備え、前記切り替え部は、前記外部スイッチの操作に応じて、前記記憶部のみを選択的に動作させても良い。この場合、外部スイッチの操作に応じて記憶部のみを選択的に動作させることができるので、多機能装置の利便性を向上させることができる。
【００１１】
第１の態様に係る多機能装置はさらに、前記多機能装置が提供可能な複数の機能の内、前記外部装置に対して提供可能な機能を通知する提供機能通知部を備え、前記提供機能通知部は、前記スイッチによって、前記外部装置に対して提供すべき機能として記憶部が選択されている際には、前記外部装置に対して、記憶部の機能を提供可能であることを通知しても良い。この場合、外部装置に対して、多機能装置が記憶部として機能することを通知することができる。
【００１２】
第１の態様に係る多機能装置はさらに、前記外部装置に無線通信用のデバイスドライバがインストールされているか否かを判断する判断部を備え、前記判断部は、前記外部装置に前記無線通信用のデバイスドライバがインストールされていると判断された場合には、前記切り替え部に対して、前記記憶部のみを選択的に動作させるよう要求し、前記切り替え部は前記要求に応じて、前記記憶部のみを選択的に動作させても良い。この場合、多機能装置は、外部装置に無線通信用のデバイスドライバがインストールされているか否かの判断に基づいて、記憶部のみを選択的に動作させることができる。
【００１３】
第１の態様に係る多機能装置はさらに、前記多機能装置が提供可能な複数の機能の内、前記外部装置に対して提供可能な機能を通知する提供機能通知部を備え、前記提供機能通知部は、前記判断部によって、前記無線通信用のデバイスドライバが前記外部装置にインストールされていると判断された場合には、前記外部装置に対して、前記記憶機能を提供可能であることを通知しても良い。この場合、多機能装置は、外部装置に無線通信用のデバイスドライバがインストールされているか否かの判断に基づいて、外部装置に対して、多機能装置が記憶部として機能することを通知することができる。
【００１４】
第１の態様に係る多機能装置において、前記判断部は、前記無線通信用のデバイスドライバが前記外部装置にインストールされていないと判断する場合には、前記切り替え部に対して、前記無線通信部および前記記憶部を動作させるよう要求し、前記切り替え部は前記要求に応じて前記無線通信部および前記記憶部を動作させ、前記提供機能通知部は、前記判断部によって、前記無線通信用のデバイスのデバイスドライバが前記外部装置にインストールされていないと判断された場合には、前記外部装置に対して、前記無線通信機能および前記記憶機能を提供可能であることを通知しても良い。この場合、多機能装置は、外部装置に無線通信用のデバイスドライバがインストールされているか否かの判断に基づいて、記憶部および無線通信機能を動作させることができると共に、外部装置に対して、多機能装置が記憶部および無線通信実行部として機能することを通知することができる。
【００１５】
第１の態様に係る多機能装置において、前記判断部はさらに、前記外部装置にインストールされている前記無線通信用のドライバが、前記無線通信実行部に対応するデバイスドライバであると判断する場合には、前記切り替え部に対して、前記無線通信部および前記記憶部を動作させるよう要求し、前記切り替え部は前記要求に応じて、前記無線通信部および前記記憶部を動作させ、前記提供機能通知部は、前記判断部によって、前記外部装置にインストールされている前記無線通信用のドライバが、前記無線通信実行部に対応するデバイスドライバであると判断された場合には、前記外部装置に対して、前記無線通信機能および前記記憶機能を提供可能であることを通知しても良い。この場合、多機能装置は、外部装置に無線通信用のデバイスドライバがインストールされている場合であっても、無線通信実行部に対応するデバイスドライバがインストールされている場合には、記憶部および無線通信機能を動作させることができると共に、外部装置に対して、多機能装置が記憶部および無線通信実行部として機能することを通知することができるので、多機能装置の使い勝手を向上させることができる。
【００１６】
第１の態様に係る多機能装置において、前記判断部は、無線通信用のデバイスドライバが前記外部装置にインストールされているか否か判断できない場合には、前記無線通信部および前記記憶部を動作させるよう要求し、前記切り替え部は前記要求に応じて前記無線通信部および前記記憶部を動作させ、前記提供機能通知部は、前記判断部が、無線通信用のデバイスドライバが前記外部装置にインストールされているか否か判断できない場合には、前記外部装置に対して、前記無線通信機能および前記記憶機能を提供可能であることを通知しても良い。この場合には、多機能装置によって提供可能な機能を全て提供することができるので、多機能装置の使い勝手を向上させることができる。
【００１７】
第１の態様に係る多機能装置はさらに、前記提供機能通知部による前記外部装置に対する前記通知に先立ち、前記外部装置から前記通知の実行の確認入力を受信する確認部を備え、前記提供機能通知部は、前記確認部によって、前記通知の実行の確認入力が受信されると、前記外部装置に対する前記通知を実行しても良い。この場合には、ユーザによる確認を間って、多機能装置が実行可能な機能を確定することができる。
【００１８】
第１の態様に係る多機能装置において、前記提供機能通知部は、前記提供可能な機能の通知に加えて、前記提供可能な機能に対応するデバイスドライバを前記外部装置に対して送信しても良い。この場合には、多機能装置を制御するために必要なデバイスドライバを、外部装置に対して提供することができる。
【００１９】
第１の態様に係る多機能装置はさらに、前記無線通信部が動作された際に、前記記憶部情報のバックアップデータとしてのバックアップ情報を格納する外部サーバ装置に対して、前記記憶部に格納されている記憶部情報と前記バックアップ情報との間での同期処理の実行を要求する情報同期要求部を備えても良い。この場合には、多機能装置に格納されてる情報と、外部サーバに格納されている情報とを一致させることができる。
【００２０】
第１の態様に係る多機能装置において、前記記憶部は、着脱可能な記憶媒体と、前記記憶媒体を装着するための装着部とを備えても良い。この場合には、着脱可能な記憶媒体を用いることができるので、ユーザの利便性を向上させることができる。
【００２１】
第２の態様は、外部装置に装着されて用いられる多機能装置であって、前記外部装置に対して無線通信機能を提供するための無線通信実行部と、前記外部装置に対して記憶機能を提供するための記憶部とを備える多機能装置の制御方法を提供する。第２の対応は、前記外部装置に前記無線通信実行部に対応する無線通信用のデバイスドライバがインストールされているか否かを判断し、前記外部装置に前記無線通信実行部に対応するデバイスドライバがインストールされていないと判断した場合には、前記記憶部のみを選択的に動作させることを備える。
【００２２】
第２の態様に係る多機能装置の制御方法は、第１の態様に係る多機能装置と同様の利点を得ることができる。第２の態様に係る多機能装置の制御方法は、第１の態様に係る多機能装置と同様にして種々の態様にて実現され得る。さらに、本発明の第２の態様に係る多機能装置の制御方法は、制御プログラム、当該制御プログラムを記録した、ＣＤ、ＤＶＤ、ＨＤＤといったコンピュータ読み取り可能媒体としても実現され得る。
【図面の簡単な説明】
【００２３】
【図１】各実施例に係る多機能装置を含むシステムの概略構成を示す説明図である。
【図２】第１の実施例に係る多機能装置の内部概略構成の一例を示す説明図である。
【図３】第１の実施例に係る多機能装置の制御部の内部概略構成の一例を示す説明図である。
【図４】第１の実施例に係る多機能装置に格納されているモジュール、テーブル、および情報の一例を示す説明図である。
【図５】第１の実施例において用いられるテーブルに格納されている内容の一例を示す説明図である。
【図６】第１の実施例に係る多機能装置のより詳細な内部構成の一例を示す説明図である。
【図７】第１の実施例に係る多機能装置によって実行される接続時処理ルーチンを示すフローチャートである。
【図８】第２の実施例に係る多機能装置の内部概略構成の一例を示す説明図である。
【図９】第２の実施例に係る多機能装置に格納されているモジュールおよび情報の一例を示す説明図である。
【図１０】第２の実施例に係る多機能装置によって実行される接続時処理ルーチンを示すフローチャートである。
【図１１】各実施例において、実行可能な通知の実行を問い合わせる表示画面の一例を示す説明図である。
【図１２】多機能装置の他の構成を示す説明図である。
【図１３】第２の実施例の他の態様に係る多機能装置によって実行される接続時処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００２４】
システムの構成：
図１は各実施例に係る多機能装置を含むシステムの概略構成を示す説明図である。本実施例に係る多機能装置を含むシステムは、以下の各実施例において共通して用いられるシステムであり、多機能装置１０、１０ａが装着される外部装置としてのパーソナルコンピュータＰＣ、無線アクセスポイント３０、ネットワークＮＥおよびサーバ３５を備えている。本実施例に係る多機能装置１０、１０ａは、無線子機としての無線通信機能と、大容量の記憶部としての記憶機能とを備える、ＵＳＢ（ユニバーサルシリアルバス）方式に準拠した接続端子を備えるＵＳＢ多機能装置１０、１０ａである。ＵＳＢ多機能装置１０、１０ａは、パーソナルコンピュータＰＣに接続されることによって、大容量の記憶機能と、無線通信機能とを、パーソナルコンピュータＰＣに対して提供することができる。
【００２５】
パーソナルコンピュータＰＣは、中央処理装置（ＣＰＵ）２１および大容量ストレージとしてのハードディスクドライブ（ＨＤＤ）２２を備える他、図示しない、ランダムアクセスメモリ、リードオンリメモリといった、揮発性および不揮発性の半導体記憶部、入出力インタフェースを備えている。パーソナルコンピュータＰＣには、表示装置２５および入力装置２６としてのキーボードおよびマウス（ポインティングデバイス）が接続されている。ＨＤＤ２２には、パーソナルコンピュータＰＣに装着されている外部デバイス、たとえば、表示装置２５、入力装置２６、ネットワークボード、グラフィックボード等を動作させるためのデバイスドライバがインストールされている。パーソナルコンピュータＰＣにおいて、外部デバイスのドライバは、ＣＰＵ２１によってＨＤＤ２２にインストールされる。また、パーソナルコンピュータＰＣのＣＰＵ２１は、ＵＳＢ多機能装置１０、１０ａがパーソナルコンピュータＰＣに接続されると、後述する、プラグアンドプレイ処理を実行する。
【００２６】
無線アクセスポイント３０は、ネットワークＮＥを介する経路Ｐ１によって、あるいは、ネットワークを介することのない直接の経路Ｐ２によってサーバ３５と接続されている。無線アクセスポイント３０は、無線子機端末として機能するＵＳＢ多機能装置１０の無線親機として機能し、ＵＳＢ多機能装置１０、１０ａから無線通信を介して受信したデータをサーバ３５へと送信し、あるいは、サーバ３５から無線通信を介して受信したデータをＵＳＢ多機能装置１０へと送信する無線中継装置である。無線アクセスポイント３０とサーバ３５とは、イーサネットケーブルを介し、例えば、ＴＣＰ／ＩＰプロトコルに従う有線接続または無線回線を介し、例えば、ＩＥＥＥ８０２．１１規格に準拠した無線接続のいずれによって接続されても良い。
【００２７】
サーバ３５は、図示しない中央処理装置および大容量ストレージとしてのハードディスクドライブ（ＨＤＤ）３５１を備える他、図示しない、ランダムアクセスメモリ、リードオンリメモリといった、揮発性および不揮発性の半導体記憶部、入出力インタフェースを備えている。サーバ３５には、ＵＳＢ多機能装置１０、１０ａに格納されているデータと、ＨＤＤ３５１に格納されているデータとの間で同期処理を実行するための同期処理実行機能（同期処理実行プログラム）が実装（インストール）されている。同期処理実行機能によれば、ＵＳＢ多機能装置１０に格納されているデータと、ＨＤＤ３５１に格納されている対応データのいずれが新しいか比較判定され、古いデータが新しいデータによって更新される。例えば、ＵＳＢ多機能装置１０に格納されているデータが新しいデータである場合には、ＨＤＤ３５１に格納されている対応データがＵＳＢ多機能装置１０、１０ａに格納されているデータによって更新される。更新の態様としては、古いデータを新しいデータで置き換える上書き、あるいは、古いデータと新しいデータの差分データを逐次蓄積する態様のどちらが実行されても良い。
【００２８】
第１の実施例：
第１の実施例に係るＵＳＢ多機能装置の構成：
図２は、第１の実施例に係る多機能装置の内部概略構成の一例を示す説明図である。図３は、第１の実施例に係る多機能装置の制御部の内部概略構成の一例を示す説明図である。図４は、第１の実施例に係る多機能装置に格納されているモジュール、テーブル、および情報の一例を示す説明図である。図５は、第１の実施例において用いられるテーブルに格納されている内容の一例を示す説明図である。第１の実施例に係るＵＳＢ多機能装置１０は、接続端子１１、ＵＳＢ入出力インタフェース（Ｉ／Ｆ）１２、制御部１３、スイッチ１４、切替部１５、記憶部１６および無線通信部１７を備えている。
【００２９】
接続端子１１は、ＵＳＢ規格に準拠した形状を有する端子であり、パーソナルコンピュータＰＣ等の装置が備えるＵＳＢのＡ端子（ソケット）に接続される、Ａ端子（プラグ）形状を有している。ＵＳＢ入出力インタフェース（ＵＳＢ  Ｉ／Ｆ）１２は、ＵＳＢ規格に基づく外部機器との通信方式（信号伝送方式）と、ＵＳＢ多機能装置１０内部で用いられる通信方式（信号伝送方式）との間で信号変換処理を実行する。
【００３０】
制御部１３は、ＵＳＢ多機能装置１０の各部を制御して、ＵＳＢ多機能装置１０が装着されたパーソナルコンピュータＰＣ等の外部装置に対して、所望の機能を提供すると共に、ＵＳＢ多機能装置１０の動作を制御する。制御部１３は、図３に示すように、中央処理装置（ＣＰＵ）１３１、リードオンリメモリ（ＲＯＭ）１３２、ランダムアクセスメモリ（ＲＡＭ）１３３および入出力インタフェース（Ｉ／Ｆ）１３４を備えている。ＣＰＵ１３１、ＲＯＭ１３２、ＲＡＭ１３３およびＩ／Ｆ１３４は、内部バス１３５によって相互に通信可能に接続されている。ＣＰＵ１３１はＲＯＭ１３２に格納されているプログラム、ソフトウェアモジュールをＲＡＭ１３３上に展開して、プログラム、ソフトウェアモジュールを実行する。ＲＡＭ１３３は、ＣＰＵ１３１の作業領域を提供する揮発性のメモリである。ＲＯＭ１３２は不揮発性のメモリであり、図４に示すように、ＣＰＵ１３１が実行する提供機能通知モジュールＭ１、情報同期要求モジュールＭ２、スイッチ１４のオン・オフと切替部１５の動作を対応付ける切替テーブルＴ１およびディスクリプタ情報ＤＩを格納している。Ｉ／Ｆ１３４は、ＵＳＢＩ／Ｆ１２および各モジュール（切替部等）と制御部１３の構成要素との信号のやりとりを仲介する。
【００３１】
提供機能通知モジュールＭ１は、ＣＰＵ１３１によって実行されることによって、パーソナルコンピュータＰＣに接続された際に、パーソナルコンピュータＰＣに対して、ＵＳＢ多機能装置１０が提供可能な機能を通知する、提供機能通知部として機能する。この通知は、いわゆる、ＵＳＢ規格においてプラグアンドプレイ機能を実現するために必要な通知であり、ＵＳＢデバイス（ＵＳＢ多機能装置１０）がＵＳＢホスト（例えば、パーソナルコンピュータＰＣ）に対して、一般的にデバイスディスクリプタと呼ばれる情報を通知することによって実行される。より具体的には、インタフェースディスクリプタと呼ばれる、ＵＳＢデバイスの特性（種別）を表す情報を送信することによって実行される。通常のＵＳＢデバイスは、単機能であれば、予め用意されているインタフェースディスクリプタは一つである。また、ＵＳＢデバイスが多機能であっても、機能を切り替えて提供することは行われていないので、提供機能によって通知すべきインタフェースディスクリプタは予め決められている。これに対して、本実施例に係るＵＳＢ多機能装置１０は、複数の機能を選択的に（切り替えて）提供することができるため、提供可能な機能に対応するインタフェースディスクリプタが選択的に通知される。この通知を受けて、パーソナルコンピュータＰＣでは、機能を実装するためのデバイスドライバの検索、インストールを実行することができる。なお、本実施例では、パーソナルコンピュータＰＣに対して機能を組み入れる操作を実装と呼び、パーソナルコンピュータＰＣに対して機能を実装するためのプログラムを組み入れる操作をインストールと呼ぶ。
【００３２】
本実施例における提供機能通知モジュールＭ１は、スイッチ１４の操作によって、ＵＳＢ多機能装置１０が記憶装置として機能すべき（記憶機能を提供すべき）とされている場合には、インタフェースディスクリプタとして、記憶装置（フラッシュメモリ）であることを示すインタフェースクラスコードをパーソナルコンピュータＰＣに対して通知する。一方、提供機能通知モジュールＭ１は、スイッチ１４の操作によって、ＵＳＢ多機能装置１０が無線通信装置および記憶装置として機能すべき（無線通信機能および記憶機能を提供すべき）とされている場合には、インタフェースディスクリプタとして、記憶装置および通信装置（無線通信端末）であることを示すインタフェースクラスコードをパーソナルコンピュータＰＣに対して通知する。
【００３３】
本実施例における提供機能通知モジュールＭ１はさらに、パーソナルコンピュータＰＣに対して、通知する機能に対応するデバイスドライバを送信しても良い。デバイスドライバは、例えば、記憶部１６に格納されている。
【００３４】
情報同期要求モジュールＭ２は、ＣＰＵ１３１によって実行されることによって、記憶部１６内のデータと同期すべきデータを格納している外部のサーバ３５（図１参照）を検索し、検索した外部サーバに対して、記憶部１６に格納されているデータと外部のサーバ３５のＨＤＤ３５１に格納されているデータとの同期処理を要求する。すなわち、情報同期要求モジュールＭ２は、ＣＰＵ１３１によって実行されることによって、情報同期要求部として機能する。外部のサーバ３５の検索は、例えば、予め同期処理を要求すべき外部サーバのＩＰアドレスを設定しておき、当該ＩＰアドレス宛てに同期処理要求を送信することにより実行され得る。当該ＩＰアドレスを有する外部のサーバ３５がネットワーク上に存在しない場合には、外部のサーバ３５からの応答が得られないこととなり、情報同期要求モジュールＭ２は、外部のサーバ３５を検索できないという結果を得る。一方、当該ＩＰアドレスを有する外部のサーバ３５がネットワーク上に存在する場合には、情報同期要求モジュールＭ２は、外部のサーバ３５からの応答、要求に応じて、記憶部１６内のデータを外部のサーバ３５に対して送信し（記憶部１６内のデータが新しい場合）、あるいは、外部のサーバ３５から受信したデータを記憶部１６に書き込む（記憶部１６内のデータが古い場合）。
【００３５】
ディスクリプタ情報ＤＩには、上述のように、ＵＳＢ多機能装置１０が提供する機能に対応するインタフェースディスクリプタが複数用意されている。インタフェースディスクリプタは、１つのコンフィグレーションディスクリプタ中にＵＳＢ多機能装置１０が提供可能な機能の組合せに応じた予め複数の組合せ（グループ）が用意されていても良く、あるいは、複数のコンフィグレーションディスクリプタに対してそれぞれ１つのインタフェースディスクリプタが用意され、パーソナルコンピュータＰＣに対して通知する際に、制御部１３によって適宜コンフィグレーションディスクリプタが組み合わされて通知されても良い。
【００３６】
切替テーブルＴ１は、図５に示すように、スイッチ１４のオン・オフ状態と、提供機能とを対応付けて格納する。図５の例では、スイッチ１４がオフされている場合には、メモリ機能のみがＯＮ（提供可能な状態）とされ、スイッチ１４がオンされている場合には、メモリ機能および無線通信機能がＯＮとされる。すなわち、図５の例では、スイッチ１４は無線通信機能のオン・オフスイッチであるということができる。
【００３７】
記憶部１６および無線通信部１７の詳細な構成およびＵＳＢ多機能装置における切替動作について図６を参照して説明する。図６は第１の実施例に係る多機能装置のより詳細な内部構成の一例を示す説明図である。第１の実施例に係るＵＳＢ多機能装置１０の記憶部１６は記憶モジュールとも呼ばれ、メモリコントローラ１６１および記憶素子１６２を備えている。メモリコントローラ１６１は、記憶素子１６２に対するデータの読み出しおよび書き込みを制御する回路であり、制御部１３から受信したデータを記憶素子１６２に書き込み、あるいは、制御部１３から要求されたデータを記憶素子１６２から読み出し、制御部１３に対して送信する。記憶素子１６２は、半導体記憶素子であり、例えば、フラッシュメモリが用いられる。
【００３８】
無線通信部１７は無線通信モジュールとも呼ばれ、通信コントローラ１７１および無線通信インタフェース（Ｉ／Ｆ）１７２を備えている。通信コントローラ１７１は、制御部１３からの要求に応じて、無線アクセスポイント３０（図１参照）と無線通信を実行するために、パケットデータを無線通信によって送受信するための信号処理を実行する信号処理部である。無線通信インタフェース１７２は、無線アクセスポイント３０に対して無線信号を送信するための送信回路、無線アクセスポイント３０からの無線信号を受信するための受信回路、アンテナ１７３等を備えるＲＦ回路である。無線通信の方式は、例えば、ＩＥＥＥ８０２．１１に準拠した無線通信方式が採用される。
【００３９】
ＵＳＢ多機能装置１０と、ホストであるパーソナルコンピュータＰＣとは、ＵＳＢＩ／Ｆ１２とパーソナルコンピュータＰＣ側のＵＳＢインタフェースとを介して接続される。ＵＳＢ多機能装置１０は、データ信号線ＤＬを介してパーソナルコンピュータＰＣとの間でデータ信号をやりとりする。また、ＵＳＢ多機能装置１０に対しては電力供給線ＰＬを介してパーソナルコンピュータＰＣから電力が供給される。
【００４０】
スイッチ１４は、ユーザによって物理的にオン・オフ操作が可能な外部スイッチであり、本実施例では無線通信機能をオンするか、オフするかを切り替えるために用いられる。切替部１５は、スイッチ１４のオン・オフ状態に応じて入力される制御信号に応じて、記憶部１６および無線通信部１７に対する電力の通電・遮断を切り替える論路的なスイッチング回路である。切替部１５は、記憶部１６および無線通信部１７（各機能モジュール）に対する電力供給を遮断（オフ）することで、記憶部１６および無線通信部１７を動作しない状態に切り替え、記憶部１６および無線通信部１７に対する電力供給を行う（オン）ことで、記憶部１６および無線通信部１７を動作する状態に切り替える。すなわち、本実施例では、電力供給の有無によって、各機能モジュールを動作させ（有効とし）、あるいは動作させない（無効とする）状態に切り替える。
【００４１】
第１の実施例に係るＵＳＢ多機能装置の動作
図７は、第１の実施例に係る多機能装置によって実行される接続時処理ルーチンを示すフローチャートである。本処理ルーチンは、ＵＳＢ多機能装置１０がパーソナルコンピュータＰＣに装着されるとＵＳＢ多機能装置１０において実行開始される。制御部１３のＣＰＵ１３１は、無線機能がオンされているか否か（有効とされているか否か）を判定する（ステップＳ１００）。具体的には、ＣＰＵ１３１および切替部１５は、スイッチ１４が無線機能オンの状態に切り替えられているか否かについて、無線通信オンを示す制御信号が入力されているか否かを判定する。
【００４２】
無線機能がオンされていないと判定する場合（ステップＳ１００：Ｎｏ）、切替部１５は記憶部１６をオンし（ステップＳ１０２）、ＣＰＵ１３１は提供機能通知モジュールＭ１を実行して記憶機能を提供可能である旨、パーソナルコンピュータＰＣに通知する（ステップＳ１０４）。具体的には、切替部１５は、切替テーブルＴ１に基づいて、記憶部１６のみに給電を行い、記憶部１６を動作可能にする。ＣＰＵ１３１は、パーソナルコンピュータＰＣに対して、提供可能な機能が記憶機能であることを示す、インタフェースディスクリプタを送信する。この結果、パーソナルコンピュータＰＣにおいては、ＵＳＢ多機能装置１０は、例えば、マスストレージデバイスであると認識され、プラグアンドプレイ機能によって、無線通信用のドライバが自動的にインストールされることはない。この結果、パーソナルコンピュータＰＣの構成（configulation）が意図しない構成に変更されることはない。
【００４３】
提供機能通知モジュールＭ１による提供可能な機能の通知は、プラグアンドプレイ処理を実行するＵＳＢホストであるパーソナルコンピュータＰＣからの要求をトリガとして実行される。以下に、一般的なプラグアンドプレイの簡単な手順を説明する。パーソナルコンピュータＰＣは、ＵＳＢ多機能装置１０の装着を検出すると、所定時間待機の後、Reset要求をＵＳＢ多機能装置１０に対して送信する。所定時間の待機は、パーソナルコンピュータＰＣからＵＳＢ多機能装置１０に対して電力が供給される期間を待機するために実行される。
【００４４】
Reset要求を受信したＵＳＢ多機能装置１０は、アドレス（０）と論理的な通信経路であるパイプ（０）を用いたコントロール転送を受信可能なデフォルト状態にリセットされる。パーソナルコンピュータＰＣは、Reset要求の送信後に、ＵＳＢ多機能装置１０に対して、デバイスディスクリプタの送信要求（Get_Descriptor (device)）を送信し、ＵＳＢ多機能装置１０はパーソナルコンピュータＰＣに対して標準デバイスディスクリプタを返信する。この送信処理が再度行われた後、パーソナルコンピュータＰＣはＵＳＢ多機能装置１０に対して、新たなアドレスの設定要求（Set_Address）を送信し、ＵＳＢ多機能装置１０は新たなアドレスを設定し、新たなアドレスを用いた通信が可能な状態となる。
【００４５】
パーソナルコンピュータＰＣは、ＵＳＢ多機能装置１０に対して、詳細なデバイスディスクリプタの送信要求（Get_Descriptor (configuration)）を送信し、ＵＳＢ多機能装置１０はパーソナルコンピュータＰＣに対してインタフェースディスクリプタを含むデバイスディスクリプタを返信する。本実施例では、インタフェースディスクリプタとして、スイッチ１４によって選択された機能に従うインタフェースディスクリプタがパーソナルコンピュータＰＣに対して返信される。すなわち、本実施例では、提供可能な機能に応じてインタフェースディスクリプタは適宜変更される。パーソナルコンピュータＰＣは、受信したインタフェースディスクリプタに含まれているインタフェースクラスコードに基づいて、必要なドライバを検索し、未インストールの場合にはドライバのインストール処理を実行する。必要なドライバがインストール済みの場合には、インストール済みのドライバが機能される。このように、インタフェースディスクリプタに含まれるインタフェースクラスコードを提供機能と一致させることによって、パーソナルコンピュータＰＣによる未インストールドライバの実行の有無を制御することができる。したがって、不要なドライバのインストールを回避させることができる。
【００４６】
インタフェースディスクリプタを含むデバイスディスクリプタを受信したパーソナルコンピュータＰＣは、ＵＳＢ多機能装置１０に対して、受信したデバイスディスクリプタの内容での動作設定を指示するSet_Configurationを送信する。Set_Configurationを受信したＵＳＢ多機能装置１０は、送信したデバイスディスクリプタの内容で動作するよう設定を完了する。その後、パーソナルコンピュータＰＣとＵＳＢ多機能装置１０との間でデータ通信が開始される。パーソナルコンピュータＰＣは、設定を指示した装置動作を提供する外部装置としてＵＳＢ多機能装置１０を認識する。
【００４７】
ＣＰＵ１３１は、提供機能通知モジュールＭ１を実行して、パーソナルコンピュータＰＣに対して、記憶部１６用のデバイスドライバを送信して本処理ルーチンを終了する（ステップＳ１０６）。具体的には、ＣＰＵ１３１は、記憶部１６に格納されているドライバを取得し、ＵＳＢＩ／Ｆ１２を介してパーソナルコンピュータＰＣに送信する。なお、マスストレージデバイス用の汎用ドライバは、予めパーソナルコンピュータＰＣに組み込まれていることが多いので、ステップＳ１０６の処理は、パーソナルコンピュータＰＣからドライバの送信要求を受けた場合に実行されても良く、あるいは、実行されなくても良い。
【００４８】
ステップＳ１００において、無線機能がオンされていると判定された場合（ステップＳ１００：Ｙｅｓ）、切替部１５は記憶部１６および無線通信部１７の双方をオンし（ステップＳ１０８）、ＣＰＵ１３１は提供機能通知モジュールＭ１を実行して記憶機能および無線通信機能の双方を提供可能である旨、パーソナルコンピュータＰＣに通知する（ステップＳ１１０）。具体的には、切替部１５は、切替テーブルＴ１に基づいて、記憶部１６および無線通信部１７の双方に給電を行い、記憶部１６および無線通信部１７の双方を動作可能にする。ＣＰＵ１３１は、パーソナルコンピュータＰＣに対して、提供可能な機能が記憶機能および無線通信機能であることを示す、インタフェースディスクリプタを送信する。この結果、パーソナルコンピュータＰＣにおいては、ＵＳＢ多機能装置１０は、例えば、マスストレージデバイスおよびコミュニケーションデバイスであると認識され、プラグアンドプレイ機能によって、必要に応じて、記憶用および無線通信用のドライバが自動的にインストールされる。
【００４９】
ＣＰＵ１３１は、提供機能通知モジュールＭ１を実行して、パーソナルコンピュータＰＣに対して、記憶部１６用および無線通信部１７用のデバイスドライバを送信する（ステップＳ１１２）。具体的には、ＣＰＵ１３１は、記憶部１６に格納されている記憶部用および無線通信部用ドライバを取得し、ＵＳＢＩ／Ｆ１２を介してパーソナルコンピュータＰＣに送信する。なお、ステップＳ１１２の処理は、パーソナルコンピュータＰＣからドライバの送信要求を受けた場合に実行されても良く、あるいは、実行されなくても良い。実行されない場合には、別のタイミングにおいて、ユーザ操作をトリガとして起動されるインストールプログラムの要求に応じて、記憶部１６および無線通信部１７のドライバがパーソナルコンピュータＰＣに送信されれば良い。ドライバを受信したパーソナルコンピュータＰＣにおいては、例えば、インストールプログラムが自動的に起動し、受信したドライバのインストール処理が実行され、記憶部１６および無線通信部１７はそれぞれ、外部デバイスとしてパーソナルコンピュータＰＣから利用可能となる。
【００５０】
ＣＰＵ１３１は、情報同期要求モジュールＭ２を実行して、無線通信部１７を介してネットワークに接続し（ステップＳ１１４）、同期の対象となる外部のサーバ３５（以下、同期対象サーバとも言う：図１参照）を検索する（ステップＳ１１６）。具体的には、ＵＳＢ多機能装置１０は、無線通信部１７によって無線アクセスポイント３０に接続し、予め設定されている同期対象サーバのＩＰアドレス宛てに同期処理要求を送信する。
【００５１】
ＣＰＵ１３１は、同期対象サーバ３５から応答を受信すると（ステップＳ１１６）、同期対象サーバ３５からの応答に応じて同期対象サーバとの同期処理を実行し（ステップＳ１１８）、本処理ルーチンを終了する。ＣＰＵ１３１によって実行される同期処理は、例えば、同期対象サーバ３５からの要求に応じて、記憶部１６内の同期すべきデータを同期対象サーバに送ること、同期対象サーバ３５における、同期対象サーバ３５のＨＤＤ３５１に格納されている同期対象データと、受信データとの比較結果に基づき、記憶部１６内の同期すべきデータを、同期対象サーバ３５から受信した更新用データによって更新することを含む。なお、記憶部１６内の同期すべきデータがＨＤＤ３５１内の同期対象データよりも新しいデータである場合には、ＵＳＢ多機能装置１０において、記憶部１６内の同期すべきデータの更新処理が実行されない。
【００５２】
ステップＳ１１６において、ＣＰＵ１３１は同期対象サーバ３５からの応答を所定時間内に受信することができない場合には（ステップＳ１１６：Ｎｏ）、予め定められた回数、同期対象サーバのＩＰアドレス宛ての同期処理要求の送信および同期対象サーバ３５からの応答の待機を繰り返し、予め定められた回数を超えた時点で本処理ルーチンを終了する。通信環境に起因する同期処理要求の不達を考慮すると共に、同期対象サーバ３５のネットワークからの切り離し、同期対象サーバ３５の電源オフに対応するためである。
【００５３】
第１の実施例に係るＵＳＢ多機能装置１０によれば、スイッチ１４の操作によって、ＵＳＢ多機能装置１０を記憶装置としてのみ機能させることができる。したがって、既に、パーソナルコンピュータＰＣに無線通信用のドライバがインストールされている場合、パーソナルコンピュータＰＣが無線ネットワークに接続できない環境下にある場合、といったように、ＵＳＢ多機能装置１０を記憶装置としてのみ機能させたいというユーザのニーズに応じることができる。前者の場合には、望まないドライバがインストールされ、パーソナルコンピュータＰＣの実行環境が変化するという問題を防止することが可能となり、後者の場合には、利用できない無線通信機能のためのドライバの不要なインストール処理を回避することができる。したがって、ＵＳＢ多機能装置１０によれば、多機能装置が抱える問題点を解決し、多機能装置の利便性を向上させることができる。
【００５４】
第１の実施例に係るＵＳＢ多機能装置１０によれば、無線通信機能を提供する場合、ＵＳＢ多機能装置１０によって自動的に、同期対象サーバ３５に対して、データの同期処理の開始が要求される。したがって、同期対象サーバ３５に格納されているデータが最新のデータである場合には、ＵＳＢ多機能装置１０に格納されているデータが最新のデータに更新され、ＵＳＢ多機能装置１０に格納されているデータが最新のデータである場合には、同期対象サーバ３５に格納されているデータが最新のデータに更新される。したがって、ユーザは、特別な操作を実行することなく、常にＵＳＢ多機能装置１０および同期対象サーバ３５に格納されているデータを最新のデータとすることができる。
【００５５】
ＵＳＢ多機能装置１０は、記憶機能と無線通信機能との複数の機能を提供することができるので、１つのＵＳＢポートを介して複数の機能を提供することが可能となり、ポートリソースの逼迫を低減することができる。
【００５６】
第２の実施例：
第２の実施例に係るＵＳＢ多機能装置の構成：
図８は第２の実施例に係る多機能装置の内部概略構成の一例を示す説明図である。図９は第２の実施例に係る多機能装置に格納されているモジュールおよび情報の一例を示す説明図である。第２の実施例に係るＵＳＢ多機能装置１０ａは、物理的なスイッチ１４を備えず、接続先であるパーソナルコンピュータＰＣの状態に応じて、制御部１３によって、ソフトウェア的に提供機能を切り替える点に特徴を備えている。但し、第２の実施例に係るＵＳＢ多機能装置１０ａの構成の中には、第１の実施例に係るＵＳＢ多機能装置１０の構成と同様の構成も含まれているので、そのような構成、要素については、第１の実施例に係るＵＳＢ多機能装置１０において用いた符号と同一の符号を付すことで、説明を省略する。
【００５７】
ＵＳＢ多機能装置１０ａは、接続端子１１、ＵＳＢ入出力インタフェース（Ｉ／Ｆ）１２、制御部１３ａ、切替部１５ａ、記憶部１６および無線通信部１７を備えている。
【００５８】
制御部１３ａは、ＵＳＢ多機能装置１０ａの各部を制御して、ＵＳＢ多機能装置１０ａが装着されたパーソナルコンピュータＰＣ等の外部装置に対して、所望の機能を提供すると共に、ＵＳＢ多機能装置１０ａの動作を制御する。制御部１３ａは、第１の実施例に係るＵＳＢ多機能装置１０が備える制御部１３と同様に、中央処理装置（ＣＰＵ）１３１、リードオンリメモリ（ＲＯＭ）１３２ａ、ランダムアクセスメモリ（ＲＡＭ）１３３および入出力インタフェース（Ｉ／Ｆ）１３４を備えている。ＣＰＵ１３１、ＲＯＭ１３２ａ、ＲＡＭ１３３およびＩ／Ｆ１３４は、内部バス１３５によって相互に通信可能に接続されている。ＣＰＵ１３１はＲＯＭ１３２ａに格納されているプログラム、ソフトウェアモジュールをＲＡＭ１３３上に展開して、プログラム、ソフトウェアモジュールを実行する。ＲＡＭ１３３は、ＣＰＵ１３１の作業領域を提供する揮発性のメモリである。ＲＯＭ１３２ａは不揮発性のメモリであり、図９に示すように、ＣＰＵ１３１が実行する提供機能通知モジュールＭ１、情報同期要求モジュールＭ２、判断モジュールＭ３、およびディスクリプタ情報ＤＩを格納している。Ｉ／Ｆ１３４は、ＵＳＢＩ／Ｆ１２および各モジュール（切替部等）と制御部１３の構成要素との信号のやりとりを仲介する。
【００５９】
判断モジュールＭ３は、ＣＰＵ１３１によって実行されることによって、外部装置であるパーソナルコンピュータＰＣに無線通信用のドライバがインストールされているか否か、さらには、ＵＳＢ多機能装置１０ａに備えられている無線通信部１７用のドライバがインストールされているか否かを判断する、判断部として機能する。パーソナルコンピュータＰＣにおけるドライバのインストール状況は、判断モジュールＭ３が、例えば、オペレーティングシステムが提供するデバイスマネージャに問い合わせることによって取得することができる。
【００６０】
判断モジュールＭ３はさらに、パーソナルコンピュータＰＣに無線通信用のドライバがインストールされていると判断する場合には、切替部１５ａに対して、記憶部１６のみを動作させる切り替え信号を送信し、パーソナルコンピュータＰＣに無線通信用のドライバがインストールされてないと判断する場合には、切替部１５ａに対して、記憶部１６および無線通信部１７の双方を動作させる切り替え信号を送信する。判断モジュールＭ３はさらに、パーソナルコンピュータＰＣにＵＳＢ多機能装置１０ａの無線通信部１７用の無線通信用のドライバがインストールされているが否かを判断し、ＵＳＢ多機能装置１０ａの無線通信部１７用の無線通信用のドライバがインストールされていると判断する場合には、切替部１５ａに対して、記憶部１６および無線通信部１７の双方を動作させる切り替え信号を送信しても良い。この場合には、パーソナルコンピュータＰＣにインストールされている無線通信用のドライバは、ＵＳＢ多機能装置１０ａ用のドライバであり、新たなドライバがインストールされることはなく、パーソナルコンピュータＰＣの設定環境を変更することなく、無線通信機能を利用することが可能である。また、ＵＳＢ多機能装置１０ａのユーザに対して、無線通信機能を提供しない場合には使い勝手が低下してしまう。
【００６１】
判断モジュールＭ３は、パーソナルコンピュータＰＣに無線通信用のドライバがインストールされているか否か判断することができない場合には、切替部１５ａに対して、記憶部１６および無線通信部１７の双方を動作させる切り替え信号を送信しても良い。ＵＳＢ多機能装置１０ａが提供可能な全ての機能を提供することにより、ユーザの利便性を向上させることができると共に、ユーザによって、不要な無線通信用ドライバのインストールを停止することは可能だからである。
【００６２】
切替部１５ａは、上述のように、判断モジュールＭ３を実行する制御部１３ａ（ＣＰＵ１３１）からの要求に応じて、記憶部１６のみ、または記憶部１６および無線通信部１７の双方を動作させるために記憶部１６のみ、または記憶部１６および無線通信部１７に対して給電する。
【００６３】
第２の実施例に係るＵＳＢ多機能装置１０ａでは、提供機能通知モジュールＭ１は、判断モジュールＭ３の判断結果に応じて、パーソナルコンピュータＰＣに接続された際に、パーソナルコンピュータＰＣに対して提供可能な機能を通知する。すなわち、提供機能通知モジュールＭ１は、判断モジュールＭ３によって、パーソナルコンピュータＰＣに無線通信用のドライバがインストールされていると判断された場合には、パーソナルコンピュータＰＣに対して、記憶機能のみを提供可能である旨通知する。提供機能通知モジュールＭ１は、判断モジュールＭ３によって、パーソナルコンピュータＰＣに無線通信用のドライバがインストールされていると判断された場合であっても、ＵＳＢ多機能装置１０ａに対応する無線通信用ドライバがインストールされていると判断された場合には、パーソナルコンピュータＰＣに対して、記憶機能および無線通信機能の双方を提供可能である旨通知しても良い。提供機能通知モジュールＭ１は、判断モジュールＭ３によって、パーソナルコンピュータＰＣに無線通信用のドライバがインストールされていないと判断された場合には、パーソナルコンピュータＰＣに対して、記憶機能および無線通信機能の双方を提供可能である旨通知する。
【００６４】
提供機能通知モジュールＭ１は、判断モジュールＭ３によって、パーソナルコンピュータＰＣに無線通信用のドライバがインストールされているか否か判断できない場合には、パーソナルコンピュータＰＣに対して、記憶機能および無線通信機能の双方を提供可能である旨通知しても良い。
【００６５】
ＲＯＭ１３２ａに格納されているディスクリプタ情報ＤＩについては、第１の実施例に係るＵＳＢ多機能装置１０について説明した通りである。
【００６６】
第２の実施例に係るＵＳＢ多機能装置の動作
図１０は、第２の実施例に係る多機能装置によって実行される接続時処理ルーチンを示すフローチャートである。第２の実施例に係るＵＳＢ多機能装置１０ａによって実行される本処理ルーチンは、物理的なスイッチ１４の切り替え操作によらず、ＵＳＢ多機能装置１０ａによって、記憶機能、記憶機能および無線機能のいずれを提供すべきか判断される点に特徴を有する。なお、本処理ルーチンにおけるステップのうち、第１の実施例に係るＵＳＢ多機能装置１０によって実行される処理ルーチンにおけるステップと同様の処理については、簡単に説明するに止める。
【００６７】
本処理ルーチンは、ＵＳＢ多機能装置１０ａがパーソナルコンピュータＰＣに装着されるとＵＳＢ多機能装置１０ａにおいて実行開始される。ＵＳＢ多機能装置１０ａがパーソナルコンピュータＰＣに装着されると、上述したＵＳＢ規格に準じたデバイスを認識させる手順を完了するために、ＵＳＢ多機能装置１０ａは、パーソナルコンピュータＰＣに対してマスストレージクラスのデバイスである旨を通知する。ただし、この時点でＵＳＢ多機能装置１０ａは、ＲＯＭ１３２ａに格納されているプラグアンドプレイを実行するためのプログラムを実行しているに過ぎないので、記憶部１６および無線通信部１７は未だ動作可能な状態とされていない。パーソナルコンピュータＰＣに汎用のマスストレージドライバがインストールされていない場合には、ＵＳＢ多機能装置１０ａとパーソナルコンピュータＰＣとの間でプラグアンドプレイによるデバイス実装処理が実行される。一方、パーソナルコンピュータＰＣに汎用マスストレージドライバがインストールされている場合には、新たなドライバはインストールされない。ＵＳＢ多機能装置１０ａとパーソナルコンピュータＰＣとの間で通信可能な状態になった後、制御部１３ａのＣＰＵ１３１は、判断モジュールＭ３を実行して、パーソナルコンピュータＰＣに実装済みの機能（インストール済みのドライバ）に関する情報を、パーソナルコンピュータＰＣのデバイスマネージャから取得する（ステップＳ２００）。具体的には、パーソナルコンピュータＰＣとのデータの授受が可能となった時点、すなわち、論理的な通信が可能となった時点で、周知の自動起動プラグラムによって、判断モジュールＭ３を起動させることによって、実現され得る。
【００６８】
ＣＰＵ１３１は、受け取った実装済み機能の情報に基づいて、パーソナルコンピュータＰＣに無線通信機能が実装されているか、すなわち、無線通信用ドライバがインストールされているか否かを判定する（ステップＳ２０２）。ＣＰＵ１３１は、パーソナルコンピュータＰＣに無線機能が実装されていないと判定した場合には（ステップＳ２０２：Ｎｏ）、ステップＳ２１２に移行する。一方、ＣＰＵ１３１は、パーソナルコンピュータＰＣに無線機能が実装されていると判定した場合には（ステップＳ２０２：Ｙｅｓ）、実装されている無線機能は、ＵＳＢ多機能装置１０ａによって提供される機能、すなわち、ＵＳＢ多機能装置１０ａのドライバがインストールされているか否かを判定する（ステップＳ２０４）。ＣＰＵ１３１は、実装されている無線機能が、ＵＳＢ多機能装置１０ａによって提供される機能であると判定した場合には（ステップＳ２０４：Ｙｅｓ）、ステップＳ２１２に移行する。ステップＳ２１２〜ステップＳ２１６は、ＵＳＢ多機能装置１０ａを記憶部および無線通信部として機能させるための処理であり、ＵＳＢ多機能装置１０ａに無線通信用のドライバがインストールされていない場合には、無線通信用のドライバがインストールされても、パーソナルコンピュータＰＣにおける既存の無線通信環境が変更されることはなく、無線通信用のドライバがインストールされている場合であっても、ＵＳＢ多機能装置１０ａに対応する無線通信用のドライバがインストールされている場合には、却って、無線通信部として機能させることによってユーザの利便性を向上させることができる。
【００６９】
ＣＰＵ１３１は、実装されている無線機能が、ＵＳＢ多機能装置１０ａによって提供される無線機能でないと判定した場合には（ステップＳ２０４：Ｎｏ）、ステップＳ２０６〜ステップＳ２１０を実行する。なお、ステップＳ２０６〜ステップＳ２１０は、第１の実施例に係るＵＳＢ多機能装置１０ａに関して説明した図９のステップＳ１０２〜Ｓ１１６に対応するステップであるから、相違点を中心に簡単に説明する。ＣＰＵ１３１によって実行されている判断モジュールＭ３は、切替部１５ａに対して記憶部１６をオンするよう要求し、切替部１５ａは要求に応じて記憶部１６をオンする（ステップＳ２０６）。ＣＰＵ１３１は提供機能通知モジュールＭ１を実行して記憶機能を提供可能である旨、パーソナルコンピュータＰＣに通知する（ステップＳ１０４）。具体的には、切替部１５ａは、要求に応じて記憶部１６のみに給電を行い、記憶部１６を動作可能にする。ＣＰＵ１３１によって実行されている提供機能通知モジュールＭ１は、判断モジュールＭ３の判断結果（ステップＳ２０２：Ｙｅｓ、ステップＳ２０４：Ｎｏ）を受けて、パーソナルコンピュータＰＣに対して、提供可能な機能が記憶機能であることを示す、インタフェースディスクリプタを送信する。この結果、パーソナルコンピュータＰＣにおいては、ＵＳＢ多機能装置１０ａは、例えば、マスストレージデバイスであると認識され、プラグアンドプレイ機能によって、無線通信用のドライバが自動的にインストールされることはない。この結果、パーソナルコンピュータＰＣの構成（configulation）が意図しない構成に変更されることはない。
【００７０】
なお、提供機能通知モジュールＭ１による提供可能な機能の通知は、プラグアンドプレイ処理を実行するＵＳＢホストであるパーソナルコンピュータＰＣからの要求をトリガとして実行され、詳細な実行手順は既述の通りである。
【００７１】
ＣＰＵ１３１は、提供機能通知モジュールＭ１を実行して、パーソナルコンピュータＰＣに対して、記憶部１６用のデバイスドライバを送信して本処理ルーチンを終了する（ステップＳ２１０）。なお、マスストレージデバイス用の汎用ドライバは、予めパーソナルコンピュータＰＣに組み込まれていることが多いので、ステップＳ２１０の処理は、パーソナルコンピュータＰＣからドライバの送信要求を受けた場合に実行されても良く、あるいは、実行されなくても良い。
【００７２】
以下、ステップＳ２１２〜ステップＳ２１６について説明するが、これらのステップは、第１の実施例に係るＵＳＢ多機能装置１０ａに関して説明した図９のステップＳ１０８〜Ｓ１１２に対応するステップであるから、相違点を中心に説明し、詳細な説明は省略する。ステップＳ２１２において、ＣＰＵ１３１によって実行されている判断モジュールＭ３は、切替部１５ａに対して記憶部１６および無線通信部１７の双方をオンするよう要求し、切替部１５ａは記憶部１６および無線通信部１７の双方をオンする（ステップＳ２１２）。ＣＰＵ１３１は提供機能通知モジュールＭ１を実行して記憶機能および無線通信機能の双方を提供可能である旨、パーソナルコンピュータＰＣに通知する（ステップＳ２１４）。具体的には、切替部１５ａは、要求に応じて、記憶部１６および無線通信部１７の双方に給電を行い、記憶部１６および無線通信部１７の双方を動作可能にする。ＣＰＵ１３１によって実行されている提供機能通知モジュールＭ１は、判断モジュールＭ３の判断結果（ステップＳ２０２：Ｎｏ、ステップＳ２０４：Ｙｅｓ）を受けて、パーソナルコンピュータＰＣに対して、提供可能な機能が記憶機能および無線通信機能であることを示す、インタフェースディスクリプタを送信する。この結果、パーソナルコンピュータＰＣにおいては、ＵＳＢ多機能装置１０ａは、例えば、マスストレージデバイスおよびコミュニケーションデバイスであると認識され、プラグアンドプレイ機能によって、必要に応じて、記憶用および無線通信用のドライバが自動的にインストールされる。
【００７３】
ＣＰＵ１３１は、提供機能通知モジュールＭ１を実行して、パーソナルコンピュータＰＣに対して、記憶部１６用および無線通信部１７用のデバイスドライバを送信する（ステップＳ２１６）。なお、ステップＳ２１６の処理は、パーソナルコンピュータＰＣからドライバの送信要求を受けた場合に実行されても良く、あるいは、実行されなくても良い。実行されない場合には、別のタイミングにおいて、ユーザ操作をトリガとして起動されるインストールプログラムの要求に応じて、記憶部１６および無線通信部１７のドライバがパーソナルコンピュータＰＣに送信されれば良い。ドライバを受信したパーソナルコンピュータＰＣにおいては、例えば、インストールプログラムが自動的に起動し、受信したドライバのインストール処理が実行され、記憶部１６および無線通信部１７はそれぞれ、外部デバイスとしてパーソナルコンピュータＰＣから利用可能となる。
【００７４】
ＣＰＵ１３１は、以降、ステップＳ２１８〜Ｓ２２２の情報同期処理を実行し、本処理ルーチンを終了する。なお、第１の実施例に係るＵＳＢ多機能装置１０ａに関して説明した図９のステップＳ１１４〜Ｓ１１８に対応するステップであるから、説明を省略する。
【００７５】
第２の実施例に係るＵＳＢ多機能装置１０ａによれば、ユーザによるスイッチ１４の操作を伴うことなく、ＵＳＢ多機能装置１０ａによって、ＵＳＢ多機能装置１０ａを記憶装置としてのみ機能させるべきか、あるいは、記憶装置および無線通信装置として機能させるべきかを決定することができる。したがって、ＵＳＢ多機能装置１０ａをパーソナルコンピュータＰＣに接続するだけで、既に、パーソナルコンピュータＰＣに無線通信用のドライバがインストールされている場合に、重ねて異なる無線通信用ドライバがインストールされる事態を回避することが可能となり、パーソナルコンピュータＰＣの実行環境が変化するという問題を防止することが可能となる。また、パーソナルコンピュータＰＣに無線通信用のドライバがインストールされている場合であっても、ＵＳＢ多機能装置１０ａが備える無線通信部１７用のドライバがインストールされている場合には、ＵＳＢ多機能装置１０ａを記憶装置としてのみならず、無線通信装置としても使用することが可能となり、ＵＳＢ多機能装置１０ａの機能を有効に活用することが可能となり、ユーザの利便性を向上させることができる。したがって、ＵＳＢ多機能装置１０ａによれば、多機能装置が抱える問題点を解決し、多機能装置の利便性を向上させることができる。
【００７６】
第２の実施例に係るＵＳＢ多機能装置１０ａによれば、第１の実施例に係るＵＳＢ多機能装置１０によって得られる他の効果を得ることができる。
【００７７】
その他の実施例：
（１）上記第１の実施例では、スイッチ１４は、記憶機能、記憶機能および無線通信機能の２実施例の間でＵＳＢ多機能装置１０が提供可能な機能を切り替えているが、更に、無線通信機能のみを提供可能な機能として切り替え可能なスイッチであっても良い。すなわち、ＵＳＢ多機能装置１０を無線通信装置としてのみ使用可能であるよう選択可能なスイッチであっても良い。例えば、異なるＵＳＢストレージデバイスが用いられている場合に、複数のＵＳＢストレージデバイスが実装されることにより、データの格納先が複数となり、ＵＳＢストレージデバイスの使い勝手が低下する事態を回避することができる。この場合には、ＵＳＢ多機能装置１０は、パーソナルコンピュータＰＣに対して、インタフェースディスクリプタとして、通信デバイスのクラスコードを通知する。
【００７８】
（２）上記各実施例では、ＵＳＢ多機能装置１０、１０ａが提供可能な通知に際して、ユーザに問い合わせることなくパーソナルコンピュータＰＣに対する通知が実行されているが、図１１に示すようにユーザに対して確認入力を促す通知（表示）２５１を行い、ユーザからの確認入力を待って、通知が実行されても良い。この処理は、例えば、ＣＰＵ１３１、１３１ａが、ＲＯＭ１３２ａに格納されている確認モジュールを実行することによって実現され、確認モジュールは、確認入力を促す通知を行うと共に確認入力を待機する。確認モジュールによって確認入力が受信されると、パーソナルコンピュータＰＣに対して、提供機能通知モジュールＭ１によって提供機能の通知が行われる。図１１は、本実施例において、実行可能な通知の実行を問い合わせる表示画面の一例を示す説明図である。この場合には、ユーザによって、最終的にＵＳＢ多機能装置１０、１０ａによって提供される機能を決定することができる。すなわち、パーソナルコンピュータＰＣは、ユーザによる確認入力が入力されるまでは、ＵＳＢ多機能装置１０、１０ａが記憶装置および無線通信装置のいずれの装置として動作するかについて確定しない。
【００７９】
（３）上記実施例では、ＵＳＢ多機能装置として、記憶部として、記憶素子が固定実装されている記憶部１６を用いて説明したが、図１２に示すように、着脱タイプの記憶素子１６４を着脱可能なメモリソケット１６３を備える記憶部１６ａが用いられても良い。図１２は各実施例に係る多機能装置の他の構成を示す説明図である。この構成を備える場合には、記憶素子を入れ替えることが可能となり、例えば、デジタルカメラに装着されていた記憶素子（メモリカード）を装着し、無線通信部１７を介して、同期対象サーバ３５にデータを転送することができる。したがって、ＵＳＢ多機能装置１０、１０ａの使用態様を拡張することが可能となり、ユーザの利便性を向上させることができる。
【００８０】
（４）上記第２の実施例では、パーソナルコンピュータＰＣに実装されている機能を取得した後、パーソナルコンピュータＰＣに対する各種機能の実装が実行されているが、先ず、記憶機能が実行された後に、無線通信機能を実装するか否かが判定されても良い。図１３は、第２の実施例の他の態様に係る多機能装置によって実行される接続時処理ルーチンを示すフローチャートである。図１３に示すフローチャートでは、ＣＰＵ１３１は、ＵＳＢ多機能装置１０ａがパーソナルコンピュータＰＣに接続されると、記憶部１６をオンするよう切替部１５ａに要求し、切替部１５ａは要求に応じて記憶部１６をオンする（ステップ２００１）。ＣＰＵ１３１は、提供機能通知モジュールＭ１を実行して、パーソナルコンピュータＰＣに対して、記憶機能を提供可能であることを通知する（ステップＳ２００２）。以降のステップは、図１０において説明したステップと同様であり、同一のステップ番号を付すことで説明を省略する。
【００８１】
この態様によれば、利用頻度の高い記憶機能をデフォルトにてパーソナルコンピュータＰＣに提供することによって、ＵＳＢ多機能装置１０ａが利用可能になるまでの時間を短縮し、ＵＳＢ多機能装置１０ａの使い勝手を向上させることができる。
【００８２】
（５）上記第２の実施例において、パーソナルコンピュータＰＣに実装されているドライバが、ＵＳＢ多機能装置１０ａに対応するドライバであるか否かの判断ステップは、備えられていなくても良い。すなわち、無線通信用のドライバがインストールされている場合には、ＵＳＢ多機能装置１０ａは記憶機能のみをパーソナルコンピュータＰＣに対して提供しても良い。この場合には、当該判断ステップを省略することによって、ＵＳＢ多機能装置１０ａ接続後、ＵＳＢ多機能装置１０ａが利用可能になるまでの時間を短縮することができる。
【００８３】
（６）上記第２の実施例において、無線通信用のドライバがパーソナルコンピュータＰＣにインストールされているか否か判断できない場合には、ＵＳＢ多機能装置１０ａは、パーソナルコンピュータＰＣに対して、記憶機能と無線通信機能の双方を提供しても良い。この場合、ＵＳＢ多機能装置１０ａによって提供可能な機能を最大限提供し、ユーザの利便性を向上させることができる。あるいは、無線通信用のドライバがパーソナルコンピュータＰＣにインストールされているか否か判断できない場合には、ＵＳＢ多機能装置１０ａは、パーソナルコンピュータＰＣに対して、記憶機能のみを提供しても良い。この場合、ＵＳＢ多機能装置１０ａに関するユーザの利便性を向上させることはできないが、パーソナルコンピュータＰＣの実行環境を変更しないという点において利点がある。
【００８４】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【００８５】
１０、１０ａ…ＵＳＢ多機能装置
１１…接続端子
１２…ＵＳＢＩ／Ｆ
１３…制御部
１３ａ…制御部
１３１…ＣＰＵ
１３２、１３２ａ…ＲＯＭ
１３３…ＲＡＭ
１３４…Ｉ／Ｆ
１３５…内部バス
１４…スイッチ
１５、１５ａ…切替部
１６、１６ａ…記憶部
１６１…メモリコントローラ
１６２…記憶素子
１６３…メモリソケット
１６４…記憶素子
１７…無線通信部
１７１…通信コントローラ
１７２…無線通信インタフェース
１７３…アンテナ
ＰＣ…パーソナルコンピュータ
２１…ＣＰＵ
２２…ＨＤＤ
２５…表示装置
２５１…通知（表示）
２６…入力装置
３０…無線アクセスポイント
３５…サーバ（同期対象サーバ）
３５１…ＨＤＤ
Ｍ１…提供機能通知モジュール
Ｍ２…情報同期要求モジュール
Ｍ３…判断モジュール
Ｔ１…切替テーブル
ＤＩ…ディスクリプタ情報
ＤＬ…データ信号線
ＰＬ…電力供給線
ＮＥ…ネットワーク
Ｐ１…経路
Ｐ２…経路
【図１】
2012053648.tif 000003
【図２】
2012053648.tif 000004
【図３】
2012053648.tif 000005
【図４】
2012053648.tif 000006
【図５】
2012053648.tif 000007
【図６】
2012053648.tif 000008
【図７】
2012053648.tif 000009
【図８】
2012053648.tif 000010
【図９】
2012053648.tif 000011
【図１０】
2012053648.tif 000012
【図１１】
2012053648.tif 000013
【図１２】
2012053648.tif 000014
【図１３】
2012053648.tif 000015