(57)【要約】【課題】ネットワーク回線に接続された端末毎に画像データを記憶する領域を予め保持する必要がなく、少ない記憶容量で多くの端末からの操作によりプログラムを実行して利用できるデータ処理装置を提供する。【解決手段】ネットワーク回線１０４を介して接続された端末からの接続要求により、画像記憶回路２０８の仮想ディスプレイ空間に、その端末に対応する画像データを保持する画像区画を画像区画設定手段により設定する。上記端末に対応する画像区画の画像データを画像データ送信手段により端末に送信し、画像区画への画像データの書き込みを出力インターフェースとしたプログラムの実行をホストコンピュータ装置上でプログラム実行手段により行う。そして、端末からの作業が終了したとき、画像区画を画像区画開放手段により解放することにより、画像記憶回路２０８の仮想ディスプレイ空間は新規な端末の接続に使用可能となる。【選択図】　図２
2004013687.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク回線によって少なくとも１つの端末が接続されるデータ処理装置であって、
仮想ディスプレイ空間の画像データを記憶する画像記憶手段と、
上記端末からの接続要求により、上記仮想ディスプレイ空間に、上記端末に対応する画像区画を設定する画像区画設定手段と、
上記画像区画設定手段により上記仮想ディスプレイ空間に設定された上記画像区画の画像データを上記端末に送信する画像データ送信手段と、
上記仮想ディスプレイ空間に設定された上記画像区画を出力インターフェースとしたプログラムの実行を行うプログラム実行手段と、
上記仮想ディスプレイ空間に設定された上記画像区画を解放する画像区画開放手段とを有することを特徴とするデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画が、上記仮想ディスプレイ空間上で連続した矩形領域であることを特徴とするデータ処理装置。
【請求項３】
請求項１に記載のデータ処理装置において、
上記端末のディスプレイ装置の解像度に合わせて、上記仮想ディスプレイ空間に設定される上記端末に対応する上記画像区画の解像度を設定する解像度設定手段を有することを特徴とするデータ処理装置。
【請求項４】
請求項１に記載のデータ処理装置において、
上記仮想ディスプレイ空間に設定された上記端末に対応する上記画像区画を、上記仮想ディスプレイ空間内で移動させる画像区画移動手段を有することを特徴とするデータ処理装置。
【請求項５】
請求項１に記載のデータ処理装置において、
上記仮想ディスプレイ空間に設定された上記端末に対応する上記画像区画を待避させる画像区画待避手段と、
上記画像区画待避手段により待避させた上記端末に対応する上記画像区画を、上記仮想ディスプレイ空間に復元する画像区画復元手段とを有することを特徴とするデータ処理装置。
【請求項６】
請求項１に記載のデータ処理装置において、
上記仮想ディスプレイ空間の上記画像区画に保持された画像データが、コンピュータ装置のシステムバスを介さず、上記ネットワーク回線に接続するためのネットワークモジュールに転送される経路を有することを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、データ処理装置に関し、特に、複数の端末よりネットワーク回線を介してホストコンピュータ装置を操作するのに好適なデータ処理装置に関する。
【０００２】
【従来の技術】
従来、データ処理装置としては、図１９に示すように、複数のユーザー入力を干渉なく処理するコンピュータ装置１００１がある（特表平１１−５０３８４９号公報）。このコンピュータ装置１００１は、シングルユーザＯＳ（オペレーションシステム）としてマイクロソフト社のウインドウズを用いている。上記コンピュータ装置１００１に接続された個々のディスプレイ装置１００２，１００３，１００４および１００５は、それぞれ、コンピュータ内部の画像記憶手段である、個々のディスプレイ装置１００２，１００３，１００４および１００５に対応した複数のグラフィックボード（図示せず）に接続されており、それぞれディスプレイ空間を提供している。そして、ＯＳのマルチディスプレイ機能により仮想デスクトップ空間上の異なる領域をそれぞれのディスプレイ装置１００２〜１００５が表示するように設定されている。上記コンピュータ装置１００１は、イベント駆動型のソフトウエアが動作しており、複数のマウス１００６，１００７，１００８および１００９がひとつひとつのディスプレイ装置１００２〜１００５に対応づけられており、各マウス１００６〜１００９の入力操作は、対応するディスプレイ装置１００２〜１００５上に表示されたオブジェクトに対応するソフトウエアにマウス入力イベントとして伝達される。この構成により、シングルユーザＯＳであるにも関わらず、ひとつのコンピュータ装置１００１上で複数のソフトウエアを、複数の作業者により、見た目上、干渉なく使用できることを可能にしている。
【０００３】
【発明が解決しようとする課題】
ところで、上記データ処理装置では、端末の使用の有無に関わらず、ディスプレイ装置１００２〜１００５に対応した画像記憶手段である複数のグラフィックボードを備える必要があるため、効率が悪いという問題がある。
【０００４】
また、複数の作業者が同じ場所で共同作業する場合などには適しているが、ディスプレイやマウスなどの入出力装置のケーブル長によって各端末の使用可能な空間的な配置が限られてしまう。特に、家庭内で複数の作業者が別々の場所でコンピュータ装置を独立して利用する場合などでは、それぞれの場所まで、ディスプレイケーブルとマウスケーブルを延長する必要があった。そのため、実質上、自由な場所での利用ができないという問題がある。
【０００５】
そこで、この発明の目的は、端末毎に画像データを保持する記憶手段を予め保持する必要がなく、少ない記憶容量で効率よく多くの端末が利用でき、離れた場所にある端末からもネットワーク回線を介してプログラムの処理ができるデータ処理装置を提供することにある。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、この発明のデータ処理装置は、画像記憶手段に仮想ディスプレイ空間の画像データを記憶し、ネットワーク回線を介して少なくとも１つの端末より接続要求が行われると、その接続要求に応じて、上記仮想ディスプレイ空間に上記端末に対応する画像区画を画像区画設定手段により設定する。このデータ処理装置は、上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画の画像データを、画像データ送信手段によりネットワーク回線を介して端末に送信する。そして、端末では、画像データを受信して端末のディスプレイ装置に表示する。上記端末に接続された入力装置（例えばキーボード入力装置やポインティング入力装置）から入力された入力データを、ネットワーク回線を介してこのデータ処理装置に送信すると、端末からの入力データを処理して、上記端末に対応する画像区画を出力インターフェースとしたプログラムの実行をプログラム実行手段により行うことにより、上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画に画像データを出力する。これによって、ネットワーク回線によって少なくとも１つの端末が接続されるデータ処理装置の操作を、端末のディスプレイ装置を見ながらその端末より行うことができる。また、端末からの作業が終了すれば、上記仮想ディスプレイ空間上の上記端末に対応する画像区画を画像区画解放手段により解放し、次の端末の接続要求を待つ。
【０００７】
したがって、上記構成のデータ処理装置によれば、端末毎に画像記憶手段を予め保持する必要がなく、少ない記憶容量で効率よく多くの端末が利用できると共に、離れた場所にある端末からもネットワーク回線を介してプログラムの処理ができる。
【０００８】
また、この発明のデータ処理装置では、ネットワーク回線を介して複数の端末より、データ処理装置を構成するコンピュータ装置に別々に接続要求が行われる場合、各端末からの接続要求を順次受け付け、それぞれの端末に対応する複数の画像区画が、上記仮想ディスプレイ空間上で相互に重ならないように、それぞれの端末に対応する画像区画を画像区画設定手段により設定する。そして、上記仮想ディスプレイ空間に設定された上記画像区画の画像データを、画像データ送信手段によりネットワーク回線を介して順次対応する端末に送信する。各端末では、画像データを受信して端末のディスプレイ装置に表示する。また、端末に接続された入力装置（例えばキーボード入力装置やポインティング入力装置）から入力された入力データを、ネットワーク回線を介して順次、このデータ処理装置に送信すると、各端末からの入力データを別々に処理し、記憶アドレス空間を分割して作成した各端末の使用する画像区画に対応させて画像データを出力する。
【０００９】
このような複数の端末からの処理を行う場合には、処理速度の低下防止が大きな課題となるが、この発明の仮想ディスプレイ空間を分割して各端末毎に区別して使用する構成のデータ処理装置では、各端末に対応する画像区画への画像データの入出力は、仮想ディスプレイ空間全体への画像データの入出力のプログラムを共通して使用することができる。そのため、画像描画を高速化するグラフィック処理回路を共通に利用することも可能となり、処理速度を向上できる利点を有する。
【００１０】
また、一実施形態のデータ処理装置では、上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画が、上記仮想ディスプレイ空間上で連続した矩形領域とすることで、画像データの入出力時のアドレス計算処理が低減され、出力インターフェースとしての処理速度が向上する。また、上記画像区画の画像データを端末に送信するときの処理速度が向上する。特に、画像データの入出力に、仮想ディスプレイ空間全体への画像データの入出力のプログラムを共通して使用するためには、端末に対応する画像区画は連続した矩形領域であることがより好ましい。
【００１１】
また、一実施形態のデータ処理装置では、ネットワーク回線を介して端末より接続要求が行われたとき、端末のディスプレイ装置の情報として、解像度を取得することによって、上記端末の表示画面の解像度に合わせて、上記端末に対応する画像区画の解像度を解像度設定手段により設定し、仮想ディスプレイ空間に上記端末に対応する画像区画を設定する。なお、ここで解像度は、表示画面の縦横の画素数や、色調の解像度であり、縦横の画素数だけでもよい。
【００１２】
したがって、予めディスプレイ装置の表示画面の解像度が指定された端末に限られることなく、例えば、各種携帯端末や、ディスプレイ装置をもつ携帯電話等を端末として随時接続し、プログラムを実行して処理を行うことができる。また、特に、仮想ディスプレイ空間上を占める画像区画が必要最小限になるために、複数の端末を同時に接続する場合、より多くの端末を接続することができる。
【００１３】
また、一実施形態のデータ処理装置では、上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画を、上記仮想ディスプレイ空間内で移動させる画像区画移動手段を有する。
【００１４】
つまり、ある端末への画像データの送信が不要（または一定の間不要）となる場合に、上記端末に対応する画像区画をディスプレイ空間から解放する場合があり、上記の解放された画像区画は、新規な端末の接続に使用することが可能となる。このとき、上記画像区画移動手段によって、その他の画像区画を仮想ディスプレイ空間内で画像データと共に移動させ、仮想ディスプレイ空間の各画像区画間の未使用の領域を減少させ、できるだけ大きな連続した未使用の領域を、あるいは、できるだけ大きな連続した未使用の矩形の領域を作成することが可能となる。
【００１５】
なお、各移動された画像区画は、上記仮想ディスプレイ空間内の位置が変わるので、以降、それに対応して、端末には、移動された先の画像区画から画像データを送信する。また、端末からの入力に対応する処理においても移動された先の画像区画に画像データを出力するようにする。
【００１６】
複数の端末が接続と切断を繰り返した場合に、仮想ディスプレイ空間内の画像区画どうしの間に未使用の領域が散在し、新規な端末に使用する連続した矩形領域としての画像区画が確保できなくなる場合がある。また、いろいろな解像度のディスプレイ装置に応じて、異なる画素数の画像区画が上記仮想ディスプレイ空間に混在する場合には、接続と切断を繰り返すことによって、特に、仮想ディスプレイ空間内の画像区画どうしの間に未使用の領域が散在してしまう場合がある。しかしながら、上記実施形態の画像区画移動手段の構成により、できるだけ大きな連続した未使用の領域を作成することができ、より多くの端末が接続でき、同時に複数の作業を行うことができる。
【００１７】
また、一実施形態のデータ処理装置では、上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画を画像区画待避手段により待避させる。そうして、上記画像区画待避手段により待避させた上記端末に対応する画像区画を、画像区画復元手段により上記仮想ディスプレイ空間に復元する。
【００１８】
つまり、端末への画像データの送信が一定の間不要となる場合には、上記画像区画待避手段によって、上記端末に対応する仮想ディスプレイ空間の画像区画の保存する画像データを別の記憶手段に記憶し、上記仮想ディスプレイ空間で占有していた画像区画を解放することによって、端末に対応する画像区画を待避させる。それによって、新規な端末の接続要求に備えて、上記仮想ディスプレイ空間に未使用の領域を確保できる。
【００１９】
また、待避させた画像区画の画像データの送信が必要となった場合には、上記仮想ディスプレイ空間に新規画像区画を設定し、その新規画像区画に上記画像区画待避手段により待避させた画像区画を上記画像区画復元手段により復元する。
【００２０】
なお、上記端末に対応する画像区画は、仮想ディスプレイ空間内において、以前と位置が変わる場合があるので、以降、それに対応して、移動した先の画像区画から画像データを端末に送信する。また、端末からの入力に対応する処理においても、移動した先の画像区画に画像データを出力するように構成する。
【００２１】
端末での作業を中断したり、一定の時間、画像を表示することを目的としたりして、データ処理装置より画像データを受信する必要がなくなった場合でも、端末に対応する画像区画は、仮想ディスプレイ空間を占有し続ける。そのために、新規な端末の画像区画が確保できなくなる場合がある。しかしながら、上記実施形態の画像区画待避手段および画像区画復元手段の構成により、仮想ディスプレイ空間にできるだけ未使用の領域を作成することができ、多くの端末が接続でき、同時に作業を行うことができるデータ処理装置が可能となる。
【００２２】
特に、端末に対応する画像区画を待避させた後、その他の画像区画を仮想ディスプレイ空間内で画像データと共に移動させ、仮想ディスプレイ空間内の各画像区画間に存在する未使用の領域を減少させ、できるだけ大きな連続した未使用の領域を作成する構成とすることで、仮想ディスプレイ空間全体をより効率的に使用することができる。
【００２３】
また、一実施形態のデータ処理装置では、上記仮想ディスプレイ空間の上記画像区画に保持された画像データが、コンピュータ装置のシステムバスを介さず、上記ネットワーク回線に接続するためのネットワークモジュールに転送される経路を有する。つまり、画像データは、仮想ディスプレイ空間の全体の画像データを記憶している画像記憶手段からネットワークモジュールにシステムバス以外の経路によって転送され、ネットワークモジュールによりネットワーク回線を介して端末に送信される。
【００２４】
これによって、画像データの転送のためにＣＰＵやシステムバスの負荷が増大することがなくなり、仮想ディスプレイ空間を分割して画像区画とし、端末毎に区別して使用する構成において、特に処理速度の低下を防止する大きな効果を有する。
【００２５】
また、処理速度の向上によって、端末からの入力操作に対して応答を早くすることができ、作業者にとって利便性の高いデータ処理装置の提供が可能となる。
【００２６】
【発明の実施の形態】
以下、この発明のデータ処理装置を図示の実施の形態により詳細に説明する。
【００２７】
〔第１実施形態〕
図１はこの発明の第１実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムの概略構成図である。このコンピュータシステムは、図１に示すように、ホストコンピュータ装置１０１と、それに接続される複数の端末１０２，１０３（図１では２つのみを示す）と、それらを相互に接続するネットワーク回線１０４とを備えている。なお、上記ネットワーク回線１０４には、この発明のデータ処理装置とは係わりのない他の装置（図１ではコンピュータ装置１１９等）が接続されていてもよい。
【００２８】
上記ネットワーク回線１０４には、ＩＥＥＥ８０２の規格の１００ＢＡＳＥ−Ｔによるインターネット回線を用い、ＨＵＢ（分岐装置）１０５で分岐し、複数の接続端子１０６，１０７，１０８，１０９を設けている。上記接続端子１０６にホストコンピュータ装置１０１を接続し、接続端子１０７，１０８に端末１０２，１０３を夫々接続している。
【００２９】
上記ホストコンピュータ装置１０１は、ディスプレイ装置１１０、キーボード入力装置１１１、ポインタ入力装置１１２が接続されると共に、ハードディスク（図示せず）が内蔵され、マイクロソフト社のマルチディスプレイ機能を有するＷｉｎｄｏｗｓ（登録商標）９８をＯＳ（オペレーションシステム）として作業ができるコンピュータ装置になっている。
【００３０】
また、上記端末１０２，１０３は、ディスプレイ装置１１３，１１４とキーボード入力装置１１５，１１６およびポインタ入力装置１１７，１１８が夫々接続（または内蔵）されている。上記ポインタ入力装置１１７，１１８は、マウス、トラックボール、タッチパネル、デジタイザパネル等の座標入力装置である。
【００３１】
図２は上記ホストコンピュータ装置１０１のブロック図を示している。このホストコンピュータ装置１０１は、ＣＰＵ（中央演算装置）２０１と、主記憶装置２０２と、前述のネットワーク回線１０４に接続するためのネットワークモジュール２０３と、ディスプレイ装置１１０（図１に示す）に接続するための第１のグラフィックモジュール２０４と、ハードディスク，キーボード，マウスを制御するコントローラモジュール２０５とを備えている。上記ＣＰＵ（中央演算装置）２０１，主記憶装置２０２，ネットワークモジュール２０３，第１のグラフィックモジュール２０４およびコントローラモジュール２０５をシステムバス２０６を介して相互に接続している。
【００３２】
さらに、上記ホストコンピュータ装置１０１は、システムバス２０６に接続された第２のグラフィックモジュール２０７を備えている。この第２のグラフィックモジュール２０７は、画像記憶手段の一例としての画像記憶回路２０８と、その画像記憶回路２０８への画像データの演算や読み書き２１０を行うグラフィック処理回路２０９を有している。上記グラフィック処理回路２０９は、一般的に、グラフィックプロセッサと呼ばれる画像処理専用のデータ処理素子を用いた画像処理用の回路である。
【００３３】
また、上記システムバス２０６には、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ　Ｃｏｍｐｏｎｅｎｔ　Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを用いたが、ＩＳＡ（Ｉｎｄｕｓｔｒｙ　Ｓｔａｎｄａｒｄ　Ａｒｃｈｉｔｅｃｔｕｒｅ）バスやＶＭＥ（Ｖｅｒｓａ　Ｍｏｄｕｌｅ　Ｅｕｒｏｐｅａｎ）バスによる構成も可能であり、グラフィックモジュールに対しては専用のイメージバス（ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ　Ｇｒａｐｈｉｃ　Ｐｏｒｔ）バス等）を用いた構成とする方が望ましい。
【００３４】
図３にマルチディスプレイ機能を用いた仮想デスクトップ空間３０１を示している。ここで、仮想デスクトップ空間３０１は、下記に説明する仮想ディスプレイ空間を配置する座標空間であり、仮想デスクトップ空間３０１自身に画像データを記憶する機構はない。
【００３５】
図３に示すように、仮想デスクトップ空間３０１の一部に矩形で示す領域３０２は、第１のグラフィックモジュール２０４に画像データが保持される仮想ディスプレイ空間であり、ディスプレイ装置１１０（図１に示す）に表示される。また、仮想デスクトップ空間３０１の別の一部に矩形で示す領域は、第２のグラフィックモジュール２０７は、この発明における画像記憶手段である画像記憶回路２０８であり、画像データが保持される仮想ディスプレイ空間３０３を記憶保持する。
【００３６】
この発明において、仮想ディスプレイ空間３０３の画像データは、画像区画毎に、端末のディスプレイ装置で表示されるので、第２のグラフィックモジュール２０７（図２に示す）には、実際にディスプレイ装置が接続される必要はない。
【００３７】
図４は図１に示すホストコンピュータ装置１０１で実行されるプログラムのタスク構成の概念図を示している。上記ホストコンピュータ装置１０１のハードウエア４０８を制御するＯＳ（Ｗｉｎｄｏｗｓ９８）４０１上には、並列処理されるプログラムとして、通常に実行されているアプリケーションのプログラム４０２の他に、端末からの接続要求への応答や、接続後の端末からの入力データの受信や端末への画像データの送信などを行う接続管理プログラム４０３が実行されている。また、接続管理プログラム４０３によって起動され、端末毎の処理を行う子プログラム４０４，４０５が実行されている。
【００３８】
つまり、図１、図３、図４では、ホストコンピュータ装置１０１にネットワーク回線１０４を介して端末１０２，１０３が接続され、画像記憶回路２０８が画像データを記憶する仮想ディスプレイ空間３０３中に、各端末１０２，１０３がそれぞれ別々に矩形の画像区画３０４，３０５を設定し、各端末１０２，１０３の処理を別々に行う子プログラム４０４，４０５が動作している様子を示している。
【００３９】
ここで、接続管理プログラム４０３と子プログラム４０４，４０５は、複数の端末１０２，１０３と、複数の矩形の画像区画３０４，３０５を区別して処理を進めるために、図５に示すように、管理表リスト５０９を共有する構成としている。上記管理表リスト５０９は、端末を識別するための情報（以降、端末の識別情報と呼ぶ）５０１と、端末に対応する画像区画の占有範囲の情報（以降、画像区画の座標情報と呼ぶ）５０２と、子プログラムを識別するための情報（以降、子プログラムの識別情報と呼ぶ）５０３を対応させた管理表５０７，５０８等を、端末毎に複数保持する。
【００４０】
上記端末１０２，１０３からホストコンピュータ装置１０１へは、ネットワーク回線１０４を介してＴＣＰＩＰプロトコルで通信を行う構成とし、上記の端末の識別情報５０１は、端末のインターネットアドレスを用いている。
【００４１】
また、画像区画の座標情報５０２は、仮想ディスプレイ空間３０３中の矩形の画像区画３０４，３０５等の左上の座標と右下の座標としている。（以下、矩形画像区画の座標は、矩形画像区画の左上の角の座標と右下の角の座標を示すものとする。）
また、子プログラムの識別情報５０３は、プログラムをＯＳが管理するときに用いるタスクＩＤ番号を用いている。
【００４２】
（１）　ホストコンピュータ装置の処理
次に、この第１実施形態のホストコンピュータ装置１０１の処理について説明する。
【００４３】
（１−１）　接続管理プログラム
図１０は上記ホストコンピュータ装置１０１の接続管理プログラムのフローチャートを示している。
【００４４】
図１０に示すように、接続管理プログラム４０３（図４に示す）は、まず、ステップＳ１で端末から受信があるか否かを判断して、端末から受信があると判断すると、ステップＳ２に進み、端末からの接続要求の処理を行う。次に、ステップＳ３に進み、端末からの入力データの処理を行い、ステップＳ４に進む。
【００４５】
一方、ステップＳ１で端末から受信がないと判断すると、ステップＳ２，Ｓ３をスキップして、ステップＳ４に進む。
【００４６】
そして、ステップＳ４で、端末への画像データの送信処理を行った後、ステップＳ５に進み、処理の終了の指示があるか否かを判断して、処理の終了の指示がないと判断すると、ステップＳ１に戻り、利用者による接続処理プログラム４０３の終了の指示があるまでステップＳ１〜Ｓ４を繰り返す。
【００４７】
上記ステップＳ２，Ｓ３，Ｓ４の処理は、図１０に示すように順次処理される構成としてもよいが、プログラム中の異なるスレッド、または、異なるプログラム上で並列に処理されるように構成することも可能である。
【００４８】
以下、上記接続管理プログラム４０３におけるステップＳ２，Ｓ３，Ｓ４の処理について夫々説明する。
【００４９】
（１−２）　端末からの接続要求の処理
図１１は、図１０のステップＳ２における端末からの接続要求の処理を説明するフローチャートを示している。ここでは、端末１０３（図１に示す）がホストコンピュータ装置１０１に接続する場合を例として、既に端末１０２が接続された状態であるものとする。つまり、端末１０２は既に、画像記憶回路２０８が画像データを記憶する仮想ディスプレイ空間３０３に、端末１０２に対応する矩形の画像区画３０４（図３に示す）を有し、端末１０２の処理を行っている子プログラム４０４（図４に示す）が実行されているものとする。
【００５０】
上記端末１０３からの接続要求があると、ホストコンピュータ装置のハードウエア４０８で受信したネットワーク回線１０４からの信号４０９（図４に示す）は、ＯＳ４０１により接続管理プログラム４０３に通知される。
【００５１】
接続管理プログラム４０３は、図１１のステップＳ１１で、ネットワーク回線１０４からの信号４０９が端末からの接続要求であることを判断すると、ステップＳ１２に進む一方、端末からの接続要求でないと判断すると、この処理を終了する。
【００５２】
端末からの接続要求の場合には、ステップＳ１２で、端末１０３に対応する画像区画の縦横の画素数を設定する。
【００５３】
この第１実施形態では、接続要求の信号４０９に応答する信号４１０を発し、端末１０３より、解像度の情報としてディスプレイ装置１１４の縦横の画素数を取得し、上記端末１０３に対応する矩形の画像区画の縦横の画素数としている。
【００５４】
そして、ステップＳ１３に進み、画像記憶回路２０８が画像データを記憶する仮想ディスプレイ空間３０３中の未使用の領域を取得する。つまり、仮想ディスプレイ空間３０３には、端末１０２に対応する矩形の画像区画３０４が既に存在している。この矩形の画像区画３０４が占有する領域の座標の情報は、管理表リスト５０９中の、端末１０２に対応する管理表５０７に画像区画の座標情報として保持されている。ほかにも端末が接続されている場合には、同様に端末毎の画像区画の座標情報を取得し、未使用の領域を算出する。
【００５５】
この第１実施形態では、画像記憶回路２０８が画像データを記憶する仮想ディスプレイ空間３０３を有効に利用するために、端末に対応する画像区画は、上から順に左から詰めて、端末のディスプレイ装置の縦横の画素数に合わせて設定した矩形画像区画とし、未使用の領域は下から順に右に詰めて、できるだけ大きな矩形画像区画を順に算出するようにしている。図３に未使用の矩形領域３０６，３０７が算出された様子を示している。
【００５６】
そして、ステップＳ１４に進み、未使用の矩形領域３０６，３０７に端末１０３に対応する矩形の画像区画３０５を設定する。つまり、上から順に設定しようとすると、未使用の矩形領域３０６は小さすぎたので、次の未使用の矩形領域３０７の中に上から順に左に詰めてステップＳ１２で設定した縦横の画素数の矩形の画像区画３０５を、端末１０３に対応する画像区画として設定している。以上の方法により、上記仮想ディスプレイ空間３０３上で、既存の端末の使用する画像区画に重ならない部分に、端末に対応する画像区画を設定することができる。
【００５７】
そして、ステップＳ１５に進み、画像区画が設定できたか否かを判断して、画像区画が設定できたと判断すると、ステップＳ１６に進み、端末に対応する画像区画を出力インターフェースとする子プログラムを起動する。つまり、端末１０３に対応する矩形の画像区画３０４に画像データ出力を行うことを出力インターフェースとする子プログラム４０５を起動するのである。
【００５８】
最後に、接続管理プログラム４０３は、ステップＳ１７で上記の端末の識別情報５０１と、画像区画の座標情報５０２と、子プログラムの識別情報５０３を対応させて保持して、この処理を終了する。
【００５９】
この第１実施形態では、前述の管理表リスト５０９に端末１０３用の管理表５０８を追加し、端末の識別情報５０１、画像区画の座標情報５０２、子プログラムの識別情報５０３にそれぞれデータを保存する構成としている。
【００６０】
つまり、ステップＳ１３で使用した管理表５０７の値も同様に端末１０２が接続したときに作成されたものである。
【００６１】
また、この第１実施形態では、図１０のステップＳ４において、端末への画像データの送信処理を効率化するために、管理表５０７，５０８には、さらに、端末に対応する矩形の画像区画３０４，３０５等への画像データの書き込みに関して、画像データの書き込みの有無の情報、つまり、端末に送信すべき情報の有無（以降、送信画像情報と呼ぶ）５０４と、書き込まれた画像データを含む矩形領域の座標、つまり、端末に送信するべき矩形領域の座標（以降、送信座標情報）５０５を保持するようにしている。
【００６２】
ここで、端末１０３が、離れた複数の領域を用いて、連続したひとつの画像区画として使用することも可能である。例えば、矩形領域３０６と矩形領域３０７の一部を用いて矩形の画像区画３０５と同じ画素数を確保することもできる。しかし、画像データの入出力や、端末への画像データの送信の処理が複雑となるため、上記仮想ディスプレイ空間３０３上の連続した矩形の領域を、画像区画として使用するようにした方が望ましい。
【００６３】
また、図１１のステップＳ１５で端末１０３に対応する画像区画が設定できなかった場合は、ステップＳ１８に進み、端末１０３に接続要求の拒否の通知を行い、この処理を終了する。つまり、仮想ディスプレイ空間３０３に未使用の領域が少なく、端末１０３に対応する画像区画を設定できなかった場合、端末１０３を接続しないでこの処理を終了する。
【００６４】
図１４は、図１１のステップＳ１６で起動される子プログラムの処理のフローチャートを示している。ここでは、端末１０３の接続要求により起動された子プログラム４０５の動作として説明する。
【００６５】
まず、子プログラム４０５は、ステップＳ４１で必要な初期化を行う。つまり、子プログラム４０５は、図１１のステップＳ１７で、対応する管理表５０８に画像区画の座標情報５０２が入力されるのを待ち、以降、画像区画の座標情報５０２の示す矩形画像区画内への画像データの出力をもって、子プログラム４０５の出力インターフェースとする。その後、画面の表示や、ポインティング入力やキーボード入力用のカーソルの表示を、端末に対応する矩形の画像区画３０５内で行う。
【００６６】
次に、ステップＳ４２で入力イベントの有無を判断して、入力イベントがあった場合、ステップＳ４３に進み、入力イベントの処理を行う。つまり、カーソルの移動や、ボタンの操作、キー入力のイベントがあれば、それに応じて、カーソルの移動や入力操作に応じたプログラムの処理を行う。つまり、このプログラムの処理の中で、矩形の画像区画３０５への画像データの出力をもってキー入力に対する応答を行う。
【００６７】
また、この入力イベントは、次に説明する図１２のステップＳ２３で接続管理プログラム４０３から通知されるが、接続管理プログラム４０３と子プログラム４０５を並列処理するためのバッファを用いて、接続管理プログラム４０３がバッファに書き込み、子プログラム４０５がバッファの先に書き込まれたものから順に読み出すように構成した方が好ましい。
【００６８】
一方、ステップＳ４２で入力イベントがないと判断すると、ステップＳ４３をスキップする。
【００６９】
次に、ステップＳ４４に進み、処理を終了する指示があるか否かを判断して、処理を終了する指示がないと判断すると、ステップＳ４２に戻り、子プログラムの処理を終了する指示があるまでステップＳ４２，Ｓ４３を繰り返す。子プログラムの処理を終了する指示は、例えば、矩形の画像区画３０５の中に、子プログラムの処理を終了させる処理に結び付けられた描画オブジェクトなどが、カーソルで指定されることなどで行う。
【００７０】
一方、ステップＳ４４で子プログラムの処理を終了する指示があったと判断すると、ステップＳ４５に進み、終了の処理を行う。例えば、画面の消去や、ファイルの保存等である。
【００７１】
そして、ステップＳ４６に進み、端末に対応する矩形の画像区画３０５を解放する。つまり、図１１のステップＳ１７で端末毎に対応させて保持された端末の識別情報５０１と、画像区画の座標情報５０２と、子プログラムの識別情報５０３を削除する。この第１実施形態では、管理表リスト５０９から管理表５０８を削除することで行われる。
【００７２】
また、この第１実施形態では、ステップＳ４における端末への画像データの送信処理を効率化するために、図１４のステップＳ４１，Ｓ４３，Ｓ４５で端末に対応する画像区画へ画像データの出力を行った場合は、管理表の送信画像情報５０４，送信座標情報５０５を更新するように構成している。例えば、図３の矩形の画像区画３０５に、画像出力３１４があった場合、図５に示すように、送信画像情報５０４は送信するべき画像有とし、送信座標情報５０５には、書き込まれた画像出力３１４を含む矩形領域３１５の座標を保持する。また、既に、送信画像情報５０４が送信するべき画像がある旨の情報を保持している場合は、既に保持されている矩形領域の座標と今回書き込んだ画像データの両方を含む矩形領域の座標を保持する。
【００７３】
（１−３）　端末からの入力データの処理
図１２は、図１０におけるステップＳ３の端末からの入力データの処理を説明するフローチャートを示している。ここでは、端末１０２，１０３をホストコンピュータ装置１０１に接続しており、端末１０３からの入力データを受信した場合を例に説明する。
【００７４】
まず、端末１０３からの入力データの受信があると、ホストコンピュータ装置１０１のハードウエア４０８でネットワーク回線１０４を介して受信された信号４０９は、ＯＳ４０１により接続管理プログラム４０３に通知される。
【００７５】
接続管理プログラム４０３は、ステップＳ２１で端末からの入力データの有無を判断して、ネットワーク回線１０４からの信号４０９が、接続された端末からの入力データの受信であると判断する。つまり、管理表リスト５０９の中で、送信元のインターネットアドレスが端末の識別情報５０１に一致する管理表があるかを判断する。
【００７６】
そして、ステップＳ２１で端末からの入力データがあると判断すると、ステップＳ２２で端末に対応する子プログラムの識別情報５０３を取得する。つまり、送信元のインターネットアドレスが端末の識別情報５０１に一致した管理表５０８から、子プログラムの識別情報５０３として保持されているタスクＩＤ番号を取得する。一方、ステップＳ２１で端末からの入力データがないと判断すると、この処理を終了する。
【００７７】
最後に、ステップＳ２３に進み、タスクＩＤ番号を用いて、上記子プログラム４０５に対して入力データを入力イベントとして通知して、この処理を終了する。つまり、上記のタスクＩＤ番号の子プログラム４０５に、入力データを入力イベントの形式に変更して通知することで、端末からの操作に対応した処理が行われる。例えば、ポインティング装置の座標の移動やボタンの操作，キー入力を、それに応じた入力イベントに変更して通知する。この通知により、子プログラム４０５の図１４のステップＳ４２，Ｓ４３で端末からの操作に対応した処理が行われることになる。
【００７８】
（１−４）　端末への画像データの送信処理
図１３は、図１０のステップＳ４の端末への画像データの送信処理を説明するフローチャートを示している。ここでは、端末１０２，１０３がホストコンピュータ装置１０１に接続している場合を例として説明する。
【００７９】
この第１実施形態では、端末への画像データの送信処理を効率化するために管理表の送信画像情報５０４に基づき、各端末が使用する仮想ディスプレイ空間３０３の矩形画像区画に書き換えられた領域があったときのみ、送信画像情報５０５に基づいて、書き換えられた領域を含む矩形画像区画の画像データと、その座標を端末に送信する構成としている。
【００８０】
送信画像情報５０４と送信座標情報５０５は、前述の図１４に示す子プログラムのステップＳ４１，Ｓ４３，Ｓ４５で画像データの出力を行うたびに、送信画像情報５０４，送信座標情報５０５に対して更新される。
【００８１】
まず、接続管理プログラム４０３は、ステップＳ３１で、接続された端末が存在するかどうか判断する。この第１実施形態では、管理表リスト５０９に管理表があるかどうかで判断する。
【００８２】
そして、接続された端末が存在する場合、ステップＳ３２に進み、接続された端末を順次選択する。つまり、この第１実施形態では、管理表リスト５０９中の管理表５０７，５０８を順に選択することで行われる。
【００８３】
次に、ステップＳ３３で、選択した端末に対応する矩形の画像区画の送信するべき画像の有無を判断する。つまり、選択した管理表に保持されている送信画像情報５０４から送信するべき画像の有無を判断する。
【００８４】
そして、選択した端末に対応する矩形の画像区画に送信するべき画像がある場合は、ステップＳ３４に進む一方、送信するべき画像がない場合は、ステップＳ３４〜Ｓ３７をスキップする。
【００８５】
そして、ステップＳ３４で、送信するべき画像データの矩形の画像区画の座標を取得する。この第１実施形態では、管理表から画像区画の座標情報５０２と送信座標情報５０５を取得し、送信する矩形領域（たとえば、画像区画３０５の中の書き換えが行われた矩形領域３１５）の仮想ディスプレイ空間３０３上での座標を算出する。
【００８６】
次に、ステップＳ３５で端末の識別情報を取得する。つまり、管理表から、端末の識別情報５０１として保持されている端末のインターネットアドレスを取得する。
【００８７】
そして、ステップＳ３６に進み、端末に画像データを送信する。ここでは、上記インターネットアドレスに、仮想ディスプレイ空間３０３上でのステップＳ３４で取得した座標に存在する上記矩形領域の画像データを送信する。また、画像データと共に、端末に対応する画像区画中での上記矩形領域の座標、すなわち、端末のディスプレイ装置の画面に表示するべき座標を送信する。
【００８８】
そして、ステップＳ３７で画像区画の書き換え情報、すなわち、管理表に保持されている送信画像情報を更新する。つまり、送信が完了すれば、送信するべき画像がない旨の情報を送信画像情報５０４に保持する。
【００８９】
次に、ステップＳ３８で全端末の処理が終了したか否かを判断して、全端末の処理が終了していないと判断すると、ステップＳ３２に戻り、全ての端末の処理が終わるまでステップＳ３２〜Ｓ３７を繰り返す。つまり、管理表リストの全ての管理表の処理が終わるまで繰り返す。
【００９０】
（２）　端末の処理
次に、端末の処理を説明する。ここで、各端末１０２，１０３は、図１０のステップＳ１によってホストコンピュータ装置１０１に接続され、図１３のステップＳ３６によって送信されるデータの中から、自身のインターネットアドレス宛ての画像データと上記矩形領域の上記画像区画上での座標データを受信し、各ディスプレイ装置１１３，１１４の対応する座標の矩形領域に画像データを表示する。
【００９１】
そして、各端末１０２，１０３は、キーボード入力データ、および、ポインティング入力データを、ネットワーク回線１０４を介してホストコンピュータ装置１０１に送信するように構成している。
【００９２】
例えば、端末１０３であれば、ステップＳ３６で送られてくる画像データをディスプレイ装置１１４に表示し、それをもとに、入力装置１１６，１１８を操作する。それによって、入力データがホストコンピュータ装置１０１に送信され、図１４のステップＳ４３で入力イベントとして処理され、処理のなかで端末１０３に対応する矩形の画像区画３０５に画像データが出力される。そうして、上記矩形の画像区画３０５に出力された画像データは、図１３のステップＳ３６によって端末１０３に送信されて、ディスプレイ装置１１４に反映される。
【００９３】
以上を繰り返して、端末のディスプレイ装置１１４の画像を見ながら、端末１０３からホストコンピュータ装置１０１での作業を進めることができる。また、処理の終了を指示する操作を行った場合は、図１４のステップＳ４４，Ｓ４５，Ｓ４６で、端末１０３に対応する矩形の画像区画３０５を解放して終了することができる。
【００９４】
上記第１実施形態のホストコンピュータ装置１０１では、図１１のステップＳ１２によって、上記端末のディスプレイ装置の解像度に合わせて、上記端末に対応する画像区画の解像度を設定する解像度設定手段が構成される。
【００９５】
また、図１１のステップＳ１３，Ｓ１４，Ｓ１７によって、複数の端末からの接続要求により、それぞれの端末に対応する画像区画を、互いに重ならないように仮想ディスプレイ空間３０３に設定する画像区画設定手段が構成される。
【００９６】
また、図１３のステップＳ３２，Ｓ３４，Ｓ３５，Ｓ３６，Ｓ３８によって、上記複数の端末毎に、端末に対応する画像区画の画像データを送信する画像データ送信手段が構成される。
【００９７】
また、図１４のステップＳ４１，Ｓ４３，Ｓ４５で、図１１のステップＳ１７で保持した端末に対応する画像区画に画像データを出力することによって、上記複数の端末毎に、端末に対応する画像区画を出力インターフェースとしたプログラムの実行を行うプログラム実行手段が構成される。
【００９８】
また、図１４のステップＳ４６によって、上記複数の端末毎に、端末に対応する画像区画を解放する画像区画開放手段が構成される。
【００９９】
この第１実施形態では、画像データの送信量を低減するために、特に、図１３のステップＳ３３，Ｓ３４において、送信するべき画像があった場合、送信するべき矩形領域の画像データのみを端末に送信する構成としたが、当然、常に端末に対応する画像区画の全画像データを送信するようにしてもよい。また、書き換えの有無に関わらず、端末に対応する画像区画の全画像データを送信するように構成してもよい。
【０１００】
または、図１３のステップＳ３４では、端末に送信する上記矩形領域が大きい場合などは、複数回に分けて送信するように、上記矩形領域を分割して、書き換えられた矩形領域の一部を送信範囲とすることもできる。その場合、ステップＳ３７の送信画像情報５０４の更新は、送信するべき矩形領域のすべてを送信できるまで、送信するべき画像がある旨の情報を保持し、未送信の画像データを含む矩形領域を、送信座標情報５０５に保持するようにすればよい。
【０１０１】
また、端末で画像データを受信できたかどうかの情報、または、画像データのうち、端末で受信できた画像データの範囲の情報を返信するようにし、その情報に基づいて、ステップＳ３７の送信画像情報５０４，送信座標情報５０５の更新を変更するようにすることがより好ましい。つまり、何らかの都合で通信が途絶え、端末が画像データの全てを受信できなかった場合、ステップＳ３７で、端末が返信してきた受信できた画像データの座標に基づいて、画像区画の受信できなかった画像データを含む矩形領域を送信座標情報に保持し、送信画像情報は送信すべき画像がある旨の情報を保持する。それによって、受信できなかった残りの部分を次回送信することができる。これによって、例えば、端末１０３をネットワーク回線１０４の接続端子１０８から切り離して、別の場所のネットワーク回線１０４の接続端子１０９に移動して元の作業を続けることも簡単に可能となる。また、ネットワーク回線１０４が無線通信回線によるものである場合や、ネットワーク回線１０４の一部に無線通信回線によるものを含む場合でも、一時的に通信回線が途絶えた場合に画像データを次回の送信タイミングで送信することが可能となる。
【０１０２】
また、画像データは圧縮や暗号化して送信することも可能である。
【０１０３】
なお、この第１実施形態では、仮想ディスプレイ空間３０３中に、端末に対応する画像区画は、上から順に左から詰めて、端末のディスプレイ装置の縦横の画素数にあわせた矩形画像区画として設定し、未使用の領域は下から順に右に詰めてできるだけ大きな矩形画像区画を順に算出するようにしている。しかし、画像区画の設定の方法はこれに限られるものではなく、その他の方法を用いることも可能であり、できるだけ効率よく仮想ディスプレイ空間３０３を利用できる方法が好ましい。それによって、仮想ディスプレイ空間３０３の画像データを記憶する画像記憶回路２０８がより効率よく利用される。
【０１０４】
また、図１１のステップＳ１６で子プログラムを起動する場合、ＯＳ上の主記憶装置２０２に新規な子プログラムを実行する記憶容量が足りなかったり、ＯＳの実行プログラム数の限界に達していたりして、エミュレータの起動がＯＳ４０１より拒否されることもある。その場合は、ステップＳ１８に進み、端末からの接続要求に対して拒否の応答を返す処理を行う必要がある場合もある。
【０１０５】
〔第２実施形態〕
次に、この発明の第２実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムについて説明する。この第２実施形態のコンピュータシステムは、第１実施形態のコンピュータシステムの構成に加え、端末に対応する画像区画を仮想ディスプレイ空間３０３内で移動させる画像区画移動手段を備えることによって、仮想ディスプレイ空間３０３に、未使用の連続したより大きな矩形の領域を作成するものである。
【０１０６】
以下、仮想ディスプレイ空間３０３に、未使用の連続したより大きな矩形の領域を作成する処理を図１５のフローチャートを用いて説明する。
【０１０７】
ここでは、端末１０２，１０３が接続された状態から、端末１０２に対応する子プログラム４０４が作業を終了し、図３の矩形の画像区画３０４が開放された場合を例として説明する。
【０１０８】
上記矩形の画像区画３０４が解放されると、図６に示すように、仮想ディスプレイ空間３０３の中央に矩形の画像区画３０５が位置しているため、次に接続する端末が未使用の領域６０１，６０２，６０３の中から、端末に対応する画像区画を確保することになる。そのため、次に接続要求する端末が、各未使用の領域６０１，６０２，６０３より大きな領域を仮想ディスプレイ空間として必要とする場合は、画像区画を連続した矩形の画像区画として設定することができない。ここで、各未使用の領域６０１，６０２，６０３は、上記第１実施形態で説明したように、下から順に右から詰めてできるだけ大きな未使用の領域を確保するように算出している。
【０１０９】
この第２実施形態では、子プログラム４０４は、図１４のステップＳ４６で矩形の画像区画３０４の解放を行った後、つまり管理表５０７を削除した後、次の処理を行う。
【０１１０】
まず、図１５のステップＳ５１で、接続している端末があるか否かを判断する。この第２実施形態では、管理表リスト５０９に管理表があるか否かを判断することで行われる。
【０１１１】
そして、接続している端末がある場合、ステップＳ５２で接続している端末を順次選択する。つまり、図５の管理表リスト５０９の管理表を順に選択する。ここでは、端末１０３の管理表５０８が選択される。一方、接続している端末がない場合は、この処理を終了する。
【０１１２】
次に、ステップＳ５３で、選択した端末に対応する画像区画を移動させて、未使用の連続した矩形領域を拡大させることが可能か判断する。ここでは、未使用の連続した矩形領域を拡大させる方法としては、矩形の画像区画３０５を上部に移動させても、下部に移動させても可能であるが、この第２実施形態では、端末に対応する画像区画は、上から順に左端から詰めて画像区画設定するように移動するものとし、移動が可能かを判断する。
【０１１３】
未使用の連続した矩形領域を拡大させることが可能な場合、ステップＳ５４で未使用領域を拡大するように仮想ディスプレイ空間３０３の画像区画の画像データを移動する。つまり、矩形の画像区画３０５（図６に示す）の画像データを画像区画７０１（図７に示す）に移動させる。
【０１１４】
そして、ステップＳ５５に進み、移動した画像区画の座標情報５０２を更新する。つまり、管理表５０８の画像区画の座標情報５０２を画像区画７０１を指し示すように更新するのである。
【０１１５】
そして、ステップＳ５６で、接続している端末を最初に戻って選択し、ステップＳ５３に戻る。つまり、複数の端末が接続されている場合、ある端末の画像区画の移動によって、既に処理した端末の画像区画の移動が再び可能となる場合があるので、最初から各端末に対応する画像区画を移動するべきか判断するためである。この第２実施形態では、管理表リスト５０９の最初の管理表に戻って管理表を選択することで行うことができる。
【０１１６】
一方、ステップＳ５３で未使用の連続した矩形領域を拡大させることが可能でない場合、ステップＳ５７に進む。
【０１１７】
そして、ステップＳ５７で全端末の処理が終了したか否かを判断して、全端末の処理が終了していないと判断すると、ステップＳ５２に戻り、全端末の処理が終了するまでステップＳ５２〜Ｓ５６を繰り返す。つまり、接続している端末を順次選択し、端末に対応する画像区画の移動が全ての端末において必要なくなるまで繰り返す。
【０１１８】
つまり、ステップＳ５４，Ｓ５５によって、仮想ディスプレイ空間３０３内で、上記端末に対応する画像区画を移動させる画像区画移動手段が構成されている。
【０１１９】
以上の構成により、図７に示す仮想ディスプレイ空間３０３の未使用の領域７０２，７０３が作成される。この場合も、第１実施形態で説明したように下から順に右から詰めてできるだけ大きな未使用の領域を確保するように算出している。
【０１２０】
以上の結果、連続した矩形領域として、図６の未使用の領域６０１，６０２，６０３より大きな未使用の領域７０２が作成される。
【０１２１】
また、この第２実施形態の構成では、画像データを画像記憶手段である画像記憶回路２０８内で移動させるため、図２に示すグラフィック処理回路２０９を有する構成により、画像データの移動の処理を第２のグラフィックモジュール２０７内で行い、ホストコンピュータ装置のＣＰＵ２０１やシステムバス２０６の負荷を増大させない構成とすることがより好ましい。
【０１２２】
また、上記第１実施形態で示した画面の画素数が異なる複数の端末を使用する場合では、端末に対応する画像区画の縦横の画素数が、端末毎に異なる。このために、接続と切断を繰り返すことで、各端末に対応する画像区画の隙間に利用できない小さな未使用の領域が、特に多数発生してしまう場合がある。しかし、この第２実施形態の構成により、画像記憶手段である画像記憶回路２０８が画像データを記憶する仮想ディスプレイ空間３０３を有効に利用して、より多くの端末の接続ができるデータ処理装置を提供することが可能となる。
【０１２３】
〔第３実施形態〕
次に、この発明の第３実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムについて説明する。この第３実施形態のコンピュータシステムは、上記第１，第２実施形態のコンピュータシステムにおいて、必要に応じて、端末に対応する画像区画を待避させ、一時的に仮想ディスプレイ空間３０３の未使用の領域を増加させ、その後、必要に応じて待避させた画像区画を復元する構成である。
【０１２４】
図１６は、図１１のステップＳ１６で起動される子プログラムの処理を説明するフローチャートを示している。この図１６のフローチャートは、ステップＳ４７，Ｓ４８を除いて図１４のフローチャートと同じ内容であり、以下、図１４と異なるところのみを説明する。
【０１２５】
この第３実施形態では、図１６で示す子プログラムの処理のフローチャートのステップＳ４７において、一定時間、入力イベントや画面の更新がなかった場合、端末に対応する画像区画を待避させる処理を行うように構成している。また、その後、入力イベントが発生した場合、ステップＳ４８で端末に対応する画像区画を復元する。
【０１２６】
さらに、図５に示すように、端末に対応する画像区画が待避されている情報（以降、画像区画の待避情報と呼ぶ）５０６を管理表に保持する。
【０１２７】
そして、図１１のステップＳ１３で仮想ディスプレイ空間３０３中に未使用の領域を取得する場合、画像区画の待避情報５０６に待避されている旨の情報が保持されているときは、その領域は、その端末が使用していないものとして未使用の領域を算出する。
【０１２８】
また、図１３のステップＳ３３でも画像区画の待避情報５０６に待避されている旨の情報が保持されている場合は、ステップＳ３８に進む。
【０１２９】
以下、図１６のステップＳ４７の端末に対応する画像区画を待避させる処理を図１７のフローチャートを用いて説明する。ここでは、端末１０２，１０３をホストコンピュータ装置１０１に接続しており、図３において、端末１０２が一時的に矩形の画像区画３０４の解放を行う例として説明する。
【０１３０】
まず、子プログラム４０４は、ステップＳ６１で画像区画の待避を判断する。つまり、一定時間、入力イベントや画面の更新がなかった場合、画像区画の待避を行う。
【０１３１】
そして、画像区画の待避を行う場合、ステップＳ６２に進み、仮想ディスプレイ上での画像区画の位置の情報を取得する。つまり、管理表５０７の画像区画の座標情報５０２として保持されている矩形の画像区画３０４の座標を取得する。一方、ステップＳ６１で画像区画の待避を行わない場合は、この処理を終了する。
【０１３２】
次に、ステップＳ６３で、矩形の画像区画３０４の画像データを副記憶装置に保存する。この場合、副記憶装置は、画像記憶手段である画像記憶回路２０８に対する副次的な記憶装置であるため、ハードディスク装置などのほか、主記憶装置２０２である場合もありうる。
【０１３３】
そして、ステップＳ６４で、端末に対応する画像区画の解放を行う。つまり、管理表５０７の画像区画の待避情報５０６に待避されている情報を保持する。これによって矩形の画像区画３０４は、図１１のステップＳ１３および図１３のステップＳ３３において、端末に対応する画像区画としては扱われないようになり、矩形の画像区画３０４から、端末１０２に画像データが送信されることがなくなる。
【０１３４】
以下、図１６のステップＳ４８の端末に対応する画像区画を復元させる処理を図１８のフローチャートを用いて説明する。ここでは、上記端末１０２に対応する画像区画を待避した後、図８に示すように、他の端末に対応する画像区画８０１を設定した状態で、端末１０２が入力データを送信し、図１２のステップＳ２３によって入力イベントとして子プログラム４０４に通知されたものとする。
【０１３５】
子プログラム４０４は、図１６のステップＳ４２で入力イベントがあると判断し、ステップＳ４８に進む。
【０１３６】
そして、図１８のステップＳ７１で画像区画が待避されているか否かを判断する。つまり、この第３実施形態では、管理表５０７の画像区画の待避情報５０６に領域が待避されている情報を保持している。
【０１３７】
画像区画が待避されている場合、ステップＳ７２で画像区画の画素数を設定する。つまり、管理表５０７の画像区画の座標情報５０２として保持されている矩形の画像区画の座標を取得することで元の矩形の画像区画３０４と同じ画素数を得ることができる。一方、画像区画が待避されていない場合は、この処理を終了する。
【０１３８】
次に、ステップＳ７３で仮想ディスプレイ空間３０３中の未使用の領域を取得する。これは、図１１のステップＳ１３と同じ処理である。
【０１３９】
そして、ステップＳ７４で、上記未使用の領域に端末に対応する画像区画を設定する。これは、図１１のステップＳ１４と同じ処理である。ここでは、図８の画像区画８０２に端末１０２に対応する画像区画が設定されている。
【０１４０】
つまり、別の端末に対応する画像区画８０１が存在するために元の場所には画像区画を設定できないので、別の画像区画８０２に設定された状態を示している。
【０１４１】
そして、ステップＳ７５で画像区画が設定できたか否かを判断する。
【０１４２】
設定ができた場合には、ステップＳ７６で、副記憶装置に複写した画像データを上記画像区画に読み込む。つまり、仮想ディスプレイ空間の画像データを復元する。
【０１４３】
最後に、ステップＳ７７で管理表５０７の画像区画の座標情報５０２を更新する。つまり、端末に対応する画像区画は、この例のように、元の矩形の画像区画３０４と異なる座標の画像区画８０２に復元される場合もあるので、新しく設定された矩形画像区画８０２の座標を画像区画の座標情報５０２に保持する。
【０１４４】
一方、ステップＳ７５で画像区画が設定できなかった場合は、ステップＳ７３に戻り、未使用の領域が増加して端末に対応する画像区画が確保されるまでステップＳ７３，Ｓ７４，Ｓ７５を繰り返す。
【０１４５】
図１７のステップＳ６２，Ｓ６３，Ｓ６４によって、仮想ディスプレイ空間３０３から、上記端末に対応する画像区画を待避させる画像区画待避手段が構成される。
【０１４６】
また、図１８のステップＳ７２，Ｓ７３，Ｓ７４，Ｓ７６，Ｓ７７によって、仮想ディスプレイ空間３０３に、待避された上記画像区画を復元する画像区画復元手段が構成される。
【０１４７】
コンピュータ装置の作業には、画面を見ながら順次入力を行うような作業以外に、一定の画像を表示して閲覧する場合もある。または、前述のようにネットワーク回線の通信回線が意図的に、または非意図的に長く切断され、イベント入力ストリームの処理が終わり、一定の画像を表示して、入力待ちの状態になる場合がある。
【０１４８】
例えば、図３において、矩形の画像区画３０４や、矩形の画像区画３０５が長時間にわたって一定の画像となった場合、各画像区画からは画像データが読み出されることがないが、仮想ディスプレイ空間３０３中に、各矩形の画像区画３０４，３０５を占有し続けることになる。
【０１４９】
この第３実施形態の構成では、上記のように、端末に入力イベントや、仮想ディスプレイ空間への描画に一定の処理が一定時間なかった場合、端末に対応する画像区画を待避させ、一時的に仮想ディスプレイ空間３０３の未使用領域を増加させることが可能である利点を有するデータ処理装置を提供することができる。
【０１５０】
さらに、図１７のステップＳ６３で画像区画を解放させた後、図１５のステップＳ５１〜Ｓ５７で説明した、端末に対応する画像区画を移動させる画像区画移動手段によって、仮想ディスプレイ空間３０３に、未使用の連続したより大きな矩形領域を作成することにより、より効率的に仮想ディスプレイ空間３０３を利用することが可能となる。つまり、仮想ディスプレイ空間３０３の画像データを記憶する画像記憶回路２０８を、より効率的に利用することが可能なデータ処理装置を提供することができる。
【０１５１】
〔第４実施形態〕
次に、この発明の第４実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムについて説明する。この第４実施形態のコンピュータシステムは、第１〜第３実施形態のいずれかのコンピュータシステムにおいて、仮想ディスプレイ空間３０３画像区画の画像データを、コンピュータ装置のシステムバスを介さずに、画像記憶手段である画像記憶回路２０８からネットワークモジュールに転送する経路を有する構成としたものである。
【０１５２】
第１〜第３実施形態のいずれかのデータ処理装置では、図２に示すように、第２のグラフィックモジュール２０７に、グラフィック処理回路２０９を有する構成としている。これは描画におけるＣＰＵの負荷を低減させる利点を有している。特に、第２実施形態において端末に対応する画像区画を移動するときに第２のグラフィックモジュール２０７内で処理が可能となり、ホストコンピュータ装置のＣＰＵ２０１の負荷を低減できる。
【０１５３】
また、より好ましくは、ＣＰＵ２０１の負荷を減少させるために、第２のグラフィックモジュール２０７とネットワークモジュール２０３が、ＣＰＵ２０１を介さず、直接システムバス２０６を介して、データを直接転送する構成とするとよい。
【０１５４】
しかし、複数の作業者が複数の端末からホストコンピュータに接続を行った場合、端末に対応する画像区画の画像データを端末に送信する処理の負荷が大きくなってホストコンピュータ装置全体の処理を低下させてしまう場合がある。
【０１５５】
つまり、図９に示すように、第２のグラフィックモジュール９０１にネットワークモジュール９０２を付加し、システムバス２０６を介することなく、画像記憶回路２０８から画像データの読み出し、ネットワークモジュール９０２に転送する経路９０３を有するように構成する。
【０１５６】
また、第４実施形態により、図１３のステップＳ３６の画像データを端末に送信する処理において、システムバス２０６を介さない経路９０３を用いて、端末に送信する画像データを画像記憶回路２０８から、ネットワークモジュール９０２に転送してネットワーク回線１０４に送信することができるため、ＣＰＵ２０１や、特に、システムバス２０６の負荷を増大させることがなくなり、ホストコンピュータ装置１０１全体の処理の低下を防止することができる。
【０１５７】
特に、画像記憶回路２０８として、データを入出力する端子と独立して読み出しを行うことのできる端子を有する記憶素子、いわゆるデュアルポートＲＡＭを用いる構成とし、データを入出力する端子を経路９０４に接続し、独立して読み出しを行うことのできる端子を経路９０３に接続する構成としてもよい。その場合、経路９０４を介した画像データの入出力の処理と独立して、画像データを端末に送る処理、つまり、経路９０３を通してネットワークモジュール９０２より画像データを送信する処理を行うことができる。そのため、ホストコンピュータ装置１０１（図１に示す）の処理の低下を特に防止することができる。
【０１５８】
端末からのホストコンピュータ装置１０１の操作を行うためには、この発明で示した構成以外に、主記憶装置２０２に端末に対応する複数の仮想ディスプレイ空間を設定する構成も可能である。しかし、その構成では、比較的大きな記憶容量を必要とする仮想ディスプレイ空間を保持する記憶領域を主記憶装置２０２に配置しなければならない。また、その場合、その仮想ディスプレイ空間への画像データの入出力の処理や、端末へ画像データを送信する処理を全て、主記憶装置２０２の上記記憶領域に対してＣＰＵ２０１が行うことになってしまう。
【０１５９】
それに対して、この発明の画像記憶手段である画像記憶回路２０８が画像データを記憶する仮想ディスプレイ空間３０３を分割して端末毎に画像区画として、区別して使用する構成では、グラフィック処理回路２０９の使用等、画像データの入出力処理の高速化が、端末毎に特別な構成の追加を行うことなく可能である上、さらにこの第４実施形態の構成により、端末への画像データの送信においても、ＣＰＵ２０１やシステムバス２０６の負荷を増大させることがなくなる。そのため、特に複数の端末から使用されるデータ処理装置に適したデータ処理装置を提供することが可能となる。
【０１６０】
また、上記第１〜第４実施形態では、図４に示すように、接続管理プログラム４０３と子プログラムのタスクにより、データ処理装置の各処理を分担して行っているが、これらの処理の分担を行う方法は、ここで示した実施形態に限られるものではなく、各種の方法が考えられる。または、ＯＳ自身にこの発明のデータ処理装置の機能を組み込むことも可能である。
【０１６１】
また、上記第１〜第４実施形態では、各子プログラムにより各端末の作業を行うように構成しているが、子プログラムが、ＯＳのように一定のプラットホームを提供し、子プログラム上で孫プログラムを実行するようにすることも可能である。例えば、子プログラム４０４，４０５がＷｉｎｄｏｗｓのエミュレータの機能を有するように構成する。そして、端末に対応する画像区画をそれぞれエミュレートされた仮想ディスプレイ空間として使用して、図４に示すように子プログラム４０４，４０５から孫プログラム４０６，４０７を実行することで、端末からより自由な作業の実行を可能とすることができる。例えば、ＵＮＩＸ（登録商標）上では、Ｗｉｎｄｏｗｓのアプリケーションを実行するエミュレータプログラムは既知である。
【０１６２】
さらにまた、子プログラムを、コンピュータ装置のＣＰＵや記憶装置や周辺装置をエミュレートするプログラム、いわゆる仮想コンピュータとした構成とすることも可能である。その場合、端末に対応する画像区画が、仮想コンピュータの仮想ディスプレイ装置となる。このような場合、各端末からの作業は、ホストコンピュータ装置上の仮想コンピュータでアプリケーションを実行する構成となるので、端末間がより独立した環境で作業を行うことができる利点を有するデータ処理装置を提供することができる。
【０１６３】
【発明の効果】
以上より明らかなように、この発明のデータ処理装置によれば、端末毎に決められた画像を記憶する手段を予め保持する必要がなく、ネットワーク回線で接続された離れた場所の端末の画面でコンピュータ装置の出力画像を見ながら入力装置を操作し、コンピュータ装置上でのプログラムの処理を進めることができるデータ処理装置を提供することができる。
【０１６４】
特に、上記仮想ディスプレイ空間を分割して各端末毎に画像区画として区別して使用するために、各端末に対応する画像区画への画像データの入出力は、仮想ディスプレイ空間全体への画像データの入出力として、共通のプログラムを使用することができる。これは、ホストコンピュータ装置の画像データの入出力の処理を単純化でき、複数の作業者が、複数の端末から接続してホストコンピュータ上で作業を行う場合、特に、主記憶装置の有効利用や処理速度の向上ができる利点を有する。
【図面の簡単な説明】
【図１】図１はこの発明の第１実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムの概略構成図である。
【図２】図２は上記ホストコンピュータ装置のブロック図である。
【図３】図３は仮想ディスプレイ空間を説明するための図である。
【図４】図４は上記ホストコンピュータ装置のタスク構成を説明するための図である。
【図５】図５は管理表リストを説明するための図である。
【図６】図６は画像区画の解放を説明するための図である。
【図７】図７は画像区画の移動を説明するための図である。
【図８】図８は画像区画の復元を説明するための図である。
【図９】図９はこの発明の第４実施形態のデータ処理装置の一例としてのホストコンピュータ装置の第２のグラフィックモジュールの異なる構成を説明するための図である。
【図１０】図１０は接続管理プログラムの動作を説明するためのフローチャートである。
【図１１】図１１は端末からの接続要求の処理を説明するためのフローチャートである。
【図１２】図１２は端末からの入力データの処理を説明するためのフローチャートである。
【図１３】図１３は端末への画像データの送信処理を説明するためのフローチャートである。
【図１４】図１４は子プログラムの処理を説明するためのフローチャートである。
【図１５】図１５はこの発明の第２実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムにおける画像区画の移動を説明するためのフローチャートである。
【図１６】図１６はこの発明の第３実施形態のデータ処理装置の一例としてのホストコンピュータ装置を備えたコンピュータシステムにおける子プログラムの処理を説明するためのフローチャートである。
【図１７】図１７は画像区画の待避を説明するためのフローチャートである。
【図１８】図１８は画像区画の復元を説明するためのフローチャートである。
【図１９】図１９は従来のデータ処理装置の概略構成を示すブロック図である。
【符号の説明】
１０１…ホストコンピュータ装置、
１０２，１０３…端末、
１０４…ネットワーク回線、
１０５…ＨＵＢ、
１０６，１０７，１０８，１０９，９０５…接続端子、
１１０…ディスプレイ装置、
１１５，１１６…キーボード入力装置、
１１７，１１８…ポインタ入力装置、
２０１…ＣＰＵ、
２０２…主記憶装置、
２０３…ネットワークモジュール、
２０４…第１のグラフィックモジュール、
２０６…システムバス、
２０７…第２のグラフィックモジュール、
２０８…画像記憶回路、
２０９…グラフィック処理回路、
２１０…読み書き、
３０１…仮想デスクトップ空間、
３０３…仮想ディスプレイ空間、
３０４，３０５，８０１…画像区画、
４０１…ＯＳ（オペレーションシステム）、
４０３…接続管理プログラム、
４０４，４０５…子プログラム、
４０９…信号、
４１０…信号、
５０１…端末の識別情報、
５０２…画像区画の座標情報、
５０３…子プログラムの識別情報、
５０４…送信画像情報、
５０５…送信座標情報、
５０６…画像区画の待避情報、
５０７，５０８…管理表、
５０９…管理表リスト、
６０１，６０２，６０３，７０２，７０３…未使用の領域、
７０１…画像区画、
８０２…画像区画、
９０１…第２のグラフィックモジュール、
９０２…ネットワークモジュール、
９０３…経路、
９０４…経路、
１００１…コンピュータ装置、
１００２，１００３，１００４，１００５…ディスプレイ装置、
１００６，１００７，１００８，１００９…ポインタ入力装置。
【図１】
2004013687.tif 000003
【図２】
2004013687.tif 000004
【図３】
2004013687.tif 000005
【図４】
2004013687.tif 000006
【図５】
2004013687.tif 000007
【図６】
2004013687.tif 000008
【図７】
2004013687.tif 000009
【図８】
2004013687.tif 000010
【図９】
2004013687.tif 000011
【図１０】
2004013687.tif 000012
【図１１】
2004013687.tif 000013
【図１２】
2004013687.tif 000014
【図１３】
2004013687.tif 000015
【図１４】
2004013687.tif 000016
【図１５】
2004013687.tif 000017
【図１６】
2004013687.tif 000018
【図１７】
2004013687.tif 000019
【図１８】
2004013687.tif 000020
【図１９】
2004013687.tif 000021