説明

表示システム及び表示方法

【課題】 同一のコンピュータプラットフォームに属すマルチウィンドウシステムによって作成されたウィンドウを同時に表示する表示システムを提供する。
【解決手段】 ディスプレイデバイスを有し、対応するウィンドウシステムを有するマスターコンピュータデバイス、対応するウィンドウシステムを有する少なくとも1つのスレーブコンピュータデバイス、マスターコンピュータデバイスと少なくとも1つのスリーブコンピュータデバイスに接続された共有メモリ、マスターコンピュータデバイスと少なくとも1つのスレーブコンピュータデバイスのウィンドウシステムによって同時に作成されたマルチウィンドウを受ける入力手段、及びマスターコンピュータデバイスのディスプレイデバイスにマルチウィンドウを表示する出力手段を含むマルチウィンドウを同時に表示する表示システム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、同一のコンピュータプラットフォーム(デスクトップまたはラップトップのプラットフォーム、コンピュータシステムあるいはコンピュータネットワークシステムを示す)に属する複数のコンピュータデバイスのウィンドウシステム(各コンピュータのマルチウィンドウシステムを含む)によって作成された複数のウィンドウ(ウィンドウデータ)を、これらのコンピュータデバイスの中の1つのディスプレイデバイスで同時に表示することのできる表示システム(ディスプレイシステム)と表示方法(ディスプレイ方法)に関する。
【背景技術】
【0002】
現在、コンピュータデバイス上に複数のウィンドウを同時に表示することは一般的である。ユーザーは、ウィンドウから情報を削除したり、1つのウィンドウから他のウィンドウにデータを移したり、いつでもどのウィンドウ上でも通常の操作、作業をすることができる。ユーザーの要求により、異なるコンピュータデバイスで実行している異なるウィンドウシステムからの複数のウィンドウを、ユーザーに便利がいいように、1つのコンピュータデバイスのディスプレイデバイスに表示することが求められることがある。
【0003】
一般的には、複数のコンピュータデバイスからのウィンドウデータは、1つのコンピュータデバイスのディスプレイデバイスに表示することは可能である。例えば、ヴァーチャルネットワークコンピューティング(VNC)システムにおいて、ネットワーク化された複数のコンピュータデバイスで作成されたウィンドウは、これらのデバイスの中の1つのディスプレイデバイスに表示することができる。
【0004】
しかし、VNCは、各コンピュータデバイス及びこれらのデバイスを接続しているネットワークにおいて事前に定義されたネットワークプロトコルを用いる必要である。複数のコンピュータデバイスのウィンドウシステムによって作成されたウィンドウの表示には、VNCが共有のシステムバス上で動作するものではなくネットワーク化されたデバイス上で動作するものであることから、VNCを用いることができない。
【0005】
複数のデバイスで構成されるデスクトップまたはラップトップのプラットフォーム(コンピュータプラットフォーム)は、いくつかの重要な利点を有する。例えば、x86ベースとARMベースのコンピュータデバイスの両方で構成されているプラットフォームは、通常ARM CPUを用いて電力消費を減少することができると同時に、x86 CPUを用いてx86アプリケーションを実行することができる。注意するのは、これらのコンピュータデバイスは、それぞれのウィンドウシステムを有するということである。本発明以前に、デスクトップまたはラップトップのプラットフォームの複数のコンピュータデバイスの複数のウィンドウシステムによって作成されたウィンドウを同時に表示できる表示システムはなかった。
【発明の概要】
【発明が解決しようとする課題】
【0006】
よって本発明の目的は、コンピュータプラットフォーム(デスクトップまたはラップトップのプラットフォーム)に属す複数のコンピュータデバイスの各ウィンドウシステム(マルチウィンドウシステムに限らないが通常マルチウィンドウシステムの場合が多いと考えられるのでマルチウィンドウシステムと称する場合もある。)によって作成された複数のウィンドウを同時に表示する表示システムと表示方法を提供することにある。
【課題を解決するための手段】
【0007】
本発明に係るマルチウィンドウシステムによって作成された複数のウィンドウを同時に表示する表示システムは、ここに記述されるように、ディスプレイデバイスを有するマスターコンピュータデバイス、少なくとも1つのスレーブコンピュータデバイス、共有メモリ、入力手段と、出力手段を含む。マスターコンピュータデバイスと少なくとも1つのスレーブコンピュータデバイスは、各々ウィンドウシステムを有する。共有メモリは、マスターコンピュータデバイスとスリーブコンピュータデバイスに接続される。入力手段は、マスターコンピュータデバイスと少なくとも1つのスレーブコンピュータデバイスのウィンドウシステムによって同時に作成された複数のウィンドウ(ウィンドウデータ)を受ける。出力手段は、マスターコンピュータデバイスのディスプレイデバイスに複数のウィンドウ(マルチウィンドウ)を表示する。マスターコンピュータデバイスと少なくとも1つのスレーブコンピュータデバイスは、共有メモリに保存されたウィンドウデータを読み込み、また、書き込む。
【0008】
好適な形態としては、マスターコンピュータデバイスのウィンドウシステムと、マスターコンピュータデバイスのディスプレイデバイスの少なくとも1つのスレーブコンピュータデバイスのウィンドウシステムによって作成されたウィンドウを同時に表示する表示方法が提供され、ディスプレイシステムは、ディスプレイデバイスを有するマスターコンピュータデバイス、少なくとも1つのスレーブコンピュータデバイスと、マスターコンピュータデバイスと少なくとも1つのスリーブコンピュータデバイスによってアクセス可能な共有メモリを含む。前記方法は、少なくとも1つのスリーブコンピュータデバイスのウィンドウデータを共有メモリに保存するステップ、マスターコンピュータデバイスによって共有メモリからスリーブコンピュータデバイスのウィンドウデータを得るステップと、全ての得られたウィンドウデータを統合して合成(composite)ウィンドウデータを作成し、合成ウィンドウデータがマスターコンピュータデバイスによってディスプレイデバイス140に表示されるステップを含む。
【0009】
他の実施形態としては、ディスプレイシステムにウィンドウを同時に表示する表示方法は、ディスプレイデバイスと対応するウィンドウシステムを有するマスターコンピュータデバイス、対応するウィンドウシステムと共有メモリを有する少なくとも1つのスレーブコンピュータデバイスを含む。前記方法は、下記のステップを含む。まず、少なくとも1つのスレーブコンピュータデバイスのアプリケーションを起動する起動信号は、マスターコンピュータデバイスによって受信される。その後、アプリケーションは、少なくとも1つのスレーブコンピュータデバイスに実行され、アプリケーションのウィンドウデータを作成し、アプリケーションのウィンドウデータが少なくとも1つのスレーブコンピュータデバイスのウィンドウシステムによって共有メモリに書き込まれる。次に、アプリケーションのウィンドウデータは、共有メモリからマスターコンピュータデバイスによって得られ、現在のウィンドウデータと得られたウィンドウデータのための構成がマスターコンピュータデバイスによって実行されて合成ウィンドウデータを作成し、続いてマスターコンピュータデバイスのウィンドウシステムによってディスプレイデバイスに合成ウィンドウデータを表示する。
【0010】
本発明に係る表示システム及び表示方法は、有形的表現媒体に組み込まれたプログラムコードの形をとることができる。プログラムコードが機械によってロードされて実行された時、前記機械は、上述のシステム及び方法等を実施する装置となる。
【発明の効果】
【0011】
本発明の表示システムと表示方法に基づいて、共有メモリのウィンドウデータにアクセスすることで、同一のプラットフォームの複数のコンピュータデバイスによって同時に作成された複数のウィンドウ(マルチウィンドウ)を、CPU資源などの追加のハードウェア資源を用いることなく、表示システムの単一ディスプレイデバイスに迅速に表示することができ、ウィンドウが更新または作成された時には常に効果的で即時のウィンドウ表示を提供することができる。また、ユーザーは、異なるオペレーティングシステムを用いることの影響を受けることなく、異なるコンピュータデバイス間のアプリケーション及び/またはウィンドウの操作または選択を、1つのシステムの単一に表示されたデスクトップにおいて行うことができる。
【図面の簡単な説明】
【0012】
【図1】図1は、本発明の一実施形態のディスプレイシステムの構成を示す図である。
【図2】図2は、図1に示すディスプレイシステムの共有メモリの一実施形態を示す図である。
【図3】図3は、図1に示すディスプレイシステムのウィンドウロケーションシステムによって用いられるルックアップテーブルの一実施形態を示す図である。
【図4】図4は、図1に示すディスプレイシステムにおけるユーザーインターフェースの一実施形態を示す図である。
【図5】図5は、図1に示すディスプレイシステムにおいて、マスターコンピュータデバイスからスレーブコンピュータデバイスで実行するアプリケーションを起動した場合の表示方法の一実施形態を示すフローチャートである。
【図6】図6は、図1に示すディスプレイシステムにおいて、マスターコンピュータデバイスと少なくとも1つのスレーブコンピュータデバイスによって同時に作成された複数のウィンドウを表示する表示方法の一実施形態を示すフローチャートである。
【図7】図7は、図1に示すディスプレイデバイスにおいて、マスターコンピュータデバイスが共有メモリをアクセスする方法の一実施形態を示すフローチャートである。
【図8】図8は、図1に示すディスプレイシステムのウィンドウ合成の処理の一実施形態を説明するための概略図である。
【発明を実施するための形態】
【0013】
本発明の目的、特徴、長所が一層明確に理解されるよう、以下に本発明の一実施形態を例示し、図面を参照しながら詳細に説明する。
【0014】
図1は、本発明の一実施形態のディスプレイシステム100の構成を示す図である。
ディスプレイシステム100は、2つ以上(少なくとも2つ)のコンピュータデバイス110、120、共有メモリ130、ディスプレイデバイス(表示装置)140、スイッチングユニット150、入力手段160及び出力手段170を含む。各コンピュータデバイスは、当該コンピュータデバイスの動作を制御して演算する処理ユニット(プロセッシングユニット)、当該コンピュータデバイスにおいて用いられるウィンドウシステム、及び、ウィンドウシステムを実行するオペレーティングシステム(OS)を更に含む。コンピュータデバイスは、ウィンドウデータの表示を管理するウィンドウマネージャーを更に含むことができる。
【0015】
例えば、図1に示すように、第1コンピュータデバイス110は、コンピュータデバイス110の動作の制御及び演算を行う処理ユニット112、コンピュータデバイス110に用いられるウィンドウシステム114、及び、ウィンドウシステム114を実行するオペレーティングシステム(OS)116を含む。第2コンピュータデバイス120は、処理ユニット122、コンピュータデバイス120に用いられるウィンドウシステム124、及び、ウィンドウシステム124を実行するオペレーティングシステム(OS)126を含む。
【0016】
1つの実施形態として、コンピュータデバイス110、120は、例えばx86シリーズCPU(中央制御装置)という処理ユニットタイプとMicrosoftウィンドウズベース(“Microsoft”及び“ウィンドウズ”は米国マイクロソフトコーポレーションの登録商標)のウィンドウオペレーティングシステムというような、同一の処理ユニットタイプの処理ユニットと、同一のOSで実行するウィンドウシステムを有することができる。
他の実施形態として、ディスプレイシステム100は、同一のプラットフォーム上に複数の異種のコンピュータデバイスを含むことができる。例えば、コンピュータデバイス110と120は、異なる処理ユニットタイプの処理ユニットと、異なるOSで実行する異なるウィンドウシステムを有することができる。例えば、コンピュータデバイス110の処理ユニット112のタイプは、x86シリーズCPUであり、コンピュータデバイス120の処理ユニット122のタイプは、ARMプロセッサであることができる。また、コンピュータデバイス110のウィンドウシステム114のタイプは、Microsoftウィンドウズベース(“Microsoft”及び“ウィンドウズ”は米国マイクロソフトコーポレーションの登録商標)のウィンドウシステムであることができ、コンピュータデバイス120のウィンドウシステム124のタイプは、Linuxベース(“Linux”は米国トルヴアルドズ・リヌス氏の登録商標) のウィンドウシステムであることができる。
【0017】
共有メモリ130は、コンピュータデバイス110と120によってアクセス可能に、コンピュータデバイス110と120に接続される。コンピュータデバイス110と120は、接続インターフェースを介して共有メモリ130に接続される。接続インターフェースは、例えばPCI−Eバスデバイスなど、どのタイプのバスデバイスであってもよい。
【0018】
ディスプレイデバイス140(例えばLCDディスプレイ)のディスプレイを制御するコンピュータデバイスは、マスターコンピュータデバイスと呼ばれ、少なくとも1つの他のコンピュータデバイスは、スレーブコンピュータデバイスと呼ばれる。この実施形態では、例えば、第1コンピュータデバイス110がディスプレイデバイス140のディスプレイを直接制御するということでマスターコンピュータデバイスと呼ばれ、第2コンピュータデバイス120はスレーブコンピュータデバイスと呼ばれる。
【0019】
注意するのは、第2コンピュータデバイス120は、ディスプレイデバイス140のディスプレイを直接制御することができるため、他の実施形態ではマスターコンピュータデバイスと呼ばれる場合があり、その場合は第1コンピュータデバイス110がスレーブコンピュータデバイスと呼ばれることとなる。スレーブコンピュータデバイス120は、ウィンドウデータを共有メモリ130に書き込むことができ、マスターコンピュータデバイス110は、ウィンドウデータを共有メモリ130から同時に読み込むことができる。
【0020】
スイッチングユニット150は、コンピュータデバイス110と120の間に接続され、どのコンピュータデバイスがマスターコンピュータデバイスとなるかを選択するマスター選択(具体的には、マスター選択信号)に基づいて、ディスプレイデバイス140に、第1コンピュータデバイス110または第2コンピュータデバイス120の画面を選択的に表示する。例えば、仮にコンピュータデバイス110がマスターコンピュータデバイスとなるということを示すマスター選択がスイッチングユニット150が受けた場合は、コンピュータデバイス110の画面がディスプレイデバイス140に表示される。
【0021】
入力手段160は、マスターコンピュータデバイス110と少なくとも1つのスレーブマスターコンピュータデバイス120とに接続され、マスターコンピュータデバイス110と少なくとも1つのスレーブマスターコンピュータデバイス120のウィンドウシステムで同時に作成されたマルチウィンドウ(複数のウィンドウに係るウィンドウデータ)を受ける。
出力手段170は、ディスプレイデバイス140でマルチウィンドウを作成して表示するのに用いられる。
入力手段160と出力手段170とは、ハードウェア、ソフトウェア、またはその組み合わせによって実行されることができ、従来より周知の技術であるため詳細な説明はここでは省略する。
【0022】
なお、これら入力手段160と出力手段170とスイッチングユニット150との関係に関して、スイッチングユニット150は、ディスプレイデバイス140に表示する画面を第1コンピュータデバイス110または第2コンピュータデバイス120から選択する処理について、論理的にその表示を制御するもの、換言すれば主に制御を行うための手段であり、入力手段160と出力手段170は、実際のウィンドウデータが入出力される手段に相当する。
なお、第1コンピュータデバイス110及び第2コンピュータデバイス120を含めて、ディスプレイシステム100の各構成部の間の制御信号及びデータの伝送ルート、伝送路の接続形態等は複雑なものである。従って、図1においては、これらの各構成部を接続する線は簡略的に記載し、また、一部は省略して記載してあるが、何ら、本明細書の記載と異なるものではない。
【0023】
共有メモリ130は、同一または異なるメモリサイズのメモリモジュールに分割されることができる。よって、共有メモリ130は、複数のメモリモジュールを更に含むことができ、それぞれ対応するメモリコントローラを有する。各メモリモジュールは、それ自身のメモリコントローラによって別々にアクセスされることができ、共有メモリが複数のメモリコントローラによってメモリモジュールでデータの同時読み込みと書き込みをサポートすることができるようになる。
【0024】
注意するのは、共有メモリ130は、どのタイプのアクセス可能なメモリ構造であってもよい。
一実施形態として、共有メモリは、一組の管理システムに一緒にリンクされたメモリモジュールであることができ、次のメモリモジュールを書き込むか、または読み込むかを判断する。例えば、共有メモリ130は、リンクされたデータファイルを処理する管理システムを有して、次に書き込むメモリモジュールを判断するリングバッファメモリであることができるが、これを限定するものではない。
【0025】
各メモリモジュールのサイズは、例えば、ウィンドウシステム114と124に用いられた最大のウィンドウサイズに基づいて決定されることができる。例えば、ウィンドウシステム114と124に用いられる最大のウィンドウサイズが32ビットのカラー深度の1024×768の解像度である場合、各メモリモジュールのサイズは、1024×768×32ビット=3Mバイトと定義されることができる。各メモリモジュールのサイズを、全てのウィンドウシステムをサポート可能な最大のウィンドウサイズにすると決定した場合には、各ウィンドウシステムの各ウィンドウデータは、いずれか1つのメモリモジュールに書き込まれ、また、いずれか1つのメモリモジュールから読み込まれることが可能となる。
【0026】
図2は、本発明の共有メモリ200の実施形態を示している。図2に示される実施形態では、共有メモリ200は、同一サイズのいくつかのメモリモジュールに分割される。これらのメモリモジュールの3つは、マスターコンピュータデバイス110のデスクトップ210に示された3つのウィンドウA、B及びC(各ウィンドウに1つのモジュール)のウィンドウデータを含む。
【0027】
図2に示すデスクトップ210は、コンピュータデバイス120のウィンドウシステム124で作成されたマスターコンピュータデバイス110のデスクトップ画面を表している。デスクトップ210上の3つのウィンドウA、B及びCのうちの最大ウィンドウサイズが、前述したような32ビットのカラー深度で1024×768の解像度のウィンドウの時、各メモリモジュールのサイズは、3Mバイトと定義される。よって、ウィンドウA、B及びCのウィンドウデータは、ウィンドウBとCのウィンドウデータのサイズがメモリモジュールのサイズより小さくても、メモリモジュール201、203と、205内にそれぞれ書き込まれる。
【0028】
少なくとも1つのスレーブコンピュータデバイス120は、デスクトップ210の各ウィンドウのウィンドウデータを作成し、共有メモリ130にそれらを書き込む。マスターコンピュータデバイス110は、共有メモリ130からウィンドウのウィンドウデータを読み込む。
【0029】
共有メモリ130は、既定のウィンドウのウィンドウデータを含むメモリモジュールのうちの1つに既定のウィンドウをマップするウィンドウロケーションシステム180と更に関連付けられることができる。また、ウィンドウロケーションシステム180は、共有メモリ130のアクセス制御を行うことができる。
【0030】
ウィンドウロケーションシステム180は、複数のコンピュータデバイス(例えば、マスターコンピュータデバイス及びスレーブコンピュータデバイス)によって読み込み/書き込みできるキャッシュメモリを含むことができる。ウィンドウロケーションシステム180は、例えば、各モジュールの記録された状態でルックアップテーブルを更に有することができる。例えば、メモリモジュールが有効か、そうでないかに関わらず、その対応するメモリアドレスと情報の内容は、メモリモジュールに保存される。ルックアップテーブルがキャッシュメモリに保存されることができることから、ウィンドウロケーションシステム180は、データが共有メモリ130から読み込まれる、または共有メモリ130に書き込まれることになっている時、ルックアップテーブルを用いて既定のウィンドウのメモリアドレスを得て、既定のウィンドウを既定のウィンドウのウィンドウデータを含むメモリモジュールの1つにマップすることができる。
【0031】
図3(A)は、本発明のウィンドウロケーションシステム180によって用いられるルックアップテーブル300の一実施形態を示している。
共有メモリ130のモジュールサイズは事前に決定されるため、各モジュールのメモリアドレスもわかり、計算もできる。よって、ルックアップテーブル300は、共有メモリの各ウィンドウとその対応する場所(即ち、メモリアドレス)のマッピング関係を記録するのに用いることができる。
【0032】
図3(A)に示されるように、ルックアップテーブル300は、記録されたいくつかのアイテムを有し、各アイテムは、少なくとも“モジュール番号(モジュールNo.)”フィールド、“メモリアドレス”フィールド、“有効フラグ”フィールドと、“ウィンドウ番号(ウィンドウNo.)”フィールドを含む。
“モジュール番号”フィールドは、モジュールの番号を表しており、“メモリアドレス”フィールドは、モジュールのための共通メモリ130のメモリアドレスを表している。
“有効フラグ”フィールドは、モジュールが有効か、または用いられているかどうかを示す有効フラグであり、“Yes”は、モジュールが有効であると表しており、“No”は、モジュールが用いられていてデータを保存するのに用いられることができないことを表している。
“ウィンドウ番号”フィールドは、その中に保存されたウィンドウデータの内容を表している。例えば、図3(A)の始めのアイテムについては、システム1のウィンドウAがメモリアドレス0×0100でメモリモジュール1に記録されていることを表している。
【0033】
新しいウィンドウが作成される場合、ウィンドウロケーションシステム180は、テーブル300で“Yes”に設定された有効フラグを有する有効なモジュールを見つけ、テーブル300の位置するメモリモジュールの内容を更新することができる。その後、新しく作成されたウィンドウのウィンドウデータは、位置するメモリモジュール内に保存される。例えば、マスターまたはスレーブコンピュータデバイスによって作成された3つのウィンドウA、B及びCが現在テーブル300に記録中だとすると、ウィンドウA、B及びCのウィンドウデータはモジュール1、2及び4にそれぞれ保存されていることとなる。
【0034】
この状態から、新しいウィンドウ“ウィンドウD”が少なくとも1つのスレーブコンピュータデバイスに作成される場合、共通メモリ130の有効なモジュールは、ウィンドウロケーションシステム180によって位置付けされ、その中にウィンドウDのウィンドウデータを保存する。図3(A)に示されるように、モジュール3は、有効なモジュールであるとして表されており、よって、図3(B)に示されるようにウィンドウDのウィンドウデータがモジュール3に保存され、有効フラグが“No”に変えられる。よって、少なくとも1つのスレーブコンピュータデバイス120は、続いてウィンドウDの更新されたウィンドウデータをモジュール3に書き込むことができ、マスターコンピュータデバイス110はそこからウィンドウデータを読み込み、ウィンドウDの最新のウィンドウデータを得ることができる。
【0035】
本発明のディスプレイデバイス100は、マスターコンピュータデバイスとスレーブコンピュータデバイスの両方の特定アプリケーションを起動するユーザーインターフェースを更に提供する。
【0036】
図4は、本発明に係るユーザーインターフェースの一実施形態としての、いくつかのクリック可能なリンク(例えばアイコン、ボタン)を有するデスクトップ400を示す図である。図4に示すように、デスクトップ400は、マスターコンピュータデバイス100のデスクトップを表しており、デスクトップ400は、同時に表示される2つのディスプレイウィンドウ410及び420とアイコン430〜470を含んでいる。この実施形態では、アイコン430〜450は、マスターコンピュータデバイス110で実行される特定のアプリケーションを実行するアイコンとして事前に定義されたものであり、アイコン460〜470は、少なくとも1つのスレーブコンピュータデバイス120で実行される特定のアプリケーションを起動するアイコンとして事前に定義されたものである。
【0037】
アイコン460がユーザーによってクリックされる、または押されると、アイコン460によって示された少なくとも1つのスレーブコンピュータデバイス120のアプリケーションを起動する起動信号が、マスターコンピュータデバイス110で作成される。
次に起動信号は、接続インターフェースによって、少なくとも1つのスレーブコンピュータデバイス120に送信される。
少なくとも1つのスレーブコンピュータデバイス120は、起動信号を受けた後、アプリケーションを起動し、対応するウィンドウを作成する。少なくとも1つのスレーブコンピュータデバイス120は、結果として生じるウィンドウデータをマスターコンピュータデバイス110がウィンドウデータを読み込むことができる共有メモリ130の中に入れる。
続いてマスターコンピュータデバイス110のウィンドウシステム114は、デスクトップにウィンドウを構成することができる。
【0038】
図5は、本発明のマスターコンピュータデバイスによって少なくとも1つのスレーブコンピュータデバイスを実行するアプリケーションを起動する表示方法の実施形態を示すフローチャートである。
マスターコンピュータデバイスとスレーブコンピュータデバイスは、各々、対応するウィンドウシステムを含む。この実施形態では、マスターコンピュータデバイスとスレーブコンピュータデバイスは、同一のデスクトップまたはラップトップのプラットフォームに属する同種または異種アーキテクチャのコンピュータデバイスである。
【0039】
ユーザーが、少なくとも1つのスレーブコンピュータデバイス120のアプリケーションを起動するために図4に示されたコンピュータデバイス110のデスクトップ400のボタン470を押すことにより、起動信号が発生される。これにより、この起動信号を受けたマスターコンピュータデバイス110(即ち、第1コンピュータデバイス)は、少なくとも1つのスレーブコンピュータデバイス120(即ち、第2コンピュータデバイス)のアプリケーションを起動する動作を行う(ステップS510)。
【0040】
マスターコンピュータデバイス100は、その起動信号を、接続インターフェースを介して、少なくとも1つのスレーブコンピュータデバイスに伝送する。起動信号を受けた後、少なくとも1つのスレーブコンピュータデバイス120のウィンドウシステム124は、起動信号に対応したアプリケーションを実行し、アプリケーションのウィンドウデータを作成して、そのアプリケーションのウィンドウデータを共有メモリ130に書き込む(ステップS520)。
【0041】
その後、マスターコンピュータデバイス110のウィンドウシステム114は、共有メモリ130からアプリケーションのウィンドウデータを得て、現在のウィンドウデータと得られたウィンドウデータの合成を実行し、合成ウィンドウデータを作成し、ディスプレイデバイス140に合成ウィンドウデータを表示する(ステップS530)。
【0042】
図6は、本発明に係るディスプレイシステム(例えば、図1に示されたディスプレイシステム100)のマスターコンピュータデバイスと少なくとも1つのスレーブコンピュータデバイスによって同時に作成されたマルチウィンドウを表示する表示方法のもう1つの実施形態のフローチャートである。
まず、ステップS610では、少なくとも1つのスレーブコンピュータデバイス120は、少なくとも1つのスレーブコンピュータデバイス120で実行中の全てのウィンドウのウィンドウデータを共有メモリ130に保存する。
【0043】
その後、ステップS620では、マスターコンピュータデバイス110は、少なくとも1つのスレーブコンピュータデバイス120のウィンドウデータを共有メモリ130から得る。マスターコンピュータデバイス110は、本発明のウィンドウロケーションシステムとルックアップテーブルを用いて少なくとも1つのスレーブコンピュータデバイス120のウィンドウデータを共有メモリ130から得る。
【0044】
少なくとも1つのスレーブコンピュータデバイス120の全てのウィンドウデータが得られた後、ステップS630では、マスターコンピュータデバイス110のウィンドウシステム114は、全ての得られたウィンドウデータを合成して合成ウィンドウデータを作成し、合成ウィンドウデータをディスプレイデバイス140のデスクトップに表示する。
【0045】
図8は、本発明に係るウィンドウ合成動作の具体例を示す概略図である。
図8に示すように、ウィンドウCとウィンドウDは、マスターコンピュータデバイス110のデスクトップ810に表されており、ウィンドウAとウィンドウBは、ウィンドウAがウィンドウBの下方に表示されている状態で、スレーブコンピュータデバイス120のデスクトップ820に表されている。
スレーブコンピュータデバイス120のウィンドウシステム124は、スレーブコンピュータデバイス120で現在起動されているウィンドウの位置とzインデックスを保持する。zインデックスは、例えば1つのウィンドウがもう一つのウィンドウの下方に表示されるか、あるいは上方に表示されるかというような、起動されたウィンドウ間の層関係を表すものである。スレーブコンピュータデバイス120のウィンドウシステム124は、ウィンドウの位置とzインデックスに関するインデックス情報もまた、共有メモリに書き込む。
【0046】
従って、ウィンドウAとウィンドウBの位置とzインデックスを得ることで、マスターコンピュータデバイス110のウィンドウシステム114は、得られたウィンドウデータの位置と層関係を保持する。即ち、インデックス情報を用いて、ウィンドウAは再びウィンドウBの下方に表示される。これに加えて、マスターコンピュータデバイス110のウィンドウシステム114は、ウィンドウCとウィンドウDのために、得られたウィンドウデータ及びそれ自身(マスターコンピュータデバイス110自身)のウィンドウデータの位置を変更(再配置)し、マスターコンピュータデバイス110のデスクトップ810に合成ウィンドウデータを作成する(図8の右側に示すように)。よって、ディスプレイデバイス140のデスクトップは、マスターコンピュータデバイス110において現在実行中のウィンドウデータを表示するだけでなく、少なくとも1つのスレーブコンピュータデバイス120において実行中の起動されたアプリケーションの全てにより生成されたウィンドウデータも表示する。
【0047】
共有メモリ130は、マスターコンピュータデバイス110と少なくとも1つのスレーブコンピュータデバイス120の両方によって同時にアクセスされることができ、少なくとも1つのスレーブコンピュータデバイス120によって書き込まれているメモリモジュールが同時にマスターコンピュータデバイス110で読み込まれることができ、よって、メモリモジュールの読み込まれたウィンドウデータが不正確である可能性がある。この問題を避けるために、共有メモリにアクセスする同期方法が更に提供される。
【0048】
図7は、本発明のマスターコンピュータデバイスの共有メモリをアクセスする方法の実施形態を示すフローチャートである。
ステップS710で、マスターコンピュータデバイス110は、共有メモリ130からデータを読み込み、ステップS720で、ウィンドウロケーションシステム180を用いて共有メモリ130のウィンドウを見つける。ステップS730で、読み込まれるモジュールが書き込まれているかどうか判断する。
【0049】
読み込まれるモジュールが書き込まれていたと判断された場合(ステップS730でYesの場合)は、ステップS740で、その読み込まれるモジュールのウィンドウデータの読み込みはスキップされ、読み込まれていない次のウィンドウのモジュールが読み込まれ、ステップS730が再度実行される。
読み込まれるモジュールが書き込まれていないと判断された場合(ステップS730でNoの場合)は、ステップS750で、モジュールのウィンドウデータが読み込まれ、ステップS760で、全てのウィンドウデータが読み込まれたかどうかが判断される。
全てのウィンドウデータが読み込まれていないと判断された場合(ステップS760でNoの場合)は、いくつかのメモリモジュールは以前にスキップされており再度チェックす必要があることを意味する。従って、ステップS730〜S740に戻り、スキップされたウィンドウのモジュールが有効かどうかチェックする。
【0050】
スキップされたウィンドウのモジュールが有効の場合、ステップS750が更に実行され、モジュールのウィンドウデータが読み込まれる。
全てのウィンドウのウィンドウデータが読み込まれたと判断された場合(ステップS760でNoの場合)、即ちスキップされたウィンドウが示されていない時は、ステップS770で、マスターコンピュータデバイス110のウィンドウシステム114が全ての得られたウィンドウデータを合成して合成ウィンドウデータを作成し、合成ウィンドウデータをディスプレイデバイス140のデスクトップに表示して、プロセスを終了する。
【0051】
スキップされたウィンドウ以外の全てのウィンドウのウィンドウデータが読み込まれ、スキップされたウィンドウがまだ書き込まれている時、マスターコンピュータデバイス110は、書き込み処理が完了するまで待機する。よって、共有メモリ130にデータを書き込むために待機する最大の待機時間は、共有メモリ130に全てのスクリーンウィンドウを書き込む時間以上の長さにはならない。よって、共有メモリ130は、読み込みまたは書き込み動作前に、ウィンドウデータの書き込みまたは読み込みにそれぞれ必要な最大時間と同じほどの長さの遅れを受けた場合においても、書き込みと書き込みあるいは読み込みと書き込みの競合なく、複数のウィンドウのウィンドウデータの同時読み込みと書き込みをサポートすることができる。
【0052】
なお、本実施形態においては、説明のために、スレーブコンピュータデバイスとして1つのスレーブコンピュータデバイス(即ちコンピュータデバイス120)だけを有するディスプレイシステム100を示したが、本発明はこれを限定されるものではない。言い換えれば、本発明においては、1つ以上のスレーブシステムを、ディスプレイシステム100に具備させることができ、また共有メモリ130に接続することができ、各スレーブシステムがそれらの自身のウィンドウデータを共有メモリ130に書き込むことができる。また、マスターコンピュータデバイス110は、上述のディスプレイ方法を適用して、マスターコンピュータデバイス110と全ての他のスレーブコンピュータデバイスによって作成された複数のウィンドウをディスプレイシステム100のディスプレイデバイス140に同時に表示することができる。
【0053】
要約すると、本発明に係る表示システム(ディスプレイシステム)と表示方法(ディスプレイ方法)に基づいて、共有メモリのウィンドウデータにアクセスすることで、同一のプラットフォームの複数のコンピュータデバイスによって同時に作成された複数のウィンドウ(マルチウィンドウ)を、CPU資源などの追加のハードウェア資源を用いることなく、ディスプレイシステムの単一ディスプレイデバイスに迅速に表示することができ、ウィンドウが更新または作成された時には常に効果的で即時のウィンドウ表示を提供することができる。また、ユーザーは、異なるオペレーティングシステムを用いることの影響を受けることなく、異なるコンピュータデバイス間のアプリケーション及び/またはウィンドウの操作または選択を、1つのシステムの単一に表示されたデスクトップにおいて行うことができる。
【0054】
本発明に係る表示システムと表示方法、またはその特定の態様または部分は、例えばフレキシブルディスク、CD−ROM 、ハードディスク、または他の機械読み取り可能な記憶媒体などの有形的表現媒体に組み込まれたプログラムコードの形をとることができる。プログラムコードは、例えばコンピュータなどの機械によってロードされて実行された時、その機械は、それによって前記方法等を実施する装置となる。
【0055】
また、本発明に係る表示システムと表示方法、またはその特定の態様または部分は、光ファイバーを通して、またはその他の伝送形態を通して、例えば電気配線またはケーブルなどのいくつかの伝送媒体を介して伝送されたプログラムコードの形で組み込まれることもできる。例えばコンピュータなどの機械にプログラムコードが受信されてロードされ、実行された時、その機械は、上述の方法等を実施する装置となる。また、汎用プロセッサにおいて実施された時、プログラムコードは、プロセッサと組み合わせられ、特定用途向けロジック回路に類似して動作する固有の装置を提供するものとなる。
【0056】
以上、本発明の好適な実施形態を例示したが、これは本発明を限定するものではない。本発明は、本発明の思想及び範囲を逸脱しない限りにおいて、当業者であれば行い得る少々の変更や修飾を付加することが可能であり、そのような形態のものも本発明の範囲内である。
【符号の説明】
【0057】
100 ディスプレイシステム
110 第1コンピュータデバイス
120 第2コンピュータデバイス
112、122 処理ユニット
116、126 オペレーティングシステム(OS)
114、124 ウィンドウシステム
130 共有メモリ
140 ディスプレイデバイス(表示装置)
150 スイッチングユニット
160 入力手段
170 出力手段
180 ウィンドウロケーションシステム
200 共有メモリ
201、203と、205 メモリモジュール
210 デスクトップ
300 ルックアップテーブル
400 デスクトップ
410、420 ディスプレイウィンドウ
430〜470 アイコン
810、820 デスクトップ

