(58)【調査した分野】(Int.Cl.,DB名)
前記操作は、前記複数のウィンドウのいずれかに含まれるオブジェクトであって、前記複数の機能部のうちの前記オブジェクトが含まれているウィンドウに対応する機能部による所定の処理と対応付けられたオブジェクトに対する操作であり、
前記複数の機能部のそれぞれは、
前記ウィンドウ管理部から前記操作データを提供された場合に、提供された前記操作データにより示される操作の対象となったオブジェクトに対応付けられた所定の処理を実行する
請求項1〜3のいずれか1項に記載のマルチウィンドウ表示装置。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記情報処理装置の複数の表示画面に対して複数のユーザが並行して画面操作を行う場合、ユーザが非アクティブ状態の表示画面に1回の画面操作を行うと、フォーカス切り替えが行われるのみであり、上記画面操作がアプリケーションに対する操作として受け付けられない。ユーザが非アクティブ状態の表示画面に表示されたアプリケーションに対する操作を行うには、2回の画面操作が必要となり、ユーザによる操作が直感的に行われない。
【0008】
このような場合に上記特許文献1に記載される技術を適用することを考えても、特許文献1に記載される技術は、2つの表示画面の物理的な位置関係が定められていない場合には適用することができない等の制約があり適用することはできない。
【0009】
本発明は、上記問題を解決するためになされたものであり、複数の表示画面の物理的な位置関係に依存せずに、複数の表示画面へのユーザによる画面操作を適切に受け付けるマルチウィンドウ表示装置等を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明の一態様に係るマルチウィンドウ表示装置は、複数のウィンドウを1以上の表示画面に表示するためのマルチウィンドウ表示装置であって、前記複数のウィンドウのいずれかに対するユーザによる操作を受け付け、前記操作を示す操作データを生成する受付部と、前記受付部が生成した操作データの複製を生成する複製部と、前記複数のウィンドウのそれぞれに対応する複数の機能部と、(a)非アクティブ状態のウィンドウに対する操作を示す操作データに基づいて、当該ウィンドウをアクティブ状態に遷移させる第一処理と、(b)アクティブ状態のウィンドウに対する操作を示す操作データに基づいて、前記複数の機能部のうち当該ウィンドウに対応する機能部に当該操作データを提供する第二処理と、を行うためのウィンドウ管理部と、前記受付部及び前記複製部により前記操作データが生成された場合に、前記操作データにより示される操作の対象である対象ウィンドウが、(i)アクティブ状態である場合には、前記受付部及び前記複製部のいずれか一方が生成した前記操作データに基づいて、前記ウィンドウ管理部に前記第二処理を行わせ、(ii)非アクティブ状態である場合には、前記受付部及び前記複製部のそれぞれが生成した前記操作データに基づいて、前記ウィンドウ管理部に前記第一処理を行わせた後に前記第二処理を行わせる、処理制御部とを備える。
【0011】
これによれば、マルチウィンドウ表示装置は、ユーザによる1回の画面操作を、アクティブ状態のウィンドウに対しては1回の操作として、非アクティブ状態のウィンドウに対しては2回の操作として受け付けて処理を行う。このようにすることで、アクティブ状態及び非アクティブ状態のそれぞれのウィンドウに対応するアプリケーションに対して、ユーザによる1回の画面操作により適切に1個の操作データを提供することができる。このとき、アプリケーションに2個の操作データが提供される、又は、1つも操作データが提供されないというようなユーザの意図しない結果が生ずることを未然に防ぐことができる。よって、マルチウィンドウ表示装置は、複数の表示画面へのユーザによる画面操作を適切に受け付けることができる。
【0012】
また、前記ウィンドウ管理部は、前記受付部又は前記複製部により生成された前記操作データを受け取るごとに、前記処理制御部に、前記操作データの生成の通知を行い、前記通知に対する応答として、前記操作データを有効とするとの応答を受信した場合に、前記対象ウィンドウの状態に応じて前記第一処理又は前記第二処理を行い、前記処理制御部は、前記受付部及び前記複製部のそれぞれが生成した、2つの前記操作データの生成の通知を取得し、前記対象ウィンドウが、(i)アクティブ状態である場合には、2つの前記操作データの生成の通知のうちのいずれか一方に対して有効とする応答をし、(ii)非アクティブ状態である場合には、2つの前記操作データの生成の通知の両方に対して有効とする応答をするとしてもよい。
【0013】
これによれば、処理制御部は、操作データが生成されたことを通知により受け取り、当該通知に対して当該操作データを有効とするか無効とするかを応答することによって、具体的に、ウィンドウ管理部による処理を制御することができる。このようにして、マルチウィンドウ表示装置がより具体的に構成される。
【0014】
また、前記処理制御部は、前記対象ウィンドウがアクティブ状態である場合に、前記受付部及び前記複製部のうちの前記一方と異なる他方が生成した前記操作データの1つを、前記ウィンドウ管理部により破棄させるとしてもよい。
【0015】
これによれば、処理制御部は、ウィンドウ管理部により処理させない操作データを明示的に破棄させる。処理に用いられないデータを破棄させることで、マルチウィンドウ表示装置の処理負荷の低減、及び、使用するリソースの低減の効果がある。このようにして、マルチウィンドウ表示装置がより具体的に構成される。
【0016】
また、前記操作は、前記複数のウィンドウのいずれかに含まれるオブジェクトであって、前記複数の機能部のうちの前記オブジェクトが含まれているウィンドウに対応する機能部による所定の処理と対応付けられたオブジェクトに対する操作であり、前記複数の機能部のそれぞれは、前記ウィンドウ管理部から前記操作データを提供された場合に、提供された前記操作データにより示される操作の対象となったオブジェクトに対応付けられた所定の処理を実行するとしてもよい。
【0017】
これによれば、マルチウィンドウ表示装置は、ユーザによるウィンドウに対する画面操作に基づいて機能部が処理を行うことで、ユーザに具体的な情報処理の結果を提供することができる。
【0018】
また、前記マルチウィンドウ表示装置は、複数の表示装置を備え、前記複数の表示装置のそれぞれは、前記1以上の表示画面のうちの1つの表示画面を有し、前記1つの表示画面に前記複数のウィンドウのうちの1つのウィンドウを最大化した状態で表示させるとしてもよい。
【0019】
これによれば、マルチウィンドウ表示装置は、複数の表示装置のそれぞれにより異なるユーザからの操作を受け付けることができる。
【0020】
また、前記マルチウィンドウ表示装置は、さらに、前記複製部を有する中継部であって、前記受付部及び前記複製部が生成した前記操作データをネットワークを介して送信する中継部を備え、前記ウィンドウ管理部は、前記ネットワークを介して前記操作データを取得するとしてもよい。
【0021】
また、前記マルチウィンドウ表示装置は、さらに、前記受付部が生成した前記操作データをネットワークを介して送信する中継部を備え、前記ウィンドウ管理部は、さらに、前記複製部を有し、前記ウィンドウ管理部は、前記ネットワークを介して前記操作データを取得するとともに、前記複製部が生成した前記操作データの複製を取得するとしてもよい。
【0022】
これによれば、ネットワークを介して複数の場所に分散して表示装置を配置するようにマルチウィンドウ表示装置を構成することができるので、マルチウィンドウ表示装置の配置の自由度が向上する。また、操作データの内容を複製するという簡易的な機能を有する中継部を用いて、廉価にかつ効率よく上記マルチウィンドウ表示装置を構成することができる。
【0023】
また、本発明の一態様に係るマルチウィンドウ表示装置の制御方法は、複数のウィンドウを1以上の表示画面に表示するためのマルチウィンドウ表示装置の制御方法であって、前記マルチウィンドウ表示装置は、前記複数のウィンドウのそれぞれに対応する複数の機能部を備え、前記制御方法は、前記複数のウィンドウのいずれかに対するユーザによる操作を受け付け、前記操作を示す操作データを生成する受付ステップと、前記受付ステップで生成した操作データの複製を生成する複製ステップと、(a)非アクティブ状態のウィンドウに対する操作を示す操作データに基づいて、当該ウィンドウをアクティブ状態に遷移させる第一処理と、(b)アクティブ状態のウィンドウに対する操作を示す操作データに基づいて、前記複数の機能部のうち当該ウィンドウに対応する機能部に当該操作データを提供する第二処理と、を行うためのウィンドウ管理ステップと、前記受付ステップ及び前記複製ステップにより前記操作データが生成された場合に、前記操作データにより示される操作の対象である対象ウィンドウが、(i)アクティブ状態である場合には、前記受付ステップ及び前記複製ステップのいずれか一方が生成した前記操作データに基づいて、前記ウィンドウ管理ステップで前記第二処理を行わせ、(ii)非アクティブ状態である場合には、前記受付ステップ及び前記複製ステップのそれぞれが生成した前記操作データに基づいて、前記ウィンドウ管理ステップで前記第一処理を行わせた後に前記第二処理を行わせる、処理制御ステップとを含む。
【0024】
これによれば、上記マルチウィンドウ表示装置と同様の効果を奏する。
【0025】
また、本発明の一態様に係る中継装置は、複数のウィンドウを表示画面に表示するためのマルチウィンドウ表示装置における中継装置であって、前記複数のウィンドウのいずれかに対するユーザによる操作を示す操作データを取得し、取得した操作データの複製を生成する複製部を備え、前記複製部は、さらに、生成した前記操作データを、前記複数のウィンドウのそれぞれの状態がアクティブ状態であるか非アクティブ状態であるかを管理するウィンドウ管理部により、前記状態に応じて、前記複数のウィンドウのそれぞれに対応する複数の機能部に提供されるように送信する。
【0026】
これによれば、中継装置を用いて構成されるマルチウィンドウ表示装置により、上記マルチウィンドウ表示装置と同様の効果を奏する。
【0027】
また、本発明の一態様に係る中継装置の制御方法は、複数のウィンドウを表示画面に表示するためのマルチウィンドウ表示装置における中継装置の制御方法であって、前記複数のウィンドウのいずれかに対するユーザによる操作を示す操作データを取得する取得ステップと、前記取得ステップで取得した操作データの複製を生成する複製ステップとを含み、前記複製ステップでは、さらに、生成した前記操作データを、前記複数のウィンドウのそれぞれの状態がアクティブ状態であるか非アクティブ状態であるかを管理するウィンドウ管理ステップにより、前記状態に応じて、前記複数のウィンドウのそれぞれに対応する複数の機能部に提供されるように送信する。
【0028】
これによれば、中継装置を用いて構成されるマルチウィンドウ表示装置により、上記マルチウィンドウ表示装置と同様の効果を奏する。
【0029】
また、本発明の一態様に係る情報処理装置の制御方法は、複数のウィンドウを1以上の表示画面に表示するためのマルチウィンドウ表示装置における情報処理装置の制御方法であって、前記マルチウィンドウ表示装置は、表示装置と、中継装置と、前記情報処理装置とを備え、前記表示装置は、前記複数のウィンドウのいずれかに対するユーザによる操作を示す操作データを生成する受付部を備え、前記中継装置は、前記受付部が生成した操作データの複製を生成する複製部を備え、前記情報処理装置は、前記複数のウィンドウのそれぞれに対応する複数の機能部と、(a)非アクティブ状態のウィンドウに対する操作を示す操作データに基づいて、当該ウィンドウをアクティブ状態に遷移させる第一処理と、(b)アクティブ状態のウィンドウに対する操作を示す操作データに基づいて、前記複数の機能部のうち当該ウィンドウに対応する機能部に当該操作データを提供する第二処理と、を行うためのウィンドウ管理部とを備え、前記制御方法は、前記受付部及び前記複製部により前記操作データが生成された場合に、前記操作データにより示される操作の対象である対象ウィンドウが、(i)アクティブ状態である場合には、前記受付部及び前記複製部のいずれか一方が生成した前記操作データに基づいて、前記ウィンドウ管理部に前記第二処理を行わせ、(ii)非アクティブ状態である場合には、前記受付部及び前記複製部のそれぞれが生成した前記操作データに基づいて、前記ウィンドウ管理部に前記第一処理を行わせた後に前記第二処理を行わせる、処理制御ステップを含む。
【0030】
これによれば、上記マルチウィンドウ表示装置と同様の効果を奏する。
【0031】
また、本発明の一態様に係るプログラムは、上記の制御方法をコンピュータに実行させるためのプログラムである。
【0032】
これによれば、上記マルチウィンドウ表示装置と同様の効果を奏する。
【0033】
なお、本発明は、装置として実現できるだけでなく、その装置を構成する処理手段をステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なCD−ROMなどの記録媒体として実現したり、そのプログラムを示す情報、データ又は信号として実現したりすることもできる。そして、それらプログラム、情報、データ及び信号は、インターネット等の通信ネットワークを介して配信してもよい。
【発明の効果】
【0034】
本発明に係るマルチウィンドウ表示装置は、複数の表示画面へのユーザによる画面操作を適切に受け付けることができる。
【発明を実施するための形態】
【0036】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0037】
以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、より好ましい形態を構成する任意の構成要素として説明される。
【0038】
なお、同一の構成要素には同一の符号を付し、説明を省略する場合がある。
【0039】
(実施の形態)
本実施の形態において、複数の表示画面への画面操作を適切に受け付けるマルチウィンドウ表示装置等について説明する。
【0040】
図1は、本実施の形態に係るマルチウィンドウ表示装置1の構成図である。
【0041】
図1に示されるように、本実施の形態に係るマルチウィンドウ表示装置1は、情報処理装置10と、中継装置R1及びR2と、表示装置D1及びD2と、ネットワーク40と、通信線C1及びC2とを備える。
【0042】
情報処理装置10は、マルチウィンドウ表示装置1における主たる情報処理を行う情報処理装置である。情報処理装置10内では、1以上の表示画面に対して1以上のウィンドウを表示することができるOS(Operating System)と、OS上で動作するアプリケーションとが稼動している。OSは、例えば、Windows(登録商標)、Mac OS、Linux(登録商標)等がある。
【0043】
情報処理装置10は、ネットワーク40を介して中継装置R1と接続されている。情報処理装置10は、表示装置D1及びD2を介して、それぞれ、ユーザU1及びU2からの情報の入力を受け取り、入力された情報に応じた情報処理を行い、表示装置D1及びD2を介してユーザU1及びU2へ情報を出力する。上記のような情報の入力及び出力は、並行して行われる。情報処理装置10は、例えば、PC(Personal Computer)、又は、サーバ装置等により実現される。なお、上記と同等の機能を備えるものであれば、携帯電話端末、スマートフォン(高機能携帯電話端末)、又は、タブレット等であってもよい。
【0044】
中継装置R1は、情報処理装置10と表示装置D1との間で行われる各種通信を中継する中継装置である。中継装置R1は、中継をする際に必要に応じて通信規格の変換を行う。具体的には、ネットワーク40の通信規格での通信信号と、通信線C1の通信規格での通信信号とを相互に変換する。
【0045】
表示装置D1は、表示画面によりユーザU1に情報を提示するとともに、ユーザU1による画面操作を受け付ける表示装置である。具体的には、表示装置D1は、情報処理装置10からの画像信号を通信線C1から受信し、受信した画像信号に基づいて、表示画面に画像を表示する。また、表示装置D1は、ユーザU1から画面操作を受け付け、受け付けた画面操作を示す操作データを通信線C1に送信する。表示装置D1は、例えば、タッチパネル式ディスプレイにより実現される。以降では、表示装置D1がタッチパネル式ディスプレイにより実現される例を説明するが、同様の機能を備える構成であれば、他のもの(例えば、ディスプレイとマウス)でもよい。
【0046】
ネットワーク40は、情報処理装置10と中継装置R1とを通信可能に接続する通信網である。ネットワーク40の通信規格は、どんなものであってもよい。ネットワーク40は、例えば、IEEE802.3規格等に適合する有線LANインタフェースであってもよいし、IEEE802.11a、b、g、n規格等に適合する無線LANインタフェースであってもよい。
【0047】
通信線C1は、中継装置R1と表示装置D1とを通信可能に接続する通信線である。中継装置R1から表示装置D1への信号の通信規格は、画像信号を伝送することができる通信規格であればどんなものであってもよい。この通信規格としては、例えば、HDMI(登録商標)(High−Definition Multimedia Interface)、又は、DVI(Digital Visual Interface)等がある。
【0048】
また、表示装置D1から中継装置R1への信号の通信規格は、画面操作を示す操作データを伝送することができる通信規格であればどんなものであってもよい。この通信規格としては、例えば、USB(Universal Serial Bus)規格等がある。以降では、USB規格を用いる場合を例として説明する。
【0049】
なお、中継装置R2、表示装置D2及び通信線C2は、それぞれ、中継装置R1、表示装置D1及び通信線C1と同じ機能を有する。ユーザU2は、表示装置D2により情報の提示を受け、また、画面操作を行う。また、マルチウィンドウ表示装置1は、中継装置R1、表示装置D1及び通信線C1とそれぞれ同じ機能を有する中継装置、表示装置及び通信線をさらに備えることもできる。上記中継装置、表示装置及び通信線の動作は、本実施の形態における説明から容易に類推できるので詳細な説明を省略する。
【0050】
以降において、情報処理装置10、中継装置R1及び表示装置D1のハードウェア構成について説明する。
【0051】
図2は、本実施の形態に係る情報処理装置10のハードウェア構成を示すブロック図である。
【0052】
図2に示されるように、情報処理装置10は、CPU101(Central Processing Unit)と、メインメモリ102と、ストレージ103と、NIF104(Network Interface)とを備える。
【0053】
CPU101は、ストレージ等に記憶された制御プログラムを実行するプロセッサである。
【0054】
メインメモリ102は、CPU101が制御プログラムを実行するときに使用するワークエリアとして用いられる揮発性の記憶領域である。
【0055】
ストレージ103は、制御プログラム、及び、コンテンツなどを保持する不揮発性の記憶領域である。
【0056】
NIF104は、ネットワーク40を介して他の装置にデータを送信する、又は、他の装置からデータを受信するネットワークインタフェースである。
【0057】
図3は、本実施の形態に係る中継装置R1のハードウェア構成を示すブロック図である。
【0058】
図3に示されるように、中継装置R1は、CPU201と、メインメモリ202と、ストレージ203と、NIF204と、操作入力IF205と、画像出力IF206とを備える。
【0059】
CPU201と、メインメモリ202と、ストレージ203と、NIF204とは、情報処理装置10における同名のブロックと同じ機能を有する。
【0060】
操作入力IF205は、通信線C1から操作データを取得するためのインタフェースである。
【0061】
画像出力IF206は、通信線C1へ画像データを出力するためのインタフェースである。
【0062】
このようなハードウェア構成を有する情報処理装置10及び中継装置R1を用いて実現されるマルチウィンドウ表示装置1の機能及び動作について、以降で説明する。
【0063】
図4は、本実施の形態に係るマルチウィンドウ表示装置1の機能構成を示すブロック図である。
【0064】
図4に示されるように、マルチウィンドウ表示装置1は、受付部111と、複製部112と、変換部113と、ウィンドウ管理部114と、機能部A1及びA2と、処理制御部P1及びP2と、表示制御部115と、表示画面116とを備える。
【0065】
受付部111は、表示画面116に表示される複数のウィンドウのいずれかに対するユーザによる画面操作を受け付け、受け付けた画面操作を示す操作データを生成するインタフェース処理部である。具体的には、受付部111は、ユーザによるタッチパネルへの接触を画面操作として検出し、接触されたタッチパネル上の位置を示す位置情報等を含む操作データを生成する。受付部111は、生成した操作データを含むUSB通信フレームを生成し、生成したUSB通信フレームを通信線C1上に送信する。受付部111は、タッチパネル式ディスプレイにおけるタッチパネル部分により実現される。なお、画面操作のことを、単に操作ともいう。
【0066】
複製部112は、受付部111が生成した操作データの複製を生成する処理部である。具体的には、複製部112は、受付部111が生成したUSB通信フレームを取得し、取得したUSB通信フレームと同一のUSB通信フレームを生成することで、上記複製を生成する。また、複製部112は、受付部111が生成したUSB通信フレームと、複製部112が生成したUSB通信フレームとを変換部113に渡す。なお、複製部112は、CPU201等により実現される。
【0067】
変換部113は、受付部111及び複製部112が生成したUSB通信フレームを取得し、取得したUSB通信フレームを情報処理装置10宛にネットワーク40に送信する。送信する際には、変換部113は、取得したUSB通信フレームをネットワーク40上で通信可能な形式に変換する。具体的には、変換部113は、USB通信フレームを、ネットワーク40で通信可能な通信フレームにカプセル化してネットワーク40に送信する。また、変換部113は、表示制御部115により生成され、情報処理装置10の変換部113Aによってネットワーク40上で通信可能な形式に変換された表示情報を、ネットワーク40を介して取得し、表示装置D1の表示画面116で取得できる形式に変換し、通信線C1を通じて送信する。なお、変換部113は、CPU201等により実現される。
【0068】
変換部113Aは、変換部113から送信された、カプセル化済のUSB通信フレームを受信し、ウィンドウ管理部114で処理できる形式に変換する。また、表示制御部115が生成した表示画面116に表示するデータをネットワーク40上で通信可能な形式に変換(カプセル化)し、ネットワーク40を通じて中継装置R1宛に送信する。なお、変換部113Aは、CPU101等により実現される。
【0069】
ウィンドウ管理部114は、表示画面116に表示される複数のウィンドウの状態(アクティブ状態又は非アクティブ状態)を管理するとともに、受付部111又は複製部112から取得した操作データを適切な機能部A1等に提供する処理部である。なお、ウィンドウ管理部114は、一般にWindows(登録商標)等のOSの機能の一部として実現され、また、ハードウェアとしてはCPU101等により実現される。
【0070】
具体的には、ウィンドウ管理部114は、受付部111又は複製部112から取得した操作データの内容に基づいて、当該操作データにより示される画面操作がなされた対象のウィンドウである対象ウィンドウを特定する。この特定は、例えば、上記画面操作がなされた表示画面上の座標を含むウィンドウを特定することで行われる。
【0071】
また、ウィンドウ管理部114は、受付部111又は複製部112からUSB通信フレームにより操作データを取得し、取得した操作データが非アクティブ状態のウィンドウに対する画面操作を示すものである場合に、当該操作データに基づいて、当該ウィンドウをアクティブ状態に遷移させる処理(遷移処理、又は、第一処理ともいう)を行う。
【0072】
また、ウィンドウ管理部114は、受付部111及び複製部112から取得した操作データがアクティブ状態のウィンドウに対する画面操作を示すものである場合、当該操作データに基づいて、当該ウィンドウに対応する機能部A1等に当該操作データを提供する処理(提供処理、又は、第二処理ともいう)を行う。
【0073】
また、ウィンドウ管理部114は、受付部111及び複製部112が操作データを生成した場合に、画面操作の対象となった対象ウィンドウに対応する機能部A1に当該操作データが生成されたことを通知する。そして、この操作データに基づいて遷移処理又は提供処理を行う(つまり、有効なものとして扱う)か、又は、この操作データに基づく遷移処理又は提供処理を行わない(つまり、無効なものとして扱う)かを、通知に対する応答として受け付ける。この応答に従って、ウィンドウ管理部114は、遷移処理又は提供処理を行うか行わないかを決定する。
【0074】
また、ウィンドウ管理部114は、処理制御部P1から、ウィンドウの状態の問い合わせを受けた場合に、問い合わせを受けたウィンドウの状態を回答する。
【0075】
なお、上記の遷移処理では、1つの非アクティブ状態のウィンドウをアクティブ状態に遷移させたときには、それ以外のウィンドウを非アクティブ状態に遷移させる。このようにして、ウィンドウ管理部114は、アクティブ状態であるウィンドウが2個以上にならないように遷移処理を行う。このような遷移処理を行うのは、情報処理装置10がシングルユーザによる使用を想定して設計されている、つまり、ユーザは、ユーザが着目している1つのウィンドウ及び機能部A1に対する画面操作を行うのであって、ユーザが着目していないウィンドウ及び機能部A1に対する画面操作を行うことはないと想定されるからであると考えられる。
【0076】
機能部A1は、情報処理装置10において主たる情報処理を行う処理部である。機能部A1は、ウィンドウ管理部114等を介して受付部111又は複製部112から取得した操作データ等に基づいて情報処理を行う。また、機能部A1は、ユーザからの新たな画面操作を受け付けるために機能部A1に対応するウィンドウ内に描画する画像を示す描画情報を生成する。生成した情報は、ウィンドウ管理部114等を介して表示制御部115に渡され、この情報に基づいて、表示装置D1の表示画面116上にウィンドウが表示される。ウィンドウ内に描画する画像には、ユーザU1による画面操作の対象となるオブジェクトが含まれる。このオブジェクトは、機能部A1による所定の処理と対応付けられている。当該オブジェクトに対するユーザU1による画面操作がなされた場合、機能部A1は、当該画面操作を示す操作データがウィンドウ管理部114から提供され、当該画面操作の対象となったオブジェクトに対応付けられた所定の処理を実行する。
【0077】
なお、機能部A1は、1以上のウィンドウを、表示装置D1又はD2の表示画面116上に表示させることができる。以降では、機能部A1が1つのウィンドウを表示装置D1の表示画面116上に、当該表示画面116の全体に表示されるように(いわゆる最大化された状態で)、表示させる場合を例として説明する。なお、機能部A1が表示させるウィンドウのことを、機能部A1に対応するウィンドウと表現することもある。なお、機能部A1は、上記のように動作するように記述されたプログラムに基づいてOS上で動作するアプリケーションソフトウェアとして実現され、また、ハードウェアとしてはCPU101等により実現される。
【0078】
なお、機能部A2の機能は機能部A1と同様である。ただし、アプリケーションソフトウェアとして実現する機能は、機能部A1と同様であってもよいし、異なるものであってもよい。機能部A2は、機能部A1とは独立に動作し、表示装置D2の表示画面116にユーザU2に提示するための画像を表示させる。
【0079】
処理制御部P1は、受付部111及び複製部112により操作データが生成された場合に、操作データにより示される画面操作の対象である対象ウィンドウの状態に応じた処理をウィンドウ管理部114に行わせる処理部である。処理制御部P1は、機能部A1の一機能として、又は、機能部A1とは独立に、1つの機能部A1に対して1つ設けられる。処理制御部P1は、機能部A1と同様にOS上で動作するアプリケーションソフトウェアとして実現される。
【0080】
具体的には、処理制御部P1は、上記対象ウィンドウがアクティブ状態である場合には、受付部111及び複製部112のいずれか一方が生成した操作データに基づいて、ウィンドウ管理部114に提供処理を行わせる。また、処理制御部P1は、上記対象ウィンドウが非アクティブ状態である場合には、受付部111及び複製部112のそれぞれが生成した、合計2つの操作データに基づいて、ウィンドウ管理部114に遷移処理と提供処理とを行わせる。
【0081】
具体的には、処理制御部P1は、受付部111及び複製部112のそれぞれにより、合計2つの操作データが生成された場合に、操作データが生成されたことの通知をウィンドウ管理部114から受ける。そして、対象ウィンドウがアクティブ状態である場合には、上記2つの操作データのうち1つを有効とする旨を上記通知に対して応答する。一方、対象ウィンドウが非アクティブ状態である場合には、上記2つの操作データの両方を有効とする旨を上記通知に対して応答する。
【0082】
なお、処理制御部P2は、機能部A2に対応して設けられる。処理制御部P2の機能は、処理制御部P1と同様である。
【0083】
表示制御部115は、表示装置D1等の表示画面116に表示するウィンドウ内に表示する情報を生成する処理部である。具体的には、表示制御部115は、ウィンドウ管理部114を介して機能部A1から取得する描画情報に基づいてウィンドウ内に表示する情報を示す表示情報を生成する。そして、表示制御部115は、生成した表示情報を中継装置R1を介して表示装置D1に送信する。なお、表示制御部115は、OS上で動作するソフトウェアとして実現され、また、ハードウェアとしてはCPU101等により実現される。表示制御部115は、表示装置(ディスプレイ)のデバイスドライバに相当する。
【0084】
表示画面116は、画像を表示することで、当該画像をユーザに提示する表示画面である。表示画面116は、例えば、受付部111としてのタッチパネルと一体的に構成されたタッチパネル式ディスプレイのディスプレイ部分により実現される。
【0085】
以上のように構成されたマルチウィンドウ表示装置1の処理について、以下で詳細に説明する。
【0086】
図5は、本実施の形態に係る操作データ501の生成及び複製の説明図である。
【0087】
操作データ501は、受付部111がユーザU1による表示画面116への画面操作を受け付けた場合に受付部111により生成される。受付部111は、生成した操作データ501をウィンドウ管理部114に向けて送信する。
【0088】
複製部112は、受付部111が送信した操作データ501を取得し、取得した操作データ501の複製である操作データ501Aを生成し、生成した操作データ501Aをウィンドウ管理部114に向けて送信する。
【0089】
このようにして、ユーザU1により1回の画面操作が行われた場合に、ウィンドウ管理部114は、内容が同一である2つの操作データを取得する。
【0090】
図6は、本実施の形態に係るウィンドウ管理部114による操作データの処理を示すフロー図である。
図6のフロー図は、ウィンドウ管理部114が1個の操作データを取得した際の処理を示すフロー図である。なお、ウィンドウ管理部114は、操作データが受付部111及び複製部112のどちらにより生成されたものかによらずに、それらを同じように扱う。
【0091】
ステップS101において、ウィンドウ管理部114は、操作データを取得する。この操作データは、受付部111又は複製部112により生成されたものであり、
図5の操作データ501である場合と、操作データ501Aである場合とがある。
【0092】
ステップS102において、ウィンドウ管理部114は、操作データの内容に基づいて、操作データにより示される画面操作の対象となった対象ウィンドウを特定する。
【0093】
ステップS103において、ウィンドウ管理部114は、ステップS102で特定した対象ウィンドウに対応する処理制御部P1に、操作データが生成されたことの通知を行う。この通知は、
図7のステップS201又はS205(後述)で処理制御部P1により取得される。
【0094】
ステップS104において、ウィンドウ管理部114は、対象ウィンドウがアクティブ状態であるかについての処理制御部P1からの問い合わせに回答する。ウィンドウ管理部114は、上記問い合わせに対して、対象ウィンドウがアクティブ状態であるか、又は、非アクティブ状態であるかを通知することで回答する。
【0095】
ステップS105において、ウィンドウ管理部114は、上記操作データを有効とするか無効とするかを、処理制御部P1から、ステップS103での通知に対する応答として取得する。この応答は、
図7のステップS204、S206、S211又はS213(後述)で処理制御部P1が応答するものである。
【0096】
ステップS106において、ウィンドウ管理部114は、ステップS105で取得した応答が、操作データを有効とするものか、又は、無効とするものかのどちらであるかを判定する。有効とするものである場合(ステップS106で「有効」)、ステップS107に進む。一方、無効とするものである場合(ステップS106で「無効」)、ステップS110に進む。
【0097】
ステップS107において、ウィンドウ管理部114は、対象ウィンドウがアクティブ状態であるか、非アクティブ状態であるかを判定する。アクティブ状態である場合(ステップS107でYes)は、ステップS108に進む。一方、非アクティブ状態である場合(ステップS107でNo)は、ステップS109に進む。
【0098】
ステップS108において、ウィンドウ管理部114は、対象ウィンドウに対応する機能部A1に上記操作データを提供する提供処理を行う。
【0099】
ステップS109において、ウィンドウ管理部114は、対象ウィンドウをアクティブ状態に遷移させる遷移処理を行う。
【0100】
ステップS110において、ウィンドウ管理部114は、上記操作データを破棄する。
【0101】
ステップS108、S109又はS110、
図6に示される一連の処理を終了する。その後、ウィンドウ管理部114は、受付部111又は複製部112から操作データを受け付けるために待機する。新たな操作データが生成されたら、再びステップS101が実行される。
【0102】
図7は、本実施の形態に係る処理制御部P1による処理を示すフロー図である。
図7のフロー図は、受付部111及び複製部112が生成した、合計2個の操作データの生成の通知に対する処理制御部P1による処理を示す。なお、下記ではこの2個の操作データについて、1つ目又は2つ目というように表現するが、それぞれ、受付部111が生成した操作データであってもよいし、複製部112が生成した操作データであってもよい。
【0103】
ステップS201において、処理制御部P1は、ウィンドウ管理部114から操作データの生成の通知を受けたか否かを判定し、取得しない場合には、再びステップS201を実行する。操作データを取得した場合には、ステップS202へ進む。つまり、処理制御部P1は、ウィンドウ管理部114から操作データの生成の通知を受けるまで待ち状態をとる。ステップS201で受ける通知は、ウィンドウ管理部114が受け付けた1つ目の操作データについての生成の通知である。
【0104】
ステップS201でウィンドウ管理部114から処理制御部P1が通知を受けたということは、画面操作の対象となった対象ウィンドウが、処理制御部P1に対応するものであったことを意味している。
【0105】
ステップS202において、処理制御部P1は、対象ウィンドウ(つまり、機能部A1に対応するウィンドウ)がアクティブ状態であるか否かをウィンドウ管理部114に問い合わせる。
【0106】
ステップS203において、処理制御部P1は、ステップS202での問い合わせの結果に基づいて、対象ウィンドウがアクティブ状態であるかを判定する。アクティブ状態である場合(ステップS203でYes)には、ステップS204に進む。一方、非アクティブ状態である場合(ステップS203でNo)には、ステップS211に進む。
【0107】
ステップS204において、処理制御部P1は、ウィンドウ管理部114に対して、ステップS201で通知を受けた1つ目の操作データを有効とすると応答する。
【0108】
ステップS205において、処理制御部P1は、ウィンドウ管理部114から操作データの生成の通知を受けるまで待ち状態をとる。ステップS205で受ける通知は、ウィンドウ管理部114が受け付けた2つ目の操作データについての生成の通知である。
【0109】
ステップS206において、処理制御部P1は、ウィンドウ管理部114に対して、ステップS205で通知を受けた2つ目の操作データを無効とすると応答する。この応答により、処理制御部P1は、ウィンドウ管理部114に対して2つ目の操作データを破棄させる。
【0110】
ステップS211において、処理制御部P1は、ウィンドウ管理部114に対して、ステップS201で通知を受けた1つ目の操作データを有効とすると応答する。
【0111】
ステップS212において、処理制御部P1は、ウィンドウ管理部114から操作データの生成の通知を受けるまで待ち状態をとる。ステップS212で受ける通知は、ウィンドウ管理部114が受け付けた2つ目の操作データについての生成の通知である。
【0112】
ステップS213において、処理制御部P1は、ウィンドウ管理部114に対して、ステップS201で通知を受けた2つ目の操作データを有効とすると応答する。
【0113】
以上のように、処理制御部P1は、対象ウィンドウがアクティブ状態である場合には、受付部111及び複製部112が生成した、合計2つの操作データのうちの一方を有効とし、他方を無効とするように応答する(ステップS204〜S206の処理)。
【0114】
一方、処理制御部P1は、対象ウィンドウが非アクティブ状態である場合には、受付部111及び複製部112が生成した、合計2つの操作データのうちの両方を有効とするように応答する(ステップS211〜S213の処理)。なお、上記においては、2個の操作データの生成の通知のうち1つ目に受けた方を有効とし、2つ目に受けた方を無効とする場合を説明したが、反対に1つ目に受けた方を無効とし、2つ目に受けた方を有効としても同じ結果が得られる。
【0115】
図8は、本実施の形態に係るマルチウィンドウ表示装置1における処理の流れを示す第一のシーケンス図である。
図8に示されるシーケンス図は、ユーザU1がアクティブ状態のウィンドウに対する画面操作を行う場合にマルチウィンドウ表示装置1が行う一連の処理を示したものである。なお、これまでで既に説明した内容については、同一の符号を付し、詳細な説明を省略する場合がある。
【0116】
ユーザU1が表示画面116に対する画面操作を行うと、受付部111がこの画面操作を受け付け(ステップS301)、この画面操作を示す操作データ501を生成する(ステップS302)。受付部111は、生成した操作データ501を複製部112に送信する。
【0117】
複製部112は、受付部111が生成した操作データ501の複製である操作データ501Aを生成し(ステップS303)、操作データ501Aをウィンドウ管理部114に送信する。
【0118】
ウィンドウ管理部114は、受付部111が生成した操作データ501と、複製部112が生成した操作データ501Aを取得する。そして、ウィンドウ管理部114及び処理制御部P1により
図6及び
図7において詳細に説明した処理が行われる。その結果、操作データ501が機能部A1に提供され、操作データ501Aが破棄される。
【0119】
仮にウィンドウ管理部114による操作データ501Aの破棄(ステップS110)がなされず、操作データ501Aが機能部A1に提供されるとすれば、ユーザによる1回の画面操作に基づいて機能部A1に2回の操作の操作データが提供されるので、ユーザの意図しない結果となる。具体的に言えば、ユーザU1が表示画面116に表示されたボタンに対して1回の画面操作をしただけで、そのボタンを操作し、かつ、その後に表示されるボタンに対する操作をしたように機能部A1の処理が行われることになる。
【0120】
本実施の形態によりウィンドウ管理部114が操作データ501Aを破棄することで、上記の意図しない結果を未然に防ぐことができる。
【0121】
図9は、本実施の形態に係るマルチウィンドウ表示装置1における処理の流れを示す第二のシーケンス図である。
図9に示されるシーケンス図は、ユーザU1が非アクティブ状態のウィンドウに対する画面操作を行う場合にマルチウィンドウ表示装置1が行う一連の処理を示したものである。なお、これまでで既に説明した内容については、同一の符号を付し、詳細な説明を省略する場合がある。
【0122】
ユーザU1が表示画面116に対する画面操作を行うことで、操作データ501及び操作データ501Aがウィンドウ管理部114に送信されることは、
図8の場合と同様である。
【0123】
ウィンドウ管理部114は、受付部111が生成した操作データ501と、複製部112が生成した操作データ501Aとを取得する。そして、ウィンドウ管理部114及び処理制御部P1により
図6及び
図7において詳細に説明した処理が行われる。その結果、操作データ501に基づいて対象ウィンドウがアクティブ化され、操作データ501Aが機能部A1に提供される。
【0124】
仮に複製部112による操作データ501の複製(操作データ501Aの生成)がなされないとすれば、ウィンドウ管理部114は、操作データ501に基づいて対象ウィンドウをアクティブ状態に遷移させる遷移処理を行うだけであり、機能部A1に操作データが提供されることがなく、ユーザの意図しない結果となる。
【0125】
本実施の形態により複製部112が操作データ501を複製することで、上記の意図しない結果を未然に防ぐことができる。
【0126】
図10は、本実施の形態に係るマルチウィンドウ表示装置に対するユーザの画面操作を示す説明図である。
図10の(a)〜(c)のそれぞれは、表示装置D1及びD2のそれぞれの表示画面116が表示する画像を示したものである。各画像には、4個のボタン(A〜D)が表示されており、ユーザU1及びU2がこれらのボタンに対する画面操作をする場合を示す。なお、各ボタンは、文字、文字列、図形若しくは記号、又は、これらの結合であってもよい。これらは、ユーザによる画面操作の対象となるものであり、オブジェクトに相当する。なお、表示画面116の枠が二重線で描かれているものは、当該表示画面116のウィンドウがアクティブ状態であることを示している。
【0127】
まず、本実施の形態における技術の比較例となる技術でのユーザU1及びU2による画面操作に基づくマルチウィンドウ表示装置の処理について説明する。比較例となる技術では、ユーザU1及びU2の画面操作に基づいて
図10の(a)、(b)、(c)の順に処理が進む。
【0128】
図10の(a)は、表示装置D1の表示画面116のウィンドウ内のボタンDをユーザU1が画面操作をした直後の状態を示している。この状態では、表示装置D1のウィンドウがアクティブ状態であるとして管理されている。
【0129】
次に、ユーザU2が表示装置D2の表示画面116のウィンドウ内のボタンDを画面操作した場合、表示装置D2のウィンドウがアクティブ状態に変わり、表示装置D1のウィンドウが非アクティブ状態に変わる。このとき、ユーザによる画面操作に基づいて生成された操作データは、ウィンドウ管理部による遷移処理に使用されたのであり、ウィンドウに対応する機能部A1には操作データが提供されない。このとき、ユーザU2は、自身がボタンDを画面操作したのに、ボタンDに対応する処理がなされないと認識する(
図10の(b))。
【0130】
次に、ユーザU2が再び、表示装置D1の表示画面116のウィンドウ内のボタンDを画面操作すると、この画面操作がアクティブ状態のウィンドウに対するものであるので、画面操作に基づいて生成された操作データが機能部A1に提供される。これにより、ユーザU2は、ボタンDに対応する処理がなされたと認識する(
図10の(c))。
【0131】
以上のように、上記比較例となる技術では、非アクティブ状態のウィンドウに対してユーザU2による2回の画面操作が必要とされる。
【0132】
次に、本実施の形態におけるマルチウィンドウ表示装置1による処理について、同じく
図10を用いて説明する。マルチウィンドウ表示装置1によれば、ユーザU1及びU2の画面操作に基づいて
図10の(a)、(c)の順に処理が進む。
【0133】
本実施の形態におけるマルチウィンドウ表示装置1によれば、ユーザによる1回の画面操作がなされた場合に、アクティブ状態のウィンドウに対する画面操作であれば、ウィンドウ管理部114及び処理制御部P1による処理により、2個に複製された操作データのうちの1つが無効とされ、1個の操作データとして扱われる。一方、非アクティブ状態のウィンドウに対する画面操作であれば、ウィンドウ管理部114及び処理制御部P1による処理により、2個の操作データとして扱われ、1つ目がウィンドウの遷移に用いられ、2つ目がボタンDの操作という本来の操作データとされる。
【0134】
よって、
図10の(a)に示す状態でユーザU2が表示装置D2のボタンDを画面操作すれば、その画面操作が機能部A1に1回の操作として提供される(
図10の(c))。このように、比較例で説明したようなユーザの意図しない結果が生ずるのを回避することができる。その結果、マルチウィンドウ表示装置1は、複数の表示画面への画面操作を適切に受け付けることができる。
【0135】
なお、
図10において、表示装置D1等に表示されるウィンドウの内容として、それぞれユーザによる画面操作の対象となる4つのボタンの例を示したが、ウィンドウの内容は、どのようなものであってもよい。以下で、他の例について説明する。
【0136】
図11は、本実施の形態に係るウィンドウの内容の他の例を示す説明図である。
図11では、説明のため1つの表示画面を図示したものである。こうした画面を示す表示装置が複数存在し、これらを複数のユーザが並行して利用している状況が想定される。
【0137】
図11に示されるウィンドウは、文字入力スペース1101と、ソフトウェアキーボード1102とを含んでいる。ソフトウェアキーボードは、画像として表示されるキーボードであり、文字が記載された箇所をユーザが画面操作すると、その文字が文字入力スペース1101に入力されるというものである。この場合、ソフトウェアキーボード1102のキーそれぞれが、
図10における1つのボタンに相当する。そして、非アクティブ状態のウィンドウでユーザがソフトウェアキーボード1102のいずれか1つを操作(例えばクリック)すると、2つの操作データが情報処理装置に送信され、上記2つの操作データのうちの1つはウィンドウ切り替えのために用いられ、もう1つは文字の入力のために用いられる。
【0138】
またアクティブ状態のウィンドウでユーザがソフトウェアキーボード1102のいずれか1つを操作する場合も2つの操作データが情報処理装置に送信されるが、上記2つの操作データのうちの1つは文字の入力のために用いられ、もう1つは無効とされる。これらの処理は
図10で示した場合と同じである。
【0139】
このようにすることで、複数の表示画面に複数のユーザが並行して文字入力を行う場合も、ウィンドウの状態、つまり、アクティブ状態又は非アクティブ状態を意識することなく、情報処理装置に情報入力を行うことができる。
【0140】
以上のように、本実施の形態におけるマルチウィンドウ表示装置は、ユーザによる1回の画面操作を、アクティブ状態のウィンドウに対しては1回の操作として、非アクティブ状態のウィンドウに対しては2回の操作として受け付けて処理を行う。このようにすることで、アクティブ状態及び非アクティブ状態のそれぞれのウィンドウに対応するアプリケーションに対して、ユーザによる1回の画面操作により適切に1個の操作データを提供することができる。このとき、アプリケーションに2個の操作データが提供される、又は、1つも操作データが提供されないというようなユーザの意図しない結果が生ずることを未然に防ぐことができる。よって、マルチウィンドウ表示装置は、複数の表示画面へのユーザによる画面操作を適切に受け付けることができる。
【0141】
また、処理制御部は、操作データが生成されたことを通知により受け取り、当該通知に対して当該操作データを有効とするか無効とするかを応答することによって、具体的に、ウィンドウ管理部による処理を制御することができる。このようにして、マルチウィンドウ表示装置がより具体的に構成される。
【0142】
また、処理制御部は、ウィンドウ管理部により処理させない操作データを明示的に破棄させる。処理に用いられないデータを破棄させることで、マルチウィンドウ表示装置の処理負荷の低減、及び、使用するリソースの低減の効果がある。このようにして、マルチウィンドウ表示装置がより具体的に構成される。
【0143】
また、マルチウィンドウ表示装置は、ユーザによるウィンドウに対する画面操作に基づいて機能部が処理を行うことで、ユーザに具体的な情報処理の結果を提供することができる。
【0144】
また、マルチウィンドウ表示装置は、複数の表示装置のそれぞれにより異なるユーザからの操作を受け付けることができる。
【0145】
また、ネットワークを介して複数の場所に分散して表示装置を配置するようにマルチウィンドウ表示装置を構成することができるので、マルチウィンドウ表示装置の配置の自由度が向上する。また、操作データの内容を複製するという簡易的な機能を有する中継部を用いて、廉価にかつ効率よく上記マルチウィンドウ表示装置を構成することができる。
(実施の形態の変形例)
本変形例において、複数の表示画面への画面操作を適切に受け付けるマルチウィンドウ表示装置等の別の構成について説明する。特に、本変形例では、ネットワークに流れるデータ量を抑制する効果を有するマルチウィンドウ表示装置等について説明する。
【0146】
図12は、実施の形態の変形例に係るマルチウィンドウ表示装置1Aの機能構成を示すブロック図である。
図12に示されるように、マルチウィンドウ表示装置1Aは、実施の形態におけるマルチウィンドウ表示装置1と同様の構成を有するが、複製部の位置が異なる。
【0147】
具体的には、マルチウィンドウ表示装置1においては、中継装置R1及びR2が複製部112を備えるが、マルチウィンドウ表示装置1Aは、情報処理装置10Aが複製部112Aを備える。また、中継装置R1A及びR2Aは、複製部を備えない。
【0148】
複製部112Aは、中継装置R1A等から、操作データがカプセル化されたネットワーク40用の通信フレームを取得し、この通信フレームの複製を生成する。そして、ウィンドウ管理部114は、複製部112Aが中継装置R1A等から取得した通信フレームと、複製部112Aが生成した複製の通信フレームを取得する。この後の処理は、実施の形態におけるものと同じである。
【0149】
この構成にすることで、ネットワーク40に流れるデータ量を抑制することができる。具体的には、実施の形態におけるマルチウィンドウ表示装置1では、受付部111が生成した操作データと、複製部112が複製により生成した操作データとの両方がネットワーク40を流れる。これに対し、本変形例におけるマルチウィンドウ表示装置1Aでは、受付部111が生成した操作データだけがネットワーク40を流れる。
【0150】
このように、マルチウィンドウ表示装置1Aは、ネットワーク40に流れるデータ量を半分に抑えながら、マルチウィンドウ表示装置1と同様に複数の表示画面へのユーザによる画面操作を適切に受け付けることができる。
【0151】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されてもよいし、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【0152】
以上、本発明のマルチウィンドウ表示装置等について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。