(57)【要約】【課題】所定の接続方式に対応したアプリケーションと異なる接続方式の周辺装置との通信を可能にする通信制御装置、通信制御プログラム、通信ドライバ登録方法を提供する。【解決手段】情報処理装置３１０上で動作するアプリケーション１５３が周辺装置２３０との通信に用いるハンドルである第１ハンドルを供給する擬似ＶＣＯＭポートドライバ３７１と、周辺装置２３０がＵＳＢインタフェース２１２に接続されたことが通知された場合、ＶＣＯＭポートドライバ２６１の操作に用いるハンドルである第２ハンドルを取得し、第１ハンドルを用いた要求を前記アプリケーション１５３から渡された場合、第２ハンドルを用いてＶＣＯＭポートドライバ２６１に要求を渡す擬似ＰｎＰフィルタ３７１とを備えた。【選択図】図２
2007265328.tif 000002
【特許請求の範囲】
【請求項１】
通信インタフェースを介して周辺装置と接続され、該周辺装置との通信を行う通信制御装置であって、
前記通信制御装置上で動作するアプリケーションが前記周辺装置との通信に用いるハンドルである第１ハンドルを該アプリケーションに供給する第１ハンドル供給部と、
前記周辺装置が前記通信インタフェースに接続されたことが通知された場合、前記通信インタフェースのドライバである通信インタフェースドライバの操作に用いるハンドルである第２ハンドルを取得し、前記第１ハンドル供給部により供給された第１ハンドルを用いた要求を前記アプリケーションから渡された場合、前記第２ハンドルを用いて前記通信インタフェースドライバに該要求を渡す中継部と
を備える通信制御装置。
【請求項２】
請求項１に記載の通信制御装置において、
更に、前記周辺装置が前記通信インタフェースに接続されたことを前記中継部に通知する通信インタフェース状態通知部を備えることを特徴とする通信制御装置。
【請求項３】
請求項２に記載の通信制御装置において、
前記第１ハンドル供給部および前記中継部は、前記通信制御装置に常駐し、
前記通信インタフェースドライバおよび前記通信インタフェース状態通知部は、前記周辺装置が前記通信インタフェースに接続されている間だけ、前記通信制御装置に存在することを特徴とする通信制御装置。
【請求項４】
コンピュータにより実行されるアプリケーションと該コンピュータの通信インタフェースに接続される周辺装置との間の通信の制御を該コンピュータに実行させる通信制御プログラムであって、
前記アプリケーションが前記周辺装置との通信に用いるハンドルである第１ハンドルを該アプリケーションに渡す第１ハンドル供給ステップと、
前記周辺装置が前記通信インタフェースに接続されたことが通知された場合、前記通信インタフェースのドライバである通信インタフェースドライバの操作に用いるハンドルである第２ハンドルを取得し、前記第１ハンドル供給ステップにより供給された第１ハンドルを用いた要求を前記アプリケーションから渡された場合、前記第２ハンドルを用いて前記通信インタフェースドライバに該要求を渡す中継ステップと
をコンピュータに実行させる通信制御プログラム。
【請求項５】
コンピュータのＯＳ上で実行されるアプリケーションと該コンピュータの通信インタフェースに接続される周辺装置との間の通信の制御を行うドライバを、前記ＯＳに登録する通信ドライバ登録方法であって、
前記アプリケーションが前記周辺装置との通信に用いるハンドルである第１ハンドルを該アプリケーションに渡す第１ハンドル供給ドライバと、前記周辺装置が前記通信インタフェースに接続されたことが通知された場合、前記通信インタフェースのドライバである通信インタフェースドライバの操作に用いるハンドルである第２ハンドルを取得し、前記第１ハンドル供給ドライバから供給された第１ハンドルを用いた要求を前記アプリケーションから渡された場合、前記第２ハンドルを用いて前記通信インタフェースドライバに該要求を渡す中継ドライバとを前記ＯＳに登録し、前記ＯＳが前記第１ハンドル供給ドライバと前記中継ドライバとを前記コンピュータに常駐させるように、前記ＯＳを設定する第１ドライバ登録ステップと、
前記通信インタフェースドライバを前記ＯＳに登録し、前記周辺装置が前記通信インタフェースに接続された場合に前記ＯＳが前記通信インタフェース状態通知ドライバを前記コンピュータに生成するように、前記ＯＳを設定する第２ドライバ登録ステップと
を実行する通信ドライバ登録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信インタフェースを介して周辺装置と接続され、周辺装置との通信を行う通信制御装置、通信制御プログラム、通信ドライバ登録方法に関するものである。
【背景技術】
【０００２】
近年のＰＯＳ（Point Of Sales system）端末は、ＯＳ（Operation）が動作する情報処理装置として構成される。また、このＰＯＳ端末は、通信インタフェースを備え、スキャナ、キーボード、モニタ等の周辺装置と接続され、このような周辺装置との通信を行う。従来のＰＯＳ端末と周辺装置との通信には、主に、ＲＳ−２３２Ｃ（Recommended Standard 232 version C）接続方式が用いられている。
【０００３】
ここで、従来のＲＳ−２３２Ｃ接続方式を用いた通信システムについて説明する。
【０００４】
まず、従来のＲＳ−２３２Ｃ接続方式を用いた通信システムの構成について説明する。
【０００５】
図５は、従来のＲＳ−２３２Ｃ接続方式を用いた通信システムの構成と動作の一例を示すブロック図である。ＰＯＳ端末等である情報処理装置１１０は、ハードウェアとして、制御部１１１、ＲＳ−２３２Ｃインタフェース１１２を備える。また、周辺装置１３０は、ハードウェアとして、制御部１３１、ＲＳ−２３２Ｃインタフェース１３２を備える。情報処理装置１１０のＲＳ−２３２Ｃインタフェース１１２と周辺装置１３０のＲＳ−２３２Ｃインタフェース１３２は、ＲＳ−２３２Ｃケーブルを介して接続される。制御部１１１、制御部１３１は、ＣＰＵ（Central Processing Unit）と記憶装置（メモリ等）で実現される。
【０００６】
また、制御部１１１は、ソフトウェアとして、ＯＳ（Operating System）１５１、周辺装置１３０とＲＳ−２３２Ｃインタフェース１１２に対応するドライバ１５２、ＲＳ−２３２Ｃ接続用に設計されたアプリケーション１５３を備える。ドライバ１５２は、ＣＯＭポートドライバ１６１を備える。ＣＯＭポートドライバ１６１は、ＯＳ１５１により提供される機能である。
【０００７】
次に、従来のＲＳ−２３２Ｃ接続方式を用いた通信システムの動作について説明する。
【０００８】
ＣＯＭポートドライバ１６１は、予めＲＳ−２３２Ｃインタフェース１１２に対応してＯＳ１５１に登録され、ＣＯＭポート番号が割り当てられる。この登録において、ＯＳ１５１は、起動時にＣＯＭポートドライバ１６１を生成するように設定される。このＣＯＭポート番号は、予めアプリケーション１５３において、周辺装置１３０と通信するためのＣＯＭポート番号として設定される。
【０００９】
ＯＳ１５１は、その起動時に、予め登録されているＣＯＭポートドライバ１６１を生成する（Ｓ１１１）。以後、ＣＯＭポートドライバ１６１は、制御部１１１に常駐する。次に、アプリケーション１５３が、その起動時に、予め設定されたＣＯＭポート番号に従ってＣＯＭポートドライバ１６１のオープン処理を行うと（Ｓ１１２）、ＣＯＭポートドライバ１６１は、アプリケーション１５３にＣＯＭポート制御ハンドルを通知する（Ｓ１１３）。
【００１０】
次に、アプリケーション１５３が、ＣＯＭポート制御ハンドルを用いてアクセスの要求を行うと（Ｓ１２１）、この要求を受け取ったＣＯＭポートドライバ１６１は、ＲＳ−２３２Ｃインタフェース１１２を介して周辺装置１３０へのアクセスを行い（Ｓ１２２）、アクセスの結果である正常応答またはエラー応答をアプリケーション１５３に通知する（Ｓ１２３）。ここで、周辺装置１３０がＲＳ−２３２Ｃインタフェース１１２から切断された状態である場合、ＣＯＭポートドライバ１６１は、エラー応答をアプリケーション１５３に通知する。
【００１１】
また、近年、ＵＳＢ（Universal Serial Bus）の普及に伴い、ＰＯＳ端末等と周辺装置の接続においても、ＵＳＢ接続方式が用いられるようになった。
【００１２】
ここで、従来のＵＳＢ接続方式を用いた通信システムについて説明する。
【００１３】
まず、従来のＵＳＢ接続方式を用いた通信システムの構成について説明する。
【００１４】
図６は、従来のＵＳＢ接続方式を用いた通信システムの構成と動作の一例を示すブロック図である。ＰＯＳ端末等である情報処理装置２１０は、ハードウェアとして、制御部２１１、ＵＳＢインタフェース２１２を備える。また、周辺装置２３０は、ハードウェアとして、制御部２３１、ＵＳＢインタフェース２３２を備える。情報処理装置２１０のＵＳＢインタフェース２１２と周辺装置２３０のＵＳＢインタフェース２３２は、ＵＳＢケーブルを介して接続される。制御部２１１と制御部２３１は、制御部１１１や制御部１３１と同様、ＣＰＵと記憶装置（メモリ等）で実現される。
【００１５】
また、制御部２１１は、ソフトウェアとして、図５と同様のＯＳ１５１、周辺装置２３０とＵＳＢインタフェース２３２に対応するドライバ２５２、ＵＳＢ接続用に設計されたアプリケーション２５３を備える。ドライバ２５２は、ＶＣＯＭポート（仮想ＣＯＭポート）ドライバ２６１を備える。ＶＣＯＭポートドライバ２６１は、ＯＳ１５１により提供される機能を用いて実現され、ＵＳＢインタフェース２３２をＣＯＭポートと同様の仮想ＣＯＭポートとして動作させる。なお、ＶＣＯＭポートドライバ２６１は、周辺装置２３０に合わせて設計されても良い。
【００１６】
次に、従来のＵＳＢ接続方式を用いた通信システムの動作について説明する。
【００１７】
ＶＣＯＭポートドライバ２６１は、ドライバ２５２のインストール時にＯＳ１５１に登録される。この登録において、ＯＳ１５１は、ＵＳＢインタフェース２１２に周辺装置２３０が接続されたときにＶＣＯＭポートドライバ２６１を生成するように設定される。
【００１８】
ＯＳ１５１は、ＵＳＢインタフェース２１２の状態（インタフェース状態）として、周辺装置２３０が接続されている状態（接続状態）か切断されている状態（切断状態）かを認識し、その変化の度に、その変化を示すイベントを発生させる。アプリケーション２５３は、ＯＳ１５１からのイベントを監視することにより、周辺装置２３０が接続されているか否かを認識する。
【００１９】
周辺装置２３０がＵＳＢインタフェース２１２に接続された場合、ＯＳ１５１は、接続状態になったことを示すイベントを発生させるとともに（Ｓ２１１）、予め登録されているＶＣＯＭポートドライバ２６１を生成する（Ｓ２１２）。このとき、ＯＳ１５１は、使用されていないＣＯＭポート番号を仮想ＣＯＭポート番号として、ＶＣＯＭポートドライバ２６１に割り当てる。
【００２０】
アプリケーション２５３は、ＯＳ１５１からのイベントにより接続状態であることを認識した上で、ＶＣＯＭポートドライバ２６１のオープン処理を行い（Ｓ２３１）、ＶＣＯＭポートドライバ２６１はからＶＣＯＭポートドライバ制御ハンドルを取得する（Ｓ２３２）。
【００２１】
以後、アプリケーション２５３が、ＶＣＯＭポートドライバ制御ハンドルを用いてアクセスの要求を行うと（Ｓ２４１）、この要求を受け取ったＶＣＯＭポートドライバ２６１は、ＵＳＢインタフェース２１２を介して周辺装置２３０へのアクセスを行う（Ｓ２４２）。
【００２２】
また、周辺装置２３０がＵＳＢインタフェース２１２から切断された場合、ＯＳ１５１は、切断状態になったことを示すイベントを発生させるとともに、ＶＣＯＭポートドライバ２６１を削除する。アプリケーション２５３は、ＯＳ１５１からのイベントにより切断状態であることを認識すると、周辺装置２３０へのアクセスを行わない。
【００２３】
なお、本発明の関連ある従来技術として、ＵＳＢインタフェースを備えた情報処理装置であって、ＵＳＢ以外のインタフェースを備えた周辺装置を接続することができる情報処理装置がある（例えば、特許文献１参照）。
【特許文献１】特開平１１−２６６３１５号公報
【発明の開示】
【発明が解決しようとする課題】
【００２４】
しかしながら、上述したＲＳ−２３２Ｃ接続方式を用いた通信システムとＵＳＢ接続方式を用いた通信システムには、以下のような違いがある。
【００２５】
上述したＲＳ−２３２Ｃ接続方式を用いる場合、アプリケーション１５３は、インタフェース状態を認識できず、インタフェース状態を意識せずに周辺装置１３０へのアクセスを行う。また、アクセスの結果は、ＣＯＭポートドライバ１６１からアプリケーション１５３へ通知される。
【００２６】
一方、上述したＵＳＢ接続方式を用いる場合、アプリケーション２５３は、インタフェース状態を認識でき、インタフェース状態が接続状態であるときだけ、周辺機器２３０へのアクセスを行う。また、アクセスの結果は、ＶＣＯＭポートドライバ２６１からアプリケーション２５３へ通知されない。もし、アプリケーション２５３が、インタフェース状態に関わらず周辺機器２３０へのアクセスを行うように変更されたとしても、切断状態になるとＶＣＯＭポートドライバ２６１はＯＳ１５１により削除されてしまう。
【００２７】
従って、ＲＳ−２３２Ｃ接続方式の周辺装置用に設計されたソフトウェア資産をＵＳＢ接続方式の周辺機器に対応させるためには、ソフトウェア資産の大幅な変更が必要であった。
【００２８】
本発明は上述した問題点を解決するためになされたものであり、所定の接続方式に対応したアプリケーションと異なる接続方式の周辺装置との通信を可能にする通信制御装置、通信制御プログラム、通信ドライバ登録方法を提供することを目的とする。
【課題を解決するための手段】
【００２９】
上述した課題を解決するため、本発明は、通信インタフェースを介して周辺装置と接続され、該周辺装置との通信を行う通信制御装置であって、前記通信制御装置上で動作するアプリケーションが前記周辺装置との通信に用いるハンドルである第１ハンドルを該アプリケーションに供給する第１ハンドル供給部と、前記周辺装置が前記通信インタフェースに接続されたことが通知された場合、前記通信インタフェースのドライバである通信インタフェースドライバの操作に用いるハンドルである第２ハンドルを取得し、前記第１ハンドル供給部により供給された第１ハンドルを用いた要求を前記アプリケーションから渡された場合、前記第２ハンドルを用いて前記通信インタフェースドライバに該要求を渡す中継部とを備えたものである。
【００３０】
また、本発明に係る通信制御装置において、更に、前記周辺装置が前記通信インタフェースに接続されたことを前記中継部に通知する通信インタフェース状態通知部を備えることを特徴とするものである。
【００３１】
また、本発明に係る通信制御装置において、前記第１ハンドル供給部および前記中継部は、前記通信制御装置に常駐し、前記通信インタフェースドライバおよび前記通信インタフェース状態通知部は、前記周辺装置が前記通信インタフェースに接続されている間だけ、前記通信制御装置に存在することを特徴とするものである。
【００３２】
また、本発明は、コンピュータにより実行されるアプリケーションと該コンピュータの通信インタフェースに接続される周辺装置との間の通信の制御を該コンピュータに実行させる通信制御プログラムであって、前記アプリケーションが前記周辺装置との通信に用いるハンドルである第１ハンドルを該アプリケーションに渡す第１ハンドル供給ステップと、前記周辺装置が前記通信インタフェースに接続されたことが通知された場合、前記通信インタフェースのドライバである通信インタフェースドライバの操作に用いるハンドルである第２ハンドルを取得し、前記第１ハンドル供給ステップにより供給された第１ハンドルを用いた要求を前記アプリケーションから渡された場合、前記第２ハンドルを用いて前記通信インタフェースドライバに該要求を渡す中継ステップとをコンピュータに実行させるものである。
【００３３】
また、本発明は、コンピュータのＯＳ上で実行されるアプリケーションと該コンピュータの通信インタフェースに接続される周辺装置との間の通信の制御を行うドライバを、前記ＯＳに登録する通信ドライバ登録方法であって、前記アプリケーションが前記周辺装置との通信に用いるハンドルである第１ハンドルを該アプリケーションに渡す第１ハンドル供給ドライバと、前記周辺装置が前記通信インタフェースに接続されたことが通知された場合、前記通信インタフェースのドライバである通信インタフェースドライバの操作に用いるハンドルである第２ハンドルを取得し、前記第１ハンドル供給ドライバから供給された第１ハンドルを用いた要求を前記アプリケーションから渡された場合、前記第２ハンドルを用いて前記通信インタフェースドライバに該要求を渡す中継ドライバとを前記ＯＳに登録し、前記ＯＳが前記第１ハンドル供給ドライバと前記中継ドライバとを前記コンピュータに常駐させるように、前記ＯＳを設定する第１ドライバ登録ステップと、前記通信インタフェースドライバを前記ＯＳに登録し、前記周辺装置が前記通信インタフェースに接続された場合に前記ＯＳが前記通信インタフェース状態通知ドライバを前記コンピュータに生成するように、前記ＯＳを設定する第２ドライバ登録ステップとを実行するものである。
【発明の効果】
【００３４】
本発明によれば、所定の接続方式に対応したアプリケーションと異なる接続方式の周辺装置との通信を可能にする。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【００３６】
本実施の形態においては、情報処理装置（通信制御装置、コンピュータ）と周辺装置とが通信を行う通信システムについて説明する。
【００３７】
まず、本実施の形態に係る通信システムの構成について説明する。
【００３８】
図１は、本実施の形態に係る通信システムにおける第１の構成と動作の一例を示すブロック図である。この通信システムは、情報処理装置３１０、図６と同様の周辺装置２３０を備える。情報処理装置３１０は、ハードウェアとして、制御部３１１、図６と同様のＵＳＢインタフェース（通信インタフェース）２１２を備える。情報処理装置３１０のＵＳＢインタフェース２１２と周辺装置２３０のＵＳＢインタフェース２３２は、ＵＳＢケーブルを介して接続される。この図において、太い点線は、ハードウェア同士の接続を表す。制御部３１１は、制御部１１１と同様、ＣＰＵと記憶装置（メモリ等）で実現される。
【００３９】
また、この図における制御部３１１のソフトウェア構成と動作は、情報処理装置３１０の起動時のものである。制御部３１１は、ソフトウェアとして、図５と同様のＯＳ１５１、ドライバ３５２、図５と同様のＲＳ−２３２Ｃ接続用のアプリケーション１５３を備える。また、ＯＳ１５１は、プラグアンドプレイの機能を持つ。ドライバ３５２は、情報処理装置３１０の起動時において、擬似ＶＣＯＭポートドライバ３７１、擬似ＰｎＰ（プラグアンドプレイ）フィルタ（ドライバ）３７２を備える。
【００４０】
図２は、本実施の形態に係る通信システムにおける第２の構成と動作の一例を示すブロック図である。この図において、図１と同一符号は図１に示された対象と同一又は相当物を示しており、ここでの説明を省略する。この図における制御部３１１のソフトウェア構成と動作は、周辺装置２３０がＵＳＢインタフェース２１２に接続された状態のものである。ドライバ２５２は、図１の構成に加えて、図６と同様のＶＣＯＭポートドライバ２６１、ＰｎＰフィルタ（ドライバ）３６２を備える。
【００４１】
擬似ＶＣＯＭポートドライバ３７１は、ＶＣＯＭポートドライバ２６１と同様の機能を用いて実現されるが、ＯＳ１５１の起動とともに制御部３１１に常駐し、ＵＳＢインタフェース２１２を用いた通信は行わない。ＰｎＰフィルタ３６２は、ＯＳ１５１により提供される機能を用いて実現され、ＶＣＯＭポートドライバ２６１の生成時に生成され、擬似ＰｎＰフィルタ３７２との通信を行うものである。擬似ＰｎＰフィルタ３７２は、ＰｎＰフィルタ３６２と同様の機能を用いて実現されるが、ＯＳ１５１の起動とともに制御部３１１に常駐し、ＰｎＰフィルタ３６２との通信、擬似ＶＣＯＭポートドライバ３７１またはＶＣＯＭポートドライバ２６１とアプリケーション１５３との間の中継、ＶＣＯＭポートドライバ２６１の制御を行う。
【００４２】
次に、この通信システムの動作について説明する。
【００４３】
擬似ＶＣＯＭポートドライバ３７１、擬似ＰｎＰフィルタ３７２、ＶＣＯＭポートドライバ２６１、ＰｎＰフィルタ３６２は、ドライバ３５２のインストール時にＯＳ１５１に登録される。この登録において、ＯＳ１５１は、起動時に擬似ＶＣＯＭポートドライバ３７１と擬似ＰｎＰフィルタ３７２を生成するように設定される。また、この登録において、ＯＳ１５１は、使用されていないＣＯＭポート番号を仮想ＣＯＭポート番号として擬似ＶＣＯＭポートドライバ３７１に割り当てる。この仮想ＣＯＭポート番号は、予めアプリケーション１５３において、周辺装置２３０と通信するためのＣＯＭポート番号として設定される。更に、この登録において、ＯＳ１５１は、ＵＳＢインタフェース２１２に周辺装置２３０が接続されたときにＶＣＯＭポートドライバ２６１とＰｎＰフィルタ３６２を生成するように設定される。
【００４４】
次に、本発明に係る通信システムの動作について説明する。
【００４５】
まず、図１を用いて説明する。ＯＳ１５１は、その起動時に、予め登録されている擬似ＶＣＯＭポートドライバ３７１と擬似ＰｎＰフィルタ３７２を生成する（Ｓ３１１）。以後、擬似ＶＣＯＭポートドライバ３７１と擬似ＰｎＰフィルタ３７２は、制御部３１１に常駐する。擬似ＰｎＰフィルタ３７２は、ＰｎＰフィルタ３６２からの通知を監視することにより、周辺装置２３０が接続されているか否かを認識する。
【００４６】
次に、アプリケーション１５３が、その起動時に、処理Ｓ１１２と同様にして、予め設定されたＣＯＭポート番号に従って擬似ＶＣＯＭポートドライバ３７１のオープン処理を行うと（Ｓ３１２，Ｓ３１３）、擬似ＶＣＯＭポートドライバ３７１から擬似ＶＣＯＭポート制御ハンドルを取得する（Ｓ３１４，Ｓ３１５）。このとき、擬似ＰｎＰフィルタ３７２は、アプリケーション１５３と擬似ＶＣＯＭポートドライバ３７１の間の中継を行うことにより、擬似ＶＣＯＭポート制御ハンドルを保持する。
【００４７】
次に、まず、図２を用いて説明する。周辺装置２３０がＵＳＢインタフェース２１２に接続された場合、ＯＳ１５１は、予め登録されているＶＣＯＭポートドライバ２６１とＰｎＰフィルタ３６２を生成する（Ｓ３２１）。ＰｎＰフィルタ３６２は、接続状態になったことを擬似ＰｎＰフィルタ３７２に通知する（Ｓ３２２）。ＰｎＰフィルタ３６２からの接続状態の通知を受けた擬似ＰｎＰフィルタ３７２は、インタフェース状態が接続状態であることを保持するとともに、ＶＣＯＭポートドライバ２６１のオープン処理を行い（Ｓ３３１）、ＶＣＯＭポートドライバ２６１からＶＣＯＭポートドライバ制御ハンドルを取得して保持し、保持している擬似ＶＣＯＭポート制御ハンドルとの対応付けを行う（Ｓ３３２）。
【００４８】
図３は、本実施の形態に係る通信システムにおける第３の構成と動作の一例を示すブロック図である。この図において、図２と同一符号は図２に示された対象と同一又は相当物を示しており、ここでの説明を省略する。この図における制御部３１１のソフトウェア構成と動作は、アプリケーション１５３が周辺装置２３０にアクセスする状態のものである。
【００４９】
その後、擬似ＰｎＰフィルタ３７２が接続状態を保持している間に、アプリケーション１５３が、擬似ＶＣＯＭポートドライバ制御ハンドルを用いてアクセスの要求を行うと（Ｓ３４１）、この要求を受け取った擬似ＰｎＰフィルタ３７２は、この擬似ＶＣＯＭポートドライバ制御ハンドルに対応するＶＣＯＭポートドライバ制御ハンドルを用いてアクセスの要求を行う（Ｓ３４２）。この要求を受け取ったＶＣＯＭポートドライバ２６１は、周辺装置２３０へのアクセスを行い（Ｓ３４３）、アクセスの結果である正常応答またはエラー応答を擬似ＰｎＰフィルタ３７２に通知する（Ｓ３４４）。アクセスの結果を受け取った擬似ＰｎＰフィルタ３７２は、そのアクセスの結果をアプリケーション１５３に通知する（Ｓ３４５）。
【００５０】
図４は、本実施の形態に係る通信システムにおける第４の構成と動作の一例を示すブロック図である。この図において、図２と同一符号は図２に示された対象と同一又は相当物を示しており、ここでの説明を省略する。この図における制御部３１１のソフトウェア構成と動作は、周辺装置２３０がＵＳＢインタフェース２１２から切断された状態のものである。
【００５１】
また、周辺装置２３０がＵＳＢインタフェース２１２から切断された場合、ＰｎＰフィルタ３６２は、切断状態になったことを擬似ＰｎＰフィルタ３７２に通知し（図３、Ｓ３５２）、ＯＳ１５１は、ＶＣＯＭポートドライバ２６１とＰｎＰフィルタ３６２を削除する（Ｓ３５３）。ＰｎＰフィルタ３６２からの切断状態の通知を受けた擬似ＰｎＰフィルタ３７２は、インタフェース状態が切断状態であることを保持する。
【００５２】
その後、擬似ＰｎＰフィルタ３７２が切断状態を保持している間に、アプリケーション１５３が、擬似ＶＣＯＭポートドライバ制御ハンドルを用いてアクセスの要求を行うと（Ｓ３６１）、擬似ＰｎＰフィルタ３７２は、アプリケーション１５３にエラー応答を通知する（Ｓ３６２）。
【００５３】
本実施の形態によれば、擬似ＶＣＯＭポートドライバ３７１が常駐し、アプリケーション１５３が擬似ＶＣＯＭポートドライバ３７１にオープン処理を行うことにより、アプリケーション１５３は、インタフェース状態に関わらず、同一のＣＯＭポート番号、同一のハンドルを使い続けることができる。また、擬似ＰｎＰフィルタ３７２が、アプリケーション１５３によるオープン処理を擬似ＶＣＯＭポートドライバ３７１に渡し、アプリケーション１５３によるアクセスの要求をＶＣＯＭポートドライバ２６１に渡すように中継を行うことにより、アプリケーション１５３に対して、接続状態中だけ存在するＶＣＯＭポートドライバ３６１の操作を、常駐する擬似ＶＣＯＭポートドライバ３７１の操作に見せることができる。
【００５４】
従って、ＲＳ−２３２Ｃ接続用のアプリケーション１５３は、ＵＳＢ接続用の周辺装置２３０との通信を行うことができ、ＲＳ−２３２Ｃ接続用のアプリケーション資産を改造することなく利用することが可能になる。
【００５５】
なお、本実施の形態においては、アプリケーションが用いる接続方式をＲＳ−２３２Ｃ、周辺装置が用いる接続方式をＵＳＢとしたが、アプリケーションが別の第１の接続方式を用いても良いし、周辺装置が第１の接続方式と異なる第２の接続方式を用いても良い。このとき、ＶＣＯＭポートドライバと擬似ＶＣＯＭポートドライバは、第２の接続方式のインタフェースを第１の接続方式のインタフェースとして扱えるようにするドライバとして実現される。
【００５６】
また、本実施の形態に係る通信制御装置は、情報処理装置に容易に適用することができ、情報処理装置の性能をより高めることができる。ここで、情報処理装置には、例えばＰＯＳ端末、ＰＣ（Personal Computer）、ＰＤＡ（Personal Digital Assistant）等が含まれ得る。
【００５７】
更に、通信制御装置を構成するコンピュータにおいて上述した各ステップを実行させるプログラムを、通信制御プログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、通信制御装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【００５８】
なお、第１ハンドル供給部、第１ハンドル供給ステップ、第１ハンドル供給ドライバは、実施の形態における擬似ＶＣＯＭポートドライバに対応する。また、中継部、中継ステップ、中継ドライバは、実施の形態における擬似ＰｎＰフィルタに対応する。また、通信インタフェースドライバは、実施の形態におけるＶＣＯＭポートドライバに対応する。また、通信インタフェース状態通知部、通信インタフェース状態通知ステップ、通信インタフェース状態通知ドライバは、実施の形態におけるＰｎＰフィルタに対応する。
【００５９】
（付記１）  通信インタフェースを介して周辺装置と接続され、該周辺装置との通信を行う通信制御装置であって、
前記通信制御装置上で動作するアプリケーションが前記周辺装置との通信に用いるハンドルである第１ハンドルを該アプリケーションに供給する第１ハンドル供給部と、
前記周辺装置が前記通信インタフェースに接続されたことが通知された場合、前記通信インタフェースのドライバである通信インタフェースドライバの操作に用いるハンドルである第２ハンドルを取得し、前記第１ハンドル供給部により供給された第１ハンドルを用いた要求を前記アプリケーションから渡された場合、前記第２ハンドルを用いて前記通信インタフェースドライバに該要求を渡す中継部と
を備える通信制御装置。
（付記２）  付記１に記載の通信制御装置において、
更に、前記周辺装置が前記通信インタフェースに接続されたことを前記中継部に通知する通信インタフェース状態通知部を備えることを特徴とする通信制御装置。
（付記３）  付記２に記載の通信制御装置において、
前記通信インタフェース状態通知部は、前記周辺装置が前記通信インタフェースから切断されたことを前記中継部に通知することを特徴とする通信制御装置。
（付記４）  付記３に記載の通信制御装置において、
前記中継部は、前記周辺装置が前記通信インタフェースから切断されたことを通知された後、前記第１ハンドル供給部により供給された第１ハンドルを用いた要求を前記アプリケーションから渡された場合、前記アプリケーションにエラー応答を通知することを特徴とする通信制御装置。
（付記５）  付記２乃至付記４のいずれかに記載の通信制御装置において、
前記第１ハンドル供給部および前記中継部は、前記通信制御装置に常駐し、
前記通信インタフェースドライバおよび前記通信インタフェース状態通知部は、前記周辺装置が前記通信インタフェースに接続されている間だけ、前記通信制御装置に存在することを特徴とする通信制御装置。
（付記６）  付記２乃至付記５のいずれかに記載の通信制御装置において、
前記中継部および前記通信インタフェース状態通知部は、プラグアンドプレイフィルタにより実現されることを特徴とする通信制御装置。
（付記７）  付記１乃至付記６のいずれかに記載の通信制御装置において、
前記通信インタフェースドライバは、前記通信インタフェースの通信方式である第１の通信方式と異なる第２の通信方式を用いた仮想通信インタフェースを提供するものであり、
前記第１ハンドル供給部は、前記通信インタフェースドライバと同じ構成により実現され、前記通信インタフェースの制御を行わないことを特徴とする通信制御装置。
（付記８）  付記１乃至付記７のいずれかに記載の通信制御装置において、
前記通信インタフェースは、ＵＳＢインタフェースであり、
前記通信インタフェースドライバは、前記ＵＳＢインタフェースを仮想のＣＯＭポートとして提供する仮想ＣＯＭポートドライバであり、
前記アプリケーションは、該ＣＯＭポートを用いて通信を行うことを特徴とする通信制御装置。
（付記９）  コンピュータにより実行されるアプリケーションと該コンピュータの通信インタフェースに接続される周辺装置との間の通信の制御を該コンピュータに実行させる通信制御プログラムであって、
前記アプリケーションが前記周辺装置との通信に用いるハンドルである第１ハンドルを該アプリケーションに渡す第１ハンドル供給ステップと、
前記周辺装置が前記通信インタフェースに接続されたことが通知された場合、前記通信インタフェースのドライバである通信インタフェースドライバの操作に用いるハンドルである第２ハンドルを取得し、前記第１ハンドル供給ステップにより供給された第１ハンドルを用いた要求を前記アプリケーションから渡された場合、前記第２ハンドルを用いて前記通信インタフェースドライバに該要求を渡す中継ステップと
をコンピュータに実行させる通信制御プログラム。
（付記１０）  付記９に記載の通信制御プログラムにおいて、
更に、前記第１ハンドル供給ステップと前記中継ステップの間に、前記周辺装置が前記通信インタフェースに接続されたことを通知する通信インタフェース状態通知ステップをコンピュータに実行させることを特徴とする通信制御プログラム。
（付記１１）  付記１０に記載の通信制御プログラムにおいて、
前記通信インタフェース状態通知ステップは、前記周辺装置が前記通信インタフェースから切断されたことを通知することを特徴とする通信制御プログラム。
（付記１２）  付記１１に記載の通信制御プログラムにおいて、
前記中継ステップは、前記周辺装置が前記通信インタフェースから切断されたことを通知された後、前記第１ハンドル供給ステップにより供給された第１ハンドルを用いた要求を前記アプリケーションから渡された場合、前記アプリケーションにエラー応答を通知することを特徴とする通信制御プログラム。
（付記１３）  付記１０乃至付記１２のいずれかに記載の通信制御プログラムにおいて、
前記第１ハンドル供給ステップを実現するためのドライバと前記中継ステップを実現するためのドライバは、前記コンピュータに常駐し、
前記通信インタフェースドライバおよび前記通信インタフェース状態通知ステップを実現するためのドライバは、前記周辺装置が前記通信インタフェースに接続されている間だけ、前記コンピュータに存在することを特徴とする通信制御プログラム。
（付記１４）  付記１０乃至付記１３のいずれかに記載の通信制御プログラムにおいて、
前記中継ステップおよび前記通信インタフェース状態通知ステップは、プラグアンドプレイフィルタにより実現されることを特徴とする通信制御プログラム。
（付記１５）  付記９乃至付記１４のいずれかに記載の通信制御プログラムにおいて、
前記通信インタフェースドライバは、前記通信インタフェースの通信方式である第１の通信方式と異なる第２の通信方式を用いた仮想通信インタフェースを提供するものであり、
前記第１ハンドル供給ステップは、前記通信インタフェースドライバと同じ構成により実現され、前記通信インタフェースの制御を行わないことを特徴とする通信制御プログラム。
（付記１６）  付記９乃至付記１５のいずれかに記載の通信制御プログラムにおいて、
前記通信インタフェースは、ＵＳＢインタフェースであり、
前記通信インタフェースドライバは、前記ＵＳＢインタフェースを仮想のＣＯＭポートとして提供する仮想ＣＯＭポートドライバであり、
前記アプリケーションは、該ＣＯＭポートを用いて通信を行うことを特徴とする通信制御プログラム。
（付記１７）  コンピュータのＯＳ上で実行されるアプリケーションと該コンピュータの通信インタフェースに接続される周辺装置との間の通信の制御を行うドライバを、前記ＯＳに登録する通信ドライバ登録方法であって、
前記アプリケーションが前記周辺装置との通信に用いるハンドルである第１ハンドルを該アプリケーションに渡す第１ハンドル供給ドライバと、前記周辺装置が前記通信インタフェースに接続されたことが通知された場合、前記通信インタフェースのドライバである通信インタフェースドライバの操作に用いるハンドルである第２ハンドルを取得し、前記第１ハンドル供給ドライバから供給された第１ハンドルを用いた要求を前記アプリケーションから渡された場合、前記第２ハンドルを用いて前記通信インタフェースドライバに該要求を渡す中継ドライバとを前記ＯＳに登録し、前記ＯＳが前記第１ハンドル供給ドライバと前記中継ドライバとを前記コンピュータに常駐させるように、前記ＯＳを設定する第１ドライバ登録ステップと、
前記通信インタフェースドライバを前記ＯＳに登録し、前記周辺装置が前記通信インタフェースに接続された場合に前記ＯＳが前記通信インタフェース状態通知ドライバを前記コンピュータに生成するように、前記ＯＳを設定する第２ドライバ登録ステップと
を実行する通信ドライバ登録方法。
（付記１８）  付記１７に記載の通信ドライバ登録方法において、
前記第２ドライバ登録ステップは更に、前記周辺装置が前記通信インタフェースに接続されたことを前記中継ドライバに通知する通信インタフェース状態通知ドライバを前記ＯＳに登録し、前記周辺装置が前記通信インタフェースに接続された場合に前記ＯＳが前記通信インタフェース状態通知ドライバを前記コンピュータに生成するように、前記ＯＳを設定することを特徴とする通信ドライバ登録方法。
（付記１９）  付記１８に記載の通信ドライバ登録方法において、
前記中継ドライバおよび前記通信インタフェース状態通知ドライバは、プラグアンドプレイフィルタにより実現されることを特徴とする通信ドライバ登録方法。
（付記２０）  付記１８または付記１９に記載の通信ドライバ登録方法において、
前記通信インタフェースドライバは、前記通信インタフェースの通信方式である第１の通信方式と異なる第２の通信方式を用いた仮想通信インタフェースを提供するものであり、
前記第１ハンドル供給ドライバは、前記通信インタフェースドライバと同じ構成により実現され、前記通信インタフェースの制御を行わないことを特徴とする通信ドライバ登録方法。
【図面の簡単な説明】
【００６０】
【図１】本実施の形態に係る通信システムにおける第１の構成と動作の一例を示すブロック図である。
【図２】本実施の形態に係る通信システムにおける第２の構成と動作の一例を示すブロック図である。
【図３】本実施の形態に係る通信システムにおける第３の構成と動作の一例を示すブロック図である。
【図４】本実施の形態に係る通信システムにおける第４の構成と動作の一例を示すブロック図である。
【図５】従来のＲＳ−２３２Ｃ接続方式を用いた通信システムの構成と動作の一例を示すブロック図である。
【図６】従来のＵＳＢ接続方式を用いた通信システムの構成と動作の一例を示すブロック図である。
【符号の説明】
【００６１】
３１０  情報処理装置、２３０  周辺装置、３１１，２３１  制御部、２１２，２３２  ＵＳＢインタフェース、１５１  ＯＳ、３５２  ドライバ、１５３  アプリケーション、３７１  擬似ＶＣＯＭポートドライバ、３７２  擬似ＰｎＰフィルタ、２６１  ＶＣＯＭポートドライバ、３６２  ＰｎＰフィルタ。
【図１】
2007265328.tif 000003
【図２】
2007265328.tif 000004
【図３】
2007265328.tif 000005
【図４】
2007265328.tif 000006
【図５】
2007265328.tif 000007
【図６】
2007265328.tif 000008