(57)【要約】【課題】所定のオペレーティングシステムが搭載されたコンピュータにおける特殊なデバイスの利用時に、利用者の利便性を向上する【解決手段】ＵＳＢカードリーダ／ライタ１００はＨＩＤクラスに属するデバイスではないが、ＵＳＢカードリーダ／ライタ１００のデバイスディスクリプタ１３１には、デバイスクラスにＨＩＤを表す値が設定されている。ＵＳＢカードリーダ／ライタ１００は、汎用ドライバで動作するＨＩＤとして認識される。変換モジュール１３３は、ホストコンピュータ２００から送信されたＨＩＤが解釈可能なコマンドであって、Ｆｅｌｉｃａカード３００と通信するためのコマンドである第１のコマンドを、Ｆｅｌｉｃａカード３００が解釈可能な第２のコマンドに変換する。このようにして、ＵＳＢカードリーダ／ライタ１００は、ホストコンピュータ２００とＦｅｌｉｃａカード３００との間のデータの仲介を行う。【選択図】図２
2010039616.tif 000002
【特許請求の範囲】
【請求項１】
所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、前記所定のオペレーティングシステムと媒体との間のデータを送受信するデバイスであって、
ヒューマンインタフェースデバイスの属するデバイスクラスが記憶されている記憶部と、
前記所定のオペレーティングシステムが搭載されたコンピュータと通信するための第１の通信手段と、
媒体と通信を行うための第２の通信手段と、
前記コンピュータ上で実行され、ヒューマンインタフェースデバイスが解釈可能な形式で、前記媒体と情報の授受を行うためのコマンドを記述した第１のコマンドを、前記第１の通信手段を介して前記デバイスに送出させるためのアプリケーションを、前記コンピュータに送出する送出手段と、
前記アプリケーションを介して送出された第１のコマンドを受信し、前記第１のコマンドを前記媒体が解釈可能な形式で記述された第２のコマンドに変換し、前記第２の通信手段を介して、前記媒体に受け渡す制御手段と、
を備えるデバイス。
【請求項２】
請求項１記載のデバイスであって、
前記制御手段は、前記ヒューマンインタフェースデバイスが解釈可能な形式で記述された第１のコマンドと、前記ヒューマンインタフェースデバイスが解釈可能な形式以外で記述された第３のコマンドを受信可能に構成されており、受信したコマンドが前記第１のコマンドである場合に、前記受信した第１のコマンドを前記第２のコマンドに変換する、
デバイス。
【請求項３】
請求項１または請求項２記載のデバイスであって、
前記記憶部には、ヒューマンインタフェースデバイスの属するデバイスクラスが定義されたディスクリプタが記憶されている、デバイス。
【請求項４】
請求項１ないし請求項３いずれか記載のデバイスであって、
前記第１の通信手段は、前記コンピュータと、ユニバーサルシリアルバス（Universal Serial Bus：ＵＳＢ）接続により通信を行う、
デバイス。
【請求項５】
請求項１ないし請求項４いずれか記載のデバイスであって、
前記第２の通信手段は、前記媒体と、無線通信により通信を行う、
デバイス。
【請求項６】
所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、前記所定のオペレーティングシステムと媒体との間で授受されるデータを送受信するデバイスと、前記所定のオペレーティングシステムが搭載されたコンピュータと、から構成される情報処理システムであって、
前記コンピュータは、
前記デバイスと通信するための第１の通信手段と、
ヒューマンインタフェースデバイスが解釈可能な形式で、前記媒体と情報の授受を行うためのコマンドを記述した第１のコマンドを、前記第１の通信手段を介して前記デバイスに送出するためのアプリケーションを記憶する記憶手段と、を備え、
前記デバイスは、
ヒューマンインタフェースデバイスの属するデバイスクラスが記憶されている記憶部と、
前記所定のオペレーティングシステムが搭載されたコンピュータと通信するための第２の通信手段と、
前記媒体と通信を行うための第３の通信手段と、
前記第２の通信手段を介して送信された第１のコマンドを受信し、前記媒体が解釈可能な形式で記述された第２のコマンドに変換し、前記第３の通信手段を介して、前記媒体に受け渡す制御手段と、
を備える、情報処理システム。
【請求項７】
所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、前記所定のオペレーティングシステムと媒体との間で授受されるデータを送受信するデバイスであって、
ヒューマンインタフェースデバイスの属するデバイスクラスが記憶されている記憶部と、
前記所定のオペレーティングシステムが搭載されたコンピュータと通信するための第１の通信手段と、
前記媒体と通信を行うための第２の通信手段と、
前記第１の通信手段を介して送信され、ヒューマンインタフェースデバイスが解釈可能な形式で、前記媒体と情報の授受を行うためのコマンドが記述された第１のコマンドを受信し、前記受信した第１のコマンドを前記媒体が解釈可能な形式で記述された第２のコマンドに変換し、前記第２の通信手段を介して、前記媒体に受け渡す制御手段と、
を備える、
デバイス。
【請求項８】
所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、ヒューマンインタフェースデバイスの属するデバイスクラスが記憶されているデバイスと、前記所定のオペレーティングシステムが搭載されたコンピュータと、から構成される情報処理システムが実行する情報処理方法であって、
前記コンピュータは、
ヒューマンインタフェースデバイスが解釈可能な形式で、媒体と情報の授受を行うためのコマンドを記述した第１のコマンドを生成し、
前記生成した第１のコマンドを前記デバイスに送出し、
前記デバイスは、
前記第１のコマンドを受信し、
前記受信した第１のコマンドを、前記媒体が解釈可能な形式で記述された第２のコマンドに変換し、
前記第２のコマンドを前記媒体に受け渡す、
情報処理方法。
【請求項９】
所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、ヒューマンインタフェースデバイスを表すデバイスクラスが記憶されているデバイスが実行する情報処理方法であって、
前記所定のオペレーティングシステムが搭載されたコンピュータ上で実行され、ヒューマンインタフェースデバイスが解釈可能な形式で、媒体と情報の授受を行うためのコマンドを記述した第１のコマンドを生成させるためのアプリケーションを前記コンピュータに送出し、
前記アプリケーションによって生成された第１のコマンドを受信し、
前記受信した第１のコマンドを、前記媒体が解釈可能な形式で記述された第２のコマンドに変換し、
前記第２のコマンドを前記媒体に受け渡す、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに着脱可能に構成されているデバイスに関し、特に、コンピュータに搭載されているオペレーティングシステムに予め組み込まれていないドライバを必要とするデバイスクラスに属するデバイスとの通信技術に関する。
【背景技術】
【０００２】
近年、ユニバーサルシリアルバス（Universal Serial Bus：ＵＳＢ）等のホットプラグをサポートしたインターフェースデバイスの普及により、メモリカードリーダ/ライタやフラッシュメモリ、ハードディスク等の外付けのデバイスが、コンピュータに接続されて利用されている（例えば、特許文献１）。
【０００３】
【特許文献１】特開２００６−２０２３３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、通常、コンピュータに搭載されているオペレーティングシステムに予め組み込まれていないデバイスドライバを必要とする特殊なデバイスを使用する場合、特殊なデバイス固有のデバイスドライバを事前にコンピュータにインストールしなければ、そのデバイスを動作させることができない。
【０００５】
また、コンピュータに搭載されているオペレーティングシステムが、例えば、ウィンドウズ（Windows（登録商標））である場合、管理者権限を有さない利用者は、デバイスドライバのインストールが許可されていないため、特殊なデバイスを利用することができないという問題がある。
【０００６】
本発明は上述の課題に鑑みてなされたものであり、所定のオペレーティングシステムが搭載されたコンピュータにおける特殊なデバイスの利用時に、利用者の利便性を向上することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００８】
［適用例１］
所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、前記所定のオペレーティングシステムと媒体との間のデータを送受信するデバイスであって、ＨＩＤの属するデバイスクラスが記憶されている記憶部と、前記所定のオペレーティングシステムが搭載されたコンピュータと通信するための第１の通信手段と、媒体と通信を行うための第２の通信手段と、前記コンピュータ上で実行され、ＨＩＤが解釈可能な形式で、前記媒体と情報の授受を行うためのコマンドを記述した第１のコマンドを、前記第１の通信手段を介して前記デバイスに送出させるためのアプリケーションを、前記コンピュータに送出する送出手段と、前記アプリケーションを介して送出された第１のコマンドを受信し、前記第１のコマンドを前記媒体が解釈可能な形式で記述された第２のコマンドに変換し、前記第２の通信手段を介して、前記媒体に受け渡す制御手段と、を備えるデバイス。
【０００９】
適用例１のデバイスによれば、汎用ドライバでは動作しないデバイスクラスに属するデバイスに、ＨＩＤの属するデバイスクラスが記憶されているとともに、ＨＩＤドライバが解釈可能なコマンドをデバイスに送るためのアプリケーションが、デバイスが接続されたコンピュータに送出される。従って、利用者は、コンピュータにＨＩＤとして認識されたデバイスと、コンピュータ上で動作するアプリケーションを介して簡易に通信できる。よって、利用者の利便性を向上できる。
【００１０】
［適用例２］
適用例１のデバイスにおいて、前記制御手段は、前記ＨＩＤが解釈可能な形式で記述された第１のコマンドと、前記ＨＩＤが解釈可能な形式以外で記述された第３のコマンドを受信可能に構成されており、受信したコマンドが前記第１のコマンドである場合に、前記受信した第１のコマンドを前記第２のコマンドに変換する。適用例２のデバイスによれば、デバイスは、受信したコマンドが、ＨＩＤが解釈可能な形式で記述された第１のコマンドであるかを判断し、判断結果に応じて、第１のコマンドを第２のコマンドに変換する。従って、コンピュータから送信されたコマンドのうち、媒体に対して送信された第１のコマンドのみを第２のコマンドに変換して適切に媒体に受け渡すことができる。
【００１１】
［適用例３］
適用例１または適用例２のデバイスにおいて、前記記憶部には、ＨＩＤの属するデバイスクラスが定義されたディスクリプタが記憶されている。適用例３のデバイスによれば、ディスクリプタに、ＨＩＤのデバイスクラスが記憶されている。従って、簡易な構成で、所定のオペレーティングシステムが搭載されたコンピュータに、汎用ドライバでは動作しないデバイスを汎用ドライバで動作可能なＨＩＤとして認識させることができる。
【００１２】
［適用例４］
適用例１ないし適用例３いずれか記載のデバイスにおいて、前記第１の通信手段は、前記コンピュータと、ＵＳＢ接続により通信を行う。ＵＳＢを利用したデバイス（ＵＳＢデバイス）は広く利用されており、ＨＩＤの属するデバイスクラスが設定されたＵＳＢデバイスは、通常、汎用ドライバで動作する。よって、適用例４のデバイスによれば、汎用ドライバで動作しないデバイスであっても、ＨＩＤの属するデバイスクラスが定義され、ＵＳＢ接続によりコンピュータに接続されるので、簡易にコンピュータに認識させることができる。
【００１３】
［適用例５］
適用例１ないし適用例４いずれか記載のデバイスにおいて、前記第２の通信手段は、前記媒体と、無線通信により通信を行う。適用例５のデバイスによれば、媒体をデバイスに接触させることなく通信が可能である。従って、振動や埃の多い環境での利用に好適である。また、媒体との物理的な接続を行う手間を省略できるので、利用者の利便性および処理速度の向上を図ることができる。
【００１４】
［適用例６］
所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、前記所定のオペレーティングシステムと媒体との間で授受されるデータを送受信するデバイスと、前記所定のオペレーティングシステムが搭載されたコンピュータと、から構成される情報処理システムであって、前記コンピュータは、前記デバイスと通信するための第１の通信手段と、ヒューマンインタフェースデバイスが解釈可能な形式で、前記媒体と情報の授受を行うためのコマンドを記述した第１のコマンドを、前記第１の通信手段を介して前記デバイスに送出するためのアプリケーションを記憶する記憶手段と、を備え、前記デバイスは、ヒューマンインタフェースデバイスの属するデバイスクラスが記憶されている記憶部と、前記所定のオペレーティングシステムが搭載されたコンピュータと通信するための第２の通信手段と、前記媒体と通信を行うための第３の通信手段と、前記第２の通信手段を介して送信された第１のコマンドを受信し、前記媒体が解釈可能な形式で記述された第２のコマンドに変換し、前記第３の通信手段を介して、前記媒体に受け渡す制御手段と、を備える、情報処理システム。
【００１５】
適用例６の情報処理システムによれば、所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属するデバイスに、汎用ドライバで動作可能なヒューマンインタフェースデバイス（Human Interface Device：ＨＩＤ）の属するデバイスクラスが記憶されている。また、デバイスを接続するコンピュータに、ＨＩＤが解釈可能な形式で記述された第１のコマンドをデバイスに送出するためのアプリケーションが予め記憶されている。この結果、所定のオペレーティングシステムが搭載されたコンピュータにデバイスが接続されると、このデバイスはコンピュータによってＨＩＤとして認識される。従って、コンピュータを利用する利用者は、デバイスに応じた新たなデバイスドライバをコンピュータにインストールすることなく、アプリケーションを介してデバイスと通信を行うことができる。よって、利用者は、デバイスドライバのインストールという繁雑な作業を行う必要が無くなるとともに、利用者の管理権限によらずにデバイスを利用できるので、利用者の利便性を向上できる。
【００１６】
［適用例７］
所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、前記所定のオペレーティングシステムと媒体との間で授受されるデータを送受信するデバイスであって、ＨＩＤの属するデバイスクラスが記憶されている記憶部と、前記所定のオペレーティングシステムが搭載されたコンピュータと通信するための第１の通信手段と、前記媒体と通信を行うための第２の通信手段と、前記第１の通信手段を介して送信され、ＨＩＤが解釈可能な形式で、前記媒体と情報の授受を行うためのコマンドが記述された第１のコマンドを受信し、前記受信した第１のコマンドを前記媒体が解釈可能な形式で記述された第２のコマンドに変換し、前記第２の通信手段を介して、前記媒体に受け渡す制御手段と、を備える。
【００１７】
適用例７のデバイスによれば、汎用ドライバでは動作しないデバイスクラスに属するデバイスに、汎用ドライバで動作可能なＨＩＤの属するデバイスクラスが記憶されている。従って、所定のオペレーティングシステムが搭載されたコンピュータにデバイスが接続されると、このデバイスはコンピュータによってＨＩＤとして認識される。よって、汎用ドライバでは動作しないデバイスクラスに属するデバイスの利用時に、デバイスドライバのインストールを省略できる。従って、利用者の利便性の向上を図ることができる。
【００１８】
本発明において、上述した種々の態様は、適宜、組み合わせたり、一部を省略したりして適用することができる。また、本発明は、上述したデバイス、情報処理システムとしての構成の他に、デバイス、情報処理システムによる情報処理方法としても構成できる。いずれの構成においても、上述した各態様を適宜適用可能である。コンピュータが読み取り可能な記録媒体としては、例えば、フレキシブルディスクや、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ハードディスク等種々の媒体を利用することが可能である。
【発明を実施するための最良の形態】
【００１９】
Ａ．第１の実施例：
Ａ１．システム構成：
図１は、本発明の一実施例としての記憶デバイスを適用した情報処理システム１０の装置構成を示す説明図である。この情報処理システム１０は、ホストコンピュータ２００と、外付けのデバイスとしてのＵＳＢカードリーダ／ライタ１００と、フェリカ（Ｆｅｌｉｃａ（登録商標））カード３００と、を備えている。ホストコンピュータ２００は、ＵＳＢポートを備えており、このＵＳＢポートに、外付けのデバイスとしてのＵＳＢカードリーダ／ライタ１００を接続することができる。図１の例では、ＵＳＢカードリーダ／ライタ１００は、ホストコンピュータ２００の側面に設けられたＵＳＢポートに接続されている。なお、図１の例では、ホストコンピュータ２００とＵＳＢカードリーダ／ライタ１００とは有線接続されているが、ワイヤレスＵＳＢ等による無線接続とすることもできる。
【００２０】
ホストコンピュータ２００には、所定のオペレーティングシステム（第１実施例では、ウィンドウズ（登録商標））がインストールされており、汎用ドライバが予め組み込まれている。本実施例において、汎用ドライバとは、ホストコンピュータ２００のオペレーティングシステムに予め組み込まれているデバイスドライバを指しており、例えば、ヒューマンインタフェースデバイス（Human Interface Device：ＨＩＤ）のデバイスドライバを含む。ＵＳＢカードリーダ／ライタ１００は、汎用ドライバでは動作しないデバイスクラスに属し、媒体としてのＦｅｌｉｃａカード３００とホストコンピュータ２００のオペレーティングシステムとの間のデータの送受信を行うデバイスである。ＵＳＢカードリーダ／ライタ１００は、第１実施例では、ホストコンピュータ２００によって、汎用ドライバで動作可能なＨＩＤとして認識される。
【００２１】
ＵＳＢカードリーダ／ライタ１００は、通信領域１８５を備えている。通信領域１８５上に、Ｆｅｌｉｃａカード３００をかざすことにより、ＵＳＢカードリーダ／ライタ１００とＦｅｌｉｃａカード３００との間で無線通信を行うことができる。
【００２２】
以上のような構成を有する情報処理システム１０では、ＵＳＢカードリーダ／ライタ１００を介して、ホストコンピュータ２００とＦｅｌｉｃａカード３００との間でデータの送受信が行われる。
【００２３】
Ａ２．機能ブロック：
図２〜図４を参照して、情報処理システム１０を構成するＵＳＢカードリーダ／ライタ１００、ホストコンピュータ２００およびＦｅｌｉｃａカード３００の内部構成を示す機能ブロックについて説明する。
【００２４】
図２は、図１に示すＵＳＢカードリーダ／ライタ１００の内部構成を示すブロック図である。このＵＳＢカードリーダ／ライタ１００は、ＣＰＵ１１０と、ＵＳＢバスインタフェース１２０と、ＥＥＰＲＯＭ１３０と、ＳＲＡＭ１４０と、フラッシュメモリ１５０と、電圧制御部１６０と、内部インタフェース１７０と、無線通信インタフェース（Ｉ／Ｆ）１８０と、を備えており、それぞれ内部バスで接続されている。ＵＳＢカードリーダ／ライタ１００は、メモリカードなどの記憶媒体に読み書き可能なリーダ／ライタとしての機能とともに、フラッシュメモリとしての機能を備えている。
【００２５】
ＵＳＢバスインタフェース１２０は、ＵＳＢの物理的な通信を実行する。ＥＥＰＲＯＭ１３０には、デバイスディスクリプタ１３１、変換モジュール１３３が記憶されている。実施例では、無線通信インタフェース１８０は、Ｆｅｌｉｃａカード３００との通信に用いられるように構成されている。
【００２６】
デバイスディスクリプタ１３１には、ＵＳＢカードリーダ／ライタ１００の接続先であるホストコンピュータ２００と、ＵＳＢカードリーダ／ライタ１００との間の通信を行うための「パイプ」と呼ばれる論理的な通信路を構成するための設定情報が含まれている。第１実施例では、ＵＳＢカードリーダ／ライタ１００はＨＩＤではないが、デバイスディスクリプタ１３１には、デバイスの属するクラスを表すデバイスクラスにＨＩＤを表す値が設定されている。変換モジュール１３３は、ホストコンピュータ２００から送信されたＨＩＤが解釈可能なコマンドであって、Ｆｅｌｉｃａカード３００と通信するためのコマンドである第１のコマンドＣＭＤ１を、Ｆｅｌｉｃａカード３００が解釈可能な第２のコマンドＣＭＤ２に変換する機能を備えている。ＣＰＵ１１０は、変換モジュール１３３をＳＲＡＭ１４０に展開して実行することで、第１のコマンドＣＭＤ１から第２のコマンドＣＭＤ２への変換を行い、ホストコンピュータ２００とＦｅｌｉｃａカード３００との間のデータの仲介を行っている。なお、ＥＥＰＲＯＭ１３０には、図示しないＵＳＢ制御プログラムが格納されており、ＣＰＵ１１０は、この制御プログラムをＳＲＡＭ１４０上に展開して実行することで、ＵＳＢ論理デバイスとして機能する。
【００２７】
第１実施例では、ＵＳＢバスインタフェース１２０は特許請求の範囲（例えば、請求項６）では「第２の通信手段」に相当する。ＥＥＰＲＯＭ１３０は、特許請求の範囲の「記憶部」に当たりし、無線通信インタフェース１８０は特許請求の範囲（例えば、請求項６）では「第３の通信手段」に当たる。変換モジュール１３３は特許請求の範囲の「制御手段」に当たる。
【００２８】
フラッシュメモリ１５０は、データを記憶するストレージである。内部インタフェース１７０は、フラッシュメモリ１５０とデータのやりとりを行うためのインタフェースを提供する。電圧制御部１６０は、ＵＳＢバスインタフェース１２０を介して接続されたホストコンピュータ２００から供給されるバスパワード電源を、例えば、３．３Ｖに調整して各部に供給する。
【００２９】
以上説明したように、ＵＳＢカードリーダ／ライタ１００は、リーダ／ライタとしての機能とフラッシュメモリとしての機能を備えており、ＵＳＢバスインタフェース１２０は、双方の機能のコマンドを受信可能に構成されている。そして、ＵＳＢバスインタフェース１２０は、接続先の機器（第１実施例ではホストコンピュータ２００）から受信したコマンドが、Ｆｅｌｉｃａカード３００用（リーダ／ライタ機能用）の第１のコマンドＣＭＤ１であるか、フラッシュメモリ用のコマンド（第３のコマンド）であるかを判断し、第１のコマンドＣＭＤ１である場合には、変換モジュール１３３に受け渡し、第３のコマンドである場合には内部インタフェース１７０を介してフラッシュメモリ１５０に受け渡す。
【００３０】
図３は、図１に示すホストコンピュータ２００の内部構成を示すブロック図である。このホストコンピュータ２００は、ＣＰＵ２１０と、ＲＯＭ２２０と、ＵＳＢバスインタフェース２３０と、ＲＡＭ２４０と、ハードディスクドライブ２６０と、表示部２７０と、キーボード２８０と、を備えており、それぞれ内部バスで接続されている。ＵＳＢバスインタフェース部２３０は、ＵＳＢポートを有しており、ＵＳＢカードリーダ／ライタ１００を接続すると共に、図２におけるＵＳＢバスインタフェース１２０と同様に、ＵＳＢの物理的な通信を実行する。ＵＳＢバスインタフェース２３０は、特許請求の範囲（例えば、請求項６）では「第１の通信手段」に当たる。
【００３１】
ハードディスクドライブ２６０には、予め、アプリケーション２９４が格納されている。アプリケーション２９４は、ＵＳＢカードリーダ／ライタ１００を介してＦｅｌｉｃａカード３００と通信を行うためのプログラムである。第１実施例では、アプリケーション２９４には、例えば、ＨＩＤとして認識されたＵＳＢカードリーダ／ライタ１００を検索する機能と、Ｆｅｌｉｃａカード３００とデータの授受を行うためのコマンドを送受信する機能と、が少なくとも含まれている。ハードディスクドライブ２６０は、特許請求の範囲の「記憶手段」に当たる。
【００３２】
ＣＰＵ２１０は、所定のオペレーティングシステムの下、ハードディスクドライブ２６０に予め格納されているアプリケーション２９４を、ハードディスクドライブ２６０から読み出してＲＡＭ２４０上に展開し実行することで、ＨＩＤとして認識されたＵＳＢカードリーダ／ライタ１００を介してＦｅｌｉｃａカード３００と情報の授受を行うことができる。ＲＯＭ２２０には、ＵＳＢ通信用の各種プログラム（ＵＳＢシステムソフトウェアやドライバソフトウェア）が格納されている。
【００３３】
図４は、図１に示すＦｅｌｉｃａカード３００の内部構成を示すブロック図である。Ｆｅｌｉｃａカード３００は、ＣＰＵ３１０と、ＲＯＭ３２０と、無線通信インタフェース（Ｉ／Ｆ）３３０と、ＲＡＭ３４０と、ＥＥＰＲＯＭ３５０と、を備え、各機能ブロックは、内部バスにより接続されている。
【００３４】
無線通信Ｉ／Ｆ３３０は、カード機能とリーダ／ライタ機能とが含まれている。カード機能には、通信用の集積回路（ＩＣチップ）とアンテナとが含まれており、リーダ／ライタ機能には、Ｆｅｌｉｃａカード３００と、他の機器との情報の授受を行う通信機能が含まれている。Ｆｅｌｉｃａカード３００をＵＳＢカードリーダ／ライタ１００の通信領域１８５にかざすと、アンテナからの電磁波によって電力が発生し、この電力を用いて集積回路がリーダ／ライタ機能と通信を行い、データの読み書きを行う。
【００３５】
Ａ３．階層構造：
図５は、ホストコンピュータ２００とＵＳＢカードリーダ／ライタ１００との間でのデータのやりとりに関する機能の階層構造を示す説明図である。ホストコンピュータ２００では、物理層における信号転送を制御するＵＳＢバスインタフェース２３０が最下位となり、その上に、ＵＳＢシステムソフトウェア２３２と、ＵＳＢＨＩＤクラスドライバ２３４と、オペレーティングシステム２９２と、Ｆｅｌｉｃａ通信用のアプリケーション２９４と、がこの順番に配置されている。一方、ＵＳＢカードリーダ／ライタ１００では、ＵＳＢバスインタフェース１２０が最下位となり、その上に、ＵＳＢ論理デバイス部１２２が配置されている。
【００３６】
ＵＳＢ論理デバイス部１２２は、ＵＳＢ基本処理部１２２ａと、ＨＩＤインタフェース１２２ｂと、変換モジュール１２２ｃと、を備えている。ＵＳＢ基本処理部１２２ａは、エンドポイント１２３を備えており、ＨＩＤインタフェース１２２ｂは、ＩＮ方向のエンドポイント群１２４と、ＯＵＴ方向のエンドポイント群１２５を備えている。
【００３７】
ＵＳＢ基本処理部１２２ａは、エンドポイント１２３を用いて、ホストコンピュータ２００が備えるＵＳＢシステムソフトウェア２３２との間でメッセージパイプ３０１を形成してコントロール転送を実現している。ここで、「エンドポイント」とは、デバイス（ＵＳＢカードリーダ／ライタ１００）においてホストと通信を行うためのリソース（ＦＩＦＯバッファ等）をいう。また、「メッセージパイプ」とは、双方向通信が可能な論理接続をいう。なお、このメッセージパイプ３０１はデフォルトパイプとも呼ばれ、ホスト（ホストコンピュータ２００）とデバイス（ＵＳＢカードリーダ／ライタ１００）との間における各種設定／制御を行うための通信（コントロール転送）専用の論理接続である。
【００３８】
ＵＳＢＨＩＤクラスドライバ２３４とＵＳＢＨＩＤインタフェース１２２ａの間には、ＩＮ方向（ホストコンピュータ２００に入力する方向）のストリームパイプ群３１２と、ＯＵＴ方向（ホストコンピュータ２００から出力する方向）のストリームパイプ群３１３とが構成される。「ストリームパイプ」とは、コントロール転送以外の通信（バルク転送やインタラプト転送等）で用いられる単方向の論理接続をいう。なお、「バルク転送」は、比較的大容量データを一括して高速に転送する通信をいい、「インタラプト転送」は、小容量のデータを定期的に転送する通信をいう。図示を省略しているが、フラッシュメモリ１５０についても、上記説明と同様に階層構造の通信路が確立される。
【００３９】
なお、エンドポイントの数の最大値は予め決められており、ロースピードでは最大送受２組で、それ以外では、最大送受１５組となっている。パイプとエンドポイントの構成数は、デバイス側で指定することになり、その構成を指定するデータが、デバイスディスクリプタ１３１（図２）である。デバイスディスクリプタ１３１については、後に詳述する。
【００４０】
以上の構成を有する情報処理システム１０では、ＨＩＤとしてホストコンピュータ２００に認識されたＵＳＢカードリーダ／ライタ１００を用いて、ホストコンピュータ２００とＦｅｌｉｃａカード３００との間の通信制御が行われる。
【００４１】
Ａ４．通信制御処理：
図６は、第１実施例におけるホストコンピュータ２００とＵＳＢカードリーダ／ライタ１００との通信制御処理の手順を示すフローチャートである。また、図７は、第１実施例におけるデバイスディスクリプタ１３１について説明する説明図である。図６において、左側はホストコンピュータ２００における手順を示し、中央はＵＳＢカードリーダ／ライタ１００における手順を示し、右側はＦｅｌｉｃａカード３００における手順を示す。
【００４２】
ＵＳＢフラッシュメモリ１００がホストコンピュータ２００に接続されると、ホストコンピュータ２００においてＵＳＢバスインタフェース２３０は、電気的な信号の送受に基づいて、デバイスの物理的な接続の検出を行う（ステップＳ１０）。ホストコンピュータ２００においてデバイスの接続が検出されると、ホストコンピュータ２００のＵＳＢソフトウェア２３２とＵＳＢカードリーダ／ライタ１００のＵＳＢ基本処理部１１２ａとの間でＵＳＢの初期化処理が実行される（ステップＳ１１）。この初期化処理は、ＵＳＢの標準仕様に規定されている初期化処理である。具体的には、ホストコンピュータ２００は、デバイスの接続を検出するとデバイスリクエストを送信する。デバイス側は、ホストコンピュータ２００から送信されたデバイスリクエストへの応答として、デバイスディスクリプタ１３１をホストコンピュータ２００に対して送信する。このようにして、ホストコンピュータ２００は、デバイスディスクリプタ１３１を取得できる。デバイスディスクリプタ１３１は、メッセージパイプ３０１上のコントロール転送を使って送信される。ホストコンピュータ２００は、受信したデバイスディスクリプタ１３１のデータに応じてパイプを構成する。ＵＳＢカードリーダ／ライタ１００との間の通信が確立される（ステップＳ１２）
【００４３】
図７を参照して、デバイスディスクリプタ１３１について説明する。デバイスディスクリプタ１３１には、デバイスについての基本情報であり、ホストコンピュータ２００等のホストが必要とする情報が含まれている。デバイスディスクリプタ１３１は、デバイスがホストに接続されると、最初に読み込まれる情報の一つである。
【００４４】
図７に示すように、デバイスディスクリプタ１３１は、１８バイトのデータであり、１４のフィールドを持つように構成されている。図７のリストは、デバイスディスクリプタ１３１内の順序に従って、各フィールドを表している。デバイスディスクリプタ１３１には、デバイスディスクリプタ１３１自身の情報、デバイスの情報、コンフィギュレーション（設定）の情報、デバイスの属するクラスについての情報が含まれている。
【００４５】
図７の一覧表に記載されている順に簡単に説明する。なお、図７において、「フィールド名」は、各フィールド（項目）の名称を表しており、「オフセット（１０進）」は、各フィールドのデータが何バイト目から格納されているかを表しており、「サイズ（バイト）」は、各フィールドのデータのサイズをバイトで表しており、「内容」は、各フィールドの内容を表している。例えば、「ｂＬｅｎｇｔｈ」は０バイト目に格納されているデータであって、デバイスディスクリプタ１３１のバイト長を表しており、１バイトのサイズで表されている。また、「ｂＤｅｖｉｃｅＣｌａｓｓ」はデバイスクラスのクラスコードを表している。
【００４６】
本実施例では、「ｂＤｅｖｉｃｅＣｌａｓｓ」に、ＨＩＤのデバイスクラスを表す「０Ｘ００」が格納されている。なお、第１実施例では、この値は、ＵＳＢカードリーダ／ライタ１００の製造時において、製造者（ベンダ）が予め格納する。第１実施例では、ホストコンピュータ２００のＣＰＵ２１０は、ＵＳＢカードリーダ／ライタ１００に対して、デバイスディスクリプタ１３１の取得要求を送出し、その応答としてデバイスディスクリプタ１３１を受け取り、デバイスディスクリプタ１３１の「ｂＤｅｖｉｃｅＣｌａｓｓ」の値を参照して、ＵＳＢカードリーダ／ライタ１００をＨＩＤと認識し、通信を確立する。デバイスディスクリプタ１３１は、以上説明したように、ホストコンピュータ２００とＵＳＢカードリーダ／ライタ１００との間の通信路（パイプ）確立に用いられる。
【００４７】
図６に戻り説明を続ける。ホストコンピュータ２００は、接続されたデバイス（ＵＳＢカードリーダ／ライタ１００）をＨＩＤと認識しているため、このままでは、ＵＳＢカードリーダ／ライタ１００を用いてＦｅｌｉｃａカード３００と通信を行うことはできない。よって、ホストコンピュータ２００は、予めインストールされているアプリケーション２９４を起動し（ステップＳ１３）、ホストコンピュータ２００に接続されている種々のデバイスのうち、ＨＩＤと認識されたＵＳＢカードリーダ／ライタ１００を検索するための検索パケットを、接続されている種々のデバイスに送信する（ステップＳ１４）。検索パケットには、ＵＳＢカードリーダ／ライタ１００を特定するための情報が含まれており、検索パケットを受信した種々のデバイスのうち、ＵＳＢカードリーダ／ライタ１００のみがホストコンピュータ２００に対して応答パケットを送出する（ステップＳ１５）。検索パケットの送信は、アプリケーション２９４が、例えば起動と同時に自動的に行ってもよいし、ユーザの操作に応じて行っても良い。
【００４８】
アプリケーション２９４は、ユーザの指示に応じて、ＵＳＢカードリーダ／ライタ１００に対して、Ｆｅｌｉｃａカード３００とデータの授受を行うための第１のコマンドＣＭＤ１を送出する（ステップＳ１６）。具体的には、アプリケーション２９４は、ＵＳＢカードリーダ／ライタ１００を宛先として、ＨＩＤが解釈可能な形式で記述した第１のコマンドＣＭＤ１をＵＳＢカードリーダ／ライタ１００に対して送出する。オペレーティングシステム２９２は、第１のコマンドＣＭＤ１を、ＵＳＢＨＩＤクラスドライバ２３４を介して、ＵＳＢカードリーダ／ライタ１００のＨＩＤインタフェース１２２ｂに受け渡す。なお、第１実施例において、アプリケーション２９４から送出される第１のコマンドＣＭＤ１には、例えば、媒体の有無の問い合わせ、ユーザの認証、媒体への情報の書き込み、媒体からの情報の読み取り等が含まれる。ここで、「媒体の有無」とは、Ｆｅｌｉｃａカード３００が通信領域１８５にかざされ、ホストコンピュータ２００とＦｅｌｉｃａカード３００とが、ＵＳＢカードリーダ／ライタ１００を介して通信可能な状態とされているかを表す。
【００４９】
ＵＳＢカードリーダ／ライタ１００は、受信した第１のコマンドＣＭＤ１をＦｅｌｉｃａカード３００が解釈可能な第２のコマンドＣＭＤ２に変換する（ステップＳ１７）。具体的には、ＵＳＢカードリーダ／ライタ１００のＨＩＤインタフェース１２２ｂは、ＵＳＢＨＩＤクラスドライバ２３４から受信した第１のコマンドＣＭＤ１を変換モジュール１２２ｃに受け渡す。変換モジュール１２２ｃは、受け渡された第１のコマンドＣＭＤ１を第２のコマンドＣＭＤ２に変換する。ＵＳＢカードリーダ／ライタ１００の変換モジュール１２２ｃは、無線通信インタフェース１８０を介してＦｅｌｉｃａカード３００に対して第２のコマンドＣＭＤ２を送出する（ステップＳ１８）。なお、第１実施例では、ＵＳＢカードリーダ／ライタ１００の無線通信Ｉ／Ｆ１８０と、Ｆｅｌｉｃａカード３００の無線通信Ｉ／Ｆ３３０との間は、ユーアート（ＵＡＲＴ：Universal Asynchronous Receiver Transmitter）によるシリアル通信により情報の授受が行われている。
【００５０】
Ｆｅｌｉｃａカード３００は、ＵＳＢカードリーダ／ライタ１００から第２のコマンドＣＭＤ２を受信し実行する（ステップＳ１９）。そして、Ｆｅｌｉｃａカード３００は、第２のコマンドＣＭＤ２の実行が完了すると、完了した旨を表すコマンドをＵＳＢカードリーダ／ライタ１００に対して送信する（ステップＳ２０）。なお、この「完了した旨を表すコマンド」は、Ｆｅｌｉｃａカード３００が解釈可能なコマンドであり、第２のコマンドＣＭＤ２と同じ形式のコマンドである。ホストコンピュータ２００から送出されたコマンド（第１のコマンドＣＭＤ１）が、例えば、データの書き込み要求である場合には、「完了した旨を表すコマンド」には、書き込みの成否を含む情報が含まれており、また、例えば、第１のコマンドＣＭＤ１がデータの読み取り要求である場合には、「完了した旨を表すコマンド」には、要求に応じたデータが含まれる。
【００５１】
ＵＳＢカードリーダ／ライタ１００の変換モジュール１２２ｃは、完了した旨を表すコマンドを受信すると、受信したコマンドをＨＩＤが解釈可能なコマンド（第１のコマンドＣＭＤ１と同形式のコマンド）に変換して、ホストコンピュータ２００のＵＳＢＨＩＤクラスドライバ２３４を介してアプリケーション２９４に送信する（ステップＳ２１）。ホストコンピュータ２００のアプリケーション２９４は、第１のコマンドＣＭＤ１に対する応答のコマンドを受信し、第１のコマンドＣＭＤ１についての処理を終了する。更に、Ｆｅｌｉｃａカード３００へのコマンド送信を行う場合には、ステップＳ１６以降の処理を繰り返せばよい。
【００５２】
以上説明した第１実施例の情報処理システム１０によれば、所定のオペレーティングシステム（ウィンドウズ）に予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属するデバイスであるＵＳＢカードリーダ／ライタ１００に、汎用ドライバで動作可能なＨＩＤの属するデバイスクラスが記憶されている。この結果、ホストコンピュータ２００にＵＳＢカードリーダ／ライタ１００が接続されると、ＵＳＢカードリーダ／ライタ１００はコンピュータによってＨＩＤとして認識される。また、ＨＩＤドライバが解釈可能なコマンドをデバイスに送るためのアプリケーション２９４が、デバイスが接続されたホストコンピュータ２００に予めインストールされている。一般的に、ＨＩＤは、オペレーティングシステムに予め組み込まれている汎用ドライバで動作可能であるので、ホストコンピュータ２００を利用する利用者は、ＵＳＢカードリーダ／ライタ１００に応じた新たなデバイスドライバをホストコンピュータ２００にインストールすることすることなく、アプリケーション２９４を介してＵＳＢカードリーダ／ライタ１００と通信を行うことができる。よって、利用者は、デバイスドライバのインストールという繁雑な作業を行う必要が無くなるとともに、ホストコンピュータ２００の利用者の管理権限によらずにＵＳＢカードリーダ／ライタ１００を利用できるので、利用者の利便性を向上できる。
【００５３】
また、第１実施例の情報処理システム１０によれば、ＵＳＢカードリーダ／ライタ１００は、受信したコマンドが、ＨＩＤが解釈可能な形式で記述された第１のコマンドＣＭＤ１であるかを判断し、判断結果に応じて、第１のコマンドＣＭＤ１のみを第２のコマンドＣＭＤ２に変換する。従って、ホストコンピュータ２００から送信されたコマンドのうち、Ｆｅｌｉｃａカード３００に対して送信された第１のコマンドＣＭＤ１のみを第２のコマンドＣＭＤ２に変換して適切にＦｅｌｉｃａカード３００に受け渡すことができる。
【００５４】
また、第１実施例の情報処理システム１０によれば、ＵＳＢデバイスに記憶されているデバイスディスクリプタ１３１のデバイスクラスの設定値が、製造段階で、ＨＩＤの属するクラスを表す値に設定されている。従って、簡易な構成で、ＵＳＢカードリーダ／ライタ１００をＨＩＤと認識させることができる。
【００５５】
また、第１実施例の情報処理システム１０によれば、Ｆｅｌｉｃａカード３００とＵＳＢカードリーダ／ライタ１００とは無線接続により通信が行われている。従って、Ｆｅｌｉｃａカード３００をＵＳＢカードリーダ／ライタ１００に接触させることなく通信が可能である。よって、振動や埃の多い環境での利用に好適である。また、ＵＳＢカードリーダ／ライタ１００とＦｅｌｉｃａカード３００との物理的な接続を行う手間を省略できるので、利用者の利便性および処理速度の向上を図ることができる。
【００５６】
また、第１実施例の情報処理システム１０によれば、デバイスとしてホストコンピュータ２００とＵＳＢ接続により通信を行うカードリーダ／ライタ１００が用いられている。ＵＳＢを利用したデバイス（ＵＳＢデバイス）は広く利用されており、ＨＩＤの属するデバイスクラスが設定されたＵＳＢデバイスは、通常、汎用ドライバで動作する。よって、汎用ドライバで動作しないカードリーダ／ライタのようなデバイスであっても、ＨＩＤの属するデバイスクラスが定義され、ＵＳＢ接続によりコンピュータに接続されるので、簡易にコンピュータに認識させることができる。
【００５７】
Ｂ．第２実施例：
第１実施例では、アプリケーション２９４が予めホストコンピュータ２００にインストールされている構成の情報処理システム１０について説明したが、第２実施例では、ホストコンピュータ２００に予めアプリケーション２９４がインストールされておらず、ＵＳＢカードリーダ／ライタのホストコンピュータ２００への接続時に、アプリケーション２９４が、ＵＳＢカードリーダ／ライタからホストコンピュータ２００にコピーされる構成の情報処理システムについて説明する。第２実施例のシステム構成は、第１実施例の図１において説明したものと同様である。
【００５８】
Ｂ１．機能ブロック：
図８は、第２実施例におけるＵＳＢカードリーダ／ライタ１００ａの内部構成を例示するブロック図である。ＵＳＢカードリーダ／ライタ１００ａは、ＣＰＵ１１０と、ＵＳＢバスインタフェース１２０と、ＥＥＰＲＯＭ１３０と、ＳＲＡＭ１４０と、フラッシュメモリ１５０と、電圧制御部１６０と、内部インタフェース１７０と、無線通信インタフェース１８０と、を備えており、それぞれ内部バスで接続されている。第２実施例において、ＵＳＢバスインタフェース１２０、無線通信インタフェース１８０は、それぞれ、特許請求の範囲（例えば、請求項１〜５および７）では、「第１の通信手段」、「第２の通信手段」に当たる。また、第２実施例では、ＣＰＵ１１０が、特許請求の範囲の「送出手段」の機能を備える。
【００５９】
第２実施例では、ＥＥＰＲＯＭ１３０には、デバイスディスクリプタ１３１、変換モジュール１３３およびホストコンピュータ２００とＦｅｌｉｃａカード３００との通信に用いられるアプリケーション２９４が格納されている。なお、第２実施例のＵＳＢカードリーダ／ライタ１００ａは、ＥＥＰＲＯＭ１３０にアプリケーション２９４が記憶されていること以外は、第１実施例と同様である。
【００６０】
Ｂ２．通信制御処理：
図９は、第２実施例における情報処理システムの通信処理について説明するフローチャートである。図９において、左側はホストコンピュータ２００における手順を示し、中央はＵＳＢカードリーダ／ライタ１００ａにおける手順を示し、右側はＦｅｌｉｃａカード３００における手順を示す。
【００６１】
ホストコンピュータ２００のＵＳＢバスインタフェース２３０は、電気的な信号の送受に基づいて、ＵＳＢカードリーダ／ライタ１００ａの接続の検出を行う（ステップＳ３０）。ホストコンピュータ２００においてデバイスの接続が検出されると、ホストコンピュータ２００のＵＳＢソフトウェア２３２とＵＳＢカードリーダ／ライタ１００ａのＵＳＢ基本処理部１１２ａとの間でＵＳＢの初期化処理が実行される（ステップＳ３１）、ＵＳＢカードリーダ／ライタ１００ａとホストコンピュータ２００との間の通信が確立される（ステップＳ３２）。ステップＳ３０，Ｓ３１の処理は、それぞれ、第１実施例において説明した図６のステップＳ１０，Ｓ１１と同一である。
【００６２】
初期化処理が終了すると、ＵＳＢカードリーダ／ライタ１００ａのＣＰＵ１１０は、ホストコンピュータ２００に対して、ＥＥＰＲＯＭ１３０内に記憶されているアプリケーション２９４を送出する（ステップＳ３３）。ＵＳＢカードリーダ／ライタ１００ａからホストコンピュータ２００へのアプリケーション２９４の送出は、例えば、ＥＥＰＲＯＭ１３０に、アプリケーション２９４をホストコンピュータ２００に送出（コピー）するためのプログラムを格納するとともに、ホストコンピュータ２００により、このコピーするためのプログラムの自動実行を可能とするためのオートランファイル（autorun.inf）も、併せて格納することにより実現可能である。なお、オートランファイルを実行可能とするために、例えば、ＥＥＰＲＯＭ１３０内に、仮想的にＣＤ／ＤＶＤデバイスを構成する領域を設けてもよい。
【００６３】
ホストコンピュータ２００は、ＵＳＢカードリーダ／ライタ１００ａからアプリケーション２９４を受け取ると、ホストコンピュータ２００のＣＰＵ２１０は、アプリケーション２９４をＲＡＭ２４０上に読み込んで実行する（ステップＳ３４）。ステップＳ３５〜Ｓ４２までの処理は、第１実施例において説明した図６のステップＳ１４〜Ｓ２１までの処理に当たるため、説明を省略する。
【００６４】
以上説明したい第２実施例の情報処理システムによれば、所定のオペレーティングシステム（ウィンドウズ）に予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属するデバイスであるＵＳＢカードリーダ／ライタ１００ａに、汎用ドライバで動作可能なＨＩＤの属するデバイスクラスが記憶されている。また、ＨＩＤドライバが解釈可能なコマンドをデバイスに送るためのアプリケーション２９４を、ＵＳＢカードリーダ／ライタ１００ａから取得できる。この結果、ホストコンピュータ２００にＵＳＢカードリーダ／ライタ１００ａが接続されると、ＵＳＢカードリーダ／ライタ１００ａはコンピュータによってＨＩＤとして認識され、アプリケーション２９４を介して、Ｆｅｌｉｃａカード３００とデータの送受信を行うためのコマンドの授受を行うことができる。従って、予め、ホストコンピュータ２００にアプリケーション２９４をインストールしておかなくとも、ＵＳＢカードリーダ／ライタ１００ａを接続するだけでアプリケーション２９４をホストコンピュータ２００に組み込む（コピーする）ことができる。よって、情報処理システム１０の利用者はＵＳＢカードリーダ／ライタ１００ａを用いて、容易に、Ｆｅｌｉｃａカード３００へデータを書き込んだり、Ｆｅｌｉｃａカード３００からデータを読み出したりできる。
【００６５】
また、第２実施例の情報処理システムによれば、第１実施例と同様に、利用者は、デバイスドライバのインストールという繁雑な作業を行う必要が無くなるとともに、ホストコンピュータ２００の利用者の管理権限によらずにＵＳＢカードリーダ／ライタ１００ａを利用できるので、利用者の利便性が向上される。
【００６６】
Ｃ．変形例：
（１）第１実施例、第２実施例では、ＵＳＢカードリーダ／ライタ１００，１００ａに、カードリーダ／ライタ機能とフラッシュメモリ機能とが備えられている構成について説明したが、フラッシュメモリ機能が備えられていなくても良い。
【００６７】
（２）第１実施例、第２実施例では、ＵＳＢカードリーダ／ライタを、汎用ドライバで動作しない特殊なデバイスの一例として説明したが、他の種々のデバイスを用いることができることは言うまでもない。
【００６８】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成をとることができる。
【図面の簡単な説明】
【００６９】
【図１】第１実施例における情報処理システム１０の装置構成を示す説明図。
【図２】第１実施例におけるＵＳＢカードリーダ／ライタ１００の内部構成を示すブロック図。
【図３】第１実施例におけるホストコンピュータ２００の内部構成を示すブロック図。
【図４】第１実施例におけるＦｅｌｉｃａカード３００の内部構成を示すブロック図。
【図５】第１実施例におけるホストコンピュータ２００とＵＳＢカードリーダ／ライタ１００との間でのデータのやりとりに関する機能の階層構造を示す説明図。
【図６】第１実施例におけるＵＳＢカードリーダ／ライタ１００を介したホストコンピュータ２００とＦｅｌｉｃａカード３００との通信処理の手順を示すフローチャート。
【図７】第１実施例におけるデバイスディスクリプタ１３１について説明する説明図。
【図８】第２実施例におけるＵＳＢカードリーダ／ライタ１００ａの内部構成を例示するブロック図。
【図９】第２実施例における情報処理システムの通信処理について説明するフローチャート。
【符号の説明】
【００７０】
１０…情報処理システム
１００…ＵＳＢカードリーダ／ライタ
１１０…ＣＰＵ
１２０…ＵＳＢバスＩ／Ｆ
１３０…ＥＥＰＲＯＭ
１４０…ＳＲＡＭ
１５０…フラッシュメモリ
１６０…電圧制御部
１７０…内部Ｉ／Ｆ
１８０…無線通信Ｉ／Ｆ
１２２ａ…ＵＳＢ基本処理部
１２２ｂ…ＨＩＤ  Ｉ／Ｆ
１２２ｃ…変換モジュール
１２３…エンドポイント
１２４…エンドポイント群
１２５…エンドポイント群
１３１…デバイスディスクリプタ
１３３…変換モジュール
１５０…フラッシュメモリ
１６０…電圧制御部
１７０…内部インタフェース
１８０…無線通信インタフェース
１８５…通信領域
２００…ホストコンピュータ
２１０…ＣＰＵ
２２０…ＲＯＭ
２３０…ＵＳＢバスＩ／Ｆ
２４０…ＲＡＭ
２６０…ハードディスクドライブ
２７０…表示部
２８０…キーボード
２３２…ＵＳＢシステムソフトウェア
２３４…ＵＳＢＨＩＤクラスドライバ
２９２…オペレーティングシステム
２９４…アプリケーション
３００…Ｆｅｌｉｃａカード
３１０…ＣＰＵ
３２０…ＲＯＭ
３３０…無線通信Ｉ／Ｆ
３４０…ＲＡＭ
３５０…ＥＥＰＲＯＭ
３０１…メッセージパイプ
３１２…ストリームパイプ群
３１３…ストリームパイプ群
３３０…無線通信インタフェース
【図１】
2010039616.tif 000003
【図２】
2010039616.tif 000004
【図３】
2010039616.tif 000005
【図４】
2010039616.tif 000006
【図５】
2010039616.tif 000007
【図６】
2010039616.tif 000008
【図７】
2010039616.tif 000009
【図８】
2010039616.tif 000010
【図９】
2010039616.tif 000011