(57)【要約】  出力装置１が起動されたことを検知すると、起動された出力装置１に対して、入力装置２による応答を要求する応答入力要求画面を表示させ、表示された応答入力要求画面を介して、入力装置２からの応答を受け付けると、応答があった入力装置２と、応答入力要求画面を表示させた出力装置１とを対応付けるようにしてある。また、応答入力要求画面を一の出力装置１に表示させている間、一の出力装置１とは異なる他の出力装置１には、応答入力要求画面を表示させないようにしてある。
2010050054.tif 000002
【特許請求の範囲】
【請求項１】
入力装置及び出力装置が接続され、前記入力装置から受付けた入力情報に対する処理の結果を前記出力装置に出力させる入出力管理装置において、
入力装置を複数接続する第１接続手段と、
出力装置を複数接続する第２接続手段と、
該第２接続手段に接続された出力装置が起動していることを検出する検出手段と、
前記検出された出力装置に対して、入力装置による応答を要求する応答入力要求画面を表示させる表示制御手段と、
前記応答入力要求画面に対して、第１接続手段に接続された入力装置が応答したことに基づき、応答した入力装置と前記応答入力要求画面を表示させた出力装置とを対応付ける対応管理手段と
を備えることを特徴とする入出力管理装置。
【請求項２】
前記表示制御手段が前記応答入力要求画面を表示させてから、前記応答入力要求画面に対して第１接続手段に接続された入力装置からの応答を受付けるまでの待機時間を計測する計時手段を更に備え、
前記表示制御手段は、前記計時手段が計測する待機時間が所定時間に到達した場合、前記応答入力要求画面の表示を終了させるようにしてあることを特徴とする請求項１に記載の入出力管理装置。
【請求項３】
前記表示制御手段は、前記検出手段が検出した出力装置に表示内容の異なる応答入力要求画面を表示させるようにしてあることを特徴とする請求項１又は２に記載の入出力管理装置。
【請求項４】
前記応答入力要求画面は、応答要求情報を入力するボタンを有し、
前記表示制御手段は、前記検出手段が検出した出力装置に、前記ボタンの表示位置を無作為に変更して応答入力要求画面を表示させるようにしてあることを特徴とする請求項３に記載の入出力管理装置。
【請求項５】
前記第１接続手段に接続された入力装置毎に、前記応答入力要求画面に対する応答以外の入力情報の入力回数を計数する計数手段と、
前記入力回数が所定数を超えた入力装置から受付けた入力情報を無効とする無効化手段と
を更に備えることを特徴とする請求項１乃至４のいずれかに記載の入出力管理装置。
【請求項６】
前記表示制御手段は、
前記応答入力要求画面を一の出力装置に表示させている間に前記検出手段が一の出力装置と異なる他の出力装置が起動されたことを検出した場合、前記対応管理手段が一の出力装置を対応付けるまで、前記応答入力要求画面を前記他の出力装置に表示させないようにしてあることを特徴とする請求項１乃至５のいずれかに記載の入出力管理装置。
【請求項７】
前記第１接続手段は、
接続された複数の入力装置を所定区分毎に組分ける組分手段
を備え、
前記対応管理手段は、前記応答要求情報が入力された入力装置が属する区分と同一区分内の入力装置と前記応答入力要求画面を表示させた出力装置とを対応付けるようにしてあることを特徴とする請求項１乃至６のいずれかに記載の入出力管理装置。
【請求項８】
入力装置から受付けた入力情報を処理する資源を備える情報処理装置において、
請求項１乃至７のいずれかに記載の入出力管理装置と、
前記入力装置から受付けた入力情報を前記資源に割当てる割当手段と、
割当てた資源による処理の結果を、前記入力情報が入力された入力装置と対応する出力装置に出力させる手段と
を備えることを特徴とする情報処理装置。
【請求項９】
入力装置から受付けた複数の入力情報を処理する抽象化した複数の論理資源を備える情報処理装置において、
請求項１乃至７のいずれかに記載の入出力管理装置と、
前記入力装置から受付けた入力情報を前記論理資源のいずれかに割当てる割当手段と、
割当てた論理資源による処理の結果を、前記入力情報が入力された入力装置と対応する出力装置に出力させる手段と
を備えることを特徴とする情報処理装置。
【請求項１０】
コンピュータに接続された入力装置から受付けた入力情報に対する処理の結果を、接続された出力装置に出力させるコンピュータプログラムにおいて、
出力装置が起動していることを検出させるステップと、
前記検出された出力装置に入力装置による応答を要求する応答入力要求画面を表示させるステップと、
該応答入力要求画面に対して、入力装置が応答したことに基づき、応答した入力装置と前記応答入力要求画面を表示させた出力装置とを対応付けさせるステップと
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１１】
前記応答入力要求画面を表示させてから、前記応答入力要求画面に対して第１接続手段に接続された入力装置からの応答を受付けるまでの待機時間を計測させるステップと、
計測する待機時間が所定時間に到達した場合、前記応答入力要求画面の表示を終了させるステップと
をコンピュータに更に実行させることを特徴とする請求項１０に記載のコンピュータプログラム。
【請求項１２】
前記検出した出力装置に表示内容の異なる前記応答入力要求画面を表示させるステップ
をコンピュータに更に実行させることを特徴とする請求項１１に記載のコンピュータプログラム。
【請求項１３】
前記応答入力要求画面は、応答要求情報を入力するボタンを有し、
前記検出した出力装置に、前記ボタンの表示位置を無作為に変更して応答入力要求画面を表示させるステップ
をコンピュータに更に実行させることを特徴とする請求項１２に記載のコンピュータプログラム。
【請求項１４】
接続された入力装置毎に、前記応答入力要求画面に対する応答以外の入力情報の入力回数を計数させるステップと、
前記入力回数が所定数を超えた入力装置から受付けた入力情報を無効とさせるステップと
をコンピュータに更に実行させることを特徴とする請求項１０乃至１３のいずれかに記載のコンピュータプログラム。
【請求項１５】
前記応答入力要求画面を一の出力装置に表示させている間に一の出力装置と異なる他の出力装置が起動されたことを検出した場合、一の出力装置を対応付けるまで、前記他の出力装置との対応付けを要求する応答入力要求画面を前記他の出力装置に表示させないステップ
をコンピュータに更に実行させることを特徴とする請求項１０乃至１４のいずれかに記載のコンピュータプログラム。
【請求項１６】
接続された複数の入力装置を所定区分毎に組分けさせるステップと、
前記応答要求情報が入力された入力装置が属する区分と同一区分内の入力装置と前記応答入力要求画面を表示させた出力装置とを対応付けさせるステップと
をコンピュータに更に実行させることを特徴とする請求項１０乃至１５のいずれかに記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の入力装置と複数の出力装置とが接続された情報処理装置を複数の利用者が同時に利用する際に、各利用者が使用する入力装置と出力装置とを対応付ける入出力管理装置、情報処理装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、個人向けの電子計算機（Personal Computer）は、その能力が飛躍的に向上したため、通常の用途での能力に余力を生じさせていた。そこで、発生した余力を有効利用するため、電子計算機に仮想化技術が導入された。仮想化技術とは、物理資源を抽象化して複数の論理資源に分割し、複数の物理資源があるように見せかけて複数の利用者に対して利用者毎に１つの論理資源を割り当て、１台の電子計算機を複数の利用者が利用できるようにしたものである。【０００３】
その結果、例えば、複数の電子計算機の資源を一台の電子計算機内の論理資源に集約することにより、実際の電子計算機の台数を削減することができ、設置場所、消費電力及び保守管理の負担を軽減させることができた。【０００４】
また、電子計算機は、例えば、ＵＳＢ（Universal Serial Bus）規格の末端部分を多数備えるようになり、マウス及びキーボード等の入力装置を複数接続することができた。また、電子計算機は、液晶ディスプレイ等の出力装置を複数接続することができ、表示制御を個別に行うことができる。【０００５】
また、１つの大画面を共有し、複数の利用者がそれぞれに入力装置を使用して参加可能な会議システムにおいて、各利用者がマウス及びキーボードなどの入力装置を複数利用する際に、マウスを操作しながらキーボードの特殊キーを操作することにより、利用するマウスとキーボードとの対応付けを行うシステムが、例えば、特許文献１に開示されている。
【特許文献１】特開２００４−１３９４１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述のシステムは、複数の利用者のいずれかに入力権を与えるシステムであるため、複数の利用者から同時にキーボードの特殊キーが押下されることは想定されていない。このため、複数の利用者から同時にキーボードの特殊キーが押下された場合、電子計算機は、マウスと対応付けるべきキーボードを認識することができない。また、前述のシステムにおいて、入力装置は複数用意されているが、出力装置については１台の出力装置を複数の利用者で共有している。このため、各利用者がそれぞれに出力装置を使用する場合、利用者の使用する入力装置と出力装置とを対応付けることまで想定されていない。
【課題を解決するための手段】
【０００７】
本発明はかかる事情を鑑みてなされたものであり、複数の入力装置及び複数の出力装置が接続された情報処理装置を有し、入力装置及び出力装置を一台ずつ利用することが可能なシステムにおいて、出力装置に対して入力装置による応答を要求する応答入力要求画面を表示させ、表示された応答入力要求画面に対して、入力装置のいずれかにより入力されたことに応じて、当該入力装置より送出される応答情報を受け付け、受け付けた応答情報に基づいて、応答が入力された入力装置を特定し、特定された入力装置と応答入力要求画面を表示させた出力装置とを対応付けるようにすることにより、当該利用者が使用する入力装置と出力装置との対応付けを行うことを可能とする入出力管理装置、情報処理装置及びコンピュータプログラムを提供することを目的とする。【０００８】
開示の入出力管理装置は、入力装置及び出力装置が接続され、前記入力装置から受付けた入力情報に対する処理の結果を前記出力装置に出力させる入出力管理装置において、入力装置を複数接続する第１接続手段と、出力装置を複数接続する第２接続手段と、該第２接続手段に接続された出力装置が起動していることを検出する検出手段と、前記検出された出力装置に対して、入力装置による応答を要求する応答入力要求画面を表示させる表示制御手段と、該応答入力要求画面に対して、前記第1接続手段に接続された入力装置が応答したことに基づき、応答した入力装置と前記応答入力要求画面を表示させた出力装置とを対応付ける対応管理手段とを備えることを要件とする。【０００９】
また、開示の情報処理装置は、入力装置から受付けた複数の入力情報を、抽象化した複数の論理資源が夫々処理する情報処理装置において、開示の入出力管理装置と、前記入力装置から受付けた入力情報を前記論理資源のいずれかに割当てる割当手段と、割当てた論理資源による処理の結果を、前記入力情報が入力された入力装置と対応する出力装置に出力させる手段とを備えることを要件とする。【００１０】
更にまた、開示のコンピュータプログラムは、コンピュータに接続された入力装置から受付けた入力情報に対する処理の結果を、接続された出力装置に出力させるコンピュータプログラムにおいて、出力装置が起動していることを検出させるステップと、前記検出された出力装置に入力装置による応答を要求する応答入力要求画面を表示させるステップと、該応答入力要求画面に対して、入力装置が応答したことに基づき、応答した入力装置と前記応答入力要求画面を表示させた出力装置とを対応付けさせるステップとをコンピュータに実行させる。【００１１】
開示の入力管理装置、情報処理装置及びコンピュータプログラムは、出力装置に対して、入力装置による応答を要求する応答入力要求画面を表示させ、当該応答入力要求画面に対して入力装置による応答操作に応じて送出される応答情報を受け付けることにより、各利用者が使用する出力装置と入力装置との対応付けを容易に行うことができる。
【発明の効果】
【００１２】
開示の入力管理装置、情報処理装置及びコンピュータプログラムにあっては、１つの情報処理装置を利用する複数の利用者が利用する入力装置と出力装置との対応付けを順次行うことができ、対応付けを円滑に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施例における情報処理装置及び周辺機器の全体構成を示す模式図である。
【図２】本発明の一実施例における情報処理装置及び周辺機器の構成を示すブロック図である。
【図３】データベースに格納されている利用者対仮想装置対応テーブルのフォーマット例を示す概念図である。
【図４】データベースに格納されている入力装置組分テーブルのフォーマット例を示す概念図である。
【図５】データベースに格納されている入出力装置対仮想装置対応テーブルのフォーマット例を示す概念図である。
【図６】本発明の一実施例における入出力管理装置の構成を示すブロック図である。
【図７】本発明の一実施例における出力装置に表示させる画面例を示す模式図である。
【図８】入力情報の一例を示す説明図である。
【図９】対応付け処理の手順を示すフローチャートである。
【図１０】認証処理の手順を示すフローチャートである。
【図１１】本発明の一実施例における出力装置起動管理部が実行する処理の手順を示すフローチャートである。
【図１２】待ち判定処理の手順を示すフローチャートである。
【図１３】本発明の一実施例における入力情報処理部及び応答入力要求処理部が実行する処理の手順を示すフローチャートである。
【図１４】本発明の一実施例における認証処理部が実行する処理の手順を示すフローチャートである。
【図１５】本発明の一実施例における入力情報処理部が実行する処理の手順を示すフローチャートである。
【図１６】本発明の一実施例における待ち判定部が実行する待ち解除処理の手順を示すフローチャートである。
【図１７】本発明の一実施例における入出力管理装置の構成を示すブロック図である。
【図１８】実施の形態２における待ち判定処理の手順を示すフローチャートである。
【図１９】実施の形態２における計時機能付待ち判定部が実行する待ち解除処理の手順を示すフローチャートである。
【図２０】本発明の一実施例における入出力管理装置の構成を示すブロック図である。
【図２１】本発明の一実施例における入出力管理装置の構成を示すブロック図である。
【図２２】本発明の一実施例における入力無効判定機能付応答入力要求処理部が実行する処理の手順を示すフローチャートである。
【符号の説明】
【００１４】
１  出力装置
２  入力装置
３  情報処理装置
３０  ＣＰＵ
３００  入力情報処理部
３００ａ  無効化機能付入力情報処理部（無効化手段）
３０１  応答入力要求処理部（表示制御手段、対応管理手段、計時手段）
３０１ａ  無作為表示機能付応答入力要求処理部（表示制御手段、対応管理手段）
３０１ｂ  入力無効判定機能付応答入力要求処理部（表示制御手段、対応管理手段、計数手段、無効化手段）
３０２  出力装置起動管理部（検出手段）
３０３  待ち判定部（表示制御手段）
３０３ａ  計時機能付待ち判定部（表示制御手段、計時手段）
３０４  待ち保存部
３０５  待ち処理部（表示制御手段）
３０６  仮想装置管理部
３０７  認証処理部（割当手段）
３１  外部記憶装置
３２  通信制御部
３３  主記憶
３４  補助記憶装置
３５  データベース管理部
３６  入力インタフェース(第１接続手段)
３７  入力装置制御部(第１接続手段)
３８  出力インタフェース(第２接続手段)
３９  出力装置制御部(第２接続手段)
【発明を実施するための最良の形態】
【００１５】
実施の形態１．
以下、実施の形態１における入出力管理装置、情報処理装置及び入出力管理プログラムについて実施の形態を示す図に基づいて説明する。実施の形態１では、仮想環境を有する情報処理装置に、本発明を適用した例を説明する。図１は本発明の一実施例における情報処理装置及び周辺機器の全体構成を示す模式図、図２は本発明の一実施例における情報処理装置及び周辺機器の構成を示すブロック図である。【００１６】
図１に示すとおり、実施の形態１における情報処理装置３は、液晶ディスプレイ等の出力装置１と、マウス及びキーボード等の入力装置２とを、それぞれ複数接続することができる。また、各入力装置２および各出力装置１は、各利用者により操作される。【００１７】
情報処理装置３は、出力装置１の起動状態を監視しており、出力装置１が起動したことを検知すると、検知した出力装置１に対して、入力装置２を使用して応答を行うよう利用者に要求するための応答入力要求画面を表示させる。利用者は、出力装置１に表示されている応答入力要求画面を視認することにより、応答入力要求画面内に表示されている指示に従って、入力装置２を操作する。利用者が入力装置２を操作することにより、入力装置２は、利用者が行った操作に応じて生成される応答情報を、情報処理装置３へ送出する。情報処理装置３は、入力装置２から応答情報を受け付けた場合、受け付けた応答情報に基づいて、利用者により操作が行われた入力装置２を特定し、特定された入力装置２と、応答入力要求画面を表示させてある出力装置１とを対応付ける。【００１８】
また、情報処理装置３は、出力装置１が起動したことを検出した場合であって、応答入力要求画面を表示させてある出力装置１（以下「応答入力要求中の出力装置１」という）が既に存在しているとき、起動した出力装置１に、他の出力装置１での処理の完了待ちを伝える待ち画面を表示させ、他の出力装置１での処理の完了待ちとして管理するようにしてもよい。この場合、情報処理装置３は、応答情報の入力があった後、他の出力装置１での処理の完了待ちの出力装置１に応答入力要求画面を表示させ、新たな応答入力要求中の出力装置１として管理する。【００１９】
情報処理装置３は、例えば、個人向け電子計算機（Personal Computer）であり、入出力管理及びその他の一般的な情報処理を行う汎用機である。情報処理装置３は、物理資源として、ＣＰＵ３０と、外部の記録媒体３１ａから情報を読み取る外部記憶装置３１と、通信網に接続するための通信制御部３２と、ＣＰＵ３０が所定の処理を実行することにより生じたデータを一時記憶する主記憶３３と、ＣＰＵ３０に所定の処理を実行させるプログラム及びその他のデータを格納する補助記憶装置３４と、後述するデータベースに接続するためのデータベース管理部３５と、入力装置２を接続するための入力インタフェース３６と、入力装置２との接続を制御する入力装置制御部３７と、出力装置１を接続するための出力インタフェース３８と、出力装置１との接続を制御する出力装置制御部３９とを有する。各装置は、相互にバスを介して接続されている。【００２０】
外部記憶装置３１は、挿入口（図示せず。以下同じ。）を有し、挿入口に記録媒体３１ａが挿入された場合、挿入された記録媒体３１ａに記録してあるプログラムを読み出して補助記憶装置３４へ出力する。外部記憶装置３１は、例えば、フレキシブルディスク、光磁気ディスク又は光ディスク等が該当する。また、読み出されたプログラムは、情報処理装置３の資源を利用及び管理する基本ソフトウェア（Operating System）と、仮想化させるソフトウェアと、特定の処理を実行させる応用ソフトウェア（Application software）とを含む。また、前記基本ソフトウェアと応用ソフトウェアとは、１つのソフトウェアとして機能するものであってもよい。【００２１】
通信制御部３２は、ＣＰＵ３０の制御に従い、通信網に接続して外部装置との間で情報の授受を行う。通信制御部３２は、例えば、ネットワークカード又はルータ機能付きのネットワークカード等が該当する。【００２２】
主記憶３３は、ＣＰＵ３０の制御に従って複数の情報を記憶し、記憶順又は記憶位置等に関係することなく読み書きが可能な半導体記憶装置であり、ＣＰＵ３０が所定の処理を実行することにより生じるデータを記憶する。主記憶３３は、例えば、ＲＡＭが該当する。【００２３】
補助記憶装置３４は、ＣＰＵ３０の制御に従って記録媒体３１ａから読み出したプログラム及びその他のデータを格納し、これらを適宜読み出す。補助記憶装置３４は、例えば、磁気記憶方式のハードディスク又は不揮発性の半導体メモリ等が該当する。【００２４】
データベース管理部３５は、ＣＰＵ３０の制御に従い、後述するデータベースに格納されている情報の授受を行う。データベース管理部３５は、例えば、データベースの形態に応じたデータベース管理システムあるいはデータベースアクセス用インタフェースが該当する。データベース管理部３５が読み書き可能なデータベースＤＢ１には、利用者対仮想装置対応テーブルＴ１、入力装置組分テーブルＴ２及び入出力装置対仮想装置対応テーブルＴ３が格納されている。利用者対仮想装置対応テーブルＴ１は、利用者と、仮想装置３０８−１、３０８−２、・・・３０８−ｎ（後述する図６参照）との対応付けを示す情報が格納されている。入力装置組分テーブルＴ２は、入力装置２の組み分けを示す情報が格納されている。入出力装置対仮想装置対応テーブルＴ３には、入力装置２と出力装置１と仮想装置との対応付けを示す情報が格納されている。なお、各テーブルの内容例は、後述する。また、本実施例では、各テーブルの情報が、１つのデータベースＤＢ１に格納されている例を示すが、複数のデータベースに分散して格納されていてもよい。【００２５】
入力インタフェース３６は、入力装置２と複数接続するための末端部分であり、プラグアンドプレイ（Plug and Play）及びホットプラグ（Hot plug）機能又はホットスワップ（Hot swap，活線挿抜）機能を有する。入力インタフェース３６は、例えば、ＵＳＢ又はＩＥＥＥ１３９４等の規格に基づいて入力装置２とデータの送受信を行う。【００２６】
入力装置制御部３７は、入力インタフェース３６を介して複数接続されている入力装置２を所定の区分毎に組み分け、組分結果を入力装置組分テーブルＴ２に格納する。入力装置制御部３７は、例えば、集線装置（ハブ）が該当し、複数存在する。１人の利用者が使用する複数の入力装置２は、例えば、同一の集線装置に接続されることにより、一区分として組み分けられる。入力装置制御部３７は、入力装置２から受け付けた入力情報をＣＰＵ３０へ出力する。本実施の形態における入力情報は、上述した応答情報のほか、入力装置２を識別する記入力装置識別情報、入力装置２固有の利用者操作情報（例えばマウスなら移動情報やクリック情報、キーボードなら押下情報等）、利用者の認証に用いる認証情報等を含む。【００２７】
出力インタフェース３８は、出力装置１を複数接続するための末端部分であり、例えば、デジタル信号を伝達するＤＶＩ（Digital Visual Interface）若しくはＨＤＭＩ（High-Definition Multimedia Interface）、又はアナログ信号を伝達するＶＧＡ（Video Graphics Array）端子等の規格に基づいて出力装置１とデータの送受信を行う。【００２８】
出力装置制御部３９は、出力インタフェース３８を介して複数接続されている出力装置１の表示を個別に制御する。出力装置制御部３９は、グラフィックコントローラ（ＧＰＵ）単体、又はＧＰＵと専用メモリとを有するグラフィックカードが該当する。出力装置制御部３９は、一枚のグラフィックカードで複数の出力装置１の表示を個別に制御する。【００２９】
ＣＰＵ３０は、補助記憶装置３４に記憶してあるプログラムに従いデータベースＤＢ１及びデータベースＤＢ１内のデータに基づいて入出力管理を実行する。また、ＣＰＵ３０は、一般的な情報処理を実行する。【００３０】
以下、ＣＰＵ３０が用いるデータについて説明する。図３はデータベースＤＢ１に格納されている利用者対仮想装置対応テーブルＴ１のフォーマット例を示す概念図である。利用者対仮想装置対応テーブルＴ１は、利用者の識別情報と、利用者の暗証番号と、仮想装置の識別情報とを対応付けて格納する。利用者識別情報は、利用者登録時に管理者により予め設定される。また、暗証番号は、利用者登録時に管理者あるいは利用者により設定される。また、仮想装置識別情報は、仮想装置の生成時又は利用者登録時に管理者により又は自動的に設定され、利用者識別情報に適宜対応付けられる。【００３１】
図４はデータベースＤＢ１に格納されている入力装置組分テーブルＴ２のフォーマット例を示す概念図である。入力装置組分テーブルＴ２は、区分毎に付された組分番号、入力装置２の入力装置識別情報及び入力装置２の入力装置種目情報を対応付けて格納する。入力装置識別情報は、入力装置制御部３７が入力装置２の接続を検出する都度基本ソフトウェアにより一意に割り振られる。また、入力装置種目情報は、入力装置制御部３７が入力装置２の接続を検出する都度基本ソフトウェアによって検出され、例えば、マウス、キーボード及び集線装置等に分類される。また、入力装置２が検出されると、集線装置と集線装置に接続されている入力装置２との組み合わせも検出される。組分番号は、検出された集線装置と集線装置に接続されている入力装置２との組み合わせに基づいて、管理者により予め設定される。図４では、例えば、入力装置識別情報が“０ｘ１０００−００００”である集線装置と、その集線装置に接続されている入力装置２として、入力装置識別情報が“０ｘ１０００−０００１”であるキーボードおよび入力装置識別情報が“０ｘ１０００−０００２”であるマウスとが、１つの組み合わせとして検出されている。管理者は、入力装置識別情報が“０ｘ１０００−００００”である集線装置、入力装置識別情報が“０ｘ１０００−０００１”であるキーボード、入力装置識別情報が“０ｘ１０００−０００２”であるマウスに対して、組分番号“Ｇｒｏｕｐ０”を設定する。以下、同様にして、管理者は、検出された組み合わせを１つの単位として、組分番号“Ｇｒｏｕｐ１”、“Ｇｒｏｕｐ２”・・・を設定する。【００３２】
図５はデータベースＤＢ１に格納されている入出力装置対仮想装置対応テーブルＴ３のフォーマット例を示す概念図である。入出力装置対仮想装置対応テーブルＴ３は、入力装置２の入力装置識別情報、出力装置１の出力装置識別情報及び仮想装置の仮想装置識別情報を対応付けて格納する。入力装置識別情報には、前述した、検出されて入力装置組分テーブルＴ２に登録された入力装置２の入力装置識別情報が用いられる。出力装置識別情報は、出力装置制御部３９が出力装置１の接続を検出する都度、基本ソフトウェアにより一意に割り振られる。仮想装置識別情報は、情報処理装置３で稼働可能な仮想装置に割り振られた識別情報であって、利用者対仮想装置対応テーブルＴ１内に登録されたデータが用いられる。尚、対応付けるべき仮想装置が存在していない場合、仮想装置識別情報は、「ＮＵＬＬ」とされる。また、入出力装置対仮想装置対応テーブルＴ３は、情報処理装置３への給電が停止した場合であってもデータベースＤＢ１内に保存され、次回起動した情報処理装置３において利用される。【００３３】
図６は本発明の一実施例における入出力管理装置の構成を示すブロック図である。上述した情報処理装置３が有する装置のうち、ＣＰＵ３０、データベース管理部３５、入力インタフェース３６、入力装置制御部３７、出力インタフェース３８及び出力装置制御部３９は、入出力管理装置の一部として機能する。【００３４】
入出力管理装置としてのＣＰＵ３０は、入力情報処理部３００、応答入力要求処理部３０１、出力装置起動管理部３０２、待ち判定部３０３、待ち保存部３０４、待ち処理部３０５、仮想装置３０８−１、３０８−２、・・・、３０８−ｎを管理する仮想装置管理部３０６、認証処理部３０７、仮想装置３０８−１、３０８−２、・・・、３０８−ｎとして機能する。【００３５】
入力情報処理部３００は、入力情報を処理する。入力情報処理部３００は、入力装置制御部３７を介して入力装置２で入力された内容を示す入力情報を受け付ける。入力情報は、例えば、入力装置２がマウスの場合、マウスの識別情報、右クリック等のマウスで行われた操作内容を示す情報、及び当該マウスの操作が行われた際の出力装置１の表示面のマウスカーソルの位置を示す座標である。入力情報処理部３００は、転送テーブル（図示せず）内データに従って、受け付けた入力情報をＣＰＵ３０の各部へ転送する。転送テーブルは、補助記憶装置３４に格納されており、ＣＰＵ３０の各部が設定する転送設定を格納する。転送テーブルは、各入力装置２からの入力情報を受け付けた際に、受け付けた入力情報を転送する処理部がいずれであるかを格納している。転送テーブルの初期値は、応答入力要求処理部３０１に設定されている。【００３６】
応答入力要求処理部３０１は、出力装置１と入力装置２との対応付けを行う。応答入力要求処理部３０１は、待ち判定部３０３により通知された出力装置１に対して、応答入力要求画面を表示させる。利用者が、出力装置１の表示面に表示された応答入力要求画面の指示に従って、入力装置２を用いて、応答入力操作を行うと、応答入力操作に応じた入力情報が生成されて送出される。入力情報処理部３００は、入力装置２から送出されてきた入力情報を受信すると、転送テーブルの設定に従い、応答入力要求処理部３０１へ、入力情報を転送する。【００３７】
応答入力要求処理部３０１は、入力情報処理部３００から転送された入力情報を受け付けると、受け付けた入力情報が応答入力要求画面に対して応答が行われたことを示す応答情報であるか否かを判定する。応答入力要求処理部３０１は、例えば、応答入力要求画面にて所定の位置に表示されたボタンを入力装置２であるマウスを用いてクリックすることを要求している場合、入力情報がマウスの操作内容を示していること及びその操作が出力装置１の表示面の所定の座標の範囲で行われているか否かにより判定する。また、応答入力要求画面にてキーボードによる文字列の入力を要求している場合、例えば、入力情報がキーボードの操作内容を示していること及びキーボードにより入力された文字列が応答入力画面にて要求した内容と同一であるか否かにより判定する。【００３８】
応答入力要求処理部３０１は、入力情報が応答情報であると判定すると、入力情報に含まれる入力装置２の入力装置識別情報に基づいて、入力装置組分テーブルＴ２を検索し、入力装置２の入力装置識別情報に対応する組分番号を特定する。応答入力要求処理部３０１は、入力装置組分テーブルＴ２を検索し、特定した組分番号と同一の組分番号に対応付けられている入力装置２の入力装置識別情報を取得する。応答入力要求処理部３０１は、取得した入力装置２の入力装置識別情報と、出力装置１の出力装置識別情報とを対応付け、入出力装置対仮想装置対応テーブルＴ３に格納する。応答入力要求処理部３０１は、入力情報処理部３００及び待ち判定部３０３へ、処理が完了したことを通知する。【００３９】
出力装置起動管理部３０２は、出力装置２が起動したことを検出する。出力装置起動管理部３０２は、出力インタフェース３８に接続されている出力装置１から信号を定期的に取得し、出力装置１の起動状態を監視する。出力装置起動管理部３０２は、取得した出力装置１の起動状態に基づいて、新たに起動した出力装置１を特定し、待ち判定部３０３により特定された出力装置１へ応答入力要求画面の表示を要求する。【００４０】
待ち判定部３０３は、他の出力装置１での処理の完了待ちの出力装置１が存在するか否かを判定する。待ち判定部３０３は、出力装置起動管理部３０２から要求を受け付けた場合、応答入力要求中の出力装置１が存在するか否かを判定する。待ち判定部３０３は、応答入力要求中の出力装置１が存在すると判定した場合、他の利用者による処理中であることを示す待ち画面の表示を待ち処理部３０５に要求し、待ち保存部３０４に当該出力装置１の出力装置識別情報を通知する。【００４１】
一方、待ち判定部３０３は、応答入力要求中の出力装置１が存在していないと判定した場合、応答入力要求画面の表示を応答入力要求処理部３０１に要求する。待ち判定部３０３は、応答入力要求処理部３０１から処理が完了した旨の通知を受け付けると、他の利用者の処理の完了待ちにある出力装置１に表示させてある待ち画面の表示を終了させ、応答入力要求処理部３０１へ、応答入力要求画面の表示を要求する。また、待ち判定部３０３は、待ち保存部３０４に対して、当該出力装置１の出力装置識別情報と共に待ち状態が解消したことを通知する。【００４２】
待ち保存部３０４は、他の出力装置１での処理の完了待ちの出力装置１の出力装置識別情報を保存する。待ち保存部３０４は、待ち判定部３０３から通知された待ち画面の表示対象となった出力装置１の出力装置識別情報を補助記憶装置３４内の保存データ（図示せず）に保存する。また、待ち保存部３０４は、待ち判定部３０３から通知された待ち状態が解消された出力装置１の出力装置識別情報を補助記憶装置３４内の保存データから削除する。【００４３】
待ち処理部３０５は、出力装置１に待ち画面を表示させる。待ち処理部３０５は、待ち判定部３０３から出力装置１の出力装置識別情報と待ち画面の表示要求とを受け付けた場合、受け付けた識別情報に対応する出力装置１に待ち画面を表示させる。【００４４】
仮想装置管理部３０６は、補助記憶装置３４に記憶してあるプログラムに従い上述した情報処理装置３が有する物理資源を抽象化して複数の論理資源に見せかけることにより、複数の仮想装置３０８−１、３０８−２、・・・、３０８−ｎを実行する。仮想装置管理部３０６は、認証処理部３０７から要求を受け付けた場合、入出力装置対仮想装置対応テーブルＴ３に基づいて、仮想装置３０８−１、３０８−２、・・・３０８−ｎのいずれかに出力装置１及び入力装置２を割り当てる。仮想装置管理部３０６は、入力情報処理部３００から転送された入力装置２からの入力情報を受け付けた場合、受け付けた入力装置２からの入力情報を仮想装置３０８−１、３０８−２、・・・、３０８−ｎに転送する。仮想装置は、補助記憶装置３４に記憶してあるプログラムに従って一般的な情報処理を行う。【００４５】
認証処理部３０７は、応答入力要求処理部３０１が入力装置２と出力装置１とを対応付けた後、対応付けを完了した出力装置１の表示面に、利用者を認証するための認証画面を表示させる。利用者が認証画面の指示に従って認証のための情報を入力することにより、入力された認証情報が入力情報処理部３００に通知される。入力情報処理部３００は、転送テーブルに従って、通知されてきた認証情報を認証処理部３０７に転送する。認証処理部３０７は、入力情報処理部３００から転送された認証情報を受け付けた場合、受け付けた認証情報が利用者対仮想装置対応テーブルＴ１に格納されているか否かを判定することにより、利用者に情報処理装置３の使用権限があるか否かの認証を行う。認証処理部３０７は、受け付けた認証情報が利用者対仮想装置対応テーブルＴ１に格納されている場合、認証成功とし、仮想装置の実行を仮想装置管理部３０６に要求する。【００４６】
ＣＰＵ３０は、出力装置制御部３９を制御することにより、各処理部からの指示に応じて、待ち画面、応答入力要求画面又は認証画面を、出力装置１に表示させる。図７は本発明の一実施例における出力装置１に表示させる画面例を示す模式図、図８は入力情報の一例を示す説明図である。待ち画面は、他の出力装置１が応答入力要求画面に対する入力待ちであるので、現時点では操作不能であることを報知する（図７（ａ））。【００４７】
応答入力要求画面は、利用者に対して入力装置２を使用して入力操作を行うよう指示する。本実施例では、応答入力要求画面には、例えば、利用者に対してマウスにより「ＯＫボタン」をクリックすることを要求するメッセージと共に「ＯＫボタン」が表示されている（図７（ｂ））。ＯＫボタンは、表示される位置が予め設定されて固定されている。ユーザが入力装置２を操作すると、ユーザが操作した内容に応じて、入力情報が生成される。【００４８】
例えば、ユーザがマウスを移動させると、マウスが移動されたことを示す情報と、マウスの移動後に出力装置１の表示面に表示されるマウスカーソルの座標とが、入力情報として生成される（図８参照）。また、例えば、マウスの左ボタンがクリックされると、マウスの左ボタンがクリックされたことを示す情報が、入力情報として生成される。生成された入力情報は、情報処理装置３へ出力される。本実施例において、入力情報は、入力装置２の入力装置識別情報、イベント及び引数を含む。入力装置２の入力装置識別情報には、利用者による入力操作が行われた入力装置２の入力装置識別情報が設定されている。イベントには、入力装置２で行われた操作内容を示す情報が設定されている。引数には、入力装置２で行われた操作に関する補足情報が設定されている。【００４９】
認証画面は、認証すべき利用者に対して、認証情報の入力を要求する画面である（図７（ｃ））。認証情報は、識別情報及び暗証番号を含む。暗証番号は、利用者登録時に管理者あるいは利用者により設定される。利用者識別情報は、利用者識別情報に対応する暗証番号が入力欄に入力されたとき、情報処理装置３へ出力される。【００５０】
ＣＰＵ３０は、上述した機能を用いて出力装置１と入力装置２との対応付けを行う。図９は対応付け処理の手順を示すフローチャートである。ＣＰＵ３０の出力装置起動管理部３０２は、出力インタフェース３８に接続されている出力装置１から信号を出力装置制御部３９を介して定期的に取得し、新たに出力装置１が起動したか否かを判定する（Ｓ１０１）。ＣＰＵ３０の出力装置起動管理部３０２は、新たに出力装置１が起動していないと判定した場合（Ｓ１０１でＮＯ）、ステップＳ１０１に戻り、処理を繰り返す。【００５１】
一方、ＣＰＵ３０の出力装置起動管理部３０２は、新たに出力装置１が起動したと判定した場合（Ｓ１０１でＹＥＳ）、待ち判定部３０３へ新たに起動した出力装置１の出力装置識別情報を通知する。待ち判定部３０３は、出力装置起動管理部３０２から通知された新たに起動した出力装置１と異なる他の出力装置１に応答入力要求画面を表示させているか否かを判定する（Ｓ１０２）。ＣＰＵ３０の待ち判定部３０３は、他の出力装置１に応答入力要求画面を表示させてあると判定した場合（Ｓ１０２でＹＥＳ）、待ち処理部３０５へ新たに起動した出力装置１の出力装置識別情報を通知する。待ち処理部３０５は、待ち判定部３０３から通知された出力装置１の出力装置識別情報に基づいて、新たに起動した出力装置１には待ち画面を表示させる（Ｓ１０３）。ＣＰＵ３０の待ち判定部３０３は、新たに起動した出力装置１の出力装置識別情報を待ち保存部３０４の保存データに保存する（Ｓ１０４）。ＣＰＵ３０は、ステップＳ１０１に戻り、処理を繰り返す。【００５２】
一方、ＣＰＵ３０の待ち判定部３０３は、他の出力装置１に応答入力要求画面を表示させていないと判定した場合（Ｓ１０２でＮＯ）、応答入力要求処理部３０１へ新たに起動した出力装置１の出力装置識別情報を通知する。応答入力要求処理部３０１は、待ち判定部３０３により通知された出力装置１の出力装置識別情報に基づいて、新たに起動した出力装置１に応答入力要求画面を表示させる（Ｓ１０５）。ＣＰＵ３０の入力情報処理部３００は、入力装置２からの入力情報を受け付けると、転送テーブルの設定に従い、応答入力要求処理部３０１へ入力情報を転送する。応答入力要求処理部３０１は、転送されてきた入力情報が出力装置１に表示された応答入力要求画面に対する応答情報であるか否かを判定する（Ｓ１０６）。応答入力要求処理部３０１は、受け付けた入力情報が応答情報でないと判定した場合（Ｓ１０６でＮＯ）、ステップＳ１０６に戻り、処理を繰り返す。【００５３】
一方、ＣＰＵ３０の応答入力要求処理部３０１は、受け付けた入力情報が応答情報であると判定した場合（Ｓ１０６でＹＥＳ）、応答情報が入力された入力装置２と、応答入力要求画面を表示させた出力装置１とを対応付け（Ｓ１０７）、入出力装置対仮想装置対応テーブルＴ３に格納する。【００５４】
さらに、応答入力要求処理部３０１は、応答情報が入力された入力装置２の入力装置識別情報に基づいて、入力装置組分テーブルＴ２を検索し、入力装置２の入力装置識別情報に対応付けられている組分番号を特定する（Ｓ１０８）。応答入力要求処理部３０１は、特定された組分番号に対応付けられている他の入力装置２の入力装置識別情報を抽出する（Ｓ１０９）。応答入力要求処理部３０１は、特定された他の入力装置２の入力装置識別情報と、応答入力要求画面を表示させた出力装置１の出力装置識別情報とを対応付け（Ｓ１１０）、対応付けた識別情報を入出力装置対仮想装置対応テーブルＴ３に格納する。【００５５】
ここで応答入力要求画面が表示された出力装置１の出力装置識別情報が“０ｘ００００−００００”であり、応答入力要求画面に対して入力を行う際に使用された入力装置２の入力装置識別情報が“０ｘ１０００−０００１”であった場合を例にして、具体的に説明する。【００５６】
ステップＳ１０７では、応答入力要求処理部３０１は、図５に示すように、応答入力要求画面に対して入力を行う際に使用された入力装置２の入力装置識別情報“０ｘ１０００−０００１”と、応答入力要求画面が表示された出力装置１の出力装置識別情報“０ｘ００００−００００”とを対応付けて、入出力装置対仮想装置対応テーブルＴ３に格納する。また、ステップＳ１０８では、応答入力要求処理部３０１は、応答入力要求画面に対して入力を行う際に使用された入力装置２の入力装置識別情報“０ｘ１０００−０００１”に基づいて、入力装置組分テーブルＴ２を検索して、入力装置識別情報“０ｘ１０００−０００１”に対応付けられている組分番号を特定する。図４に示す例では、入力装置識別情報“０ｘ１０００−０００１”に対応付けられている組分番号は、“Ｇｒｏｕｐ０”となる。【００５７】
次に、応答入力要求処理部３０１は、特定された組分番号“Ｇｒｏｕｐ０”に基づいて、再度、入力装置組分テーブルＴ２を検索し、入力装置識別情報が“０ｘ１０００−０００１”以外の入力装置２が、同じ組分番号に対応付けて記憶されているかを確認する。図４の例では、組分番号“Ｇｒｏｕｐ０”には、入力装置識別情報が“０ｘ１０００−０００１”である入力装置２（キーボード）と、入力装置識別情報が“０ｘ１０００−０００２”である入力装置２（マウス）とが対応付けて記憶されている。応答入力要求処理部３０１は、組分番号“Ｇｒｏｕｐ０”に対応付けて記憶されている入力装置２として、入力装置識別情報が“０ｘ１０００−０００２”である入力装置２（マウス）を抽出する。応答入力要求処理部３０１は、抽出した入力装置２（マウス）の入力装置識別情報“０ｘ１０００−０００２”と、応答入力要求画面が表示された出力装置１の出力装置識別情報“０ｘ００００−００００”とを対応付けて、入出力装置対仮想装置対応テーブルＴ３に格納する。【００５８】
また、応答入力要求処理部３０１は、入力情報処理部３００へ、入力装置２と出力装置１との対応付け処理が完了したことを通知する（Ｓ１１１）。入力情報処理部３００は、応答入力要求処理部３０１から、対応付け処理が完了した旨の通知を受け付けると、認証処理部３０７へ、対応付け処理が完了した出力装置１の出力装置識別情報及び入力装置２の入力装置識別情報を通知する（Ｓ１１２）。ＣＰＵ３０は、対応付け処理を終了する。【００５９】
ＣＰＵ３０の認証処理部３０７は、応答入力要求処理部３０１による出力装置１と入力装置２との対応付け処理を終了した後、入力元となる入力装置２を使用する利用者に使用権限があるか否かの認証を行う。図１０は認証処理の手順を示すフローチャートである。【００６０】
ＣＰＵ３０の認証処理部３０７は、入力情報処理部３００から通知された出力装置識別情報に対応する出力装置１に認証画面を表示させる（Ｓ２０１）。認証画面は、前述の通り、例えば、図７（ｃ）のような画面である。ＣＰＵ３０の認証処理部３０７は、入力情報処理部３００から通知された入力装置２から受け付けた入力情報を認証処理部３０７に転送するように、転送テーブルを更新する（Ｓ２０２）。認証画面の利用者識別情報及び暗証番号が入力装置２を用いて入力されると、入力された利用者識別情報の内容と暗証番号の内容とが、入力装置２からの入力情報として、情報処理装置３に通知される。【００６１】
ＣＰＵ３０の入力情報処理部３００は、入力装置２から入力情報を受け付けると、転送テーブルの設定に基づいて、受け付けた入力情報を、当該入力装置２の入力装置識別情報に対応付けられている転送先、すなわち認証処理部３０７へ転送する（Ｓ２０３）。【００６２】
認証処理部３０７は、転送されてきた入力情報、すなわち、利用者識別情報と暗証番号とに基づいて、認証可能かどうかを判定する（Ｓ２０４）。ＣＰＵ３０の認証処理部３０７は、転送されてきた利用者識別情報が、利用者対仮想装置対応テーブルＴ１内に格納されているか否かを判定する。認証処理部３０７は、利用者識別情報が、利用者対仮想装置対応テーブルＴ１内に格納されていない場合、認証できないと判定する。また、認証処理部３０７は、利用者識別情報が、利用者対仮想装置テーブルＴ１内に格納されている場合、転送されてきた暗証情報と、利用者対仮想装置テーブルＴ１の利用者識別情報に対応付けて記憶されている暗証番号とが一致するか否かを判定する。認証処理部３０７は、転送されてきた暗証情報と、利用者対仮想装置テーブルＴ１の利用者識別情報に対応付けて記憶されている暗証番号とが一致していない場合、認証できないと判定する。認証処理部３０７は、転送されてきた暗証情報と、利用者対仮想装置テーブルＴ１の利用者識別情報に対応付けて記憶されている暗証番号とが一致する場合、認証が成功したと判定する。【００６３】
認証処理部３０７は、認証できないと判定した場合（Ｓ２０４でＮＯ）、認証処理部３０７による認証処理を終了する。この場合、認証情報の再入力を予め許容した回数だけ認めるようにしてもよい。この場合には、認証できないと判定された回数が、予め許容した回数に達した場合に、認証処理部３０７の処理を終了する。なお、認証処理部３０７による認証処理は、暗証番号によるものには限られない。暗証番号に代わるものとしては、指紋、掌紋、虹彩、声紋、顔画像等の生体情報を用いる生体認証や、ＩＣカード、ＩＤカード等による認証等がある。また、これらの認証方式を組み合わせて使用するようにしてもよい。【００６４】
一方、ＣＰＵ３０の認証処理部３０７は、認証が可能であると判定した場合（Ｓ２０４でＹＥＳ）、受け付けた利用者識別情報に対応する仮想装置識別情報を、利用者対仮想装置対応テーブルＴ１から抽出する。認証処理部３０７は、利用者識別情報が入力された入力元の入力装置２の入力装置識別情報に基づいて、入力装置組分テーブルＴ２を検索し、当該入力装置識別情報に対応付けられている組分番号を特定する。認証処理部３０７は、特定された組分番号と同一の組分番号に対応付けて記憶されている他の入力装置２の入力装置識別情報を抽出する。認証処理部３０７は、入力元となる入力装置２の入力装置識別情報と、抽出した仮想装置識別情報とを対応付けて、入出力装置対仮想装置対応テーブルＴ３に記憶する。【００６５】
また、認証処理部３０７は、抽出された他の入力装置２の入力装置識別情報と、抽出した仮想装置識別情報とを対応付け（Ｓ２０５）、対応付けた識別情報を入出力装置対仮想装置対応テーブルＴ３に記憶する。ＣＰＵ３０の仮想装置管理部３０６は、抽出した仮想装置識別情報が示す仮想装置３０８−１、３０８−２、・・・３０８−ｎを起動する（Ｓ２０６）。ＣＰＵ３０の仮想装置管理部３０６は、入力元の入力装置２及び抽出された入力装置２から受け付けた入力情報を仮想装置３０８−１、３０８−２、・・・３０８−ｎに転送するように、転送テーブルを更新し（Ｓ２０７）、認証処理を終了する。【００６６】
以後、ＣＰＵ３０の仮想装置３０８−１、３０８−２、・・・３０８−ｎは、仮想装置３０８−１、３０８−２、・・・３０８−ｎとの対応付けが行われた入力装置２からの入力情報に基づいて、情報処理を実行する。以上、入出力管理装置としてのＣＰＵ３０が実行する処理の手順について説明した。【００６７】
次にＣＰＵ３０が実行する処理の手順を機能毎に説明する。先ずＣＰＵ３０が出力装置起動管理部３０２として機能する場合の処理手順について説明する。図１１は本発明の一実施例における出力装置起動管理部３０２が実行する処理の手順を示すフローチャートである。【００６８】
ＣＰＵ３０の出力装置起動管理部３０２は、出力装置１が出力インタフェース３８に接続される都度、接続されている出力装置１から出力装置識別情報を取得する（Ｓ３０１）。更に、各出力装置１の表示データを格納する全画面データ領域（図示せず）のうち、新たに取得した出力装置１に対応付けられる全画面データ領域の座標を取得する（Ｓ３０２）。ＣＰＵ３０は、取得した出力装置１の全画面データ領域の座標を出力装置識別情報に対応付けて補助記憶装置３４内に生成した一覧表（図示せず）に格納する。【００６９】
ＣＰＵ３０の出力装置起動管理部３０２は、一覧表に格納してある全画面データ領域の座標を指定する（Ｓ３０３）。ＣＰＵ３０の出力装置起動管理部３０２は、一覧表に出力装置識別情報が格納してある出力装置１のいずれか１つを指定し、指定した出力装置１の状態を取得する（Ｓ３０４）。更に、指定した出力装置１が起動されているか否かを判定する（Ｓ３０５）。ＣＰＵ３０の出力装置起動管理部３０２は、出力装置１が起動されていないと判定した場合（Ｓ３０５でＮＯ）、一覧表に出力装置識別情報が格納してある他の出力装置１が存在するか否かを判定する（Ｓ３０６）。ＣＰＵ３０の出力装置起動管理部３０２は、一覧表に出力装置識別情報が格納してある他の出力装置１が存在すると判定した場合（Ｓ３０６でＹＥＳ）、ステップＳ３０４に戻り、一覧表に格納してある次の出力装置１が起動されているか否かを判定する。【００７０】
一方、ＣＰＵ３０の出力装置起動管理部３０２は、一覧表に識別情報が格納してある他の出力装置１が存在していないと判定した場合（Ｓ３０６でＮＯ）、一覧表に識別情報が格納してある最初の出力装置１に戻り（Ｓ３０７）、ステップＳ３０４に戻り、一覧表に格納されている最初の出力装置１が起動されているか否かを判定する。【００７１】
一方、ＣＰＵ３０の出力装置起動管理部３０２は、指定された出力装置１が起動されていると判定した場合（Ｓ３０５でＹＥＳ）、指定された出力装置１の出力装置識別情報を待ち判定部３０３へ通知する（Ｓ３０８）。待ち判定部３０３は、待ち判定処理を実行する（Ｓ３０９）。ＣＰＵ３０は、ステップＳ３０４に戻り、一覧表に格納してある次の出力装置１が起動されているか否かを判定する。【００７２】
次に、ステップＳ３０９で実行する待ち判定処理について説明する。図１２は待ち判定処理の手順を示すフローチャートである。【００７３】
ＣＰＵ３０の待ち判定部３０３は、応答入力要求処理部３０１において、他の出力装置１と入力装置２との対応付けを行っているか否かを示す応答入力要求処理部判定変数が「真」であるか否かを判定する（Ｓ４０１）。ＣＰＵ３０の待ち判定部３０３は、応答入力要求処理部判定変数が「真」でないと判定した場合（Ｓ４０１でＮＯ）、応答入力要求処理部３０１へ、新たに起動したと判定された出力装置１の出力装置識別情報と当該出力装置１の全画面データ領域の座標とを通知する（Ｓ４０２）。ＣＰＵ３０は、次回処理実行の要求を受け付けるまで待機する。【００７４】
一方、ＣＰＵ３０の待ち判定部３０３は、応答入力要求処理部判定変数が「真」であると判定した場合（Ｓ４０１でＹＥＳ）、応答入力要求中の出力装置１が存在していると判断し、待ち処理部３０５へ、新たに起動したと判定された出力装置１の出力装置識別情報と当該出力装置１の全画面データ領域の座標とを通知する。待ち処理部３０５は、待ち判定部３０３から通知されてきた新たに起動したと判定された出力装置１の出力装置識別情報と当該出力装置１の全画面データ領域の座標とに基づいて、新たに起動したと判定された出力装置１に待ち画面を表示させる（Ｓ４０３）。【００７５】
ＣＰＵ３０の待ち判定部３０３は、待ち画面を表示させた出力装置１の出力装置識別情報を他の出力装置１での処理の完了待ちとして待ち保存部３０４へ保存する（Ｓ４０４）。ＣＰＵ３０は、次回処理実行の要求を受け付けるまで待機する。【００７６】
次に、ＣＰＵ３０が応答入力要求処理として機能する場合の処理手順について説明する。図１３は本発明の一実施例における入力情報処理部３００及び応答入力要求処理部３０１が実行する処理の手順を示すフローチャートである。【００７７】
ＣＰＵ３０の応答入力要求処理部３０１は、待ち判定部３０３から通知された、新たに起動したと判定された出力装置１の出力装置識別情報と当該出力装置１の全画面データ領域の座標とを受け付けると、応答入力要求処理部判定変数の値を「真」とする（Ｓ５０１）。ＣＰＵ３０の応答入力要求処理部３０１は、待ち判定部３０３から通知された出力装置１に、応答入力要求画面を表示させる。応答入力要求処理部３０１は、例えば、待ち判定部３０３より通知されてきた出力装置１の全画面データ領域の座標から、中心座標を求め、求めた中心座標に基づいて応答入力要求画面を、出力装置１に表示させる（Ｓ５０２）。【００７８】
ＣＰＵ３０の応答入力要求処理部３０１は、入力インタフェース３６に接続されている入力装置２から受け付けた入力情報を応答入力要求処理部３０１に転送するように、転送テーブルを更新する（Ｓ５０３）。応答入力要求処理部３０１は、入力装置２からの入力情報を待つ（Ｓ５０４）。ＣＰＵ３０の入力情報処理部３００は、いずれかの入力装置２から入力情報を受け付け（Ｓ５０５）、転送テーブルの内容に従って、受け付けた入力装置２からの入力情報を応答入力要求処理部３０１へ転送する。応答入力要求処理部３０１は、入力情報に含まれている応答入力操作を行った入力装置２の入力装置識別情報に基づいて、入力装置組分テーブルＴ２を検索し、入力装置２の入力装置識別情報に対応する組分番号を特定する。【００７９】
さらに、応答入力要求処理部３０１は、特定した組分番号に基づいて、同じ組分け番号に対応付けて記憶されている他の入力装置２の入力装置識別情報を取得する（Ｓ５０６）。ここで図８に基づいて、入力装置識別情報の取得を具体的に説明する。応答入力要求処理部３０１は、応答入力が行われた入力装置２の入力装置識別情報“０ｘ１０００−０００２”に基づいて、入力装置組分テーブルＴ２を検索し、組分番号“Ｇｒｏｕｐ０”を特定する。さらに、応答入力要求処理部３０１は、特定された組分番号“Ｇｒｏｕｐ０”に対応付けられている他の入力装置２の入力装置識別情報“０ｘ１０００−０００１”を取得する。【００８０】
ＣＰＵ３０の応答入力要求処理部３０１は、入力情報に含まれている入力装置２の入力装置識別情報および取得した入力装置２の入力装置識別情報と、応答入力要求画面を表示させてある出力装置１の出力装置識別情報とを対応付け（Ｓ５０７）、それぞれ入出力装置対仮想装置対応テーブルＴ３に格納する。【００８１】
ＣＰＵ３０の応答入力要求処理部３０１は、入力情報処理部３００へ、入力装置２の入力装置識別情報と出力装置１の出力装置識別情報と共に、入力装置２と出力装置１との対応付けが完了したことを通知する（Ｓ５０８）。入力情報処理部３００は、対応付けが完了した入力装置２から受け付けた入力情報を認証処理部３０７に転送するように、転送テーブルを更新する（Ｓ５０９）。また、入力情報処理部３００は、認証処理部３０７へ、認証処理の対象となる入力装置２の入力装置識別情報及び出力装置１の出力装置識別情報を通知する。ＣＰＵ３０の応答入力要求処理部３０１は、応答入力要求処理部判定変数を「偽」とし（Ｓ５１０）、処理を終了する。【００８２】
次に、ＣＰＵ３０が認証処理部３０７として機能する場合の処理の手順について説明する。図１４は本発明の一実施例における認証処理部３０７が実行する処理の手順を示すフローチャートである。【００８３】
ＣＰＵ３０の認証処理部３０７は、入力情報処理部３００から通知された出力装置１が有する全画面データ領域の座標を取得する（Ｓ６０１）。ＣＰＵ３０の認証処理部３０７は、取得した全画面座標に基づいて出力装置１の画面の中央部を決定し、認証画面を出力装置１の画面中央に表示させる（Ｓ６０２）。ＣＰＵ３０の認証処理部３０７は、利用者からの認証情報の入力を待ち（Ｓ６０３）、入力装置２から入力情報を受け付けたとき、受け付けた入力情報に基づいて利用者の認証を行う。利用者の認証は、前述の通りである。ＣＰＵ３０の認証処理部３０７は、利用者の認証が成功したか否かを判定する（Ｓ６０４）。ＣＰＵ３０の認証処理部３０７は、利用者の認証が成功していないと判定した場合（Ｓ６０４でＮＯ）、ステップＳ６０３に戻り、次の認証情報を受け付けるまで認証情報の入力を待つ。【００８４】
一方、ＣＰＵ３０の認証処理部３０７は、利用者の認証が成功したと判定した場合（Ｓ６０４でＹＥＳ）、認証した利用者識別情報に対応する仮想装置識別情報を利用者対仮想装置対応テーブルＴ１から取得する（Ｓ６０５）。ＣＰＵ３０の認証処理部３０７は、入力元となる入力装置２の入力装置識別情報と、取得した仮想装置識別情報とを対応付け、入出力装置対仮想装置対応テーブルＴ３に格納する。また、認証処理部３０７は、入力元となる入力装置２の入力装置識別情報に基づいて、組分テーブルを検索し、入力元となる入力装置２の入力識別情報に対応付けられている組分番号を特定する。認証処理部３０７は、特定した組分番号に対応付けられている他の入力装置２の入力装置識別情報を取得し、取得した他の入力装置２の入力装置識別情報と、取得した仮想装置識別情報とを対応付け（Ｓ６０６）、対応付けた識別情報を入出力装置対仮想装置対応テーブルＴ３に格納する。【００８５】
ＣＰＵ３０の認証処理部３０７は、仮想装置管理部３０６へ、取得した仮想装置識別情報に対応する仮想装置の起動を依頼する（Ｓ６０７）。認証処理部３０７は、入力元となる入力装置２及び取得した他の入力装置２から受け付けた入力情報を仮想装置に転送するように、転送テーブルを更新し（Ｓ６０８）、処理を終了する。【００８６】
次にＣＰＵ３０が入力情報処理部３００として機能する場合の処理の手順について説明する。図１５は本発明の一実施例における入力情報処理部３００が実行する処理の手順を示すフローチャートである。【００８７】
ＣＰＵ３０の入力情報処理部３００は、応答入力要求処理部３０１から通知された出力装置１の全画面データ領域の座標に基づいて、透明表示層を出力装置１の表示面に重畳して表示する（Ｓ７０１）。ここで、透明表示層とは、入力装置２の入力装置識別情報を取得可能とするためのインタフェースを示す。なお、透明表示層は、Ｗｉｎｄｏｗｓ（登録商標）等、入力装置２の入力装置識別情報がアプリケーションに通知されないＯＳ（Operating System）が用いられている場合に使用され、Ｌｉｎｕｘ等の入力装置２の入力装置識別情報がアプリケーションに通知されるＯＳの場合には使用しなくてもよい。【００８８】
ＣＰＵ３０の入力情報処理部３００は、入力インタフェース３６に接続されているマウスを検出し（Ｓ７０２）、検出したマウス毎に操作追従矢印Ｐを生成する（Ｓ７０３）。ここで操作追従矢印Ｐとは、マウスの移動に追従して画面上の入力位置を示すものであり、例えば、マウスカーソルが該当する。生成された全ての操作追従矢印Ｐは、入出力装置の対応付けが終了するまで、応答入力要求中の出力装置１に表示される。なお、操作追従矢印Ｐの生成及び出力装置１への表示は、入力情報処理部３００ではなく、ＣＰＵ３０上で動作するＯＳ等の制御プログラム（図示せず）で行ってもよい。【００８９】
ＣＰＵ３０の入力情報処理部３００は、入力装置２から入力情報を受け付け（Ｓ７０４）、マウス操作に追従する操作追従矢印Ｐの移動範囲を検出する（Ｓ７０５）。ＣＰＵ３０の入力情報処理部３００は、転送テーブルに設定された転送先の各処理部へ、入力情報を転送し（Ｓ７０６）、処理を終了する。【００９０】
次に、ＣＰＵ３０が待ち判定部３０３の一機能である待ち解除処理として機能する場合の処理の手順について説明する。図１６は本発明の一実施例における待ち判定部３０３が実行する待ち解除処理の手順を示すフローチャートである。【００９１】
ＣＰＵ３０の待ち判定部３０３は、待ち保存部３０４に、他の出力装置１での処理の完了待ちとして出力装置１の出力装置識別情報が保存されている場合であって、応答入力要求中の出力装置１に入力情報が入力されるとき、他の出力装置１での処理の完了待ちとして最初に保存した出力装置１の出力装置識別情報、即ち待ち保存部３０４に保存されている出力装置１の出力装置識別情報のうち、先頭に保存されている出力装置１の出力装置識別情報を取得する（Ｓ８０１）。ＣＰＵ３０の待ち判定部３０３は、他の出力装置１での処理の完了待ちとして保存されている出力装置識別情報が存在しているか否かを判定し（Ｓ８０２）、出力装置識別情報が存在していないと判定した場合（Ｓ８０２でＮＯ）、待ち解除処理を終了する。【００９２】
一方、ＣＰＵ３０の待ち判定部３０３は、出力装置識別情報が存在していると判定した場合（Ｓ８０２でＹＥＳ）、他の出力装置１での処理の完了待ちの出力装置１に表示させてある待ち画面の表示を終了する（Ｓ８０３）。ＣＰＵ３０の待ち判定部３０３は、応答入力要求処理部３０１へ、出力装置１の出力装置識別情報を通知し、入力装置２からの入力情報が応答入力要求処理部３０１へ転送されるように、転送テーブルの設定を更新する（Ｓ８０４）。利用者が入力装置２からの応答を同時に行うことが別の手段にて回避可能な場合、待ち判定部３０３、待ち保存部３０４、待ち処理部３０５は不要である。この場合、応答入力要求処理部３０１は、新たに出力装置１が起動されたことを検知しても、待ち判定部３０３へ、他の出力装置１で応答入力要求処理中であるか否かを問い合わせることなく、検知した出力装置１に対して応答入力要求画面を表示する。その後の処理は、前述した応答入力要求処理部３０１等の説明と同様になる。【００９３】
上述の通り、出力装置が起動されたことを検知した際に、当該出力装置に応答入力要求画面を表示し、その応答入力要求画面の指示に従って応答入力が行われたことに応じて、出力装置と入力装置との対応付けを行うことにより、対応付けのための特殊キーを設定することもなく、利用者に対して指示に従った操作を行わせるのみで、出力装置と入力装置との対応付けを行うことを可能とする。また、複数の利用者が同時に応答してきた場合にも排他的に応答入力要求処理を行うようにすることで、利用者が使用しようとしている入力装置２と出力装置１との対応付けを適切に行うことが可能となる。【００９４】
実施の形態２．
上述した実施の形態１では、出力装置と入力装置との対応付けを、１台の出力装置毎に順次行う形態を例示した。実施の形態２では、出力装置１に応答入力要求画面が表示された後、応答入力要求画面に対する入力情報の未入力状態が所定時間を超えた場合、当該出力装置の処理完了待ちとなっている出力装置１の待ち状態を無条件に解除する。この場合、他の出力装置での処理の完了待ちの出力装置１には応答入力要求画面を表示させ、応答入力要求中の出力装置１には待ち画面を表示させる。実施の形態２では、かかる実施例について説明する。【００９５】
図１７は本発明の一実施例における入出力管理装置の構成を示すブロック図である。実施の形態２における入出力管理装置は、計時機能付待ち判定部３０３ａは、実施の形態１の待ち判定部３０３の機能に加え、計時機能を有する。実施の形態２における計時機能付待ち判定部３０３ａについて説明する。尚、計時機能付待ち判定部３０３ａ以外については、実施の形態１と同様の構成を有するので対応箇所に同一の符号を付してその説明を省略する。【００９６】
計時機能付待ち判定部３０３ａは、出力装置起動管理部３０２から要求を受け付けた場合、応答入力要求中の出力装置１が存在するか否かを判定する。計時機能付待ち判定部３０３ａは、応答入力要求中の出力装置１が存在すると判定した場合、待ち画面の表示を待ち処理部３０５に要求する。【００９７】
一方、計時機能付待ち判定部３０３ａは、応答入力要求中の出力装置１が存在していないと判定した場合、応答入力要求画面の表示を応答入力要求処理部３０１に要求する。計時機能付待ち判定部３０３ａは、応答入力要求処理部３０１が応答入力要求画面を表示させてから入力情報を受け付けるまでの待機時間を計時する。計時機能付待ち判定部３０３ａは、待機時間が所定時間に達したと判定した場合、応答入力要求中の出力装置１に表示させてある応答入力要求画面の表示を終了させ、代わりに待ち画面を表示させる。また、計時機能付待ち判定部３０３ａは、他の出力装置１での処理の完了待ちの出力装置１に表示させてある待ち画面の表示を終了させ、応答入力要求画面の表示を応答入力要求処理部３０１へ要求する。尚、所定時間は、管理者により予め設定されて、例えば、その設定データが補助記憶装置３４に格納されている。【００９８】
図１８は実施の形態２における待ち判定処理の手順を示すフローチャートである。ＣＰＵ３０の計時機能付待ち判定部３０３ａは、応答入力要求処理部３０１が処理中であることを示す応答入力要求処理部判定変数が「真」であるか否かを判定する（Ｓ９０１）。ＣＰＵ３０の計時機能付待ち判定部３０３ａは、応答入力要求処理部判定変数が「真」でないと判定した場合（Ｓ９０１でＮＯ）、待機時間の計時を開始する（Ｓ９０２）。計時機能付待ち判定部３０３ａは、応答入力要求処理部３０１へ、出力装置１の出力装置識別情報を通知し（Ｓ９０３）、次回処理実行の要求を受け付けるまで待機する。【００９９】
一方、ＣＰＵ３０の計時機能付待ち判定部３０３ａは、応答入力要求処理部判定変数が「真」であると判定した場合（Ｓ９０１でＹＥＳ）、応答入力要求中の出力装置１が存在すると判断し、待ち処理部３０５に出力装置１に対して待ち画面を表示するよう指示する（Ｓ９０４）。【０１００】
ＣＰＵ３０の計時機能付待ち判定部３０３ａは、待ち画面を表示させた出力装置１の出力装置識別情報を他の出力装置１での処理の完了待ち出力装置１として待ち保存部３０４へ保存し（Ｓ９０５）、次回処理実行の要求を受け付けるまで待機する。【０１０１】
図１９は実施の形態２における計時機能付待ち判定部３０３ａが実行する待ち解除処理の手順を示すフローチャートである。ＣＰＵ３０の計時機能付待ち判定部３０３ａは、計時する待機時間が所定時間を超えるか否かを判定する（Ｓ１００１）。計時機能付待ち判定部３０３ａは、待機時間が所定時間以下であると判定した場合（Ｓ１００１でＮＯ）、ステップＳ１００１に戻り、処理を繰り返す。【０１０２】
一方、ＣＰＵ３０の計時機能付待ち判定部３０３ａは、待機時間が所定時間を超えたと判定した場合（Ｓ１００１でＹＥＳ）、待ち保存部３０４に他の出力装置１での処理の完了待ちである出力装置１の出力装置識別情報が保存されているか否かを判定する（Ｓ１００２）。計時機能付待ち判定部３０３ａは、待ち保存部３０４に他の出力装置１での処理の完了待ちである出力装置１の出力装置識別情報が保存されていないと判定した場合（Ｓ１００２でＮＯ）、計時を初期化し（Ｓ１００３）、ステップＳ１００１に戻り、処理を繰り返す。【０１０３】
一方、計時機能付待ち判定部３０３ａは、待ち保存部３０４に他の出力装置１での処理の完了待ちである出力装置１の出力装置識別情報が保存されていると判定した場合（Ｓ１００２でＹＥＳ）、入力情報を応答入力要求処理部３０１へ転送しないように、転送テーブルの設定を更新し（Ｓ１００４）、応答入力要求中の出力装置１に表示させてある応答入力要求画面の表示を終了させ、代わりに待ち処理部３０５に待ち画面を表示させる（Ｓ１００５）。ＣＰＵ３０の計時機能付待ち判定部３０３ａは、所定時間内に応答してこなかった出力装置１の出力装置識別情報を他の出力装置１での処理の完了待ちとして待ち保存部３０４に保存する（Ｓ１００６）。【０１０４】
ＣＰＵ３０の計時機能付待ち判定部３０３ａは、他の出力装置１での処理の完了待ちとして最初に保存した出力装置１の出力装置識別情報、即ち他の出力装置１での処理の完了待ちの出力装置１として保存されている出力装置１のうち先頭に保存されている出力装置１の出力装置識別情報を待ち保存部３０４から取得する（Ｓ１００７）。ＣＰＵ３０の計時機能付待ち判定部３０３ａは、他の出力装置１での処理の完了待ちの出力装置１に表示させてある待ち画面の表示を終了する（Ｓ１００８）。ＣＰＵ３０の計時機能付待ち判定部３０３ａは、応答入力要求処理部３０１へ、新たに取得した出力装置１の出力装置識別情報を通知する（Ｓ１００９）。応答入力要求処理部３０１は、応答入力要求画面を他の出力装置１での処理の完了待ちの出力装置１に表示させ、待ち解除処理を終了する。【０１０５】
このように、実施の形態２における入出力管理装置は、上述した構成を有することにより、上述した実施の形態１の作用を奏すると共に、応答情報の未入力状態が所定時間を超えた場合、他の出力装置１での処理の完了待ちの出力装置１の待ちを無条件に解除して入出力管理を円滑に実行することができる。以上、実施の形態２について説明した。【０１０６】
実施の形態３．
上述した実施の形態１及び２では、各入力装置２が対応付けるべき出力装置１の近傍で操作されることを前提とし、入力情報を入力するためのＯＫボタンの表示位置が固定されている一例を説明した。実施の形態３では、例えば、応答入力要求画面を視認することができない利用者が、ＯＫボタンの位置を覚えて入力装置２を操作することにより、出力装置１に表示されたＯＫボタンの表示位置と、出力装置１の近傍にない入力装置２で操作された操作追従矢印Ｐの位置とが一致し、想定外の入出力装置の対応付けが行われることを防止する例について説明する。【０１０７】
図２０は本発明の一実施例における入出力管理装置の構成を示すブロック図である。実施の形態３における入出力管理装置は、ＯＫボタンの表示位置を無作為に決定する無作為表示機能付応答入力要求処理部３０１ａを有することが、実施の形態１及び２とは異なる。そこで、実施の形態３における無作為表示機能付応答入力要求処理部３０１ａについて説明する。尚、無作為表示機能付応答入力要求処理部３０１ａ以外については、実施の形態１又は２と同様の構成を有するので対応箇所に同一の符号を付してその説明を省略する。【０１０８】
無作為表示機能付応答入力要求処理部３０１ａは、待ち判定部３０３から応答入力要求画面の表示要求を受け付けた場合、補助記憶装置３４内のフォルダに予め格納してある乱数に基づいて応答入力要求画面内のＯＫボタンの表示位置を無作為に決定する。無作為表示機能付応答入力要求処理部３０１ａは、決定したＯＫボタンの表示位置の座標を記録しておく。無作為表示機能付応答入力要求処理部３０１ａは、新たに起動した出力装置１に応答入力要求画面を表示させる。【０１０９】
無作為表示機能付応答入力要求処理部３０１ａは、入力情報処理部３００から転送された入力情報を受け付けた場合、入力情報に含まれる座標情報と記録しておいたＯＫボタンの表示位置の座標とを比較し、入力情報に含まれる座標情報が、記録しておいたＯＫボタンの表示位置の座標の範囲内であるかを判定する。無作為表示機能付応答入力要求処理部３０１ａは、入力情報に含まれる座標情報が、記録しておいたＯＫボタンの表示位置の座標の範囲内ではないと判定した場合には、正しい応答情報ではないとして、次の入力情報を受け付けるまで待機する。この場合、無作為表示機能付応答入力要求処理部３０１ａは、正しい応答情報が入力されてこない回数をカウントしておき、所定回数を超えた場合には、対応付けが失敗したものとして処理してもよい。【０１１０】
一方、無作為表示機能付応答入力要求処理部３０１ａは、入力情報に含まれる座標情報が、記録しておいたＯＫボタンの表示位置の座標の範囲内であると判定した場合には、入力情報が適切な応答情報であると判断し、入力情報の入力があった入力装置２の入力装置識別情報と、応答入力要求中の出力装置１の出力装置識別情報とを対応付け、対応結果を入出力装置対仮想装置対応テーブルＴ３に格納する。【０１１１】
さらに、無作為表示機能付応答入力要求処理部３０１ａは、入力情報の入力があった入力装置２の入力装置識別情報に基づいて、入力装置組分テーブルＴ２を検索し、入力情報の入力があった入力装置２の入力装置識別情報に対応付けられている組分番号を特定し、特定された組分番号に対応付けられている他の入力装置２が存在するか否かを確認する。無作為表示機能付応答入力要求処理部３０１ａは、他の入力装置２が存在することを確認すると、特定された組分番号に対応付けて記憶されている他の入力装置２の入力装置識別情報と、応答入力要求中の出力装置１の出力装置識別情報とを対応付けて入出力装置対仮想装置対応テーブルＴ３に格納する。【０１１２】
このように、実施の形態３における入出力管理装置は、上述した構成を有することにより、実施の形態１又は２の作用を奏すると共に、応答入力要求画面を視認することができない利用者がＯＫボタンの表示位置を暗記できないようにでき、出力装置１に表示されたＯＫボタンの表示位置と、出力装置１の近傍にない入力装置２で操作された操作追従矢印Ｐの位置とが一致して想定外の入出力装置の対応付けが行われる事態を抑止することができる。以上、実施の形態３について説明した。【０１１３】
実施の形態４．
上述した実施の形態１及び２では、各入力装置２が対応付けるべき出力装置１の近傍で操作されることを前提とし、応答情報を入力するためのＯＫボタンの表示位置が固定されている一例を説明した。また、実施の形態３では、各入力装置２が対応付けるべき出力装置１の近傍にはないことを想定し、ＯＫボタンの表示位置を無作為に決定する一例を説明した。そこで、実施の形態４では、例えば、応答入力要求画面を視認することができない利用者が入力装置２を多数に操作することにより、出力装置１に表示されたＯＫボタンの表示位置と、出力装置１の近傍にない入力装置２で操作された操作追従矢印Ｐの位置とが偶然にも一致し、想定外の入出力装置の対応付けが行われることを防止するため、ＯＫボタンを押下していない、即ち、応答情報以外の入力情報の入力が所定回数を超えた場合、該当する入力装置２から出力された入力情報を無効とする例について説明する。【０１１４】
図２１は本発明の一実施例における入出力管理装置の構成を示すブロック図である。実施の形態４における入出力管理装置は、入力情報処理部３００が受け付けた入力情報を無効化する無効化機能付入力情報処理部３００ａであることと、応答入力要求処理部３０１が入力無効判定機能付応答入力要求処理部３０１ｂであることが実施の形態１乃至３と異なる。そこで、実施の形態４における無効化機能付入力情報処理部３００ａ及び入力無効判定機能付応答入力要求処理部３０１ｂについて説明する。尚、無効化機能付入力情報処理部３００ａ及び入力無効判定機能付応答入力要求処理部３０１ｂ以外については、実施の形態１乃至３にいずれかと同様の構成を有するので対応箇所に同一の符号を付してその説明を省略する。【０１１５】
無効化機能付入力情報処理部３００ａは、入力装置制御部３７を介して入力情報を受け付ける。無効化機能付入力情報処理部３００ａは、転送テーブルの設定内容に従って、受け付けた入力情報をＣＰＵ３０の各部へ転送する。無効化機能付入力情報処理部３００ａは、入力無効判定機能付応答入力要求処理部３０１ｂから無効化要求を受け付けた場合、対象となる入力装置２から出力された入力情報を無効化してＣＰＵ３０の各部への転送を停止する。【０１１６】
入力無効判定機能付応答入力要求処理部３０１ｂは、無効化機能付入力情報処理部３００ａから転送された入力情報を受け付けた場合、受け付けた入力情報が応答情報であるか否かを判定する。その結果、入力無効判定機能付応答入力要求処理部３０１ｂは、入力情報が応答情報であると判定した場合、応答情報の入力があった入力装置２の入力装置識別情報と、応答入力要求中の出力装置１の出力装置識別情報とを対応付け、対応結果を入出力装置対仮想装置対応テーブルＴ３に格納する。さらに、入力無効判定機能付応答入力要求処理部３０１ｂは、入力情報の入力があった入力装置２の入力装置識別情報に基づいて、入力装置組分テーブルＴ２を検索し、入力情報の入力があった入力装置２の入力装置識別情報に対応付けられている組分番号を特定し、特定された組分番号に対応付けられている他の入力装置２が存在するか否かを確認する。入力無効判定機能付応答入力要求処理部３０１ｂは、他の入力装置２が存在することを確認すると、特定された組分番号に対応付けて記憶されている他の入力装置２の入力装置識別情報と、応答入力要求中の出力装置１の出力装置識別情報とを対応付けて入出力装置対仮想装置対応テーブルＴ３に格納する。【０１１７】
一方、入力無効判定機能付応答入力要求処理部３０１ｂは、入力情報が応答情報でないと判定した場合、入力元の入力装置２毎に管理してある入力回数を増やす。入力無効判定機能付応答入力要求処理部３０１ｂは、増加後の入力回数が所定回数に達したと判定した場合、入力元の入力装置２からの入力情報を無効化する要求を、無効化機能付入力情報処理部３００ａへ出力する。尚、所定回数は、例えば、管理者により予め設定されてそのデータが補助記憶装置３４に格納されている。【０１１８】
実施の形態４における入力無効判定機能付応答入力要求処理部３０１ｂの処理は、図１３において説明した応答入力要求処理部３０１の処理内容のうち、ステップＳ５０５（図１３参照）にて入力装置２から入力情報を受け付けた後、ステップＳ５０６の処理を行う前に、入力情報の無効判定を行う点で、実施の形態１乃至３とは異なる。そこで、実施の形態４におけるＣＰＵ３０が実行する無効化判定の処理について説明する。尚、その他の処理は、実施の形態１乃至３と同様であるので対応するステップには同一番号を付してその説明を省略する。【０１１９】
入力無効判定機能付応答入力要求処理部３０１ｂは、図１３のＳ５０１からＳ５０５までの処理について、応答入力要求処理部３０１と同様の処理を行う。そして、ＣＰＵ３０の入力無効判定機能付応答入力要求処理部３０１ｂは、更に以下の処理を実行する。図２２は本発明の一実施例における入力無効判定機能付応答入力要求処理部３０１ｂが実行する処理の手順を示すフローチャートである。【０１２０】
ＣＰＵ３０の入力無効判定機能付応答入力要求処理部３０１ｂは、無効化機能付入力情報処理部３００ａから転送された入力情報を受け付け（Ｓ１１０１）、受け付けた入力情報が応答情報であるか否かを判定する（Ｓ１１０２）。その結果、ＣＰＵ３０の入力無効判定機能付応答入力要求処理部３０１ｂは、受け付けた入力情報が応答情報であると判定した場合（Ｓ１１０２でＹＥＳ）、ステップＳ５０６（図１３参照）に進み、入力装置２と出力装置１との対応付けの処理を行う。【０１２１】
一方、ＣＰＵ３０の入力無効判定機能付応答入力要求処理部３０１ｂは、受け付けた入力情報が応答情報でないと判定した場合（Ｓ１１０２でＮＯ）、入力元となる入力装置２から入力装置識別情報を取得し、入力装置識別情報毎に管理している入力元の回数変数を１つ増やす（Ｓ１１０３）。ＣＰＵ３０の入力無効判定機能付応答入力要求処理部３０１ｂは、増加後の回数変数が所定回数を超えるか否かを判定し（Ｓ１１０４）、回数変数が所定回数以下であると判定した場合（Ｓ１１０４でＮＯ）、ステップＳ１１０１に戻り、処理を繰り返す。なお、ここでＳ１１０１へ戻らずに、入力無効判定機能付応答入力要求処理部３０１ｂの処理を一旦終了するようにしてもよい。この場合、応答が認識できない旨を通知する画面を、出力装置１に表示するようにしてもよい。また、更に、その際に、出力装置１の再起動を要求するようにしてもよい。別の形態としては、再起動を要求せず、待ち判定部３０３に対して、当該出力装置１を待ち処理の対象として処理してくれるように依頼し、一旦、待ち画面を表示させた後に、再度、応答入力要求画面を表示して、入力装置２と出力装置１との対応付けの処理を再開するようにしてもよい。【０１２２】
一方、ＣＰＵ３０の入力無効判定機能付応答入力要求処理部３０１ｂは、回数変数が所定回数を超えると判定した場合（Ｓ１１０４でＹＥＳ）、入力元となる入力装置から出力された入力情報の無効化を無効化機能付入力情報処理部３００ａに要求する（Ｓ１１０５）。ＣＰＵ３０の入力無効判定機能付応答入力要求処理部３０１ｂは、ステップＳ１１０１に戻り、処理を繰り返す。【０１２３】
このように、実施の形態４における入出力管理装置は、上述した構成を有することにより、実施の形態１乃至３の作用を奏すると共に、応答入力要求画面を視認することができない利用者が入力装置２を多数に操作できないようにでき、出力装置１に表示されたＯＫボタンの表示位置と、出力装置１の近傍にない入力装置２で操作された操作追従矢印Ｐの位置とが偶然にも一致して想定外の入出力装置の対応付けが行われる事態を抑止することができる。以上、実施の形態４について説明した。【０１２４】
また、上述した実施の形態において、出力装置制御部３９が一枚のグラフィックカードであって複数の入力装置２の表示を個別に制御する一例を説明した。しかし、本発明は、これに限定されるものでなく、例えば、複数枚のグラフィックカードであって各カードが各入力装置２の表示を個別に制御してもよい。【０１２５】
また、上述した実施の形態において、入出力装置対仮想装置対応テーブルＴ３が情報処理装置３への給電が停止した場合であってもデータベースＤＢ１内に格納されている一例を説明した。しかし、本発明は、これに限定されるものでなく、例えば、情報処理装置３への給電が停止した後、入出力装置対仮想装置対応テーブルＴ３をデータベースＤＢ１から削除してもよい。この場合、次回起動した情報処理装置３は、改めて対応付けを行う。
【図１】
2010050054.tif 000003
【図２】
2010050054.tif 000004
【図３】
2010050054.tif 000005
【図４】
2010050054.tif 000006
【図５】
2010050054.tif 000007
【図６】
2010050054.tif 000008
【図７】
2010050054.tif 000009
【図８】
2010050054.tif 000010
【図９】
2010050054.tif 000011
【図１０】
2010050054.tif 000012
【図１１】
2010050054.tif 000013
【図１２】
2010050054.tif 000014
【図１３】
2010050054.tif 000015
【図１４】
2010050054.tif 000016
【図１５】
2010050054.tif 000017
【図１６】
2010050054.tif 000018
【図１７】
2010050054.tif 000019
【図１８】
2010050054.tif 000020
【図１９】
2010050054.tif 000021
【図２０】
2010050054.tif 000022
【図２１】
2010050054.tif 000023
【図２２】
2010050054.tif 000024
【手続補正書】
【提出日】平成23年3月30日(2011.3.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力装置及び出力装置が接続され、前記入力装置から受付けた入力情報に対する処理の結果を前記出力装置に出力させる入出力管理装置において、
入力装置を複数接続する第１接続手段と、
出力装置を複数接続する第２接続手段と、
該第２接続手段に接続された出力装置が起動していることを検出する検出手段と、
前記検出された出力装置に対して、入力装置による応答を要求する応答入力要求画面を表示させる表示制御手段と、
前記応答入力要求画面に対して、第１接続手段に接続された入力装置が応答したことに基づき、応答した入力装置と前記応答入力要求画面を表示させた出力装置とを対応付ける対応管理手段と
を備えることを特徴とする入出力管理装置。
【請求項２】
前記表示制御手段は、前記検出手段が検出した出力装置に表示内容の異なる応答入力要求画面を表示させるようにしてあることを特徴とする請求項１に記載の入出力管理装置。
【請求項３】
前記第１接続手段に接続された入力装置毎に、前記応答入力要求画面に対する応答以外の入力情報の入力回数を計数する計数手段と、
前記入力回数が所定数を超えた入力装置から受付けた入力情報を無効とする無効化手段と
を更に備えることを特徴とする請求項１または２に記載の入出力管理装置。
【請求項４】
前記表示制御手段は、
前記応答入力要求画面を一の出力装置に表示させている間に前記検出手段が一の出力装置と異なる他の出力装置が起動されたことを検出した場合、前記対応管理手段が一の出力装置を対応付けるまで、前記応答入力要求画面を前記他の出力装置に表示させないようにしてあることを特徴とする請求項１〜３のいずれかに記載の入出力管理装置。
【請求項５】
前記第１接続手段は、
接続された複数の入力装置を所定区分毎に組分ける組分手段
を備え、
前記対応管理手段は、前記応答要求情報が入力された入力装置が属する区分と同一区分内の入力装置と前記応答入力要求画面を表示させた出力装置とを対応付けるようにしてあることを特徴とする請求項１〜４のいずれかに記載の入出力管理装置。
【請求項６】
入力装置から受付けた複数の入力情報を処理する抽象化した複数の論理資源を備える情報処理装置において、
請求項１〜５のいずれかに記載の入出力管理装置と、
前記入力装置から受付けた入力情報を前記論理資源のいずれかに割当てる割当手段と、
割当てた論理資源による処理の結果を、前記入力情報が入力された入力装置と対応する出力装置に出力させる手段と
を備えることを特徴とする情報処理装置。
【請求項７】
コンピュータに接続された入力装置から受付けた入力情報に対する処理の結果を、接続された出力装置に出力させるコンピュータプログラムにおいて、
出力装置が起動していることを検出させるステップと、
前記検出された出力装置に入力装置による応答を要求する応答入力要求画面を表示させるステップと、
該応答入力要求画面に対して、入力装置が応答したことに基づき、応答した入力装置と前記応答入力要求画面を表示させた出力装置とを対応付けさせるステップと
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【国際調査報告】
2010050054.tif 000025
2010050054.tif 000026