JP5204579B2 - デバイス、情報処理システム、情報処理方法 - Google Patents

デバイス、情報処理システム、情報処理方法 Download PDF

Info

Publication number
JP5204579B2
JP5204579B2 JP2008199511A JP2008199511A JP5204579B2 JP 5204579 B2 JP5204579 B2 JP 5204579B2 JP 2008199511 A JP2008199511 A JP 2008199511A JP 2008199511 A JP2008199511 A JP 2008199511A JP 5204579 B2 JP5204579 B2 JP 5204579B2
Authority
JP
Japan
Prior art keywords
command
medium
operating system
communication means
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008199511A
Other languages
English (en)
Other versions
JP2010039616A (ja
Inventor
識介 菅原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Buffalo Inc
Original Assignee
Buffalo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Buffalo Inc filed Critical Buffalo Inc
Priority to JP2008199511A priority Critical patent/JP5204579B2/ja
Publication of JP2010039616A publication Critical patent/JP2010039616A/ja
Application granted granted Critical
Publication of JP5204579B2 publication Critical patent/JP5204579B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンピュータに着脱可能に構成されているデバイスに関し、特に、コンピュータに搭載されているオペレーティングシステムに予め組み込まれていないドライバを必要とするデバイスクラスに属するデバイスとの通信技術に関する。
近年、ユニバーサルシリアルバス(Universal Serial Bus:USB)等のホットプラグをサポートしたインターフェースデバイスの普及により、メモリカードリーダ/ライタやフラッシュメモリ、ハードディスク等の外付けのデバイスが、コンピュータに接続されて利用されている(例えば、特許文献1)。
特開2006−202339号公報
しかしながら、通常、コンピュータに搭載されているオペレーティングシステムに予め組み込まれていないデバイスドライバを必要とする特殊なデバイスを使用する場合、特殊なデバイス固有のデバイスドライバを事前にコンピュータにインストールしなければ、そのデバイスを動作させることができない。
また、コンピュータに搭載されているオペレーティングシステムが、例えば、ウィンドウズ(Windows(登録商標))である場合、管理者権限を有さない利用者は、デバイスドライバのインストールが許可されていないため、特殊なデバイスを利用することができないという問題がある。
本発明は上述の課題に鑑みてなされたものであり、所定のオペレーティングシステムが搭載されたコンピュータにおける特殊なデバイスの利用時に、利用者の利便性を向上することを目的とする。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
[適用例1]
所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、前記所定のオペレーティングシステムと媒体との間のデータを送受信するデバイスであって、HIDの属するデバイスクラスが記憶されている記憶部と、前記所定のオペレーティングシステムが搭載されたコンピュータと通信するための第1の通信手段と、媒体と通信を行うための第2の通信手段と、前記コンピュータ上で実行され、HIDが解釈可能な形式で、前記媒体と情報の授受を行うためのコマンドを記述した第1のコマンドを、前記第1の通信手段を介して前記デバイスに送出させるためのアプリケーションを、前記コンピュータに送出する送出手段と、前記アプリケーションを介して送出された第1のコマンドを受信し、前記第1のコマンドを前記媒体が解釈可能な形式で記述された第2のコマンドに変換し、前記第2の通信手段を介して、前記媒体に受け渡す制御手段と、を備えるデバイス。
適用例1のデバイスによれば、汎用ドライバでは動作しないデバイスクラスに属するデバイスに、HIDの属するデバイスクラスが記憶されているとともに、HIDドライバが解釈可能なコマンドをデバイスに送るためのアプリケーションが、デバイスが接続されたコンピュータに送出される。従って、利用者は、コンピュータにHIDとして認識されたデバイスと、コンピュータ上で動作するアプリケーションを介して簡易に通信できる。よって、利用者の利便性を向上できる。
[適用例2]
適用例1のデバイスにおいて、前記制御手段は、前記HIDが解釈可能な形式で記述された第1のコマンドと、前記HIDが解釈可能な形式以外で記述された第3のコマンドを受信可能に構成されており、受信したコマンドが前記第1のコマンドである場合に、前記受信した第1のコマンドを前記第2のコマンドに変換する。適用例2のデバイスによれば、デバイスは、受信したコマンドが、HIDが解釈可能な形式で記述された第1のコマンドであるかを判断し、判断結果に応じて、第1のコマンドを第2のコマンドに変換する。従って、コンピュータから送信されたコマンドのうち、媒体に対して送信された第1のコマンドのみを第2のコマンドに変換して適切に媒体に受け渡すことができる。
[適用例3]
適用例1または適用例2のデバイスにおいて、前記記憶部には、HIDの属するデバイスクラスが定義されたディスクリプタが記憶されている。適用例3のデバイスによれば、ディスクリプタに、HIDのデバイスクラスが記憶されている。従って、簡易な構成で、所定のオペレーティングシステムが搭載されたコンピュータに、汎用ドライバでは動作しないデバイスを汎用ドライバで動作可能なHIDとして認識させることができる。
[適用例4]
適用例1ないし適用例3いずれか記載のデバイスにおいて、前記第1の通信手段は、前記コンピュータと、USB接続により通信を行う。USBを利用したデバイス(USBデバイス)は広く利用されており、HIDの属するデバイスクラスが設定されたUSBデバイスは、通常、汎用ドライバで動作する。よって、適用例4のデバイスによれば、汎用ドライバで動作しないデバイスであっても、HIDの属するデバイスクラスが定義され、USB接続によりコンピュータに接続されるので、簡易にコンピュータに認識させることができる。
[適用例5]
適用例1ないし適用例4いずれか記載のデバイスにおいて、前記第2の通信手段は、前記媒体と、無線通信により通信を行う。適用例5のデバイスによれば、媒体をデバイスに接触させることなく通信が可能である。従って、振動や埃の多い環境での利用に好適である。また、媒体との物理的な接続を行う手間を省略できるので、利用者の利便性および処理速度の向上を図ることができる。
[適用例6]
所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、前記所定のオペレーティングシステムと媒体との間で授受されるデータを送受信するデバイスと、前記所定のオペレーティングシステムが搭載されたコンピュータと、から構成される情報処理システムであって、前記コンピュータは、前記デバイスと通信するための第1の通信手段と、ヒューマンインタフェースデバイスが解釈可能な形式で、前記媒体と情報の授受を行うためのコマンドを記述した第1のコマンドを、前記第1の通信手段を介して前記デバイスに送出するためのアプリケーションを記憶する記憶手段と、を備え、前記デバイスは、ヒューマンインタフェースデバイスの属するデバイスクラスが記憶されている記憶部と、前記所定のオペレーティングシステムが搭載されたコンピュータと通信するための第2の通信手段と、前記媒体と通信を行うための第3の通信手段と、前記第2の通信手段を介して送信された第1のコマンドを受信し、前記媒体が解釈可能な形式で記述された第2のコマンドに変換し、前記第3の通信手段を介して、前記媒体に受け渡す制御手段と、を備える、情報処理システム。
適用例6の情報処理システムによれば、所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属するデバイスに、汎用ドライバで動作可能なヒューマンインタフェースデバイス(Human Interface Device:HID)の属するデバイスクラスが記憶されている。また、デバイスを接続するコンピュータに、HIDが解釈可能な形式で記述された第1のコマンドをデバイスに送出するためのアプリケーションが予め記憶されている。この結果、所定のオペレーティングシステムが搭載されたコンピュータにデバイスが接続されると、このデバイスはコンピュータによってHIDとして認識される。従って、コンピュータを利用する利用者は、デバイスに応じた新たなデバイスドライバをコンピュータにインストールすることなく、アプリケーションを介してデバイスと通信を行うことができる。よって、利用者は、デバイスドライバのインストールという繁雑な作業を行う必要が無くなるとともに、利用者の管理権限によらずにデバイスを利用できるので、利用者の利便性を向上できる。
[適用例7]
所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、前記所定のオペレーティングシステムと媒体との間で授受されるデータを送受信するデバイスであって、HIDの属するデバイスクラスが記憶されている記憶部と、前記所定のオペレーティングシステムが搭載されたコンピュータと通信するための第1の通信手段と、前記媒体と通信を行うための第2の通信手段と、前記第1の通信手段を介して送信され、HIDが解釈可能な形式で、前記媒体と情報の授受を行うためのコマンドが記述された第1のコマンドを受信し、前記受信した第1のコマンドを前記媒体が解釈可能な形式で記述された第2のコマンドに変換し、前記第2の通信手段を介して、前記媒体に受け渡す制御手段と、を備える。
適用例7のデバイスによれば、汎用ドライバでは動作しないデバイスクラスに属するデバイスに、汎用ドライバで動作可能なHIDの属するデバイスクラスが記憶されている。従って、所定のオペレーティングシステムが搭載されたコンピュータにデバイスが接続されると、このデバイスはコンピュータによってHIDとして認識される。よって、汎用ドライバでは動作しないデバイスクラスに属するデバイスの利用時に、デバイスドライバのインストールを省略できる。従って、利用者の利便性の向上を図ることができる。
本発明において、上述した種々の態様は、適宜、組み合わせたり、一部を省略したりして適用することができる。また、本発明は、上述したデバイス、情報処理システムとしての構成の他に、デバイス、情報処理システムによる情報処理方法としても構成できる。いずれの構成においても、上述した各態様を適宜適用可能である。コンピュータが読み取り可能な記録媒体としては、例えば、フレキシブルディスクや、CD−ROM、DVD−ROM、光磁気ディスク、ICカード、ハードディスク等種々の媒体を利用することが可能である。
A.第1の実施例:
A1.システム構成:
図1は、本発明の一実施例としての記憶デバイスを適用した情報処理システム10の装置構成を示す説明図である。この情報処理システム10は、ホストコンピュータ200と、外付けのデバイスとしてのUSBカードリーダ/ライタ100と、フェリカ(Felica(登録商標))カード300と、を備えている。ホストコンピュータ200は、USBポートを備えており、このUSBポートに、外付けのデバイスとしてのUSBカードリーダ/ライタ100を接続することができる。図1の例では、USBカードリーダ/ライタ100は、ホストコンピュータ200の側面に設けられたUSBポートに接続されている。なお、図1の例では、ホストコンピュータ200とUSBカードリーダ/ライタ100とは有線接続されているが、ワイヤレスUSB等による無線接続とすることもできる。
ホストコンピュータ200には、所定のオペレーティングシステム(第1実施例では、ウィンドウズ(登録商標))がインストールされており、汎用ドライバが予め組み込まれている。本実施例において、汎用ドライバとは、ホストコンピュータ200のオペレーティングシステムに予め組み込まれているデバイスドライバを指しており、例えば、ヒューマンインタフェースデバイス(Human Interface Device:HID)のデバイスドライバを含む。USBカードリーダ/ライタ100は、汎用ドライバでは動作しないデバイスクラスに属し、媒体としてのFelicaカード300とホストコンピュータ200のオペレーティングシステムとの間のデータの送受信を行うデバイスである。USBカードリーダ/ライタ100は、第1実施例では、ホストコンピュータ200によって、汎用ドライバで動作可能なHIDとして認識される。
USBカードリーダ/ライタ100は、通信領域185を備えている。通信領域185上に、Felicaカード300をかざすことにより、USBカードリーダ/ライタ100とFelicaカード300との間で無線通信を行うことができる。
以上のような構成を有する情報処理システム10では、USBカードリーダ/ライタ100を介して、ホストコンピュータ200とFelicaカード300との間でデータの送受信が行われる。
A2.機能ブロック:
図2〜図4を参照して、情報処理システム10を構成するUSBカードリーダ/ライタ100、ホストコンピュータ200およびFelicaカード300の内部構成を示す機能ブロックについて説明する。
図2は、図1に示すUSBカードリーダ/ライタ100の内部構成を示すブロック図である。このUSBカードリーダ/ライタ100は、CPU110と、USBバスインタフェース120と、EEPROM130と、SRAM140と、フラッシュメモリ150と、電圧制御部160と、内部インタフェース170と、無線通信インタフェース(I/F)180と、を備えており、それぞれ内部バスで接続されている。USBカードリーダ/ライタ100は、メモリカードなどの記憶媒体に読み書き可能なリーダ/ライタとしての機能とともに、フラッシュメモリとしての機能を備えている。
USBバスインタフェース120は、USBの物理的な通信を実行する。EEPROM130には、デバイスディスクリプタ131、変換モジュール133が記憶されている。実施例では、無線通信インタフェース180は、Felicaカード300との通信に用いられるように構成されている。
デバイスディスクリプタ131には、USBカードリーダ/ライタ100の接続先であるホストコンピュータ200と、USBカードリーダ/ライタ100との間の通信を行うための「パイプ」と呼ばれる論理的な通信路を構成するための設定情報が含まれている。第1実施例では、USBカードリーダ/ライタ100はHIDではないが、デバイスディスクリプタ131には、デバイスの属するクラスを表すデバイスクラスにHIDを表す値が設定されている。変換モジュール133は、ホストコンピュータ200から送信されたHIDが解釈可能なコマンドであって、Felicaカード300と通信するためのコマンドである第1のコマンドCMD1を、Felicaカード300が解釈可能な第2のコマンドCMD2に変換する機能を備えている。CPU110は、変換モジュール133をSRAM140に展開して実行することで、第1のコマンドCMD1から第2のコマンドCMD2への変換を行い、ホストコンピュータ200とFelicaカード300との間のデータの仲介を行っている。なお、EEPROM130には、図示しないUSB制御プログラムが格納されており、CPU110は、この制御プログラムをSRAM140上に展開して実行することで、USB論理デバイスとして機能する。
第1実施例では、USBバスインタフェース120は特許請求の範囲(例えば、請求項6)では「第2の通信手段」に相当する。EEPROM130は、特許請求の範囲の「記憶部」に当たりし、無線通信インタフェース180は特許請求の範囲(例えば、請求項6)では「第3の通信手段」に当たる。変換モジュール133は特許請求の範囲の「制御手段」に当たる。
フラッシュメモリ150は、データを記憶するストレージである。内部インタフェース170は、フラッシュメモリ150とデータのやりとりを行うためのインタフェースを提供する。電圧制御部160は、USBバスインタフェース120を介して接続されたホストコンピュータ200から供給されるバスパワード電源を、例えば、3.3Vに調整して各部に供給する。
以上説明したように、USBカードリーダ/ライタ100は、リーダ/ライタとしての機能とフラッシュメモリとしての機能を備えており、USBバスインタフェース120は、双方の機能のコマンドを受信可能に構成されている。そして、USBバスインタフェース120は、接続先の機器(第1実施例ではホストコンピュータ200)から受信したコマンドが、Felicaカード300用(リーダ/ライタ機能用)の第1のコマンドCMD1であるか、フラッシュメモリ用のコマンド(第3のコマンド)であるかを判断し、第1のコマンドCMD1である場合には、変換モジュール133に受け渡し、第3のコマンドである場合には内部インタフェース170を介してフラッシュメモリ150に受け渡す。
図3は、図1に示すホストコンピュータ200の内部構成を示すブロック図である。このホストコンピュータ200は、CPU210と、ROM220と、USBバスインタフェース230と、RAM240と、ハードディスクドライブ260と、表示部270と、キーボード280と、を備えており、それぞれ内部バスで接続されている。USBバスインタフェース部230は、USBポートを有しており、USBカードリーダ/ライタ100を接続すると共に、図2におけるUSBバスインタフェース120と同様に、USBの物理的な通信を実行する。USBバスインタフェース230は、特許請求の範囲(例えば、請求項6)では「第1の通信手段」に当たる。
ハードディスクドライブ260には、予め、アプリケーション294が格納されている。アプリケーション294は、USBカードリーダ/ライタ100を介してFelicaカード300と通信を行うためのプログラムである。第1実施例では、アプリケーション294には、例えば、HIDとして認識されたUSBカードリーダ/ライタ100を検索する機能と、Felicaカード300とデータの授受を行うためのコマンドを送受信する機能と、が少なくとも含まれている。ハードディスクドライブ260は、特許請求の範囲の「記憶手段」に当たる。
CPU210は、所定のオペレーティングシステムの下、ハードディスクドライブ260に予め格納されているアプリケーション294を、ハードディスクドライブ260から読み出してRAM240上に展開し実行することで、HIDとして認識されたUSBカードリーダ/ライタ100を介してFelicaカード300と情報の授受を行うことができる。ROM220には、USB通信用の各種プログラム(USBシステムソフトウェアやドライバソフトウェア)が格納されている。
図4は、図1に示すFelicaカード300の内部構成を示すブロック図である。Felicaカード300は、CPU310と、ROM320と、無線通信インタフェース(I/F)330と、RAM340と、EEPROM350と、を備え、各機能ブロックは、内部バスにより接続されている。
無線通信I/F330は、カード機能とリーダ/ライタ機能とが含まれている。カード機能には、通信用の集積回路(ICチップ)とアンテナとが含まれており、リーダ/ライタ機能には、Felicaカード300と、他の機器との情報の授受を行う通信機能が含まれている。Felicaカード300をUSBカードリーダ/ライタ100の通信領域185にかざすと、アンテナからの電磁波によって電力が発生し、この電力を用いて集積回路がリーダ/ライタ機能と通信を行い、データの読み書きを行う。
A3.階層構造:
図5は、ホストコンピュータ200とUSBカードリーダ/ライタ100との間でのデータのやりとりに関する機能の階層構造を示す説明図である。ホストコンピュータ200では、物理層における信号転送を制御するUSBバスインタフェース230が最下位となり、その上に、USBシステムソフトウェア232と、USBHIDクラスドライバ234と、オペレーティングシステム292と、Felica通信用のアプリケーション294と、がこの順番に配置されている。一方、USBカードリーダ/ライタ100では、USBバスインタフェース120が最下位となり、その上に、USB論理デバイス部122が配置されている。
USB論理デバイス部122は、USB基本処理部122aと、HIDインタフェース122bと、変換モジュール122cと、を備えている。USB基本処理部122aは、エンドポイント123を備えており、HIDインタフェース122bは、IN方向のエンドポイント群124と、OUT方向のエンドポイント群125を備えている。
USB基本処理部122aは、エンドポイント123を用いて、ホストコンピュータ200が備えるUSBシステムソフトウェア232との間でメッセージパイプ301を形成してコントロール転送を実現している。ここで、「エンドポイント」とは、デバイス(USBカードリーダ/ライタ100)においてホストと通信を行うためのリソース(FIFOバッファ等)をいう。また、「メッセージパイプ」とは、双方向通信が可能な論理接続をいう。なお、このメッセージパイプ301はデフォルトパイプとも呼ばれ、ホスト(ホストコンピュータ200)とデバイス(USBカードリーダ/ライタ100)との間における各種設定/制御を行うための通信(コントロール転送)専用の論理接続である。
USBHIDクラスドライバ234とUSBHIDインタフェース122aの間には、IN方向(ホストコンピュータ200に入力する方向)のストリームパイプ群312と、OUT方向(ホストコンピュータ200から出力する方向)のストリームパイプ群313とが構成される。「ストリームパイプ」とは、コントロール転送以外の通信(バルク転送やインタラプト転送等)で用いられる単方向の論理接続をいう。なお、「バルク転送」は、比較的大容量データを一括して高速に転送する通信をいい、「インタラプト転送」は、小容量のデータを定期的に転送する通信をいう。図示を省略しているが、フラッシュメモリ150についても、上記説明と同様に階層構造の通信路が確立される。
なお、エンドポイントの数の最大値は予め決められており、ロースピードでは最大送受2組で、それ以外では、最大送受15組となっている。パイプとエンドポイントの構成数は、デバイス側で指定することになり、その構成を指定するデータが、デバイスディスクリプタ131(図2)である。デバイスディスクリプタ131については、後に詳述する。
以上の構成を有する情報処理システム10では、HIDとしてホストコンピュータ200に認識されたUSBカードリーダ/ライタ100を用いて、ホストコンピュータ200とFelicaカード300との間の通信制御が行われる。
A4.通信制御処理:
図6は、第1実施例におけるホストコンピュータ200とUSBカードリーダ/ライタ100との通信制御処理の手順を示すフローチャートである。また、図7は、第1実施例におけるデバイスディスクリプタ131について説明する説明図である。図6において、左側はホストコンピュータ200における手順を示し、中央はUSBカードリーダ/ライタ100における手順を示し、右側はFelicaカード300における手順を示す。
USBフラッシュメモリ100がホストコンピュータ200に接続されると、ホストコンピュータ200においてUSBバスインタフェース230は、電気的な信号の送受に基づいて、デバイスの物理的な接続の検出を行う(ステップS10)。ホストコンピュータ200においてデバイスの接続が検出されると、ホストコンピュータ200のUSBソフトウェア232とUSBカードリーダ/ライタ100のUSB基本処理部112aとの間でUSBの初期化処理が実行される(ステップS11)。この初期化処理は、USBの標準仕様に規定されている初期化処理である。具体的には、ホストコンピュータ200は、デバイスの接続を検出するとデバイスリクエストを送信する。デバイス側は、ホストコンピュータ200から送信されたデバイスリクエストへの応答として、デバイスディスクリプタ131をホストコンピュータ200に対して送信する。このようにして、ホストコンピュータ200は、デバイスディスクリプタ131を取得できる。デバイスディスクリプタ131は、メッセージパイプ301上のコントロール転送を使って送信される。ホストコンピュータ200は、受信したデバイスディスクリプタ131のデータに応じてパイプを構成する。USBカードリーダ/ライタ100との間の通信が確立される(ステップS12)
図7を参照して、デバイスディスクリプタ131について説明する。デバイスディスクリプタ131には、デバイスについての基本情報であり、ホストコンピュータ200等のホストが必要とする情報が含まれている。デバイスディスクリプタ131は、デバイスがホストに接続されると、最初に読み込まれる情報の一つである。
図7に示すように、デバイスディスクリプタ131は、18バイトのデータであり、14のフィールドを持つように構成されている。図7のリストは、デバイスディスクリプタ131内の順序に従って、各フィールドを表している。デバイスディスクリプタ131には、デバイスディスクリプタ131自身の情報、デバイスの情報、コンフィギュレーション(設定)の情報、デバイスの属するクラスについての情報が含まれている。
図7の一覧表に記載されている順に簡単に説明する。なお、図7において、「フィールド名」は、各フィールド(項目)の名称を表しており、「オフセット(10進)」は、各フィールドのデータが何バイト目から格納されているかを表しており、「サイズ(バイト)」は、各フィールドのデータのサイズをバイトで表しており、「内容」は、各フィールドの内容を表している。例えば、「bLength」は0バイト目に格納されているデータであって、デバイスディスクリプタ131のバイト長を表しており、1バイトのサイズで表されている。また、「bDeviceClass」はデバイスクラスのクラスコードを表している。
本実施例では、「bDeviceClass」に、HIDのデバイスクラスを表す「0X00」が格納されている。なお、第1実施例では、この値は、USBカードリーダ/ライタ100の製造時において、製造者(ベンダ)が予め格納する。第1実施例では、ホストコンピュータ200のCPU210は、USBカードリーダ/ライタ100に対して、デバイスディスクリプタ131の取得要求を送出し、その応答としてデバイスディスクリプタ131を受け取り、デバイスディスクリプタ131の「bDeviceClass」の値を参照して、USBカードリーダ/ライタ100をHIDと認識し、通信を確立する。デバイスディスクリプタ131は、以上説明したように、ホストコンピュータ200とUSBカードリーダ/ライタ100との間の通信路(パイプ)確立に用いられる。
図6に戻り説明を続ける。ホストコンピュータ200は、接続されたデバイス(USBカードリーダ/ライタ100)をHIDと認識しているため、このままでは、USBカードリーダ/ライタ100を用いてFelicaカード300と通信を行うことはできない。よって、ホストコンピュータ200は、予めインストールされているアプリケーション294を起動し(ステップS13)、ホストコンピュータ200に接続されている種々のデバイスのうち、HIDと認識されたUSBカードリーダ/ライタ100を検索するための検索パケットを、接続されている種々のデバイスに送信する(ステップS14)。検索パケットには、USBカードリーダ/ライタ100を特定するための情報が含まれており、検索パケットを受信した種々のデバイスのうち、USBカードリーダ/ライタ100のみがホストコンピュータ200に対して応答パケットを送出する(ステップS15)。検索パケットの送信は、アプリケーション294が、例えば起動と同時に自動的に行ってもよいし、ユーザの操作に応じて行っても良い。
アプリケーション294は、ユーザの指示に応じて、USBカードリーダ/ライタ100に対して、Felicaカード300とデータの授受を行うための第1のコマンドCMD1を送出する(ステップS16)。具体的には、アプリケーション294は、USBカードリーダ/ライタ100を宛先として、HIDが解釈可能な形式で記述した第1のコマンドCMD1をUSBカードリーダ/ライタ100に対して送出する。オペレーティングシステム292は、第1のコマンドCMD1を、USBHIDクラスドライバ234を介して、USBカードリーダ/ライタ100のHIDインタフェース122bに受け渡す。なお、第1実施例において、アプリケーション294から送出される第1のコマンドCMD1には、例えば、媒体の有無の問い合わせ、ユーザの認証、媒体への情報の書き込み、媒体からの情報の読み取り等が含まれる。ここで、「媒体の有無」とは、Felicaカード300が通信領域185にかざされ、ホストコンピュータ200とFelicaカード300とが、USBカードリーダ/ライタ100を介して通信可能な状態とされているかを表す。
USBカードリーダ/ライタ100は、受信した第1のコマンドCMD1をFelicaカード300が解釈可能な第2のコマンドCMD2に変換する(ステップS17)。具体的には、USBカードリーダ/ライタ100のHIDインタフェース122bは、USBHIDクラスドライバ234から受信した第1のコマンドCMD1を変換モジュール122cに受け渡す。変換モジュール122cは、受け渡された第1のコマンドCMD1を第2のコマンドCMD2に変換する。USBカードリーダ/ライタ100の変換モジュール122cは、無線通信インタフェース180を介してFelicaカード300に対して第2のコマンドCMD2を送出する(ステップS18)。なお、第1実施例では、USBカードリーダ/ライタ100の無線通信I/F180と、Felicaカード300の無線通信I/F330との間は、ユーアート(UART:Universal Asynchronous Receiver Transmitter)によるシリアル通信により情報の授受が行われている。
Felicaカード300は、USBカードリーダ/ライタ100から第2のコマンドCMD2を受信し実行する(ステップS19)。そして、Felicaカード300は、第2のコマンドCMD2の実行が完了すると、完了した旨を表すコマンドをUSBカードリーダ/ライタ100に対して送信する(ステップS20)。なお、この「完了した旨を表すコマンド」は、Felicaカード300が解釈可能なコマンドであり、第2のコマンドCMD2と同じ形式のコマンドである。ホストコンピュータ200から送出されたコマンド(第1のコマンドCMD1)が、例えば、データの書き込み要求である場合には、「完了した旨を表すコマンド」には、書き込みの成否を含む情報が含まれており、また、例えば、第1のコマンドCMD1がデータの読み取り要求である場合には、「完了した旨を表すコマンド」には、要求に応じたデータが含まれる。
USBカードリーダ/ライタ100の変換モジュール122cは、完了した旨を表すコマンドを受信すると、受信したコマンドをHIDが解釈可能なコマンド(第1のコマンドCMD1と同形式のコマンド)に変換して、ホストコンピュータ200のUSBHIDクラスドライバ234を介してアプリケーション294に送信する(ステップS21)。ホストコンピュータ200のアプリケーション294は、第1のコマンドCMD1に対する応答のコマンドを受信し、第1のコマンドCMD1についての処理を終了する。更に、Felicaカード300へのコマンド送信を行う場合には、ステップS16以降の処理を繰り返せばよい。
以上説明した第1実施例の情報処理システム10によれば、所定のオペレーティングシステム(ウィンドウズ)に予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属するデバイスであるUSBカードリーダ/ライタ100に、汎用ドライバで動作可能なHIDの属するデバイスクラスが記憶されている。この結果、ホストコンピュータ200にUSBカードリーダ/ライタ100が接続されると、USBカードリーダ/ライタ100はコンピュータによってHIDとして認識される。また、HIDドライバが解釈可能なコマンドをデバイスに送るためのアプリケーション294が、デバイスが接続されたホストコンピュータ200に予めインストールされている。一般的に、HIDは、オペレーティングシステムに予め組み込まれている汎用ドライバで動作可能であるので、ホストコンピュータ200を利用する利用者は、USBカードリーダ/ライタ100に応じた新たなデバイスドライバをホストコンピュータ200にインストールすることすることなく、アプリケーション294を介してUSBカードリーダ/ライタ100と通信を行うことができる。よって、利用者は、デバイスドライバのインストールという繁雑な作業を行う必要が無くなるとともに、ホストコンピュータ200の利用者の管理権限によらずにUSBカードリーダ/ライタ100を利用できるので、利用者の利便性を向上できる。
また、第1実施例の情報処理システム10によれば、USBカードリーダ/ライタ100は、受信したコマンドが、HIDが解釈可能な形式で記述された第1のコマンドCMD1であるかを判断し、判断結果に応じて、第1のコマンドCMD1のみを第2のコマンドCMD2に変換する。従って、ホストコンピュータ200から送信されたコマンドのうち、Felicaカード300に対して送信された第1のコマンドCMD1のみを第2のコマンドCMD2に変換して適切にFelicaカード300に受け渡すことができる。
また、第1実施例の情報処理システム10によれば、USBデバイスに記憶されているデバイスディスクリプタ131のデバイスクラスの設定値が、製造段階で、HIDの属するクラスを表す値に設定されている。従って、簡易な構成で、USBカードリーダ/ライタ100をHIDと認識させることができる。
また、第1実施例の情報処理システム10によれば、Felicaカード300とUSBカードリーダ/ライタ100とは無線接続により通信が行われている。従って、Felicaカード300をUSBカードリーダ/ライタ100に接触させることなく通信が可能である。よって、振動や埃の多い環境での利用に好適である。また、USBカードリーダ/ライタ100とFelicaカード300との物理的な接続を行う手間を省略できるので、利用者の利便性および処理速度の向上を図ることができる。
また、第1実施例の情報処理システム10によれば、デバイスとしてホストコンピュータ200とUSB接続により通信を行うカードリーダ/ライタ100が用いられている。USBを利用したデバイス(USBデバイス)は広く利用されており、HIDの属するデバイスクラスが設定されたUSBデバイスは、通常、汎用ドライバで動作する。よって、汎用ドライバで動作しないカードリーダ/ライタのようなデバイスであっても、HIDの属するデバイスクラスが定義され、USB接続によりコンピュータに接続されるので、簡易にコンピュータに認識させることができる。
B.第2実施例:
第1実施例では、アプリケーション294が予めホストコンピュータ200にインストールされている構成の情報処理システム10について説明したが、第2実施例では、ホストコンピュータ200に予めアプリケーション294がインストールされておらず、USBカードリーダ/ライタのホストコンピュータ200への接続時に、アプリケーション294が、USBカードリーダ/ライタからホストコンピュータ200にコピーされる構成の情報処理システムについて説明する。第2実施例のシステム構成は、第1実施例の図1において説明したものと同様である。
B1.機能ブロック:
図8は、第2実施例におけるUSBカードリーダ/ライタ100aの内部構成を例示するブロック図である。USBカードリーダ/ライタ100aは、CPU110と、USBバスインタフェース120と、EEPROM130と、SRAM140と、フラッシュメモリ150と、電圧制御部160と、内部インタフェース170と、無線通信インタフェース180と、を備えており、それぞれ内部バスで接続されている。第2実施例において、USBバスインタフェース120、無線通信インタフェース180は、それぞれ、特許請求の範囲(例えば、請求項1〜5および7)では、「第1の通信手段」、「第2の通信手段」に当たる。また、第2実施例では、CPU110が、特許請求の範囲の「送出手段」の機能を備える。
第2実施例では、EEPROM130には、デバイスディスクリプタ131、変換モジュール133およびホストコンピュータ200とFelicaカード300との通信に用いられるアプリケーション294が格納されている。なお、第2実施例のUSBカードリーダ/ライタ100aは、EEPROM130にアプリケーション294が記憶されていること以外は、第1実施例と同様である。
B2.通信制御処理:
図9は、第2実施例における情報処理システムの通信処理について説明するフローチャートである。図9において、左側はホストコンピュータ200における手順を示し、中央はUSBカードリーダ/ライタ100aにおける手順を示し、右側はFelicaカード300における手順を示す。
ホストコンピュータ200のUSBバスインタフェース230は、電気的な信号の送受に基づいて、USBカードリーダ/ライタ100aの接続の検出を行う(ステップS30)。ホストコンピュータ200においてデバイスの接続が検出されると、ホストコンピュータ200のUSBソフトウェア232とUSBカードリーダ/ライタ100aのUSB基本処理部112aとの間でUSBの初期化処理が実行される(ステップS31)、USBカードリーダ/ライタ100aとホストコンピュータ200との間の通信が確立される(ステップS32)。ステップS30,S31の処理は、それぞれ、第1実施例において説明した図6のステップS10,S11と同一である。
初期化処理が終了すると、USBカードリーダ/ライタ100aのCPU110は、ホストコンピュータ200に対して、EEPROM130内に記憶されているアプリケーション294を送出する(ステップS33)。USBカードリーダ/ライタ100aからホストコンピュータ200へのアプリケーション294の送出は、例えば、EEPROM130に、アプリケーション294をホストコンピュータ200に送出(コピー)するためのプログラムを格納するとともに、ホストコンピュータ200により、このコピーするためのプログラムの自動実行を可能とするためのオートランファイル(autorun.inf)も、併せて格納することにより実現可能である。なお、オートランファイルを実行可能とするために、例えば、EEPROM130内に、仮想的にCD/DVDデバイスを構成する領域を設けてもよい。
ホストコンピュータ200は、USBカードリーダ/ライタ100aからアプリケーション294を受け取ると、ホストコンピュータ200のCPU210は、アプリケーション294をRAM240上に読み込んで実行する(ステップS34)。ステップS35〜S42までの処理は、第1実施例において説明した図6のステップS14〜S21までの処理に当たるため、説明を省略する。
以上説明したい第2実施例の情報処理システムによれば、所定のオペレーティングシステム(ウィンドウズ)に予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属するデバイスであるUSBカードリーダ/ライタ100aに、汎用ドライバで動作可能なHIDの属するデバイスクラスが記憶されている。また、HIDドライバが解釈可能なコマンドをデバイスに送るためのアプリケーション294を、USBカードリーダ/ライタ100aから取得できる。この結果、ホストコンピュータ200にUSBカードリーダ/ライタ100aが接続されると、USBカードリーダ/ライタ100aはコンピュータによってHIDとして認識され、アプリケーション294を介して、Felicaカード300とデータの送受信を行うためのコマンドの授受を行うことができる。従って、予め、ホストコンピュータ200にアプリケーション294をインストールしておかなくとも、USBカードリーダ/ライタ100aを接続するだけでアプリケーション294をホストコンピュータ200に組み込む(コピーする)ことができる。よって、情報処理システム10の利用者はUSBカードリーダ/ライタ100aを用いて、容易に、Felicaカード300へデータを書き込んだり、Felicaカード300からデータを読み出したりできる。
また、第2実施例の情報処理システムによれば、第1実施例と同様に、利用者は、デバイスドライバのインストールという繁雑な作業を行う必要が無くなるとともに、ホストコンピュータ200の利用者の管理権限によらずにUSBカードリーダ/ライタ100aを利用できるので、利用者の利便性が向上される。
C.変形例:
(1)第1実施例、第2実施例では、USBカードリーダ/ライタ100,100aに、カードリーダ/ライタ機能とフラッシュメモリ機能とが備えられている構成について説明したが、フラッシュメモリ機能が備えられていなくても良い。
(2)第1実施例、第2実施例では、USBカードリーダ/ライタを、汎用ドライバで動作しない特殊なデバイスの一例として説明したが、他の種々のデバイスを用いることができることは言うまでもない。
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成をとることができる。
第1実施例における情報処理システム10の装置構成を示す説明図。 第1実施例におけるUSBカードリーダ/ライタ100の内部構成を示すブロック図。 第1実施例におけるホストコンピュータ200の内部構成を示すブロック図。 第1実施例におけるFelicaカード300の内部構成を示すブロック図。 第1実施例におけるホストコンピュータ200とUSBカードリーダ/ライタ100との間でのデータのやりとりに関する機能の階層構造を示す説明図。 第1実施例におけるUSBカードリーダ/ライタ100を介したホストコンピュータ200とFelicaカード300との通信処理の手順を示すフローチャート。 第1実施例におけるデバイスディスクリプタ131について説明する説明図。 第2実施例におけるUSBカードリーダ/ライタ100aの内部構成を例示するブロック図。 第2実施例における情報処理システムの通信処理について説明するフローチャート。
符号の説明
10…情報処理システム
100…USBカードリーダ/ライタ
110…CPU
120…USBバスI/F
130…EEPROM
140…SRAM
150…フラッシュメモリ
160…電圧制御部
170…内部I/F
180…無線通信I/F
122a…USB基本処理部
122b…HID I/F
122c…変換モジュール
123…エンドポイント
124…エンドポイント群
125…エンドポイント群
131…デバイスディスクリプタ
133…変換モジュール
150…フラッシュメモリ
160…電圧制御部
170…内部インタフェース
180…無線通信インタフェース
185…通信領域
200…ホストコンピュータ
210…CPU
220…ROM
230…USBバスI/F
240…RAM
260…ハードディスクドライブ
270…表示部
280…キーボード
232…USBシステムソフトウェア
234…USBHIDクラスドライバ
292…オペレーティングシステム
294…アプリケーション
300…Felicaカード
310…CPU
320…ROM
330…無線通信I/F
340…RAM
350…EEPROM
301…メッセージパイプ
312…ストリームパイプ群
313…ストリームパイプ群
330…無線通信インタフェース

Claims (9)

  1. 所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、前記所定のオペレーティングシステムと媒体との間のデータを送受信するデバイスであって、
    ヒューマンインタフェースデバイスの属するデバイスクラスが記憶されている記憶部と、
    前記所定のオペレーティングシステムが搭載されたコンピュータと通信するための第1の通信手段と、
    媒体と通信を行うための第2の通信手段と、
    前記コンピュータ上で実行され、ヒューマンインタフェースデバイスが解釈可能な形式で、前記媒体と情報の授受を行うためのコマンドを記述した第1のコマンドを、前記第1の通信手段を介して前記デバイスに送出させるためのアプリケーションを、前記コンピュータに送出する送出手段と、
    前記アプリケーションを介して送出された第1のコマンドを受信し、前記第1のコマンドを前記媒体が解釈可能な形式で記述された第2のコマンドに変換し、前記第2の通信手段を介して、前記媒体に受け渡す制御手段と、
    を備えるデバイス。
  2. 請求項1記載のデバイスであって、
    前記制御手段は、前記ヒューマンインタフェースデバイスが解釈可能な形式で記述された第1のコマンドと、前記ヒューマンインタフェースデバイスが解釈可能な形式以外で記述された第3のコマンドを受信可能に構成されており、受信したコマンドが前記第1のコマンドである場合に、前記受信した第1のコマンドを前記第2のコマンドに変換する、
    デバイス。
  3. 請求項1または請求項2記載のデバイスであって、
    前記記憶部には、ヒューマンインタフェースデバイスの属するデバイスクラスが定義されたディスクリプタが記憶されている、デバイス。
  4. 請求項1ないし請求項3いずれか記載のデバイスであって、
    前記第1の通信手段は、前記コンピュータと、ユニバーサルシリアルバス(Universal Serial Bus:USB)接続により通信を行う、
    デバイス。
  5. 請求項1ないし請求項4いずれか記載のデバイスであって、
    前記第2の通信手段は、前記媒体と、無線通信により通信を行う、
    デバイス。
  6. 所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、前記所定のオペレーティングシステムと媒体との間で授受されるデータを送受信するデバイスと、前記所定のオペレーティングシステムが搭載されたコンピュータと、から構成される情報処理システムであって、
    前記コンピュータは、
    前記デバイスと通信するための第1の通信手段と、
    ヒューマンインタフェースデバイスが解釈可能な形式で、前記媒体と情報の授受を行うためのコマンドを記述した第1のコマンドを、前記第1の通信手段を介して前記デバイスに送出するためのアプリケーションを記憶する記憶手段と、を備え、
    前記デバイスは、
    ヒューマンインタフェースデバイスの属するデバイスクラスが記憶されている記憶部と、
    前記所定のオペレーティングシステムが搭載されたコンピュータと通信するための第2の通信手段と、
    前記媒体と通信を行うための第3の通信手段と、
    前記第2の通信手段を介して送信された第1のコマンドを受信し、前記媒体が解釈可能な形式で記述された第2のコマンドに変換し、前記第3の通信手段を介して、前記媒体に受け渡す制御手段と、
    を備える、情報処理システム。
  7. 所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、前記所定のオペレーティングシステムと媒体との間で授受されるデータを送受信するデバイスであって、
    ヒューマンインタフェースデバイスの属するデバイスクラスが記憶されている記憶部と、
    前記所定のオペレーティングシステムが搭載されたコンピュータと通信するための第1の通信手段と、
    前記媒体と通信を行うための第2の通信手段と、
    前記第1の通信手段を介して送信され、ヒューマンインタフェースデバイスが解釈可能な形式で、前記媒体と情報の授受を行うためのコマンドが記述された第1のコマンドを受信し、前記受信した第1のコマンドを前記媒体が解釈可能な形式で記述された第2のコマンドに変換し、前記第2の通信手段を介して、前記媒体に受け渡す制御手段と、
    を備える、
    デバイス。
  8. 所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、ヒューマンインタフェースデバイスの属するデバイスクラスが記憶されているデバイスと、前記所定のオペレーティングシステムが搭載されたコンピュータと、から構成される情報処理システムが実行する情報処理方法であって、
    前記コンピュータは、
    ヒューマンインタフェースデバイスが解釈可能な形式で、媒体と情報の授受を行うためのコマンドを記述した第1のコマンドを生成し、
    前記生成した第1のコマンドを前記デバイスに送出し、
    前記デバイスは、
    前記第1のコマンドを受信し、
    前記受信した第1のコマンドを、前記媒体が解釈可能な形式で記述された第2のコマンドに変換し、
    前記第2のコマンドを前記媒体に受け渡す、
    情報処理方法。
  9. 所定のオペレーティングシステムに予め組み込まれている汎用ドライバでは動作しないデバイスクラスに属し、ヒューマンインタフェースデバイスを表すデバイスクラスが記憶されているデバイスが実行する情報処理方法であって、
    前記所定のオペレーティングシステムが搭載されたコンピュータ上で実行され、ヒューマンインタフェースデバイスが解釈可能な形式で、媒体と情報の授受を行うためのコマンドを記述した第1のコマンドを生成させるためのアプリケーションを前記コンピュータに送出し、
    前記アプリケーションによって生成された第1のコマンドを受信し、
    前記受信した第1のコマンドを、前記媒体が解釈可能な形式で記述された第2のコマンドに変換し、
    前記第2のコマンドを前記媒体に受け渡す、
    情報処理方法。
JP2008199511A 2008-08-01 2008-08-01 デバイス、情報処理システム、情報処理方法 Active JP5204579B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008199511A JP5204579B2 (ja) 2008-08-01 2008-08-01 デバイス、情報処理システム、情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008199511A JP5204579B2 (ja) 2008-08-01 2008-08-01 デバイス、情報処理システム、情報処理方法

Publications (2)

Publication Number Publication Date
JP2010039616A JP2010039616A (ja) 2010-02-18
JP5204579B2 true JP5204579B2 (ja) 2013-06-05

Family

ID=42012123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008199511A Active JP5204579B2 (ja) 2008-08-01 2008-08-01 デバイス、情報処理システム、情報処理方法

Country Status (1)

Country Link
JP (1) JP5204579B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751353A (zh) * 2009-12-24 2010-06-23 深圳华为通信技术有限公司 数据卡升级方法及装置
CN101882231B (zh) * 2010-06-30 2012-11-14 方正科技集团苏州制造有限公司 一种rfid读写器及其数据传输方法
JP5703845B2 (ja) 2011-03-01 2015-04-22 株式会社リコー 情報処理装置およびプログラム
US9619417B2 (en) * 2011-06-17 2017-04-11 Alcatel Lucent Method and apparatus for remote delivery of managed USB services via a mobile computing device
JP6020032B2 (ja) * 2011-12-28 2016-11-02 株式会社リコー 情報処理装置、情報処理装置の制御方法およびプログラム
WO2016114140A1 (en) * 2015-01-14 2016-07-21 Ricoh Company, Limited Information processing apparatus, information processing system, information processing method, computer program, and storage medium
JP6769023B2 (ja) 2015-01-14 2020-10-14 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、プログラム及び記憶媒体
JP6531446B2 (ja) * 2015-03-20 2019-06-19 富士電機株式会社 Hid_usb通信を用いたups管理装置及び方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003084873A (ja) * 2001-09-12 2003-03-19 Toshiba Corp 周辺装置
TWI267742B (en) * 2002-03-01 2006-12-01 Acer Labs Inc Portable peripheral device having an embedded storage module
JP4650664B2 (ja) * 2004-06-21 2011-03-16 富士ゼロックス株式会社 データ管理システム
JP2006120178A (ja) * 2005-12-19 2006-05-11 Toshiba Corp 複合icカード

Also Published As

Publication number Publication date
JP2010039616A (ja) 2010-02-18

Similar Documents

Publication Publication Date Title
JP5204579B2 (ja) デバイス、情報処理システム、情報処理方法
JP3565686B2 (ja) コンピュータの記憶装置及び変換システム
JP4799417B2 (ja) ホストコントローラ
US20020156952A1 (en) Communication control apparatus, communication system and communication control method
US8135871B2 (en) Computer system and control method of the same
US20030078036A1 (en) Device and method for automatically installing software by wireless identification
JP4600518B2 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラム
JP2009515250A (ja) 近距離通信ホストコントローラインターフェイス
BRPI0712109A2 (pt) método para a comunicação com um cartão de memória multifuncional
US20070245055A1 (en) USB composite device, USB communication system, and USB communication method
US20110107117A1 (en) Method and apparatus for activating device
JP2007233800A (ja) インタフェース回路における転送方式切換回路
US6779052B2 (en) Electronic apparatus, system and method for controlling communication among devices coupled through different interfaces
US20110111698A1 (en) Electronic apparatus and access control method
US8904094B2 (en) Memory system in which extended function can easily be set
US7102671B1 (en) Enhanced compact flash memory card
KR20020036717A (ko) 마이크로컴퓨터 및 그 제어 방법
JP3641239B2 (ja) メモリカードを制御するための装置および方法
JP5241439B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP2003281477A (ja) 電子機器、電子カード、及びカード識別方法
US8214569B2 (en) Method for reading and writing non-standard register of serial advanced technology attachment (SATA) device
JP2005115427A (ja) コンピュータにローカル接続される周辺装置
US20080256289A1 (en) Memory apparatus to write and read data, and method thereof
JP2003337784A (ja) 制御システム及びusbデバイス
JP2005115440A (ja) コンピュータにアンインストールを行わせるためのコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130215

R150 Certificate of patent or registration of utility model

Ref document number: 5204579

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250