【特許請求の範囲】
【請求項1】
複数のウィンドウを同時に表示する表示システムであって、
ディスプレイデバイスと、前記ディスプレイデバイスにウィンドウを表示するウィンドウシステムを有するマスターコンピュータデバイス、
ディスプレイデバイスにウィンドウを表示するウィンドウシステムを有する少なくとも1つのスレーブコンピュータデバイス、
前記マスターコンピュータデバイスと前記少なくとも1つのスリーブコンピュータデバイスに各々接続される共有メモリ、
前記マスターコンピュータデバイスと前記少なくとも1つのスレーブコンピュータデバイスの前記ウィンドウシステムによって作成された複数のウィンドウに係るウィンドウデータを受ける入力手段、及び
前記マスターコンピュータデバイスの前記ディスプレイデバイスに前記複数のウィンドウを表示する出力手段を含み、
前記マスターコンピュータデバイスと前記少なくとも1つのスレーブコンピュータデバイスは、同時に前記共有メモリからウィンドウデータを読み込み、または前記共有メモリにウィンドウデータを書き込む表示システム。
【請求項2】
前記共有メモリは、前記ウィンドウデータを書き込む、または読み込むのに必要な最大時間と同じ時間の読み込み前または書き込み動作前の遅れを受けても、複数のウィンドウのウィンドウデータの同時読み込みと書き込みが、書き込みと書き込み、または読み込みと書き込みが競合なく行えることを特徴とする請求項1に記載の表示システム。
【請求項3】
前記共有メモリは、複数のメモリモジュールを更に含み、それぞれ対応するコントローラを有する請求項1に記載の表示システム。
【請求項4】
前記共有メモリは、一組の管理システムと一緒にリンクされたメモリモジュールであり、次のメモリモジュールを書き込むか、または読み込むかを判断する請求項3に記載の表示システム。
【請求項5】
前記共有メモリは、前記ウィンドウのデータを含む前記メモリモジュールのメモリアドレスに既定のウィンドウをマップするウィンドウロケーションシステムと更に関連付けられる請求項3に記載の表示システム。
【請求項6】
各メモリモジュールのサイズは、前記ウィンドウシステムに用いられたウィンドウの最大データサイズによって決定される請求項3に記載の表示システム。
【請求項7】
前記マスターコンピュータデバイスの処理ユニットタイプは、前記少なくとも1つのスレーブコンピュータデバイスの処理ユニットタイプと異なる請求項1に記載の表示システム。
【請求項8】
前記マスターコンピュータデバイスの前記ウィンドウシステムのタイプは、前記少なくとも1つのスレーブコンピュータデバイスの前記ウィンドウシステムのタイプと異なる請求項1に記載の表示システム。
【請求項9】
前記マスターコンピュータデバイスと前記少なくとも1つのスレーブコンピュータデバイスは、同一のコンピュータプラットフォームに属す同種または異種のコンピュータデバイスである請求項1に記載の表示方法。
【請求項10】
表示システム内のマスターコンピュータデバイスと少なくとも1つのスレーブコンピュータデバイスによって作成された複数のウィンドウを、同時に表示する表示方法であって、
前記表示システムは、ディスプレイデバイスとウィンドウシステムを有する前記マスターコンピュータデバイス、ウィンドウシステムを有する前記少なくとも1つのスレーブコンピュータデバイスと、前記マスターコンピュータデバイスと前記少なくとも1つのスリーブコンピュータデバイスによってアクセス可能な共有メモリを含み、
前記方法は、
前記共有メモリに前記少なくとも1つのスリーブコンピュータデバイスの前記ウィンドウデータを保存するステップ、
前記マスターコンピュータデバイスによって前記共有メモリから前記少なくとも1つのスリーブコンピュータデバイスの前記ウィンドウデータを得るステップ、及び
前記得られたウィンドウデータを合成して合成ウィンドウデータを作成し、前記合成ウィンドウデータが前記マスターコンピュータデバイスによって前記ディスプレイデバイスに表示されるステップを含む表示方法。
【請求項11】
前記共有メモリは、前記ウィンドウデータを書き込む、または読み込むのに必要な最大時間と同じ時間の読み込み前または書き込み動作前の遅れを受けても、複数のウィンドウのウィンドウデータの同時読み込みと書き込みが、書き込みと書き込み、または読み込みと書き込みが競合なく行えることを特徴とする請求項10に記載の表示方法。
【請求項12】
前記共有メモリは、複数のメモリモジュールを更に含み、それぞれ対応するメモリコントローラを有し、
前記共有メモリに前記少なくとも1つのスリーブコンピュータデバイスの前記ウィンドウデータを保存するステップは、
前記少なくとも1つのスリーブコンピュータデバイスの各ウィンドウを前記メモリモジュールの中の対応するメモリモジュールにマッピングするステップ、及び
前記ウィンドウデータが更新された時、前記少なくとも1つのスリーブコンピュータデバイスの前記ウィンドウのデータを前記対応するメモリモジュールに保存するステップを更に含む請求項10に記載の表示方法。
【請求項13】
前記共有メモリは、一組の管理システムと一緒にリンクされたメモリモジュールであり、次のメモリモジュールを書き込むか、または読み込むかを判断する請求項12に記載の表示方法。
【請求項14】
前記共有メモリは、前記ウィンドウのデータを含む前記メモリモジュールのメモリアドレスに既定のウィンドウをマップするウィンドウロケーションシステムと更に関連付けられ、
前記マスターコンピュータデバイスによって前記共有メモリから前記スリーブシステムの前記ウィンドウデータを得るステップは、
前記共有メモリに保存された前記少なくとも1つのスリーブコンピュータデバイスの全てのウィンドウデータを見つけるステップ、及び
前記ウィンドウロケーションシステムによって示された前記対応するメモリモジュールからそれぞれ位置するウィンドウデータを読み込むステップを更に含む請求項12に記載の表示方法。
【請求項15】
現在のメモリモジュールが前記少なくとも1つのスリーブコンピュータデバイスによって書き込まれている時、現在のメモリモジュールの読み込みをスキップし、もう1つのメモリモジュールを読み込むステップ、及び
前記スキップされたメモリモジュール以外の全ての前記メモリモジュールが読み込まれてスキップされた後、前記スキップされたメモリモジュールが有効かどうかチェックするステップを含み、
前記マスターコンピュータデバイスは、前記スキップされたメモリモジュール以外の全ての前記メモリモジュールが読み込まれてスキップされた後、前記スキップされたメモリモジュールがまだ書き込まれている場合、更に待機する請求項10に記載の表示方法。
【請求項16】
前記各メモリモジュールのサイズは、前記ウィンドウシステムに用いられるウィンドウの最大のデータサイズによって決定される請求項10に記載の表示方法。
【請求項17】
前記マスターコンピュータデバイスの処理ユニットデバイスは、少なくとも1つのスレーブコンピュータデバイスの処理ユニットデバイスと異なる請求項10に記載の表示方法。
【請求項18】
前記マスターコンピュータデバイスの前記ウィンドウシステムのタイプは、少なくとも1つのスレーブコンピュータデバイスのタイプと異なる請求項10に記載の表示方法。
【請求項19】
前記マスターコンピュータデバイスと前記少なくとも1つのスレーブコンピュータデバイスは、同一のデスクトップまたはラップトップのプラットフォームに属す同種または異種である請求項10に記載の表示方法。
【請求項20】
表示システムに複数のウィンドウを同時に表示する表示方法は、ディスプレイデバイスと対応するウィンドウシステムを有するマスターコンピュータデバイス、対応するウィンドウシステムと共有メモリを有する少なくとも1つのスレーブコンピュータデバイスを含み、
前記マスターコンピュータデバイスによって、前記少なくとも1つのスレーブコンピュータデバイスのアプリケーションを起動する起動信号を受信するステップ、
前記アプリケーションを実行して、前記アプリケーションの前記ウィンドウデータを作成し、前記アプリケーションの前記ウィンドウデータが前記少なくとも1つのスレーブコンピュータデバイスの前記ウィンドウシステムによって前記共有メモリに書き込まれるステップ、及び
前記共有メモリから前記アプリケーションの前記ウィンドウデータを得て、現在のウィンドウデータと前記得られたウィンドウデータのための構成を実行し、合成ウィンドウデータを作成し、前記合成ウィンドウデータが前記マスターコンピュータデバイスの前記ウィンドウシステムによって前記ディスプレイデバイスに表示されるステップを含む表示方法。
【請求項21】
前記少なくとも1つのスレーブコンピュータデバイスのアプリケーションを起動する前記起動信号は、前記マスターコンピュータデバイスのデスクトップのアプリケーションに対応する既定のクリック可能リンクを押すことによって発生される請求項20に記載の表示方法。
【請求項22】
前記共有メモリは、複数のメモリモジュールを更に含み、それぞれ対応するコントローラを有し、前記方法は、
前記少なくとも1つのスレーブコンピュータデバイスで実行している前記アプリケーションの前記ウィンドウデータが更新された時、前記アプリケーションの前記ウィンドウのデータを対応するメモリモジュールに保存するステップを更に含む請求項20に記載の表示方法。
【請求項23】
前記共有メモリは、前記ウィンドウのデータをそれぞれ書き込む、または読み込むのに必要な最大時間と同じほどの長さの読み込みまたは書き込み動作前の遅れを受けても書き込みと書き込み、または読み込みと書き込みの競合なく、複数のウィンドウのウィンドウデータの同時読み込みと書き込みを更にサポートする請求項20に記載の表示方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−107667(P2011−107667A)
【公開日】平成23年6月2日(2011.6.2)
【国際特許分類】
【出願番号】特願2009−284262(P2009−284262)
【出願日】平成21年12月15日(2009.12.15)
【出願人】(599064731)インスティチュート フォー インフォメイション インダストリ (24)
【氏名又は名称原語表記】INSTITUTE FOR INFORMATION INDUSTRY
【Fターム(参考)】