【手続補正書】
【提出日】平成18年11月24日(2006.11.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項４
【補正方法】変更
【補正の内容】
【請求項４】
前記通信用インターフェイスがＵＳＢとＲＳ２３２Ｃのいずれかであり、前記通信用インターフェイスの種別を判別する機能は、前記通信用インターフェイスがＵＳＢの場合に前記下位装置に内蔵されるＵＳＢコントローラＩＣ内部の特定レジスタが割り当てられるアドレスの値を参照し、得られた値に基づき前記通信用インターフェイスの種別の判別を行うものであることを特徴とする請求項１記載の情報処理システムの下位装置。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項５
【補正方法】変更
【補正の内容】
【請求項５】
前記特定レジスタとして、予め初期値に特徴的な値を示すレジスタを選定しておくことを特徴とする請求項４記載の情報処理システムの下位装置。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明はかかる知見に基づくものであり、本発明は、情報処理システムの上位装置との間で通信を行うとともに状況に応じた処理を実施して当該上位装置に対し現在の状態と処理結果を送信する情報処理システムの下位装置において、当該下位装置のコンピュータは状況に応じた処理を実施するために当該下位装置の動作を制御するプログラムを備えており、尚かつこのプログラムにより、当該下位装置に備え付けられた通信用インターフェイスを制御する制御部を介して当該通信用インターフェイスの種別を判別する機能と、これら通信用インターフェイスを介して上位装置との間で通信を行う機能と、上位装置から送信されたコマンドを各通信用インターフェイスごとに対応した処理を行うモジュールを利用して解析する機能と、解析した後のコマンドに応じ、通信用インターフェイスに依存しない単一のモジュールを利用して当該下位装置の動作を制御する機能とを備えているというものである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
上述した知見に基づき、本発明者は、情報処理システムの下位装置（例えばカードリーダなど）が通信インターフェイスのみが異なり実体的な内容は同じ別々の機種であっても、同一のプログラムを各下位装置に設けられたコンピュータに組み込み、そのプログラムにより、通信用インターフェイスを制御する制御部を介してその通信用インターフェイス（およびこのインターフェイスに準拠した通信方法）を判別する機能、及び、判別した通信用インターフェイス（および通信方法）を用いて通信を行える機能を作成した。このようにソフトウエア上で判別処理を実施するようにすれば、通信インターフェイスのみが異なり実体的な内容は同じ別々の機種であっても一つのプログラムにより対応することが可能となるため、仮に修正が必要になった場合であっても当該１つのプログラムを修正するだけで済むし、修正後の検証も１回で済む。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
本発明において、上記情報処理システムの下位装置は、請求項２記載のように、電源立ち上げ時またはリセット時に通信用インターフェイスの種別の判別を自動的に行う機能を備えていることが好ましい。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
また、本発明は、通信用インターフェイス用の通信ポートを１つのみ備えることも好ましい。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
また、本発明においては、上記情報処理システムの下位装置において、通信用インターフェイスがＵＳＢとＲＳ２３２Ｃのいずれかであり、通信用インターフェイスの種別を判別する機能は、通信用インターフェイスがＵＳＢの場合に下位装置に内蔵されるＵＳＢコントローラＩＣ内部の特定の特定レジスタが割り当てられるアドレスの値を参照し、得られた値に基づき通信用インターフェイスの種別の判別を行うというように構成することが好ましい。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
この場合、上記特定レジスタとしては、請求項５記載のように予め初期値に特徴的な値を示すレジスタを選定しておくことが好ましい。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
また、上記特徴的な値を示すレジスタが複数設置されていることも好ましい。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
本発明において、上記情報処理システムの下位装置は、カードリーダに適用することができる。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
さらに、下位装置用動作制御プログラムとしての本発明は、情報処理システムの下位装置に設けられたコンピュータに、上位装置との間で通信を行わせるとともに状況に応じた処理を実施させて当該上位装置に対し現在の状態と処理結果を送信させる情報処理システムの下位装置用動作制御プログラムにおいて、当該下位装置に備え付けられた通信用インターフェイスを制御する制御部を介して当該通信用インターフェイスの種別を判別する機能と、これら通信用インターフェイスを介して上位装置との間で通信を行う機能と、上位装置から送信されたコマンドを各通信用インターフェイスごとに対応した処理を行うモジュールを利用して解析する機能と、この解析した後のコマンドに応じ、通信用インターフェイスに依存しない単一のモジュールを利用して当該下位装置の動作を制御する機能とを実現させるというものである。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
さらに、動作制御方法としての発明は、情報処理システムの下位装置に設けられたコンピュータにより、上位装置との間で通信を行うとともに状況に応じた処理を実施して当該上位装置に対し現在の状態と処理結果を送信する情報処理システムの下位装置用動作制御方法において、当該下位装置に備え付けられた通信用インターフェイスを制御する制御部を介して当該通信用インターフェイスの種別を判別し、これら通信用インターフェイスを介して上位装置との間で通信を行い、上位装置から送信されたコマンドを各通信用インターフェイスごとに対応した処理を行うモジュールを利用して解析し、この解析した後のコマンドに応じ、通信用インターフェイスに依存しない単一のモジュールを利用して当該下位装置の動作を制御するというものである。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
本発明における情報処理システムの下位装置によると、プログラムを一元管理することが可能となり、従来のように通信用インターフェイス毎に異なるプログラムを管理する必要がなくなる。このため、ソフト上の修正が必要となった場合であっても従来より手間や時間がかからず、尚かつ検証も１回で済むようになることから、システム管理上の手間と時間とコストを大幅に削減することが可能となる。このように、１つのプログラムで複数の通信用インターフェイスに対応するという汎用性を備えれば開発コストや開発期間といった面でも効率的となり、この結果として開発効率を大幅に改善することにつながる。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
また、本発明における情報処理システムの下位装置において、電源立ち上げ時またはリセット時に通信用インターフェイスの種別判別が行われるようにしておけば、電源立ち上げ時またはリセットのたびに通信用インターフェイスの判別をしあるいはその確認をすることができる。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
また、本発明における情報処理システムの下位装置において、通信用インターフェイス用の通信ポートを１つのみ備えることとしておけば、コスト削減と装置の小型化に有利となる。また、通信ポートが１つのみであるので、間違って他の通信ポートにつなげてしまうという問題も起こらない。さらに、使用していない通信ポートを使用して盗聴されることもなく、セキュリティ性が高まる。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
また、本発明における情報処理システムの下位装置においては、通信用インターフェイスがＵＳＢとＲＳ２３２ＣのいずれかであるというシステムにおいてこれらＵＳＢとＲＳ２３２Ｃを判別することができる。また、通信用インターフェイスがＵＳＢの場合に下位装置に内蔵されるＵＳＢコントローラＩＣ内部の特定の特定レジスタが割り当てられるアドレスの値を参照し、得られた値に基づき通信用インターフェイスの種別の判別を行うことによってこれらＵＳＢとＲＳ２３２Ｃを判別することができる。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
また、本発明における情報処理システムの下位装置においては、特定レジスタとして予め初期値に特徴的な値を示すものを選定しておき、この値を参照して通信用インターフェイスの種別を判別することができる。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
また、本発明における情報処理システムの下位装置においては、特徴的な値を示す複数のレジスタ値を参照して通信用インターフェイスの種別を判別することができる。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
また、本発明においては、情報処理システムを構成しているカードリーダにおいて通信用インターフェイスの種別の判別を行うことができる。
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
また、本発明における情報処理システムの下位装置用動作制御プログラムによれば、当該プログラムを一元管理することが可能となり、従来のように通信用インターフェイス毎に異なるプログラムを管理する必要がなくなる。このため、ソフト上の修正が必要となった場合であっても従来より手間や時間がかからず、尚かつ検証も１回で済むようになることから、システム管理上の手間と時間とコストを大幅に削減することが可能となる。このように、１つのプログラムで複数の通信用インターフェイスに対応するという汎用性を備えれば開発コストや開発期間といった面でも効率的となり、この結果として開発効率を大幅に改善することにつながる。
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
さらに、本発明における情報処理システムの下位装置用動作制御方法によっても、プログラムを一元管理することが可能となり、従来のように通信用インターフェイス毎に異なるプログラムを管理する必要がなくなる。このため、ソフト上の修正が必要となった場合であっても従来より手間や時間がかからず、尚かつ検証も１回で済むようになることから、システム管理上の手間と時間とコストを大幅に削減することが可能となる。このように、１つのプログラムで複数の通信用インターフェイスに対応するという汎用性を備えれば開発コストや開発期間といった面でも効率的となり、この結果として開発効率を大幅に改善することにつながる。
【手続補正２２】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
まず、カードリーダ１およびホストコンピュータ２の全体構成をブロック図として説明しておく（図３〜図５参照）。これらカードリーダ１およびホストコンピュータ２がＵＳＢ通信機種である場合、ホストコンピュータ２と制御部としてのＵＳＢコントローラＩＣ（図３および図４において符号３で示す）とがＵＳＢケーブル４を介して電気的に接続されることになる（図３参照）。ＵＳＢコントローラＩＣ３はカードリーダ１に内蔵された集積回路で、例えば本実施形態のＵＳＢコントローラＩＣ３は内部にレジスタを備えている。ＵＳＢコントローラＩＣ３が備えるこれら各種レジスタは各アドレスに割り当てられている（図３参照）。そして、これらのレジスタの中から予め初期値に特徴的な値を示す特定レジスタを選定しておくが好ましい。こうした場合、特定レジスタの特徴的な値を参照して通信用インターフェイスが例えばＵＳＢかあるいはそうでないかを精度よく判別できる。さらには、この場合においては特徴的な値を示す特定レジスタを複数設置することも好ましい。こうした場合には、特徴的なレジスタ値であって各々値が異なるものをその数の分だけ参照することが可能となる。
【手続補正２３】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
このＵＳＢコントローラＩＣ３とＣＰＵとの間においては、アドレス番号がアドレスバスによってＣＰＵからＵＳＢコントローラＩＣ３へと転送され、データがデータバスによって双方向に転送される（図３参照）。このような構成を含むカードリーダ１とホストコンピュータ２との間においては、まずＣＰＵにおいてデータを必要に応じて実効アドレスに変換し、ＵＳＢコントローラＩＣ３へと転送し、特定の特定レジスタのアドレスを指定する（図４参照）。ＵＳＢコントローラＩＣ３はこのアドレス値に該当するデータをＣＰＵに転送する。ＣＰＵはこのデータを参照する。このような処理構成を利用して、ＣＰＵはＵＳＢコントローラＩＣ３内部の特定レジスタの値を参照し、これによって得られた値に基づき通信用インターフェイスの種別を判別する。
【手続補正２４】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
まず、「インターフェイスの判別機能」について説明する（図１のステップ１〜ステップ８、ステップ１２参照）。これは、カードリーダ１に備え付けられた通信用インターフェイスの種別を通信用インターフェイスを制御する制御部を介して判別するという機能で、例えば本実施形態であれば、上述したようにＵＳＢとＲＳ２３２Ｃのいずれの種別なのかを、通信用インターフェイスがＵＳＢの場合に内蔵されるコントローラＩＣ３が割り当てられる特定アドレスを参照して判別する。ステップに沿った処理内容を説明すると、まずカードリーダ１の電源をＯＮにし（ステップ１）、ＣＰＵを初期化し（ステップ２）、その後、３つの特定アドレスのデータを参照する。すなわち、ＣＰＵでアドレスＡ１のアドレス値を読み込み、この値がＵＳＢコントローラＩＣ３のレジスタ１の初期値と合致するかどうかを判断する（ステップ３）。合致している場合には、同様の処理、すなわちアドレスＡ２のアドレス値とレジスタ２の初期値とが合致するかどうかの判断（ステップ４）、およびアドレスＡ３のアドレス値とレジスタ３の初期値とが合致するかどうかの判断（ステップ５）を行う。いずれも合致した場合には、当該情報処理システム（あるいはカードリーダ１）にＵＳＢコントローラ（ＩＣを含む）が搭載されていると判断する（ステップ６）。逆に、ステップ３〜５において１回でも値が合致しなければ当該情報処理システム（あるいはカードリーダ１）はＲＳ２３２Ｃ通信の機種であると判断し、ＲＳ２３２Ｃ通信の機種としての処理を開始する（ステップ１２）。ステップ６でＵＳＢコントローラ（ＩＣを含む）が搭載されていると判断したら、ＵＳＢのEnumerationが完了するのを待つ（ステップ７）。Enumerationは、一般には情報処理システムに登録されているユーザ・アカウントやＩＰアドレス、ホスト名などの一覧を取得するための「列挙」などと呼ばれる動作のことであり、例えばこのステップ７のようにＵＳＢが行う場合であれば、Plug and Play 動作つまり他の装置と自動的に機器認識する動作ないしその機能が該当する。このＵＳＢのEnumerationが完了したら（ステップ８）、次のステップ９へと進む。このステップ８あるいは上述のステップ１２で「インターフェイスの判別機能」が終了する。
【手続補正２５】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
以下では、さらに具体例を挙げて本実施形態の説明をする。ＵＳＢ機に関しては例えば沖電気工業株式会社製のＵＳＢコントローラＩＣ３（ML60851Dor 2A）が搭載された構成などとすることができる。また、カードリーダ１に組み込まれた動作制御プログラムは、電源立ち上げ（又はリセット）時に同ＵＳＢコントローラＩＣ３（ML60851Dor 2A）が搭載されているか否かを判別する機能を備えていることも好ましい。この場合、ＵＳＢコントローラＩＣ３（ML60851Dor 2A）が搭載されていることが確認できたらＵＳＢ機、搭載されていなければＲＳ２３２Ｃ機と判断し、以後その判別結果に基づき、いずれかの通信方法で予め決められた通信プロトコルで上位装置（ホストコンピュータ２）との通信を行いカードリーダ１としての処理を実施する。また、ＵＳＢコントローラＩＣ３（ML60851Dor 2A）のレジスタの中には、そのＩＣ自身にリセットがかけられた直後に初期値が設定されている特定レジスタと言えるものがある。例えば、予め初期値が特徴的な値を示すレジスタを特定レジスタとして選定しておくこととすれば、当該動作制御プログラムは電源立ち上げ（又はリセット）時にそれらの特徴的な値を示す特定レジスタのアドレスを参照することになる。参照の結果、判断基準となる特徴的な値と異なる値が読み出されたのであれば、沖電気工業株式会社製のＵＳＢコントローラＩＣ３（ML60851Dor 2A）が搭載されていないものと判断する。
【手続補正２６】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
さらに、本実施形態においてはカードリーダ１の電源をＯＮにし（ステップ１）、ＣＰＵを初期化し（ステップ２）、Ａ１，Ａ２，Ａ３という３つのアドレスのデータを参照したがこれも一例にすぎず、情報処理システムやそこに含まれるカードリーダ（下位装置）１の態様などに応じてアドレスや参照箇所は適宜変更して構わない。ただ、通信用インターフェイスの種別判断（例えば、ＵＳＢなのかＲＳ２３２Ｃなのか）の精度をより高めるという観点からすれば、レジスタとしては、予め初期値に特徴的な値を示すレジスタを特定レジスタとして選定しておくことが好ましいし、さらには、複数のレジスタを特定レジスタとして設定しておきアドレス参照を複数回実施することが好ましい。