(57)【特許請求の範囲】
【請求項１】
搬送路に沿ってカードを送付する送付側装置と、前記搬送路に沿って前記送付側装置から前記カードを受け取る受取側装置と、前記送付側装置及び前記受取側装置を制御する上位装置とを備えたカード搬送システムであって、
前記送付側装置及び前記受取側装置は、それぞれ、前記受取側装置及び前記送付側装置としても機能し、
前記上位装置は、
ユーザインターフェイスを含むアプリケーションを実行するアプリケーション実行部と、
前記アプリケーション実行部からの標準規格のコマンドに対応して、前記受取側装置及び前記送付側装置を制御するミドルウェアを実行するミドルウェア実行部と、
前記ミドルウェア実行部が前記アプリケーション実行部から取得した前記標準規格のコマンドを取得し、前記送付側装置の搬送ローラ及び前記受取側装置の搬送ローラを、必要に応じて、前記カードの搬送と同期させて制御する同期制御部を備え、
前記同期制御部は、前記同期の制御に際し、前記送付側装置の搬送ローラを特定時間待機させ、
前記特定時間は、前記受取側装置の搬送ローラが回転し始めると推定される時間である
ことを特徴とするカード搬送システム。
【請求項２】
前記同期制御部は、
前記送付側装置と前記受取側装置とにコマンドを送信する共有オブジェクトサーバを備える
ことを特徴とする請求項１に記載のカード搬送システム。
【請求項３】
前記ミドルウェア実行部は、前記送付側装置及び／又は前記受取側装置をＯＳのサービスにより制御し、
前記同期制御部は、前記サービスにより制御された前記送付側装置及び／又は前記受取側装置に、ＯＳのプロセス間通信によりコマンドを送信する
ことを特徴とする請求項１又は２に記載のカード搬送システム。
【請求項４】
前記同期制御部は、前記送付側装置の搬送ローラと同じ速度又は速い速度で前記受取側装置の搬送ローラを駆動させる
ことを特徴とする請求項１乃至３のいずれか１項に記載のカード搬送システム。
【請求項５】
前記同期制御部は、前記送付側装置の搬送ローラよりも先に前記受取側装置の搬送ローラを駆動開始させる
ことを特徴とする請求項１乃至４のいずれか１項に記載のカード搬送システム。
【請求項６】
前記同期制御部は、前記送付側装置の搬送ローラの駆動開始よりも早いタイミングで、前記受取側装置に搬送ローラを駆動させる指令を送信する
ことを特徴とする請求項５に記載のカード搬送システム。
【請求項７】
前記同期制御部は、前記送付側装置の搬送ローラと前記受取側装置の搬送ローラとを同時に駆動させる指令を送信するものの、前記送付側装置の搬送ローラに送信する指令には、駆動開始が前記特定時間遅れる時間遅延の指令を含める
ことを特徴とする請求項５に記載のカード搬送システム。
【請求項８】
前記送付側装置及び前記受取側装置は、それぞれ、前記カードと接触して情報を読み込み書き込むカードリーダ、前記カードと非接触で情報を読み込み書き込む非接触ＩＣカードリーダ、前記カードを回収し返却するカード回収返却モジュール、前記カードを光学読み取りするイメージリーダ、及び前記カードに印刷するプリンタのいずれかである
ことを特徴とする請求項１乃至７のいずれか１項に記載のカード搬送システム。
【請求項９】
搬送路に沿ってカードを送付する送付側装置と、前記搬送路に沿って前記送付側装置から前記カードを受け取る受取側装置と、前記送付側装置及び前記受取側装置を制御する上位装置とを備えたカード搬送システムのカード搬送制御方法であって、
前記送付側装置及び前記受取側装置は、それぞれ、前記受取側装置及び前記送付側装置としても機能し、
ユーザインターフェイスを含むアプリケーションを実行し、
実行された前記アプリケーションの標準規格のコマンドに対応して、前記受取側装置及び前記送付側装置を制御するミドルウェアを実行し、
前記ミドルウェアの実行時に前記標準規格のコマンドを取得し、前記送付側装置の搬送ローラ及び前記受取側装置の搬送ローラを、必要に応じて、前記カードの搬送と同期させて制御し、
前記同期の制御に際し、前記送付側装置の搬送ローラを特定時間待機させ、
前記特定時間は、前記受取側装置の搬送ローラが回転し始めると推定される時間である
ことを特徴とするカード搬送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カード搬送システム及びカード搬送制御方法に係り、特にカードを受取側と送付側とで搬送路に沿って搬送するカード搬送システム及びカード搬送制御方法に関する。
【背景技術】
【０００２】
従来のＡＴＭ（Automated Teller Machine）等は、磁気カードやＩＣカードを読み込み、書き込むカードリーダと呼ばれる装置を内蔵している。このカードリーダには、ユーザが取り忘れたカードを回収し返却するカード回収返却モジュールが連結されることがある。また、カードリーダには、カード回収返却モジュールの他にも、イメージリーダ、カードプリンタ等の装置が連結されることもある。これらの接続された二つの装置間では、搬送路によりカードを搬送することができる。
【０００３】
これらの二つの装置は、通常、組み込みＰＣ（Embedded Personal Computer）等の上位装置により制御される。上位装置は、二つの装置について、それぞれの装置に対応した制御プログラムを実行することで制御する。この際、ＡＴＭのユーザインターフェイス等を提供するアプリケーションは、標準規格のコマンドを発行可能なＡＰＩ（Application Programming Interface）を使用する。このため、装置を直接制御するデバイスドライバ（Device Driver）やレジストリ（Registry）等を変更するだけで、いずれかの装置を取り換えても、共通のアプリケーションを利用することができる。
特許文献１に、このような二つの装置を制御する例が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−８６８３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、図９により、従来の特許文献１に記載された技術のような二つの装置を備えたカード搬送システム３の例について説明する。カード搬送システム３は、市場で運用されているカードリーダ１０を内蔵したＡＴＭに対し、カード回収返却モジュール２０を接続した場合の構成例である。
カードリーダ１０とカード回収返却モジュール２０との間では、カード４０の回収時に、カードリーダ１０内のカード４０をカード回収返却モジュール２０へ搬送させる必要がある。また、逆に、カード回収返却モジュール２０からカードリーダ１０へカード４０を搬送させる必要もある。この搬送の制御は、ミドルウェア（Middleware）等の制御プログラム内のオブジェクト、例えば、Ｗｉｎｄｏｗｓ（登録商標）系のＯＳ（Operating System）の場合、各装置に対応したサービスプロバイダ（Service Provider、以下「ＳＰ」と省略する。）を実行して実現することができる。
しかしながら、二つの装置間でカード４０を搬送する場合、各装置のＳＰの制御により、カード４０の受け渡しが正常に行われない場合がある。以下に具体例を示す。
【０００６】
図９によると、上位装置３３は、金融用のアプリケーションを実行するアプリケーション実行部１１０と、金融用のアプリケーションで標準のＣＥＮ／ＸＦＳ（Comite Europeen de Normalisation / eXtensions for Financial Services）の規格のコマンドに対応したＡＰＩを実行するミドルウェア実行部１２３を機能ブロックとして備えている。
ここで、ミドルウェア実行部１２３は、カードリーダ１０の制御に対応したカードリーダクラスＳＰ２１３と、カード回収返却モジュール２０の制御に対応したカード回収返却モジュールクラスＳＰ２２３とを備えている。この例のように、ＣＥＮ／ＸＦＳ規格のＡＰＩに従った実装をすると、カードリーダ１０及びカード回収返却モジュール２０のそれぞれに対応したＳＰを提供する必要があるためである。また、カードリーダクラスＳＰ２１３と、カード回収返却モジュールクラスＳＰ２２３とは、それぞれ、別々のデバイスドライバ等を実行するためのＤＬＬ（Dynamic Link Library）であるＤＬＬ５１０、５２０を備え、実行している。
【０００７】
ところで、ＣＥＮ／ＸＦＳ規格に対応したカードリーダクラスＳＰ２１３には、カード４０を後方から取り込むというコマンドが用意されていなかった。
したがって、上位のアプリケーション実行部１１０から、カードリーダ１０に対して、カード４０を、後方から取り込むコマンドを出すことはできなかった。このため、カード回収返却モジュール２０から搬送されたカード４０は、カードリーダ１０の後方の挿入口に押し込まれた状態で停止する。これに対して、カードリーダクラスＳＰ２１３には、カードリーダ１０をリセットさせるためのリセットコマンド、カードリーダ１０の内部に存在するカード４０をゲート挿入口に排出するための排出コマンドが用意されている。このため、これらのコマンドを使用して、カード回収返却モジュール２０からカードリーダ１０後方に押し込められたカード４０を、ユーザがカード４０を挿入するゲート口に排出し、ユーザに返却させる。
【０００８】
しかしながら、上述のような方法によりカード４０を搬送すると、二つの装置間でカード４０をスムーズに搬送できないという問題があった。このため、カードリーダ１０の後方に位置する搬送ローラ１１、及びカード回収返却モジュール２０でカード４０を排出する際に使用する搬送ローラ２１が著しく劣化していた。
この問題は、反対方向、つまりカードリーダ１０からカード回収返却モジュール２０にカード４０を搬送させる際も同様に発生していた。
【０００９】
本発明は、このような状況に鑑みてなされたものであり、上述の問題を解消し、スムーズにカードを搬送することが可能なカード搬送システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明のカード搬送システムは、搬送路に沿ってカードを送付する送付側装置と、前記搬送路に沿って前記送付側装置から前記カードを受け取る受取側装置と、前記送付側装置及び前記受取側装置を制御する上位装置とを備えたカード搬送システムであって、前記送付側装置及び前記受取側装置は、それぞれ、前記受取側装置及び前記送付側装置としても機能し、前記上位装置は、ユーザインターフェイスを含むアプリケーションを実行するアプリケーション実行部と、前記アプリケーション実行部からの標準規格のコマンドに対応して、前記受取側装置及び前記送付側装置を制御するミドルウェアを実行するミドルウェア実行部と、前記ミドルウェア実行部が前記アプリケーション実行部から取得した前記標準規格のコマンドを取得し、前記送付側装置の搬送ローラ及び前記受取側装置の搬送ローラを、必要に応じて、前記カードの搬送と同期させて制御する同期制御部を備え、前記同期制御部は、前記同期の制御に際し、前記送付側装置の搬送ローラを特定時間待機させ、前記特定時間は、前記受取側装置のローラが回転し始めると推定される時間であることを特徴とする。
このように構成することで、送付側装置及び受取側装置となる二つの装置に対して、コマンドを関連付けながら制御できるので、カードの送付と受け取りとをスムーズに行うことができる。これにより、搬送ローラの劣化を抑えることができる。
【００１１】
本発明のカード搬送システムは、前記同期制御部は、前記送付側装置と前記受取側装置とにコマンドを送信する共有オブジェクトサーバを備えることを特徴とする。
このように構成することで、共有オブジェクトサーバから、送付側装置と、受取側装置に制御を依頼することができる。
【００１２】
本発明のカード搬送システムは、前記ミドルウェア実行部は、前記送付側装置及び／又は前記受取側装置をＯＳのサービスにより制御し、前記同期制御部は、前記サービスにより制御された前記送付側装置及び／又は前記受取側装置に、ＯＳのプロセス間通信によりコマンドを送信することを特徴とする。
このように構成することで、ＯＳのサービス等により別プロセスで実行されているアプリケーションからも、送付側装置と受取側装置とに制御を依頼することができる。
【００１３】
本発明のカード搬送システムは、前記同期制御部は、前記送付側装置の搬送ローラと同じ速度又は速い速度で前記受取側装置の搬送ローラを駆動させることを特徴とする。
このように構成することで、カードの駆動を滞りなく行うことができる。
【００１４】
本発明のカード搬送システムは、前記同期制御部は、前記送付側装置の搬送ローラよりも先に前記受取側装置の搬送ローラを駆動開始させることを特徴とする。
このように構成することで、カードをスムーズに搬送できる。
【００１５】
本発明のカード搬送システムは、前記同期制御部は、前記送付側装置の搬送ローラの駆動開始よりも早いタイミングで、前記受取側装置に搬送ローラを駆動させる指令を送信することを特徴とする。
このように構成することで、カードをスムーズに搬送できる。
【００１６】
本発明のカード搬送システムは、前記同期制御部は、前記送付側装置の搬送ローラと前記受取側装置の搬送ローラとを同時に駆動させる指令を送信するものの、前記送付側装置の搬送ローラに送信する指令には、駆動開始が特定時間遅れる時間遅延の指令を含めることを特徴とする。
このように構成することで、カードをスムーズに搬送できる。
【００１７】
本発明のカード搬送システムは、前記送付側装置及び前記受取側装置は、それぞれ、前記カードと接触して情報を読み込み書き込むカードリーダ、前記カードと非接触で情報を読み込み書き込む非接触ＩＣカードリーダ、前記カードを回収し返却するカード回収返却モジュール、前記カードを光学読み取りするイメージリーダ、及び前記カードに印刷するプリンタのいずれかであることを特徴とする。
このように構成することで、上述の各種装置について、カードをスムーズに搬送するよう制御できる。
【００１８】
本発明のカード搬送制御方法は、搬送路に沿ってカードを送付する送付側装置と、前記搬送路に沿って前記送付側装置から前記カードを受け取る受取側装置と、前記送付側装置及び前記受取側装置を制御する上位装置とを備えたカード搬送システムのカード搬送制御方法であって、前記送付側装置及び前記受取側装置は、それぞれ、前記受取側装置及び前記送付側装置としても機能し、ユーザインターフェイスを含むアプリケーションを実行し、実行された前記アプリケーションの標準規格のコマンドに対応して、前記受取側装置及び前記送付側装置を制御するミドルウェアを実行し、前記ミドルウェアの実行時に前記標準規格のコマンドを取得し、前記送付側装置の搬送ローラ及び前記受取側装置の搬送ローラを、必要に応じて、前記カードの搬送と同期させて制御し、前記同期の制御に際し、前記送付側装置の搬送ローラを特定時間待機させ、前記特定時間は、前記受取側装置の搬送ローラが回転し始めると推定される時間であることを特徴とする。
このように構成することで、送付側装置及び受取側装置となる二つの装置に対して、コマンドを関連付けながら制御できるので、カードの送付と受け取りとをスムーズに行うことができる。これにより、搬送ローラの劣化を抑えることができる。
【発明の効果】
【００１９】
本発明によれば、ミドルウェアから標準規格のコマンドを取得し、送付側装置の搬送ローラ及び受取側装置の搬送ローラを、必要に応じて、カードの搬送と同期させて制御する同期制御部を備えることで、カードをスムーズに搬送することが可能なカード搬送システムを提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態に係るカード搬送システムのカードリーダ及びカード回収返却モジュールの外観を示す斜視図である。
【図２】本発明の実施の形態に係るカード搬送システムのシステム構成を示すブロック図である。
【図３】本発明の実施の形態に係るカード搬送システムの機能構成を示すブロック図である。
【図４】本発明の実施の形態に係るカード回収処理のフローチャートである。
【図５】本発明の実施の形態に係るカード返却処理のフローチャートである。
【図６】本発明の他の実施の形態に係るカード搬送システムのシステム構成を示すブロック図である。
【図７】本発明の他の実施の形態に係るカード回収処理のタイミングチャートである。
【図８】本発明の他の実施の形態に係るカード返却処理のタイミングチャートである。
【図９】従来のカード搬送システムのシステム構成を示すブロック図である。
【発明を実施するための形態】
【００２１】
＜実施の形態＞
〔カード搬送システム１の構成〕
まず、図１及び図２により、本発明の実施の形態に係るカード搬送システム１の概略構成の一例について説明する。
【００２２】
カード搬送システム１は、本実施形態においては、取り忘れたカードを返却する機能を備えたＡＴＭ、キオスク（Kiosk）の端末、交通機関のチケット発行システム、コンビニエンスストア等のポイントカード発行システム、小売店のメンバーカード発行システム、遊技機のカード発行／支払システム、入退場管理システム等（以下、単に「ＡＴＭ等」と省略して記載する。）である。
本実施形態のカード搬送システム１では、カード４０を搬送する送付側装置及び受取側装置となる二つの装置が、上位装置３０で制御される。また、この二つの装置は、それぞれ、受取側装置及び送付側装置としても機能する。
本実施形態では、以下、この二つの装置として、カードリーダ１０と、カード回収返却モジュール２０とを使用する例について説明する。本実施形態において、これらの各装置は、ＵＳＢ（Universal Serial Bus）規格の信号等で接続可能である。なお、各装置は、二本のＵＳＢケーブルがＵＳＢハブに接続され、更に、このＵＳＢハブを介して上位装置３０に接続されているような構成であってもよい。
なお、二つの装置として、他にも、カード４０をお互いに搬送可能な装置について適用可能である。たとえば、本実施形態のカード搬送システム１の搬送方式は、カード４０と非接触で情報を読み込み書き込む非接触ＩＣカードリーダ、カード４０の表面の写真や文字等を光学読み取りするイメージリーダ（スキャナ）、及びカード４０に印刷するプリンタ、回収したカード４０を粉砕する粉砕機等についても、同様に適用可能である。
【００２３】
まず、図１により、カード搬送システム１のカードリーダ１０と、カード回収返却モジュール２０の外観構成について説明する。
カードリーダ１０は、カード４０の情報を読み込み（リード）、書き込み（ライト）が可能なモータ搬送式のカードリーダ／ライタ装置である。カードリーダ１０は、カード４０を搬送するための搬送機構、ＩＣカードから読み出し又は書き込みするためのＩＣ接点や電磁誘導アンテナ等の接続部、磁気ストライプに記憶された情報を読み出し又は書き込みするための磁気ヘッド等を備えている。また、カードリーダ１０は、読み出し又は書き込みされる情報を暗号化したり復号化したりすることも可能である。カードリーダ１０は、例えば、ＵＳＢ接続の接続方式で上位装置３０に接続される。
【００２４】
カードリーダ１０は、図１の手前側（以下、「前方」という。）から内部の奥側（以下、「後方」という。）へカード４０を取り込む。そして、カードリーダ１０は、ＩＣや磁気ストライプからデータを読み込み、書き込みする。カードリーダ１０は、当該処理が終了すると、前方にカード４０を搬送して排出させ、ユーザにカード４０を返却する。
また、カードリーダ１０は、ユーザがカード４０を取り忘れた場合、又は、不正なカード４０が使用された場合、後方にカード４０を搬送してカード回収返却モジュール２０に送付する。このため、カードリーダ１０の後方には、カード４０の搬送用の搬送ローラ１１（図３）が設けられている。また、カードリーダ１０は、装置外からカード４０を取り込み排出するゲート挿入口と、内部に取り込まれたカード４０を検知するセンサとを備えている。
また、カードリーダ１０は、ユーザが取り忘れてカード回収返却モジュール２０に収容されていたカード４０を当該ユーザに返却する場合、カード４０を前方に搬送するよう搬送ローラ１１を駆動させる。これにより、カードリーダ１０は、カード回収返却モジュール２０からカード４０を受け取って、前方に搬送して排出させる。
【００２５】
カード回収返却モジュール２０は、カードリーダ１０から送付されたカード４０を受け取って収容し、又は、収容されたカード４０をカードリーダ１０に向かって送付する装置である。
このため、カード回収返却モジュール２０の内部には、カード４０が複数枚挿入可能なスロットが設けられているカード収容部２２（図３）が備えられている。上位装置３０からのコマンドに対応して、このカード収容部２２自体が昇降動作を行う。これにより、カードリーダ１０後方の搬送口の高さに各スロット位置を合わせることが可能である。各スロットにカード４０が収納されているか否かについては、状態通知コマンドに対応した指令により確認可能である。また、カード回収返却モジュール２０のカード収容部２２の前方には、カード搬送用の搬送ローラ２１（図３）が設けられている。これにより、カードリーダ１０から送付されたカード４０を、前方からスロット内部へ取り込むことが可能である。また、スロット内に収容されたカード４０は、カード４０を押し出すレバーの機構により前方の搬送ローラ２１まで押し出され、搬送ローラ２１にて搬送され、更に前方のカードリーダ１０の方へ送付される。
【００２６】
また、カード回収返却モジュール２０は、収容枚数を超えるカード４０を、スロットの下に設けられている回収ボックス２３（図３）に落下させて回収することができる。この場合、カード収容部２２が、最上部（ホームポジション）に上げられるよう制御される。すると、前方から搬送されたカード４０は、カード収容部２２のスロットには搬送されず、回収ボックス２３に落下回収される。この回収ボックス２３に回収されたカード４０は、ＡＴＭの管理者等により引き出されて保管される。
また、このカード回収返却モジュール２０もカードリーダ１０と同様に、ＵＳＢ接続にて上位装置３０に接続されている。
なお、カード回収返却モジュール２０は、未使用のカード４０を蓄積するカードホッパ等を備えていてもよい。
【００２７】
カードリーダ１０及びカード回収返却モジュール２０は、ユーザが取り忘れたカード４０を回収する場合には、それぞれ、搬送路に沿ってカード４０を送付する送付側装置と、搬送路に沿って送付側装置からカード４０を受け取る受取側装置として機能する。また、カードリーダ１０及びカード回収返却モジュール２０は、カード回収返却モジュール２０に収容されたカード４０をユーザに返却する場合には、それぞれ、受取側装置及び送付側装置としても機能する。
【００２８】
カード４０は、接触型若しくは非接触型ＩＣカード４０、及び／又は磁気記録可能な磁気ストライプを備えた磁気カードである。カード４０は、例えば、厚さが０．７〜０．８ｍｍ程度の矩形状の塩化ビニール製である。カード４０には、例えば、磁気データが記録される磁気ストライプが形成されている。また、カード４０には、例えば、ＩＣチップが内蔵されている。カード４０には、ＩＣと磁気ストライプとが両方設けられていてもよい。なお、カード４０は、厚さが０．１８〜０．３６ｍｍ程度のＰＥＴ（ポリエチレンテレフタレート）カードや、所定の厚さの紙カード等であってもよい。カード４０は、後述する上位装置３０で実行されるアプリケーションの機能に対応して、ユーザの情報や貨幣価値情報等を記憶している。
【００２９】
次に、図２により、カード搬送システム１の上位装置３０のシステム構成について説明する。
上述したように、本実施形態において、カード搬送システム１の上位装置３０は、カードリーダ１０、カード回収返却モジュール２０に接続されている。
【００３０】
上位装置３０は、ＡＴＭ等の組み込みＰＣ（Embedded Personal Computer）、ＦＣ（Factory Computer）、サーバ等である。上位装置３０は、制御部５０、記憶部５１、各種インターフェイス５２等を備えており、送付側装置及び受取側装置を制御する。各部は、図示しないバス等に接続されている。
本実施形態において、上位装置３０は、カードリーダ１０及びカード回収返却モジュール２０を制御する。
【００３１】
制御部５０は、ＣＰＵ（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）等の一時的でない記録媒体である。また、各種インターフェイス５２は、カードリーダ１０及びカード回収返却モジュール２０と接続されて、これらの装置を制御するＵＳＢインターフェイスを含んでいる。加えて、各種インターフェイス５２は、例えば、ＬＶＤＳの液晶ディスプレイ用のインターフェイス、ＬＡＮ（Local Area Network）のインターフェイス等を含んでいてもよい。また、各種インターフェイス５２は、ＡＴＭ等本体のタッチパネルやテンキーやディスプレイ等（図示せず）と接続されていてもよい。
【００３２】
また、記憶部５１には、組み込み型のＯＳ、ＡＴＭ等用のアプリケーション（Application Software、アプリ）、ミドルウェア、デバイスドライバ、その他のデータ等が記憶されている。アプリケーションは、ＡＴＭ等の全体の制御を行い、ユーザインターフェイスを提供するプログラム等である。また、ミドルウェアは、各装置を制御するＡＰＩ等を含むプログラム等である。また、デバイスドライバは、ＡＰＩに対応して各装置を制御するためのライブラリ（Library）、ＤＬＬ、クラスドライバ（Class Driver）、オブジェクトサーバ（Object Server）等の実行コード（Binary code）等を含んでいる。
なお、本実施形態では、マイクロソフト（登録商標）社製のＷｉｎｄｏｗｓ（登録商標）を基にした組み込み型のＯＳのソフトウェア構造により各オブジェクト、クラス、プロセス等の間の情報の流れを説明するものの、これに限られない。すなわち、Ｌｉｎｕｘ（登録商標）等のＰＯＳＩＸ（登録商標）を用いたような組み込み型のＯＳ、リアルタイムＯＳ等についても適用可能である。
【００３３】
また、上位装置３０は、カードリーダ１０、カード回収返却モジュール２０、並びにその他の装置を装着するためのフレーム、及び電源回路等も備えている。
【００３４】
〔カード搬送システム１の機能構成〕
次に、図３により、カード搬送システム１の機能ブロック構成について説明する。
上位装置３０は、記憶部５１（図２）に記憶されたプログラムを、ハードウェア資源を用いて制御部５０が実行することで、アプリケーション実行部１１０、ミドルウェア実行部１２０、同期制御部１３０として機能する。
【００３５】
アプリケーション実行部１１０は、ＡＴＭ等として取引を行うためのユーザインターフェイスとなるアプリケーションを実行する。アプリケーション実行部１１０は、標準規格のコマンドでミドルウェア実行部１２０に指示することで、送付側装置及び受取側装置を制御させる。アプリケーション実行部１１０は、この標準規格として、例えば、ＣＥＮ／ＸＦＳで規定されているＡＰＩに対応したコマンドを、ミドルウェア実行部１２０に対して発行等する。また、アプリケーション実行部１１０は、標準規格のコマンドとして、特定の装置の市場で作成された事実上の標準となるＡＰＩに準拠したコマンドを発行等することも可能である。これにより、どのメーカの装置を接続したとしても、同様の処理を実行をさせることが可能となる。
【００３６】
ミドルウェア実行部１２０は、アプリケーション実行部１１０からの標準規格のコマンドに対応して、受取側装置及び送付側装置を制御するミドルウェアを実行する。
【００３７】
本実施形態において、ミドルウェア実行部１２０は、ＸＦＳマネージャ２００、各装置に対応したＳＰ、及びプロキシ／スタブＤＬＬ（Proxy/Stub DLL）を含んでいる。本実施形態では、各装置に対応したＳＰとして、カードリーダクラスＳＰ２１０、カード回収返却モジュールクラスＳＰ２２０を含んでいる。また、これらのＳＰに、それぞれ対応するプロキシ／スタブＤＬＬ２３０、２４０を含んでいる。
【００３８】
ＸＦＳマネージャ２００は、アプリケーション実行部１１０からの標準規格のコマンドを解釈し、各ＳＰを呼び出すＡＰＩ等を実行し、各ＳＰへのインターフェイスを提供する。これにより、ＸＦＳマネージャ２００は、ＳＰ間のマネージメントを行う。ＸＦＳマネージャ２００のＡＰＩは、例えば、各社のＣＥＮ／ＸＦＳのＳＤＫ（Software Development Kit）のＤＬＬ等として提供される。
【００３９】
カードリーダクラスＳＰ２１０は、カードリーダ１０の機能の呼び出しや状態管理等のコマンドに対応した処理を実行するＳＰである。本実施形態において、カードリーダクラスＳＰ２１０は、ＣＥＮ／ＸＦＳの規定に準拠した処理を実行する。カードリーダクラスＳＰ２１０は、例えば、カード４０の読み出し又は書き込み、カード回収、初期化（リセット）、カード排出、状態通知等のコマンドに対応した処理を実行する。また、本実施形態では、カードリーダクラスＳＰ２１０は、デバイスドライバのＤＬＬを直接呼び出さず、プロキシ／スタブＤＬＬ２３０を呼び出す。つまり、コマンドを受け取ったカードリーダクラスＳＰ２１０は、プロキシ／スタブＤＬＬ２３０を通じて、同期制御部１３０のローカルＣＯＭサーバ３００にコマンドを送信する。
【００４０】
カード回収返却モジュールクラスＳＰ２２０は、カード回収返却モジュール２０の機能の呼び出しや状態管理等を実行するＳＰである。カード回収返却モジュールクラスはＣＥＮ／ＸＦＳに規定されたクラスではなく、事実上の標準となるＡＰＩでのコマンドに対応した処理を実行する。カード回収返却モジュールクラスＳＰ２２０は、例えば、カード回収開始、カード返却、状態通知、カード返却終了、リセット等のコマンドに対応した処理を実行する。また、本実施形態では、カード回収返却モジュールクラスＳＰ２２０も、デバイスドライバのＤＬＬを直接呼び出さず、プロキシ／スタブＤＬＬ２４０を呼び出す。つまり、コマンドを受け取ったカード回収返却モジュールクラスＳＰ２２０は、プロキシ／スタブＤＬＬ２３０を通じて、ローカルＣＯＭサーバ３００にコマンドを送信する。
【００４１】
プロキシ／スタブＤＬＬ２３０、２４０（Proxy/Stub DLL）は、アプリケーションとは別のプロセスとして起動している同期制御部１３０のローカルＣＯＭサーバ３００とのプロセス間通信を行うためのインプロセスのオブジェクトサーバ（In Process Server）である。プロキシ／スタブＤＬＬ２３０、２４０は、各ＳＰから送られたコマンドを、プロキシ部でマーシャリング（marshalling）してローカルＣＯＭサーバ３００のプロセスにデータを送信する。つまり、プロキシ／スタブＤＬＬ２３０、２４０は、プロキシ及びスタブを使用することで、別々のプロセスにおいてオブジェクトの使用を可能とさせる。
【００４２】
なお、アプリケーション実行部１１０と、ＸＦＳマネージャ２００及びＳＰを含むミドルウェア実行部１２０とは、ＯＳ上で同一のプロセスとして制御部５０に実行されていてもよい。
また、同期制御部１３０は、ＯＳ上で別のプロセスとして制御部５０に実行されていてもよい。
【００４３】
同期制御部１３０は、ミドルウェア実行部１２０がアプリケーション実行部１１０から取得した標準規格のコマンドを取得し、実際に各装置に、制御用のコマンドを送信する。この際、同期制御部１３０は、送付側装置の搬送ローラ及び受取側装置の搬送ローラを、必要に応じて、カード４０の搬送と同期させて制御する。
本実施形態においては、具体的に、同期制御部１３０は、例えば、カード回収のコマンドを取得した際に、カードリーダ１０を送付側装置、カード回収返却モジュール２０を受取側装置と設定する。この場合、同期制御部１３０は、カードリーダ１０の搬送ローラ１１を駆動させるのと同期させて、カード回収返却モジュール２０の搬送ローラ２１を駆動させるよう制御する。
また、同期制御部１３０は、例えば、カード返却のコマンドを取得した際に、カード回収返却モジュール２０を送付側装置、カードリーダ１０を受取側装置と設定する。この場合、同期制御部１３０は、カード回収返却モジュール２０の搬送ローラ２１を駆動させるのと同期させて、カードリーダ１０の搬送ローラ１１を駆動させるよう制御する。
【００４４】
また、同期制御部１３０は、送付側装置の搬送ローラと同じ速度又は速い速度で受取側装置の搬送ローラを駆動させる。本実施形態においては、具体的に、同期制御部１３０は、例えば、カード回収のコマンドを取得した際に、カード回収返却モジュール２０の搬送ローラ２１を、カードリーダ１０の搬送ローラ１１と同じかより速い速度で駆動させる。また、同期制御部１３０は、例えば、カード返却のコマンドを取得した際に、カードリーダ１０の搬送ローラ１１を、カード回収返却モジュール２０の搬送ローラ２１と同じかより速い速度で駆動させる。
【００４５】
また、同期制御部１３０は、送付側装置の搬送ローラよりも先に、受取側装置の搬送ローラを駆動開始させる。
具体的には、同期制御部１３０は、送付側装置の搬送ローラの駆動開始よりも早いタイミングで、受取側装置に搬送ローラを駆動させる指令を送信することで、先に駆動させることが可能である。
この場合、本実施形態においては、同期制御部１３０は、例えば、カード回収のコマンドを取得した際に、カードリーダ１０の搬送ローラ１１よりも早いタイミングで、カード回収返却モジュール２０の搬送ローラ２１を駆動開始させる指令を送信する。また、同期制御部１３０は、例えば、カード返却のコマンドを取得した際に、カード回収返却モジュール２０の搬送ローラ２１よりも早いタイミングで、カードリーダ１０の搬送ローラ１１を駆動開始させる指令を送信する。この早いタイミングは、数百ミリ秒程度であってもよい。
【００４６】
なお、同期制御部１３０は、送付側装置の搬送ローラと受取側装置の搬送ローラとをほぼ同時に駆動させる指令を送信するものの、送付側装置の搬送ローラに送信する指令には、駆動開始が特定時間遅れる時間遅延の指令を含めるよう制御してもよい。
この場合、同期制御部１３０は、例えば、カード回収のコマンドを取得した際に、カード回収返却モジュール２０の搬送ローラ２１とカードリーダ１０の搬送ローラ１１とに、ほぼ同時に駆動の指令（制御コマンド）を送信する。しかしながら、同期制御部１３０は、カードリーダ１０の搬送ローラ１１に送信する指令には、特定時間待機するコマンドを含める。
また、同期制御部１３０は、例えば、カード返却のコマンドを取得した際に、同様に、カード回収返却モジュール２０の搬送ローラ２１とカードリーダ１０の搬送ローラ１１とに、ほぼ同時に駆動の指令を送信する。しかしながら、同期制御部１３０は、カード回収返却モジュール２０の搬送ローラ２１に送信する指令には、特定時間待機するコマンドを含める。
【００４７】
また、これらの方式を実現するため、本実施形態において、同期制御部１３０は、各装置で共用されるローカルＣＯＭサーバ３００を含んでいる。
【００４８】
ローカルＣＯＭサーバ３００（Local COM Server）は、共有オブジェクトサーバの一種であり、アウトプロセスサーバ（Out Process Server）として実装される。ローカルＣＯＭサーバ３００は、カードリーダクラスＳＰ２１０に対応するプロキシ／スタブＤＬＬ２３０と、カード回収返却モジュールクラスＳＰ２２０に対応するプロキシ／スタブＤＬＬ２４０とから受け取ったデータを、スタブ部でアンマーシャリング（unmarshalling）する。この上で、ローカルＣＯＭサーバ３００は、カードリーダ１０及びカード回収返却モジュール２０に適宜指令を送信する。
これにより、ローカルＣＯＭサーバ３００は、アプリケーション実行部１１０からミドルウェア実行部１２０に送られた標準規格のコマンドを取得する。そして、ローカルＣＯＭサーバ３００は、取得したコマンドを細分化した各装置専用の指令（制御コマンド）を、それぞれ、カード回収返却モジュール２０とカードリーダ１０とへＵＳＢクラスドライバ等により送信する。ローカルＣＯＭサーバ３００は、この際に、上述のように、搬送ローラ１１、２１を同期して制御する。これにより、カード搬送の際は、二つの装置の搬送ローラ１１、２１を両方関連づけて駆動させることができ、搬送ローラ１１、２１の磨耗を防ぐことができる。
【００４９】
なお、制御部５０は、記憶部５１に記憶されたアプリケーションと、コンパイルされて含まれたミドルウェアのＤＬＬ等を実行することで、アプリケーション実行部１１０及びミドルウェア実行部１２０として機能する。また、制御部５０は、記憶部５１に記憶されたデバイスドライバ等を実行することで、同期制御部１３０として機能する。
【００５０】
〔本発明の実施の形態に係るカード回収処理〕
次に、図４により、本発明の実施の形態に係るカード搬送システム１によるカード回収処理の説明を行う。
本実施形態のカード回収処理では、取り忘れられたカード４０を一旦カードリーダ１０内に取り込み、その後、カード回収返却モジュール２０内に収容する。
ここで、上位装置３０に接続された各装置はメーカにより機構が異なる。しかしながら、アプリケーション実行部１１０は、メーカに関わらず、標準の規格共通のコマンドを発行する。この際、上位装置３０のアプリケーション実行部１１０から、ミドルウェア実行部１２０のＸＦＳマネージャ２００を介し、カードリーダクラスＳＰ２１０及びカード回収返却モジュールクラスＳＰ２２０に対し、コマンドがステップ実行される。
以下で、図４のフローチャートにより、カード回収処理の詳細をステップ毎に説明する。カード回収処理は、上位装置３０の制御部５０の各部が、ハードウェア資源を用いて実行する。
【００５１】
（ステップＳ１０１）
まず、制御部５０は、取り忘れ待機処理を行う。
ＡＴＭ等の取引後、ユーザがカード４０を取り忘れたことをカードリーダ１０が検知した場合、すなわち、ゲート挿入口にカード４０が残っていたことをセンサで検知した場合に、アプリケーション実行部１１０は、所定時間が経過するまで待機する。この所定時間としては、例えば、４０秒程度の時間をアプリケーションに設定可能である。
カード４０の取り忘れから所定時間経過が経過した場合、以下のカード４０の回収の処理が開始される。
【００５２】
（ステップＳ１０２）
次に、制御部５０が、収容状態取得処理を行う。
アプリケーション実行部１１０は、ミドルウェア実行部１２０のカード回収返却モジュールクラスＳＰ２２０に対して状態通知コマンドを送信する。この状態通知コマンドは、カード回収返却モジュール２０に、各スロットの状態を確認させるコマンドである。
カード回収返却モジュールクラスＳＰ２２０は、プロキシ／スタブＤＬＬ２４０を介して、同期制御部１３０のローカルＣＯＭサーバ３００にこの状態通知コマンドを送信する。
ローカルＣＯＭサーバ３００は、この状態通知コマンドに対応した指令を、ＵＳＢにてカード回収返却モジュール２０に送信する。
【００５３】
（ステップＳ１０３）
次に、制御部５０が、全てのスロットにカード４０が収容されているか否かを判定する。
ここでは、同期制御部１３０のローカルＣＯＭサーバ３００は、状態通知コマンドに対応した指令に対する返信をカード回収返却モジュール２０から取得して、プロキシ／スタブＤＬＬ２４０を介して、ミドルウェア実行部１２０のカード回収返却モジュールクラスＳＰ２２０に送信する。カード回収返却モジュールクラスＳＰ２２０は、カード収容部２２の全てのスロットにカード４０が存在する、すなわち収容済である場合に、Ｙｅｓと判定する。カード回収返却モジュールクラスＳＰ２２０は、カード収容部２２に、まだ収容されていないスロットがある、すなわち空きスロットがある場合には、Ｎｏと判定する。カード回収返却モジュールクラスＳＰ２２０は、その判定結果を、アプリケーション実行部１１０に通知する。
Ｙｅｓの場合、制御部５０は、処理をステップＳ１０４に進める。
Ｎｏの場合、制御部５０は、処理をステップＳ１０５に進める。
【００５４】
（ステップＳ１０４）
全てのスロットが収容済みである場合、制御部５０が、回収ボックスカード回収処理を行う。
アプリケーション実行部１１０は、カード収容部２２の全てのスロットにカード４０が存在する場合は、ミドルウェア実行部１２０のカードリーダクラスＳＰ２１０に対し、回収ボックスへのカード回収コマンドを送信する。
カードリーダクラスＳＰ２１０は、プロキシ／スタブＤＬＬ２３０を介して、同期制御部１３０のローカルＣＯＭサーバ３００に、このカード回収コマンドを送信する。
すると、ローカルＣＯＭサーバ３００は、このカード回収コマンドを取得して、まず、カード収容部２２をホームポジションに移動させる指令を、カード回収返却モジュール２０に送信する。これにより、カード収容部２２の下部に位置する回収ボックス２３に、カード４０が落下できるようになる。
その後、制御部５０は、回収ボックスカード回収処理を終了する。
【００５５】
その後、ローカルＣＯＭサーバ３００は、カード回収返却モジュール２０の搬送ローラ２１を、カード４０を後方へ取り込む方向に駆動開始させる。
ローカルＣＯＭサーバ３００は、搬送ローラ２１が駆動開始されてから、数百ミリ秒程度の特定時間待機してから、カードリーダ１０に対してカード回収コマンドに対応した指令を送信する。
これにより、カードリーダ１０内にカード４０が取り込まれる。その後、ローカルＣＯＭサーバ３００は、搬送ローラ１１を駆動し、カード４０がカード回収返却モジュール２０に送付する。すると、送付されたカード４０は、カード回収返却モジュール２０により受け取られ、既に駆動されている搬送ローラ２１により、そのまま、回収ボックス２３に回収される。
【００５６】
（ステップＳ１０５）
空きスロットがある場合、制御部５０が、スロットカード回収開始処理を行う。
この場合、アプリケーション実行部１１０は、ミドルウェア実行部１２０のカード回収返却モジュールクラスＳＰ２２０に対し、カード回収開始コマンドを送信する。このコマンドは、スロットの位置等を指定する情報を含む。アプリケーション実行部１１０は、カードリーダ１０から送付されたカード４０を受け入れ可能な位置に、カード収容部２２を移動させる。
【００５７】
（ステップＳ１０６）
次に、制御部５０が、スロットカード回収処理を行う。
同期制御部１３０のローカルＣＯＭサーバ３００は、プロキシ／スタブＤＬＬ２４０を介して、上述のカード回収開始コマンドを取得すると、カード回収返却モジュール２０に、カード収容部２２の空きスロットを搬送路からのカード４０の搬送口に移動させる指令を送信する。
【００５８】
続いて、アプリケーション実行部１１０は、ミドルウェア実行部１２０のカードリーダクラスＳＰ２１０に対し、カード回収コマンドを発行する。
ローカルＣＯＭサーバ３００は、このコマンドを受信すると、先に、カード回収返却モジュール２０の前方の搬送ローラ２１を、カード４０を後方に搬送させて取り込める方向に駆動開始させる。
その後、ローカルＣＯＭサーバ３００は、特定時間待機してから、カードリーダ１０に対してカード回収コマンドに対応した指令を送信する。これにより、上述の回収庫カード回収処理と同様にカード４０がカードリーダ１０内に取り込まれる。
この際、カードリーダ１０はカード４０の情報を読み込み、当該情報をカードリーダクラスＳＰ２１０に送信する。カードリーダクラスＳＰ２１０は、アプリケーション実行部１１０に、このカード４０の情報を送信する。アプリケーション実行部１１０は、このカード４０の情報を、収容するスロットと対応付けて記憶部５１に記憶する。
ローカルＣＯＭサーバ３００は、搬送ローラ１１を駆動させ、カードリーダ１０内に取り込まれたカード４０を、カード回収返却モジュール２０に送付する。カード回収返却モジュール２０は、カード４０を受け取ると、既に駆動されている搬送ローラ２１により、カード収容部２２のスロット内に当該カード４０を収容させる。
【００５９】
（ステップＳ１０７）
次に、制御部５０が、スロットカード回収終了処理を行う。
最後に、アプリケーション実行部１１０は、ミドルウェア実行部１２０のカード回収返却モジュールクラスＳＰ２２０に対して、カード回収終了コマンドを発行する。
同期制御部１３０のローカルＣＯＭサーバ３００は、プロキシ／スタブＤＬＬ２４０を介して、このコマンドを取得すると、カード回収返却モジュール２０の空きスロットにカード４０が収容されたことをセンサの信号等で確認し、カード４０が収容されたカード収容部２２をホームポジションに移動させる指令を送付する。
以上により、本発明の実施の形態に係るカード回収処理を終了する。
【００６０】
〔本発明の実施の形態に係るカード返却処理〕
次に、図５により、本発明の実施の形態に係るカード搬送システム１によるカード返却処理の説明を行う。
本実施形態のカード返却処理では、カード回収返却モジュール２０のスロット内に収容されたカード４０を、ユーザに返却する。ここで、ＣＥＮ／ＸＦＳの規定では、カードリーダ制御用のクラスにおいて、後方からのカード４０の挿入を行うコマンドは設けられていない。よって、例えば、カード回収返却モジュール２０からカード４０を返却されている最中に、並行処理としてカードリーダ１０の後方からカード４０を取り込むような処理を行うことはできない。また、メーカにより、カード回収返却モジュール２０におけるカード４０の搬送方式は異なる。たとえば、カード４０をローラで搬送する方式、カード収容部を前後させてカード４０を動かす方式方法等がある。このため、カード返却時に、カードリーダ１０との並行処理が困難な場合がある。これら理由から、カード返却処理においても、各コマンドは並行処理ではなく、各ステップで実行される。
以下で、図５のフローチャートにより、カード返却処理の詳細をステップ毎に説明する。カード返却処理も、上位装置３０の制御部５０の各部が、ハードウェア資源を用いて実行する。
【００６１】
（ステップＳ２０１）
まず、制御部５０が、カード番号入力認証処理を行う。
アプリケーション実行部１１０は、カード４０を取り忘れたユーザがタッチパネル等によりカード４０の返却を要望する指示をした場合、ユーザにカード４０の番号の下４桁の数値等を入力させ、個人認証を行わせる。
アプリケーション実行部１１０は、まず、ユーザがカード４０のカード番号の下４桁の数値等を入力し、場合によっては、当該ユーザの個人認証カード等を図示しない非接触ＩＣカードリーダ等で情報を読み取る等して、本人確認を行う。
【００６２】
（ステップＳ２０２）
次に、制御部５０が、カード収容確認処理を行う。
アプリケーション実行部１１０は、記憶部５１に記憶されたカード４０の情報を参照して、指定したカード４０が、カード収容部２２のいずれかのスロットに収容されているか否か確認する。
【００６３】
（ステップＳ２０３）
次に、制御部５０が、該当するカード４０があるか否かを判定する。アプリケーション実行部１１０は、該当するカード４０が、カード収容部２２のいずれかのスロットに収容されている場合に、Ｙｅｓと判定する。アプリケーション実行部１１０は、該当するカード４０が見つからない場合には、Ｎｏと判定する。つまり、カード４０がカード収容部２２のスロットではなく、回収ボックス２３に回収された場合も、アプリケーション実行部１１０は、Ｎｏと判定する。
Ｙｅｓの場合、制御部５０は、処理をステップＳ２０４に進める。
Ｎｏの場合、制御部５０は、カード返却処理を終了する。つまり、該当カード４０が見つからない場合は、カード返却は行われない。この場合、制御部５０は、係員を呼ぶよう表示部に表示させてもよい。
【００６４】
（ステップＳ２０４）
該当するカード４０がある場合、制御部５０が、カード返却開始処理を行う。
アプリケーション実行部１１０は、カード収容部２２のスロットに指定されたカード４０が保管されていることを確認した段階で、カード返却処理を開始する。
まず、アプリケーション実行部１１０は、ミドルウェア実行部１２０のカード回収返却モジュールクラスＳＰ２２０に対してカード返却開始コマンドを発行する。このとき、アプリケーション実行部１１０は、返却するカード４０が保管されているスロットを指定する。
カード回収返却モジュールクラスＳＰ２２０は、プロキシ／スタブＤＬＬ２４０を介して、カード返却開始コマンドを、同期制御部１３０のローカルＣＯＭサーバ３００に送信する。
【００６５】
ローカルＣＯＭサーバ３００は、カード返却開始コマンドを取得して、カード回収返却モジュール２０に対し、指定されたカード収容部２２のスロットを、カード４０の搬送口に合わせるように移動させ、レバーの機構により、スロットから取り出す指令を送信する。
この時、同時に、ローカルＣＯＭサーバ３００は、カードリーダ１０に対して、後方からのカード４０取り込みの指令を送信する。このため、ローカルＣＯＭサーバ３００は、搬送ローラ１１を、カード４０を内部に取り込む方向に駆動開始させる。その後、ローカルＣＯＭサーバ３００は、特定時間待機してから、搬送ローラ２１を駆動開始させ、スロットから取り出されたカード４０を、前方に搬送させる。これにより、カード４０は正常にカードリーダ１０内部に取り込まれる。
【００６６】
（ステップＳ２０５）
次に、制御部５０が、カードリーダリセット処理を行う。
アプリケーション実行部１１０は、続いてカードリーダ１０に対してリセットコマンドを発行する。すると、ミドルウェア実行部１２０のカードリーダクラスＳＰ２１０は、プロキシ／スタブＤＬＬ２３０を介して、同期制御部１３０のローカルＣＯＭサーバ３００に送信する。ローカルＣＯＭサーバ３００は、これを取得して、同様に、カードリーダ１０に対して、リセットさせる指令を送信する。
【００６７】
なお、カードリーダ１０をリセットすると、カード４０がカードリーダ１０内部で通常保持される特定位置に移動させられる。これにより、従来のようにカードリーダ１０の後方からカード４０が強制挿入された場合でも、特定位置に移動させられる。
これに対して、本実施形態では、カードリーダ１０に対してカード４０を後方から既に取り込んでいる。このため、リセットの時点で、カード４０が特定位置に移動させられている。よって、アプリケーション実行部１１０は、従来のアプリケーションとの互換性維持のために、リセットコマンドを発行する。すなわち、互換性を鑑みなければ、アプリケーション実行部１１０は、リセットコマンドを発行しなくてもよい。
【００６８】
（ステップＳ２０６）
次に、アプリケーション実行部１１０が、カードリーダ排出処理を行う。
アプリケーション実行部１１０は、リセットコマンドの次に、カード排出コマンドを発行する。カード排出コマンドは、カードリーダ１０の特定位置にあるカード４０を、装置のゲート挿入口から排出させるコマンドである。ミドルウェア実行部１２０のカードリーダクラスＳＰ２１０は、プロキシ／スタブＤＬＬ２３０を介して、この排出コマンドを同期制御部１３０のローカルＣＯＭサーバ３００に送信する。ローカルＣＯＭサーバ３００は、カードリーダ１０に対して、カード４０を搬送路に沿って、ゲート挿入口から排出させる指令を送信する。
【００６９】
（ステップＳ２０７）
次に、制御部５０が、カード返却終了処理を行う。
最後に、アプリケーションはカード回収返却モジュールクラスＳＰ２２０に対してカード返却終了コマンドを発行する。ミドルウェア実行部１２０のカード回収返却モジュールクラスＳＰ２２０は、プロキシ／スタブＤＬＬ２４０を介して、このカード返却終了コマンドを、同期制御部１３０のローカルＣＯＭサーバ３００に送信する。ローカルＣＯＭサーバ３００は、このカード返却終了コマンドを取得し、カード回収返却モジュール２０のカード収容部２２をホームポジションに移動させる指令を送信する。
以上により、本発明の実施の形態に係るカード返却処理を終了する。
【００７０】
〔本実施形態の主な効果〕
以上のように構成することで、以下のような効果を得ることができる。
従来、特許文献１で記載されているような技術では、二つの装置間でのカード４０の搬送がスムーズでないことがあった。
これに対して、本発明の実施の形態に係るカード搬送システム１は、二つの装置として、搬送路に沿ってカード４０を送付する送付側装置であるカードリーダ１０並びにカード回収返却モジュール２０と、搬送路に沿って送付側装置からカード４０を受け取る受取側装置であるカード回収返却モジュール２０並びにカードリーダ１０と、送付側装置及び受取側装置を制御する上位装置３０とを備えたカード搬送システムであって、送付側装置及び受取側装置は、それぞれ、受取側装置及び送付側装置としても機能し、上位装置３０は、ユーザインターフェイスを含むアプリケーションを実行するアプリケーション実行部１１０と、アプリケーション実行部１１０からの標準規格のコマンドに対応して、受取側装置及び送付側装置を制御するミドルウェアを実行するミドルウェア実行部１２０と、ミドルウェア実行部１２０がアプリケーション実行部１１０から取得した標準規格のコマンドを取得し、送付側装置の搬送ローラ及び受取側装置の搬送ローラを、必要に応じて、カード４０の搬送と同期させて制御する同期制御部１３０を備えることを特徴とする。
このように構成することで、二つの装置に対して、コマンドを関連付けながら制御できるので、二つの装置間でのカード４０の送付と受け取りとをスムーズにすることが可能となる。すなわち、カード４０を搬送する際、カードリーダ１０の後方に位置する搬送ローラ１１、及びカード回収返却モジュール２０の前方に位置する搬送ローラ２１の双方を、カード４０の搬送に合わせて、スムーズに同期させて回転させることができる。結果として、各搬送ローラ１１、２１の磨耗を最小限に留め、更にはカード４０へのダメージも抑えることができる。
【００７１】
また、従来、単に標準規格のコマンドに対応する装置を連結して使用するだけでは、上述のように搬送時のトラブル、搬送ローラ１１、２１の短寿命化等の問題が生じることがあった。
これに対して、本実施形態のカード搬送システムは、標準規格のコマンドの処理を補完する手段を提供する。このため、カード搬送を伴う装置を容易に追加、削除することができる。よって、アプリケーションの開発が容易となり、開発コストを削減可能となる。
【００７２】
また、本発明の実施の形態に係るカード搬送システム１は、同期制御部１３０は、送付側装置と受取側装置とにコマンドを送信する共有オブジェクトサーバであるローカルＣＯＭサーバ３００を備えることを特徴とする。
このように構成することで、共有オブジェクトサーバの一種である「ローカルＣＯＭサーバ」から、送付側装置及び受取側装置に制御を依頼することができる。このため、送付側装置及び受取側装置の一方の装置の制御だけでは不十分だった場合、これら二つの装置を、コマンドに関連付けながら制御できる。よって、カード４０の搬送をスムーズに行うことができる。
【００７３】
また、本発明の実施の形態に係るカード搬送システム１は、同期制御部１３０は、送付側装置の搬送ローラと同じ速度又は速い速度で受取側装置の搬送ローラを駆動させることを特徴とする。
このように構成することで、カード４０の駆動を滞りなく行うことができる。つまり、受取側装置の搬送ローラの回転速度が、送付側装置の搬送ローラの回転速度より遅いと、当該二つの搬送ローラの間でカード４０が停滞することになる。これに対して、送付側装置のローラ回転速度を同じか速くすることにより、停滞なくスムーズにカード４０を送付することができる。
【００７４】
また、本発明の実施の形態に係るカード搬送システム１は、同期制御部１３０は、送付側装置の搬送ローラよりも先に受取側装置の搬送ローラを駆動開始させることを特徴とする。
また、本発明の実施の形態に係るカード搬送システム１は、同期制御部１３０は、送付側装置の搬送ローラの駆動開始よりも早いタイミングで、受取側装置に搬送ローラを駆動させる指令を送信してもよい。この早いタイミングは、例えば、数百ミリ秒程度であってもよい。
また、本発明の実施の形態に係るカード搬送システム１は、同期制御部１３０は、送付側装置の搬送ローラと受取側装置の搬送ローラとを同時に駆動させる指令を送信するものの、送付側装置の搬送ローラに送信する指令には、駆動開始が特定時間（例えば、数百ミリ秒程度）遅れる時間遅延の指令を含めてもよい。
このように構成し、受取側装置の搬送ローラを先に駆動させることにより、カード４０をスムーズに搬送できる。すなわち、受取側装置の搬送ローラと、送付側装置の搬送ローラとの間でカード４０が止まってしまうことがない。よって、送付側装置の搬送ローラの摩耗を防ぐことができる。また、受取側装置の駆動用ローラを、送付側装置の駆動用ローラより早い時間に動かすことにより、受取側装置の搬送ローラの回転速度を同じか速くすることができる。このため、カード４０をスムーズに搬送することができる。
【００７５】
また、本発明の実施の形態に係るカード搬送システム１は、送付側装置及び受取側装置は、それぞれ、カード４０と接触して情報を読み込み書き込むカードリーダ１０、カード４０と非接触で情報を読み込み書き込む非接触ＩＣカードリーダ１０、カード４０を回収し返却するカード回収返却モジュール２０、カード４０を光学読み取りするイメージリーダ、及びカード４０に印刷するプリンタのいずれかであることを特徴とする。
このように構成することで、カード４０を搬送路に沿って駆動する各種装置について、本発明の実施の形態に係るカード搬送制御を適用し、カードの送付と受取とをスムーズに制御することができる。
【００７６】
＜他の実施の形態＞
上述の実施の形態においては、送付側装置及び受取側装置に対応するＳＰが、同期制御部１３０の単一のローカルＣＯＭサーバにコマンドを送信する例について記載した。
しかしながら、ＳＰは単一のアプリケーションからアクセスされるとは限らないため、ＳＰの下層に位置するデバイスドライバ等の制御用プログラムは、サーバやサービス等の別プロセスで実装されることがある。この場合、単一のローカルＣＯＭサーバにて、コマンドを取得することができない。
よって、本発明の他の実施の形態に係るカード搬送システム２では、各プロセス間でプロセス間通信を行う構成とし、この制御をミドルウェアとしてＤＬＬ等にて実装する。
なお、他の実施の形態においても、二つの装置として、カードリーダ１０とカード回収返却モジュール２０とを連結させた状態で、カード４０を搬送させる。
【００７７】
〔カード搬送システム２の機能構成〕
図６により、カード搬送システム２の機能ブロック構成について説明する。図６において、図３と同様の構成要素は、同一の符号を付してある。
他の実施形態の上位装置３１においても、ＡＴＭ等のとして取引を行うためのユーザインターフェイスとなるアプリケーションを、アプリケーション実行部１１０が実行する。このアプリケーション実行部１１０に対し、ＣＥＮ／ＸＦＳ等の標準規格のコマンドを実行可能なＡＰＩが提供される。
【００７８】
このため、他の実施形態においても、ミドルウェア実行部１２１は、ＸＦＳマネージャ２００と、カードリーダクラスＳＰ２１１、カード回収返却モジュールクラスＳＰ２２０、プロキシ／スタブＤＬＬ２４０を含んでいる。
ＸＦＳマネージャ２００は、上述の実施の形態と同様に、各ＳＰ間のマネージメントを行い、各ＳＰにコマンドを通知する。
カード回収返却モジュールクラスＳＰ２２０は、カード回収返却モジュール２０を制御するためのＳＰである。
カードリーダクラスＳＰ２１１は、上述の実施の形態のカードリーダクラスＳＰ２１０（図３）のように、カードリーダ１０を制御するためのＳＰである。
【００７９】
ここで、他の実施形態では、カードリーダクラスＳＰ２１１は、ＯＳのサービス（service）を用いてコマンドを送信する。すなわち、カードリーダクラスＳＰ２１１は、サービスアプリケーション（Service Application Software）である同期制御部１３１のサービスアプリ３４１に、標準規格のコマンドを送信する。これを受信したサービスアプリ３４１では、デバイスドライバ等のバイナリが実行され、カードリーダを制御する。
一方、カード回収返却モジュール２０を制御するためのカード回収返却モジュールクラスＳＰ２２０は、上述の実施の形態と同様に、プロキシ／スタブＤＬＬ２４０により、同期制御部１３１のローカルＣＯＭサーバ３０１にコマンドを送信する。他の実施形態のローカルＣＯＭサーバ３０１は、カード回収返却モジュール２０を制御する。
【００８０】
また、他の実施形態においては、上述のように、サービスアプリ３４１とローカルＣＯＭサーバ３０１とは別プロセスであるため、プロセス間通信を行う必要がある。
このため、サービスアプリ３４１には、カードリーダ制御通信部４１０を、ミドルウェアとして実装して含める。また、ローカルＣＯＭサーバ３０１にはカード回収返却モジュール制御通信部４００を、ミドルウェアとして実装して含める。これらの間で、各ＳＰから取得したコマンドを、プロセス間通信で送受信する。
【００８１】
具体的には、標準規格のコマンドを受け取ったカードリーダクラスＳＰ２１１は、装置制御用のプロセスであるサービスアプリ３４１にカードリーダ１０の制御依頼を行う。サービスアプリ３４１は、依頼されたコマンドに対応して、カードリーダ１０に指令を送信等して制御する。また、カードリーダ１０のみの制御では不十分な場合、カードリーダ制御通信部４１０はプロセス間通信を利用して、カード回収返却モジュール制御通信部４００にカード回収返却モジュール２０への制御を依頼する。
一方で、コマンドを受け取ったカード回収返却モジュールクラスＳＰ２２０は、装置制御用のプロセスであるローカルＣＯＭサーバ３０１にカードリーダ１０の制御の依頼をし、依頼されたコマンドに基づきカード回収返却モジュール２０を制御する。また、カード回収返却モジュール制御通信部４００は、プロセス間通信を利用して、カードリーダ制御通信部４１０にカード回収返却モジュール２０への制御を依頼する。
【００８２】
〔本発明の他の実施の形態に係るカード回収処理〕
次に、図７により、本発明の他の実施の形態に係るカード回収処理の説明を行う。
本発明の他の実施形態においては、上述したプロセス間通信を用いて、図４のフローチャートで説明したカード回収処理と同様の処理を実現する。
【００８３】
図７は、カード４０の回収の流れと、制御部５０のミドルウェア実行部１２１と同期制御部１３１が実行しているプロセス間通信の内容を示す。この例では、アプリケーション実行部１１０とカードリーダクラスＳＰ２１１とが、同一のプロセスＰ１、カード回収返却モジュール制御通信部４００を含むローカルＣＯＭサーバ３０１がプロセスＰ２、カードリーダ制御通信部４１０を含むサービスアプリ３４１がプロセスＰ３として、それぞれＯＳ上の別プロセスとして実行される。
カード回収時のプロセス間におけるイベント及びデータ通信については、用途に応じて名前付イベントと、名前付パイプを利用したデータ通信（コマンド／レスポンス）を使い分ける。このように、名前付とすることで、２つの異なるプロセスにおいて、共通のイベント、又は共通の通信パイプを利用することができる。
以下、図７のタイミングチャートにより、処理の詳細をステップ毎に説明する。本発明の他の実施の形態に係るカード回収処理も、上位装置３１の制御部５０の各部が、ハードウェア資源を用いて実行する。
【００８４】
まず、ＡＴＭ等で取引後、ユーザがカード４０を取り忘れてから、例えば４０秒等の所定時間が経過した場合、アプリケーション実行部１１０は、カード４０の回収処理を開始する。
アプリケーション実行部１１０は、上述の実施形態と同様に、カード回収返却モジュールクラスＳＰ２２０に対して状態通知コマンドを送信して、カード収容部２２のスロットの状態を確認させる。
カード収容部２２の全てのスロットにカード４０が存在する場合は、カードリーダクラスＳＰ２１１に対し、回収ボックス２３へカード回収コマンドを発行する（ステップＳ３０１）。
これを受けたカードリーダクラスＳＰ２１１は、カードリーダ制御通信部４１０に対しても同様に、カード回収コマンドを通知する（ステップＳ３０２）。
【００８５】
サービスアプリ３４１は、カード回収コマンドを受け取ると、カードリーダ制御通信部４１０により、まずカード回収返却モジュール制御通信部４００にカード４０の取り込み動作を依頼する。サービスアプリ３４１は、その後、カードリーダ１０の後方へカード４０を搬送させる指令をカードリーダ１０に送信する。これにより、カード４０が回収ボックス２３に回収される。この際のカードリーダ１０の搬送ローラ１１及びカード回収返却モジュール２０の搬送ローラ２１の動作は、上述の実施の形態と同様である。
【００８６】
一方、カード収容部２２のスロットに空きがある場合、アプリケーション実行部１１０は、カード回収返却モジュールクラスＳＰ２２０に対し、カード回収開始コマンドを発行する。このコマンドは、上述の実施の形態と同様に、カードリーダ１０からのカード搬送を受け入れ可能な位置に、カード収容部２２を搬送させるものである。カード回収返却モジュール制御通信部４００は、このコマンドを受け、カード回収返却モジュール２０の空きスロットを、カード４０の搬送口に移動させる。
【００８７】
このコマンドを受けたサービスアプリ３４１のカードリーダ制御通信部４１０は、まずカード回収返却モジュール制御通信部４００にカード４０の取り込み動作を依頼する。たとえば、カードリーダ制御通信部４１０は、カード回収返却モジュール制御通信部４００が受け取ることのできるイベントを発生させる（ステップＳ３０３）。
【００８８】
イベントを受信したカード回収返却モジュール制御通信部４００は、直ちにカード収容部２２のスロットへの取り込み方向へ、搬送ローラ２１を回転させる。
【００８９】
イベント発生後、サービスアプリ３４１は、上述した実施の形態と同様に、カードリーダ１０の後方へカード４０を搬送させる処理を行う。すなわち、サービスアプリ３４１は、数百ミリ秒程度の特定時間待機する。この特定時間は、回収モジュールのローラが回転し始めると推定される時間である。その後、サービスアプリ３４１は、カードリーダ１０の搬送ローラ１１を後方に回転させ、カード４０の後方排出を行い、カードリーダ回収返却モジュールへ送付する。これにより、カード４０は、カードリーダ回収返却モジュールに受け取られ、搬送口からカード収容部２２の指定スロットに回収される。
【００９０】
また、カードリーダ１０及びカード回収返却モジュール２０は、搬送路上のセンサの状態に基づき、カード排出の完了、又は取り込みの完了を検知し、ローラの回転を停止させる。
【００９１】
カードリーダ制御通信部４１０は、カード４０の送付が完了してから、収容が終わった時点で、カードリーダクラスＳＰ２１１にカード回収完了のレスポンスを通知する（ステップＳ３０４）。
また、これを受けたカードリーダクラスＳＰ２１１は、アプリケーション実行部１１０へ、回収完了レスポンスを通知する（ステップＳ３０５）。
【００９２】
最後に、アプリケーションはカード回収返却モジュールクラスＳＰ２２０に対してカード回収終了コマンドを発行する。上述した実施の形態と同様に、ローカルＣＯＭサーバ３０１が、このコマンドを受け、カード回収返却モジュール２０のスロットをホームポジションに移動させる。
以上により、本発明の他の実施の形態に係るカード回収処理を終了する。
【００９３】
〔本発明の他の実施の形態に係るカード返却処理〕
次に、図８により、本発明の他の実施の形態に係るカード返却処理の説明を行う。
他の実施の形態に係るカード返却処理においては、上述したプロセス間通信を用いて、図５のフローチャートで説明した実施の形態に係るカード返却処理と同様の処理を実現する。
【００９４】
図８は、カード返却処理のタイミング、及びミドルウェア実行部１２１が実施しているプロセス間通信の内容を示す。
本発明の他の実施形態のカード返却処理においても、イベント及びデータ通信については、用途に応じて名前付イベントと、名前付パイプを利用したデータ通信（コマンド／レスポンス）を使い分ける。つまり、プロセス間において、状態などの情報を取得する場合には、名前付パイプを利用したデータ通信（コマンド／レスポンス）を利用して情報を取得する。一方で、実行結果を待つことなく、並列処理をする場合は、名前付イベントを利用する。
以下、図８のタイミングチャートにより、処理の詳細をステップ毎に説明する。他の実施の形態に係るカード返却処理も、上位装置３１の制御部５０の各部が、ハードウェア資源を用いて実行する。
【００９５】
まず、カード４０を取り忘れたユーザがカード４０の番号の下４桁の数値等を入力させ、場合によっては個人認証カードで認証等させ、スロットに指定されたカード４０が保管されていることを確認した段階で、カード返却処理が開始される。この際に、該当カード４０が見つからない場合は、返却処理は開始されない。
【００９６】
該当カード４０がある場合、まず、アプリケーション実行部１１０は、ミドルウェア実行部１２１のカード回収返却モジュールクラスＳＰ２２０に対してカード返却開始コマンドを発行する（ステップＳ４０１）。このとき、アプリケーション実行部１１０は返却するカード４０が保管されているスロットを指定する。
【００９７】
これを受けたカード回収返却モジュールクラスＳＰ２２０は、まず、同期制御部１３１のローカルＣＯＭサーバ３０１のカード回収返却モジュール制御通信部４００に対して、カードリーダ状態確認コマンドを発行する（ステップＳ４０２）。このカードリーダ状態確認コマンドは、カードリーダ内にカード４０が存在するか否かを確認するコマンドである。これを受けたカード回収返却モジュール制御通信部４００は、プロセス間通信を使用して、カードリーダ制御通信部４１０に状態確認コマンドをそのまま通知し、レスポンスを待つ。
カード回収返却モジュール制御通信部４００は、レスポンスを受けると、その状態をそのままカード回収返却モジュールクラスＳＰ２２０に通知する（ステップＳ４０３）。
【００９８】
カード回収返却モジュールクラスＳＰ２２０は、カードリーダ内にカード４０がないことを確認した上で、カード返却開始コマンドを発行する（ステップＳ４０４）。
上述の実施の形態と同様に、同期制御部１３１のローカルＣＯＭサーバ３０１は、このコマンドを受信する。すると、ローカルＣＯＭサーバ３０１のカード回収返却モジュール制御通信部４００は、カードリーダ制御通信部４１０が受信可能なカード返却イベントを発生させる（ステップＳ４０５）。
また、カード回収返却モジュール制御通信部４００は、カードリーダ制御通信部４１０に対し、後方からのカード４０の取り込み動作をさせるように依頼する。つまり、カードリーダの後方の搬送ローラ１１を、内部への取り込み方向へ回転させるよう依頼する。
【００９９】
イベントを受信したカードリーダ制御通信部４１０は、直ちにカードリーダ内への取込方向へ、搬送ローラ１１を回転させる。
【０１００】
イベントの通知後、カード回収返却モジュール制御通信部４００は、カード回収返却モジュール２０に対し、指定されたスロットを搬送口に移動させる。
その後、カード回収返却モジュール制御通信部４００は、カードリーダの搬送ローラ１１が回転し始めると推定される数百ミリ秒程度の特定時間待機する。この待機は、カード回収返却モジュール制御通信部４００がカウントして実行しても、時間遅延の指令を含めることにより実現してもよい。そして、カード回収返却モジュール２０の搬送ローラ２１を前方の排出方向に回転開始させる。そして、カード回収返却モジュール制御通信部４００は、レバーの機構によりカード４０をスロットから取り出し、カード回収返却モジュール２０の搬送ローラ２１を回転させることで、カード４０をスロットから前方のカードリーダ１０の側に送付する。
【０１０１】
アプリケーション実行部１１０は、続いてカードリーダクラスＳＰ２１１に対してリセットコマンド、排出コマンドの順に実行をする。カードリーダ制御通信部４１０は、このコマンドを受け、カードリーダに対してリセット処理を行った後、カードリーダのゲート口にカード４０を搬送させるよう、カードリーダを制御する。
【０１０２】
カードリーダ及びカード回収返却モジュール２０は、搬送路上のセンサ状態に基づき、カード排出の完了、または取り込みの完了を検知し、ローラの回転を停止させる。
【０１０３】
カード回収返却モジュール制御通信部４００は、カード返却が完了した時点で、カード回収返却モジュールクラスＳＰ２２０にカード返却完了のレスポンスを通知する（ステップＳ４０６）。
また、これを受けたカード４０、カード回収返却モジュールクラスＳＰ２２０は、アプリケーション実行部１１０へ、カード返却完了レスポンスを通知する（ステップＳ４０７）。
【０１０４】
最後にアプリケーション実行部１１０は、カード回収返却モジュールクラスＳＰ２２０に対してカード返却終了コマンドを発行する。ローカルＣＯＭサーバ３０１は、このコマンドを受信し、カード回収返却モジュール２０のスロットをホームポジションに移動させる。
以上により、本発明の他の実施の形態に係るカード返却処理を終了する。
【０１０５】
以上のように構成する構成することで、以下のような効果が得られる。
本発明の他の実施の形態に係るカード搬送システム２は、ミドルウェア実行部１２１は、送付側装置及び／又は受取側装置をＯＳのサービスにより制御し、同期制御部１３１は、サービスにより制御された送付側装置及び／又は受取側装置に、ＯＳのプロセス間通信によりコマンドを送信することを特徴とする。
このように構成し、プロセス間通信をすることにより、オブジェクトサーバの一種であるローカルＣＯＭサーバから送付側装置と受取側装置に制御を依頼することが可能である。また、これに加え、Ｗｉｎｄｏｗｓ（登録商標）ＯＳのサービス等により別プロセスで実行されているアプリケーションからも、送付側装置と受取側装置とに制御を依頼することができる。このため、二つの装置の制御がサービス等の別プロセスで行われており、一方の装置の制御だけでは不十分だった場合であっても、二つの装置をコマンドに関連付けながら制御できる。よって、カード４０の搬送をスムーズに行うことができる。
なお、カード搬送システム２は、同期制御部１３１は、送付側装置と受取側装置とにコマンドを送信する共有オブジェクトサーバであるローカルＣＯＭサーバ３０１を備えていてもよく、この上でミドルウェア実行部１２１は、送付側装置及び／又は受取側装置をＯＳのサービスによっても制御し、同期制御部１３１は、ＯＳのサービスにより制御されたサービスアプリ３４１により制御された送付側装置及び／又は受取側装置と、ローカルＣＯＭサーバ３０１により制御された送付側装置及び／又は受取側装置との間で、ＯＳのプロセス間通信によりコマンドを送信するようにすることも可能である。
【０１０６】
なお、上述の実施形態及び他の実施形態においては、二つの装置と上位装置３０、３１とがＵＳＢ接続されている例について記載した。しかしながら、例えばＲＳ−２３２Ｃ、その他の通信方式、有線／無線ＬＡＮ等で接続されていてもよい。また、各装置間についても、直接繋がれていてもよい。
このように構成することで、二つの装置の接続方式に柔軟に対応することができ、既存の装置を組み込んでも同様に制御することができる。
【０１０７】
また、上述の実施形態及び他の実施形態においては、ＡＴＭ等のアプリケーションにより、二つの機器を制御する例について記載した。しかしながら、本発明のカード搬送システムは、例えば、ＰＯＳ（Point of Service）システム等での装置の制御にも適用することが可能である。
また、上述の実施形態及び他の実施形態においては、ＣＥＮ／ＸＦＳ規格と、事実上の標準となるＡＰＩに準拠した二つの装置の制御の例について記載した。しかしながら、本発明のカード搬送システムは、これに限らず、例えばＰＯＳシステムで利用されているＯＰＯＳ規格等、別のアーキテクチャにも適用可能である。
このように構成することで、二つの装置のアプリケーションの規格が異なっても、柔軟に対応することができる。
【０１０８】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【０１０９】
１、２、３  カード搬送システム
１０  カードリーダ
１１、２１  搬送ローラ
２０  カード回収返却モジュール
２２  カード収容部
２３  回収ボックス
３０、３１、３３  上位装置
４０  カード
５０  制御部
５１  記憶部
５２  各種インターフェイス
１１０  アプリケーション実行部
１２０、１２１、１２３  ミドルウェア実行部
１３０、１３１  同期制御部
２００  ＸＦＳマネージャ
２１０、２１１、２１３  カードリーダクラスＳＰ
２２０、２２３  カード回収返却モジュールクラスＳＰ
２３０、２４０  プロキシ／スタブＤＬＬ
３００、３０１  ローカルＣＯＭサーバ
３４１  サービスアプリ
４００  カード回収返却モジュール制御通信部
４１０  カードリーダ制御通信部
５１０、５２０  ＤＬＬ
Ｐ１、Ｐ２、Ｐ３  プロセス
【図１】
0006545022.tif 000002
【図２】
0006545022.tif 000003
【図３】
0006545022.tif 000004
【図４】
0006545022.tif 000005
【図５】
0006545022.tif 000006
【図６】
0006545022.tif 000007
【図７】
0006545022.tif 000008
【図８】
0006545022.tif 000009
【図９】
0006545022.tif 000010