JP2004013687A - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP2004013687A JP2004013687A JP2002168716A JP2002168716A JP2004013687A JP 2004013687 A JP2004013687 A JP 2004013687A JP 2002168716 A JP2002168716 A JP 2002168716A JP 2002168716 A JP2002168716 A JP 2002168716A JP 2004013687 A JP2004013687 A JP 2004013687A
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- image
- image section
- virtual display
- display space
- 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.)
- Pending
Links
Images
Landscapes
- Digital Computer Display Output (AREA)
Abstract
【課題】ネットワーク回線に接続された端末毎に画像データを記憶する領域を予め保持する必要がなく、少ない記憶容量で多くの端末からの操作によりプログラムを実行して利用できるデータ処理装置を提供する。
【解決手段】ネットワーク回線104を介して接続された端末からの接続要求により、画像記憶回路208の仮想ディスプレイ空間に、その端末に対応する画像データを保持する画像区画を画像区画設定手段により設定する。上記端末に対応する画像区画の画像データを画像データ送信手段により端末に送信し、画像区画への画像データの書き込みを出力インターフェースとしたプログラムの実行をホストコンピュータ装置上でプログラム実行手段により行う。そして、端末からの作業が終了したとき、画像区画を画像区画開放手段により解放することにより、画像記憶回路208の仮想ディスプレイ空間は新規な端末の接続に使用可能となる。
【選択図】 図2
【解決手段】ネットワーク回線104を介して接続された端末からの接続要求により、画像記憶回路208の仮想ディスプレイ空間に、その端末に対応する画像データを保持する画像区画を画像区画設定手段により設定する。上記端末に対応する画像区画の画像データを画像データ送信手段により端末に送信し、画像区画への画像データの書き込みを出力インターフェースとしたプログラムの実行をホストコンピュータ装置上でプログラム実行手段により行う。そして、端末からの作業が終了したとき、画像区画を画像区画開放手段により解放することにより、画像記憶回路208の仮想ディスプレイ空間は新規な端末の接続に使用可能となる。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
この発明は、データ処理装置に関し、特に、複数の端末よりネットワーク回線を介してホストコンピュータ装置を操作するのに好適なデータ処理装置に関する。
【0002】
【従来の技術】
従来、データ処理装置としては、図19に示すように、複数のユーザー入力を干渉なく処理するコンピュータ装置1001がある(特表平11−503849号公報)。このコンピュータ装置1001は、シングルユーザOS(オペレーションシステム)としてマイクロソフト社のウインドウズを用いている。上記コンピュータ装置1001に接続された個々のディスプレイ装置1002,1003,1004および1005は、それぞれ、コンピュータ内部の画像記憶手段である、個々のディスプレイ装置1002,1003,1004および1005に対応した複数のグラフィックボード(図示せず)に接続されており、それぞれディスプレイ空間を提供している。そして、OSのマルチディスプレイ機能により仮想デスクトップ空間上の異なる領域をそれぞれのディスプレイ装置1002〜1005が表示するように設定されている。上記コンピュータ装置1001は、イベント駆動型のソフトウエアが動作しており、複数のマウス1006,1007,1008および1009がひとつひとつのディスプレイ装置1002〜1005に対応づけられており、各マウス1006〜1009の入力操作は、対応するディスプレイ装置1002〜1005上に表示されたオブジェクトに対応するソフトウエアにマウス入力イベントとして伝達される。この構成により、シングルユーザOSであるにも関わらず、ひとつのコンピュータ装置1001上で複数のソフトウエアを、複数の作業者により、見た目上、干渉なく使用できることを可能にしている。
【0003】
【発明が解決しようとする課題】
ところで、上記データ処理装置では、端末の使用の有無に関わらず、ディスプレイ装置1002〜1005に対応した画像記憶手段である複数のグラフィックボードを備える必要があるため、効率が悪いという問題がある。
【0004】
また、複数の作業者が同じ場所で共同作業する場合などには適しているが、ディスプレイやマウスなどの入出力装置のケーブル長によって各端末の使用可能な空間的な配置が限られてしまう。特に、家庭内で複数の作業者が別々の場所でコンピュータ装置を独立して利用する場合などでは、それぞれの場所まで、ディスプレイケーブルとマウスケーブルを延長する必要があった。そのため、実質上、自由な場所での利用ができないという問題がある。
【0005】
そこで、この発明の目的は、端末毎に画像データを保持する記憶手段を予め保持する必要がなく、少ない記憶容量で効率よく多くの端末が利用でき、離れた場所にある端末からもネットワーク回線を介してプログラムの処理ができるデータ処理装置を提供することにある。
【0006】
【課題を解決するための手段】
上記目的を達成するため、この発明のデータ処理装置は、画像記憶手段に仮想ディスプレイ空間の画像データを記憶し、ネットワーク回線を介して少なくとも1つの端末より接続要求が行われると、その接続要求に応じて、上記仮想ディスプレイ空間に上記端末に対応する画像区画を画像区画設定手段により設定する。このデータ処理装置は、上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画の画像データを、画像データ送信手段によりネットワーク回線を介して端末に送信する。そして、端末では、画像データを受信して端末のディスプレイ装置に表示する。上記端末に接続された入力装置(例えばキーボード入力装置やポインティング入力装置)から入力された入力データを、ネットワーク回線を介してこのデータ処理装置に送信すると、端末からの入力データを処理して、上記端末に対応する画像区画を出力インターフェースとしたプログラムの実行をプログラム実行手段により行うことにより、上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画に画像データを出力する。これによって、ネットワーク回線によって少なくとも1つの端末が接続されるデータ処理装置の操作を、端末のディスプレイ装置を見ながらその端末より行うことができる。また、端末からの作業が終了すれば、上記仮想ディスプレイ空間上の上記端末に対応する画像区画を画像区画解放手段により解放し、次の端末の接続要求を待つ。
【0007】
したがって、上記構成のデータ処理装置によれば、端末毎に画像記憶手段を予め保持する必要がなく、少ない記憶容量で効率よく多くの端末が利用できると共に、離れた場所にある端末からもネットワーク回線を介してプログラムの処理ができる。
【0008】
また、この発明のデータ処理装置では、ネットワーク回線を介して複数の端末より、データ処理装置を構成するコンピュータ装置に別々に接続要求が行われる場合、各端末からの接続要求を順次受け付け、それぞれの端末に対応する複数の画像区画が、上記仮想ディスプレイ空間上で相互に重ならないように、それぞれの端末に対応する画像区画を画像区画設定手段により設定する。そして、上記仮想ディスプレイ空間に設定された上記画像区画の画像データを、画像データ送信手段によりネットワーク回線を介して順次対応する端末に送信する。各端末では、画像データを受信して端末のディスプレイ装置に表示する。また、端末に接続された入力装置(例えばキーボード入力装置やポインティング入力装置)から入力された入力データを、ネットワーク回線を介して順次、このデータ処理装置に送信すると、各端末からの入力データを別々に処理し、記憶アドレス空間を分割して作成した各端末の使用する画像区画に対応させて画像データを出力する。
【0009】
このような複数の端末からの処理を行う場合には、処理速度の低下防止が大きな課題となるが、この発明の仮想ディスプレイ空間を分割して各端末毎に区別して使用する構成のデータ処理装置では、各端末に対応する画像区画への画像データの入出力は、仮想ディスプレイ空間全体への画像データの入出力のプログラムを共通して使用することができる。そのため、画像描画を高速化するグラフィック処理回路を共通に利用することも可能となり、処理速度を向上できる利点を有する。
【0010】
また、一実施形態のデータ処理装置では、上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画が、上記仮想ディスプレイ空間上で連続した矩形領域とすることで、画像データの入出力時のアドレス計算処理が低減され、出力インターフェースとしての処理速度が向上する。また、上記画像区画の画像データを端末に送信するときの処理速度が向上する。特に、画像データの入出力に、仮想ディスプレイ空間全体への画像データの入出力のプログラムを共通して使用するためには、端末に対応する画像区画は連続した矩形領域であることがより好ましい。
【0011】
また、一実施形態のデータ処理装置では、ネットワーク回線を介して端末より接続要求が行われたとき、端末のディスプレイ装置の情報として、解像度を取得することによって、上記端末の表示画面の解像度に合わせて、上記端末に対応する画像区画の解像度を解像度設定手段により設定し、仮想ディスプレイ空間に上記端末に対応する画像区画を設定する。なお、ここで解像度は、表示画面の縦横の画素数や、色調の解像度であり、縦横の画素数だけでもよい。
【0012】
したがって、予めディスプレイ装置の表示画面の解像度が指定された端末に限られることなく、例えば、各種携帯端末や、ディスプレイ装置をもつ携帯電話等を端末として随時接続し、プログラムを実行して処理を行うことができる。また、特に、仮想ディスプレイ空間上を占める画像区画が必要最小限になるために、複数の端末を同時に接続する場合、より多くの端末を接続することができる。
【0013】
また、一実施形態のデータ処理装置では、上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画を、上記仮想ディスプレイ空間内で移動させる画像区画移動手段を有する。
【0014】
つまり、ある端末への画像データの送信が不要(または一定の間不要)となる場合に、上記端末に対応する画像区画をディスプレイ空間から解放する場合があり、上記の解放された画像区画は、新規な端末の接続に使用することが可能となる。このとき、上記画像区画移動手段によって、その他の画像区画を仮想ディスプレイ空間内で画像データと共に移動させ、仮想ディスプレイ空間の各画像区画間の未使用の領域を減少させ、できるだけ大きな連続した未使用の領域を、あるいは、できるだけ大きな連続した未使用の矩形の領域を作成することが可能となる。
【0015】
なお、各移動された画像区画は、上記仮想ディスプレイ空間内の位置が変わるので、以降、それに対応して、端末には、移動された先の画像区画から画像データを送信する。また、端末からの入力に対応する処理においても移動された先の画像区画に画像データを出力するようにする。
【0016】
複数の端末が接続と切断を繰り返した場合に、仮想ディスプレイ空間内の画像区画どうしの間に未使用の領域が散在し、新規な端末に使用する連続した矩形領域としての画像区画が確保できなくなる場合がある。また、いろいろな解像度のディスプレイ装置に応じて、異なる画素数の画像区画が上記仮想ディスプレイ空間に混在する場合には、接続と切断を繰り返すことによって、特に、仮想ディスプレイ空間内の画像区画どうしの間に未使用の領域が散在してしまう場合がある。しかしながら、上記実施形態の画像区画移動手段の構成により、できるだけ大きな連続した未使用の領域を作成することができ、より多くの端末が接続でき、同時に複数の作業を行うことができる。
【0017】
また、一実施形態のデータ処理装置では、上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画を画像区画待避手段により待避させる。そうして、上記画像区画待避手段により待避させた上記端末に対応する画像区画を、画像区画復元手段により上記仮想ディスプレイ空間に復元する。
【0018】
つまり、端末への画像データの送信が一定の間不要となる場合には、上記画像区画待避手段によって、上記端末に対応する仮想ディスプレイ空間の画像区画の保存する画像データを別の記憶手段に記憶し、上記仮想ディスプレイ空間で占有していた画像区画を解放することによって、端末に対応する画像区画を待避させる。それによって、新規な端末の接続要求に備えて、上記仮想ディスプレイ空間に未使用の領域を確保できる。
【0019】
また、待避させた画像区画の画像データの送信が必要となった場合には、上記仮想ディスプレイ空間に新規画像区画を設定し、その新規画像区画に上記画像区画待避手段により待避させた画像区画を上記画像区画復元手段により復元する。
【0020】
なお、上記端末に対応する画像区画は、仮想ディスプレイ空間内において、以前と位置が変わる場合があるので、以降、それに対応して、移動した先の画像区画から画像データを端末に送信する。また、端末からの入力に対応する処理においても、移動した先の画像区画に画像データを出力するように構成する。
【0021】
端末での作業を中断したり、一定の時間、画像を表示することを目的としたりして、データ処理装置より画像データを受信する必要がなくなった場合でも、端末に対応する画像区画は、仮想ディスプレイ空間を占有し続ける。そのために、新規な端末の画像区画が確保できなくなる場合がある。しかしながら、上記実施形態の画像区画待避手段および画像区画復元手段の構成により、仮想ディスプレイ空間にできるだけ未使用の領域を作成することができ、多くの端末が接続でき、同時に作業を行うことができるデータ処理装置が可能となる。
【0022】
特に、端末に対応する画像区画を待避させた後、その他の画像区画を仮想ディスプレイ空間内で画像データと共に移動させ、仮想ディスプレイ空間内の各画像区画間に存在する未使用の領域を減少させ、できるだけ大きな連続した未使用の領域を作成する構成とすることで、仮想ディスプレイ空間全体をより効率的に使用することができる。
【0023】
また、一実施形態のデータ処理装置では、上記仮想ディスプレイ空間の上記画像区画に保持された画像データが、コンピュータ装置のシステムバスを介さず、上記ネットワーク回線に接続するためのネットワークモジュールに転送される経路を有する。つまり、画像データは、仮想ディスプレイ空間の全体の画像データを記憶している画像記憶手段からネットワークモジュールにシステムバス以外の経路によって転送され、ネットワークモジュールによりネットワーク回線を介して端末に送信される。
【0024】
これによって、画像データの転送のためにCPUやシステムバスの負荷が増大することがなくなり、仮想ディスプレイ空間を分割して画像区画とし、端末毎に区別して使用する構成において、特に処理速度の低下を防止する大きな効果を有する。
【0025】
また、処理速度の向上によって、端末からの入力操作に対して応答を早くすることができ、作業者にとって利便性の高いデータ処理装置の提供が可能となる。
【0026】
【発明の実施の形態】
以下、この発明のデータ処理装置を図示の実施の形態により詳細に説明する。
【0027】
〔第1実施形態〕
図1はこの発明の第1実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムの概略構成図である。このコンピュータシステムは、図1に示すように、ホストコンピュータ装置101と、それに接続される複数の端末102,103(図1では2つのみを示す)と、それらを相互に接続するネットワーク回線104とを備えている。なお、上記ネットワーク回線104には、この発明のデータ処理装置とは係わりのない他の装置(図1ではコンピュータ装置119等)が接続されていてもよい。
【0028】
上記ネットワーク回線104には、IEEE802の規格の100BASE−Tによるインターネット回線を用い、HUB(分岐装置)105で分岐し、複数の接続端子106,107,108,109を設けている。上記接続端子106にホストコンピュータ装置101を接続し、接続端子107,108に端末102,103を夫々接続している。
【0029】
上記ホストコンピュータ装置101は、ディスプレイ装置110、キーボード入力装置111、ポインタ入力装置112が接続されると共に、ハードディスク(図示せず)が内蔵され、マイクロソフト社のマルチディスプレイ機能を有するWindows(登録商標)98をOS(オペレーションシステム)として作業ができるコンピュータ装置になっている。
【0030】
また、上記端末102,103は、ディスプレイ装置113,114とキーボード入力装置115,116およびポインタ入力装置117,118が夫々接続(または内蔵)されている。上記ポインタ入力装置117,118は、マウス、トラックボール、タッチパネル、デジタイザパネル等の座標入力装置である。
【0031】
図2は上記ホストコンピュータ装置101のブロック図を示している。このホストコンピュータ装置101は、CPU(中央演算装置)201と、主記憶装置202と、前述のネットワーク回線104に接続するためのネットワークモジュール203と、ディスプレイ装置110(図1に示す)に接続するための第1のグラフィックモジュール204と、ハードディスク,キーボード,マウスを制御するコントローラモジュール205とを備えている。上記CPU(中央演算装置)201,主記憶装置202,ネットワークモジュール203,第1のグラフィックモジュール204およびコントローラモジュール205をシステムバス206を介して相互に接続している。
【0032】
さらに、上記ホストコンピュータ装置101は、システムバス206に接続された第2のグラフィックモジュール207を備えている。この第2のグラフィックモジュール207は、画像記憶手段の一例としての画像記憶回路208と、その画像記憶回路208への画像データの演算や読み書き210を行うグラフィック処理回路209を有している。上記グラフィック処理回路209は、一般的に、グラフィックプロセッサと呼ばれる画像処理専用のデータ処理素子を用いた画像処理用の回路である。
【0033】
また、上記システムバス206には、PCI(Peripheral Component Interconnect)バスを用いたが、ISA(Industry Standard Architecture)バスやVME(Versa Module European)バスによる構成も可能であり、グラフィックモジュールに対しては専用のイメージバス(AGP(Accelerated Graphic Port)バス等)を用いた構成とする方が望ましい。
【0034】
図3にマルチディスプレイ機能を用いた仮想デスクトップ空間301を示している。ここで、仮想デスクトップ空間301は、下記に説明する仮想ディスプレイ空間を配置する座標空間であり、仮想デスクトップ空間301自身に画像データを記憶する機構はない。
【0035】
図3に示すように、仮想デスクトップ空間301の一部に矩形で示す領域302は、第1のグラフィックモジュール204に画像データが保持される仮想ディスプレイ空間であり、ディスプレイ装置110(図1に示す)に表示される。また、仮想デスクトップ空間301の別の一部に矩形で示す領域は、第2のグラフィックモジュール207は、この発明における画像記憶手段である画像記憶回路208であり、画像データが保持される仮想ディスプレイ空間303を記憶保持する。
【0036】
この発明において、仮想ディスプレイ空間303の画像データは、画像区画毎に、端末のディスプレイ装置で表示されるので、第2のグラフィックモジュール207(図2に示す)には、実際にディスプレイ装置が接続される必要はない。
【0037】
図4は図1に示すホストコンピュータ装置101で実行されるプログラムのタスク構成の概念図を示している。上記ホストコンピュータ装置101のハードウエア408を制御するOS(Windows98)401上には、並列処理されるプログラムとして、通常に実行されているアプリケーションのプログラム402の他に、端末からの接続要求への応答や、接続後の端末からの入力データの受信や端末への画像データの送信などを行う接続管理プログラム403が実行されている。また、接続管理プログラム403によって起動され、端末毎の処理を行う子プログラム404,405が実行されている。
【0038】
つまり、図1、図3、図4では、ホストコンピュータ装置101にネットワーク回線104を介して端末102,103が接続され、画像記憶回路208が画像データを記憶する仮想ディスプレイ空間303中に、各端末102,103がそれぞれ別々に矩形の画像区画304,305を設定し、各端末102,103の処理を別々に行う子プログラム404,405が動作している様子を示している。
【0039】
ここで、接続管理プログラム403と子プログラム404,405は、複数の端末102,103と、複数の矩形の画像区画304,305を区別して処理を進めるために、図5に示すように、管理表リスト509を共有する構成としている。上記管理表リスト509は、端末を識別するための情報(以降、端末の識別情報と呼ぶ)501と、端末に対応する画像区画の占有範囲の情報(以降、画像区画の座標情報と呼ぶ)502と、子プログラムを識別するための情報(以降、子プログラムの識別情報と呼ぶ)503を対応させた管理表507,508等を、端末毎に複数保持する。
【0040】
上記端末102,103からホストコンピュータ装置101へは、ネットワーク回線104を介してTCPIPプロトコルで通信を行う構成とし、上記の端末の識別情報501は、端末のインターネットアドレスを用いている。
【0041】
また、画像区画の座標情報502は、仮想ディスプレイ空間303中の矩形の画像区画304,305等の左上の座標と右下の座標としている。(以下、矩形画像区画の座標は、矩形画像区画の左上の角の座標と右下の角の座標を示すものとする。)
また、子プログラムの識別情報503は、プログラムをOSが管理するときに用いるタスクID番号を用いている。
【0042】
(1) ホストコンピュータ装置の処理
次に、この第1実施形態のホストコンピュータ装置101の処理について説明する。
【0043】
(1−1) 接続管理プログラム
図10は上記ホストコンピュータ装置101の接続管理プログラムのフローチャートを示している。
【0044】
図10に示すように、接続管理プログラム403(図4に示す)は、まず、ステップS1で端末から受信があるか否かを判断して、端末から受信があると判断すると、ステップS2に進み、端末からの接続要求の処理を行う。次に、ステップS3に進み、端末からの入力データの処理を行い、ステップS4に進む。
【0045】
一方、ステップS1で端末から受信がないと判断すると、ステップS2,S3をスキップして、ステップS4に進む。
【0046】
そして、ステップS4で、端末への画像データの送信処理を行った後、ステップS5に進み、処理の終了の指示があるか否かを判断して、処理の終了の指示がないと判断すると、ステップS1に戻り、利用者による接続処理プログラム403の終了の指示があるまでステップS1〜S4を繰り返す。
【0047】
上記ステップS2,S3,S4の処理は、図10に示すように順次処理される構成としてもよいが、プログラム中の異なるスレッド、または、異なるプログラム上で並列に処理されるように構成することも可能である。
【0048】
以下、上記接続管理プログラム403におけるステップS2,S3,S4の処理について夫々説明する。
【0049】
(1−2) 端末からの接続要求の処理
図11は、図10のステップS2における端末からの接続要求の処理を説明するフローチャートを示している。ここでは、端末103(図1に示す)がホストコンピュータ装置101に接続する場合を例として、既に端末102が接続された状態であるものとする。つまり、端末102は既に、画像記憶回路208が画像データを記憶する仮想ディスプレイ空間303に、端末102に対応する矩形の画像区画304(図3に示す)を有し、端末102の処理を行っている子プログラム404(図4に示す)が実行されているものとする。
【0050】
上記端末103からの接続要求があると、ホストコンピュータ装置のハードウエア408で受信したネットワーク回線104からの信号409(図4に示す)は、OS401により接続管理プログラム403に通知される。
【0051】
接続管理プログラム403は、図11のステップS11で、ネットワーク回線104からの信号409が端末からの接続要求であることを判断すると、ステップS12に進む一方、端末からの接続要求でないと判断すると、この処理を終了する。
【0052】
端末からの接続要求の場合には、ステップS12で、端末103に対応する画像区画の縦横の画素数を設定する。
【0053】
この第1実施形態では、接続要求の信号409に応答する信号410を発し、端末103より、解像度の情報としてディスプレイ装置114の縦横の画素数を取得し、上記端末103に対応する矩形の画像区画の縦横の画素数としている。
【0054】
そして、ステップS13に進み、画像記憶回路208が画像データを記憶する仮想ディスプレイ空間303中の未使用の領域を取得する。つまり、仮想ディスプレイ空間303には、端末102に対応する矩形の画像区画304が既に存在している。この矩形の画像区画304が占有する領域の座標の情報は、管理表リスト509中の、端末102に対応する管理表507に画像区画の座標情報として保持されている。ほかにも端末が接続されている場合には、同様に端末毎の画像区画の座標情報を取得し、未使用の領域を算出する。
【0055】
この第1実施形態では、画像記憶回路208が画像データを記憶する仮想ディスプレイ空間303を有効に利用するために、端末に対応する画像区画は、上から順に左から詰めて、端末のディスプレイ装置の縦横の画素数に合わせて設定した矩形画像区画とし、未使用の領域は下から順に右に詰めて、できるだけ大きな矩形画像区画を順に算出するようにしている。図3に未使用の矩形領域306,307が算出された様子を示している。
【0056】
そして、ステップS14に進み、未使用の矩形領域306,307に端末103に対応する矩形の画像区画305を設定する。つまり、上から順に設定しようとすると、未使用の矩形領域306は小さすぎたので、次の未使用の矩形領域307の中に上から順に左に詰めてステップS12で設定した縦横の画素数の矩形の画像区画305を、端末103に対応する画像区画として設定している。以上の方法により、上記仮想ディスプレイ空間303上で、既存の端末の使用する画像区画に重ならない部分に、端末に対応する画像区画を設定することができる。
【0057】
そして、ステップS15に進み、画像区画が設定できたか否かを判断して、画像区画が設定できたと判断すると、ステップS16に進み、端末に対応する画像区画を出力インターフェースとする子プログラムを起動する。つまり、端末103に対応する矩形の画像区画304に画像データ出力を行うことを出力インターフェースとする子プログラム405を起動するのである。
【0058】
最後に、接続管理プログラム403は、ステップS17で上記の端末の識別情報501と、画像区画の座標情報502と、子プログラムの識別情報503を対応させて保持して、この処理を終了する。
【0059】
この第1実施形態では、前述の管理表リスト509に端末103用の管理表508を追加し、端末の識別情報501、画像区画の座標情報502、子プログラムの識別情報503にそれぞれデータを保存する構成としている。
【0060】
つまり、ステップS13で使用した管理表507の値も同様に端末102が接続したときに作成されたものである。
【0061】
また、この第1実施形態では、図10のステップS4において、端末への画像データの送信処理を効率化するために、管理表507,508には、さらに、端末に対応する矩形の画像区画304,305等への画像データの書き込みに関して、画像データの書き込みの有無の情報、つまり、端末に送信すべき情報の有無(以降、送信画像情報と呼ぶ)504と、書き込まれた画像データを含む矩形領域の座標、つまり、端末に送信するべき矩形領域の座標(以降、送信座標情報)505を保持するようにしている。
【0062】
ここで、端末103が、離れた複数の領域を用いて、連続したひとつの画像区画として使用することも可能である。例えば、矩形領域306と矩形領域307の一部を用いて矩形の画像区画305と同じ画素数を確保することもできる。しかし、画像データの入出力や、端末への画像データの送信の処理が複雑となるため、上記仮想ディスプレイ空間303上の連続した矩形の領域を、画像区画として使用するようにした方が望ましい。
【0063】
また、図11のステップS15で端末103に対応する画像区画が設定できなかった場合は、ステップS18に進み、端末103に接続要求の拒否の通知を行い、この処理を終了する。つまり、仮想ディスプレイ空間303に未使用の領域が少なく、端末103に対応する画像区画を設定できなかった場合、端末103を接続しないでこの処理を終了する。
【0064】
図14は、図11のステップS16で起動される子プログラムの処理のフローチャートを示している。ここでは、端末103の接続要求により起動された子プログラム405の動作として説明する。
【0065】
まず、子プログラム405は、ステップS41で必要な初期化を行う。つまり、子プログラム405は、図11のステップS17で、対応する管理表508に画像区画の座標情報502が入力されるのを待ち、以降、画像区画の座標情報502の示す矩形画像区画内への画像データの出力をもって、子プログラム405の出力インターフェースとする。その後、画面の表示や、ポインティング入力やキーボード入力用のカーソルの表示を、端末に対応する矩形の画像区画305内で行う。
【0066】
次に、ステップS42で入力イベントの有無を判断して、入力イベントがあった場合、ステップS43に進み、入力イベントの処理を行う。つまり、カーソルの移動や、ボタンの操作、キー入力のイベントがあれば、それに応じて、カーソルの移動や入力操作に応じたプログラムの処理を行う。つまり、このプログラムの処理の中で、矩形の画像区画305への画像データの出力をもってキー入力に対する応答を行う。
【0067】
また、この入力イベントは、次に説明する図12のステップS23で接続管理プログラム403から通知されるが、接続管理プログラム403と子プログラム405を並列処理するためのバッファを用いて、接続管理プログラム403がバッファに書き込み、子プログラム405がバッファの先に書き込まれたものから順に読み出すように構成した方が好ましい。
【0068】
一方、ステップS42で入力イベントがないと判断すると、ステップS43をスキップする。
【0069】
次に、ステップS44に進み、処理を終了する指示があるか否かを判断して、処理を終了する指示がないと判断すると、ステップS42に戻り、子プログラムの処理を終了する指示があるまでステップS42,S43を繰り返す。子プログラムの処理を終了する指示は、例えば、矩形の画像区画305の中に、子プログラムの処理を終了させる処理に結び付けられた描画オブジェクトなどが、カーソルで指定されることなどで行う。
【0070】
一方、ステップS44で子プログラムの処理を終了する指示があったと判断すると、ステップS45に進み、終了の処理を行う。例えば、画面の消去や、ファイルの保存等である。
【0071】
そして、ステップS46に進み、端末に対応する矩形の画像区画305を解放する。つまり、図11のステップS17で端末毎に対応させて保持された端末の識別情報501と、画像区画の座標情報502と、子プログラムの識別情報503を削除する。この第1実施形態では、管理表リスト509から管理表508を削除することで行われる。
【0072】
また、この第1実施形態では、ステップS4における端末への画像データの送信処理を効率化するために、図14のステップS41,S43,S45で端末に対応する画像区画へ画像データの出力を行った場合は、管理表の送信画像情報504,送信座標情報505を更新するように構成している。例えば、図3の矩形の画像区画305に、画像出力314があった場合、図5に示すように、送信画像情報504は送信するべき画像有とし、送信座標情報505には、書き込まれた画像出力314を含む矩形領域315の座標を保持する。また、既に、送信画像情報504が送信するべき画像がある旨の情報を保持している場合は、既に保持されている矩形領域の座標と今回書き込んだ画像データの両方を含む矩形領域の座標を保持する。
【0073】
(1−3) 端末からの入力データの処理
図12は、図10におけるステップS3の端末からの入力データの処理を説明するフローチャートを示している。ここでは、端末102,103をホストコンピュータ装置101に接続しており、端末103からの入力データを受信した場合を例に説明する。
【0074】
まず、端末103からの入力データの受信があると、ホストコンピュータ装置101のハードウエア408でネットワーク回線104を介して受信された信号409は、OS401により接続管理プログラム403に通知される。
【0075】
接続管理プログラム403は、ステップS21で端末からの入力データの有無を判断して、ネットワーク回線104からの信号409が、接続された端末からの入力データの受信であると判断する。つまり、管理表リスト509の中で、送信元のインターネットアドレスが端末の識別情報501に一致する管理表があるかを判断する。
【0076】
そして、ステップS21で端末からの入力データがあると判断すると、ステップS22で端末に対応する子プログラムの識別情報503を取得する。つまり、送信元のインターネットアドレスが端末の識別情報501に一致した管理表508から、子プログラムの識別情報503として保持されているタスクID番号を取得する。一方、ステップS21で端末からの入力データがないと判断すると、この処理を終了する。
【0077】
最後に、ステップS23に進み、タスクID番号を用いて、上記子プログラム405に対して入力データを入力イベントとして通知して、この処理を終了する。つまり、上記のタスクID番号の子プログラム405に、入力データを入力イベントの形式に変更して通知することで、端末からの操作に対応した処理が行われる。例えば、ポインティング装置の座標の移動やボタンの操作,キー入力を、それに応じた入力イベントに変更して通知する。この通知により、子プログラム405の図14のステップS42,S43で端末からの操作に対応した処理が行われることになる。
【0078】
(1−4) 端末への画像データの送信処理
図13は、図10のステップS4の端末への画像データの送信処理を説明するフローチャートを示している。ここでは、端末102,103がホストコンピュータ装置101に接続している場合を例として説明する。
【0079】
この第1実施形態では、端末への画像データの送信処理を効率化するために管理表の送信画像情報504に基づき、各端末が使用する仮想ディスプレイ空間303の矩形画像区画に書き換えられた領域があったときのみ、送信画像情報505に基づいて、書き換えられた領域を含む矩形画像区画の画像データと、その座標を端末に送信する構成としている。
【0080】
送信画像情報504と送信座標情報505は、前述の図14に示す子プログラムのステップS41,S43,S45で画像データの出力を行うたびに、送信画像情報504,送信座標情報505に対して更新される。
【0081】
まず、接続管理プログラム403は、ステップS31で、接続された端末が存在するかどうか判断する。この第1実施形態では、管理表リスト509に管理表があるかどうかで判断する。
【0082】
そして、接続された端末が存在する場合、ステップS32に進み、接続された端末を順次選択する。つまり、この第1実施形態では、管理表リスト509中の管理表507,508を順に選択することで行われる。
【0083】
次に、ステップS33で、選択した端末に対応する矩形の画像区画の送信するべき画像の有無を判断する。つまり、選択した管理表に保持されている送信画像情報504から送信するべき画像の有無を判断する。
【0084】
そして、選択した端末に対応する矩形の画像区画に送信するべき画像がある場合は、ステップS34に進む一方、送信するべき画像がない場合は、ステップS34〜S37をスキップする。
【0085】
そして、ステップS34で、送信するべき画像データの矩形の画像区画の座標を取得する。この第1実施形態では、管理表から画像区画の座標情報502と送信座標情報505を取得し、送信する矩形領域(たとえば、画像区画305の中の書き換えが行われた矩形領域315)の仮想ディスプレイ空間303上での座標を算出する。
【0086】
次に、ステップS35で端末の識別情報を取得する。つまり、管理表から、端末の識別情報501として保持されている端末のインターネットアドレスを取得する。
【0087】
そして、ステップS36に進み、端末に画像データを送信する。ここでは、上記インターネットアドレスに、仮想ディスプレイ空間303上でのステップS34で取得した座標に存在する上記矩形領域の画像データを送信する。また、画像データと共に、端末に対応する画像区画中での上記矩形領域の座標、すなわち、端末のディスプレイ装置の画面に表示するべき座標を送信する。
【0088】
そして、ステップS37で画像区画の書き換え情報、すなわち、管理表に保持されている送信画像情報を更新する。つまり、送信が完了すれば、送信するべき画像がない旨の情報を送信画像情報504に保持する。
【0089】
次に、ステップS38で全端末の処理が終了したか否かを判断して、全端末の処理が終了していないと判断すると、ステップS32に戻り、全ての端末の処理が終わるまでステップS32〜S37を繰り返す。つまり、管理表リストの全ての管理表の処理が終わるまで繰り返す。
【0090】
(2) 端末の処理
次に、端末の処理を説明する。ここで、各端末102,103は、図10のステップS1によってホストコンピュータ装置101に接続され、図13のステップS36によって送信されるデータの中から、自身のインターネットアドレス宛ての画像データと上記矩形領域の上記画像区画上での座標データを受信し、各ディスプレイ装置113,114の対応する座標の矩形領域に画像データを表示する。
【0091】
そして、各端末102,103は、キーボード入力データ、および、ポインティング入力データを、ネットワーク回線104を介してホストコンピュータ装置101に送信するように構成している。
【0092】
例えば、端末103であれば、ステップS36で送られてくる画像データをディスプレイ装置114に表示し、それをもとに、入力装置116,118を操作する。それによって、入力データがホストコンピュータ装置101に送信され、図14のステップS43で入力イベントとして処理され、処理のなかで端末103に対応する矩形の画像区画305に画像データが出力される。そうして、上記矩形の画像区画305に出力された画像データは、図13のステップS36によって端末103に送信されて、ディスプレイ装置114に反映される。
【0093】
以上を繰り返して、端末のディスプレイ装置114の画像を見ながら、端末103からホストコンピュータ装置101での作業を進めることができる。また、処理の終了を指示する操作を行った場合は、図14のステップS44,S45,S46で、端末103に対応する矩形の画像区画305を解放して終了することができる。
【0094】
上記第1実施形態のホストコンピュータ装置101では、図11のステップS12によって、上記端末のディスプレイ装置の解像度に合わせて、上記端末に対応する画像区画の解像度を設定する解像度設定手段が構成される。
【0095】
また、図11のステップS13,S14,S17によって、複数の端末からの接続要求により、それぞれの端末に対応する画像区画を、互いに重ならないように仮想ディスプレイ空間303に設定する画像区画設定手段が構成される。
【0096】
また、図13のステップS32,S34,S35,S36,S38によって、上記複数の端末毎に、端末に対応する画像区画の画像データを送信する画像データ送信手段が構成される。
【0097】
また、図14のステップS41,S43,S45で、図11のステップS17で保持した端末に対応する画像区画に画像データを出力することによって、上記複数の端末毎に、端末に対応する画像区画を出力インターフェースとしたプログラムの実行を行うプログラム実行手段が構成される。
【0098】
また、図14のステップS46によって、上記複数の端末毎に、端末に対応する画像区画を解放する画像区画開放手段が構成される。
【0099】
この第1実施形態では、画像データの送信量を低減するために、特に、図13のステップS33,S34において、送信するべき画像があった場合、送信するべき矩形領域の画像データのみを端末に送信する構成としたが、当然、常に端末に対応する画像区画の全画像データを送信するようにしてもよい。また、書き換えの有無に関わらず、端末に対応する画像区画の全画像データを送信するように構成してもよい。
【0100】
または、図13のステップS34では、端末に送信する上記矩形領域が大きい場合などは、複数回に分けて送信するように、上記矩形領域を分割して、書き換えられた矩形領域の一部を送信範囲とすることもできる。その場合、ステップS37の送信画像情報504の更新は、送信するべき矩形領域のすべてを送信できるまで、送信するべき画像がある旨の情報を保持し、未送信の画像データを含む矩形領域を、送信座標情報505に保持するようにすればよい。
【0101】
また、端末で画像データを受信できたかどうかの情報、または、画像データのうち、端末で受信できた画像データの範囲の情報を返信するようにし、その情報に基づいて、ステップS37の送信画像情報504,送信座標情報505の更新を変更するようにすることがより好ましい。つまり、何らかの都合で通信が途絶え、端末が画像データの全てを受信できなかった場合、ステップS37で、端末が返信してきた受信できた画像データの座標に基づいて、画像区画の受信できなかった画像データを含む矩形領域を送信座標情報に保持し、送信画像情報は送信すべき画像がある旨の情報を保持する。それによって、受信できなかった残りの部分を次回送信することができる。これによって、例えば、端末103をネットワーク回線104の接続端子108から切り離して、別の場所のネットワーク回線104の接続端子109に移動して元の作業を続けることも簡単に可能となる。また、ネットワーク回線104が無線通信回線によるものである場合や、ネットワーク回線104の一部に無線通信回線によるものを含む場合でも、一時的に通信回線が途絶えた場合に画像データを次回の送信タイミングで送信することが可能となる。
【0102】
また、画像データは圧縮や暗号化して送信することも可能である。
【0103】
なお、この第1実施形態では、仮想ディスプレイ空間303中に、端末に対応する画像区画は、上から順に左から詰めて、端末のディスプレイ装置の縦横の画素数にあわせた矩形画像区画として設定し、未使用の領域は下から順に右に詰めてできるだけ大きな矩形画像区画を順に算出するようにしている。しかし、画像区画の設定の方法はこれに限られるものではなく、その他の方法を用いることも可能であり、できるだけ効率よく仮想ディスプレイ空間303を利用できる方法が好ましい。それによって、仮想ディスプレイ空間303の画像データを記憶する画像記憶回路208がより効率よく利用される。
【0104】
また、図11のステップS16で子プログラムを起動する場合、OS上の主記憶装置202に新規な子プログラムを実行する記憶容量が足りなかったり、OSの実行プログラム数の限界に達していたりして、エミュレータの起動がOS401より拒否されることもある。その場合は、ステップS18に進み、端末からの接続要求に対して拒否の応答を返す処理を行う必要がある場合もある。
【0105】
〔第2実施形態〕
次に、この発明の第2実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムについて説明する。この第2実施形態のコンピュータシステムは、第1実施形態のコンピュータシステムの構成に加え、端末に対応する画像区画を仮想ディスプレイ空間303内で移動させる画像区画移動手段を備えることによって、仮想ディスプレイ空間303に、未使用の連続したより大きな矩形の領域を作成するものである。
【0106】
以下、仮想ディスプレイ空間303に、未使用の連続したより大きな矩形の領域を作成する処理を図15のフローチャートを用いて説明する。
【0107】
ここでは、端末102,103が接続された状態から、端末102に対応する子プログラム404が作業を終了し、図3の矩形の画像区画304が開放された場合を例として説明する。
【0108】
上記矩形の画像区画304が解放されると、図6に示すように、仮想ディスプレイ空間303の中央に矩形の画像区画305が位置しているため、次に接続する端末が未使用の領域601,602,603の中から、端末に対応する画像区画を確保することになる。そのため、次に接続要求する端末が、各未使用の領域601,602,603より大きな領域を仮想ディスプレイ空間として必要とする場合は、画像区画を連続した矩形の画像区画として設定することができない。ここで、各未使用の領域601,602,603は、上記第1実施形態で説明したように、下から順に右から詰めてできるだけ大きな未使用の領域を確保するように算出している。
【0109】
この第2実施形態では、子プログラム404は、図14のステップS46で矩形の画像区画304の解放を行った後、つまり管理表507を削除した後、次の処理を行う。
【0110】
まず、図15のステップS51で、接続している端末があるか否かを判断する。この第2実施形態では、管理表リスト509に管理表があるか否かを判断することで行われる。
【0111】
そして、接続している端末がある場合、ステップS52で接続している端末を順次選択する。つまり、図5の管理表リスト509の管理表を順に選択する。ここでは、端末103の管理表508が選択される。一方、接続している端末がない場合は、この処理を終了する。
【0112】
次に、ステップS53で、選択した端末に対応する画像区画を移動させて、未使用の連続した矩形領域を拡大させることが可能か判断する。ここでは、未使用の連続した矩形領域を拡大させる方法としては、矩形の画像区画305を上部に移動させても、下部に移動させても可能であるが、この第2実施形態では、端末に対応する画像区画は、上から順に左端から詰めて画像区画設定するように移動するものとし、移動が可能かを判断する。
【0113】
未使用の連続した矩形領域を拡大させることが可能な場合、ステップS54で未使用領域を拡大するように仮想ディスプレイ空間303の画像区画の画像データを移動する。つまり、矩形の画像区画305(図6に示す)の画像データを画像区画701(図7に示す)に移動させる。
【0114】
そして、ステップS55に進み、移動した画像区画の座標情報502を更新する。つまり、管理表508の画像区画の座標情報502を画像区画701を指し示すように更新するのである。
【0115】
そして、ステップS56で、接続している端末を最初に戻って選択し、ステップS53に戻る。つまり、複数の端末が接続されている場合、ある端末の画像区画の移動によって、既に処理した端末の画像区画の移動が再び可能となる場合があるので、最初から各端末に対応する画像区画を移動するべきか判断するためである。この第2実施形態では、管理表リスト509の最初の管理表に戻って管理表を選択することで行うことができる。
【0116】
一方、ステップS53で未使用の連続した矩形領域を拡大させることが可能でない場合、ステップS57に進む。
【0117】
そして、ステップS57で全端末の処理が終了したか否かを判断して、全端末の処理が終了していないと判断すると、ステップS52に戻り、全端末の処理が終了するまでステップS52〜S56を繰り返す。つまり、接続している端末を順次選択し、端末に対応する画像区画の移動が全ての端末において必要なくなるまで繰り返す。
【0118】
つまり、ステップS54,S55によって、仮想ディスプレイ空間303内で、上記端末に対応する画像区画を移動させる画像区画移動手段が構成されている。
【0119】
以上の構成により、図7に示す仮想ディスプレイ空間303の未使用の領域702,703が作成される。この場合も、第1実施形態で説明したように下から順に右から詰めてできるだけ大きな未使用の領域を確保するように算出している。
【0120】
以上の結果、連続した矩形領域として、図6の未使用の領域601,602,603より大きな未使用の領域702が作成される。
【0121】
また、この第2実施形態の構成では、画像データを画像記憶手段である画像記憶回路208内で移動させるため、図2に示すグラフィック処理回路209を有する構成により、画像データの移動の処理を第2のグラフィックモジュール207内で行い、ホストコンピュータ装置のCPU201やシステムバス206の負荷を増大させない構成とすることがより好ましい。
【0122】
また、上記第1実施形態で示した画面の画素数が異なる複数の端末を使用する場合では、端末に対応する画像区画の縦横の画素数が、端末毎に異なる。このために、接続と切断を繰り返すことで、各端末に対応する画像区画の隙間に利用できない小さな未使用の領域が、特に多数発生してしまう場合がある。しかし、この第2実施形態の構成により、画像記憶手段である画像記憶回路208が画像データを記憶する仮想ディスプレイ空間303を有効に利用して、より多くの端末の接続ができるデータ処理装置を提供することが可能となる。
【0123】
〔第3実施形態〕
次に、この発明の第3実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムについて説明する。この第3実施形態のコンピュータシステムは、上記第1,第2実施形態のコンピュータシステムにおいて、必要に応じて、端末に対応する画像区画を待避させ、一時的に仮想ディスプレイ空間303の未使用の領域を増加させ、その後、必要に応じて待避させた画像区画を復元する構成である。
【0124】
図16は、図11のステップS16で起動される子プログラムの処理を説明するフローチャートを示している。この図16のフローチャートは、ステップS47,S48を除いて図14のフローチャートと同じ内容であり、以下、図14と異なるところのみを説明する。
【0125】
この第3実施形態では、図16で示す子プログラムの処理のフローチャートのステップS47において、一定時間、入力イベントや画面の更新がなかった場合、端末に対応する画像区画を待避させる処理を行うように構成している。また、その後、入力イベントが発生した場合、ステップS48で端末に対応する画像区画を復元する。
【0126】
さらに、図5に示すように、端末に対応する画像区画が待避されている情報(以降、画像区画の待避情報と呼ぶ)506を管理表に保持する。
【0127】
そして、図11のステップS13で仮想ディスプレイ空間303中に未使用の領域を取得する場合、画像区画の待避情報506に待避されている旨の情報が保持されているときは、その領域は、その端末が使用していないものとして未使用の領域を算出する。
【0128】
また、図13のステップS33でも画像区画の待避情報506に待避されている旨の情報が保持されている場合は、ステップS38に進む。
【0129】
以下、図16のステップS47の端末に対応する画像区画を待避させる処理を図17のフローチャートを用いて説明する。ここでは、端末102,103をホストコンピュータ装置101に接続しており、図3において、端末102が一時的に矩形の画像区画304の解放を行う例として説明する。
【0130】
まず、子プログラム404は、ステップS61で画像区画の待避を判断する。つまり、一定時間、入力イベントや画面の更新がなかった場合、画像区画の待避を行う。
【0131】
そして、画像区画の待避を行う場合、ステップS62に進み、仮想ディスプレイ上での画像区画の位置の情報を取得する。つまり、管理表507の画像区画の座標情報502として保持されている矩形の画像区画304の座標を取得する。一方、ステップS61で画像区画の待避を行わない場合は、この処理を終了する。
【0132】
次に、ステップS63で、矩形の画像区画304の画像データを副記憶装置に保存する。この場合、副記憶装置は、画像記憶手段である画像記憶回路208に対する副次的な記憶装置であるため、ハードディスク装置などのほか、主記憶装置202である場合もありうる。
【0133】
そして、ステップS64で、端末に対応する画像区画の解放を行う。つまり、管理表507の画像区画の待避情報506に待避されている情報を保持する。これによって矩形の画像区画304は、図11のステップS13および図13のステップS33において、端末に対応する画像区画としては扱われないようになり、矩形の画像区画304から、端末102に画像データが送信されることがなくなる。
【0134】
以下、図16のステップS48の端末に対応する画像区画を復元させる処理を図18のフローチャートを用いて説明する。ここでは、上記端末102に対応する画像区画を待避した後、図8に示すように、他の端末に対応する画像区画801を設定した状態で、端末102が入力データを送信し、図12のステップS23によって入力イベントとして子プログラム404に通知されたものとする。
【0135】
子プログラム404は、図16のステップS42で入力イベントがあると判断し、ステップS48に進む。
【0136】
そして、図18のステップS71で画像区画が待避されているか否かを判断する。つまり、この第3実施形態では、管理表507の画像区画の待避情報506に領域が待避されている情報を保持している。
【0137】
画像区画が待避されている場合、ステップS72で画像区画の画素数を設定する。つまり、管理表507の画像区画の座標情報502として保持されている矩形の画像区画の座標を取得することで元の矩形の画像区画304と同じ画素数を得ることができる。一方、画像区画が待避されていない場合は、この処理を終了する。
【0138】
次に、ステップS73で仮想ディスプレイ空間303中の未使用の領域を取得する。これは、図11のステップS13と同じ処理である。
【0139】
そして、ステップS74で、上記未使用の領域に端末に対応する画像区画を設定する。これは、図11のステップS14と同じ処理である。ここでは、図8の画像区画802に端末102に対応する画像区画が設定されている。
【0140】
つまり、別の端末に対応する画像区画801が存在するために元の場所には画像区画を設定できないので、別の画像区画802に設定された状態を示している。
【0141】
そして、ステップS75で画像区画が設定できたか否かを判断する。
【0142】
設定ができた場合には、ステップS76で、副記憶装置に複写した画像データを上記画像区画に読み込む。つまり、仮想ディスプレイ空間の画像データを復元する。
【0143】
最後に、ステップS77で管理表507の画像区画の座標情報502を更新する。つまり、端末に対応する画像区画は、この例のように、元の矩形の画像区画304と異なる座標の画像区画802に復元される場合もあるので、新しく設定された矩形画像区画802の座標を画像区画の座標情報502に保持する。
【0144】
一方、ステップS75で画像区画が設定できなかった場合は、ステップS73に戻り、未使用の領域が増加して端末に対応する画像区画が確保されるまでステップS73,S74,S75を繰り返す。
【0145】
図17のステップS62,S63,S64によって、仮想ディスプレイ空間303から、上記端末に対応する画像区画を待避させる画像区画待避手段が構成される。
【0146】
また、図18のステップS72,S73,S74,S76,S77によって、仮想ディスプレイ空間303に、待避された上記画像区画を復元する画像区画復元手段が構成される。
【0147】
コンピュータ装置の作業には、画面を見ながら順次入力を行うような作業以外に、一定の画像を表示して閲覧する場合もある。または、前述のようにネットワーク回線の通信回線が意図的に、または非意図的に長く切断され、イベント入力ストリームの処理が終わり、一定の画像を表示して、入力待ちの状態になる場合がある。
【0148】
例えば、図3において、矩形の画像区画304や、矩形の画像区画305が長時間にわたって一定の画像となった場合、各画像区画からは画像データが読み出されることがないが、仮想ディスプレイ空間303中に、各矩形の画像区画304,305を占有し続けることになる。
【0149】
この第3実施形態の構成では、上記のように、端末に入力イベントや、仮想ディスプレイ空間への描画に一定の処理が一定時間なかった場合、端末に対応する画像区画を待避させ、一時的に仮想ディスプレイ空間303の未使用領域を増加させることが可能である利点を有するデータ処理装置を提供することができる。
【0150】
さらに、図17のステップS63で画像区画を解放させた後、図15のステップS51〜S57で説明した、端末に対応する画像区画を移動させる画像区画移動手段によって、仮想ディスプレイ空間303に、未使用の連続したより大きな矩形領域を作成することにより、より効率的に仮想ディスプレイ空間303を利用することが可能となる。つまり、仮想ディスプレイ空間303の画像データを記憶する画像記憶回路208を、より効率的に利用することが可能なデータ処理装置を提供することができる。
【0151】
〔第4実施形態〕
次に、この発明の第4実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムについて説明する。この第4実施形態のコンピュータシステムは、第1〜第3実施形態のいずれかのコンピュータシステムにおいて、仮想ディスプレイ空間303画像区画の画像データを、コンピュータ装置のシステムバスを介さずに、画像記憶手段である画像記憶回路208からネットワークモジュールに転送する経路を有する構成としたものである。
【0152】
第1〜第3実施形態のいずれかのデータ処理装置では、図2に示すように、第2のグラフィックモジュール207に、グラフィック処理回路209を有する構成としている。これは描画におけるCPUの負荷を低減させる利点を有している。特に、第2実施形態において端末に対応する画像区画を移動するときに第2のグラフィックモジュール207内で処理が可能となり、ホストコンピュータ装置のCPU201の負荷を低減できる。
【0153】
また、より好ましくは、CPU201の負荷を減少させるために、第2のグラフィックモジュール207とネットワークモジュール203が、CPU201を介さず、直接システムバス206を介して、データを直接転送する構成とするとよい。
【0154】
しかし、複数の作業者が複数の端末からホストコンピュータに接続を行った場合、端末に対応する画像区画の画像データを端末に送信する処理の負荷が大きくなってホストコンピュータ装置全体の処理を低下させてしまう場合がある。
【0155】
つまり、図9に示すように、第2のグラフィックモジュール901にネットワークモジュール902を付加し、システムバス206を介することなく、画像記憶回路208から画像データの読み出し、ネットワークモジュール902に転送する経路903を有するように構成する。
【0156】
また、第4実施形態により、図13のステップS36の画像データを端末に送信する処理において、システムバス206を介さない経路903を用いて、端末に送信する画像データを画像記憶回路208から、ネットワークモジュール902に転送してネットワーク回線104に送信することができるため、CPU201や、特に、システムバス206の負荷を増大させることがなくなり、ホストコンピュータ装置101全体の処理の低下を防止することができる。
【0157】
特に、画像記憶回路208として、データを入出力する端子と独立して読み出しを行うことのできる端子を有する記憶素子、いわゆるデュアルポートRAMを用いる構成とし、データを入出力する端子を経路904に接続し、独立して読み出しを行うことのできる端子を経路903に接続する構成としてもよい。その場合、経路904を介した画像データの入出力の処理と独立して、画像データを端末に送る処理、つまり、経路903を通してネットワークモジュール902より画像データを送信する処理を行うことができる。そのため、ホストコンピュータ装置101(図1に示す)の処理の低下を特に防止することができる。
【0158】
端末からのホストコンピュータ装置101の操作を行うためには、この発明で示した構成以外に、主記憶装置202に端末に対応する複数の仮想ディスプレイ空間を設定する構成も可能である。しかし、その構成では、比較的大きな記憶容量を必要とする仮想ディスプレイ空間を保持する記憶領域を主記憶装置202に配置しなければならない。また、その場合、その仮想ディスプレイ空間への画像データの入出力の処理や、端末へ画像データを送信する処理を全て、主記憶装置202の上記記憶領域に対してCPU201が行うことになってしまう。
【0159】
それに対して、この発明の画像記憶手段である画像記憶回路208が画像データを記憶する仮想ディスプレイ空間303を分割して端末毎に画像区画として、区別して使用する構成では、グラフィック処理回路209の使用等、画像データの入出力処理の高速化が、端末毎に特別な構成の追加を行うことなく可能である上、さらにこの第4実施形態の構成により、端末への画像データの送信においても、CPU201やシステムバス206の負荷を増大させることがなくなる。そのため、特に複数の端末から使用されるデータ処理装置に適したデータ処理装置を提供することが可能となる。
【0160】
また、上記第1〜第4実施形態では、図4に示すように、接続管理プログラム403と子プログラムのタスクにより、データ処理装置の各処理を分担して行っているが、これらの処理の分担を行う方法は、ここで示した実施形態に限られるものではなく、各種の方法が考えられる。または、OS自身にこの発明のデータ処理装置の機能を組み込むことも可能である。
【0161】
また、上記第1〜第4実施形態では、各子プログラムにより各端末の作業を行うように構成しているが、子プログラムが、OSのように一定のプラットホームを提供し、子プログラム上で孫プログラムを実行するようにすることも可能である。例えば、子プログラム404,405がWindowsのエミュレータの機能を有するように構成する。そして、端末に対応する画像区画をそれぞれエミュレートされた仮想ディスプレイ空間として使用して、図4に示すように子プログラム404,405から孫プログラム406,407を実行することで、端末からより自由な作業の実行を可能とすることができる。例えば、UNIX(登録商標)上では、Windowsのアプリケーションを実行するエミュレータプログラムは既知である。
【0162】
さらにまた、子プログラムを、コンピュータ装置のCPUや記憶装置や周辺装置をエミュレートするプログラム、いわゆる仮想コンピュータとした構成とすることも可能である。その場合、端末に対応する画像区画が、仮想コンピュータの仮想ディスプレイ装置となる。このような場合、各端末からの作業は、ホストコンピュータ装置上の仮想コンピュータでアプリケーションを実行する構成となるので、端末間がより独立した環境で作業を行うことができる利点を有するデータ処理装置を提供することができる。
【0163】
【発明の効果】
以上より明らかなように、この発明のデータ処理装置によれば、端末毎に決められた画像を記憶する手段を予め保持する必要がなく、ネットワーク回線で接続された離れた場所の端末の画面でコンピュータ装置の出力画像を見ながら入力装置を操作し、コンピュータ装置上でのプログラムの処理を進めることができるデータ処理装置を提供することができる。
【0164】
特に、上記仮想ディスプレイ空間を分割して各端末毎に画像区画として区別して使用するために、各端末に対応する画像区画への画像データの入出力は、仮想ディスプレイ空間全体への画像データの入出力として、共通のプログラムを使用することができる。これは、ホストコンピュータ装置の画像データの入出力の処理を単純化でき、複数の作業者が、複数の端末から接続してホストコンピュータ上で作業を行う場合、特に、主記憶装置の有効利用や処理速度の向上ができる利点を有する。
【図面の簡単な説明】
【図1】図1はこの発明の第1実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムの概略構成図である。
【図2】図2は上記ホストコンピュータ装置のブロック図である。
【図3】図3は仮想ディスプレイ空間を説明するための図である。
【図4】図4は上記ホストコンピュータ装置のタスク構成を説明するための図である。
【図5】図5は管理表リストを説明するための図である。
【図6】図6は画像区画の解放を説明するための図である。
【図7】図7は画像区画の移動を説明するための図である。
【図8】図8は画像区画の復元を説明するための図である。
【図9】図9はこの発明の第4実施形態のデータ処理装置の一例としてのホストコンピュータ装置の第2のグラフィックモジュールの異なる構成を説明するための図である。
【図10】図10は接続管理プログラムの動作を説明するためのフローチャートである。
【図11】図11は端末からの接続要求の処理を説明するためのフローチャートである。
【図12】図12は端末からの入力データの処理を説明するためのフローチャートである。
【図13】図13は端末への画像データの送信処理を説明するためのフローチャートである。
【図14】図14は子プログラムの処理を説明するためのフローチャートである。
【図15】図15はこの発明の第2実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムにおける画像区画の移動を説明するためのフローチャートである。
【図16】図16はこの発明の第3実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムにおける子プログラムの処理を説明するためのフローチャートである。
【図17】図17は画像区画の待避を説明するためのフローチャートである。
【図18】図18は画像区画の復元を説明するためのフローチャートである。
【図19】図19は従来のデータ処理装置の概略構成を示すブロック図である。
【符号の説明】
101…ホストコンピュータ装置、
102,103…端末、
104…ネットワーク回線、
105…HUB、
106,107,108,109,905…接続端子、
110…ディスプレイ装置、
115,116…キーボード入力装置、
117,118…ポインタ入力装置、
201…CPU、
202…主記憶装置、
203…ネットワークモジュール、
204…第1のグラフィックモジュール、
206…システムバス、
207…第2のグラフィックモジュール、
208…画像記憶回路、
209…グラフィック処理回路、
210…読み書き、
301…仮想デスクトップ空間、
303…仮想ディスプレイ空間、
304,305,801…画像区画、
401…OS(オペレーションシステム)、
403…接続管理プログラム、
404,405…子プログラム、
409…信号、
410…信号、
501…端末の識別情報、
502…画像区画の座標情報、
503…子プログラムの識別情報、
504…送信画像情報、
505…送信座標情報、
506…画像区画の待避情報、
507,508…管理表、
509…管理表リスト、
601,602,603,702,703…未使用の領域、
701…画像区画、
802…画像区画、
901…第2のグラフィックモジュール、
902…ネットワークモジュール、
903…経路、
904…経路、
1001…コンピュータ装置、
1002,1003,1004,1005…ディスプレイ装置、
1006,1007,1008,1009…ポインタ入力装置。
【発明の属する技術分野】
この発明は、データ処理装置に関し、特に、複数の端末よりネットワーク回線を介してホストコンピュータ装置を操作するのに好適なデータ処理装置に関する。
【0002】
【従来の技術】
従来、データ処理装置としては、図19に示すように、複数のユーザー入力を干渉なく処理するコンピュータ装置1001がある(特表平11−503849号公報)。このコンピュータ装置1001は、シングルユーザOS(オペレーションシステム)としてマイクロソフト社のウインドウズを用いている。上記コンピュータ装置1001に接続された個々のディスプレイ装置1002,1003,1004および1005は、それぞれ、コンピュータ内部の画像記憶手段である、個々のディスプレイ装置1002,1003,1004および1005に対応した複数のグラフィックボード(図示せず)に接続されており、それぞれディスプレイ空間を提供している。そして、OSのマルチディスプレイ機能により仮想デスクトップ空間上の異なる領域をそれぞれのディスプレイ装置1002〜1005が表示するように設定されている。上記コンピュータ装置1001は、イベント駆動型のソフトウエアが動作しており、複数のマウス1006,1007,1008および1009がひとつひとつのディスプレイ装置1002〜1005に対応づけられており、各マウス1006〜1009の入力操作は、対応するディスプレイ装置1002〜1005上に表示されたオブジェクトに対応するソフトウエアにマウス入力イベントとして伝達される。この構成により、シングルユーザOSであるにも関わらず、ひとつのコンピュータ装置1001上で複数のソフトウエアを、複数の作業者により、見た目上、干渉なく使用できることを可能にしている。
【0003】
【発明が解決しようとする課題】
ところで、上記データ処理装置では、端末の使用の有無に関わらず、ディスプレイ装置1002〜1005に対応した画像記憶手段である複数のグラフィックボードを備える必要があるため、効率が悪いという問題がある。
【0004】
また、複数の作業者が同じ場所で共同作業する場合などには適しているが、ディスプレイやマウスなどの入出力装置のケーブル長によって各端末の使用可能な空間的な配置が限られてしまう。特に、家庭内で複数の作業者が別々の場所でコンピュータ装置を独立して利用する場合などでは、それぞれの場所まで、ディスプレイケーブルとマウスケーブルを延長する必要があった。そのため、実質上、自由な場所での利用ができないという問題がある。
【0005】
そこで、この発明の目的は、端末毎に画像データを保持する記憶手段を予め保持する必要がなく、少ない記憶容量で効率よく多くの端末が利用でき、離れた場所にある端末からもネットワーク回線を介してプログラムの処理ができるデータ処理装置を提供することにある。
【0006】
【課題を解決するための手段】
上記目的を達成するため、この発明のデータ処理装置は、画像記憶手段に仮想ディスプレイ空間の画像データを記憶し、ネットワーク回線を介して少なくとも1つの端末より接続要求が行われると、その接続要求に応じて、上記仮想ディスプレイ空間に上記端末に対応する画像区画を画像区画設定手段により設定する。このデータ処理装置は、上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画の画像データを、画像データ送信手段によりネットワーク回線を介して端末に送信する。そして、端末では、画像データを受信して端末のディスプレイ装置に表示する。上記端末に接続された入力装置(例えばキーボード入力装置やポインティング入力装置)から入力された入力データを、ネットワーク回線を介してこのデータ処理装置に送信すると、端末からの入力データを処理して、上記端末に対応する画像区画を出力インターフェースとしたプログラムの実行をプログラム実行手段により行うことにより、上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画に画像データを出力する。これによって、ネットワーク回線によって少なくとも1つの端末が接続されるデータ処理装置の操作を、端末のディスプレイ装置を見ながらその端末より行うことができる。また、端末からの作業が終了すれば、上記仮想ディスプレイ空間上の上記端末に対応する画像区画を画像区画解放手段により解放し、次の端末の接続要求を待つ。
【0007】
したがって、上記構成のデータ処理装置によれば、端末毎に画像記憶手段を予め保持する必要がなく、少ない記憶容量で効率よく多くの端末が利用できると共に、離れた場所にある端末からもネットワーク回線を介してプログラムの処理ができる。
【0008】
また、この発明のデータ処理装置では、ネットワーク回線を介して複数の端末より、データ処理装置を構成するコンピュータ装置に別々に接続要求が行われる場合、各端末からの接続要求を順次受け付け、それぞれの端末に対応する複数の画像区画が、上記仮想ディスプレイ空間上で相互に重ならないように、それぞれの端末に対応する画像区画を画像区画設定手段により設定する。そして、上記仮想ディスプレイ空間に設定された上記画像区画の画像データを、画像データ送信手段によりネットワーク回線を介して順次対応する端末に送信する。各端末では、画像データを受信して端末のディスプレイ装置に表示する。また、端末に接続された入力装置(例えばキーボード入力装置やポインティング入力装置)から入力された入力データを、ネットワーク回線を介して順次、このデータ処理装置に送信すると、各端末からの入力データを別々に処理し、記憶アドレス空間を分割して作成した各端末の使用する画像区画に対応させて画像データを出力する。
【0009】
このような複数の端末からの処理を行う場合には、処理速度の低下防止が大きな課題となるが、この発明の仮想ディスプレイ空間を分割して各端末毎に区別して使用する構成のデータ処理装置では、各端末に対応する画像区画への画像データの入出力は、仮想ディスプレイ空間全体への画像データの入出力のプログラムを共通して使用することができる。そのため、画像描画を高速化するグラフィック処理回路を共通に利用することも可能となり、処理速度を向上できる利点を有する。
【0010】
また、一実施形態のデータ処理装置では、上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画が、上記仮想ディスプレイ空間上で連続した矩形領域とすることで、画像データの入出力時のアドレス計算処理が低減され、出力インターフェースとしての処理速度が向上する。また、上記画像区画の画像データを端末に送信するときの処理速度が向上する。特に、画像データの入出力に、仮想ディスプレイ空間全体への画像データの入出力のプログラムを共通して使用するためには、端末に対応する画像区画は連続した矩形領域であることがより好ましい。
【0011】
また、一実施形態のデータ処理装置では、ネットワーク回線を介して端末より接続要求が行われたとき、端末のディスプレイ装置の情報として、解像度を取得することによって、上記端末の表示画面の解像度に合わせて、上記端末に対応する画像区画の解像度を解像度設定手段により設定し、仮想ディスプレイ空間に上記端末に対応する画像区画を設定する。なお、ここで解像度は、表示画面の縦横の画素数や、色調の解像度であり、縦横の画素数だけでもよい。
【0012】
したがって、予めディスプレイ装置の表示画面の解像度が指定された端末に限られることなく、例えば、各種携帯端末や、ディスプレイ装置をもつ携帯電話等を端末として随時接続し、プログラムを実行して処理を行うことができる。また、特に、仮想ディスプレイ空間上を占める画像区画が必要最小限になるために、複数の端末を同時に接続する場合、より多くの端末を接続することができる。
【0013】
また、一実施形態のデータ処理装置では、上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画を、上記仮想ディスプレイ空間内で移動させる画像区画移動手段を有する。
【0014】
つまり、ある端末への画像データの送信が不要(または一定の間不要)となる場合に、上記端末に対応する画像区画をディスプレイ空間から解放する場合があり、上記の解放された画像区画は、新規な端末の接続に使用することが可能となる。このとき、上記画像区画移動手段によって、その他の画像区画を仮想ディスプレイ空間内で画像データと共に移動させ、仮想ディスプレイ空間の各画像区画間の未使用の領域を減少させ、できるだけ大きな連続した未使用の領域を、あるいは、できるだけ大きな連続した未使用の矩形の領域を作成することが可能となる。
【0015】
なお、各移動された画像区画は、上記仮想ディスプレイ空間内の位置が変わるので、以降、それに対応して、端末には、移動された先の画像区画から画像データを送信する。また、端末からの入力に対応する処理においても移動された先の画像区画に画像データを出力するようにする。
【0016】
複数の端末が接続と切断を繰り返した場合に、仮想ディスプレイ空間内の画像区画どうしの間に未使用の領域が散在し、新規な端末に使用する連続した矩形領域としての画像区画が確保できなくなる場合がある。また、いろいろな解像度のディスプレイ装置に応じて、異なる画素数の画像区画が上記仮想ディスプレイ空間に混在する場合には、接続と切断を繰り返すことによって、特に、仮想ディスプレイ空間内の画像区画どうしの間に未使用の領域が散在してしまう場合がある。しかしながら、上記実施形態の画像区画移動手段の構成により、できるだけ大きな連続した未使用の領域を作成することができ、より多くの端末が接続でき、同時に複数の作業を行うことができる。
【0017】
また、一実施形態のデータ処理装置では、上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画を画像区画待避手段により待避させる。そうして、上記画像区画待避手段により待避させた上記端末に対応する画像区画を、画像区画復元手段により上記仮想ディスプレイ空間に復元する。
【0018】
つまり、端末への画像データの送信が一定の間不要となる場合には、上記画像区画待避手段によって、上記端末に対応する仮想ディスプレイ空間の画像区画の保存する画像データを別の記憶手段に記憶し、上記仮想ディスプレイ空間で占有していた画像区画を解放することによって、端末に対応する画像区画を待避させる。それによって、新規な端末の接続要求に備えて、上記仮想ディスプレイ空間に未使用の領域を確保できる。
【0019】
また、待避させた画像区画の画像データの送信が必要となった場合には、上記仮想ディスプレイ空間に新規画像区画を設定し、その新規画像区画に上記画像区画待避手段により待避させた画像区画を上記画像区画復元手段により復元する。
【0020】
なお、上記端末に対応する画像区画は、仮想ディスプレイ空間内において、以前と位置が変わる場合があるので、以降、それに対応して、移動した先の画像区画から画像データを端末に送信する。また、端末からの入力に対応する処理においても、移動した先の画像区画に画像データを出力するように構成する。
【0021】
端末での作業を中断したり、一定の時間、画像を表示することを目的としたりして、データ処理装置より画像データを受信する必要がなくなった場合でも、端末に対応する画像区画は、仮想ディスプレイ空間を占有し続ける。そのために、新規な端末の画像区画が確保できなくなる場合がある。しかしながら、上記実施形態の画像区画待避手段および画像区画復元手段の構成により、仮想ディスプレイ空間にできるだけ未使用の領域を作成することができ、多くの端末が接続でき、同時に作業を行うことができるデータ処理装置が可能となる。
【0022】
特に、端末に対応する画像区画を待避させた後、その他の画像区画を仮想ディスプレイ空間内で画像データと共に移動させ、仮想ディスプレイ空間内の各画像区画間に存在する未使用の領域を減少させ、できるだけ大きな連続した未使用の領域を作成する構成とすることで、仮想ディスプレイ空間全体をより効率的に使用することができる。
【0023】
また、一実施形態のデータ処理装置では、上記仮想ディスプレイ空間の上記画像区画に保持された画像データが、コンピュータ装置のシステムバスを介さず、上記ネットワーク回線に接続するためのネットワークモジュールに転送される経路を有する。つまり、画像データは、仮想ディスプレイ空間の全体の画像データを記憶している画像記憶手段からネットワークモジュールにシステムバス以外の経路によって転送され、ネットワークモジュールによりネットワーク回線を介して端末に送信される。
【0024】
これによって、画像データの転送のためにCPUやシステムバスの負荷が増大することがなくなり、仮想ディスプレイ空間を分割して画像区画とし、端末毎に区別して使用する構成において、特に処理速度の低下を防止する大きな効果を有する。
【0025】
また、処理速度の向上によって、端末からの入力操作に対して応答を早くすることができ、作業者にとって利便性の高いデータ処理装置の提供が可能となる。
【0026】
【発明の実施の形態】
以下、この発明のデータ処理装置を図示の実施の形態により詳細に説明する。
【0027】
〔第1実施形態〕
図1はこの発明の第1実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムの概略構成図である。このコンピュータシステムは、図1に示すように、ホストコンピュータ装置101と、それに接続される複数の端末102,103(図1では2つのみを示す)と、それらを相互に接続するネットワーク回線104とを備えている。なお、上記ネットワーク回線104には、この発明のデータ処理装置とは係わりのない他の装置(図1ではコンピュータ装置119等)が接続されていてもよい。
【0028】
上記ネットワーク回線104には、IEEE802の規格の100BASE−Tによるインターネット回線を用い、HUB(分岐装置)105で分岐し、複数の接続端子106,107,108,109を設けている。上記接続端子106にホストコンピュータ装置101を接続し、接続端子107,108に端末102,103を夫々接続している。
【0029】
上記ホストコンピュータ装置101は、ディスプレイ装置110、キーボード入力装置111、ポインタ入力装置112が接続されると共に、ハードディスク(図示せず)が内蔵され、マイクロソフト社のマルチディスプレイ機能を有するWindows(登録商標)98をOS(オペレーションシステム)として作業ができるコンピュータ装置になっている。
【0030】
また、上記端末102,103は、ディスプレイ装置113,114とキーボード入力装置115,116およびポインタ入力装置117,118が夫々接続(または内蔵)されている。上記ポインタ入力装置117,118は、マウス、トラックボール、タッチパネル、デジタイザパネル等の座標入力装置である。
【0031】
図2は上記ホストコンピュータ装置101のブロック図を示している。このホストコンピュータ装置101は、CPU(中央演算装置)201と、主記憶装置202と、前述のネットワーク回線104に接続するためのネットワークモジュール203と、ディスプレイ装置110(図1に示す)に接続するための第1のグラフィックモジュール204と、ハードディスク,キーボード,マウスを制御するコントローラモジュール205とを備えている。上記CPU(中央演算装置)201,主記憶装置202,ネットワークモジュール203,第1のグラフィックモジュール204およびコントローラモジュール205をシステムバス206を介して相互に接続している。
【0032】
さらに、上記ホストコンピュータ装置101は、システムバス206に接続された第2のグラフィックモジュール207を備えている。この第2のグラフィックモジュール207は、画像記憶手段の一例としての画像記憶回路208と、その画像記憶回路208への画像データの演算や読み書き210を行うグラフィック処理回路209を有している。上記グラフィック処理回路209は、一般的に、グラフィックプロセッサと呼ばれる画像処理専用のデータ処理素子を用いた画像処理用の回路である。
【0033】
また、上記システムバス206には、PCI(Peripheral Component Interconnect)バスを用いたが、ISA(Industry Standard Architecture)バスやVME(Versa Module European)バスによる構成も可能であり、グラフィックモジュールに対しては専用のイメージバス(AGP(Accelerated Graphic Port)バス等)を用いた構成とする方が望ましい。
【0034】
図3にマルチディスプレイ機能を用いた仮想デスクトップ空間301を示している。ここで、仮想デスクトップ空間301は、下記に説明する仮想ディスプレイ空間を配置する座標空間であり、仮想デスクトップ空間301自身に画像データを記憶する機構はない。
【0035】
図3に示すように、仮想デスクトップ空間301の一部に矩形で示す領域302は、第1のグラフィックモジュール204に画像データが保持される仮想ディスプレイ空間であり、ディスプレイ装置110(図1に示す)に表示される。また、仮想デスクトップ空間301の別の一部に矩形で示す領域は、第2のグラフィックモジュール207は、この発明における画像記憶手段である画像記憶回路208であり、画像データが保持される仮想ディスプレイ空間303を記憶保持する。
【0036】
この発明において、仮想ディスプレイ空間303の画像データは、画像区画毎に、端末のディスプレイ装置で表示されるので、第2のグラフィックモジュール207(図2に示す)には、実際にディスプレイ装置が接続される必要はない。
【0037】
図4は図1に示すホストコンピュータ装置101で実行されるプログラムのタスク構成の概念図を示している。上記ホストコンピュータ装置101のハードウエア408を制御するOS(Windows98)401上には、並列処理されるプログラムとして、通常に実行されているアプリケーションのプログラム402の他に、端末からの接続要求への応答や、接続後の端末からの入力データの受信や端末への画像データの送信などを行う接続管理プログラム403が実行されている。また、接続管理プログラム403によって起動され、端末毎の処理を行う子プログラム404,405が実行されている。
【0038】
つまり、図1、図3、図4では、ホストコンピュータ装置101にネットワーク回線104を介して端末102,103が接続され、画像記憶回路208が画像データを記憶する仮想ディスプレイ空間303中に、各端末102,103がそれぞれ別々に矩形の画像区画304,305を設定し、各端末102,103の処理を別々に行う子プログラム404,405が動作している様子を示している。
【0039】
ここで、接続管理プログラム403と子プログラム404,405は、複数の端末102,103と、複数の矩形の画像区画304,305を区別して処理を進めるために、図5に示すように、管理表リスト509を共有する構成としている。上記管理表リスト509は、端末を識別するための情報(以降、端末の識別情報と呼ぶ)501と、端末に対応する画像区画の占有範囲の情報(以降、画像区画の座標情報と呼ぶ)502と、子プログラムを識別するための情報(以降、子プログラムの識別情報と呼ぶ)503を対応させた管理表507,508等を、端末毎に複数保持する。
【0040】
上記端末102,103からホストコンピュータ装置101へは、ネットワーク回線104を介してTCPIPプロトコルで通信を行う構成とし、上記の端末の識別情報501は、端末のインターネットアドレスを用いている。
【0041】
また、画像区画の座標情報502は、仮想ディスプレイ空間303中の矩形の画像区画304,305等の左上の座標と右下の座標としている。(以下、矩形画像区画の座標は、矩形画像区画の左上の角の座標と右下の角の座標を示すものとする。)
また、子プログラムの識別情報503は、プログラムをOSが管理するときに用いるタスクID番号を用いている。
【0042】
(1) ホストコンピュータ装置の処理
次に、この第1実施形態のホストコンピュータ装置101の処理について説明する。
【0043】
(1−1) 接続管理プログラム
図10は上記ホストコンピュータ装置101の接続管理プログラムのフローチャートを示している。
【0044】
図10に示すように、接続管理プログラム403(図4に示す)は、まず、ステップS1で端末から受信があるか否かを判断して、端末から受信があると判断すると、ステップS2に進み、端末からの接続要求の処理を行う。次に、ステップS3に進み、端末からの入力データの処理を行い、ステップS4に進む。
【0045】
一方、ステップS1で端末から受信がないと判断すると、ステップS2,S3をスキップして、ステップS4に進む。
【0046】
そして、ステップS4で、端末への画像データの送信処理を行った後、ステップS5に進み、処理の終了の指示があるか否かを判断して、処理の終了の指示がないと判断すると、ステップS1に戻り、利用者による接続処理プログラム403の終了の指示があるまでステップS1〜S4を繰り返す。
【0047】
上記ステップS2,S3,S4の処理は、図10に示すように順次処理される構成としてもよいが、プログラム中の異なるスレッド、または、異なるプログラム上で並列に処理されるように構成することも可能である。
【0048】
以下、上記接続管理プログラム403におけるステップS2,S3,S4の処理について夫々説明する。
【0049】
(1−2) 端末からの接続要求の処理
図11は、図10のステップS2における端末からの接続要求の処理を説明するフローチャートを示している。ここでは、端末103(図1に示す)がホストコンピュータ装置101に接続する場合を例として、既に端末102が接続された状態であるものとする。つまり、端末102は既に、画像記憶回路208が画像データを記憶する仮想ディスプレイ空間303に、端末102に対応する矩形の画像区画304(図3に示す)を有し、端末102の処理を行っている子プログラム404(図4に示す)が実行されているものとする。
【0050】
上記端末103からの接続要求があると、ホストコンピュータ装置のハードウエア408で受信したネットワーク回線104からの信号409(図4に示す)は、OS401により接続管理プログラム403に通知される。
【0051】
接続管理プログラム403は、図11のステップS11で、ネットワーク回線104からの信号409が端末からの接続要求であることを判断すると、ステップS12に進む一方、端末からの接続要求でないと判断すると、この処理を終了する。
【0052】
端末からの接続要求の場合には、ステップS12で、端末103に対応する画像区画の縦横の画素数を設定する。
【0053】
この第1実施形態では、接続要求の信号409に応答する信号410を発し、端末103より、解像度の情報としてディスプレイ装置114の縦横の画素数を取得し、上記端末103に対応する矩形の画像区画の縦横の画素数としている。
【0054】
そして、ステップS13に進み、画像記憶回路208が画像データを記憶する仮想ディスプレイ空間303中の未使用の領域を取得する。つまり、仮想ディスプレイ空間303には、端末102に対応する矩形の画像区画304が既に存在している。この矩形の画像区画304が占有する領域の座標の情報は、管理表リスト509中の、端末102に対応する管理表507に画像区画の座標情報として保持されている。ほかにも端末が接続されている場合には、同様に端末毎の画像区画の座標情報を取得し、未使用の領域を算出する。
【0055】
この第1実施形態では、画像記憶回路208が画像データを記憶する仮想ディスプレイ空間303を有効に利用するために、端末に対応する画像区画は、上から順に左から詰めて、端末のディスプレイ装置の縦横の画素数に合わせて設定した矩形画像区画とし、未使用の領域は下から順に右に詰めて、できるだけ大きな矩形画像区画を順に算出するようにしている。図3に未使用の矩形領域306,307が算出された様子を示している。
【0056】
そして、ステップS14に進み、未使用の矩形領域306,307に端末103に対応する矩形の画像区画305を設定する。つまり、上から順に設定しようとすると、未使用の矩形領域306は小さすぎたので、次の未使用の矩形領域307の中に上から順に左に詰めてステップS12で設定した縦横の画素数の矩形の画像区画305を、端末103に対応する画像区画として設定している。以上の方法により、上記仮想ディスプレイ空間303上で、既存の端末の使用する画像区画に重ならない部分に、端末に対応する画像区画を設定することができる。
【0057】
そして、ステップS15に進み、画像区画が設定できたか否かを判断して、画像区画が設定できたと判断すると、ステップS16に進み、端末に対応する画像区画を出力インターフェースとする子プログラムを起動する。つまり、端末103に対応する矩形の画像区画304に画像データ出力を行うことを出力インターフェースとする子プログラム405を起動するのである。
【0058】
最後に、接続管理プログラム403は、ステップS17で上記の端末の識別情報501と、画像区画の座標情報502と、子プログラムの識別情報503を対応させて保持して、この処理を終了する。
【0059】
この第1実施形態では、前述の管理表リスト509に端末103用の管理表508を追加し、端末の識別情報501、画像区画の座標情報502、子プログラムの識別情報503にそれぞれデータを保存する構成としている。
【0060】
つまり、ステップS13で使用した管理表507の値も同様に端末102が接続したときに作成されたものである。
【0061】
また、この第1実施形態では、図10のステップS4において、端末への画像データの送信処理を効率化するために、管理表507,508には、さらに、端末に対応する矩形の画像区画304,305等への画像データの書き込みに関して、画像データの書き込みの有無の情報、つまり、端末に送信すべき情報の有無(以降、送信画像情報と呼ぶ)504と、書き込まれた画像データを含む矩形領域の座標、つまり、端末に送信するべき矩形領域の座標(以降、送信座標情報)505を保持するようにしている。
【0062】
ここで、端末103が、離れた複数の領域を用いて、連続したひとつの画像区画として使用することも可能である。例えば、矩形領域306と矩形領域307の一部を用いて矩形の画像区画305と同じ画素数を確保することもできる。しかし、画像データの入出力や、端末への画像データの送信の処理が複雑となるため、上記仮想ディスプレイ空間303上の連続した矩形の領域を、画像区画として使用するようにした方が望ましい。
【0063】
また、図11のステップS15で端末103に対応する画像区画が設定できなかった場合は、ステップS18に進み、端末103に接続要求の拒否の通知を行い、この処理を終了する。つまり、仮想ディスプレイ空間303に未使用の領域が少なく、端末103に対応する画像区画を設定できなかった場合、端末103を接続しないでこの処理を終了する。
【0064】
図14は、図11のステップS16で起動される子プログラムの処理のフローチャートを示している。ここでは、端末103の接続要求により起動された子プログラム405の動作として説明する。
【0065】
まず、子プログラム405は、ステップS41で必要な初期化を行う。つまり、子プログラム405は、図11のステップS17で、対応する管理表508に画像区画の座標情報502が入力されるのを待ち、以降、画像区画の座標情報502の示す矩形画像区画内への画像データの出力をもって、子プログラム405の出力インターフェースとする。その後、画面の表示や、ポインティング入力やキーボード入力用のカーソルの表示を、端末に対応する矩形の画像区画305内で行う。
【0066】
次に、ステップS42で入力イベントの有無を判断して、入力イベントがあった場合、ステップS43に進み、入力イベントの処理を行う。つまり、カーソルの移動や、ボタンの操作、キー入力のイベントがあれば、それに応じて、カーソルの移動や入力操作に応じたプログラムの処理を行う。つまり、このプログラムの処理の中で、矩形の画像区画305への画像データの出力をもってキー入力に対する応答を行う。
【0067】
また、この入力イベントは、次に説明する図12のステップS23で接続管理プログラム403から通知されるが、接続管理プログラム403と子プログラム405を並列処理するためのバッファを用いて、接続管理プログラム403がバッファに書き込み、子プログラム405がバッファの先に書き込まれたものから順に読み出すように構成した方が好ましい。
【0068】
一方、ステップS42で入力イベントがないと判断すると、ステップS43をスキップする。
【0069】
次に、ステップS44に進み、処理を終了する指示があるか否かを判断して、処理を終了する指示がないと判断すると、ステップS42に戻り、子プログラムの処理を終了する指示があるまでステップS42,S43を繰り返す。子プログラムの処理を終了する指示は、例えば、矩形の画像区画305の中に、子プログラムの処理を終了させる処理に結び付けられた描画オブジェクトなどが、カーソルで指定されることなどで行う。
【0070】
一方、ステップS44で子プログラムの処理を終了する指示があったと判断すると、ステップS45に進み、終了の処理を行う。例えば、画面の消去や、ファイルの保存等である。
【0071】
そして、ステップS46に進み、端末に対応する矩形の画像区画305を解放する。つまり、図11のステップS17で端末毎に対応させて保持された端末の識別情報501と、画像区画の座標情報502と、子プログラムの識別情報503を削除する。この第1実施形態では、管理表リスト509から管理表508を削除することで行われる。
【0072】
また、この第1実施形態では、ステップS4における端末への画像データの送信処理を効率化するために、図14のステップS41,S43,S45で端末に対応する画像区画へ画像データの出力を行った場合は、管理表の送信画像情報504,送信座標情報505を更新するように構成している。例えば、図3の矩形の画像区画305に、画像出力314があった場合、図5に示すように、送信画像情報504は送信するべき画像有とし、送信座標情報505には、書き込まれた画像出力314を含む矩形領域315の座標を保持する。また、既に、送信画像情報504が送信するべき画像がある旨の情報を保持している場合は、既に保持されている矩形領域の座標と今回書き込んだ画像データの両方を含む矩形領域の座標を保持する。
【0073】
(1−3) 端末からの入力データの処理
図12は、図10におけるステップS3の端末からの入力データの処理を説明するフローチャートを示している。ここでは、端末102,103をホストコンピュータ装置101に接続しており、端末103からの入力データを受信した場合を例に説明する。
【0074】
まず、端末103からの入力データの受信があると、ホストコンピュータ装置101のハードウエア408でネットワーク回線104を介して受信された信号409は、OS401により接続管理プログラム403に通知される。
【0075】
接続管理プログラム403は、ステップS21で端末からの入力データの有無を判断して、ネットワーク回線104からの信号409が、接続された端末からの入力データの受信であると判断する。つまり、管理表リスト509の中で、送信元のインターネットアドレスが端末の識別情報501に一致する管理表があるかを判断する。
【0076】
そして、ステップS21で端末からの入力データがあると判断すると、ステップS22で端末に対応する子プログラムの識別情報503を取得する。つまり、送信元のインターネットアドレスが端末の識別情報501に一致した管理表508から、子プログラムの識別情報503として保持されているタスクID番号を取得する。一方、ステップS21で端末からの入力データがないと判断すると、この処理を終了する。
【0077】
最後に、ステップS23に進み、タスクID番号を用いて、上記子プログラム405に対して入力データを入力イベントとして通知して、この処理を終了する。つまり、上記のタスクID番号の子プログラム405に、入力データを入力イベントの形式に変更して通知することで、端末からの操作に対応した処理が行われる。例えば、ポインティング装置の座標の移動やボタンの操作,キー入力を、それに応じた入力イベントに変更して通知する。この通知により、子プログラム405の図14のステップS42,S43で端末からの操作に対応した処理が行われることになる。
【0078】
(1−4) 端末への画像データの送信処理
図13は、図10のステップS4の端末への画像データの送信処理を説明するフローチャートを示している。ここでは、端末102,103がホストコンピュータ装置101に接続している場合を例として説明する。
【0079】
この第1実施形態では、端末への画像データの送信処理を効率化するために管理表の送信画像情報504に基づき、各端末が使用する仮想ディスプレイ空間303の矩形画像区画に書き換えられた領域があったときのみ、送信画像情報505に基づいて、書き換えられた領域を含む矩形画像区画の画像データと、その座標を端末に送信する構成としている。
【0080】
送信画像情報504と送信座標情報505は、前述の図14に示す子プログラムのステップS41,S43,S45で画像データの出力を行うたびに、送信画像情報504,送信座標情報505に対して更新される。
【0081】
まず、接続管理プログラム403は、ステップS31で、接続された端末が存在するかどうか判断する。この第1実施形態では、管理表リスト509に管理表があるかどうかで判断する。
【0082】
そして、接続された端末が存在する場合、ステップS32に進み、接続された端末を順次選択する。つまり、この第1実施形態では、管理表リスト509中の管理表507,508を順に選択することで行われる。
【0083】
次に、ステップS33で、選択した端末に対応する矩形の画像区画の送信するべき画像の有無を判断する。つまり、選択した管理表に保持されている送信画像情報504から送信するべき画像の有無を判断する。
【0084】
そして、選択した端末に対応する矩形の画像区画に送信するべき画像がある場合は、ステップS34に進む一方、送信するべき画像がない場合は、ステップS34〜S37をスキップする。
【0085】
そして、ステップS34で、送信するべき画像データの矩形の画像区画の座標を取得する。この第1実施形態では、管理表から画像区画の座標情報502と送信座標情報505を取得し、送信する矩形領域(たとえば、画像区画305の中の書き換えが行われた矩形領域315)の仮想ディスプレイ空間303上での座標を算出する。
【0086】
次に、ステップS35で端末の識別情報を取得する。つまり、管理表から、端末の識別情報501として保持されている端末のインターネットアドレスを取得する。
【0087】
そして、ステップS36に進み、端末に画像データを送信する。ここでは、上記インターネットアドレスに、仮想ディスプレイ空間303上でのステップS34で取得した座標に存在する上記矩形領域の画像データを送信する。また、画像データと共に、端末に対応する画像区画中での上記矩形領域の座標、すなわち、端末のディスプレイ装置の画面に表示するべき座標を送信する。
【0088】
そして、ステップS37で画像区画の書き換え情報、すなわち、管理表に保持されている送信画像情報を更新する。つまり、送信が完了すれば、送信するべき画像がない旨の情報を送信画像情報504に保持する。
【0089】
次に、ステップS38で全端末の処理が終了したか否かを判断して、全端末の処理が終了していないと判断すると、ステップS32に戻り、全ての端末の処理が終わるまでステップS32〜S37を繰り返す。つまり、管理表リストの全ての管理表の処理が終わるまで繰り返す。
【0090】
(2) 端末の処理
次に、端末の処理を説明する。ここで、各端末102,103は、図10のステップS1によってホストコンピュータ装置101に接続され、図13のステップS36によって送信されるデータの中から、自身のインターネットアドレス宛ての画像データと上記矩形領域の上記画像区画上での座標データを受信し、各ディスプレイ装置113,114の対応する座標の矩形領域に画像データを表示する。
【0091】
そして、各端末102,103は、キーボード入力データ、および、ポインティング入力データを、ネットワーク回線104を介してホストコンピュータ装置101に送信するように構成している。
【0092】
例えば、端末103であれば、ステップS36で送られてくる画像データをディスプレイ装置114に表示し、それをもとに、入力装置116,118を操作する。それによって、入力データがホストコンピュータ装置101に送信され、図14のステップS43で入力イベントとして処理され、処理のなかで端末103に対応する矩形の画像区画305に画像データが出力される。そうして、上記矩形の画像区画305に出力された画像データは、図13のステップS36によって端末103に送信されて、ディスプレイ装置114に反映される。
【0093】
以上を繰り返して、端末のディスプレイ装置114の画像を見ながら、端末103からホストコンピュータ装置101での作業を進めることができる。また、処理の終了を指示する操作を行った場合は、図14のステップS44,S45,S46で、端末103に対応する矩形の画像区画305を解放して終了することができる。
【0094】
上記第1実施形態のホストコンピュータ装置101では、図11のステップS12によって、上記端末のディスプレイ装置の解像度に合わせて、上記端末に対応する画像区画の解像度を設定する解像度設定手段が構成される。
【0095】
また、図11のステップS13,S14,S17によって、複数の端末からの接続要求により、それぞれの端末に対応する画像区画を、互いに重ならないように仮想ディスプレイ空間303に設定する画像区画設定手段が構成される。
【0096】
また、図13のステップS32,S34,S35,S36,S38によって、上記複数の端末毎に、端末に対応する画像区画の画像データを送信する画像データ送信手段が構成される。
【0097】
また、図14のステップS41,S43,S45で、図11のステップS17で保持した端末に対応する画像区画に画像データを出力することによって、上記複数の端末毎に、端末に対応する画像区画を出力インターフェースとしたプログラムの実行を行うプログラム実行手段が構成される。
【0098】
また、図14のステップS46によって、上記複数の端末毎に、端末に対応する画像区画を解放する画像区画開放手段が構成される。
【0099】
この第1実施形態では、画像データの送信量を低減するために、特に、図13のステップS33,S34において、送信するべき画像があった場合、送信するべき矩形領域の画像データのみを端末に送信する構成としたが、当然、常に端末に対応する画像区画の全画像データを送信するようにしてもよい。また、書き換えの有無に関わらず、端末に対応する画像区画の全画像データを送信するように構成してもよい。
【0100】
または、図13のステップS34では、端末に送信する上記矩形領域が大きい場合などは、複数回に分けて送信するように、上記矩形領域を分割して、書き換えられた矩形領域の一部を送信範囲とすることもできる。その場合、ステップS37の送信画像情報504の更新は、送信するべき矩形領域のすべてを送信できるまで、送信するべき画像がある旨の情報を保持し、未送信の画像データを含む矩形領域を、送信座標情報505に保持するようにすればよい。
【0101】
また、端末で画像データを受信できたかどうかの情報、または、画像データのうち、端末で受信できた画像データの範囲の情報を返信するようにし、その情報に基づいて、ステップS37の送信画像情報504,送信座標情報505の更新を変更するようにすることがより好ましい。つまり、何らかの都合で通信が途絶え、端末が画像データの全てを受信できなかった場合、ステップS37で、端末が返信してきた受信できた画像データの座標に基づいて、画像区画の受信できなかった画像データを含む矩形領域を送信座標情報に保持し、送信画像情報は送信すべき画像がある旨の情報を保持する。それによって、受信できなかった残りの部分を次回送信することができる。これによって、例えば、端末103をネットワーク回線104の接続端子108から切り離して、別の場所のネットワーク回線104の接続端子109に移動して元の作業を続けることも簡単に可能となる。また、ネットワーク回線104が無線通信回線によるものである場合や、ネットワーク回線104の一部に無線通信回線によるものを含む場合でも、一時的に通信回線が途絶えた場合に画像データを次回の送信タイミングで送信することが可能となる。
【0102】
また、画像データは圧縮や暗号化して送信することも可能である。
【0103】
なお、この第1実施形態では、仮想ディスプレイ空間303中に、端末に対応する画像区画は、上から順に左から詰めて、端末のディスプレイ装置の縦横の画素数にあわせた矩形画像区画として設定し、未使用の領域は下から順に右に詰めてできるだけ大きな矩形画像区画を順に算出するようにしている。しかし、画像区画の設定の方法はこれに限られるものではなく、その他の方法を用いることも可能であり、できるだけ効率よく仮想ディスプレイ空間303を利用できる方法が好ましい。それによって、仮想ディスプレイ空間303の画像データを記憶する画像記憶回路208がより効率よく利用される。
【0104】
また、図11のステップS16で子プログラムを起動する場合、OS上の主記憶装置202に新規な子プログラムを実行する記憶容量が足りなかったり、OSの実行プログラム数の限界に達していたりして、エミュレータの起動がOS401より拒否されることもある。その場合は、ステップS18に進み、端末からの接続要求に対して拒否の応答を返す処理を行う必要がある場合もある。
【0105】
〔第2実施形態〕
次に、この発明の第2実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムについて説明する。この第2実施形態のコンピュータシステムは、第1実施形態のコンピュータシステムの構成に加え、端末に対応する画像区画を仮想ディスプレイ空間303内で移動させる画像区画移動手段を備えることによって、仮想ディスプレイ空間303に、未使用の連続したより大きな矩形の領域を作成するものである。
【0106】
以下、仮想ディスプレイ空間303に、未使用の連続したより大きな矩形の領域を作成する処理を図15のフローチャートを用いて説明する。
【0107】
ここでは、端末102,103が接続された状態から、端末102に対応する子プログラム404が作業を終了し、図3の矩形の画像区画304が開放された場合を例として説明する。
【0108】
上記矩形の画像区画304が解放されると、図6に示すように、仮想ディスプレイ空間303の中央に矩形の画像区画305が位置しているため、次に接続する端末が未使用の領域601,602,603の中から、端末に対応する画像区画を確保することになる。そのため、次に接続要求する端末が、各未使用の領域601,602,603より大きな領域を仮想ディスプレイ空間として必要とする場合は、画像区画を連続した矩形の画像区画として設定することができない。ここで、各未使用の領域601,602,603は、上記第1実施形態で説明したように、下から順に右から詰めてできるだけ大きな未使用の領域を確保するように算出している。
【0109】
この第2実施形態では、子プログラム404は、図14のステップS46で矩形の画像区画304の解放を行った後、つまり管理表507を削除した後、次の処理を行う。
【0110】
まず、図15のステップS51で、接続している端末があるか否かを判断する。この第2実施形態では、管理表リスト509に管理表があるか否かを判断することで行われる。
【0111】
そして、接続している端末がある場合、ステップS52で接続している端末を順次選択する。つまり、図5の管理表リスト509の管理表を順に選択する。ここでは、端末103の管理表508が選択される。一方、接続している端末がない場合は、この処理を終了する。
【0112】
次に、ステップS53で、選択した端末に対応する画像区画を移動させて、未使用の連続した矩形領域を拡大させることが可能か判断する。ここでは、未使用の連続した矩形領域を拡大させる方法としては、矩形の画像区画305を上部に移動させても、下部に移動させても可能であるが、この第2実施形態では、端末に対応する画像区画は、上から順に左端から詰めて画像区画設定するように移動するものとし、移動が可能かを判断する。
【0113】
未使用の連続した矩形領域を拡大させることが可能な場合、ステップS54で未使用領域を拡大するように仮想ディスプレイ空間303の画像区画の画像データを移動する。つまり、矩形の画像区画305(図6に示す)の画像データを画像区画701(図7に示す)に移動させる。
【0114】
そして、ステップS55に進み、移動した画像区画の座標情報502を更新する。つまり、管理表508の画像区画の座標情報502を画像区画701を指し示すように更新するのである。
【0115】
そして、ステップS56で、接続している端末を最初に戻って選択し、ステップS53に戻る。つまり、複数の端末が接続されている場合、ある端末の画像区画の移動によって、既に処理した端末の画像区画の移動が再び可能となる場合があるので、最初から各端末に対応する画像区画を移動するべきか判断するためである。この第2実施形態では、管理表リスト509の最初の管理表に戻って管理表を選択することで行うことができる。
【0116】
一方、ステップS53で未使用の連続した矩形領域を拡大させることが可能でない場合、ステップS57に進む。
【0117】
そして、ステップS57で全端末の処理が終了したか否かを判断して、全端末の処理が終了していないと判断すると、ステップS52に戻り、全端末の処理が終了するまでステップS52〜S56を繰り返す。つまり、接続している端末を順次選択し、端末に対応する画像区画の移動が全ての端末において必要なくなるまで繰り返す。
【0118】
つまり、ステップS54,S55によって、仮想ディスプレイ空間303内で、上記端末に対応する画像区画を移動させる画像区画移動手段が構成されている。
【0119】
以上の構成により、図7に示す仮想ディスプレイ空間303の未使用の領域702,703が作成される。この場合も、第1実施形態で説明したように下から順に右から詰めてできるだけ大きな未使用の領域を確保するように算出している。
【0120】
以上の結果、連続した矩形領域として、図6の未使用の領域601,602,603より大きな未使用の領域702が作成される。
【0121】
また、この第2実施形態の構成では、画像データを画像記憶手段である画像記憶回路208内で移動させるため、図2に示すグラフィック処理回路209を有する構成により、画像データの移動の処理を第2のグラフィックモジュール207内で行い、ホストコンピュータ装置のCPU201やシステムバス206の負荷を増大させない構成とすることがより好ましい。
【0122】
また、上記第1実施形態で示した画面の画素数が異なる複数の端末を使用する場合では、端末に対応する画像区画の縦横の画素数が、端末毎に異なる。このために、接続と切断を繰り返すことで、各端末に対応する画像区画の隙間に利用できない小さな未使用の領域が、特に多数発生してしまう場合がある。しかし、この第2実施形態の構成により、画像記憶手段である画像記憶回路208が画像データを記憶する仮想ディスプレイ空間303を有効に利用して、より多くの端末の接続ができるデータ処理装置を提供することが可能となる。
【0123】
〔第3実施形態〕
次に、この発明の第3実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムについて説明する。この第3実施形態のコンピュータシステムは、上記第1,第2実施形態のコンピュータシステムにおいて、必要に応じて、端末に対応する画像区画を待避させ、一時的に仮想ディスプレイ空間303の未使用の領域を増加させ、その後、必要に応じて待避させた画像区画を復元する構成である。
【0124】
図16は、図11のステップS16で起動される子プログラムの処理を説明するフローチャートを示している。この図16のフローチャートは、ステップS47,S48を除いて図14のフローチャートと同じ内容であり、以下、図14と異なるところのみを説明する。
【0125】
この第3実施形態では、図16で示す子プログラムの処理のフローチャートのステップS47において、一定時間、入力イベントや画面の更新がなかった場合、端末に対応する画像区画を待避させる処理を行うように構成している。また、その後、入力イベントが発生した場合、ステップS48で端末に対応する画像区画を復元する。
【0126】
さらに、図5に示すように、端末に対応する画像区画が待避されている情報(以降、画像区画の待避情報と呼ぶ)506を管理表に保持する。
【0127】
そして、図11のステップS13で仮想ディスプレイ空間303中に未使用の領域を取得する場合、画像区画の待避情報506に待避されている旨の情報が保持されているときは、その領域は、その端末が使用していないものとして未使用の領域を算出する。
【0128】
また、図13のステップS33でも画像区画の待避情報506に待避されている旨の情報が保持されている場合は、ステップS38に進む。
【0129】
以下、図16のステップS47の端末に対応する画像区画を待避させる処理を図17のフローチャートを用いて説明する。ここでは、端末102,103をホストコンピュータ装置101に接続しており、図3において、端末102が一時的に矩形の画像区画304の解放を行う例として説明する。
【0130】
まず、子プログラム404は、ステップS61で画像区画の待避を判断する。つまり、一定時間、入力イベントや画面の更新がなかった場合、画像区画の待避を行う。
【0131】
そして、画像区画の待避を行う場合、ステップS62に進み、仮想ディスプレイ上での画像区画の位置の情報を取得する。つまり、管理表507の画像区画の座標情報502として保持されている矩形の画像区画304の座標を取得する。一方、ステップS61で画像区画の待避を行わない場合は、この処理を終了する。
【0132】
次に、ステップS63で、矩形の画像区画304の画像データを副記憶装置に保存する。この場合、副記憶装置は、画像記憶手段である画像記憶回路208に対する副次的な記憶装置であるため、ハードディスク装置などのほか、主記憶装置202である場合もありうる。
【0133】
そして、ステップS64で、端末に対応する画像区画の解放を行う。つまり、管理表507の画像区画の待避情報506に待避されている情報を保持する。これによって矩形の画像区画304は、図11のステップS13および図13のステップS33において、端末に対応する画像区画としては扱われないようになり、矩形の画像区画304から、端末102に画像データが送信されることがなくなる。
【0134】
以下、図16のステップS48の端末に対応する画像区画を復元させる処理を図18のフローチャートを用いて説明する。ここでは、上記端末102に対応する画像区画を待避した後、図8に示すように、他の端末に対応する画像区画801を設定した状態で、端末102が入力データを送信し、図12のステップS23によって入力イベントとして子プログラム404に通知されたものとする。
【0135】
子プログラム404は、図16のステップS42で入力イベントがあると判断し、ステップS48に進む。
【0136】
そして、図18のステップS71で画像区画が待避されているか否かを判断する。つまり、この第3実施形態では、管理表507の画像区画の待避情報506に領域が待避されている情報を保持している。
【0137】
画像区画が待避されている場合、ステップS72で画像区画の画素数を設定する。つまり、管理表507の画像区画の座標情報502として保持されている矩形の画像区画の座標を取得することで元の矩形の画像区画304と同じ画素数を得ることができる。一方、画像区画が待避されていない場合は、この処理を終了する。
【0138】
次に、ステップS73で仮想ディスプレイ空間303中の未使用の領域を取得する。これは、図11のステップS13と同じ処理である。
【0139】
そして、ステップS74で、上記未使用の領域に端末に対応する画像区画を設定する。これは、図11のステップS14と同じ処理である。ここでは、図8の画像区画802に端末102に対応する画像区画が設定されている。
【0140】
つまり、別の端末に対応する画像区画801が存在するために元の場所には画像区画を設定できないので、別の画像区画802に設定された状態を示している。
【0141】
そして、ステップS75で画像区画が設定できたか否かを判断する。
【0142】
設定ができた場合には、ステップS76で、副記憶装置に複写した画像データを上記画像区画に読み込む。つまり、仮想ディスプレイ空間の画像データを復元する。
【0143】
最後に、ステップS77で管理表507の画像区画の座標情報502を更新する。つまり、端末に対応する画像区画は、この例のように、元の矩形の画像区画304と異なる座標の画像区画802に復元される場合もあるので、新しく設定された矩形画像区画802の座標を画像区画の座標情報502に保持する。
【0144】
一方、ステップS75で画像区画が設定できなかった場合は、ステップS73に戻り、未使用の領域が増加して端末に対応する画像区画が確保されるまでステップS73,S74,S75を繰り返す。
【0145】
図17のステップS62,S63,S64によって、仮想ディスプレイ空間303から、上記端末に対応する画像区画を待避させる画像区画待避手段が構成される。
【0146】
また、図18のステップS72,S73,S74,S76,S77によって、仮想ディスプレイ空間303に、待避された上記画像区画を復元する画像区画復元手段が構成される。
【0147】
コンピュータ装置の作業には、画面を見ながら順次入力を行うような作業以外に、一定の画像を表示して閲覧する場合もある。または、前述のようにネットワーク回線の通信回線が意図的に、または非意図的に長く切断され、イベント入力ストリームの処理が終わり、一定の画像を表示して、入力待ちの状態になる場合がある。
【0148】
例えば、図3において、矩形の画像区画304や、矩形の画像区画305が長時間にわたって一定の画像となった場合、各画像区画からは画像データが読み出されることがないが、仮想ディスプレイ空間303中に、各矩形の画像区画304,305を占有し続けることになる。
【0149】
この第3実施形態の構成では、上記のように、端末に入力イベントや、仮想ディスプレイ空間への描画に一定の処理が一定時間なかった場合、端末に対応する画像区画を待避させ、一時的に仮想ディスプレイ空間303の未使用領域を増加させることが可能である利点を有するデータ処理装置を提供することができる。
【0150】
さらに、図17のステップS63で画像区画を解放させた後、図15のステップS51〜S57で説明した、端末に対応する画像区画を移動させる画像区画移動手段によって、仮想ディスプレイ空間303に、未使用の連続したより大きな矩形領域を作成することにより、より効率的に仮想ディスプレイ空間303を利用することが可能となる。つまり、仮想ディスプレイ空間303の画像データを記憶する画像記憶回路208を、より効率的に利用することが可能なデータ処理装置を提供することができる。
【0151】
〔第4実施形態〕
次に、この発明の第4実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムについて説明する。この第4実施形態のコンピュータシステムは、第1〜第3実施形態のいずれかのコンピュータシステムにおいて、仮想ディスプレイ空間303画像区画の画像データを、コンピュータ装置のシステムバスを介さずに、画像記憶手段である画像記憶回路208からネットワークモジュールに転送する経路を有する構成としたものである。
【0152】
第1〜第3実施形態のいずれかのデータ処理装置では、図2に示すように、第2のグラフィックモジュール207に、グラフィック処理回路209を有する構成としている。これは描画におけるCPUの負荷を低減させる利点を有している。特に、第2実施形態において端末に対応する画像区画を移動するときに第2のグラフィックモジュール207内で処理が可能となり、ホストコンピュータ装置のCPU201の負荷を低減できる。
【0153】
また、より好ましくは、CPU201の負荷を減少させるために、第2のグラフィックモジュール207とネットワークモジュール203が、CPU201を介さず、直接システムバス206を介して、データを直接転送する構成とするとよい。
【0154】
しかし、複数の作業者が複数の端末からホストコンピュータに接続を行った場合、端末に対応する画像区画の画像データを端末に送信する処理の負荷が大きくなってホストコンピュータ装置全体の処理を低下させてしまう場合がある。
【0155】
つまり、図9に示すように、第2のグラフィックモジュール901にネットワークモジュール902を付加し、システムバス206を介することなく、画像記憶回路208から画像データの読み出し、ネットワークモジュール902に転送する経路903を有するように構成する。
【0156】
また、第4実施形態により、図13のステップS36の画像データを端末に送信する処理において、システムバス206を介さない経路903を用いて、端末に送信する画像データを画像記憶回路208から、ネットワークモジュール902に転送してネットワーク回線104に送信することができるため、CPU201や、特に、システムバス206の負荷を増大させることがなくなり、ホストコンピュータ装置101全体の処理の低下を防止することができる。
【0157】
特に、画像記憶回路208として、データを入出力する端子と独立して読み出しを行うことのできる端子を有する記憶素子、いわゆるデュアルポートRAMを用いる構成とし、データを入出力する端子を経路904に接続し、独立して読み出しを行うことのできる端子を経路903に接続する構成としてもよい。その場合、経路904を介した画像データの入出力の処理と独立して、画像データを端末に送る処理、つまり、経路903を通してネットワークモジュール902より画像データを送信する処理を行うことができる。そのため、ホストコンピュータ装置101(図1に示す)の処理の低下を特に防止することができる。
【0158】
端末からのホストコンピュータ装置101の操作を行うためには、この発明で示した構成以外に、主記憶装置202に端末に対応する複数の仮想ディスプレイ空間を設定する構成も可能である。しかし、その構成では、比較的大きな記憶容量を必要とする仮想ディスプレイ空間を保持する記憶領域を主記憶装置202に配置しなければならない。また、その場合、その仮想ディスプレイ空間への画像データの入出力の処理や、端末へ画像データを送信する処理を全て、主記憶装置202の上記記憶領域に対してCPU201が行うことになってしまう。
【0159】
それに対して、この発明の画像記憶手段である画像記憶回路208が画像データを記憶する仮想ディスプレイ空間303を分割して端末毎に画像区画として、区別して使用する構成では、グラフィック処理回路209の使用等、画像データの入出力処理の高速化が、端末毎に特別な構成の追加を行うことなく可能である上、さらにこの第4実施形態の構成により、端末への画像データの送信においても、CPU201やシステムバス206の負荷を増大させることがなくなる。そのため、特に複数の端末から使用されるデータ処理装置に適したデータ処理装置を提供することが可能となる。
【0160】
また、上記第1〜第4実施形態では、図4に示すように、接続管理プログラム403と子プログラムのタスクにより、データ処理装置の各処理を分担して行っているが、これらの処理の分担を行う方法は、ここで示した実施形態に限られるものではなく、各種の方法が考えられる。または、OS自身にこの発明のデータ処理装置の機能を組み込むことも可能である。
【0161】
また、上記第1〜第4実施形態では、各子プログラムにより各端末の作業を行うように構成しているが、子プログラムが、OSのように一定のプラットホームを提供し、子プログラム上で孫プログラムを実行するようにすることも可能である。例えば、子プログラム404,405がWindowsのエミュレータの機能を有するように構成する。そして、端末に対応する画像区画をそれぞれエミュレートされた仮想ディスプレイ空間として使用して、図4に示すように子プログラム404,405から孫プログラム406,407を実行することで、端末からより自由な作業の実行を可能とすることができる。例えば、UNIX(登録商標)上では、Windowsのアプリケーションを実行するエミュレータプログラムは既知である。
【0162】
さらにまた、子プログラムを、コンピュータ装置のCPUや記憶装置や周辺装置をエミュレートするプログラム、いわゆる仮想コンピュータとした構成とすることも可能である。その場合、端末に対応する画像区画が、仮想コンピュータの仮想ディスプレイ装置となる。このような場合、各端末からの作業は、ホストコンピュータ装置上の仮想コンピュータでアプリケーションを実行する構成となるので、端末間がより独立した環境で作業を行うことができる利点を有するデータ処理装置を提供することができる。
【0163】
【発明の効果】
以上より明らかなように、この発明のデータ処理装置によれば、端末毎に決められた画像を記憶する手段を予め保持する必要がなく、ネットワーク回線で接続された離れた場所の端末の画面でコンピュータ装置の出力画像を見ながら入力装置を操作し、コンピュータ装置上でのプログラムの処理を進めることができるデータ処理装置を提供することができる。
【0164】
特に、上記仮想ディスプレイ空間を分割して各端末毎に画像区画として区別して使用するために、各端末に対応する画像区画への画像データの入出力は、仮想ディスプレイ空間全体への画像データの入出力として、共通のプログラムを使用することができる。これは、ホストコンピュータ装置の画像データの入出力の処理を単純化でき、複数の作業者が、複数の端末から接続してホストコンピュータ上で作業を行う場合、特に、主記憶装置の有効利用や処理速度の向上ができる利点を有する。
【図面の簡単な説明】
【図1】図1はこの発明の第1実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムの概略構成図である。
【図2】図2は上記ホストコンピュータ装置のブロック図である。
【図3】図3は仮想ディスプレイ空間を説明するための図である。
【図4】図4は上記ホストコンピュータ装置のタスク構成を説明するための図である。
【図5】図5は管理表リストを説明するための図である。
【図6】図6は画像区画の解放を説明するための図である。
【図7】図7は画像区画の移動を説明するための図である。
【図8】図8は画像区画の復元を説明するための図である。
【図9】図9はこの発明の第4実施形態のデータ処理装置の一例としてのホストコンピュータ装置の第2のグラフィックモジュールの異なる構成を説明するための図である。
【図10】図10は接続管理プログラムの動作を説明するためのフローチャートである。
【図11】図11は端末からの接続要求の処理を説明するためのフローチャートである。
【図12】図12は端末からの入力データの処理を説明するためのフローチャートである。
【図13】図13は端末への画像データの送信処理を説明するためのフローチャートである。
【図14】図14は子プログラムの処理を説明するためのフローチャートである。
【図15】図15はこの発明の第2実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムにおける画像区画の移動を説明するためのフローチャートである。
【図16】図16はこの発明の第3実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムにおける子プログラムの処理を説明するためのフローチャートである。
【図17】図17は画像区画の待避を説明するためのフローチャートである。
【図18】図18は画像区画の復元を説明するためのフローチャートである。
【図19】図19は従来のデータ処理装置の概略構成を示すブロック図である。
【符号の説明】
101…ホストコンピュータ装置、
102,103…端末、
104…ネットワーク回線、
105…HUB、
106,107,108,109,905…接続端子、
110…ディスプレイ装置、
115,116…キーボード入力装置、
117,118…ポインタ入力装置、
201…CPU、
202…主記憶装置、
203…ネットワークモジュール、
204…第1のグラフィックモジュール、
206…システムバス、
207…第2のグラフィックモジュール、
208…画像記憶回路、
209…グラフィック処理回路、
210…読み書き、
301…仮想デスクトップ空間、
303…仮想ディスプレイ空間、
304,305,801…画像区画、
401…OS(オペレーションシステム)、
403…接続管理プログラム、
404,405…子プログラム、
409…信号、
410…信号、
501…端末の識別情報、
502…画像区画の座標情報、
503…子プログラムの識別情報、
504…送信画像情報、
505…送信座標情報、
506…画像区画の待避情報、
507,508…管理表、
509…管理表リスト、
601,602,603,702,703…未使用の領域、
701…画像区画、
802…画像区画、
901…第2のグラフィックモジュール、
902…ネットワークモジュール、
903…経路、
904…経路、
1001…コンピュータ装置、
1002,1003,1004,1005…ディスプレイ装置、
1006,1007,1008,1009…ポインタ入力装置。
Claims (6)
- ネットワーク回線によって少なくとも1つの端末が接続されるデータ処理装置であって、
仮想ディスプレイ空間の画像データを記憶する画像記憶手段と、
上記端末からの接続要求により、上記仮想ディスプレイ空間に、上記端末に対応する画像区画を設定する画像区画設定手段と、
上記画像区画設定手段により上記仮想ディスプレイ空間に設定された上記画像区画の画像データを上記端末に送信する画像データ送信手段と、
上記仮想ディスプレイ空間に設定された上記画像区画を出力インターフェースとしたプログラムの実行を行うプログラム実行手段と、
上記仮想ディスプレイ空間に設定された上記画像区画を解放する画像区画開放手段とを有することを特徴とするデータ処理装置。 - 請求項1に記載のデータ処理装置において、
上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画が、上記仮想ディスプレイ空間上で連続した矩形領域であることを特徴とするデータ処理装置。 - 請求項1に記載のデータ処理装置において、
上記端末のディスプレイ装置の解像度に合わせて、上記仮想ディスプレイ空間に設定される上記端末に対応する上記画像区画の解像度を設定する解像度設定手段を有することを特徴とするデータ処理装置。 - 請求項1に記載のデータ処理装置において、
上記仮想ディスプレイ空間に設定された上記端末に対応する上記画像区画を、上記仮想ディスプレイ空間内で移動させる画像区画移動手段を有することを特徴とするデータ処理装置。 - 請求項1に記載のデータ処理装置において、
上記仮想ディスプレイ空間に設定された上記端末に対応する上記画像区画を待避させる画像区画待避手段と、
上記画像区画待避手段により待避させた上記端末に対応する上記画像区画を、上記仮想ディスプレイ空間に復元する画像区画復元手段とを有することを特徴とするデータ処理装置。 - 請求項1に記載のデータ処理装置において、
上記仮想ディスプレイ空間の上記画像区画に保持された画像データが、コンピュータ装置のシステムバスを介さず、上記ネットワーク回線に接続するためのネットワークモジュールに転送される経路を有することを特徴とするデータ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002168716A JP2004013687A (ja) | 2002-06-10 | 2002-06-10 | データ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002168716A JP2004013687A (ja) | 2002-06-10 | 2002-06-10 | データ処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004013687A true JP2004013687A (ja) | 2004-01-15 |
Family
ID=30435548
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002168716A Pending JP2004013687A (ja) | 2002-06-10 | 2002-06-10 | データ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004013687A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007537508A (ja) * | 2004-04-09 | 2007-12-20 | エヌヴィディア コーポレイション | グラフィック処理信号をスタンドアロンのモジュールにルーティングする方法及び装置 |
| US8643657B2 (en) | 2004-04-09 | 2014-02-04 | Nvidia Corporation | Field changeable rendering system for a computing device |
-
2002
- 2002-06-10 JP JP2002168716A patent/JP2004013687A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007537508A (ja) * | 2004-04-09 | 2007-12-20 | エヌヴィディア コーポレイション | グラフィック処理信号をスタンドアロンのモジュールにルーティングする方法及び装置 |
| US8643657B2 (en) | 2004-04-09 | 2014-02-04 | Nvidia Corporation | Field changeable rendering system for a computing device |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3546705B2 (ja) | アプリケーション・ウインドウにアノテーション・データを対応付ける方法及び装置、システム、アプリケーション・ウインドウへのアノテーション・データの対応付けを制御するプログラムを格納した記憶媒体 | |
| US5289574A (en) | Multiple virtual screens on an "X windows" terminal | |
| US5564002A (en) | Method and apparatus for implementing a virtual desktop through window positioning | |
| US20040014526A1 (en) | Interface arbitrator for allowing multiple devices to share physical input/output interfaces and other resources | |
| JP2013546043A (ja) | 即時リモートレンダリング | |
| CN110221759A (zh) | 一种元素拖拽方法、装置、存储介质及交互智能平板 | |
| JP2013542515A (ja) | 異環境間リダイレクション | |
| JPH0664536B2 (ja) | 仮想端末サブシステムの制御方法 | |
| EP0644483B1 (en) | Computer system and method for performing multiple tasks | |
| JP2863428B2 (ja) | 会話型グラフィック・システム | |
| JP3840195B2 (ja) | 描画装置及びその制御方法 | |
| JP2004213533A (ja) | 画面受信装置、画面配信装置、画面情報送受信システム、画面受信方法、画面配信方法並びにそのプログラム | |
| EP3296859A1 (en) | Image output control method, image output control program, and display device | |
| US5095524A (en) | On-line system which mainly executes regular jobs including apparatus for efficiently executing both regular jobs and irregular jobs | |
| EP3693850B1 (en) | Graphics processing method, and related apparatus and device | |
| JP2004505355A (ja) | データ処理システムにおける動的グラフィックス・コンテキスト切替の方法および装置 | |
| CN115756690A (zh) | 一种桌面窗口显示方法、装置、终端及存储介质 | |
| JP2004013689A (ja) | データ処理装置 | |
| JP2004013687A (ja) | データ処理装置 | |
| US5265251A (en) | Mechanism for allowing a single operation to shift the focus between user applications having direct hardware level access to multiple displays in a virtual terminal environment | |
| JP2004015631A (ja) | 処理モジュールおよびドライバプログラムおよびコンピュータ装置 | |
| JP3177274B2 (ja) | 情報処理装置 | |
| JP2768052B2 (ja) | グループ作業システム及びグループ作業個人作業同時実行システム | |
| JP2629399B2 (ja) | マルチウインドディスプレイ方式 | |
| EP0441509A2 (en) | Single-operation focus shift between user applications in a virtual terminal environment |