JP2004013687A - Data processing device - Google Patents
Data processing device 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の仮想ディスプレイ空間は新規な端末の接続に使用可能となる。
【選択図】 図2An object of the present invention is to provide a data processing device which does not need to previously store an area for storing image data for each terminal connected to a network line, and which can be used by executing a program by operation from many terminals with a small storage capacity. .
An image section holding image data corresponding to the terminal is set by an image section setting means in a virtual display space of an image storage circuit in response to a connection request from a terminal connected via a network line. . The image data of the image section corresponding to the terminal is transmitted to the terminal by the image data transmitting means, and the execution of the program using the writing of the image data in the image section as an output interface is executed by the program executing means on the host computer device. Then, when the work from the terminal is completed, the image section is released by the image section opening means, so that the virtual display space of the image storage circuit 208 can be used for connection of a new terminal.
[Selection] Fig. 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…ポインタ入力装置。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data processing device, and more particularly to a data processing device suitable for operating a host computer device from a plurality of terminals via a network line.
[0002]
[Prior art]
Conventionally, as a data processing device, as shown in FIG. 19, there is a
[0003]
[Problems to be solved by the invention]
By the way, there is a problem that the data processing device is inefficient because it is necessary to provide a plurality of graphic boards as image storage means corresponding to the
[0004]
It is suitable for a case where a plurality of workers work together in the same place, but the usable spatial arrangement of each terminal is limited by the cable length of an input / output device such as a display and a mouse. In particular, when a plurality of workers use a computer device independently at different places in a house, it is necessary to extend the display cable and the mouse cable to each place. Therefore, there is a problem that it cannot be practically used in a free place.
[0005]
Therefore, an object of the present invention is to eliminate the need to previously store a storage unit for storing image data for each terminal, to use a large number of terminals efficiently with a small storage capacity, and to connect a network line from a terminal at a remote place. It is an object of the present invention to provide a data processing device capable of processing a program through the data processing device.
[0006]
[Means for Solving the Problems]
In order to achieve the above object, a data processing device of the present invention stores image data of a virtual display space in an image storage unit, and when a connection request is made from at least one terminal via a network line, the data processing device Accordingly, an image section corresponding to the terminal is set in the virtual display space by the image section setting means. The data processing device transmits image data of an image section corresponding to the terminal set in the virtual display space to the terminal via a network line by image data transmitting means. Then, the terminal receives the image data and displays it on the display device of the terminal. When input data input from an input device (for example, a keyboard input device or a pointing input device) connected to the terminal is transmitted to the data processing device via a network line, the input data from the terminal is processed, and By executing the program using the image section corresponding to the terminal as the output interface by the program executing means, the image data is output to the image section corresponding to the terminal set in the virtual display space. Thus, the operation of the data processing device to which at least one terminal is connected by the network line can be performed from the terminal while watching the display device of the terminal. When the work from the terminal is completed, the image section corresponding to the terminal in the virtual display space is released by the image section releasing means, and the next terminal connection request is awaited.
[0007]
Therefore, according to the data processing device having the above configuration, it is not necessary to previously hold the image storage means for each terminal, and many terminals can be efficiently used with a small storage capacity, and a network line can be used from a terminal at a remote place. The program can be processed via.
[0008]
Further, in the data processing device of the present invention, when connection requests are separately made from a plurality of terminals to a computer device constituting the data processing device via a network line, connection requests from each terminal are sequentially received, and The image section corresponding to each terminal is set by the image section setting means so that the plurality of image sections corresponding to the terminal do not overlap each other in the virtual display space. Then, the image data of the image section set in the virtual display space is sequentially transmitted to the corresponding terminal via the network line by the image data transmitting means. Each terminal receives the image data and displays it on the display device of the terminal. Further, when input data input from an input device (for example, a keyboard input device or a pointing input device) connected to a terminal is sequentially transmitted to this data processing device via a network line, input data from each terminal is separately transmitted. And outputs the image data corresponding to the image section used by each terminal created by dividing the storage address space.
[0009]
When processing from such a plurality of terminals is performed, prevention of a reduction in processing speed is a major problem. However, the data processing apparatus according to the present invention has a configuration in which a virtual display space is divided and used separately for each terminal. Then, for inputting and outputting image data to and from the image section corresponding to each terminal, a program for inputting and outputting image data to and from the entire virtual display space can be used in common. Therefore, it is also possible to commonly use a graphic processing circuit for speeding up image drawing, and there is an advantage that the processing speed can be improved.
[0010]
Further, in the data processing device of one embodiment, the image section corresponding to the terminal set in the virtual display space is a continuous rectangular area in the virtual display space, so that the image partition at the time of input / output of image data is Address calculation processing is reduced, and processing speed as an output interface is improved. Further, the processing speed when transmitting the image data of the image section to the terminal is improved. In particular, in order to commonly use a program for inputting and outputting image data to and from the entire virtual display space for inputting and outputting image data, it is more preferable that the image section corresponding to the terminal is a continuous rectangular area.
[0011]
In one embodiment, when a connection request is made from a terminal via a network line, the data processing device acquires the resolution as information on the display device of the terminal, thereby matching the resolution of the display screen of the terminal. Then, the resolution of the image section corresponding to the terminal is set by the resolution setting means, and the image section corresponding to the terminal is set in the virtual display space. Here, the resolution is the resolution of the vertical and horizontal pixels of the display screen and the resolution of the color tone, and may be only the number of vertical and horizontal pixels.
[0012]
Therefore, the resolution of the display screen of the display device is not limited to a terminal whose designation has been specified in advance. For example, various types of mobile terminals, a mobile phone having a display device, or the like are connected as needed as terminals, and the program is executed to perform processing. be able to. Also, in particular, when a plurality of terminals are connected simultaneously, more terminals can be connected, since the number of image sections occupying the virtual display space is minimized.
[0013]
In one embodiment, the data processing device further includes an image section moving unit that moves an image section corresponding to the terminal set in the virtual display space in the virtual display space.
[0014]
That is, when transmission of image data to a certain terminal becomes unnecessary (or unnecessary for a certain period of time), the image section corresponding to the terminal may be released from the display space. It can be used to connect new terminals. At this time, the other image section is moved together with the image data in the virtual display space by the image section moving means, an unused area between each image section in the virtual display space is reduced, and a continuous unused area as large as possible is used. It is possible to create a region or a continuous unused rectangular region as large as possible.
[0015]
In addition, since the position of each moved image section in the virtual display space changes, image data is transmitted to the terminal from the moved image section to the terminal. Also, in the processing corresponding to the input from the terminal, the image data is output to the moved image section.
[0016]
When multiple terminals repeatedly connect and disconnect, unused areas are scattered between image sections in the virtual display space, and it becomes impossible to secure an image section as a continuous rectangular area used for a new terminal. There are cases. In addition, when image sections having different numbers of pixels are mixed in the virtual display space according to display devices having various resolutions, the connection and disconnection are repeated, particularly, between image sections in the virtual display space. In some cases, unused areas may be scattered. However, with the configuration of the image section moving means of the above embodiment, a continuous unused area as large as possible can be created, more terminals can be connected, and a plurality of operations can be performed at the same time.
[0017]
Further, in the data processing device of one embodiment, the image section corresponding to the terminal set in the virtual display space is evacuated by the image section evacuating means. Then, the image section corresponding to the terminal saved by the image section saving means is restored to the virtual display space by the image section restoring means.
[0018]
In other words, when the transmission of image data to the terminal is not necessary for a certain period, the image partition saving unit stores the image data stored in the image partition of the virtual display space corresponding to the terminal in another storage unit. Then, by releasing the image section occupied in the virtual display space, the image section corresponding to the terminal is evacuated. Thereby, an unused area can be secured in the virtual display space in preparation for a connection request of a new terminal.
[0019]
Further, when it is necessary to transmit the image data of the evacuated image section, a new image section is set in the virtual display space, and the image section evacuated by the image section evacuating means is set in the new image section. The image is restored by the image section restoring means.
[0020]
In addition, since the position of the image section corresponding to the terminal may change in the virtual display space from the previous position, the image data from the moved image section is transmitted to the terminal accordingly. Also, in the processing corresponding to the input from the terminal, the image data is output to the moved image section.
[0021]
Even if the work on the terminal is interrupted or the purpose is to display an image for a certain period of time, even if it becomes unnecessary to receive the image data from the data processing device, the image section corresponding to the terminal is virtual. Continue to occupy display space. As a result, it may not be possible to secure an image section of a new terminal. However, with the configuration of the image section retreating means and the image section restoring means of the above embodiment, it is possible to create an unused area as much as possible in the virtual display space, connect many terminals, and perform data work simultaneously. A processing device becomes possible.
[0022]
In particular, after evacuating the image section corresponding to the terminal, the other image sections are moved together with the image data in the virtual display space, and the unused area existing between the image sections in the virtual display space is reduced, By creating a continuous unused area as large as possible, the entire virtual display space can be used more efficiently.
[0023]
In one embodiment, the image data held in the image section of the virtual display space is transferred to a network module for connecting to the network line without passing through a system bus of a computer device. Have a path. That is, the image data is transferred from the image storage means storing the entire image data of the virtual display space to the network module via a path other than the system bus, and transmitted to the terminal via the network line by the network module.
[0024]
As a result, the load on the CPU and the system bus does not increase due to the transfer of image data. In a configuration in which the virtual display space is divided into image partitions and used separately for each terminal, the processing speed is particularly reduced. It has a great effect of preventing.
[0025]
In addition, by improving the processing speed, a response to an input operation from a terminal can be made faster, and a data processing device highly convenient for an operator can be provided.
[0026]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a data processing apparatus according to the present invention will be described in detail with reference to the illustrated embodiments.
[0027]
[First Embodiment]
FIG. 1 is a schematic configuration diagram of a computer system including a host computer device as an example of a data processing device according to a first embodiment of the present invention. As shown in FIG. 1, the computer system includes a
[0028]
A plurality of
[0029]
The
[0030]
The
[0031]
FIG. 2 is a block diagram of the
[0032]
Further, the
[0033]
Although a PCI (Peripheral Component Interconnect) bus is used as the
[0034]
FIG. 3 shows a
[0035]
As shown in FIG. 3, a
[0036]
In the present invention, since the image data of the
[0037]
FIG. 4 shows a conceptual diagram of a task configuration of a program executed by the
[0038]
That is, in FIGS. 1, 3 and 4, the
[0039]
Here, the
[0040]
The
[0041]
Further, the coordinate
The
[0042]
(1) Host computer processing
Next, processing of the
[0043]
(1-1) Connection management program
FIG. 10 shows a flowchart of the connection management program of the
[0044]
As shown in FIG. 10, the connection management program 403 (shown in FIG. 4) first determines whether or not there is reception from the terminal in step S1, and proceeds to step S2 if it determines that there is reception from the terminal. , Performs processing of a connection request from the terminal. Next, the process proceeds to step S3 to process input data from the terminal, and then proceeds to step S4.
[0045]
On the other hand, if it is determined in step S1 that there is no reception from the terminal, steps S2 and S3 are skipped, and the process proceeds to step S4.
[0046]
Then, after performing the process of transmitting the image data to the terminal in step S4, the process proceeds to step S5, where it is determined whether or not there is an instruction to end the process. Returning to step S1, steps S1 to S4 are repeated until the user issues an instruction to terminate the
[0047]
The processing in steps S2, S3, and S4 may be performed sequentially as shown in FIG. 10, but may be configured to be processed in parallel in different threads in a program or different programs. It is possible.
[0048]
Hereinafter, the processing of steps S2, S3, and S4 in the
[0049]
(1-2) Processing of connection request from terminal
FIG. 11 is a flowchart illustrating processing of a connection request from a terminal in step S2 of FIG. Here, as an example, a case where the terminal 103 (shown in FIG. 1) is connected to the
[0050]
When there is a connection request from the terminal 103, a signal 409 (shown in FIG. 4) from the
[0051]
If the
[0052]
In the case of a connection request from the terminal, the number of pixels in the vertical and horizontal directions of the image section corresponding to the terminal 103 is set in step S12.
[0053]
In the first embodiment, a
[0054]
Then, the process proceeds to step S13, where the
[0055]
In the first embodiment, in order for the
[0056]
Then, the process proceeds to step S14, where a
[0057]
Then, the process proceeds to step S15, where it is determined whether or not the image section has been set. If it is determined that the image section has been set, the process proceeds to step S16, and a child program having the image section corresponding to the terminal as an output interface is started. . In other words, the
[0058]
Finally, in step S17, the
[0059]
In the first embodiment, a management table 508 for the terminal 103 is added to the
[0060]
That is, the value of the management table 507 used in step S13 is also created when the terminal 102 is connected.
[0061]
In the first embodiment, in step S4 of FIG. 10, in order to increase the efficiency of the process of transmitting image data to the terminal, the management tables 507 and 508 further include a
[0062]
Here, it is also possible for the terminal 103 to use a plurality of remote areas as one continuous image section. For example, the same number of pixels as the
[0063]
If the image section corresponding to the terminal 103 cannot be set in step S15 in FIG. 11, the process proceeds to step S18, where the terminal 103 is notified of the rejection of the connection request, and the process ends. That is, when the unused area is small in the
[0064]
FIG. 14 shows a flowchart of the processing of the child program started in step S16 of FIG. Here, the operation of the
[0065]
First, the
[0066]
Next, in step S42, the presence or absence of an input event is determined, and if there is an input event, the process proceeds to step S43 to process the input event. That is, if there is a cursor movement, a button operation, or a key input event, a program process corresponding to the cursor movement or the input operation is performed in accordance with the event. That is, in the processing of this program, the response to the key input is performed by outputting the image data to the
[0067]
This input event is notified from the
[0068]
On the other hand, if it is determined in step S42 that there is no input event, step S43 is skipped.
[0069]
Next, the process proceeds to step S44, where it is determined whether or not there is an instruction to end the process. If it is determined that there is no instruction to end the process, the process returns to step S42 until the instruction to end the process of the child program is issued. Steps S42 and S43 are repeated. The instruction to end the processing of the child program is given, for example, by specifying, with a cursor, a drawing object or the like linked to the processing of ending the processing of the child program in the
[0070]
On the other hand, if it is determined in step S44 that an instruction to end the processing of the child program has been issued, the process proceeds to step S45, and the end processing is performed. For example, erasing a screen, saving a file, and the like.
[0071]
Then, the process proceeds to step S46 to release the
[0072]
In the first embodiment, image data is output to the image section corresponding to the terminal in steps S41, S43, and S45 in FIG. 14 to increase the efficiency of the process of transmitting image data to the terminal in step S4. In this case, the
[0073]
(1-3) Processing of input data from terminal
FIG. 12 is a flowchart illustrating processing of input data from the terminal in step S3 in FIG. Here, an example will be described in which the
[0074]
First, when input data is received from the terminal 103, a
[0075]
The
[0076]
If it is determined in step S21 that there is input data from the terminal, the
[0077]
Finally, the process proceeds to step S23, where the input data is notified as an input event to the
[0078]
(1-4) Transmission processing of image data to terminal
FIG. 13 is a flowchart illustrating the process of transmitting image data to the terminal in step S4 of FIG. Here, a case where the
[0079]
In the first embodiment, based on the
[0080]
The
[0081]
First, in step S31, the
[0082]
Then, when there is a connected terminal, the process proceeds to step S32, and the connected terminals are sequentially selected. That is, in the first embodiment, the process is performed by sequentially selecting the management tables 507 and 508 in the
[0083]
Next, in step S33, it is determined whether there is an image to be transmitted in the rectangular image section corresponding to the selected terminal. That is, it is determined whether there is an image to be transmitted from the
[0084]
If there is an image to be transmitted in the rectangular image section corresponding to the selected terminal, the process proceeds to step S34, while if there is no image to be transmitted, steps S34 to S37 are skipped.
[0085]
Then, in step S34, the coordinates of the rectangular image section of the image data to be transmitted are obtained. In the first embodiment, the coordinate
[0086]
Next, in step S35, terminal identification information is obtained. That is, the Internet address of the terminal held as the
[0087]
Then, the process proceeds to step S36 to transmit the image data to the terminal. Here, the image data of the rectangular area existing at the coordinates acquired in step S34 on the
[0088]
Then, in step S37, the rewriting information of the image section, that is, the transmission image information stored in the management table is updated. That is, when the transmission is completed, information indicating that there is no image to be transmitted is stored in the
[0089]
Next, in step S38, it is determined whether or not the processing of all the terminals has been completed. If it is determined that the processing of all the terminals has not been completed, the process returns to step S32, and steps S32 to S32 are performed until the processing of all the terminals is completed. S37 is repeated. That is, the process is repeated until all the management tables in the management table list have been processed.
[0090]
(2) Terminal processing
Next, processing of the terminal will be described. Here, each of the
[0091]
Each of the
[0092]
For example, in the case of the terminal 103, the image data transmitted in step S36 is displayed on the display device 114, and the
[0093]
By repeating the above, the user can proceed with the operation on the
[0094]
In the
[0095]
Further, the image partition setting means for setting the image partitions corresponding to the respective terminals in the
[0096]
Further, image data transmitting means for transmitting the image data of the image section corresponding to the terminal is configured for each of the plurality of terminals by steps S32, S34, S35, S36, and S38 in FIG.
[0097]
Further, in steps S41, S43, and S45 in FIG. 14, by outputting image data to the image section corresponding to the terminal held in step S17 in FIG. 11, the image section corresponding to the terminal is output for each of the plurality of terminals. Program execution means for executing the program serving as the output interface is configured.
[0098]
Further, by step S46 in FIG. 14, for each of the plurality of terminals, an image section opening means for releasing an image section corresponding to the terminal is configured.
[0099]
In the first embodiment, in order to reduce the amount of image data to be transmitted, especially when there is an image to be transmitted in steps S33 and S34 in FIG. 13, only the image data of the rectangular area to be transmitted is transmitted to the terminal. Although transmission is performed, all image data of the image section corresponding to the terminal may always be transmitted. In addition, all the image data of the image section corresponding to the terminal may be transmitted irrespective of the presence or absence of rewriting.
[0100]
Alternatively, in step S34 of FIG. 13, when the rectangular area to be transmitted to the terminal is large, the rectangular area is divided so as to be transmitted in a plurality of times, and a part of the rewritten rectangular area is transmitted. It can also be a range. In this case, the update of the
[0101]
In addition, information indicating whether or not the terminal has received the image data, or information of the range of the image data that can be received by the terminal out of the image data is returned, and based on the information, the transmission image information in step S37 is returned. More preferably, the update of the transmission coordinate
[0102]
Further, the image data can be transmitted after being compressed or encrypted.
[0103]
In the first embodiment, in the
[0104]
When the child program is started in step S16 in FIG. 11, the storage capacity for executing the new child program in the
[0105]
[Second embodiment]
Next, a computer system including a host computer device as an example of a data processing device according to a second embodiment of the present invention will be described. The computer system according to the second embodiment includes, in addition to the configuration of the computer system according to the first embodiment, an image section moving unit that moves an image section corresponding to a terminal in the
[0106]
Hereinafter, a process of creating an unused continuous larger rectangular area in the
[0107]
Here, a case will be described as an example where the
[0108]
When the
[0109]
In the second embodiment, the
[0110]
First, in step S51 of FIG. 15, it is determined whether or not there is a connected terminal. In the second embodiment, the determination is performed by determining whether or not the management table is included in the
[0111]
If there is a connected terminal, the connected terminals are sequentially selected in step S52. That is, the management tables in the
[0112]
Next, in step S53, it is determined whether or not it is possible to move an image section corresponding to the selected terminal to enlarge an unused continuous rectangular area. Here, as a method of enlarging an unused continuous rectangular area, it is possible to move the
[0113]
If an unused continuous rectangular area can be enlarged, the image data of the image section of the
[0114]
Then, the process proceeds to step S55 to update the coordinate
[0115]
Then, in step S56, the connected terminal returns to the beginning and is selected, and returns to step S53. In other words, when a plurality of terminals are connected, the movement of the image segment of a certain terminal may make it possible to move the image segment of the already processed terminal again. This is to determine whether to move. In the second embodiment, this can be performed by returning to the first management table in the
[0116]
On the other hand, if it is not possible to enlarge the unused continuous rectangular area in step S53, the process proceeds to step S57.
[0117]
Then, in step S57, it is determined whether or not the processing of all terminals has been completed. If it is determined that the processing of all terminals has not been completed, the process returns to step S52, and steps S52 to S56 are performed until the processing of all terminals is completed. repeat. That is, connected terminals are sequentially selected, and the movement of the image section corresponding to the terminal is repeated until all the terminals do not need to be moved.
[0118]
That is, steps S54 and S55 constitute an image section moving unit that moves the image section corresponding to the terminal in the
[0119]
With the above configuration,
[0120]
As a result, an
[0121]
Further, in the configuration of the second embodiment, in order to move the image data in the
[0122]
When a plurality of terminals having different numbers of pixels on the screen are used as described in the first embodiment, the number of vertical and horizontal pixels of the image section corresponding to the terminal differs for each terminal. For this reason, by repeating connection and disconnection, especially a large number of small unused areas that cannot be used in the gaps of the image sections corresponding to the respective terminals may be generated. However, with the configuration of the second embodiment, a data processing device capable of connecting more terminals by effectively utilizing the
[0123]
[Third embodiment]
Next, a computer system including a host computer device as an example of a data processing device according to a third embodiment of the present invention will be described. The computer system according to the third embodiment is different from the computer systems according to the first and second embodiments in that an image section corresponding to a terminal is evacuated as necessary, and an unused area of the
[0124]
FIG. 16 is a flowchart illustrating the processing of the child program started in step S16 of FIG. The flowchart of FIG. 16 has the same contents as the flowchart of FIG. 14 except for steps S47 and S48, and only different points from FIG. 14 will be described below.
[0125]
In the third embodiment, in step S47 of the flowchart of the processing of the child program shown in FIG. 16, if there is no input event or screen update for a certain period of time, a process of evacuating the image section corresponding to the terminal is performed. Make up. After that, when an input event occurs, the image section corresponding to the terminal is restored in step S48.
[0126]
Further, as shown in FIG. 5, information that the image section corresponding to the terminal is saved (hereinafter, referred to as image section save information) 506 is stored in the management table.
[0127]
Then, when acquiring an unused area in the
[0128]
Further, if the information indicating that the image section is saved is stored in the save
[0129]
Hereinafter, the process of saving the image section corresponding to the terminal in step S47 of FIG. 16 will be described with reference to the flowchart of FIG. Here, an example is described in which the
[0130]
First, the
[0131]
When the image section is to be saved, the process proceeds to step S62, and information on the position of the image section on the virtual display is acquired. That is, the coordinates of the
[0132]
Next, in step S63, the image data of the
[0133]
Then, in step S64, the image section corresponding to the terminal is released. That is, the information saved in the save
[0134]
Hereinafter, the process of restoring the image section corresponding to the terminal in step S48 of FIG. 16 will be described with reference to the flowchart of FIG. Here, after evacuating the image section corresponding to the terminal 102, the terminal 102 transmits the input data in a state where the
[0135]
The
[0136]
Then, it is determined whether or not the image section is evacuated in step S71 of FIG. That is, in the third embodiment, the information that the area is saved is stored in the save
[0137]
If the image section is evacuated, the number of pixels of the image section is set in step S72. That is, by acquiring the coordinates of the rectangular image section held as the image section coordinate
[0138]
Next, in step S73, an unused area in the
[0139]
Then, in step S74, an image section corresponding to the terminal is set in the unused area. This is the same process as step S14 in FIG. Here, an image section corresponding to the terminal 102 is set in the
[0140]
That is, since an
[0141]
Then, it is determined whether or not the image section has been set in step S75.
[0142]
If the setting has been completed, the image data copied to the secondary storage device is read into the image section in step S76. That is, the image data in the virtual display space is restored.
[0143]
Finally, the coordinate
[0144]
On the other hand, if the image section cannot be set in step S75, the process returns to step S73, and steps S73, S74, and S75 are repeated until an unused area increases and an image section corresponding to the terminal is secured.
[0145]
Steps S62, S63, and S64 in FIG. 17 constitute an image section saving unit that saves the image section corresponding to the terminal from the
[0146]
In addition, steps S72, S73, S74, S76, and S77 in FIG. 18 constitute an image section restoring unit that restores the evacuated image section in the
[0147]
In the operation of the computer device, in addition to the operation of sequentially inputting while watching the screen, there is also a case where a certain image is displayed and browsed. Alternatively, as described above, the communication line of the network line may be intentionally or unintentionally cut off for a long time, processing of the event input stream may end, a certain image may be displayed, and input may be waited. .
[0148]
For example, in FIG. 3, when the
[0149]
In the configuration of the third embodiment, as described above, if there is no input event in the terminal or a certain process for drawing in the virtual display space for a certain period of time, the image section corresponding to the terminal is evacuated, and temporarily It is possible to provide a data processing device having an advantage that an unused area of the
[0150]
Further, after the image section is released in step S63 of FIG. 17, the image section moving means for moving the image section corresponding to the terminal described in steps S51 to S57 of FIG. , It is possible to use the
[0151]
[Fourth embodiment]
Next, a computer system including a host computer device as an example of a data processing device according to a fourth embodiment of the present invention will be described. The computer system according to the fourth embodiment is the same as the computer system according to any one of the first to third embodiments, except that the image data of the image partition of the
[0152]
In any one of the data processing apparatuses of the first to third embodiments, as shown in FIG. 2, the second
[0153]
More preferably, in order to reduce the load on the
[0154]
However, when a plurality of workers connect to the host computer from a plurality of terminals, the load of the process of transmitting image data of the image section corresponding to the terminal to the terminal increases, thereby reducing the processing of the entire host computer device. In some cases.
[0155]
That is, as shown in FIG. 9, a
[0156]
According to the fourth embodiment, in the process of transmitting the image data to the terminal in step S36 in FIG. 13, the image data to be transmitted to the terminal is transmitted from the
[0157]
In particular, as the
[0158]
In order to operate the
[0159]
On the other hand, in the configuration in which the
[0160]
In the first to fourth embodiments, as shown in FIG. 4, the processes of the data processing device are shared by the tasks of the
[0161]
Further, in the first to fourth embodiments, each terminal is operated by each child program. However, the child program provides a certain platform like the OS, and the child program It is also possible to execute a program. For example, the
[0162]
Furthermore, the child program may be configured as a program that emulates a CPU, a storage device, and a peripheral device of a computer device, that is, a so-called virtual computer. In that case, the image section corresponding to the terminal becomes a virtual display device of the virtual computer. In such a case, since the work from each terminal is configured to execute an application on a virtual computer on the host computer device, a data processing device having an advantage that the work can be performed in a more independent environment between the terminals is provided. Can be provided.
[0163]
【The invention's effect】
As is clear from the above, according to the data processing device of the present invention, it is not necessary to previously hold the means for storing the image determined for each terminal, and it is possible to display the image of the terminal at a remote place connected by a network line. It is possible to provide a data processing device capable of operating an input device while viewing an output image of a computer device and proceeding with processing of a program on the computer device.
[0164]
In particular, in order to divide the above-mentioned virtual display space and use each of the terminals as a separate image partition, input / output of image data to / from the image partition corresponding to each terminal requires input / output of image data to the entire virtual display space. As output, a common program can be used. This simplifies the processing of input / output of image data of the host computer device, and particularly in the case where a plurality of workers are connected from a plurality of terminals and work on the host computer, especially when the main storage device is effectively used or used. There is an advantage that the processing speed can be improved.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of a computer system including a host computer device as an example of a data processing device according to a first embodiment of the present invention.
FIG. 2 is a block diagram of the host computer device.
FIG. 3 is a diagram for explaining a virtual display space.
FIG. 4 is a diagram for explaining a task configuration of the host computer device.
FIG. 5 is a diagram for explaining a management table list.
FIG. 6 is a diagram for explaining release of an image section;
FIG. 7 is a diagram for explaining movement of an image section;
FIG. 8 is a diagram for explaining restoration of an image section;
FIG. 9 is a diagram for explaining a different configuration of a second graphic module of a host computer device as an example of a data processing device according to a fourth embodiment of the present invention.
FIG. 10 is a flowchart illustrating the operation of a connection management program.
FIG. 11 is a flowchart for explaining processing of a connection request from a terminal.
FIG. 12 is a flowchart for explaining processing of input data from a terminal.
FIG. 13 is a flowchart illustrating a process of transmitting image data to a terminal.
FIG. 14 is a flowchart for explaining processing of a child program;
FIG. 15 is a flowchart illustrating the movement of an image section in a computer system including a host computer device as an example of a data processing device according to a second embodiment of the present invention.
FIG. 16 is a flowchart illustrating processing of a child program in a computer system including a host computer device as an example of a data processing device according to a third embodiment of the present invention.
FIG. 17 is a flowchart for explaining retraction of an image section.
FIG. 18 is a flowchart illustrating restoration of an image section.
FIG. 19 is a block diagram showing a schematic configuration of a conventional data processing device.
[Explanation of symbols]
101: host computer device,
102, 103 ... terminals,
104 ... network line,
105 ... HUB,
106, 107, 108, 109, 905 ... connection terminals,
110 ... display device,
115, 116 ... keyboard input device,
117, 118 ... pointer input device,
201 ... CPU,
202: main storage device,
203: Network module,
204 ... first graphic module,
206: system bus,
207 ... second graphic module,
208 image storage circuit,
209 ... graphic processing circuit,
210 ... reading and writing,
301 ... virtual desktop space,
303: virtual display space,
304, 305, 801 ... image section,
401 ... OS (operation system),
403: connection management program,
404, 405: child program,
409 ... signal,
410 ... signal,
501 terminal identification information,
502 ... Coordinate information of the image section
503: child program identification information,
504 ... transmission image information,
505: transmission coordinate information,
506: Evacuation information of the image section,
507, 508 ... management table,
509 ... management table list,
601, 602, 603, 702, 703 ... unused area,
701: image section,
802: image section,
901, a second graphic module;
902: Network module,
903: route,
904: route,
1001 ... computer device,
1002, 1003, 1004, 1005 ... display device,
1006, 1007, 1008, 1009... Pointer input device.
Claims (6)
仮想ディスプレイ空間の画像データを記憶する画像記憶手段と、
上記端末からの接続要求により、上記仮想ディスプレイ空間に、上記端末に対応する画像区画を設定する画像区画設定手段と、
上記画像区画設定手段により上記仮想ディスプレイ空間に設定された上記画像区画の画像データを上記端末に送信する画像データ送信手段と、
上記仮想ディスプレイ空間に設定された上記画像区画を出力インターフェースとしたプログラムの実行を行うプログラム実行手段と、
上記仮想ディスプレイ空間に設定された上記画像区画を解放する画像区画開放手段とを有することを特徴とするデータ処理装置。A data processing device to which at least one terminal is connected by a network line,
Image storage means for storing image data of the virtual display space;
Image partition setting means for setting an image partition corresponding to the terminal in the virtual display space by a connection request from the terminal,
Image data transmitting means for transmitting the image data of the image section set in the virtual display space by the image section setting means to the terminal,
Program execution means for executing a program with the image section set in the virtual display space as an output interface,
An image section opening means for releasing the image section set in the virtual display space.
上記仮想ディスプレイ空間に設定された上記端末に対応する画像区画が、上記仮想ディスプレイ空間上で連続した矩形領域であることを特徴とするデータ処理装置。The data processing device according to claim 1,
A data processing device, wherein an image section corresponding to the terminal set in the virtual display space is a continuous rectangular area in the virtual display space.
上記端末のディスプレイ装置の解像度に合わせて、上記仮想ディスプレイ空間に設定される上記端末に対応する上記画像区画の解像度を設定する解像度設定手段を有することを特徴とするデータ処理装置。The data processing device according to claim 1,
A data processing device, comprising: resolution setting means for setting a resolution of the image section corresponding to the terminal set in the virtual display space according to a resolution of a display device of the terminal.
上記仮想ディスプレイ空間に設定された上記端末に対応する上記画像区画を、上記仮想ディスプレイ空間内で移動させる画像区画移動手段を有することを特徴とするデータ処理装置。The data processing device according to claim 1,
A data processing apparatus, comprising: an image section moving unit that moves the image section corresponding to the terminal set in the virtual display space in the virtual display space.
上記仮想ディスプレイ空間に設定された上記端末に対応する上記画像区画を待避させる画像区画待避手段と、
上記画像区画待避手段により待避させた上記端末に対応する上記画像区画を、上記仮想ディスプレイ空間に復元する画像区画復元手段とを有することを特徴とするデータ処理装置。The data processing device according to claim 1,
Image section retreat means for retreating the image section corresponding to the terminal set in the virtual display space,
A data processing apparatus comprising: an image section restoring section that restores the image section corresponding to the terminal saved by the image section saving section to the virtual display space.
上記仮想ディスプレイ空間の上記画像区画に保持された画像データが、コンピュータ装置のシステムバスを介さず、上記ネットワーク回線に接続するためのネットワークモジュールに転送される経路を有することを特徴とするデータ処理装置。The data processing device according to claim 1,
A data processing device having a path for transferring image data held in the image section of the virtual display space to a network module for connecting to the network line without passing through a system bus of a computer device; .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002168716A JP2004013687A (en) | 2002-06-10 | 2002-06-10 | Data processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002168716A JP2004013687A (en) | 2002-06-10 | 2002-06-10 | Data processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004013687A true JP2004013687A (en) | 2004-01-15 |
Family
ID=30435548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002168716A Pending JP2004013687A (en) | 2002-06-10 | 2002-06-10 | Data processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004013687A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007537508A (en) * | 2004-04-09 | 2007-12-20 | エヌヴィディア コーポレイション | Method and apparatus for routing graphics processing signals to a stand-alone module |
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/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007537508A (en) * | 2004-04-09 | 2007-12-20 | エヌヴィディア コーポレイション | Method and apparatus for routing graphics processing signals to a stand-alone module |
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 (en) | Method and apparatus for associating annotation data with application window, system, and storage medium storing program for controlling association of annotation data with application window | |
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 (en) | Instant remote rendering | |
JP2013542515A (en) | Redirection between different environments | |
JPH0795314B2 (en) | Peripheral device support system | |
JPH0664536B2 (en) | Control method of virtual terminal subsystem | |
EP0644483B1 (en) | Computer system and method for performing multiple tasks | |
JP2004317583A (en) | Drawing equipment | |
EP3296859A1 (en) | Image output control method, image output control program, and display device | |
JP2004213533A (en) | Screen receiving device, screen distributing device, screen information transmitting / receiving system, screen receiving method, screen distributing method and program thereof | |
US5095524A (en) | On-line system which mainly executes regular jobs including apparatus for efficiently executing both regular jobs and irregular jobs | |
JP2004505355A (en) | Method and apparatus for dynamic graphics context switching in a data processing system | |
JP2004013689A (en) | Data processing device | |
JP2004013687A (en) | Data processing device | |
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 (en) | Processing module, driver program, and computer device | |
JP2768052B2 (en) | Group work system and group work individual work simultaneous execution system | |
EP0441509B1 (en) | Method and system for single-operation focus shift between user applications in a virtual terminal environment | |
JP2629399B2 (en) | Multi-window display method | |
JP2001142725A (en) | Information processor | |
JP2680076B2 (en) | Multi-window screen display method | |
JPH01310430A (en) | Data processor | |
JPH0721005A (en) | Image display method for client/server system |