JP3312037B2 - 表示システム、xウィンドウサーバーシステム及び表示方法 - Google Patents
表示システム、xウィンドウサーバーシステム及び表示方法Info
- Publication number
- JP3312037B2 JP3312037B2 JP26532391A JP26532391A JP3312037B2 JP 3312037 B2 JP3312037 B2 JP 3312037B2 JP 26532391 A JP26532391 A JP 26532391A JP 26532391 A JP26532391 A JP 26532391A JP 3312037 B2 JP3312037 B2 JP 3312037B2
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- display element
- display
- selecting
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
Description
関し、より詳細にはコンピュータシステムの図形ディス
プレーに関する。さらに詳細にはこの発明はXウィンド
ウプロトコル中の図形スクリーンに関する。
チューセッツ工科大学で開発された高移植性ソフトウエ
ア標準である。これはエンジニアリング・ワークステー
ションのディスプレーを制御し、ページレイアウトエデ
ィタやコンピュータ支援設計パッケージ等のアプリケー
ションソフトウエアに標準環境を提供するものである。
ワークステーションディスプレーを動作させるのにXウ
ィンドウシステムを用いるアプリケーションは簡単に再
コンパイルでき、さまざまなコンピュータ・メーカーの
さまざまなワークステーション上で実行することができ
る。Xウィンドウシステム環境はクライアント処理とサ
ーバー処理を有する。クライアント処理は通常計算を行
い、サーバー処理は図形表示、図形入力といった入出力
動作を行う。クライアントとサーバーは同じコンピュー
タシステムに配置することができる。しかし、それらは
通常ローカルエリアネットワークで接続された異なるコ
ンピュータシステムに配置することもできる。サーバー
はシステムの単一のユーザーに対する入出力装置であ
る。サーバーは、キーボードや図形入力装置に加えて、
1つあるいはそれ以上の表示要素を有することがあり、
それぞれが1つあるいはそれ以上のハードウエアフレー
ムバッファを有する場合があり、各フレームバッファは
単一のスクリーンに写像を行う。
ユーザーはこのような単一の表示要素から良好に動作し
うるウィンドウの数に制約される。ユーザーがそのXウ
ィンドウ環境中で追加のウィンドウをアドレス指定した
い場合、追加の表示要素をサーバーに設置しなければな
らない。Xウィンドウとともに用いられる表示サーバー
には単一の表示要素を供給する多数のハードウエアフレ
ームバッファを有するものがある。これらのバッファは
それぞれXウィンドウへの別のスクリーンとして現れ、
ユーザーが1つのハードウエアフレームバッファの表示
から次に切り替えることを可能とするためにある種の機
構が設けられる。
a Cruz Operation(SCO)社の販売
するUNIXオペレーティングシステムでは単一の表示
要素に対する多重仮想スクリーンの形態は限られてい
る。SCOシステムでは多数のユーザーがシステムにロ
グオンすることを可能とする、あるいは単一のユーザー
が何回もログオンすることを可能とするのにパーソナル
コンピュータのキーボードとディスプレーを用いること
ができる。パーソナルコンピュータのキーボードのファ
ンクションキーを用いてユーザーは、そのユーザーが異
なる機能を実行するために再度ログオンすることを可能
とする新しい仮想スクリーンを選択することができる。
レームバッファを有するディスプレーに作用するXウィ
ンドウ環境中の多重仮想スクリーンを可能とするシステ
ムが要望されている。また当該技術において、多数のハ
ードウエアフレームバッファを有するディスプレーに作
用するXウィンドウ環境中の多重仮想スクリーンを可能
とするシステムが要望されている。
のである。
コル環境において多重仮想スクリーンの使用を可能とす
ることである。この発明のもう一つの側面はXウィンド
ウシステムのサーバー中のソフトウエアバッファ記述と
してかかる多重仮想スクリーンを提供することである。
この発明の他の側面はXウィンドウシステム中のクライ
アント処理で多重仮想スクリーンのいずれかをアドレス
指定することを可能とする方法を提供することである。
他の側面はサーバーのユーザーが表示要素に表示するた
めに多重仮想スクリーンのうちの1つを選択することを
可能とすることである。この発明のさらにもう一つの側
面はサーバーのユーザーがサーバーが維持すべき多重仮
想スクリーンの数を指定することを可能とすることであ
る。
面はXウィンドウシステム環境中のサーバーの単一のハ
ードウエアフレームバッファと単一の表示要素に対応し
た多数のソフトウエアバッファ記述を提供するシステム
において達成される。この環境中のサーバーだけが多重
仮想スクリーンが多数のハードウエアフレームバッファ
ではないことを知っている。すなわち、ソフトウエアバ
ッファ記述のそれぞれが別のハードウエアフレームバッ
ファであったものとしてクライアントがサーバーをアド
レス指定する。仮想スクリーンは実際のバッファではな
く、バッファ記述によって表されることが必要なだけで
ある。これはXウィンドウシステムではクライアント処
理が常にそのスクリーンを塗り替えることができなけれ
ばならないためである。したがって、ユーザーが異なる
仮想スクリーンを要求する場合、サーバーは要求された
仮想スクリーン上のウィンドウにデータを送るクライア
ント処理に通報し、このデータが表示要素上での表示の
ためにハードウエアフレームバッファに記憶される。バ
ッファ記述はすべてのウィンドウと仮想スクリーン上で
現在開いているそれらの位置のリストを含む。このリス
トはスクリーン上で受け取ったデータを配置するのに用
いられる。
つの仮想スクリーンから別の仮想スクリーンに移ること
ができる。たとえば、仮想スクリーンの切り替えに用い
られる機構の1つにカーソルがスクリーンの一方の側か
ら移動された時常に1つの仮想スクリーンから別の仮想
スクリーンに変更するものがある。この方法では、カー
ソルがスクリーンの右側を離れる場合、次に高い番号の
付いたバッファが選択され、カーソルがスクリーンの左
側を離れる場合、次に低い番号の付いたバッファが選択
される。この方法では仮想スクリーンを循環的なものと
して取り扱い、バッファゼロの左側を離れると最も高い
バッファが表示され、最も高いバッファの右側を離れる
とバッファゼロが表示される。また、サーバーの中には
サーバーが特定のスクリーンを選択することを可能にす
るファンクションキーを提供するものがあり、1つのフ
ァンクションキーはそれぞれの仮想スクリーンに対応し
ている。クライアントは多重仮想スクリーンの存在を知
らないため、クライアントはそれを別のハードウエアフ
レームバッファと表示要素であると考えてスクリーンに
データを送る。このデータが受け取られたとき、サーバ
ーは特定の仮想スクリーンが現在ハードウエアフレーム
バッファに記憶されている場合にのみこのデータを表示
する。
る最良の実施態様について行うものである。この説明は
限定的な意味に理解するべきではなく、単にこの発明の
一般的な原理を説明する目的で行うものである。
られる。表示要素:このシステムのユーザーが見る視覚
表示装置であり、通常は陰極線管(CRT)である。ハ
ードウエアフレームバッファ:表示要素に表示されるデ
ータのビット(画素)を保持するデータバッファ。スク
リーン:Xウィンドウシステムのクライアント処理の対
象となるディスプレー。簡単なシステムでは1つの表示
要素、1つのハードウエアフレームバッファを有するの
みであり、本発明を用いない場合、スクリーンは直接ハ
ードウエアフレームバッファに写像し、ハードウエアフ
レームバッファが表示要素に写像する。バッファ記述:
仮想スクリーンを表すテーブルの集合。これらのテーブ
ルはハードウエアフレームバッファ中の仮想スクリーン
データを表示要素上の表示のために構成するのに用いら
れる。
ライアントと多数のサーバーを有するネットワークの従
来の図を示す。図2において、Xウィンドウ環境100
は複数のコンピュータ104、106、114および1
20を接続するローカルエリアネットワーク102を有
する。第1のコンピュータ104はファイルおよび計算
CPUである。なぜなら、これはローカルに取りつけら
れたディスプレーを有しないためである。コンピュータ
104は通常Xウィンドウ環境中の1つあるいはそれ以
上のクライアント処理を含む。第2のコンピュータ10
6は表示要素108、マウス図形入力装置110、およ
びキーボード入力装置112を有する。第3のコンピュ
ータ114は2つのローカルに取りつけられた表示要素
116および118を有する。第4のコンピュータ12
0は複数のローカルに取りつけられた表示要素122、
124、および126を有するが、単一のキーボード1
28を有するのみである。したがって、この3つの表示
要素は単一のユーザーに使用されるだけである。表示要
素108、116、118、122、124あるいは1
26はいずれもその表示要素に対応した多数のハードウ
エアフレームバッファを持つことができる。
ハードウエアフレームバッファを有する本発明の一実施
例のブロック図を示す。図1において、サーバー200
は主メモリ218に含まれるサーバーソフトウエア中の
命令を実行する処理要素202を含む。処理要素202
はシステムバス204上でシステムの他の要素と交信す
る。サーバーはまた、ユーザーからのテキスト入力を受
けるためのキーボード206および図形入力を受けるた
めの図形入力装置216を含む。図形入力装置の一例と
してマウスがある。ネットワークインタフェース212
は、クライアント処理が別のコンピュータシステムにあ
る場合にサーバーがクライアント処理と交信するのに用
いられ、またときにはクライアント処理が同じシステム
中にあるときにも同じ目的に用いられる。表示要素20
2はサーバーがクライアント処理によって要求された図
形を表示するのに用いられる。主メモリ218内で、サ
ーバーソフトウエア220はクライアント処理によって
要求されるすべての動作を行い、複数のソフトウエアバ
ッファ記述222を仮想スクリーンとして用いる。
るとき、ユーザーはセッションに必要な仮想スクリーン
の数を定め、サーバーソフトウエア220が主メモリ2
10から各仮想スクリーンに対するソフトウエアバッフ
ァ記述222を割り当てる。バッファ記述222は仮想
メモリから割り当てることができ、サーバーソフトウエ
ア220によって使用されていないときは、バッファ記
述の内容は仮想メモリページとしてディスク210に記
憶される。仮想メモリを用いることによって、通常はる
かに多くの数のバッファ記述がシステムのユーザーに利
用可能となり、これはハードウエアバッファに対して著
しく優れた点である。サーバー200がウィンドウ管理
者クライアント処理との通信を確立するとき、サーバー
200はそれぞれのバッファ記述222をウィンドウ管
理者あるいはその他のクライアント処理への別個のスク
リーンとして識別する。その後、クライアント処理はサ
ーバー200に含まれる仮想スクリーンと同数のハード
ウエアフレームバッファを有するサーバーに指令を与え
る。すなわち、クライアント処理が仮想スクリーンの1
つにウィンドウを作成すると、そのウィンドウの記述が
対応するバッファ記述222内に構成され、その特定の
バッファ記述222がハードウエアフレームバッファ2
08と表示要素209に表示されている場合にのみ図形
ディスプレーに表示される。
が表示されるように要求することができ、このような要
求がなされたとき、サーバーソフトウエア220はその
スクリーン上のウィンドウ付きのクライアント処理に対
してそのウィンドウを変更するように要求することによ
って対応するバッファ記述222の内容を表示要素20
9に表示する。
場合、サーバーはウィンドウに表示されたデータのコピ
ーを保持するためにその補助記憶を用いることができ
る。この場合、ユーザーが異なる仮想スクリーンを要求
するとき、クライアント処理に変更を要求するかわり
に、そのスクリーン上のウィンドウに対するウィンドウ
データが補助記憶からハードウエアフレームバッファに
コピーされる。
ドウエアフレームバッファを有するこの発明のブロック
図を示す。図3において、サーバー300はシステムバ
ス304を介してシステムの他の要素と交信する処理要
素302を含む。キーボード306はテキスト入力に用
いられ、マウス等の図形入力装置316はシステムに図
形情報を入力するのに用いられる。ネットワークインタ
フェース314はシステム中のクライアント処理と交信
するのに用いられる。図形表示装置308は表示要素3
12と2つのハードウエアフレームバッファ310およ
び311を含む。主メモリ318はクライアント処理か
らサーバー300に送られるすべての指令を処理するサ
ーバーソフトウエア320を含む。主メモリ318には
1セットのソフトウエアバッファ記述322が含まれ
る。またメモリ318には第2のソフトウエアバッファ
記述のセット324が含まれる。ソフトウエアバッファ
記述のセット322はハードウエアバッファ310用の
多重仮想スクリーンとしてはたらく。ソフトウエアバッ
ファ記述のセット324はハードウエアフレームバッフ
ァ311用の多重仮想スクリーンとしてはたらく。セッ
ト322および324のバッファ記述の数は異なっても
よい。仮想スクリーンの総数M+1はソフトウエアバッ
ファの記述のセット322と324の間で分解される。
アフレームバッファ310と311は表示要素312が
ユーザーの要求に応じて2つの異なる図形画像を表示す
ることを可能とする。すなわち、ユーザーはハードウエ
アフレームバッファ310あるいはハードウエアフレー
ムバッファ311のいずれかを表示要素312上に表示
することを要求することができる。バッファ310と3
11のそれぞれに対して、バッファ記述のセット322
あるいは324がバッファ310と311のそれぞれが
多重仮想スクリーンを持つことを可能にする。
あるいはそれ以上のハードウエアフレームバッファのセ
ットを有する多数の表示要素を持つこともでき、各ハー
ドウエアフレームバッファは複数のソフトウエアバッフ
ァ記述を持つことができる。
は300中のクライアント要求を受ける過程のフローチ
ャートを示す。図4において、要求が受け取られると、
フローチャートに入り(エンター)、ブロック402で
クライアント要求で要求された仮想スクリーンが構成さ
れたかどうかが判定される。すなわち、クライアント処
理がサーバーに構成されていない数の仮想スクリーンを
要求したかどうかが判定される。クライアント要求が構
成されていない番号のスクーンを要求するものである場
合、プロック402からブロック404に移行し、そこ
でリターンする前にエラー事象がクライアント処理に返
される。要求されたスクリーンが構成済みである場合、
ブロック402からブロック406に移行し、そこでこ
の仮想スクリーンが現在表示されているかどうかが判定
される。要求され仮想スクリーンが表示されていない場
合、この要求は無視され、図4は要求元に返る。クライ
アント処理は常に要求に応じてスクリーンを塗り換えな
ければならないためにこれが可能であり、したがって表
示されていない仮想スクリーンに対する要求を無視する
ことによってデータが失われることはない。
場合、すなわちそのデータがハードウエアフレームバッ
ファに置かれている場合、制御はブロック408に移行
し、ブロック408ではその要求を処理し、要求元に返
る前に図形データを適当なハードウエアフレームバッフ
ァに記憶する。
リーンから別の仮想スクリーンに変更する処理のフロー
チャートを示す。このフローチャートの処理はユーザー
が表示中の仮想スクリーンの変更を要求するときには常
に呼び出される。この要求はいろいろな方法で行うこと
ができる。たとえば、ユーザーがサーバーの図形入力装
置を用いてカーソルをスクリーンの右側から離そうとす
るときには常により高い番号の付いた仮想スクリーンを
選択することができる。ユーザーがカーソルをスクリー
ンの左側から離す場合、次に低い番号の付いた仮想スク
リーンバッファが選択される。また、バッファは循環的
に動きラップアラウンドする。したがって、最も高い番
号の付いたスクリーンの右側を離れると最も低い番号の
付いたスクリーンが表示され、最も高い番号の付いたス
クリーンの右を離れると最も高い番号の付いたスクリー
ンが表示される。
ック502で仮想スクリーンが構成されたかどうかが判
定される。要求され仮想スクリーンが構成されていない
場合、ブロック502からブロック504に移行し、そ
こでエラーが返される。前述したように、仮想バッファ
記述は循環的に動き、したがって図形入力装置が新しい
仮想スクリーンを要求するのに用いられている場合、バ
ッファはラップし、仮想スクリーンが常に構成される。
たとえばユーザーが仮想スクリーン番号を入力するとい
うように、仮想スクリーンを要求するのに別の方法が用
いられている場合、要求された仮想スクリーンは無効と
なることがある。
ロック502からブロック506に移行し、そこでこの
仮想スクリーンのハードウエアフレームバッファがイネ
ーブルされているかどうかが判定される。ユーザーは新
しい仮想スクリーンが表示されることを要求したため、
それに対応するハードウエアフレームバッファもまたユ
ーザーがスクリーンデータを見ることができるようにイ
ネーブルされなければならない。ハードウエアフレーム
バッファがイネーブルされていない場合、ブロック50
6からブロック508に移行し、そこで表示要素に対す
る現在のハードウエアフレームバッファが不能とされ、
ブロック510でこの仮想スクリーンに対する正しいハ
ードウエアフレームバッファがイネーブルされる。正し
いバッファをイネーブルした後、あるいは正しいバッフ
ァがすでにイネーブルされている場合、制御はブロック
512に向かい、ブロック512ではその仮想スクリー
ンが現在そのハードウエアフレームバッファにあるかど
うかが判定される。仮想スクリーンデータがすでにその
ハードウエアフレームバッファにある場合、ブロック5
12は単にその要求元に返る。これはデータが現在表示
されているためである。その仮想スクリーンが現在その
ハードウエアフレームバッファにない場合、ブロック5
12からブロック514に移行し、そこでそのハードウ
エアフレームバッファの現在の内容が消去され、ブロッ
ク516でスクリーンのサーバーによって維持される部
分が作成される。たとえば、通常サーバーはウィンドウ
が完全にスクリーンを占めていない場合にすべてのウィ
ンドウの背後に発生するスクリーンの背景パターンを維
持する。スクリーンのサーバーによって維持される部分
を作成した後、ブロック516からブロック518に移
行し、そこで補助記憶が使用されているかどうかが判定
される。補助記憶が使用されている場合、ブロック51
8からブロック520に移行し、そこで補助記憶からハ
ードウエアフレームバッファにウィンドウデータがコピ
ーされる。補助記憶が使用されていない場合、ブロック
518からブロック522に移行し、そこでこの仮想ス
クリーン上のすべてのウィンドウに対する表出事象を発
生し、それによってこれらのウィンドウを有するクライ
アント処理にウィンドウデータを変更させる。表出事象
を作成した後、あるいは補助記憶からデータをコピーし
た後、図5は要求元に返る(リターン)。補助記憶が使
用されているとき、ウィンドウの中にはまだクライアン
ト処理によって再描画しなければならないものもある。
レームバッファを有する2つの表示要素上で使用するた
めに構成したいくつかの仮想スクリーンの例を示す。図
6において、複数の仮想スクリーン602、604、6
06、608、610、612および614は、2つの
表示要素624と626に接続された4つのハードウエ
アフレームバッファ616、618、620および62
2を有するシステムで使用するためにユーザーによって
構成された。仮想スクリーンを変更する一例として、ユ
ーザーが始めに表示要素624上に表示するために仮想
スクリーン2606を構成したと仮定する。ユーザーが
仮想スクリーン2 606の表示から仮想スクリーン3
608の表示に変更することを決定するとき、図5に
関して前述したように、このシステムはまず表示装置6
24上に表示するためにハードウエアフレームバッファ
618をイネーブルし、次にハードウエアフレームバッ
ファ618中の仮想スクリーン3 608中にウィンド
ウを作成する。図5に関して前述したように、これは補
助記憶が利用可能である場合には補助記憶からウィンド
ウデータをコピーすることによって、あるいは仮想スク
リーン3608中のすべてのウィンドウに対する表出事
象を発生することによって行うことができる。ハードウ
エアフレームバッファ618中にウィンドウが作成さ
れ、表示要素624上に表示するためにハードウエアフ
レームバッファ618がイネーブルされた後、仮想スク
リーン3 608のウィンドウが表示要素624上に表
示される。同様にしてユーザーが後続の仮想スクリーン
をイネーブルすると、それぞれの仮想スクリーンにウィ
ンドウが作成される。ユーザーは矢印628に示す順序
で仮想スクリーンをイネーブルすることができる。しか
し、仮想スクリーン6614は常に表示要素626上に
表示することに注意しなければならない。
が、この発明の目的が充分に達成されたことが理解され
るであろう。また当該技術の熟練者には、この発明の精
神と範囲から逸脱することなく、この発明の構造と回路
に対する多くの変更、およびさまざまな実施例とアプリ
ケーションがあることが理解されるであろう。
より、システムサーバー・クライアント環境において、
単一あるいは複数のハードウエアフレームバッファを有
する表示装置に多重仮想スクリーンを表示できる。そし
て、前述「発明の目的」において述べた側面が実現でき
るので、実用に供して有益である。
を備えた本発明の一実施例のブロック図である。
のクライアントを有するネットワークの従来技術におけ
る例を示す図である。
バッファを有する本発明の一実施例のブロック図であ
る。
受ける過程を示すフローチャートである。
ンから他の仮想スクリーンに移行する過程を示すフロー
チャートである。
素に対して構成された複数の仮想スクリーンを例示して
説明するための図である。
ァ 108,116,118,122,124,126,2
09,308:表示要素 210,316:ディスク 212,314:ネットワークインタフェース 216,316:図形入力装置 218,318:主メモリ 220,320:サーバーソフトウエア 222,322,324:バッファ記述
Claims (14)
- 【請求項1】ユーザーが選択可能な複数のデータの仮想
スクリーンを単一の表示要素に表示するためのシステム
であって、以下(イ)から(ハ)を含むことを特徴とす
るシステム、 (イ)データを配置し格納するために複数のバッファ記
述を割り当てる手段であって、前記複数のバッファ記述
の一つは前記複数の仮想スクリーンの各々に割り当てら
れ、前記バッファ記述の各々は、前記複数の仮想スクリ
ーンの1つを表し、前記仮想スクリーンの各々は、複数
のクライアント・ウインドウを含み、前記複数のクライ
アント・ウインドウの各々は、一つ以上のクライアント
・プロセスを表し、ここで、前記複数の仮想スクリーン
の各々は、1つ以上のクライアント・プロセスをサポー
トする、 (ロ)表示データを配置するための前記複数のバッファ
記述の一つをユーザが選択する手段、 (ハ)クライアント・プロセスから表示データを受け取
り、前記表示要素上の前記表示データを配置するために
前記選ばれたバッファ記述を使用する手段。 - 【請求項2】請求項1に記載のシステムであって、複数
のバッファ記述を割り当てる前記手段はさらに、前記バ
ッファ記述を、補助記憶装置上に仮想メモリーとして割
り当てる手段を含むことを特徴とするシステム。 - 【請求項3】請求項1に記載のシステムであって、前記
複数のバッファ記述の一つを選択する前記手段はさら
に、以下(イ)から(ハ)を含むことを特徴とするシス
テム、 (イ)前記表示要素上のカーソルの位置を決定する手
段、 (ロ)前記カーソルを前記表示要素上の新しい位置へ移
動させる手段、 (ハ)前記カーソルが前記表示要素の端へ動くとき、異
なるバッファ記述を選択する手段。 - 【請求項4】請求項3に記載のシステムであって、 前記選択する手段が、更に以下(イ)及び(ロ)を含む
ことを特徴とする手段、 (イ)前記カーソルが前記表示要素の右側端へ動かされ
るときに、より多い番号のつけられたバッファ記述を選
ぶ手段、 (ロ)前記カーソルが前記表示要素の左側端へ動かされ
るときに、より少ない番号のつけられたバッファ記述を
選ぶ手段。 - 【請求項5】請求項1に記載のシステムであって、前記
複数のバッファ記述の数量がユーザの選択可能であるこ
とを特徴とするシステム。 - 【請求項6】一つ以上の表示要素上にユーザーが選択可
能な複数の仮想スクリーンのデータを表示するためのサ
ーバシステムであって、各システムは一つ以上のハード
ウェア・フレーム・バッファを有し、以下(イ)から
(ホ)を備えていることを特徴とするシステム、 (イ)データを配置し格納するために複数のバッファ記
述を割り当てる手段であって、前記複数のバッファ記述
の一つは前記複数の仮想スクリーンの各々に割り当てら
れ、前記バッファ記述の各々は、前記複数の仮想スクリ
ーンの1つを表し、前記仮想スクリーンの各々は、複数
のクライアント・ウインドウを含み、前記複数のクライ
アント・ウインドウの各々は、一つ以上のクライアント
・プロセスを表し、ここで、前記複数の仮想スクリーン
の各々は、1つ以上のクライアント・プロセスをサポー
トする、 (ロ)前記バッファ記述の少なくとも一つを、前記ハー
ドウェア・フレーム・バッファの各々に接続する手段、 (ハ)表示データを配置するための前記複数のバッファ
記述の一つをユーザが選択する手段、 (ニ)前記表示要素のうちの1つの上に、表示データを
表示するために前記複数のハードウェア・フレーム・バ
ッファの一つを選択する手段、 (ホ)クライアント・プロセスから表示データを受け取
り、前記バッファ記述を使用して、前記表示データを前
記選択されたハードウェア・フレーム・バッファの中、
および前記表示要素の一つの上に配置する手段。 - 【請求項7】請求項6に記載のシステムであって、複数
のバッファ記述を割り当てる前記手段は、さらに前記バ
ッファ記述を、補助記憶装置上に仮想メモリーとして割
り当てる手段を含むことを特徴とするシステム。 - 【請求項8】請求項6に記載のシステムであって、前記
複数のバッファ記述の一つを選択する前記手段は、以下
(イ)から(ハ)を含むことを特徴とするシステム、 (イ)前記表示要素上のカーソルの位置を決定する手
段、 (ロ)前記カーソルを前記表示要素上の新しい位置へ移
動させる手段、 (ハ)前記カーソルが前記表示要素の端に動くとき、異
なるバッファ記述を選択する手段。 - 【請求項9】請求項8に記載のシステムであって、前記
選択する手段が、更に以下(イ)及び(ロ)を含むこと
を特徴とするシステム、 (イ)前記カーソルが前記表示要素の右側端へ動かされ
るときに、より多い番号のつけられたバッファ記述を選
ぶ手段、 (ロ)前記カーソルが前記表示要素の左側端へ動かされ
るときに、より少ない番号のつけられたバッファ記述を
選ぶ手段。 - 【請求項10】請求項6に記載のシステムであって、前
記複数のバッファ記述の数量がユーザの選択可能である
ことを特徴とするシステム。 - 【請求項11】ユーザーが選択可能な複数のデータの仮
想スクリーンを一つの表示要素に表示するための方法で
あって、前記方法は、以下(イ)から(ハ)のステップ
を含むことを特徴とする方法、 (イ)データを配置し格納するために複数のバッファ記
述を割り当てるステップであって、前記複数のバッファ
記述の一つは前記複数の仮想スクリーンの各々に割り当
てられ、前記バッファ記述の各々は、前記複数の仮想ス
クリーンの1つを表し、前記仮想スクリーンの各々は、
複数のクライアント・ウインドウを含み、前記複数のク
ライアント・ウインドウの各々は、一つ以上のクライア
ント・プロセスを表し、ここで、前記複数の仮想スクリ
ーンの各々は、1つ以上のクライアント・プロセスをサ
ポートする、 (ロ)ユーザが、表示データを配置するための前記複数
のバッファ記述の一つを選択するステップ、 (ハ)サーバ・ソフトウエアが、クライアント・プロセ
スから表示データを受け取り、前記表示要素上の前記表
示データを配置するために前記選ばれたバッファ記述を
使用するステップ。 - 【請求項12】請求項11に記載の方法であって、複数
のバッファ記述を割り当てる前記ステップはさらに、前
記バッファ記述を、補助記憶装置上に仮想メモリーとし
て割り当てるステップを含むことを特徴とする方法。 - 【請求項13】請求項11に記載の方法であって、前記
複数のバッファ記述の一つを選択する前記ステップはさ
らに、以下(イ)及び(ロ)のステップを含むことを特
徴とする方法、 (イ)前記表示要素上のカーソルの位置を決定するステ
ップ、 (ロ)前記カーソルが前記表示要素の端へ動くとき、異
なるバッファ記述を選択するステップ。 - 【請求項14】請求項13に記載の方法であって、前記
選択するステップが、更に以下(イ)及び(ロ)を含む
ことを特徴とする方法、 (イ)前記カーソルが前記表示要素の右側端へ動かされ
るときに、より多い番号のつけられたバッファ記述を選
ぶステップ、 (ロ)前記カーソルが前記表示要素の左側端へ動かされ
るときに、より少ない番号のつけられたバッファ記述を
選ぶステップ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/583,790 US5289574A (en) | 1990-09-17 | 1990-09-17 | Multiple virtual screens on an "X windows" terminal |
US583790 | 1990-09-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04314124A JPH04314124A (ja) | 1992-11-05 |
JP3312037B2 true JP3312037B2 (ja) | 2002-08-05 |
Family
ID=24334570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26532391A Expired - Lifetime JP3312037B2 (ja) | 1990-09-17 | 1991-09-17 | 表示システム、xウィンドウサーバーシステム及び表示方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5289574A (ja) |
JP (1) | JP3312037B2 (ja) |
Families Citing this family (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2512250B2 (ja) * | 1991-09-13 | 1996-07-03 | 松下電器産業株式会社 | 動画表示ワ―クステ―ション |
JP2547947B2 (ja) * | 1992-12-11 | 1996-10-30 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 複合タスクを実行するコンピュータプログラムの視覚的概念図の構成方法 |
CA2105055C (en) * | 1993-01-05 | 1998-06-16 | Jeffrey Scott Boston | Window restoration methods for halted debuggee window applications |
US5544320A (en) * | 1993-01-08 | 1996-08-06 | Konrad; Allan M. | Remote information service access system based on a client-server-service model |
JP3038521B2 (ja) * | 1993-04-02 | 2000-05-08 | 株式会社日立製作所 | 製品図面作成装置 |
JPH06325182A (ja) * | 1993-05-10 | 1994-11-25 | Hitachi Ltd | グラフィックス描画方法及びその装置と計算機システム |
US5717880A (en) * | 1993-09-06 | 1998-02-10 | Kabushiki Kaisha Toshiba | Method and apparatus for relaying events and requests in a windows systems |
FR2711819B1 (fr) * | 1993-10-21 | 1997-08-29 | Cegelec | Gestionnaire de fenêtres notamment pour poste de contrôle/commande sous multifenêtrage. |
US5544300A (en) * | 1993-11-12 | 1996-08-06 | Intel Corporation | User interface for dynamically converting between a single top level window and multiple top level windows |
US5572649A (en) * | 1993-11-12 | 1996-11-05 | Intel Corporation | Process for dynamically switching between a single top level window and multiple top level windows |
US5682487A (en) * | 1994-06-10 | 1997-10-28 | Bay Networks, Inc. | Method and apparatus providing resizable views |
US5748866A (en) * | 1994-06-30 | 1998-05-05 | International Business Machines Corporation | Virtual display adapters using a digital signal processing to reformat different virtual displays into a common format and display |
JPH10507853A (ja) * | 1994-10-25 | 1998-07-28 | オブジェクト テクノロジー ライセンシング コーポレイション | ウィンドウをサービスするためのオブジェクト指向システム |
US5724532A (en) * | 1994-10-27 | 1998-03-03 | Bay Networks, Inc. | Method and apparatus for exchanging information between application programs according to a drag and drop operation |
US5557725A (en) * | 1995-02-13 | 1996-09-17 | International Business Machines Corporation | Method and system for switching between users in a conference enabled application |
US5640540A (en) * | 1995-02-13 | 1997-06-17 | International Business Machines Corporation | Method and apparatus for translating key codes between servers over a conference networking system |
US6356275B1 (en) | 1995-02-13 | 2002-03-12 | International Business Machines Corporation | Pixel color matching across X servers in network conferencing systems by master-participant pair mapping |
US5689705A (en) * | 1995-02-13 | 1997-11-18 | Pulte Home Corporation | System for facilitating home construction and sales |
US5887170A (en) * | 1995-02-13 | 1999-03-23 | International Business Machines Corporation | System for classifying and sending selective requests to different participants of a collaborative application thereby allowing concurrent execution of collaborative and non-collaborative applications |
US6195710B1 (en) * | 1995-06-12 | 2001-02-27 | International Business Machines Corporation | Operating system having shared personality neutral resources |
US7720672B1 (en) | 1995-12-29 | 2010-05-18 | Wyse Technology Inc. | Method and apparatus for display of windowing application programs on a terminal |
US5918039A (en) * | 1995-12-29 | 1999-06-29 | Wyse Technology, Inc. | Method and apparatus for display of windowing application programs on a terminal |
US6088005A (en) * | 1996-01-11 | 2000-07-11 | Hewlett-Packard Company | Design and method for a large, virtual workspace |
US5920315A (en) * | 1996-07-17 | 1999-07-06 | International Business Machines Corporation | Multi-pane window with recoiling workspaces |
US5771042A (en) * | 1996-07-17 | 1998-06-23 | International Business Machines Corporation | Multi-size control for multiple adjacent workspaces |
US5999180A (en) * | 1996-09-04 | 1999-12-07 | Ncr Corporation | Method and system for generating a configuration file using an X-windows server configuration tool |
US6307570B1 (en) * | 1997-03-31 | 2001-10-23 | Citrix Systems, Inc. | Virtual input device |
WO1998057319A1 (en) * | 1997-06-10 | 1998-12-17 | Beaird, Chyle, E. | Multiple access computer monitoring system |
US6065041A (en) | 1997-09-18 | 2000-05-16 | Electronics For Imaging, Inc. | Interface code architecture |
DE19818819A1 (de) * | 1997-11-20 | 1999-05-27 | Mitsubishi Electric Corp | Schirm-Erstellungseditor mit Schirmübergangs-Editierfunktion |
US6407751B1 (en) * | 1998-01-28 | 2002-06-18 | International Business Machines Corporation | Method and apparatus of generating mobile objects and storage medium storing an object generating mobile objects |
EP1043887A1 (en) * | 1999-03-30 | 2000-10-11 | World Callnet, Inc. | Method and apparatus for providing internet access through a television and telephone system |
US6504547B1 (en) * | 1999-08-13 | 2003-01-07 | Pixo, Inc. | Standardization of graphics system logical frame buffer |
US6404443B1 (en) | 1999-08-25 | 2002-06-11 | Sharp Laboratories Of America | Three-dimensional graphical user interface for managing screen objects |
US7155457B1 (en) * | 1999-12-31 | 2006-12-26 | Ge Medical Systems Information Technologies, Inc. | Method and apparatus for managing memory in a workstation |
US6888550B2 (en) * | 2001-07-19 | 2005-05-03 | International Business Machines Corporation | Selecting between double buffered stereo and single buffered stereo in a windowing system |
US7681112B1 (en) | 2003-05-30 | 2010-03-16 | Adobe Systems Incorporated | Embedded reuse meta information |
US7921373B2 (en) * | 2004-04-05 | 2011-04-05 | Panasonic Corporation | Display screen management apparatus |
US7490295B2 (en) * | 2004-06-25 | 2009-02-10 | Apple Inc. | Layer for accessing user interface elements |
US7761800B2 (en) * | 2004-06-25 | 2010-07-20 | Apple Inc. | Unified interest layer for user interface |
US8302020B2 (en) * | 2004-06-25 | 2012-10-30 | Apple Inc. | Widget authoring and editing environment |
US7546543B2 (en) | 2004-06-25 | 2009-06-09 | Apple Inc. | Widget authoring and editing environment |
US8453065B2 (en) * | 2004-06-25 | 2013-05-28 | Apple Inc. | Preview and installation of user interface elements in a display environment |
US8239749B2 (en) | 2004-06-25 | 2012-08-07 | Apple Inc. | Procedurally expressing graphic objects for web pages |
US8566732B2 (en) * | 2004-06-25 | 2013-10-22 | Apple Inc. | Synchronization of widgets and dashboards |
JP4738805B2 (ja) * | 2004-12-16 | 2011-08-03 | 株式会社リコー | 画面共有システム、画面共有方法、画面共有プログラム |
US8140975B2 (en) * | 2005-01-07 | 2012-03-20 | Apple Inc. | Slide show navigation |
US8543931B2 (en) | 2005-06-07 | 2013-09-24 | Apple Inc. | Preview including theme based installation of user interface elements in a display environment |
US10026140B2 (en) | 2005-06-10 | 2018-07-17 | Nvidia Corporation | Using a scalable graphics system to enable a general-purpose multi-user computer system |
US8189108B2 (en) * | 2005-08-05 | 2012-05-29 | Samsung Electronics Co., Ltd. | Apparatus for providing multiple screens and method of dynamically configuring multiple screens |
US20070101279A1 (en) * | 2005-10-27 | 2007-05-03 | Chaudhri Imran A | Selection of user interface elements for unified display in a display environment |
US7743336B2 (en) * | 2005-10-27 | 2010-06-22 | Apple Inc. | Widget security |
US7954064B2 (en) | 2005-10-27 | 2011-05-31 | Apple Inc. | Multiple dashboards |
US8543824B2 (en) * | 2005-10-27 | 2013-09-24 | Apple Inc. | Safe distribution and use of content |
US7752556B2 (en) | 2005-10-27 | 2010-07-06 | Apple Inc. | Workflow widgets |
US9104294B2 (en) * | 2005-10-27 | 2015-08-11 | Apple Inc. | Linked widgets |
US7707514B2 (en) | 2005-11-18 | 2010-04-27 | Apple Inc. | Management of user interface elements in a display environment |
US20070162850A1 (en) * | 2006-01-06 | 2007-07-12 | Darin Adler | Sports-related widgets |
US20070162860A1 (en) * | 2006-01-11 | 2007-07-12 | General Electric Company | Remote console for observing multiple workstations |
US8155682B2 (en) * | 2006-05-05 | 2012-04-10 | Research In Motion Limited | Handheld electronic device including automatic mobile phone number management, and associated method |
US8869027B2 (en) * | 2006-08-04 | 2014-10-21 | Apple Inc. | Management and generation of dashboards |
MX2009006596A (es) * | 2006-12-18 | 2009-07-02 | Samsung Electronics Co Ltd | Metodo y aparato de administracion de varias pantallas para una configuracion de varias pantallas. |
US7979620B2 (en) * | 2006-12-27 | 2011-07-12 | International Business Machines Corporation | Method, system and computer program for monitoring activities on computers connected through a hardware switch |
US20080168367A1 (en) * | 2007-01-07 | 2008-07-10 | Chaudhri Imran A | Dashboards, Widgets and Devices |
US20080270910A1 (en) * | 2007-04-30 | 2008-10-30 | Lukasik Derek J | User selection of a remote session |
US20090005071A1 (en) * | 2007-06-28 | 2009-01-01 | Apple Inc. | Event Triggered Content Presentation |
US8954871B2 (en) * | 2007-07-18 | 2015-02-10 | Apple Inc. | User-centric widgets and dashboards |
US20090021486A1 (en) * | 2007-07-19 | 2009-01-22 | Apple Inc. | Dashboard Surfaces |
US8667415B2 (en) * | 2007-08-06 | 2014-03-04 | Apple Inc. | Web widgets |
US8156467B2 (en) * | 2007-08-27 | 2012-04-10 | Adobe Systems Incorporated | Reusing components in a running application |
US8176466B2 (en) | 2007-10-01 | 2012-05-08 | Adobe Systems Incorporated | System and method for generating an application fragment |
US9619304B2 (en) | 2008-02-05 | 2017-04-11 | Adobe Systems Incorporated | Automatic connections between application components |
US8656293B1 (en) | 2008-07-29 | 2014-02-18 | Adobe Systems Incorporated | Configuring mobile devices |
US8819560B2 (en) * | 2008-08-04 | 2014-08-26 | International Business Machines Corporation | Dispatching events to multiple browser windows/tabs using a single connection |
US10489053B2 (en) * | 2008-11-20 | 2019-11-26 | Gula Consulting Limited Liability Company | Method and apparatus for associating user identity |
US8108791B2 (en) * | 2009-02-27 | 2012-01-31 | Microsoft Corporation | Multi-screen user interface |
US8959452B2 (en) * | 2011-10-11 | 2015-02-17 | Texas Instruments Incorporated | Method, system and computer program product for receiving information from a user |
US20160224220A1 (en) * | 2015-02-04 | 2016-08-04 | Wipro Limited | System and method for navigating between user interface screens |
CN106775677B (zh) * | 2016-11-30 | 2020-10-27 | 广州新博庭网络信息科技股份有限公司 | 一种多屏显示方法及其实现方法和系统 |
US10732934B2 (en) | 2016-12-09 | 2020-08-04 | Vmware, Inc. | Information-technology workflows using executable tiles |
US10733013B2 (en) | 2016-12-09 | 2020-08-04 | Vmware, Inc. | Information-technology workflows using executable tiles distributed between workflow instances |
US10732947B2 (en) | 2016-12-09 | 2020-08-04 | Wmware, Inc. | Information-technology workflow using tiles that declaratively specify datatypes |
US11003466B2 (en) | 2016-12-09 | 2021-05-11 | Vmware, Inc. | Information-technology workflows using executable tiles with plural user interfaces |
US11347464B2 (en) * | 2017-07-28 | 2022-05-31 | Ncr Corporation | Unique display output control for dual displays |
CN117076035B (zh) * | 2023-10-13 | 2023-12-26 | 麒麟软件有限公司 | 一种x窗口系统下花屏的优化方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4414621A (en) * | 1977-06-13 | 1983-11-08 | Canadian Patents & Development Ltd. | Interactive visual communications system |
US4204206A (en) * | 1977-08-30 | 1980-05-20 | Harris Corporation | Video display system |
US4555775B1 (en) * | 1982-10-07 | 1995-12-05 | Bell Telephone Labor Inc | Dynamic generation and overlaying of graphic windows for multiple active program storage areas |
US4688167A (en) * | 1984-09-27 | 1987-08-18 | Wang Laboratories, Inc. | Screen manager for data processing system |
JPS6263333A (ja) * | 1985-09-12 | 1987-03-20 | Nec Corp | 画面情報制御方式 |
US4924410A (en) * | 1986-02-13 | 1990-05-08 | Hitachi, Ltd. | Display control method and system |
JPS62282328A (ja) * | 1986-02-21 | 1987-12-08 | Hitachi Ltd | 多重画面制御方式 |
US5062060A (en) * | 1987-01-05 | 1991-10-29 | Motorola Inc. | Computer human interface comprising user-adjustable window for displaying or printing information |
US5038301A (en) * | 1987-07-31 | 1991-08-06 | Compaq Computer Corporation | Method and apparatus for multi-monitor adaptation circuit |
US4903218A (en) * | 1987-08-13 | 1990-02-20 | Digital Equipment Corporation | Console emulation for a graphics workstation |
US5007051A (en) * | 1987-09-30 | 1991-04-09 | Hewlett-Packard Company | Link layer protocol and apparatus for data communication |
US5113180A (en) * | 1988-04-20 | 1992-05-12 | International Business Machines Corporation | Virtual display adapter |
JPH0258121A (ja) * | 1988-08-24 | 1990-02-27 | Toshiba Corp | ウィンドウ制御装置 |
US5036315A (en) * | 1988-09-06 | 1991-07-30 | Spectragraphics, Inc. | Simultaneous display of interleaved windowed video information from multiple asynchronous computers on a single video monitor |
JPH02165323A (ja) * | 1988-12-20 | 1990-06-26 | Fujitsu Ltd | マルチウィンドウ表示装置 |
US5119494A (en) * | 1990-07-10 | 1992-06-02 | Athenix Corporation | Application address display window mapper for a sharable ms-dos processor |
-
1990
- 1990-09-17 US US07/583,790 patent/US5289574A/en not_active Expired - Lifetime
-
1991
- 1991-09-17 JP JP26532391A patent/JP3312037B2/ja not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
木下凌一,「X−Window Ver.11プログラミング」(平成元年12月25日発行)日刊工業新聞社 |
Also Published As
Publication number | Publication date |
---|---|
JPH04314124A (ja) | 1992-11-05 |
US5289574A (en) | 1994-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3312037B2 (ja) | 表示システム、xウィンドウサーバーシステム及び表示方法 | |
KR101099317B1 (ko) | 윈도우 관리 모드를 제공하는 시스템 및 방법 | |
US5721851A (en) | Transient link indicators in image maps | |
KR100586982B1 (ko) | 디스플레이 시스템 및 그 가상 작업공간 관리방법 | |
US6204847B1 (en) | Shared virtual desktop collaborative application system | |
US5564002A (en) | Method and apparatus for implementing a virtual desktop through window positioning | |
EP0710388B1 (en) | Object-oriented display system | |
JP3247625B2 (ja) | 動画表示オブジェクトを表示するための方法およびシステム | |
US5668997A (en) | Object-oriented system for servicing windows | |
US6285363B1 (en) | Method and system for sharing applications between computer systems | |
US7453473B2 (en) | Method and apparatus for high-performance rendering and hit testing of a window tree | |
US5745112A (en) | Device and method for a window responding to a drag operation | |
US5675755A (en) | Window system preventing overlap of multiple always-visible windows | |
US7036089B2 (en) | Distribution of application windows in a computing device display | |
JP3667877B2 (ja) | 情報表示方法及びデータ処理システム | |
US7487454B2 (en) | Managing arbitrary window regions for more effective use of screen space | |
US5657463A (en) | Method and apparatus for positioning a new window on a display screen based on an arrangement of previously-created windows | |
JP2505106B2 (ja) | デ―タ処理システム | |
JPH07210357A (ja) | 会議システムにおけるオブジェクトの遠隔強調表示 | |
JPH08115198A (ja) | ウィンドウ変更のための方法、システム、及びメモリ | |
US6337702B1 (en) | Method and system for graphically indicating a valid input within a graphical user interface | |
JP3738358B2 (ja) | ウィンドウ表示制御装置 | |
JP3417451B2 (ja) | ウィンドウの機能強化型ロケータ・ヒット・テストを行う方法およびデータ処理システム | |
CA2078915A1 (en) | Method for accessing an identified window into a multi-window interface | |
JPH0510680B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090524 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090524 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100524 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110524 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120524 Year of fee payment: 10 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120524 Year of fee payment: 10 |