(57)【特許請求の範囲】
【請求項１】
上位装置と、
該上位装置に接続されて、特定のユニット装置を構成する複数の情報処理装置と、
前記上位装置と各前記情報処理装置とを前記ユニット装置の単位で接続するために、各前記情報処理装置を接続するＵＳＢポートを有する中継装置とを備え、
各前記情報処理装置は、
ベンダーＩＤとプロダクトＩＤ以外の各前記情報処理装置に固有の識別情報を記憶した記憶手段と、
前記上位装置からの要求に対応して前記識別情報を通知する識別情報通知手段とを備え、
前記上位装置は、
前記中継装置に接続された各前記情報処理装置から、前記識別情報を取得する識別情報取得手段と、
該識別情報取得手段により取得した、各前記情報処理装置から通知される前記識別情報と、第１の前記識別情報とを比較することによって第１の前記中継装置を特定し、第１の前記識別情報と、第１の前記中継装置の各ポートに接続された前記情報処理装置から通知される他の前記識別情報とを、前記ユニット装置と対応付けることで、前記ユニット装置の構成を認識するユニット装置制御手段を備える
ことを特徴とする情報処理システム。
【請求項２】
前記識別情報は、各情報処理装置の種別、製造時刻情報、リージョン情報、ＭＡＣアドレス、及びＩＤのいずれか又は任意の組み合わせを含む
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記ユニット装置制御手段は、
前記ユニット装置が複数接続されている場合、前記中継装置毎に各前記情報処理装置の識別情報を取得し、同一の種類の前記情報処理装置が含まれていた場合であっても、前記ユニット装置の単位で区別して構成を認識する
ことを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記情報処理装置は、
カードリーダ／ライタ、カードプリンタ、スキャナ、及び／又はカード発行機構であり、
前記ユニット装置は、カード発行ユニットである
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理システム。
【請求項５】
上位装置と、
該上位装置に接続されて、特定のユニット装置を構成する複数の情報処理装置と、
前記上位装置と各前記情報処理装置とを前記ユニット装置の単位で接続するために、各前記情報処理装置を接続するＵＳＢポートを有する中継装置とを備えた情報処理システムにより実行される情報処理方法であって、
各前記情報処理装置は、
ベンダーＩＤとプロダクトＩＤ以外の各前記情報処理装置に固有の識別情報を記憶し、
前記上位装置からの要求に対応して前記識別情報を通知し、
前記上位装置は、
前記中継装置に接続された各前記情報処理装置から、前記識別情報を取得し、
取得された、各前記情報処理装置から通知される前記識別情報と、第１の前記識別情報とを比較することによって第１の前記中継装置を特定し、第１の前記識別情報と、第１の前記中継装置の各ポートに接続された前記情報処理装置から通知される他の前記識別情報とを、前記ユニット装置と対応付けることで、前記ユニット装置の構成を認識する
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及び情報処理方法に係り、特にＵＳＢにより各部が通信する情報処理システム及び情報処理方法に関する。
【背景技術】
【０００２】
従来から、複数の情報処理装置をＵＳＢ（Universal Serial Bus）で接続して制御する情報処理システムが存在する。
特許文献１を参照すると、カード発行機構に内蔵されているＥＥＰＲＯＭに，同ユニット装置に属するプリンタ等の他のＵＳＢデバイスのＶＩＤ、ＰＩＤ、シリアル番号を記憶する技術が記載されている。
特許文献１の技術によれば、上位装置が、カード発行機構から、装着された他のＵＳＢデバイス情報を取得可能となり、どのＵＳＢデバイスが同じユニット装置に属しているかが把握できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−７７２９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、ユニット装置の組み立て工程において、装着する各種ＵＳＢデバイスの情報を、カード発行機構のＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）に書き込む作業が必ず発生していた。また、メンテナンス時において，装着されるＵＳＢデバイスを置き換えた場合、そのＵＳＢデバイスは、置き換え前のシリアル番号と同一のものにしなければならない、若しくは、カード発行機構のＥＥＰＲＯＭに新たなシリアル番号の書き込みを行う作業をする必要があった。
このため、組み立て工程やメンテナンスに手間がかかるという問題があった。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、ユニット装置の組み立て工程において、組み立て工程やメンテナンスの手間を少なくする情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の情報処理システムは、上位装置と、該上位装置に接続されて、特定のユニット装置を構成する複数の情報処理装置と、前記上位装置と各前記情報処理装置とを前記ユニット装置の単位で接続するために、各前記情報処理装置を接続するＵＳＢポートを有する中継装置とを備え、各前記情報処理装置は、ベンダーＩＤとプロダクトＩＤ以外の各前記情報処理装置に固有の識別情報を記憶した記憶手段と、前記上位装置からの要求に対応して前記識別情報を通知する識別情報通知手段とを備え、前記上位装置は、前記中継装置に接続された各前記情報処理装置から、前記識別情報を取得する識別情報取得手段と、該識別情報取得手段により取得した、各前記情報処理装置から通知される前記識別情報と、第１の前記識別情報とを比較することによって第１の前記中継装置を特定し、第１の前記識別情報と、第１の前記中継装置の各ポートに接続された前記情報処理装置から通知される他の前記識別情報とを、前記ユニット装置と対応付けることで、前記ユニット装置の構成を認識するユニット装置制御手段を備えることを特徴とする。
このように構成することで、組み立て工程やメンテナンスの際に、ＥＥＰＲＯＭに、各ＵＳＢデバイスのＰＩＤ、ＶＩＤ、シリアル番号等を記憶させる必要がなくなり、組み立て工程やメンテナンスの手間を減らすことができる。
【０００７】
本発明の情報処理システムは、前記識別情報は、各情報処理装置の種別、製造時刻情報、リージョン情報、ＭＡＣアドレス、及びＩＤのいずれか又は任意の組み合わせを含むことを特徴とする。
このように構成することで、上位装置において、どの情報処理装置が、どのユニット装置に所属しているのかを確実に把握することができる。
【０００８】
本発明の情報処理システムは、前記ユニット装置制御手段は、前記ユニット装置が複数接続されている場合、前記中継装置毎に各前記情報処理装置の識別情報を取得し、同一の種類の前記情報処理装置が含まれていた場合であっても、前記ユニット装置の単位で区別して構成を認識することを特徴とする。
このように構成することで、同一の種類の情報処理装置を使用する場合でも、ユニット装置毎に対応付けて認識することができる。
【０００９】
本発明の情報処理システムは、前記情報処理装置は、カードリーダ／ライタ、カードプリンタ、スキャナ、及び／又はカード発行機構であり、前記ユニット装置は、カード発行ユニットであることを特徴とする。
このように構成することで、カード搬送機構を適切に制御することができる。
【００１０】
本発明の情報処理方法は、上位装置と、該上位装置に接続されて、特定のユニット装置を構成する複数の情報処理装置と、前記上位装置と各前記情報処理装置とを前記ユニット装置の単位で接続するために、各前記情報処理装置を接続するＵＳＢポートを有する中継装置とを備えた情報処理システムにより実行される情報処理方法であって、各前記情報処理装置は、ベンダーＩＤとプロダクトＩＤ以外の各前記情報処理装置に固有の識別情報を記憶し、前記上位装置からの要求に対応して前記識別情報を通知し、前記上位装置は、前記中継装置に接続された各前記情報処理装置から、前記識別情報を取得し、取得された、各前記情報処理装置から通知される前記識別情報と、第１の前記識別情報とを比較することによって第１の前記中継装置を特定し、第１の前記識別情報と、第１の前記中継装置の各ポートに接続された前記情報処理装置から通知される他の前記識別情報とを、前記ユニット装置と対応付けることで、前記ユニット装置の構成を認識することを特徴とする。
このように構成することで、組み立て工程やメンテナンスの手間を減少させることができる。
【発明の効果】
【００１１】
本発明によれば、各情報処理装置の記憶手段に識別情報を記憶し、これを識別情報通知手段で上位装置に通知することで、ＵＳＢデバイスのＶＩＤ、ＰＩＤ、シリアル番号を、他の情報処理装置のＥＥＰＲＯＭへ事前に書き込む必要がなくなり、組み立て工程やメンテナンスの手間を少なくする情報処理システムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態に係る情報処理システムのシステム構成図である。
【図２】図１に示すカード発行ユニットのカード搬送の構成を示すブロック図である。
【図３】図１に示すカード発行ユニットの制御構成を示すブロック図である。
【図４】図１に示す上位装置の制御構成を示すブロック図である。
【図５】図１に示す動作情報処理システムのＵＳＢ制御の概略を示すブロック図である。
【図６】本発明の実施の形態に係るカード発行制御処理のフローチャートである。
【図７Ａ】図６に示すカード発行制御処理における、ＶＩＤ、ＰＩＤ、識別情報の関係を示す概念図である。
【図７Ｂ】図６に示すカード発行制御処理における接続デバイステーブルの例を示す図である。
【図８】図６に示すアプリケーション実行処理のフローチャートである。
【図９】図７に示すカード発行ユニット通信開設処理のフローチャートである。
【発明を実施するための形態】
【００１３】
＜実施の形態＞
〔情報処理システムＸの構成〕
図１を参照して、本発明の実施の形態に係る情報処理システムＸの構成について説明する。
情報処理システムＸは、本実施形態においては、カード発行機能を備えたＡＴＭ（Automated Teller Machine）、キオスク（Kiosk）の端末、交通機関のチケット発行システム、コンビニエンスストア等のポイントカード発行システム、小売店のメンバーカード発行システム、遊技機のカード発行／支払システム、入退場管理システム、又は複数のカード発行ユニット１ａ、１ｂ（ユニット装置）等を製造時に検査するための検査システム等（以下、単に「ＡＴＭ等」と省略して記載する。）である。なお、本実施形態において、カード発行ユニット１ａ、１ｂの構成は同一である（以下、カード発行ユニット１ａ、１ｂのいずれか一つについて示す場合、単に「カード発行ユニット」という。）。
【００１４】
図１の例では、情報処理システムＸは、上位装置２、ＵＳＢハブ３、カード発行ユニット１ａ、カード発行ユニット１ｂ等を含んでいる。
上位装置２は、ＡＴＭ等の情報処理システムＸの各機能を実現するための本体装置である。上位装置２は、各部の制御用にＰＣ（Personal Computer）、タブレット端末、携帯電話等の制御演算装置を内蔵し、各機能を実現するためのアプリケーション４１３（図４）を実行する。
ＵＳＢハブ３は、汎用のＵＳＢ１．１、２．０、３．０、３．１等の規格の電気信号や光信号を送受信可能なハブである。
カード発行ユニット１ａ、１ｂは、情報処理システムＸの各機能に一連の機能を備えた同様の構成のユニット装置である。本実施形態の例では、カード発行ユニット１ａ、１ｂは、カード媒体４を発行、プリント、読み込み（リード）又は書き込み（ライト）するユニットを構成する。本実施形態において、カード発行ユニット１ａ、１ｂが発行するカード媒体４は、未使用のカードである。この未使用のカードに、磁気記録、ＩＣ通信、カード表面へのプリント等を行うことで、カード媒体４を作成、発行する。この際、カード発行ユニット１ａ、１ｂは、別の種類のカード媒体４をそれぞれ発行、プリント、読み込み、又は書き込みしてもよい。
また、本実施形態において、上位装置２は、上位装置２に内蔵されているＵＳＢルートハブ（図示せず）から、ＵＳＢ規格の信号によりＵＳＢハブ３に接続される。つまり、本実施形態において、上位装置２とカード発行ユニット１ａ、１ｂとは、ＵＳＢハブ３を介して接続されている。
【００１５】
なお、図１には、二つのカード発行ユニット１ａ、１ｂが接続されている例を記載しているものの、ＵＳＢハブ３を介して更に多数のユニット装置を接続することが可能である。つまり、一つの上位装置２に対して、複数台のカード発行ユニットを接続し、同時に制御できる。この場合、上位装置２のＵＳＢルートハブとＵＳＢハブ３との間に、更に別のＵＳＢハブを接続し、ＵＳＢポートを拡張してもよい。特に、工場用の検査システムの場合、数十個単位のユニット装置を接続することが可能である。また、この際、カード発行ユニット１ａ、１ｂとは異なる構成のユニット装置を接続することも可能である。
また、本実施形態においては、ＵＳＢルートハブから、ＵＳＢハブ３を経由してカード発行ユニット１ａ、１ｂに接続する例を示している。しかしながら、上述のようにＵＳＢハブ３の他に複数のＵＳＢハブを経由して接続されてもよい。また、そもそもＵＳＢハブ３を経由せずに、ＵＳＢルートハブから、直接、それぞれ、カード発行ユニット１ａ、１ｂの中継装置１３ａ、１３ｂ（図７Ａ）に接続されても良い。
【００１６】
〔カード発行ユニット１ａの構成〕
次に、図２により、ユニット装置の代表例としてカード発行ユニット１ａの全体構成について説明する。
本実施形態において、カード発行ユニット１ａは、情報処理装置として、カードリーダ／ライタ部１０ａ（カードリーダ／ライタ）、カードプリンタ部１１ａ（カードプリンタ）、カード発行部１２ａ（カード発行機構）、及び中継装置１３ａを含んでいる。
本実施形態において、これらの情報処理装置は、ＵＳＢ規格の信号で接続可能に構成されている。
【００１７】
カードリーダ／ライタ部１０ａは、接触型又は非接触型のＩＣカード及び磁気ストライプを備えた磁気カードであるカード媒体４を読み込み（リード）又は書き込み（ライト）可能なカードリーダ／ライタである。カードリーダ／ライタ部１０ａは、ＩＣカードから読み出し又は書き込みするためのＩＣ接点や電磁誘導アンテナ等の接続部、磁気ストライプに記憶された情報を読み出し又は書き込みするための磁気ヘッド、搬送機構等を備えている。また、カードリーダ／ライタ部１０ａは、読み出し又は書き込みされる情報を暗号化したり復号化したりすることも可能である。
【００１８】
カードプリンタ部１１ａは、カード媒体４の表面に印刷を行うプリンタである。カードプリンタ部１１ａは、例えば、熱転写方式の記録機構を備えている。カードプリンタ部１１ａは、上位装置２からの指示により、インクリボンを部分的に溶解させ、文字や画像をカード媒体４に記録する。この際、カードプリンタ部１１ａは、使用するインクリボンによっては、カラー文字や画像を記録することが可能である。
【００１９】
カード発行部１２ａは、カード媒体４を発行し、古いカード媒体４を回収する機能を実現するためのカード発行用の装置である。また、カード発行部１２ａは、未使用のカードを蓄積するカードホッパ部１２４ａと、古いカードを回収する回収庫１２５ａとを備えている。また、カード発行部１２ａは、カードリーダ／ライタ部１０ａ、カードプリンタ部１１ａ、及び中継装置１３ａを装着するためのフレーム、電源回路、駆動機構等も備えている。
【００２０】
中継装置１３ａは、ユニット装置の単位で、各情報処理装置を接続するＵＳＢポートを有する汎用のＵＳＢハブ用のチップ（LSI Chip）を含む内部の基板等である。中継装置１３ａは、カード発行部１２ａのフレームに装着され、専用コネクタ等により、ＵＳＢ規格の信号でカードリーダ／ライタ部１０ａ、カードプリンタ部１１ａ、及びカード発行部１２ａと接続されている。このため、上位装置２及びＵＳＢハブ３からは、中継装置１３ａの各ＵＳＢポートに、カードリーダ／ライタ部１０ａ、カードプリンタ部１１ａ、及びカード発行部１２ａが接続されているように認識される。
【００２１】
カード媒体４は、接触型若しくは非接触型ＩＣカード、及び／又は磁気記録可能な磁気ストライプを備えた磁気カードである。ＩＣカードに、磁気ストライプを更に設けていてもよい。カード媒体４は、カード発行ユニットの機能に対応した、ユーザの情報や貨幣価値情報等を記憶している。
【００２２】
なお、カード発行ユニット１ａは、他の情報処理装置として、カードの表面の写真や文字等を読み取るスキャナ、回収したカードを粉砕する粉砕機等を備えていてもよい。
また、本実施形態では、中継装置１３ａがカード発行ユニット１ａ内部に設置されるよう記載したものの、外部に備えられていてもよい。
また、後述する他の実施の形態で記載するように、メモリカード媒体を情報処理装置に常時装着し、このメモリカード媒体に、各情報処理装置の識別情報を記憶して、これを読み取らせてもよい。
【００２３】
ここで、カード発行ユニット１ａに装着された各情報処理装置間で、カード媒体４を発行する際の関係について説明する。
まず、カード発行部１２ａにあるカードホッパ部１２４ａにカードを堆積させておく。このカードは、まだ情報が書き込まれておらず、カードプリンタ部１１ａにより文字や画像が記録されていない状態のカードである。上位装置２（図１）からカードの発行が要求された場合、まず、カードホッパ部１２４ａからこのカードを、カードプリンタ部１１ａを介して、カードリーダ／ライタ部１０ａへ搬送する。ここで磁気ヘッドからの情報の書き込み及び読み出しを行うことにより、カードのセット方向に誤りがないことを確認する。これに続き、カードに内蔵されているＩＣチップとの通信を、接続部により行う。その後、カードをカードプリンタ部１１ａへ搬送し、カード表面に文字や画像を記録する。プリントされたカードは、カード媒体４としてカードリーダ／ライタ部１０ａの排出口へ搬送し、排出されたカード媒体４をユーザへ引き渡す。
【００２４】
なお、上述した手順で、異常が発生し、正常にカードが生成できなかった場合は、その時点でカードを回収庫１２５ａに搬送し、再度、新たなカード媒体４を発行する。
また、カード媒体４の発行に伴って、ユーザがカードリーダ／ライタ部１０ａに挿入した古いカードを回収庫１２５ａに回収することも可能である。
【００２５】
次に、図３により、カード発行ユニット１ａのハードウェア及び制御の概略構成について説明する。
カード発行ユニット１ａは、上述したように、中継装置１３ａを介して、カードリーダ／ライタ部１０ａ、カードプリンタ部１１ａ、及びカード発行部１２ａが接続されている。
【００２６】
各情報処理装置であるカードリーダ／ライタ部１０ａ、カードプリンタ部１１ａ、及びカード発行部１２ａは、それぞれ、通信Ｉ／Ｆ部１０３ａ、１１３ａ、１２３ａ、制御部１００ａ、１１０ａ、１２０ａ（制御手段）、記憶部１０１ａ、１１１ａ、１２１ａ（記憶手段）を備えている。各部は、汎用のバス１０２ａ、１１２ａ、１２２ａにより接続されている。なお、汎用のバス１０２ａ、１１２ａ、１２２ａを用いずに直接各部に接続するような構成も可能である。
これらの各情報処理装置のＵＳＢ通信に関するハードウェア構成は、図３の通り、基本的には同様である。
【００２７】
制御部１００ａ、１１０ａ、１２０ａは、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）等の制御演算手段である。
記憶部１０１ａ、１１１ａ、１２１ａは、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ（Flash Memory）等の一時的でない記録媒体である。
通信Ｉ／Ｆ部１０３ａ、１１３ａ、１２３ａは、ＵＳＢ規格の通信を行うためのＵＳＢインターフェイス等である。通信Ｉ／Ｆ部１０３ａ、１１３ａ、１２３ａは、それぞれ、中継装置１３ａのポート１３０ａ、１３１ａ、１３２ａに、ＵＳＢ規格の信号を伝送可能に接続される。
【００２８】
また、制御部１００ａ、１１０ａ、１２０ａは、それぞれ、識別情報通知部３００（識別情報通知手段）を備えている。
【００２９】
識別情報通知部３００は、それぞれ、上位装置２からの要求に対応して、記憶部１０１ａ、１１１ａ、１２１ａに記憶された識別情報３１０ａ、３１１ａ、３１２ａを、通信Ｉ／Ｆ部１０３ａ、１１３ａ、１２３ａを介して上位装置２に通知する。識別情報通知部３００は、情報処理装置が異なっていても、同様の構成とすることが可能である。
なお、識別情報通知部３００は、上位装置２からの要求に対応して、製造元識別情報（Vendor ID、ベンダーＩＤ。以下、「ＶＩＤ」という。）、機種別識別情報（Product ID、プロダクトＩＤ。以下「ＰＩＤ」という。）についても上位装置２に通知可能である。
【００３０】
また、記憶部１０１ａ、１１１ａ、１２１ａは、識別情報３１０ａ、３１１ａ、３１２ａを記憶している（以下、識別情報３１０ａ、３１１ａ、３１２ａのいずれか、又は他のユニット装置や情報処理装置の識別情報を示す場合、単に「識別情報」という。）。なお、記憶部１０１ａ、１１１ａ、１２１ａは、それぞれ、自身のＶＩＤ、ＰＩＤを記憶している。このＶＩＤ、ＰＩＤは工場出荷時等に記憶されてもよい。
【００３１】
識別情報３１０ａ、３１１ａ、３１２ａは、ＶＩＤとＰＩＤ以外の各情報処理装置に固有の情報である。識別情報３１０ａ、３１１ａ、３１２ａとして、例えば、各情報処理装置の種別、製造番号、工場情報、ロット番号、製造時刻情報、リージョン情報、ＭＡＣアドレス、ＩＤ（Identification）等が用いられる。この際、同一のユニット装置内の記憶部１０１ａ、１１１ａ、１２１ａには、製造番号、工場情報、ロット番号等の値について同一の値が記憶されていてもよい。また、この場合でも、種別には、それぞれの情報処理装置の種類に対応した値が記憶されていてもよい。
【００３２】
中継装置１３ａは、汎用のＵＳＢのハブのチップ等であるＵＳＢ通信制御部１３３ａと、ＵＳＢ通信用のＵＳＢポートであるポート１３０ａ、１３１ａ、１３２ａを備えている。
ＵＳＢ通信制御部１３３ａは、一般的なチップを使用することが可能であり、ＵＳＢ規格以上の機能を備えていなくてもよい。また、ＵＳＢ通信制御部１３３ａは、バッファやＲＯＭ等の記録媒体を内蔵している。このＵＳＢ通信制御部１３３ａに内蔵された記録媒体には、ＶＩＤ、ＰＩＤが記憶されているものの、固有の識別情報は記憶されない。
【００３３】
なお、中継装置１３ａは、三つ以上のＵＳＢポートを備えていてもよい。
また、制御部１００ａ、１１０ａ、１２０ａは、それぞれ、記憶部１０１ａ、１１１ａ、１２１ａに記憶された図示しない制御プログラムをＲＡＭ等に展開（以下、「ロード（load）」という。）して実行することで、識別情報通知部３００として機能する。
【００３４】
〔上位装置２の構成〕
次に、図４により、上位装置２の制御構成について説明する。
上位装置２は、制御部２００、記憶部２０１、通信Ｉ／Ｆ部２０３を含んでいる。また、各部は、汎用のバス２０２により接続されている。
制御部２００は、ＣＰＵ、ＭＰＵ、ＧＰＵ、ＤＳＰ、ＡＳＩＣ等の制御演算手段である。
記憶部２０１は、ＲＡＭ、ＲＯＭ、ＨＤＤ、フラッシュメモリ等の一時的でない記録媒体である。なお、記憶部２０１は、ＨＤＤを備えず、代わりにフラッシュメモリ等を備えていてもよい。
通信Ｉ／Ｆ部２０３は、ディスプレイ用、ネットワーク接続用、シリアル、パラレル、ＵＳＢ等の各種通信インターフェイスである。このように、通信Ｉ／Ｆ部２０３は、複数の通信インターフェイスが存在するものの、図示しないＵＳＢルートハブを介して、ＵＳＢ規格の信号でＵＳＢハブ３に接続される。ＵＳＢ通信の一部は、このＵＳＢルートハブに内蔵するＵＳＢコントローラチップ等でハードウェア制御される。
【００３５】
なお、通信Ｉ／Ｆ部２０３とＵＳＢハブ３とは、ＵＳＢ規格の信号を伝送するケーブルにて接続される。
また、上位装置２は、情報処理システムＸの機能に対応して、図示しないＬＣＤパネルや有機ＥＬパネル等のディスプレイ、タッチパネル、ボタン、金銭価値媒体の入出力部、プリンタ等が接続されている。
【００３６】
より詳しく説明すると、制御部２００は、識別情報取得部４００（識別情報取得手段）、ユニット装置制御部４０１（ユニット装置制御手段）、アプリケーション実行部４０２、及び情報処理装置制御部４０３を備えている。
【００３７】
識別情報取得部４００は、中継装置１３ａ（図２、図３）等に接続された各情報処理装置から、識別情報を取得する。
この識別情報取得部４００の詳細については、後述する。
【００３８】
ユニット装置制御部４０１は、ユニット装置の制御手段である。ユニット装置制御部４０１は、識別情報取得部４００により取得した各情報処理装置の識別情報に対応して、中継装置１３ａのＵＳＢポートに接続された各情報処理装置を有するユニット装置の構成を認識する。具体的には、ユニット装置制御部４０１は、識別情報と接続デバイステーブル４１１とから、ユニット装置の構成を認識する。
本実施形態においては、ユニット装置制御部４０１は、中継装置１３ａのＵＳＢポートに接続された各情報処理装置を含む一連の機能を備えたユニット装置であるカード発行ユニット１ａ、１ｂの構成をそれぞれ認識する。
【００３９】
また、ユニット装置制御部４０１は、ユニット装置が複数接続されている場合、中継装置毎に各情報処理装置の識別情報を取得し、同一の種類の情報処理装置が含まれていた場合であっても、ユニット装置の単位で区別して構成を認識する。具体的に、本実施形態においては、ユニット装置制御部４０１は、カード発行ユニット１ａ、１ｂを、それぞれ別々のユニット装置として認識する。
【００４０】
アプリケーション実行部４０２は、ＡＴＭ等のアプリケーション４１３（Application Software）を実行する。これにより、アプリケーション実行部４０２は、情報処理システムＸのＡＴＭ等の各機能を実現する。
アプリケーション実行部４０２は、ＧＵＩ（Graphical User Interface）の画面をディスプレイに表示させることにより、ユーザとの取引を実行する。たとえば、ユーザは、ＧＵＩにより、カードにプリントしたい画像を編集したり、磁気に記録させたいＩＤ等の入力を行ったりして、カード発行ボタンを押下する。すると、アプリケーション実行部４０２は、これを検知してカードの発行をユニット装置に実行させる。
【００４１】
情報処理装置制御部４０３は、各情報処理装置を制御するためのミドルウェアを含むドライバ４１０を実行する。この情報処理装置制御部４０３の詳細な構成についても、後述する。
また、情報処理装置制御部４０３は、ＯＳ４１２（Operating System）についても実行し、アプリケーション実行部４０２を起動させる。
【００４２】
また、記憶部２０１は、ドライバ４１０、接続デバイステーブル４１１、ＯＳ４１２、及びアプリケーション４１３を記憶する。
【００４３】
ドライバ４１０は、各情報処理装置のデバイスドライバ（Device Driver、以下、単に「ドライバ」と称する。）、ＵＳＢの各種ドライバ、各情報処理装置を制御するためのミドルウェアを含んだプログラムである。ドライバ４１０は、ＵＳＢ  ハブドライバ、ＵＳＢ  ＨＩＤ（Human Interface Device）クラスのドライバ、ＵＳＢ  プリンタクラスのドライバ、ＵＳＢバスドライバを含んでいる。これらは、記憶部２０１にオブジェクト（クラス）単位でロードされ、実行される。
なお、ドライバ４１０として、ディスプレイ、タッチパネル、プリンタ等の各部用のドライバがインストールされていてもよい。
【００４４】
接続デバイステーブル４１１は、後述するエニュメレーションにより、上位装置２に接続されたＵＳＢデバイスが記憶されたテーブルである。以下、ＵＳＢハブ３、中継装置１３ａ、情報処理装置等のＵＳＢで接続されてＯＳ４１２から認識されるデバイスを、単に「ＵＳＢデバイス」という。
この接続デバイステーブル４１１の詳細については後述する。
【００４５】
ＯＳ４１２は、汎用のＯＳである。ＯＳ４１２としては、組み込み向けのＷｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）等のＯＳを使用することが可能である。
【００４６】
アプリケーション４１３は、ＡＴＭ等のアプリケーションである。アプリケーション４１３は、情報処理システムＸの起動時に直接実行可能なように、ＯＳ４１２のスタートアップ時に実行されるように登録されていてもよい。
【００４７】
なお、制御部２００は、記憶部２０１に記憶されたＯＳ４１２及びドライバ４１０をロードして実行することで、識別情報取得部４００、ユニット装置制御部４０１、及び情報処理装置制御部４０３として機能する。また、制御部２００は、記憶部２０１に記憶されたアプリケーション４１３を実行することで、アプリケーション実行部４０２として機能する。
【００４８】
〔情報処理システムＸにおけるＵＳＢ制御の構成〕
次に、図５により、本発明の実施の形態に係る情報処理システムＸによるカードの発行時のＵＳＢ制御の概略について説明する。
上位装置２のアプリケーション実行部４０２は、カード発行を開始する際、ユーザから取得した情報をユニット装置制御部４０１に通知し、カードの発行を実行する。
ユニット装置制御部４０１は、アプリケーション実行部４０２からカード発行が指示されると、まずは識別情報取得部４００により各情報処理装置の識別情報を取得して、ユニット装置の構成を認識する。この上で、ユニット装置制御部４０１は、カードの搬送命令、磁気記録命令、ＩＣ通信命令、プリント命令等を、カード発行ユニット１ａの各情報処理装置に送信する。
【００４９】
より詳しく説明すると、識別情報取得部４００は、ＵＳＢハブ制御部５００及びＵＳＢハブドライバ実行部５０１を含む。
ＵＳＢハブ制御部５００は、ＯＳ４１２のユーザモードで実行され、ＵＳＢハブドライバ実行部５０１を介して、接続されたＵＳＢデバイスのうち、ＵＳＢハブ３、中継装置１３ａ、各ＵＳＢポートに接続されている情報処理装置の基本情報等を取得する。ＵＳＢハブ制御部５００は、基本的には、カードの発行が開始される際に行われる、通信開設時にのみ実行される。
ＵＳＢハブドライバ実行部５０１は、ＯＳ４１２のカーネルモードでＵＳＢ  ハブドライバを実行し、ＵＳＢバスドライバ実行部５１０を介してＵＳＢ規格の通信を実行する。
【００５０】
ＵＳＢハブ制御部５００は、上述の基本情報として、ＵＳＢハブ３及び中継装置１３ａ等（以下、単に「ハブ」という。）のＶＩＤ、ＰＩＤ、並びに当該ハブが保有するＵＳＢポートの個数、及び何番のＵＳＢポートに何のＵＳＢデバイスが接続されているかについての情報を取得できる。
ＵＳＢハブ制御部５００は、接続されているＵＳＢデバイスの情報として、ＶＩＤ、ＰＩＤの他に、識別情報を取得することができる。これらの情報は、ＵＳＢ規格のコントロール転送の転送方式で取得可能である。このコントロール転送は、ＵＳＢデバイスの基本情報等、比較的少量の情報のやり取りをする際に使用され、ＵＳＢ機器であれば必ず対応している。
【００５１】
また、情報処理装置制御部４０３は、ＵＳＢバスドライバ実行部５１０、ＵＳＢＨＩＤドライバ実行部５２０、ＵＳＢプリンタドライバ実行部５２１、カードリーダ／ライタ制御部５３０、カードプリンタ制御部５３１、カード発行制御部５３２を備えている。
ＵＳＢバスドライバ実行部５１０は、ＯＳ４１２のカーネルモードで、ＵＳＢ規格のソフトウェアレイヤーの通信を実現するＵＳＢバスドライバを実行する、
ＵＳＢＨＩＤドライバ実行部５２０は、ＯＳ４１２のカーネルモードで、ＵＳＢ  ＨＩＤクラスのドライバを実行する。
ＵＳＢプリンタドライバ実行部５２１は、ＯＳ４１２のカーネルモードで、ＵＳＢプリンタクラスのドライバを実行する。
カードリーダ／ライタ制御部５３０は、カード発行ユニットのカードリーダ／ライタ部１０ａを制御するミドルウェアである。カードリーダ／ライタ制御部５３０も、ＯＳ４１２のユーザモードで実行される。
カードプリンタ制御部５３１は、カード発行ユニットのカードプリンタ部１１ａを制御するミドルウェアである。カードプリンタ制御部５３１も、ＯＳ４１２のユーザモードで実行される。
カード発行制御部５３２は、カード発行ユニットのカード発行部１２ａを制御するミドルウェアである。カード発行制御部５３２は、ＯＳ４１２のユーザモードで実行される。
【００５２】
各ＵＳＢデバイスのうち、カード発行ユニット１ａのカード発行部１２ａ、及びカードリーダ／ライタ部１０ａは、ＵＳＢ  ＨＩＤクラスとして実装されているため、上位装置２において、制御するカーネルドライバは、ＵＳＢ  ＨＩＤクラスドライバとなる。具体的には、カード発行部１２ａ、及びカードリーダ／ライタ部１０ａは、カード発行制御部５３２、カードリーダ／ライタ制御部５３０からＵＳＢ  ＨＩＤクラスドライバを通じて制御される。
【００５３】
カード発行部１２ａは、カードをカードホッパ部１２４ａから繰り出す機能を持ち、カード発行制御部５３２からのカード繰り出し命令に応じて、カードを送り出すことができる。これらの命令のやり取り（コマンド／レスポンス方式）は、例えば、インタラプト転送の転送方式で実行される。
これとは別に、カード発行部１２ａは、ＵＳＢハブ制御部５００、カード発行制御部５３２等からのＶＩＤ、ＰＩＤ、識別情報の通知要求に対し、コントロール転送にて応答する。
【００５４】
カードリーダ／ライタ部１０ａは、磁気読み込み機能、書き出し機能、ＩＣ通信機能を有し、上位装置２との命令のやり取りや通信方法については、カード発行部１２ａと同様である。
【００５５】
カードプリンタ部１１ａは、ＵＳＢプリンタクラスで実装されている。このため、上位装置２において、ＵＳＢプリンタクラスドライバを通じて制御される。
カードプリンタ部１１ａは、命令のやり取り（コマンド／レスポンス方式）においては、例えば、バルク転送方式にて、上位装置２との通信を行う。
【００５６】
なお、図５では、カード発行ユニット１ｂ及びＵＳＢハブ３を省略して記載している。しかしながら、カード発行ユニット１ｂは、カードユニットａと同様にＵＳＢ制御可能である。また、ＵＳＢハブ３についても、下記で説明するＵＳＢ  ハブドライバを介して同様の処理を実行可能である。
【００５７】
〔カード発行制御処理〕
次に、図６、図７Ａ、図７Ｂを参照して、本発明の実施の形態に係るカード発行制御処理について詳細に説明する。
本実施形態のカード発行制御処理の説明においては、図７Ａのように一つのＵＳＢハブ３に存在する二つのＵＳＢポートであるポート３０ａ、３０ｂに、それぞれカード発行ユニット１ａ、１ｂが接続されている例に基づいて説明する。具体的には、アプリケーション４１３を実行した際に、識別情報を取得し、カード発行ユニット１ａの構成を上位装置２が認識して通信を確立し、カード発行を行う例について説明する。
以下で、図６のフローチャートにより、上位装置２によるカード発行制御処理の詳細をステップ毎に説明する。
【００５８】
（ステップＳ１０１）
まず、情報処理装置制御部４０３が、初期化処理を行う。
情報処理装置制御部４０３は、図示しない主電源の投入や再起動により、上位装置２のＯＳ４１２を起動する。情報処理装置制御部４０３は、その後、各部の初期化を行い、カード発行ユニット１ａ、１ｂに電源を投入する。これにより、カード発行ユニット１ａ、１ｂが接続される。
なお、カード発行ユニット１ａ、１ｂが接続された状態で上位装置２が起動されてもよい。
【００５９】
（ステップＳ１０２）
次に、情報処理装置制御部４０３が、エニュメレーション処理を行う。
情報処理装置制御部４０３は、ＵＳＢバスドライバ実行部５１０（図５）により、エニュメレーション（Enumeration）の処理を実行する。このエニュメレーションは、接続されたＵＳＢデバイス全てに対して、コントロール転送にて機器情報の問い合わせを行っていく。この機器情報には、ＵＳＢハブ、ＨＩＤ、プリンタ等のＵＳＢデバイスクラスの情報や、ＶＩＤ、ＰＩＤが含まれている。ここで、情報処理装置制御部４０３は、図７Ｂに示す接続デバイステーブル４１１に、「デバイス種類」「接続されたＵＳＢデバイス」「製造元識別情報（ＶＩＤ）」「機種別識別情報（ＰＩＤ）」のデータを記憶する。つまり、図７Ｂは、図７Ａの接続例の場合に接続デバイステーブル４１１に記憶されるデータの例を示している。
なお、この状態において、接続デバイステーブル４１１には、「デバイスドライバ」と「識別情報」のデータは記憶されていない。
【００６０】
（ステップＳ１０３）
次に、情報処理装置制御部４０３が、ドライバロード処理を行う。
情報処理装置制御部４０３は、上述のエニュメレーションにより、接続されているＵＳＢデバイスのデバイスクラスが何であるかを認識する。これにより、情報処理装置制御部４０３は、接続された各ＵＳＢデバイスに適切なドライバを記憶部２０１からロードし、ＵＳＢＨＩＤドライバ実行部５２０、ＵＳＢプリンタドライバ実行部５２１等で実行する。この際、情報処理装置制御部４０３は、接続デバイステーブル４１１に、「デバイスドライバ」のデータを記憶する。なお、この状態でも、接続デバイステーブル４１１には、「識別情報」のデータは記憶されていない。
【００６１】
（ステップＳ１０４）
次に、識別情報取得部４００、ユニット装置制御部４０１、及びアプリケーション実行部４０２が、アプリケーション起動処理を行う。
アプリケーション実行部４０２は、アプリケーション４１３をロードして実行開始する。ここで、アプリケーション実行部４０２は、カード発行等の機能を実行するユニット装置を選択する。
この際、識別情報取得部４００及びユニット装置制御部４０１は、選択されたユニット装置の構成を認識し、選択されたユニット装置からカード発行させる。
このアプリケーション実行処理の詳細については後述する。
【００６２】
（ステップＳ１０５）
次に、アプリケーション実行部４０２が、アプリケーション終了処理を行う。
アプリケーション実行部４０２は、カード発行を終了すると、アプリケーション４１３を終了させる。
【００６３】
（ステップＳ１０６）
次に、情報処理装置制御部４０３が、ドライバアンロード処理を行う。
情報処理装置制御部４０３は、アプリケーション４１３が終了した場合、ロードされた各ＵＳＢデバイス用のドライバを記憶部２０１のＲＡＭから削除して解放する（以下、「アンロード」という。）。これにより、各ユニット装置が非接続の状態となる。
【００６４】
（ステップＳ１０７）
次に、情報処理装置制御部４０３が、停止処理を行う。
情報処理装置制御部４０３は、ユーザの指示があるまで、上位装置２を待機状態にする。この際、情報処理装置制御部４０３は、カード発行ユニット１ａ、１ｂの電源を切断してもよい。
以上により、本発明の実施の形態に係るカード発行制御処理を終了する。
【００６５】
次に、図８を参照して、図６のステップＳ１０４のアプリケーション実行処理の詳細について説明する。
【００６６】
（ステップＳ２０１）
まず、アプリケーション実行部４０２が、アプリケーション開始処理を行う。
本実施形態の例では、アプリケーション実行部４０２は、アプリケーション４１３をロードして実行する。また、本実施形態において、アプリケーション実行部４０２は、ユニット装置としてカード発行ユニット１ｂを選択する。
【００６７】
（ステップＳ２０２）
次に、識別情報取得部４００及びユニット装置制御部４０１が、カード発行ユニット通信開設処理を行う。
識別情報取得部４００は、選択されたカード発行ユニット１ｂの中継装置１３ｂを検索し、これらのポートに接続されているＵＳＢデバイスに対し、識別情報を取得する。ユニット装置制御部４０１は、識別情報に基づいて、選択されたユニット装置と各情報処理装置との対応付けを行うことで、ユニット装置の構成を認識する。
本実施形態の例では、カード発行ユニット１ｂの各情報処理装置を検索して、通信を開設する。これにより、ユニット装置の構成が認識される。
このカード発行ユニット通信開設処理の詳細については後述する。
【００６８】
（ステップＳ２０３）
次に、アプリケーション実行部４０２及びユニット装置制御部４０１が、カード発行処理を行う。
アプリケーション実行部４０２は、ユニット装置制御部４０１に、接続されたカード発行ユニットを指定してカード発行を指示する。ユニット装置制御部４０１は、カードホッパ部１２４ａからカードを繰り出させる。その後、アプリケーション実行部４０２は、ユニット装置制御部４０１にカードの搬送命令、磁気記録命令、ＩＣ通信命令、プリント命令等を実行させる。これにより、ユニット装置制御部４０１は、選択されたカード発行ユニットにカードを作成させ、作成されたカード媒体４を排出させる。
【００６９】
（ステップＳ２０４）
次に、アプリケーション実行部４０２が、カード発行ユニット通信遮断処理を行う。
アプリケーション実行部４０２は、選択されたカード発行ユニットとの通信を遮断する。
以上により、本発明の実施の形態に係るアプリケーション実行処理を終了する。
【００７０】
次に、図９を参照して、図８のステップＳ２０２のカード発行ユニット通信開設処理の詳細について説明する。
ここでは、上述のステップＳ２０１（図８）にて、カード発行ユニット１ｂが選択され、カード発行ユニット１ｂからカードを発行させるため、通信を開設する例について説明する。つまり、図７Ａ、図７Ｂの例によると、カード発行部１２ｂの識別情報３１２ｂの「Ｅ００００００２」と同様の識別情報を有する他の情報処理装置を検索して通信を開始する。
【００７１】
（ステップＳ３０１）
まず、ユニット装置制御部４０１及び識別情報取得部４００が、カード発行部通信開設処理を行う。
ここで、上述のように、選択されているのはカード発行ユニット１ｂである。このカード発行ユニット１ｂのカード発行部１２ｂは、ＵＳＢ  ＨＩＤデバイスである。この場合、ＵＳＢ  ＨＩＤ制御用のドライバがロードされ、カード発行部１２ｂは、このドライバを通じてＵＳＢＨＩＤドライバ実行部５２０により制御される。
このため、ユニット装置制御部４０１は、カード発行制御部５３２、ＵＳＢＨＩＤドライバ実行部５２０を介して、接続されたＵＳＢデバイスの情報を取得する。
【００７２】
具体的には、図７Ｂに示すように、ＵＳＢ  ＨＩＤ制御用ドライバがロードされている情報処理装置は、カード発行部１２ｂの他に、カード発行部１２ａ、カードリーダ／ライタ部１０ａ、カードリーダ／ライタ部１０ｂが存在する。これらの情報処理装置においても、同様にＵＳＢ  ＨＩＤ制御用ドライバがロードされているため、計四つのドライバのオブジェクトが記憶部２０１に存在する。ドライバのオブジェクトは、各ＵＳＢデバイスに１つ存在し、一時的に記憶部２０１に展開されている。この四つのドライバのオブジェクトは、ＶＩＤ、ＰＩＤの情報であるデバイスインスタンスと、それぞれ関連付けられている。
したがって、ユニット装置制御部４０１は、それぞれのデバイスインスタンスのＰＩＤ、ＶＩＤの検索を行うことにより、どのドライバオブジェクトがＶＩＤ：０００３ｈ、ＰＩＤ：０００１ｈのカード発行部１２ａ、１２ｂ用であるかを認識する。
【００７３】
図７Ａ、図７Ｂの具体例では、カード発行部１２ａ、１２ｂが二つ存在する。このため、識別情報取得部４００が、この両方のドライバのオブジェクトを通じて、ＵＳＢデバイスに識別情報の問い合わせを行う。この問い合わせにより、カード発行部１２ａ、１２ｂの識別情報通知部３００は、それぞれ識別情報３１２ａ、３１２ｂを送信する。識別情報取得部４００は、この識別情報３１２ａ、３１２ｂを取得して、接続デバイステーブル４１１に記憶する。
【００７４】
ユニット装置制御部４０１は、通信開始を試みているカード発行部１２ｂの識別情報３１２ｂである「Ｅ００００００２」と同じ識別情報が返信された場合、このドライバのオブジェクトがカード発行部１２ｂと通信可能なＵＳＢ  ＨＩＤ制御用ドライバのオブジェクトであることがわかる。
これにより、ユニット装置制御部４０１は、カード発行ユニット１ｂが存在することを認識し、識別情報３１２ｂの「Ｅ００００００２」を、カード発行ユニット１ｂの構成と対応付けする。
【００７５】
（ステップＳ３０２）
次に、識別情報取得部４００が、中継装置検索処理を行う。
ここで、識別情報取得部４００は、ＵＳＢハブ制御部５００、ＵＳＢハブドライバ実行部５０１により、図７Ｂの「デバイス種類」が「ハブ」である各ＵＳＢデバイスに対し、保有する全ポートに、どのＵＳＢデバイスが存在するのかの問い合わせを、全ポートに対して実行する。識別情報取得部４００は、各ポートについて、どのＶＩＤ、ＰＩＤ、識別情報のＵＳＢデバイスが存在するのかを問い合わせる。この問い合わせは、上述したカード発行部１２ｂの通信開始の処理と同様に、ハブ用のドライバの三つのオブジェクトの情報を検索することで行う。
このポートへの接続デバイス情報の問い合わせの中で、カード発行部１２ｂのＶＩＤ：０００３ｈ、ＰＩＤ：０００１ｈ、識別情報３１２ｂ：「Ｅ００００００２」の情報と照合する。これにより、識別情報取得部４００は、中継装置１３ｂのポート１３２ｂにカード発行部１２ｂが接続されていることを認識する。
【００７６】
（ステップＳ３０３）
次に、識別情報取得部４００が、カードプリンタ検索処理を行う。
識別情報取得部４００は、ＵＳＢ  ハブドライバから、中継装置１３ｂのクラスの情報を取得する。この上で、中継装置１３ｂのポート１３０ｂ、１３１ｂ、１３２ｂの情報を取得し、接続されているカードプリンタの問い合わせをする。この問い合わせの中で、識別情報取得部４００は、ＶＩＤ：０００３ｈ、ＰＩＤ：０００２ｈのカードプリンタ部１１ｂがポート１３１ｂに接続されていることを認識し、識別情報の問い合わせを行う。
識別情報取得部４００は、この問い合わせを、中継装置１３ｂに対するドライバのオブジェクトにて行う。これにより、識別情報取得部４００は、カードプリンタ部１１ｂの識別情報３１１ｂ：「Ｄ００００００２」を取得して、カード発行ユニット１ｂに対応付ける。
【００７７】
（ステップＳ３０４）
次に、ユニット装置制御部４０１が、カードプリンタ通信開始処理を行う。
ユニット装置制御部４０１は、カード発行ユニット１ｂに接続されているカードプリンタ部１１ｂのＶＩＤ、ＰＩＤ、識別情報の確認ができたため、この情報に基づいて、カードプリンタ部１１ｂとの通信を開始する。
ユニット装置制御部４０１は、カードプリンタ制御部５３１、ＵＳＢプリンタドライバ実行部５２１を用いて、カードプリンタ部１１ｂとの通信確立を行う。これにより、識別情報３１１ｂの「Ｄ００００００２」を、カード発行ユニット１ｂの構成と対応付けする。
【００７８】
（ステップＳ３０５）
次に、識別情報取得部４００が、カードリーダ／ライタ検索処理を行う。
識別情報取得部４００は、この処理を、上述のステップＳ３０３と同様に行う。この際、識別情報取得部４００は、ＶＩＤ：０００３ｈ、ＰＩＤ：０００３ｈのカードリーダ／ライタ部１０ｂが接続されているポート１３０ｂを探し出し、この識別情報３１０ｂ：「Ｃ００００００２」を取得する。
【００７９】
（ステップＳ３０６）
次に、ユニット装置制御部４０１が、カードリーダ／ライタ通信開始処理を行う。
ユニット装置制御部４０１が、カードリーダ／ライタ制御部５３０、ＵＳＢＨＩＤドライバ実行部５２０を介して、カードリーダ／ライタ部１０ｂとの通信を確立する。これにより、識別情報３１１ｂの「Ｃ００００００２」を、カード発行ユニット１ｂの構成と対応付けする。
【００８０】
上述したように、識別情報取得部４００及びユニット装置制御部４０１は、カード発行制御部５３２、カードリーダ／ライタ制御部５３０、カードプリンタ制御部５３１を通じて、各ＵＳＢデバイスとの検索と通信確立については、基本的に同様に実行可能である。このため、これらの処理をＵＳＢデバイス毎に繰り返すことで、選択されたカード発行ユニット１ｂに装着されたカード発行部１２ｂ、カードリーダ／ライタ部１０ｂ、カードプリンタ部１１ｂを、選択されたユニット装置の構成として認識することができる。
以上により、本発明の実施の形態に係るカード発行ユニット通信開設処理を終了する。
【００８１】
〔本実施形態の主な効果〕
以上のように構成することで、以下のような効果を得ることができる。
従来は、特許文献１に記載されたように、組み立て工程やメンテナンスの際に、カード発行機構のＥＥＰＲＯＭに、各ＵＳＢデバイスのＰＩＤ、ＶＩＤ、シリアル番号を記憶させていた。
これに対して、本発明の実施の形態に係る情報処理システムＸは、上位装置２と、上位装置２に接続されて、特定のユニット装置を構成する複数の情報処理装置と、上位装置２と各情報処理装置とをユニット装置の単位で接続するために、各情報処理装置を接続するＵＳＢポートを有する中継装置１３ａとを備え、各情報処理装置は、ベンダーＩＤとプロダクトＩＤ以外の固有の識別情報を記憶した記憶部と、上位装置２からの要求に対応して識別情報を通知する識別情報通知部３００とを備えることを特徴とする。
このように構成することで、ターゲットとするユニット装置に内蔵されている中継装置１３ａを特定し、その中継装置１３ａが備えるＵＳＢポートの一つ一つから接続された情報処理装置の識別情報を取得する。これにより、同時に制御すべきＵＳＢデバイスの特定を可能とする。結果として、事前にＥＥＰＲＯＭに、各ＵＳＢデバイスのＰＩＤ、ＶＩＤ、シリアル番号等を記憶させる必要がなくなり、組み立て工程やメンテナンスの手間を減少させることができる。
【００８２】
具体的に説明すると、ユニット装置に属する一つの情報処理装置に、同ユニット装置に存在する他のＵＳＢデバイスの情報を保持させることなく、指定したユニット装置を正常に制御可能にすることができる。このため、組み立て工程において、ＵＳＢデバイスの情報を記録させる作業を省くことができる。
また、メンテナンス時において、例えばカードリーダ／ライタ部１０ａを置き換えた場合でも、そのカードリーダ／ライタ部１０ａは、置き換え前の識別情報と一致させる、若しくは、カード発行部１２ａに新たな識別情報を書き込み直す等の作業が必要なくなる。結果として、組み立て時の工程を減少させ、メンテナンス時のユニット装置の工場送付の回数を減らすことができ、コストを削減できる。
【００８３】
また、本実施形態の情報処理システムＸは、中継装置１３ａに識別情報を記憶させる必要がないため、汎用のハブ用チップを使用することができ、コストを削減できる。
また、本実施形態の情報処理システムＸは、ＰＩＤ、ＶＩＤ以外の識別情報を使用しているため、ＵＳＢデバイス毎にＰＩＤ、ＶＩＤを変更する必要がなくなる。ここで、一社のＶＩＤにつき、ＰＩＤは最大ＦＦＦＦｈ（６５５３５）までの値しか割り当てられていない。このため、従来は大量生産するにあたってＰＩＤは枯渇し、全て別のＰＩＤにすることは現実的ではなかった。これに対して、本実施形態の構成では、より多くの製品を製造する場合に適用できる。
【００８４】
また、本発明の実施の形態に係る情報処理システムＸは、上位装置２は、中継装置１３ａに接続された各情報処理装置から、識別情報を取得する識別情報取得部４００と、識別情報取得部４００により取得した各情報処理装置の識別情報に対応して、ユニット装置の構成を認識するユニット装置制御部４０１を備えることを特徴とする。
このように構成することで、複数のＵＳＢデバイスで構成されるユニット装置が存在する場合、上位装置２において、どの情報処理装置が、どのユニット装置に所属しているのかを確実に把握することができる。つまり、誤って，別のユニット装置に属するＵＳＢデバイスを制御することを回避することができる。
【００８５】
具体的に説明すると、従来のＯＳ４１２のように、エニュメレーション及びドライバロードでは、各情報処理装置が、どのカード発行ユニットに属しているのかがわからなかった。これは、各ユニット装置と各情報処理装置との対応付けがなされていないことを示していた。この対応付けが行われていないと、アプリケーション実行部４０２が指定した情報処理装置を、適切に制御することができない。つまり、例えば、カード発行部１２ａでカードを繰り出したとしても、カードプリンタ部１１ｂでカードを受け取ろうとしてしまうかもしれなかった。
これに対して、本実施形態の情報処理システムＸは、ＶＩＤ、ＰＩＤ共に同じ値が記録されているハブを内蔵しているようなユニット装置であっても、上位装置２において、内蔵されているＵＳＢデバイスをユニット装置毎に対応付けて認識することができる。
【００８６】
また、本発明の実施の形態に係る情報処理システムＸは、ユニット装置制御部４０１は、ユニット装置が複数接続されている場合、中継装置毎に各情報処理装置の識別情報を取得し、同一の種類の情報処理装置が含まれていた場合であっても、ユニット装置の単位で区別して構成を認識することを特徴とする。
このように構成することで、同種のユニット装置を二台以上、同時接続しても、それぞれに内蔵するＵＳＢデバイスを識別できる。つまり、ユニット装置がカード搬送機構である場合、カードを的確に搬送、受け渡しすることができる。
【００８７】
また、本発明の実施の形態に係る情報処理システムＸは、情報処理装置は、カードリーダ／ライタ、カードプリンタ、スキャナ、及び／又はカード発行機構であり、ユニット装置は、カード発行ユニットであることを特徴とする。
このように構成することで、特に、ユニット装置として、複雑な機構をもち、連動して動作させる必要があるカード搬送機構を適切に制御することができる。
【００８８】
〔他の実施の形態〕
なお、上述の実施の形態においては、識別情報が事前に各情報処理装置の記憶部に書き込まれている例について説明した。しかしながら、この識別情報を、別途、メモリカード媒体を情報処理装置に装着して、このメモリカード媒体から読み込ませることも可能である。
つまり、本発明の他の実施の形態に係る情報処理システムＸは、例えば、各情報処理装置は、識別情報が記憶されたメモリカード媒体を読み込み、上位装置からの要求に対応して当該識別情報を通知することを特徴とする。この場合、メモリカード媒体として、ＡＴＭ端末用のＳＡＭ（Secure Application Module）カードを使用することも可能である。
このように構成することで、識別情報を変更する際に、容易に対応することができる。また、各情報処理装置の製造時に、識別情報を設定する必要がなくなる。
【００８９】
また、上述の実施の形態において、ＵＳＢデバイスとして、ＵＳＢハブ３、カード発行部１２ａ、１２ｂ、カードプリンタ部１１ａ、１１ｂ、カードリーダ／ライタ部１０ａ、１０ｂを使用した。しかしながら、ＵＳＢで接続される非接触式ＩＣカードリーダ、その他の情報処理装置も利用可能である。
このように構成することで、より複雑なユニット装置の構成を実現したり、情報処理システムＸの機能拡張をしたりすることが容易となる。
【００９０】
また、上述の実施の形態では、識別情報の取得方法として、コントロール転送を用いたが、例えばバルク通信やインタラプト通信等の転送方法を使用することも可能である。
このように構成することで、より適切な転送により識別情報を取得可能である。たとえば、バルク通信を暗号化して実行することで、セキュリティを向上させられる。
【００９１】
また、上述の実施の形態では、情報処理装置の識別情報として主にシリアル番号を使用したが、デバイスが応答できる情報であれば、例えば数字だけでもよく、他の文字列等を使用してもよい。
このように構成することで、情報処理システムＸの機能や目的に最適な識別情報を選択することが可能である。
【００９２】
また、上述の実施の形態では、カード発行ユニットの識別情報を、カード発行部１２ａの識別情報と同様のものとしているが、例えば、カードリーダ／ライタ部１０ａや、カードプリンタ部１１ａ等の他の情報処理装置の識別情報と一致させてもよい。
また、情報処理装置毎に、まったく異なる識別番号が記憶されていてもよい。この場合、上位装置２にて、この識別番号とユニット装置との対応付けを接続デバイステーブル４１１に記憶しておくことで、ユニット装置の構成を認識できる。
このように構成することで、識別番号を柔軟に選択して、ユニット装置の構成を把握することが可能となる。
【００９３】
また、上述の実施形態においては、ＵＳＢハブ３及び中継装置１３ａには、識別情報を記憶していない汎用のチップを使用した。しかしながら、ＵＳＢハブ３及び中継装置１３ａ、１３ｂ等の接続されたハブに、識別情報を記憶してもよい。
これにより、上位装置２において、選択するユニット装置に対応した中継装置１３ａを検索しやすくなる。
【００９４】
また、上述の実施の形態では、ＵＳＢ規格の通信による通信を実行する例について記載した。これに対して、ＵＳＢ以外に、ＵＳＢと類似したカスケード接続の通信方式の情報処理システムにも適用可能である。
これにより、ＵＳＢ以外の通信方式でも、ユニット装置の構成を把握しやすくなる。
【００９５】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【００９６】
１ａ、１ｂ  カード発行ユニット
２  上位装置
３  ＵＳＢハブ
４  カード媒体
１０ａ、１０ｂ  カードリーダ／ライタ部
１１ａ、１１ｂ  カードプリンタ部
１２ａ、１２ｂ  カード発行部
１３ａ、１３ｂ  中継装置
３０ａ、３０ｂ、１３０ａ、１３０ｂ、１３１ａ、１３１ｂ、１３２ａ、１３２ｂ  ポート
１００ａ、１１０ａ、１２０ａ、２００  制御部
１０１ａ、１１１ａ、１２１ａ、２０１  記憶部
１０２ａ、１１２ａ、１２２ａ、２０２  バス
１０３ａ、１１３ａ、１２３ａ、２０３  通信Ｉ／Ｆ部
１２４ａ  カードホッパ部
１２５ａ  回収庫
１３３ａ  ＵＳＢ通信制御部
３００  識別情報通知部
３１０ａ、３１０ｂ、３１１ａ、３１１ｂ、３１２ａ、３１２ｂ  識別情報
４００  識別情報取得部
４０１  ユニット装置制御部
４０２  アプリケーション実行部
４０３  情報処理装置制御部
４１０  ドライバ
４１１  接続デバイステーブル
４１２  ＯＳ
４１３  アプリケーション
５００  ＵＳＢハブ制御部
５０１  ＵＳＢハブドライバ実行部
５１０  ＵＳＢバスドライバ実行部
５２０  ＵＳＢＨＩＤドライバ実行部
５２１  ＵＳＢプリンタドライバ実行部
５３０  カードリーダ／ライタ制御部
５３１  カードプリンタ制御部
５３２  カード発行制御部
Ｘ  情報処理システム
【図１】
0006637666.tif 000002
【図２】
0006637666.tif 000003
【図３】
0006637666.tif 000004
【図４】
0006637666.tif 000005
【図５】
0006637666.tif 000006
【図６】
0006637666.tif 000007
【図７Ａ】
0006637666.tif 000008
【図７Ｂ】
0006637666.tif 000009
【図８】
0006637666.tif 000010
【図９】
0006637666.tif 000011