(57)【要約】【課題】複数のディスプレイデバイスを用いて複数のソフトウエア・アプリケーションを操作する場合に、ユーザが入力したいアプリケーションとは異なるアプリケーションへの誤入力を防止する。【解決手段】複数の入力デバイスからの入力を対応するアプリケーションプログラムへと提供する装置であって、複数の入力デバイスのうちのいずれかの入力デバイスからアプリケーションプログラムに対する入力を受けたことに応じて、当該アプリケーションプログラムと当該入力デバイスとを対応付ける対応設定部と、一のアプリケーションプログラムに対する入力待ち状態においてユーザから受け付けた入力が、一のアプリケーションプログラムに対応付けられた一の入力デバイスから入力されたか否かを検出する検出部と、を備える装置、方法、およびプログラムを提供する。【選択図】図１
2014123311.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力デバイスからの入力を対応するアプリケーションプログラムへと提供する装置であって、
前記複数の入力デバイスのうちのいずれかの入力デバイスからアプリケーションプログラムに対する入力を受けたことに応じて、当該アプリケーションプログラムと当該入力デバイスとを対応付ける対応設定部と、
一のアプリケーションプログラムに対する入力待ち状態においてユーザから受け付けた入力が、一のアプリケーションプログラムに対応付けられた一の入力デバイスから入力されたか否かを検出する検出部と、
を備える装置。
【請求項２】
一のアプリケーションプログラムに対する入力待ち状態において他の入力デバイスからの入力を受け付けた場合に、前記一のアプリケーションプログラムに対して入力するか否かをユーザに確認する確認処理部を更に備える請求項１に記載の装置。
【請求項３】
前記確認処理部は、一のアプリケーションプログラムに対する入力待ち状態において他の入力デバイスからの入力を受け付けた場合に、一のアプリケーションプログラムおよび前記対応設定部により当該他の入力デバイスに対応付けられた他のアプリケーションプログラムのいずれに対して入力するかをユーザに確認する請求項２に記載の装置。
【請求項４】
一のアプリケーションプログラムに対する入力待ち状態において入力された他の入力デバイスからの入力を、当該他の入力デバイスに対して最後に対応付けられた他のアプリケーションプログラムへと提供する切替部を備える請求項２または３に記載の装置。
【請求項５】
前記切替部は、一のアプリケーションプログラムに対する入力待ち状態において入力された他の入力デバイスからの入力を、当該他の入力デバイス対して対応付けられた前記他のアプリケーションプログラムのうち、表示画面の少なくとも一部が表示装置上に表示されているアプリケーションプログラムの中で当該他の入力デバイスに対して最後に対応付けられた他のアプリケーションプログラムへと提供する請求項４に記載の装置。
【請求項６】
一のアプリケーションプログラムに対する入力待ち状態において受け付けた他の入力デバイスからの入力をバッファして、バッファした入力をユーザの確認後に入力対象となるアプリケーションプログラムへと提供するバッファ処理部を更に備える請求項２から５のいずれか一項に記載の装置。
【請求項７】
前記確認処理部は、ユーザに対する確認画面を表示してから予め定められた時間の経過後、ユーザによる確認を受け付ける請求項２から６のいずれか一項に記載の装置。
【請求項８】
前記複数の入力デバイスのそれぞれと、複数の表示装置のそれぞれとが対応付けられており、
前記対応設定部は、アプリケーションプログラムの表示画面の表示先が前記複数の表示装置のうちのいずれかの表示装置に移動されたことを条件として、当該アプリケーションプログラムを表示画面の表示先となった前記表示装置に対応付けられた前記入力デバイスに対応付ける
請求項１から７のいずれか一項に記載の装置。
【請求項９】
前記対応設定部は、アプリケーションプログラムの表示画面の表示先が前記複数の表示装置のうちのいずれかの表示装置に移動され、かつ当該アプリケーションプログラム以外の他のアプリケーションプログラムの入力待ち状態となったことを条件として、当該アプリケーションプログラムを前記表示画面の表示先となった前記表示装置に対応付られた入力デバイスに対応付ける請求項８に記載の装置。
【請求項１０】
前記対応設定部は、アプリケーションプログラムの表示画面の表示先が前記複数の表示装置のうちのいずれかの表示装置に移動され、かつ、画面上に表示されるポインタが、当該アプリケーションプログラムの前記表示画面外に移動されたことを条件として、当該アプリケーションプログラムを前記表示画面の表示先となった前記表示装置に対応付られた入力デバイスに対応付ける請求項８に記載の装置。
【請求項１１】
一のアプリケーションプログラムに対する入力待ち状態において、一のアプリケーションプログラムに対応付けられた一の入力デバイスが有する照明を点灯する請求項１から１０のいずれか一項に記載の装置。
【請求項１２】
コンピュータを、請求項１から１１のいずれか一項に記載の装置として機能させるプログラム。
【請求項１３】
複数の入力デバイスからの入力を対応するアプリケーションプログラムへと提供する方法であって、
前記複数の入力デバイスのうちのいずれかの入力デバイスからアプリケーションプログラムに対する入力を受けたことに応じて、当該アプリケーションプログラムと当該入力デバイスとを対応付ける対応設定段階と、
一のアプリケーションプログラムに対する入力待ち状態においてユーザから受け付けた入力が、一のアプリケーションプログラムに対応付けられた一の入力デバイスから入力されたか否かを検出する検出段階と、
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力デバイスからの入力を対応するアプリケーションプログラムへと提供する装置、方法、プログラムに関する。
【背景技術】
【０００２】
従来、一つのコンピュータシステムに二つのディスプレイデバイスを接続して、それぞれのディスプレイデバイスに複数のソフトウエア・アプリケーションの操作画面を表示させる場合に、誤操作を防止させる目的で、操作画面が切り替わった段階で切り替わった状態を報知することが知られていた（例えば、特許文献１参照）。
特許文献１  特開２００４−５２１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、ユーザが更に二つの入力デバイスを用いて複数のアプリケーションを操作する場合、ユーザの錯覚等により誤操作してしまう場合がある。例えば、ユーザが、一方の入力デバイスで、一方のディスプレイデバイスに表示されたアプリケーションを操作した後に、他方のディスプレイデバイスに表示されたアプリケーションに着目してしまうことがある。ここで、ユーザが、着目したアプリケーションをフォーカスする前に、他方の入力デバイスを用いて入力を開始した場合、直前に操作した一方のディスプレイデバイスに表示されたフォーカスされているソフトウエア・アプリケーションに誤入力が発生してしまう。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、複数の入力デバイスからの入力を対応するアプリケーションプログラムへと提供する装置であって、複数の入力デバイスのうちのいずれかの入力デバイスからアプリケーションプログラムに対する入力を受けたことに応じて、当該アプリケーションプログラムと当該入力デバイスとを対応付ける対応設定部と、一のアプリケーションプログラムに対する入力待ち状態においてユーザから受け付けた入力が、一のアプリケーションプログラムに対応付けられた一の入力デバイスから入力されたか否かを検出する検出部と、を備える装置、方法、およびプログラムを提供する。
【０００５】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００６】
【図１】本実施形態に係る入力デバイスからの入力を対応するアプリケーションプログラムへと提供する装置１００の構成例を示す。
【図２】本実施形態に係る装置１００の動作を説明する機能構成の一例を示す。
【図３】本実施形態に係る装置１００の動作フローを示す。
【図４】本実施形態に係る記憶部２３０が、表示部１１２に表示されるアプリケーションプログラムの対応付けをリストにした一例を示す。
【図５】本実施形態に係る記憶部２３０が、表示部１２２に表示されるアプリケーションプログラムの対応付けをリストにした一例を示す。
【図６】本実施形態に係る装置１００として機能するコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、本実施形態に係る入力デバイスからの入力を対応するアプリケーションプログラムへと提供する装置１００を示す。装置１００は、ユーザの誤入力の可能性がある入力に対して、当該入力を実行するか否かを確認することで、ユーザの意図しない動作が実行されてしまうことを防ぐ。装置１００は、コンピュータ本体１１０と、表示装置１２０とを備える。
【０００９】
コンピュータ本体１１０は、オペレーティング・システム（ＯＳ）がインストールされ、当該ＯＳ上において複数のアプリケーションプログラムが実行される。コンピュータ本体１１０は、例えば、デスクトップ型、ノートブック型、およびタブレット型等のパーソナルコンピュータである。本実施例において、コンピュータ本体１１０は、ノートブック型のパーソナルコンピュータの例を説明する。コンピュータ本体１１０は、表示部１１２、キーボード１１４、マウス１１６を有する。
【００１０】
表示部１１２は、コンピュータ本体１１０で実行されるＯＳおよびアプリケーションプログラムを実行する画面が表示される。表示部１１２は、ユーザのコンピュータ本体１１０に対する実行指示に応じて、例えば、メールの送受信、Ｗｅｂの閲覧、ソーシャルネットワークへの参加、画像または動画の閲覧、文書編集、およびゲーム等の画面を表示する。表示部１１２は、例えば、液晶ディスプレイ、プラズマディスプレイまたは有機エレクトロルミネッセンスディスプレイ等のディスプレイデバイスである。
【００１１】
図１において、表示部１１２は、アプリケーションプログラムの表示画面である実行画面１３０ａおよび１３０ｂをそれぞれ表示する例を示す。ここで、実行画面１３０ａおよび１３０ｂは、一例として、ＯＳ上で実行されるアプリケーションプログラムに対応して表示されるウィンドウである。また、当該アプリケーションプログラムは、ウィンドウ毎に実行されてよい。
【００１２】
キーボード１１４およびマウス１１６は、ＯＳおよびアプリケーションプログラムに対してユーザからの操作指示が入力される。例えば、キーボード１１４およびマウス１１６は、アプリケーションプログラムの実行、実行画面１３０の移動、実行画面１３０を入力可能とするフォーカス（アクティブ）操作、実行画面１３０を表示部１１２から消去する最小化操作、最小化した実行画面１３０を元に戻す操作、実行画面１３０内における文字入力・編集操作等が入力される。
【００１３】
また、キーボード１１４およびマウス１１６は、表示部１１２に表示されるＯＳおよびアプリケーションプログラムに対する操作指示に加え、表示装置１２０に表示されるＯＳおよびアプリケーションプログラムに対する操作指示が入力される。即ち、キーボード１１４およびマウス１１６は、複数のディスプレイデバイスに対する操作指示が入力される。
【００１４】
本実施例において、キーボード１１４およびマウス１１６は、第１の入力デバイスとする。ここで、第１の入力デバイスは、コンピュータ本体１１０に備わり、または、コンピュータ本体１１０に接続され、当該コンピュータ本体１１０に対する操作指示が入力される。第１の入力デバイスは、トラックボール、ポインティング・スティック、タッチパッド、タブレット、および／またはジョイスティック等のポインティングデバイスを含んでもよい。
【００１５】
また、コンピュータ本体１１０は、キーボード１２４およびマウス１２６が接続される。キーボード１２４およびマウス１２６は、キーボード１１４およびマウス１１６と同様に、複数のディスプレイデバイスに対する操作指示が入力される。本実施例において、キーボード１２４およびマウス１２６は、第２の入力デバイスとする。ここで、第２の入力デバイスは、コンピュータ本体１１０に接続され、当該コンピュータ本体１１０に対する操作指示が入力される。
【００１６】
表示装置１２０は、コンピュータ本体１１０に接続され、コンピュータ本体１１０で実行されるＯＳおよびアプリケーションプログラムを実行する画面を表示する。表示装置１２０は、コンピュータ本体１１０の表示部１１２が表示する画面とは異なる画面を表示してよく、これに代えて、表示部１１２が表示する画面と略同一の画面を表示してもよい。
【００１７】
例えば、表示装置１２０は、表示部１２２を有し、当該表示部１２２にＯＳおよびアプリケーションプログラムの実行画面を表示する。これに代えて、表示装置１２０は、画像を投影するプロジェクタ等であってもよい。図１において、表示部１２２は、アプリケーションプログラムの実行画面１４０ａ、１４０ｂ、および１４０ｃをそれぞれ表示する例を示す。
【００１８】
以上の装置１００を用いて、ユーザは、複数のアプリケーションプログラムを実行する。一例として、ユーザは、表示部１１２に表示される実行画面１３０に対する操作指示を、主に第１の入力デバイスを用いて入力し、表示部１２２に表示される実行画面１４０に対する操作指示を、主に第２の入力デバイスを用いて入力する。これにより、ユーザは、複数のディスプレイデバイスに対する操作指示を、それぞれのディスプレイデバイスに近接する入力デバイスを用いて入力することができる。
【００１９】
ここで、例えば、ユーザが、第１の入力デバイスを用いてアプリケーションプログラムを実行して表示部１１２に実行画面を表示させた後に、当該実行画面を第１の入力デバイスを用いて表示部１２２に移動させた場合を説明する。ユーザが表示部１２２に移動した画面を実行画面１４０ａとすると、移動直後の当該実行画面１４０ａは、フォーカスされた状態のままである。
【００２０】
ここで、ユーザは、例えば、メールの受信表示、新着ニュースの受信表示、天気予報の情報の更新表示、または実行していたアプリケーションプログラムの表示等、表示部１１２に表示された実行画面１３０ａに着目する場合がある。そして、ユーザが、例えば、メールの確認、ニュースの詳細表示、天気予報の詳細表示、またはアプリケーションプログラムの実行等、実行画面１３０ａに対する操作を開始したくなる場合がある。
【００２１】
この場合、直前の操作入力が表示部１１２に近接する第１の入力デバイスであることから、表示部１１２への入力途中であるとユーザが錯覚してしまうことがある。すると、当該ユーザは、実行画面１３０ａをフォーカスする前に、実行画面１３０ａへの入力を開始してしまうので、フォーカス状態の実行画面１４０ａに対する誤入力が発生してしまう。
【００２２】
そこで、装置１００は、入力デバイスとアプリケーションプログラムとを対応付け、対応付けられていない入力デバイスからの操作指示が入力されたことに応じて、ユーザの誤入力の可能性を検出する。装置１００は、ユーザの誤入力の可能性を検出すると、当該入力を実行するか否かをユーザに確認することで、ユーザの意図しない動作が実行されてしまうことを防ぐ。装置１００の動作について、以下に説明する。
【００２３】
図２は、本実施形態に係る装置１００の動作を説明する機能構成の一例を示す。ここで、ＯＳ２００は、コンピュータ本体１１０において実行される、Ｗｉｎｄｏｗｓ（登録商標）シリーズ、Ｍａｃ  ＯＳシリーズ、ＡＩＸ（登録商標）、Ｌｉｎｕｘ（登録商標）、およびＡＮＤＲＯＩＤ（登録商標）等であってよい。
【００２４】
ＯＳ２００上において、アプリケーションプログラムであるアプリＡ、Ｂ、Ｃ、・・・およびアプリａ、ｂ、・・・が実行される。図２において、アプリＡ、Ｂ、およびＣは、表示装置１２０に表示される実行画面１４０Ａ、１４０Ｂ、および１４０Ｃにそれぞれ対応し、アプリａおよびｂは、表示部１１２に表示される実行画面１３０ａおよび１３０ｂにそれぞれ対応する例を示す。
【００２５】
図２は、一例として、コンピュータ本体１１０においてプログラムが実行されることにより、機能する構成を示す。装置１００は、入力部２１０と、対応設定部２２０と、記憶部２３０と、検出部２４０と、確認処理部２５０と、切替部２６０と、バッファ処理部２７０とを有する。
【００２６】
入力部２１０は、複数の入力デバイス（図２においては、第１および第２の入力デバイス）からの操作指示が入力される。入力部２１０は、一例として、ＯＳ２００を介して、当該操作指示が入力される。また、入力部２１０は、一例として、表示部１１２および１２２に表示されているアプリケーションプログラムの情報と、現在フォーカスされているアプリケーションプログラムの情報とを、当該ＯＳ２００から受け取る。
【００２７】
対応設定部２２０は、入力部２１０に接続され、複数の入力デバイスのうちのいずれかの入力デバイスからアプリケーションプログラムに対する入力を受けたことに応じて、当該アプリケーションプログラムと当該入力デバイスとを対応付ける。対応設定部２２０は、ユーザの操作指示の入力が特定のアプリケーションプログラムに対する入力と判別できる場合に、当該特定のアプリケーションプログラムとユーザが操作指示を入力した入力デバイスとを対応付ける。
【００２８】
また、対応設定部２２０は、入力された操作指示が実行されるように、当該操作指示をＯＳ２００に提供する。この場合、対応設定部２２０は、当該操作指示をＯＳ２００に直接提供してよく、これに代えて、バッファ処理部２７０を介して提供してもよい。
【００２９】
対応設定部２２０は、例えば、アプリケーションプログラムであるアプリＡ、Ｂ、Ｃ、・・・およびアプリａ、ｂ、・・・のそれぞれを、第１の入力デバイスおよび第２の入力デバイスのいずれかと対応付ける。対応設定部２２０は、アプリケーションプログラムと入力デバイスとの対応付けの情報を、記憶部２３０に転送する。
【００３０】
記憶部２３０は、対応設定部２２０に接続され、当該対応設定部２２０から受け取った対応付けの情報を記憶する。記憶部２３０は、例えば、表示部毎に対応付けの情報を記憶する。また、記憶部２３０は、入力デバイス毎に対応付けの情報を記憶してよく、これに代えて、アプリケーションプログラム毎に対応付けの情報を記憶してもよい。
【００３１】
検出部２４０は、一のアプリケーションプログラムに対する入力待ち状態においてユーザから受け付けた入力が、一のアプリケーションプログラムに対応付けられた一の入力デバイスから入力されたか否かを検出する。検出部２４０は、入力部２１０に接続され、例えば、アプリケーションプログラムの実行画面がフォーカスされている状態において、入力部２１０から受け取ったユーザからの操作指示が、フォーカスされた当該一のアプリケーションプログラムに対応付けられた入力デバイスから入力されたか否かを検出する。
【００３２】
検出部２４０は、ユーザからの操作指示が、フォーカスされた当該一のアプリケーションプログラムに対応付けられた入力デバイスから入力されたことを検出した場合、当該操作指示をＯＳ２００に提供する。この場合、検出部２４０は、バッファ処理部２７０を介して、当該操作指示をＯＳ２００に提供してよい。また、検出部２４０は、ユーザからの操作指示が、当該一のアプリケーションプログラムに対応付けられていない入力デバイスから入力されたことを検出した場合、当該検出結果を確認処理部２５０に転送する。
【００３３】
確認処理部２５０は、一のアプリケーションプログラムに対する入力待ち状態において他の入力デバイスからの入力を受け付けた場合に、当該一のアプリケーションプログラムに対して入力するか否かをユーザに確認する。ここで、確認処理部２５０は、例えば、検出部２４０に接続され、一のアプリケーションプログラムに対する入力待ち状態において他の入力デバイスからの入力を受け付けた情報を、検出部２４０から受け取る。
【００３４】
また、確認処理部２５０は、一のアプリケーションプログラムに対する入力待ち状態において他の入力デバイスからの入力を受け付けた場合に、一のアプリケーションプログラムおよび対応設定部２２０により当該他の入力デバイスに対応付けられた他のアプリケーションプログラムのいずれに対して入力するかをユーザに確認してもよい。確認処理部２５０は、問い合わせに対するユーザの入力結果の情報を切替部２６０に転送する。
【００３５】
切替部２６０は、一のアプリケーションプログラムに対する入力待ち状態において入力された他の入力デバイスからの入力を、当該他の入力デバイスに対して最後に対応付けられた他のアプリケーションプログラムへと提供する。即ち、切替部２６０は、確認処理部２５０に接続され、確認処理部２５０の問い合わせに対して、ユーザが他の入力デバイスに対応付けられた他のアプリケーションプログラムに対して入力することを選択したことに応じて、当該他のアプリケーションプログラムに、入力された操作指示を提供する。
【００３６】
また、切替部２６０は、確認処理部２５０の問い合わせに対して、ユーザが他の入力デバイスに対応付けられていない一のアプリケーションプログラムに対して入力することを選択したことに応じて、当該一のアプリケーションプログラムに、入力された操作指示を提供する。この場合、切替部２６０は、記憶部２３０に接続され、一のアプリケーションプログラムに対して他の入力デバイスを対応付け、当該対応付けを記憶部２３０に転送する。また、切替部２６０は、バッファ処理部２７０を介して、ユーザからの操作指示を選択されたアプリケーションプログラムの情報と共にＯＳ２００に提供する。
【００３７】
バッファ処理部２７０は、入力部２１０に接続され、一のアプリケーションプログラムに対する入力待ち状態において受け付けた入力デバイスからの入力をバッファして、バッファした入力をユーザの確認後に入力対象となるアプリケーションプログラムへと提供する。バッファ処理部２７０は、アプリケーションプログラムにユーザからの操作指示を提供する場合に、当該提供先のアプリケーションプログラムに、ユーザからの操作指示と共に入力部２１０がバッファした入力を提供する。
【００３８】
即ち、バッファ処理部２７０は、切替部２６０に接続され、切替部２６０から受け取ったユーザからの操作指示とアプリケーションプログラムの情報に加えて、入力部２１０がバッファした他の入力デバイスからの入力をＯＳ２００に提供する。また、バッファ処理部２７０は、確認処理部２５０に接続され、確認処理部２５０から受け取ったユーザからの操作指示とアプリケーションプログラムの情報に加えて、入力部２１０がバッファした一の入力デバイスからの入力をＯＳ２００に提供する。
【００３９】
また、バッファ処理部２７０は、検出部２４０に接続される場合、検出部２４０から受け取ったユーザからの操作指示とアプリケーションプログラムの情報に加えて、入力部２１０がバッファした入力をＯＳ２００に提供する。
【００４０】
図３は、本実施形態に係る装置１００の動作フローを示す。装置１００は、ステップＳ３１０からＳ３８０の動作を実行することにより、ユーザの錯覚等に起因する誤入力が発生しても、ユーザが予期しない動作が実行されることを防止する。
【００４１】
まず、入力部２１０は、入力デバイスからの入力を検出する（Ｓ３１０）。入力部２１０は、入力デバイスからの入力が無く（Ｓ３１０：Ｎｏ）、かつ、装置１００の動作の終了が入力されない場合は、入力デバイスからの入力の検出動作を繰り返す（Ｓ３１２：Ｎｏ）。
【００４２】
また、また、装置１００は、プログラムの終了またはコンピュータ本体１１０の電源オフ等により、動作の終了が指示されたことに応じて、当該装置１００の動作を終了する（Ｓ３１２：Ｙｅｓ）。なお、ユーザからの動作終了の入力は、ステップＳ３１２以外のステップにおいても有効であってよく、この場合、装置１００は、ユーザからの終了の指示に応じて、当該装置１００の動作を終了する。
【００４３】
入力部２１０が入力デバイスからの入力を検出し（Ｓ３１０：Ｙｅｓ）、ユーザからの操作指示の当該入力が、特定のアプリケーションプログラムに対する入力であると判別できる場合（Ｓ３２０：Ｙｅｓ）、対応設定部２２０は、当該アプリケーションプログラムとユーザが操作指示を入力した入力デバイスとを対応付ける（Ｓ３３０）。
【００４４】
対応設定部２２０は、例えば、アプリａを実行させて実行画面１３０ａを表示させる操作指示が第１の入力デバイスから入力された場合に、当該アプリａと第１の入力デバイスとを対応付ける。また、対応設定部２２０は、アプリケーションプログラムの実行画面をフォーカスする操作指示、実行画面を移動する操作指示、または実行画面に表示されたボタン、スライダー、リストボックス、ツールバー等のＧＵＩ部品への操作指示等が入力されたことに応じて、当該アプリケーションプログラムとユーザが操作指示を入力した入力デバイスとを対応付ける。
【００４５】
対応設定部２２０は、例えば、アプリｂの実行画面１３０ｂをフォーカスする操作指示が第２の入力デバイスから入力された場合に、当該アプリｂと第２の入力デバイスとを対応付ける。また、対応設定部２２０は、最小化されたアプリケーションプログラムの実行画面を、元に戻す操作指示または最大化する操作指示が入力されたことに応じて、当該アプリケーションプログラムとユーザが操作指示を入力した入力デバイスとを対応付けてもよい。対応設定部２２０は、対応付けた情報を記憶部２３０に転送して記憶させる。
【００４６】
ここで、記憶部２３０は、既に当該アプリケーションプログラムの対応付けが記憶されている場合、当該対応付けを更新する。また、記憶部２３０は、一例として、リスト形式で対応付けの情報を記憶し、この場合、最新の情報を当該リストの先頭に記憶する。
【００４７】
図４および図５に、記憶部２３０が対応付けの情報を記憶したリストの一例を示す。ここで、図４は、記憶部２３０が表示部１１２に表示されるアプリケーションプログラムの対応付けをリストにした一例を示し、図５は、表示部１２２に表示されるアプリケーションプログラムの対応付けをリストにした一例を示す。
【００４８】
図４は、例えば、ユーザが、第１の入力デバイスを用いて、アプリｂを実行して実行画面１３０ｂを表示部１１２に表示させた後に、アプリａを実行して実行画面１３０ａを表示部１１２に表示させたことに応じて作成されたリストの一例を示す。図５は、例えば、ユーザが、第１の入力デバイスを用いて、アプリＢを実行して実行画面１４０Ｂを表示部１１２に表示させた後に表示部１２２に移動し、次に、第２の入力デバイスを用いて、アプリＣを実行して実行画面１４０Ｃを表示部１２２に移動し、次に、第２の入力デバイスを用いて、アプリＡを実行して実行画面１４０Ａを表示部１２２に移動したことに応じて作成されたリストの一例を示す。
【００４９】
また、図４および図５より、アプリＡの実行画面１４０Ａがフォーカスされている例を示す。ここで一例として、ユーザが第１の入力デバイスを用いて、実行画面１３０ｂをフォーカスさせたことに応じて、記憶部２３０は、図４のリストの２行目のアプリｂの情報を消去し、先頭行にアプリｂの情報を追加して更新する。この場合、記憶部２３０は、図５の先頭行のフォーカスの情報を消去して、図４の先頭行のフォーカスの情報にマークを追加してよい。このようにして、記憶部２３０は、アプリケーションプログラムと入力デバイスとの対応付けの情報を更新する。
【００５０】
次に、対応設定部２２０は、ユーザからの操作指示と当該操作指示の提供先である当該アプリケーションプログラムの情報を、ＯＳ２００に提供する。これによって、ＯＳ２００は、ユーザからの操作指示を当該アプリケーションプログラムに提供して、当該アプリケーションプログラムを操作指示どおりに実行させることができる（Ｓ３４０）。アプリケーションプログラムの実行後、ステップ３１０に戻り、入力部２１０は、入力デバイスからの入力を検出する。
【００５１】
ユーザからの操作指示の当該入力が、特定のアプリケーションプログラムに対する入力と判別できない場合（Ｓ３２０：Ｎｏ）、検出部２４０は、入力部２１０から受け取ったユーザからの操作指示が、フォーカスされているアプリケーションプログラムに対応付けられた入力デバイスから入力されたか否かを検出する（Ｓ３５０）。例えば、ユーザが第１の入力デバイスまたは第２の入力デバイスを用いて、文字入力を開始した場合、フォーカスされたアプリケーションプログラムに対する入力なのか、錯覚等による他のアプリケーションプログラムに対する誤入力なのかは判別できない。
【００５２】
例えば、実行画面１４０Ａがフォーカスされている場合、ＯＳ２００は、当該文字入力をアプリＡに対する入力とするが、ユーザの錯覚等により、実際はアプリａに対する入力であった場合、アプリＡへの文字入力は誤入力となってしまう。そこで、検出部２４０は、記憶部２３０に記憶された対応付けの情報に基づき、ユーザの操作指示が誤入力の可能性があるか否かを検出する。
【００５３】
検出部２４０は、ユーザからの操作指示が入力された入力デバイスと、フォーカスされたアプリケーションプログラムとが、記憶されている対応付けと一致している場合（Ｓ３５０：Ｙｅｓ）、ユーザからの当該操作指示と当該アプリケーションプログラムの情報をＯＳ２００に提供して、当該アプリケーションプログラムを操作指示どおりに実行させる（Ｓ３６０）。
【００５４】
例えば、第２の入力デバイスに対応付けられたアプリＡの実行画面１４０Ａが表示部１２２においてフォーカスされ、当該アプリＡが入力待ちの状態について説明する。この場合において、検出部２４０は、ユーザからの操作指示が第２の入力デバイスから入力されたか否かを検出する。即ち、検出部２４０は、記憶部２３０に記憶された対応付けの情報を読み出して、フォーカスされたアプリケーションプログラムに対応付けられた入力デバイスと、ユーザが用いた入力デバイスとを比較する。
【００５５】
検出部２４０は、ユーザからの操作指示が対応する第２の入力デバイスから入力されたことを検出したことに応じて、当該操作指示をＯＳ２００に提供する。即ち、検出部２４０は、表示部１２２の実行画面１４０Ａがフォーカスされ、当該フォーカスを操作指示した第２の入力デバイスを用いてユーザが文字入力等を開始した場合、ユーザの誤入力の可能性が低いと判断する。
【００５６】
また、検出部２４０は、表示部１２２の実行画面１４０Ａがフォーカスされ、ユーザが当該表示部１２２の近傍に位置する第２の入力デバイスを用いて文字入力等を開始したことに応じて、ユーザの誤入力の可能性が低いと判断してもよい。ＯＳ２００がアプリケーションプログラムを実行した後、ステップ３１０に移動し、入力部２１０の入力待ち状態に戻る。
【００５７】
検出部２４０は、ユーザからの操作指示が入力された入力デバイスと、フォーカスされたアプリケーションプログラムとの対応が、記憶されている対応付けと一致しない場合（Ｓ３５０：Ｎｏ）、入力部２１０に入力された情報と当該対応付けの情報とを確認処理部２５０に転送する。確認処理部２５０は、ユーザからの操作指示が、フォーカスされたアプリケーションプログラムに対する入力か否かをユーザに問い合わせる（Ｓ３７０）。
【００５８】
例えば、ユーザが、表示部１２２においてフォーカスされた実行画面１４０Ａに対して、対応しない第１の入力デバイスを用いて文字入力等を開始した場合、検出部２４０は、ユーザの誤入力の可能性が高いと判断する。即ち、ユーザは、表示部１２２の実行画面１４０Ａがフォーカスされているにもかかわらず、当該フォーカスを操作指示した第２の入力デバイスを用いていないので、検出部２４０は、ユーザが誤入力をした可能性があると判断する。また、検出部２４０は、表示部１２２の実行画面１４０Ａがフォーカスされているにもかかわらず、ユーザが当該表示部１２２から離れた位置の第２の入力デバイスを用いて文字入力等を開始したことに応じて、ユーザが誤入力をした可能性があると判断してもよい。
【００５９】
確認処理部２５０は、ユーザに対して誤入力か否かを確認する。この場合、確認処理部２５０は、一例として、「アプリＡへの入力ですか？」と問い合わせ、ユーザに「Ｙｅｓ」および「Ｎｏ」のいずれかを選択させるダイアログを表示する。確認処理部２５０は、表示部１１２および表示部１２２の両方に当該ダイアログを表示してよく、これに代えて、ユーザが入力に用いた入力デバイスの近傍に位置する方の表示部に当該ダイアログを表示してもよい。また、確認処理部２５０は、警告音を発して、誤入力の可能性または入力先のアプリケーションプログラムが定まらないことをユーザに通知してもよい。
【００６０】
また、確認処理部２５０は、ユーザからの操作指示が、フォーカスされたアプリケーションプログラムに対する入力なのか、操作指示が入力された入力デバイスに対応付けられたアプリケーションプログラムに対する入力なのかをユーザに問い合わせてもよい。この場合、確認処理部２５０は、例えば、「アプリＡとアプリａのどちらの入力ですか？」と問い合わせ、ユーザに「アプリＡ」および「アプリａ」のいずれかを選択させるダイアログを表示する。
【００６１】
確認処理部２５０は、例えば、表示部１１２に第１の入力デバイスに対応付けられた複数のアプリケーションプログラムの複数の実行画面（例えば実行画面１３０ａおよび１３０ｂ）が表示されている場合、対応設定部２２０によって最後に対応付けられたアプリケーションプログラムを選択肢として採用する。また、確認処理部２５０は、当該複数のアプリケーションプログラムのうち、実行画面の少なくとも一部が表示部１１２に表示されているアプリケーションプログラムの中で第１の入力デバイスに対して最後に対応付けられたアプリケーションプログラムを選択肢として採用してよい。
【００６２】
これに代えて、確認処理部２５０は、表示部１１２に第１の入力デバイスに対応付けられた複数のアプリケーションプログラムの複数の実行画面が表示されている場合、当該複数のアプリケーションプログラムのうち予め定められた数のアプリケーションプログラムを選択肢として採用してもよい。この場合、確認処理部２５０は、記憶部２３０が作成した対応付けのリストの先頭行から、予め定められた数のアプリケーションプログラムを選択肢として順に採用する。
【００６３】
また、確認処理部２５０は、選択肢として入力のキャンセルをダイアログに追加してもよい。ユーザが当該キャンセルを選択した場合、アプリケーションプログラムの実行のステップＳ３６０を通過してステップ３１０に移動し、入力部２１０の入力待ち状態に戻る。
【００６４】
また、確認処理部２５０は、一例として、ダイアログ等のユーザに対する確認画面を表示してから予め定められた時間の経過後、ユーザによる確認を受け付ける。これによって、確認処理部２５０は、ユーザによるアプリケーションプログラムへの入力を、誤って確認入力と判断することを防ぐことができる。
【００６５】
確認処理部２５０は、ユーザの回答として、当該操作指示が入力デバイスに対応付けられたアプリケーションプログラムに対する入力であることが得られた場合（Ｓ３７０：Ｙｅｓ）、当該操作指示と当該対応付けられたアプリケーションプログラムの情報をＯＳ２００に提供して、当該対応付けられたアプリケーションプログラムを操作指示どおりに実行させる（Ｓ３６０）。
【００６６】
また、確認処理部２５０は、ユーザの回答として、当該操作指示がフォーカスされたアプリケーションプログラムに対する入力であることが得られた場合（Ｓ３７０：Ｎｏ）、当該操作指示と当該フォーカスされたアプリケーションプログラムの情報をＯＳ２００に提供して、当該フォーカスされたアプリケーションプログラムを操作指示どおりに実行させる（Ｓ３８０）。この場合、確認処理部２５０は、当該操作指示と当該フォーカスされたアプリケーションプログラムの情報を切替部２６０に転送し、切替部２６０は当該フォーカスされたアプリケーションプログラムの対応付けを当該操作指示が入力された入力デバイスに切り替える。
【００６７】
ここで、確認処理部２５０は、ユーザの回答として、当該操作指示が入力デバイスに対応付けられたアプリケーションプログラムに対する入力ではないことだけが得られる場合（Ｓ３７０：Ｎｏ）がある。例えば、確認処理部２５０が「アプリＡへの入力ですか？」と問い合わせた結果、ユーザが「Ｎｏ」を選択した場合等である。この場合、確認処理部２５０は、当該入力デバイスに対して最後に対応付けられたアプリケーションプログラムに、当該操作指示を提供する。
【００６８】
また、例えば、表示部に当該入力デバイスに対して対応付けられたアプリケーションプログラムの実行画面が複数表示されている場合がある。この場合、確認処理部２５０は、当該複数のアプリケーションプログラムのうち、実行画面の少なくとも一部が表示装置の表示部上に表示されているアプリケーションプログラムの中で当該入力デバイスに対して最後に対応付けられたアプリケーションプログラムに、当該操作指示を提供する。
【００６９】
切替部２６０は、受け取った当該操作指示と当該アプリケーションプログラムを対応付けて、記憶部２３０に記憶する。また、切替部２６０は、確認処理部２５０から受け取った操作指示とアプリケーションプログラムの情報を、バッファ処理部２７０を介してＯＳ２００に提供する。
【００７０】
バッファ処理部２７０は、受け取った操作指示とアプリケーションプログラムの情報を、バファリングしたユーザからの入力情報と共に、ＯＳ２００に提供する。ここで、バッファ処理部２７０は、バファリングしている操作指示を表示部に表示してもよい。バッファ処理部２７０は、表示部１１２および表示部１２２の両方に当該操作指示を表示してよく、これに代えて、ユーザが入力に用いた入力デバイスの近傍に位置する方の表示部に当該操作指示を表示してもよい。
【００７１】
ここで、バッファ処理部２７０は、確認処理部２５０がダイアログを表示させた場合に、当該ダイアログに重ねてまたは近傍に当該操作指示を表示してもよい。これによって、例えば、ユーザが文字入力を操作指示として入力した場合、確認ダイアログと共に入力した文字列を表示させるので、ユーザが錯覚していたとしても、いずれのアプリケーションプログラムの入力であったかを適切に判断しやすくすることができる。バッファ処理部２７０から受け取った情報に応じて、ＯＳ２００がアプリケーションプログラムを実行した後、ステップ３１０に移動し、入力部２１０の入力待ち状態に戻る。
【００７２】
以上の本実施形態に係る装置１００によれば、一のアプリケーションプログラムに対する入力待ち状態において、ユーザが入力した入力デバイスに基づき、ユーザの誤入力の可能性を判断してユーザに正しい入力であるか否かを問い合わせることができる。これにより、ユーザが誤入力をしても、ユーザの意図しない動作が実行されてしまうことを防ぎ、入力デバイスからの入力を対応するアプリケーションプログラムへと提供することができる。
【００７３】
また、装置１００は、ユーザの誤入力の可能性が低いと判断した場合は、ユーザへの問い合わせなしに、入力デバイスからの入力を対応するアプリケーションプログラムへと速やかに提供する。したがって、装置１００は、ユーザに対して冗長な動作を付加することなしに、ユーザの意図しない動作が実行されてしまうことを防ぐことができる。
【００７４】
以上の本実施形態に係る装置１００によれば、一のアプリケーションプログラムに対する入力待ち状態において、ユーザが入力した入力デバイスに基づき、ユーザの誤入力の可能性を判断することを説明した。これに代えて、装置１００は、ユーザの顔を撮像するカメラを更に備え、当該カメラによって入力時のユーザの顔の向きを検出し、いずれの表示装置の表示部に入力しようとしているのかを特定し、誤入力の可能性を判断してもよい。
【００７５】
また、この場合、確認処理部２５０は、ユーザの顔が向いている方の表示部の近傍に位置する入力デバイスに対して最後に対応付けられたアプリケーションプログラムへの入力であるか否かを確認してもよい。これにより、ユーザがＯＫボタンを押すことによって、ユーザの入力したいアプリケーションプログラムが選択される可能性を高めることができ、操作性を向上させることができる。
【００７６】
以上の本実施形態に係る装置１００において、ユーザが２つの入力デバイスおよび対応する２つの表示部を用いて複数のアプリケーションプログラムを操作することを説明した。これに代えて、装置１００は、２以上の入力デバイスおよび対応する２以上の表示部を備えてもよい。この場合、複数の入力デバイスおよび複数の表示装置は、コンピュータ本体１１０にそれぞれ接続される。
【００７７】
ここで、複数の入力デバイスは、ＬＥＤ等の発光デバイスを含む照明を有してよい。このような複数の入力デバイスのうち、一のアプリケーションプログラムに対する入力待ち状態において、一のアプリケーションプログラムに対応付けられた一の入力デバイスが、当該照明を点灯してよい。これによって、複数の入力デバイスは、ユーザに対して、フォーカスされたアプリケーションプログラムに対応する入力デバイスがいずれであるのかを明示することができる。
【００７８】
これに代えて、またはこれに加えて、複数のアプリケーションプログラムの実行画面である複数のウィンドウは、対応する入力デバイスを特定するアイコン等を表示してもよい。これによって、装置１００は、フォーカスされたアプリケーションプログラムと入力デバイスとの対応付けを可視化することができる。
【００７９】
以上の本実施形態に係る対応設定部２２０は、複数の入力デバイスと複数のアプリケーションプログラムとをそれぞれ対応付けることを説明した。これに加えて、対応設定部２２０は、複数の入力デバイスのそれぞれと、複数の表示装置の表示部のそれぞれとを対応付けてよい。
【００８０】
この場合、一例として、対応設定部２２０は、アプリケーションプログラムの実行画面の表示先が複数の表示部のうちのいずれかの表示部に移動されたことを条件として、当該アプリケーションプログラムを実行画面の表示先となった表示部に対応付けられた入力デバイスに対応付ける。これによって、ユーザが一の表示装置の表示部に表示されたアプリケーションプログラムの実行画面を、他の表示装置の表示部に移動したことに応じて、当該アプリケーションプログラムの対応付けを更新することができる。
【００８１】
また、対応設定部２２０は、アプリケーションプログラムの実行画面の表示先が複数の表示装置の表示部のうちのいずれかの表示部に移動され、かつ当該アプリケーションプログラム以外の他のアプリケーションプログラムの入力待ち状態となったことを条件として、当該アプリケーションプログラムを実行画面の表示先となった表示部に対応付けられた入力デバイスに対応付けてもよい。
【００８２】
一例として、一の入力デバイスを用いて、一の入力デバイスに対応付けられた一の表示部に表示された一のアプリケーションプログラムの実行画面を、他の入力デバイスに対応付けられた他の表示部に移動した場合を説明する。この場合、ユーザが一のアプリケーションプログラムを移動させた後に、一の表示部に表示された他のアプリケーションを選択してフォーカスさせたことに応じて、一のアプリケーションプログラムの対応付けを移動先の他の表示部および他の入力デバイスに更新することができる。
【００８３】
また、対応設定部２２０は、アプリケーションプログラムの実行画面の表示先が複数の表示装置の表示部うちのいずれかの表示部に移動され、かつ、表示部上に表示されるポインタが、移動先の表示部とは異なる表示部に移動されたことを条件として、当該アプリケーションプログラムを実行画面の表示先となった表示部に対応付られた入力デバイスに対応付けてよい。
【００８４】
一例として、一の入力デバイスであるマウスを用いて、一の入力デバイスに対応付けられた一の表示部に表示された一のアプリケーションプログラムの実行画面を、他の入力デバイスに対応付けられた他の表示部に移動した場合を説明する。この場合、ユーザが一のアプリケーションプログラムを移動させた後に、当該マウスのマウスポインタを一の入力デバイスに対応付けられた表示部に戻したことに応じて、実行画面を移動したアプリケーションプログラムの対応付けを移動先の他の表示部および他の入力デバイスに更新することができる。
【００８５】
また、対応設定部２２０は、アプリケーションプログラムの実行画面の表示先が複数の表示装置の表示部うちのいずれかの表示部に移動され、かつ、表示部上に表示されるポインタが、当該アプリケーションプログラムの実行画面外に移動されたことを条件として、当該アプリケーションプログラムを実行画面の表示先となった表示部に対応付られた入力デバイスに対応付けてよい。
【００８６】
以上の本実施形態に係る装置１００によれば、一のアプリケーションプログラムに対する入力待ち状態において、ユーザが一のアプリケーションプログラムに対する誤入力の可能性を判断した場合に、ユーザに確認することを説明した。これに代えて、装置１００は、ユーザの一のアプリケーションプログラムに対する誤入力の可能性を無くしてもよい。
【００８７】
この場合、装置１００は、一のアプリケーションプログラムに対する入力待ち状態において、他の入力デバイスから入力された場合に、ユーザの確認無しに、他の入力デバイスに対応付けられた他のアプリケーションプログラムに対して入力を転送する。これによって、フォーカスされたアプリケーションプログラムが表示された表示部とは異なる表示部に表示され、フォーカスされていないアプリケーションプログラムのうち最後に入力デバイスに対応付けられたアプリケーションプログラムに対して、ユーザは、フォーカスする動作なしに操作指示の入力を開始することができる。
【００８８】
図６は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。当該コンピュータ１９００は、図１で説明したコンピュータ本体１１０と略同一であってよい。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、および表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、およびＤＶＤドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、および入出力チップ２０７０を有するレガシー入出力部と、を備える。
【００８９】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００およびグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０およびＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００９０】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＤＶＤドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラムおよびデータを格納する。ＤＶＤドライブ２０６０は、ＤＶＤ−ＲＯＭ２０９５からプログラムまたはデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００９１】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、および入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、および／または、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラムまたはデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００９２】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＤＶＤ−ＲＯＭ２０９５、またはＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００９３】
プログラムは、コンピュータ１９００にインストールされ、コンピュータ１９００を入力部２１０、対応設定部２２０、記憶部２３０、検出部２４０、確認処理部２５０、切替部２６０、およびバッファ処理部２７０として機能させる。
【００９４】
プログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である入力部２１０、対応設定部２２０、記憶部２３０、検出部２４０、確認処理部２５０、切替部２６０、およびバッファ処理部２７０として機能する。そして、この具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算または加工を実現することにより、使用目的に応じた特有の入力部２１０、対応設定部２２０、記憶部２３０、検出部２４０、確認処理部２５０、切替部２６０、およびバッファ処理部２７０が構築される。
【００９５】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、またはＤＶＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置または通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０または記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００９６】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＤＶＤドライブ２０６０（ＤＶＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、および／または記憶装置に含まれるものとする。
【００９７】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（または不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００９８】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００９９】
以上に示したプログラムまたはモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＤＶＤ−ＲＯＭ２０９５の他に、ＤＶＤまたはＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークまたはインターネットに接続されたサーバシステムに設けたハードディスクまたはＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【０１００】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１０１】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１０２】
１００  装置、１１０  コンピュータ本体、１１２  表示部、１１４  キーボード、１１６  マウス、１２０  表示装置、１２２  表示部、１２４  キーボード、１２６  マウス、１３０  実行画面、１４０  実行画面、２００  ＯＳ、２１０  入力部、２２０  対応設定部、２３０  記憶部、２４０  検出部、２５０  確認処理部、２６０  切替部、２７０  バッファ処理部、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インターフェイス、２０４０  ハードディスクドライブ、２０５０  フレキシブルディスク・ドライブ、２０６０  ＤＶＤドライブ、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  フレキシブルディスク、２０９５  ＤＶＤ−ＲＯＭ
【図１】
2014123311.tif 000003
【図２】
2014123311.tif 000004
【図３】
2014123311.tif 000005
【図４】
2014123311.tif 000006
【図５】
2014123311.tif 000007
【図６】
2014123311.tif 000008