以下本発明をその実施の形態を示す図面に基づき具体的に説明する。
(実施の形態1)
実施の形態1では、本発明に係る情報処理装置をシンクライアントシステムに適用した例について説明する。
図1は、実施の形態1におけるシンクライアントシステムの構成の概要を示す模式図である。シンクライアントシステムは、本発明に係る情報処理装置を適用したサーバ装置1と、ユーザが使用する端末装置2,2と、インターネット等のネットワークNとを含んで構成される。
実施の形態1におけるシンクライアントシステムでは、端末装置2はハードディスク等の大容量の記憶媒体を備えないコンピュータ装置により構成される。図1の模式図に示すように端末装置2は、セットトップボックス(STB:Set Top Box)型で構成し、物理的に異なる装置である表示装置3と接続されている構成でもよい。また、図1の模式図に示すように端末装置2は、PDA、携帯電話機等の表示装置3と一体型の携帯型端末装置で構成してもよい。また、端末装置2は図1の模式図に示すような形態の他、デスクトップ型パーソナルコンピュータ(以下、PC(Personal Computer)という)、又はノート型PCで構成されてもよい。
シンクライアントシステムを構成する端末装置2は、基本ソフトであるオペレーションシステム(以下OS(Operation System)という)、種々のアプリケーションプログラム(以下AP(Application Program)という)自体、それらの動作に対する設定事項、及び実行結果のデータを記憶せず、これらは当該端末装置2に対応付けてサーバ装置1に記憶される。端末装置2は種々のAPを実際には実行しない。ドキュメント(テキストデータ、画像を含むテキストデータ)編集処理、Webブラウジング処理、映像の再生処理等の各種APによる処理のみならず、基本ソフトであるOSの実行処理も端末装置2に対応するサーバ装置1で行われ、OSの実行結果に基づいて生成される画面データが端末装置2に送信される。端末装置2は、GUI(Graphical User Interface)、CUI(Command User Interface)を含む画面の出力、ユーザによる操作の受け付け、受け付けた操作に応じた処理要求の送信、処理結果の受け付け等、端末装置2としての処理を最低限行なうように構成されている。また、端末装置2は、サーバ装置1によって処理結果に応じて生成された画面データに基づいて表示装置3で画面を表示させる機能を有している。
サーバ装置1は、端末装置2のユーザ夫々に対応してOSが実行されるように構成されている。端末装置2(ユーザ)夫々に一台ずつサーバ装置1が対応する構成としてもよいが、実施の形態1におけるサーバ装置1では、仮想化技術を利用して一台のサーバ装置1で複数のOSが実行され、夫々のOSが各ユーザに対応する構成とする。仮想化技術を利用した構成は、ハードウェア資源の効率化、サーバ装置1のコンパクト化等の点で好適である。
サーバ装置1は、端末装置2からのシンクライアントとしてのデータ通信開始を要求する接続要求をネットワークNを介して受け付ける。端末装置2が携帯型端末装置である場合には、アクセスポイントPを更に介して受け付ける。サーバ装置1は、受け付けた接続要求に対し、接続要求元の端末装置2のユーザに対応する(各ユーザ用に設定が保存されている)OSプログラムを読み出して実行する。そしてサーバ装置1は、実行結果に応じて生成されるGUI、CUI等のユーザインタフェースを含む画面の画面データを端末装置2へ送信する。また、サーバ装置1は端末装置2からユーザの操作による処理要求を受け付けて処理を実行し、実行結果が反映された画面データを生成して端末装置2へ送信する。
これにより、ユーザは端末装置2を、OSを利用して各種APを実行させることが可能なパーソナルコンピュータ装置として使用することが可能になる。ただしこの場合、サーバ装置1が最初に画面データを端末装置2へ送信するに際し、端末装置2に接続されている表示装置3、又は端末装置2に備えられている表示装置3の表示パネルの大きさ、及び当該表示装置3に合わせて設定されている解像度(画面サイズ)については不明である。端末装置2は、図1に示したようにSTB型コンピュータ、デスクトップ型PC、ノート型PC、PDA又は携帯電話機でもよいことから、表示パネルの大きさ及び設定されている解像度は様々である。
また、一人のユーザが、STB型コンピュータで構成される端末装置2をシンクライアントとして動作させている間に、他の携帯型端末装置で構成される端末装置2をも同様にシンクライアントとして動作させたい場合、いずれの端末装置2,2にも同一のOSの処理によって表示される画面が共有されるべきである。しかしながら、STB型コンピュータで構成される端末装置2に接続されている表示装置3と、携帯型端末装置で構成される端末装置2が備える表示装置3とでは、表示パネルの大きさ及び設定されている解像度が異なる。サーバ装置1から同一の解像度の画面データを受信した場合、STB型コンピュータで構成されている端末装置2では、表示装置3でその画面データに基づく画面を表示することが可能であっても、携帯型端末装置で構成される端末装置2が備える表示装置3では適切に表示されない可能性がある。夫々の端末装置2が、受信した画面データを自身に適した解像度又はレイアウトに編集加工する処理も可能であるが、端末装置2での処理負荷が重くなり困難である。
そこで、実施の形態1におけるシンクライアントシステムを構成するサーバ装置1は、端末装置2から、表示装置3で表示させる画面に関する能力、具体的には解像度、表示する領域、端末装置2毎に表示されるべき構成要素の指定等を含む端末能力情報を取得し、取得した端末能力情報に応じて各端末装置2用にサブ画面を生成して画面データを送信する。
図2は、実施の形態1におけるシンクライアントシステムを構成するサーバ装置1及び端末装置2の内部構成を示すブロック図である。
サーバ装置1は、各構成部を制御するCPUを利用した制御部10と、ハードディスクを利用した記憶部11と、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等の揮発性メモリを利用した一時記憶領域12と、ネットワークカードを利用した通信部13とを備える。
制御部10は、後述するように記憶部11に記憶されているOSプログラム111を一時記憶領域12に読み出して実行する。またこの場合、制御部10は記憶部11に記憶されているVMM(Virtual Machine Monitor)プログラム112を読み出して実行することにより、サーバ装置1が論理的に複数の情報処理装置として動作する仮想化環境を提供する。これにより、サーバ装置1では複数の独立したOS,OS,…が動作可能である。また、制御部10は、記憶部11に記憶されているサーバ装置用プログラム1Pを読み出して実行することにより、後述の端末装置2で表示させる画面の解像度、及び/又はレイアウトに応じた画面生成を実行する。
なお、実施の形態1におけるシンクライアントシステムでは、複数の端末装置2,2,…に一のOSを対応させることが可能である。ログインするユーザが同じ場合は同一のOSにログイン可能であり、これにより各種処理結果及び画面の共有が可能である。
記憶部11には、制御部10が読み出して実行するOSプログラム111、サーバ装置用プログラム1P及びVMMプログラム112が記憶されている。また記憶部11には、制御部10が複数のOSを実行する場合、対応する端末装置2,2,…毎の設定情報が記憶される。記憶部11も、VMMプログラム112が読み出して実行されることによってVMMとして動作する制御部10により、複数の記憶部11として複数のOS夫々に論理的に分割されて割り当てられる。
一時記憶領域12には、制御部10の処理によって発生する各種情報が記憶される。VMMとして動作する制御部10によって、一時記憶領域12も複数の一時記憶領域に分割され、OS夫々に論理的に割り当てられる。各OSに対応する一時記憶領域は、各OS上で実行される処理によって発生する情報の一時的な記憶先として使用されると共に、各OSによって実現されるGUI、CUIを含む画面の画面データが記憶される。
通信部13は、ネットワークNを介したデータ通信を実現する。制御部10は通信部13により、端末装置2からの接続要求、処理要求、入力信号等を受信し、処理結果、生成した画面データを送信する。通信部13も、OS夫々に対して論理的に分割されて割り当てられる。
仮想化環境が実現されることにより、制御部10は複数のOSを実行し、VMM及びOSを介して各デバイス及び各プロセスから通知されるイベントにより画面データの生成を行なう。なお、実施の形態1におけるシンクライアントシステムでは、ユーザによる実際の操作は端末装置2で行われるので、操作に係るインタフェースデバイスからの入力信号は端末装置2からネットワークNを介して送信される。したがって、サーバ装置1の制御部10は通信部13により入力信号を受信した場合、入力信号に基づくイベントを、対応するOSが実行されている制御部10へ通知する。
端末装置2は、各構成部を制御するCPUを利用した制御部20と、マスクROM(Read Only Memory)、EPROM(Erasable and Programmable ROM)、EEPROM(Electronically Erasable and Programmable ROM)等の読み取り専用メモリを利用した記憶部21と、DRAM、SRAM等のメモリを利用した一時記憶領域22と、ネットワークカードを利用した通信部23と、端末装置2の操作に係るインタフェースデバイスからの信号を受け付ける操作部24と、画面を表示装置3へ出力する画面出力部25とを備える。
記憶部21には、端末装置用プログラム2Pが記憶されている。制御部20は、記憶部21から端末装置用プログラム2Pを一時記憶領域22に読み出して実行することにより、端末装置2としての動作を実現する。具体的には、後述する端末能力情報の取得、取得した端末能力情報の通信部23による送信、操作部24を介して検知した入力信号の送信、及び、通信部23を介して受信した画面データに基づく画面出力部25による画面出力制御を行なう。
一時記憶領域22には、上述のように端末装置用プログラム2Pが読み出されるほか、制御部20が実行する処理によって発生する各種情報が一時的に記憶される。
通信部23は、対応するOSが実行されるサーバ装置1からの画面データの受信、端末装置2からの端末能力情報の送信及び後述の入力信号の送信を実現する。
操作部24は、リモートコントローラ(以下リモコンという)、電源ボタン、キーボード、マウス、スピーカ等のインタフェースデバイスと接続されており、各インタフェースデバイスとの間で信号を送受信する。制御部20は、操作部24を介して受信するインタフェースデバイスからの入力信号を通信部23によりサーバ装置1へ送信する。
なお、操作部24は端末装置2によっては、電源ボタン以外は必ずしも備えられていなくともよい。一部の端末装置2は、サーバ装置1から送信される画面データに基づいて表示装置3で表示される画面のみ閲覧が可能な端末装置2として動作する。
図3は、実施の形態1におけるシンクライアントシステムを構成するサーバ装置1及び端末装置2の機能ブロック図である。
サーバ装置1の制御部10は、サーバ装置用プログラム1Pを読み出して実行することにより、端末能力判定部101、画面情報管理部102、画面構成・マウス位置検出部103、画面生成部104及びサブ画面生成部105として機能する。また制御部10は、各機能により記憶部11又は一時記憶領域12にサブ画面情報14、画面構成情報15、メイン画面(データ)16、及びサブ画面(データ)17を記憶して使用する。
制御部10は端末能力判定部101として機能することにより、端末装置2により表示させる画面の画面サイズ(解像度)、想定メイン画面サイズ、抽出領域情報、及び画面データの送信先アドレス・ポート情報を含む端末能力情報を通信部13を介して受信した場合、受信した端末能力情報の内容に基づいて端末装置2で設定されている画面サイズでの画面データの生成が可能か否かを判定する。そして制御部10は、端末能力判定部101として機能して画面データの生成が可能であると判定した場合、端末能力情報を画面情報管理部102へ出力する。
制御部10は画面情報管理部102として機能することにより、端末能力判定部101から出力された端末能力情報に基づいてサブ画面情報14(テーブル)を作成して記憶する。制御部10は画面情報管理部102として機能することにより、メイン画面サイズを決定してサブ画面情報14と共に記憶する。
制御部10は画面生成部104として機能することにより、画面情報管理部102を介してサブ画面情報14を参照し、決定されたメイン画面サイズでメイン画面16を生成し、一時記憶領域12(又は記憶部11)に記憶する。なお、制御部10はメイン画面16の生成をGPU(Graphics Processing Unit)を利用して行なうようにしてもよい。制御部10は画面生成部104として機能してOSから発行される描画コマンドをGPUへ入力し、GPUにより描画されて出力される画面データを取得するとしてもよい。
制御部10は画面構成・マウス位置検出部103として機能することにより、通信部13を介して受信する入力信号を受け付け、入力信号に基づいてOSにGUIに関するイベントを発生させるか、又は入力信号から直接的にメイン画面16における画面構成要素の位置、マウス位置等を特定し、それらを含む画面構成情報15を記憶して更新する。また、制御部10は、画面構成・マウス位置検出部103として機能することにより、OSを介して発生するイベントを検知し、イベントの内容に応じて画面構成情報15を更新する。イベントの内容は例えば、APのウィンドウの生成(CREATE)、APのウィンドウの消去(DESTROY)、APのウィンドウの位置の移動(MOVE)、APのウィンドウの大きさの変更(RESIZE)等である。
なお制御部10は、サーバ装置1に同一のユーザが用いる複数の端末装置2,2,…が接続される場合、メイン画面上でのマウス位置について、夫々の端末装置2,2,…から送信される入力信号に基づいて夫々に対応するマウス位置を特定する。
制御部10は、例えば1秒間に30画面(29.97画面)のレートでメイン画面16を生成する。制御部10は画面生成部104として機能することにより、生成するレートに応じてOSを介してタイムイベントを発生させて自身に通知する。1秒間に30画面(29.97画面)のレートで生成する場合、約33ミリ秒毎にタイムイベントを発生させる。制御部10は、タイムイベントが通知されたことを検知する都度、画面構成・マウス位置検出部103を介して画面構成情報15を参照し、画面構成情報15に示される各APのウィンドウの位置、マウス位置に基づいてメイン画面16を生成する。
制御部10はサブ画面生成部105として機能することにより、画面情報管理部102を介してサブ画面情報14を参照し、メイン画面16からサブ画面17を生成し、通信部13を介して端末装置2へ送信する。なお、制御部10がサブ画面生成部105として機能するに際しては、サブ画面情報14を参照してOSにGUIに関するイベントを発生させることによってメイン画面16を一時的に変更し、変更後のメイン画面16の一部又は全体を切り出す処理を行なうことよりサブ画面17を生成してもよい。制御部10がサブ画面17を生成するタイミングは、上述のように画面生成部104として機能してタイムイベントが通知されたことを検知する都度である。制御部10は、タイムイベントが通知されたことを検知する都度、メイン画面16を生成し、生成したメイン画面16からサブ画面17を生成し、端末能力情報に含まれるアドレス情報が示す送信先へサブ画面17を送信する。
なお、制御部10がサブ画面生成部105として機能することによって生成されるサブ画面17は、ビットマップデータでもよいし、符号化された画像データでもよい。また、タイムイベントが通知されたことを検知する都度生成されたビットマップデータを時系列に並べた映像データを送信するようにしてもよい。この場合、映像データはMPEG(Moving Picture Experts Group)等の符号化技術により符号化されていてもよい。
端末装置2の制御部20は、記憶部21に記憶されている端末装置用プログラム2Pを読み出して実行することにより、設定受付部201及び端末能力通知部202として機能する。
また、制御部20は電源オフ状態である場合に操作部24を介して電源ボタン等の押下を検知したときは、シンクライアントとしての動作を開始し、起動画面を表示させる。起動画面には動作させるAP名が一覧として表示される。ユーザはインタフェースデバイスにより、起動画面上でAP名を選択することが可能である。
制御部20は設定受付部201として機能することにより、操作部24を介して受信した入力信号に基づいて、選択されたAP名を特定する。そして制御部20は設定受付部201として機能することにより、端末装置2における画面の表示方法を「指定AP画面表示」に設定する。
図4は、実施の形態1におけるシンクライアントシステムを構成する端末装置2が表示させる起動画面の一例を示す説明図である。
図4の説明図は、表示装置3に起動時に表示される起動画面として、シンクライアントとして起動するに際し動作させるAPの選択画面を示している。図4の説明図に示された起動画面例では、「ドキュメント編集」、「メーラ」、「Webブラウザ」、「表計算」及び音声・動画像の再生APである「プレーヤー」が指定対象の選択肢として表示されている。図4の説明図では、「プレーヤー」が指定されていることが太線及びハッチングにより示されている。端末装置2の制御部20は、指定されたAP名を接続要求と共にサーバ装置1へ送信する。
図3の説明図に戻り説明を続ける。制御部20は設定受付部201として機能することにより、端末装置2における表示画面での表示方法を設定するが、表示方法には、上述のように「指定AP画面表示」に限らない。実施の形態1では、他に左半分、右半分、座標等により指定された領域を表示する「指定領域表示」、マウスポインタの周辺を表示する「マウス周辺表示」、及び全画面を必要に応じて拡縮して表示する「全画面表示」を設定することが可能とする。なお、制御部20は起動画面に表示方法の一覧を表示し、ユーザによる表示方法の選択を受け付ける構成としてもよい。
制御部20は端末能力通知部202として機能することにより、シンクライアントとしての動作を開始するに際し、自身に接続されている表示装置3における表示パネルの大きさに応じて設定されている画面サイズ(解像度)、これに対応して想定される想定メイン画面サイズ、設定受付部201で設定した表示方法に基づく抽出領域情報、及び画面データの送信先アドレス情報を含む端末能力情報を、接続要求と共に通信部23を介してサーバ装置1へ送信する。設定受付部201で設定した表示方法に基づく抽出領域情報とは、例えば表示方法が「指定AP画面表示」である場合は特定したAP名であり、表示方法が「指定領域表示」である場合は右半分、左半分、指定座標等の位置情報であり、表示方法が「マウス周辺表示」である場合はマウス周辺を切り出すことを示す情報及び拡大率であり、「全画面表示」である場合は全画面を示す情報又は指定座標等の位置情報である。制御部20は、端末能力情報として他に、メイン画面サイズに対する表示画面の拡縮の有無を含めて送信する。
図5は、実施の形態1におけるサーバ装置1に記憶されるサブ画面情報14の内容例を示す説明図である。図5の説明図に示すように、サブ画面情報14は決定されたメイン画面サイズ及びサブ画面数の最大数を含む。また、サブ画面情報14は複数の端末装置2,2,…が接続される場合、各端末装置2,2,…の識別情報(端末ID)と、端末装置2から送信される端末能力情報に含まれる、想定メイン画面サイズ、設定されている画面サイズ(サブ画面サイズ)、抽出領域情報(サブ画面位置、アプリ画面ID)、拡縮の有無及び送信先アドレス・ポート情報とが対応付けられる。更に、抽出領域情報に基づいて作成されるサブ画面17にサブ画面IDが対応付けられる。なお、図5の説明図に示される内容例では、一のOSに対して4つの端末装置2,2,…が接続され、処理を共有している場合の例を示している。
また、サブ画面情報14には、サブ画面17毎に送信済み/未送信を示す送信フラグが対応付けられている。サーバ装置1の制御部10はサブ画面生成部105として機能することにより、タイムイベントの通知を検知する都度、サブ画面情報14を参照し、生成されたメイン画面16に基づいて送信フラグが未送信であるサブ画面IDのサブ画面17を生成して送信する。制御部10は、送信したサブ画面17に対応するサブ画面IDの送信フラグを送信済みと更新する。
図5の説明図に示す内容例では、メイン画面サイズは「1280(pixel)×1024(pixel)」に決定され、OSに設定されていることが示されている(以下同様に、画面サイズ及び座標はピクセル(pixel)単位で示す)。また、端末ID「1」の端末装置2へ送信するサブ画面17は、「全画面表示」を指定しており、メイン画面16をそのままサブ画面17として送信するように記憶されている。端末ID「2」及び「3」の端末装置2へ送信するサブ画面17は「指定領域表示」を指定しており、メイン画面16における指定領域(左半分、又は座標((100,100),(740,580))で特定される領域をメイン画面16から抽出してサブ画面17として送信するように記憶されている。端末ID「4」の端末装置2へ送信するサブ画面17は「指定AP画面表示」を指定しており、「アプリ画面ID」としてAP名(「プレーヤー」)が記憶されている。この場合、サーバ装置1はメイン画面16における指定AP(「プレーヤー」)のウィンドウの領域として特定される領域を抽出してサブ画面17として送信する。
サブ画面情報14(テーブル)は、端末装置2がシンクライアントとしての動作を開始した後、一時記憶領域12に記憶される。端末装置2が電源オフとなる等、シンクライアントとしての動作を終了した場合、一時記憶領域12から除去され、端末装置2が改めてシンクライアントとして接続要求を送信するときに改めて記憶される構成とする。これに対し、サブ画面情報14をユーザ夫々の設定情報としてサーバ装置1の記憶部11に保持しておく構成としてもよい。この場合、ユーザを識別するユーザ識別情報及び端末装置2を識別する固有情報に基づき、同一のユーザが使用する同一の端末装置2から接続要求を受信した場合には、改めてサブ画面情報14を記憶する処理(後述の図8参照)を省略することが可能である。
図6は、実施の形態1におけるサーバ装置1に記憶される画面構成情報15の内容例を示す説明図である。
図6の説明図に示すように、画面構成情報15はメイン画面16における画面構成要素、即ち表示されているAP夫々のID(アプリID)、AP名、APのウィンドウが表示されるメイン画面16における座標(表示座標)、画面内での背面前面の順を示すZ−order、及びAPのウィンドウの表示状態、並びに現在のマウス位置を含む。マウス位置は、複数の端末装置2,2,…が同一のOSに対してサーバ装置1に接続される場合、端末装置2,2,…毎に記憶しておいてもよい。
図6の説明図に示される内容例では、制御部10は「プレーヤー」、「ドキュメント編集」、「表計算」及び「メーラ」の各APを読み出して動作させており、夫々のアプリIDは「1」、「2」、「3」及び「4」である。また、アプリID「1」の「プレーヤー」APのウィンドウは、メイン画面16における座標(x,y)=(100,100)の位置から(x,y)=(740,580)の位置までの線分を対角線とする矩形領域に「1」番手前に「通常表示」されていることを示す。アプリID「2」の「ドキュメント編集」APのウィンドウは座標(x,y)=(0,0)の位置から(x,y)=(1280,1024)の位置までの矩形領域に最前面から「2」番目に「最大化」表示(全画面表示)されていることを示す。アプリID「3」の「表計算」APのウィンドウは座標(x,y)=(0,0)の位置から(x,y)=(1280,1024)の領域に最前面から「3」番目に設定されて「最小化」表示(タスクバー表示)されていることを示す。アプリID「4」の「メーラ」APのウィンドウは、座標(x,y)=(100,200)の位置から(x,y)=(400,450)の位置までの矩形領域に「4」番目(最背面)となるように表示領域が設定されているが「非表示」状態であることを示す。この場合、次に「メーラ」APのウィンドウが表示される際には、メイン画面16内の設定されている表示座標にウィンドウが表示される。また、図6の説明図に示される内容例では、マウス位置はメイン画面16における座標(x,y)=(200,300)にあり、最前面に表示されている「プレーヤー」APのウィンドウ上に位置していることを示す。
上述のように構成されるシンクライアントシステムで、サーバ装置1及び端末装置2が夫々の機能により実行する処理を、フローチャートを参照して説明する。
まず、端末装置2の起動時に、制御部20が設定受付部201及び端末能力通知部202として機能することによって、表示方法を設定し、接続要求及び端末能力情報をサーバ装置1へ送信する処理について説明する。図7は、実施の形態1におけるシンクライアントシステムを構成する端末装置2の制御部20による起動時の処理手順の一例を示すフローチャートである。
制御部20は、操作部24に含まれる例えば電源ボタンが押下されたことを検知したか否かにより、シンクライアントとして起動されたか否かを判断する(ステップS11)。制御部20は、起動されていないと判断した場合(S11:NO)、処理をステップS11へ戻す。制御部20は、起動されたと判断した場合(S11:YES)、起動画面を画面出力部25により出力し(ステップS12)、表示装置3に表示させる。
次に制御部20は出力した起動画面に対して、動作させるAPが選択されたか否かを判断する(ステップS13)。制御部20は、APが選択されていないと判断した場合(S13:NO)、処理をステップS13へ戻し、APが選択されたと判断するまで待機する。
制御部20は、APが選択されたと判断した場合(S13:YES)、設定受付部201として機能することによって表示装置3における表示方法を設定する(ステップS14)。制御部20は端末能力通知部202として機能することにより、設定されている画面サイズ、想定メインサイズ、画面データの送信先アドレス・ポート情報等の各情報を、記憶部21から読み出すか又は表示装置3及び通信部23から取得するかによって取得し(ステップS15)、取得した各情報と設定した表示方法に基づく抽出領域情報とを端末能力情報に含め、接続要求と共にサーバ装置1へ送信し(ステップS16)、起動時の処理を終了する。
なお、図7のフローチャートでは、APが選択されたと判断するまで待機し、必ず最初に動作させるAPのAP名を選択させる構成とした。しかしながら、本発明はこれに限らず、起動させるAPを指定せずにOSを起動させる場合、又は既に起動しているOSにログインする場合は、ステップS13を省略してもよい。
また、実施の形態1における端末装置2の制御部20は起動時のみならず、シンクライアントとして動作を開始した後、ユーザが操作部24を介して表示装置3に表示されている画面中のウィンドウを全画面表示に変更、又は全画面表示からサイズを変更する操作をした場合にこれを検知して端末能力情報を送信する。ウィンドウを全画面表示に変更する操作又は全画面表示からサイズを変更する操作とは、画面中のウィンドウ上でのマウスのダブルクリック、又はそれに相当するボタンの押下等所定の操作が対応する。この場合、図7のフローチャートに示した処理手順の内のステップS11からステップS13までの処理の代わりに、制御部20は全画面表示への切り替え又は全画面表示からの切り替え操作を検知したか否かを判断する処理を行なうようにする。制御部20は全画面表示への切り替え又は全画面表示からの切り替え操作を検知したと判断した場合、表示方法を設定し直し(S14)、他の情報を取得して端末能力情報を送信する(S15,S16)。この場合、制御部20は接続要求を送信しない。例えば、表示方法が「指定AP画面表示」に設定されることにより、表示装置3の全画面に指定APのウィンドウが表示されている状態で、ユーザが全画面からの切り替え操作を行った場合、制御部20は、座標を指定する「指定領域表示」に表示方法を変更して改めて端末能力情報を送信する。サーバ装置1の制御部10は、改めて端末能力情報が送信されたことに応じて、後述の図8のフローチャートに示す処理を行なう。
次に、図7のフローチャートによって送信された接続要求及び端末能力情報をサーバ装置1が受信した場合に、制御部10が端末能力判定部101及び画面情報管理部102として機能することにより実行する処理について説明する。図8は、実施の形態1におけるシンクライアントシステムで、端末装置2から送信された端末能力情報を受信した場合のサーバ装置1の制御部10による処理手順の一例を示すフローチャートである。
制御部10は、通信部13により端末装置2から接続要求又は端末能力情報を受信したか否かを判断する(ステップS21)。端末装置2の起動時は、端末装置2から接続要求及び端末能力情報が送信されるが、端末装置2がシンクライアントとして動作を開始した後に上述のように表示方法を変更するために端末能力情報を送信した場合には、接続要求は送信されない。したがって、制御部10は接続要求又は端末能力情報のいずれかを受信したか否かを判断する(S21)。
制御部10は、接続要求又は端末能力情報を受信していないと判断した場合(S21:NO)、処理をステップS21へ戻す。制御部10は、接続要求及び端末能力情報を受信したと判断した場合(S21:YES)、端末能力情報に含まれる想定メイン画面サイズを取得する(ステップS22)。
制御部10は、メイン画面サイズを既に決定済みか否かを、画面情報管理部102を介してサブ画面情報14を参照することにより判断する(ステップS23)。サブ画面情報14に、決定されたメイン画面サイズが記憶されている場合、制御部10はメイン画面サイズを決定済みであると判断する。制御部10は、メイン画面サイズを既に決定済みであると判断した場合(S23:YES)、後述のステップS26へ処理を進める。制御部10は、メイン画面サイズは未だ決定済みでないと判断した場合(S23:NO)、取得した想定メイン画面サイズに相当するメイン画面サイズを画面情報管理部102の機能により決定して記憶し(ステップS24)、実行するOSに対してメイン画面サイズを設定する(ステップS25)。
制御部10は端末能力判定部101として機能し、端末能力情報の内容に基づいてサブ画面17を生成することが可能か否かを判断することにより、端末装置2で表示される画面についての能力を審査する(ステップS26)。なお、審査のポリシーを記憶部11に記憶しておき、制御部10は記憶部11からポリシーを参照して判断する。ポリシーの内容は例えば以下の場合、制御部10はサブ画面17を生成することが不可能であると判断する。決定済みのメイン画面サイズに対して、送信された端末能力情報に含まれる端末装置2で設定されている画面サイズが大きい場合、決定済みのメイン画面サイズと、送信された端末能力情報に含まれる想定メイン画面サイズが異なる場合、決定済みのメイン画面サイズに対して、送信された端末能力情報に含まれる想定メイン画面サイズが小さい場合、端末能力情報に含まれる指定AP名がサーバ装置1で起動していない場合、端末能力情報にサーバ装置1で対応していないことを指示する情報が含まれている場合等のいずれか一つ又は複数が成立する場合に、制御部10はサブ画面17の生成が不可能であると判断する。
制御部10は、サブ画面17(データ)を生成することが可能であると判断した場合(S26:YES)、画面情報管理部102へ端末能力情報を出力し、画面情報管理部102として機能することにより、サブ画面情報14を記憶し(ステップS27)、端末装置2から送信された端末能力情報を受信した場合の処理を終了する。
制御部10は、サブ画面17を生成することが不可能であると判断した場合(S26:NO)、画面情報管理部102により直前のステップS24及びステップS25によりメイン画面サイズを決定し、設定しているときにはこれを削除し(ステップS28)、端末装置2から送信された端末能力情報を受信した場合の処理を終了する。直前のステップS23で、制御部10が既にメイン画面サイズを決定済みであると判断していた場合はステップS28を省略する。
次に、端末装置2のシンクライアントとしての動作が開始されるためにサーバ装置1で実行される処理について説明する。サーバ装置1の制御部10は、端末能力判定部101の機能によりサブ画面17を生成することが可能であると判断し、画面情報管理部102の機能によりサブ画面情報14を記憶した場合、画面構成・マウス位置検出部103、画面生成部104及びサブ画面生成部105の機能により、メイン画面16及びサブ画面17の生成処理を実行し、サブ画面17を端末装置2へ送信する。
なお、サーバ装置1の制御部10は画面構成・マウス位置検出部103の機能により、端末装置2から送信される入力信号を通信部13を介して受信した場合、これに応じてマウス位置、画面構成要素の選択等を示すGUIに関するイベントをOSを介して発生させる。また制御部10は、画面構成・マウス位置検出部103の機能により、OSから通知される画面描画に関するメッセージを検知したか否かにより判断する。ユーザが使用する端末装置2からの入力信号をトリガとする場合以外でも、例えば一定時間が経過する都度、表示位置が変わるウィンドウ等、他のイベント発生に応じて画面描画が行なわれる場合、制御部10は画面構成・マウス位置検出部103の機能により、OSからのメッセージを監視することで画面描画に関するイベント通知を検知する。
図9は、実施の形態1におけるシンクライアントシステムで、イベントが通知された場合のサーバ装置1の制御部10による処理手順の一例を示すフローチャートである。
制御部10は、イベント通知を検知したか否かを判断する(ステップS31)。制御部10は、イベント通知を検知していないと判断した場合(S31:NO)、処理をステップS31へ戻す。
制御部10は、イベント通知を検知したと判断した場合(S31:YES)、通知されたイベントが示すイベントの内容、マウス位置、画面構成要素の選択に応じて、マウス位置の変更、ウィンドウを含む各画面構成要素のメイン画面16内の位置の変更等、画面構成情報15を更新し(ステップS32)、処理を終了する。イベントの内容とは例えば、マウス・カーソルの移動、マウスクリック、マウスダブルクリック、英数キーの押下、特定キーの押下、OSから通知されるウィンドウの生成(CREATE)、APのウィンドウの消去(DESTROY)、APのウィンドウの位置の移動(MOVE)等のメッセージを示す。
例えば制御部10は画面構成・マウス位置検出部103として機能し、図9のフローチャートに示した処理を実行することにより、図6の説明図に示した画面構成情報15におけるマウス位置を、座標(x,y)=(200,300)から座標(x,y)=(210,315)へ更新する。
また制御部10は、画面構成・マウス位置検出部103として機能することにより、あるAPのウィンドウ上でのダブルクリックを示すイベント通知を検知した場合には、端末装置2から改めて端末能力情報が送信されたときと同様の処理を行なってもよい。つまり、上述の図7のフローチャートの説明において、端末装置2の制御部20が操作部24を介して検知した操作に応じて表示方法を変更するために端末能力情報を送信する構成の可能性を示唆した。表示方法の変更、即ちサブ画面情報14の更新処理(図8のフローチャートに示した処理)を、端末能力情報の受信をトリガとするのみならず、画面構成・マウス位置検出部103として機能して特定のイベント通知を検知した場合に行なう構成としてもよい。
次に、制御部10が画面生成部104及びサブ画面生成部105として機能することにより実行するメイン画面16及びサブ画面17の生成処理について説明する。図10乃至図15は、実施の形態1におけるシンクライアントシステムを構成するサーバ装置1の制御部10によるメイン画面16及びサブ画面17の生成処理手順の一例を示すフローチャートである。
制御部10は、タイムイベントが通知されたことを検知したか否かを判断する(ステップS41)。制御部10は、タイムイベントが通知されたことを検知していないと判断した場合(S41:NO)、処理をステップS41へ戻し、タイムイベントが通知されるまで待機する。
制御部10は、タイムイベントが通知されたことを検知したと判断した場合(S41:YES)、画面情報管理部102を介してサブ画面情報14を参照し、サブ画面情報14に含まれる全サブ画面に対応する送信フラグを未送信を示すように更新する(ステップS42)。
制御部10は画面生成部104として機能することにより、画面構成・マウス位置検出部103を介して画面構成情報15に基づいてメイン画面16を生成する(ステップS43)。サーバ装置1に同一のユーザが用いる複数の端末装置2,2,…が接続されており、端末装置2,2,…毎にマウス位置を記憶している場合は、いずれか一つのマウス位置に基づいてメイン画面16を生成するようにしてもよい。
制御部10はサブ画面生成部105として機能することにより、画面情報管理部102を介してサブ画面情報14を端末装置2毎に参照し(ステップS44)、送信フラグが未送信を示しているか否かを判断する(ステップS45)。制御部10は、送信フラグが送信済みを示している場合(S45:NO)、処理をステップS44へ戻し、他の端末装置2に対応するサブ画面情報14を参照する。制御部10は、送信フラグが未送信を示している場合(S45:YES)、現在参照している端末装置2の端末IDに対応するサブ画面サイズ、サブ画面位置又はアプリ画面ID、拡縮の有無に基づいて、メイン画面16からサブ画面17を生成する(ステップS46)。このとき、サーバ装置1に同一のユーザが用いる複数の端末装置2,2,…が接続されており、端末装置2,2,…毎にマウス位置を記憶している場合は、画面構成情報15からサブ画面17毎に対応するマウス位置を取得して用いる。制御部10がサブ画面生成部105として機能することにより、メイン画面16からサブ画面17を生成する処理(S46)の詳細は後述する。
制御部10は、生成したサブ画面17を、夫々に対応する端末IDの送信先アドレス・ポート情報に基づいて端末装置2へ送信し(ステップS47)、当該端末装置2に対応する送信フラグを送信済みへ更新する(ステップS48)。
制御部10は、サブ画面情報14に含まれる全ての端末装置2に対応する全サブ画面17を送信したか否かを判断し(ステップS49)、全サブ画面17を送信していないと判断した場合(S49:NO)、処理をステップS44へ戻して他の端末装置2に対応するサブ画面情報14を参照する。制御部10は全サブ画面17を送信したと判断した場合(S49:YES)、一回のタイムイベント通知に対する生成処理を終了する。
制御部10は、例えば33ミリ秒毎にタイムイベントが通知される都度、これを検知して図10のフローチャートに示した処理を実行する。
図11は、実施の形態1におけるシンクライアントシステムを構成するサーバ装置1の制御部10によるサブ画面17の生成処理手順の一例を示すフローチャートである。図10のフローチャートに示した処理手順の内のステップS46の詳細に相当する。
制御部10は、サブ画面17を生成するに際し、端末装置2毎にサブ画面情報14を参照するが、当該端末装置2のIDに対応付けて記憶されている抽出領域情報が、アプリ画面IDによりAP名を指定しているか否かを判断する(ステップS51)。制御部10は、抽出領域情報がAP名を指定していると判断した場合(S51:YES)、アプリ画面IDで指定されているAP名のAPのウィンドウで特定される領域をメイン画面16から抽出してサブ画面17を生成する指定AP抽出処理を実行し(ステップS52)、図10のフローチャートにおけるステップS47へ処理を進める。
制御部10は、抽出領域情報のアプリ画面IDによりAP名を指定していないと判断した場合(S51:NO)、サブ画面位置の抽出領域を指定しているか否かを判断する(ステップS53)。制御部10は、抽出領域情報がサブ画面位置により抽出領域を指定していると判断した場合(S53:YES)、サブ画面位置で特定される領域をメイン画面16から抽出してサブ画面17を生成する指定領域抽出処理を実行し(ステップS54)、図10のフローチャートにおけるステップS47へ処理を進める。
制御部10は、抽出領域情報がサブ画面位置により抽出領域を指定していないと判断した場合(S53:NO)、抽出領域情報がマウス周辺を指定しているか否かを判断する(ステップS55)。制御部10は抽出領域情報がマウス周辺を指定していると判断した場合(S55:YES)、メイン画面16からマウス位置周辺として特定される領域を抽出してサブ画面17を生成するマウス周辺抽出処理を実行し(ステップS56)、図10のフローチャートにおけるステップS47へ処理を進める。
制御部10は、抽出領域情報がマウス周辺を指定していないと判断した場合(S55:NO)、メイン画面16の全画面が指定されているので、全画面を抽出してサブ画面17を生成する全画面抽出処理を実行し(ステップS57)、図10のフローチャートにおけるステップS47へ処理を進める。
次に、図11のフローチャートに示したステップS52、ステップS54、ステップS56及びステップS57夫々の抽出領域情報で指定されるアプリ画面ID、サブ画面位置、マウス周辺又は全画面に応じてサブ画面17を生成する処理の詳細について説明する。
図12は、実施の形態1におけるシンクライアントシステムを構成するサーバ装置1の制御部10によるサブ画面17の生成処理手順の一例を示すフローチャートであり、図11のフローチャートに示した処理手順の内の指定AP抽出処理(ステップS52)の詳細に相当する。
制御部10は、抽出領域情報がアプリ画面IDにより指定されているAP名の表示座標を画面構成情報15から取得する(ステップS521)。制御部10は指定されているAP名の表示座標の取得に成功したか否かを判断する(ステップS522)。表示座標の取得に成功したか否かは、画面構成情報15に、指定APの表示座標がメイン画面16内に有効に相当するように記憶されているか否か等の基準によって制御部10が判断する。
制御部10は、表示座標の取得に失敗したと判断した場合(S522:NO)、そのままAP名が指定された場合のサブ画面17の生成処理を終了し、処理を図10のフローチャートにおけるステップS47へ進める。この場合、サブ画面17は抽出領域情報に基づいて生成されないので、ステップS47及びステップS48は省略してもよい。このように、指定されたAPが起動されていない場合等、指定されたAPの表示座標の取得に失敗した場合はメイン画面16をサブ画面サイズに拡縮してサブ画面17として生成するようにしてもよい。
制御部10は、表示座標の取得に成功したと判断した場合(S522:YES)、指定されているAP名のウィンドウサイズをサブ画面サイズとなるように変更し(ステップS523)、指定されているAP名のウィンドウの位置をメイン画面16上の左上隅((x,y)=(0,0))の最前面へ移動させる(ステップS524)。次に制御部10は、メイン画面16の左上隅からサブ画面サイズに画面データを抽出し(ステップS525)、抽出した画面データをサブ画面17とする。そして制御部10は、ステップS523でサイズを変更し、S524で配置を移動させたAPのウィンドウを元のサイズ、元の位置へ戻し(ステップS526)、AP名が指定された場合のサブ画面17の生成処理を終了する。この場合も、制御部10は図10のフローチャートにおけるステップS47へ処理を進める。
図13は、実施の形態1におけるシンクライアントシステムを構成するサーバ装置1の制御部10によるサブ画面17の生成処理手順の一例を示すフローチャートであり、図11のフローチャートに示した処理手順の内の指定領域抽出処理(ステップS54)の詳細に相当する。
制御部10は、抽出領域情報のサブ画面位置により特定される領域を、生成されているメイン画面16から抽出し(ステップS541)、抽出した領域の画面データを画面サイズがサブ画面サイズとなるように拡縮し(ステップS542)、拡縮後の画面データをサブ画面17とする。そして、制御部10は、領域が指定された場合のサブ画面17の生成処理を終了し、処理を図10のフローチャートにおけるステップS47へ進める。
なお、この場合、サブ画面サイズに拡縮する処理については必須ではなく、抽出した領域がサブ画面サイズよりも小さい場合は抽出した領域を左詰め、右詰め、中央配置等の指示に基づいて配置し、抽出したイメージ以外の領域を黒塗り、グレー塗り等で埋めてサブ画面17を生成してもよい。そしてこの場合、端末装置2から受信する端末能力情報にアライメントの有無を示す情報を含むように構成し、制御部10はアライメントが必要か否かを当該情報に基づいて判断するようにしてもよい。制御部10は、アライメントが必要である場合は、抽出した領域を左詰め、右詰め、中央配置等の指示に基づいて配置し、残りの領域を黒塗り、グレー塗り等で埋めてサブ画面17を生成してもよい。
図14は、実施の形態1におけるシンクライアントシステムを構成するサーバ装置1の制御部10によるサブ画面17の生成処理手順の一例を示すフローチャートであり、図11のフローチャートに示した処理手順の内のマウス周辺抽出処理(ステップS56)の詳細に相当する。
制御部10は、現在のマウス位置を画面構成・マウス位置検出部103を介して画面構成情報15を参照して取得する(ステップS561)。制御部10はマウス位置の取得に成功したか否かを判断する(ステップS562)。制御部10は、マウス位置がメイン画面16又はサブ画面17における有効範囲に存在するか否かで成功したか否かを判断してもよい。
制御部10は、マウス位置の取得に失敗したと判断した場合(S562:NO)、そのままマウス周辺が指定された場合のサブ画面17の生成処理を終了し、処理を図10のフローチャートにおけるステップS47へ進める。この場合、サブ画面17は抽出領域情報に基づいて生成されないので、ステップS47及びステップS48は省略してもよい。
制御部10は、マウス位置の取得に成功したと判断した場合(S562:YES)、メイン画面16におけるマウス位置を基準に一部を抽出する(ステップS563)。制御部10はステップS563において、メイン画面16に対し、マウス位置を中心としてサブ画面サイズの1/2、1/3等の自然数分の1のサイズに相当する部分を抽出してもよいし、サブ画面サイズに相当する部分を抽出してもよい。
次に制御部10は、ステップS563で抽出した画面データの画面サイズがサブ画面サイズとなるように拡大し(ステップS564)、拡大後の画面データをサブ画面17とする。そして制御部10は、マウス周辺が指定された場合のサブ画面17の生成処理を終了し、処理を図10のフローチャートにおけるステップS47へ進める。
制御部10はサブ画面生成部105として機能することにより、サブ画面サイズに対して余白を設けてメイン画面16から抽出した領域を貼り付けるようにしてサブ画面17を生成してもよい。更にこの場合、アライメントが必要か否かを判断し、アライメントが必要である場合は、左詰め、右詰め、中央配置等の指示に基づいて切り出されたイメージ以外の領域を黒塗り、グレー塗り等で埋めてサブ画面17を生成してもよい。
図15は、実施の形態1におけるシンクライアントシステムを構成するサーバ装置1の制御部10によるサブ画面17の生成処理手順の一例を示すフローチャートであり、図11のフローチャートに示した処理手順の内の全画面抽出処理(ステップS57)の詳細に相当する。
制御部10は、画面情報管理部102を介してサブ画面情報14を参照し、メイン画面16の全部をサブ画面サイズに拡縮する処理の必要の有無を判断する(ステップS571)。制御部10は拡縮する処理の必要無しと判断した場合(S571:NO)、メイン画面16をサブ画面17とし、全画面が指定された場合のサブ画面17の生成処理を終了し、図10のフローチャートにおけるステップS47へ処理を進める。
制御部10は、拡縮する処理の必要有りと判断した場合(S571:YES)、メイン画面16の画面サイズをサブ画面サイズに拡縮した画面データを生成してサブ画面17とし(ステップS572)、全画面が指定された場合のサブ画面17の生成処理を終了し、図10のフローチャートにおけるステップS47へ処理を進める。
図9乃至図15のフローチャートに示した処理手順をサーバ装置1の制御部10が実行することにより、端末装置2で設定されている画面サイズ(解像度)に応じてサブ画面17が生成され、夫々に送信される。複数の端末装置2,2,…が夫々で設定されている画面サイズが異なる場合であっても、図12乃至図15に示した処理が夫々実行され、異なるサブ画面17が送信される。
図16乃至図20は、実施の形態1におけるシンクライアントシステムを構成するサーバ装置1で生成されるメイン画面16及びサブ画面17の概要を示す説明図である。各説明図では、右方向に時間の経過を示し、矩形によりメイン画面16及びサブ画面17として生成される画面イメージを模式的に示している。また、各説明図中の時間軸上の時点te は、タイムイベントが通知される時点である。サーバ装置1の制御部10は、画面生成部104及びサブ画面生成部105として機能することにより、時点te が到来する都度、メイン画面16の生成及びメイン画面16からのサブ画面17の生成処理を実行する。
図16の説明図は、指定AP抽出処理が行なわれてサブ画面17が生成される場合の例を示している。図16の説明図の例では、「ドキュメント編集」AP及び「プレーヤー」APが実行されている。メイン画面16は、タイムイベントが通知される時点te で、画面構成情報15に基づいて「ドキュメント編集」APのウィンドウ(editor)が表示され、「プレーヤー」APのウィンドウ(player)は非表示となるように、制御部10によって生成されている。
これに対し、サーバ装置1の制御部10は、タイムイベントが通知される時点te でメイン画面16を生成した後、サブ画面生成部105として機能し、指定されているAP、図16の説明図の例では「プレーヤー」APのウィンドウ(player)が表示されるサブ画面17を生成する。制御部10は、サブ画面情報14を参照してアプリ画面IDを取得し、取得したアプリ画面IDで指定されているAP名のAPのウィンドウを前面に、サブ画面サイズで表示させて左上隅へ移動させる。図16の説明図中の上段中央のメイン画面16では一時的に、指定AP抽出処理を行なうため、指定されている「プレーヤー」APのウィンドウ(player)が非表示状態から表示状態とされていることが示されている。図16の説明図中の下段には、上段中央のメイン画面16から指定AP抽出処理によって生成されたサブ画面17が示されている。このように生成されたサブ画面17が、対応する端末装置2へ送信される。
また、サーバ装置1の制御部10は、サブ画面17を生成して送信した後、各ウィンドウ(画面構成要素)の配置を変更している場合は元に戻す。図16の説明図中の上段右側のメイン画面16に示すように、次にタイムイベントが通知される時点までには、画面構成情報15に基づきメイン画面16中の各ウィンドウの配置が元に戻されていることが示されている。
図17の説明図は、指定領域抽出処理が行なわれてサブ画面17が生成される場合の例を示している。図17の説明図の例では、メイン画面16は、画面構成情報15に基づいて「ドキュメント編集」APのウィンドウ(editor)が表示されるように制御部10によって生成されている。
これに対し、サーバ装置1の制御部10は、タイムイベントが通知される時点te でメイン画面16を生成した後、サブ画面生成部105として機能し、指定された領域が表示されるサブ画面17を生成する。制御部10は、サブ画面情報14を参照してサブ画面位置を取得し、取得したサブ画面位置で特定される領域を抽出する。図17の説明図中の上段中央のメイン画面16中の破線で囲まれる領域は、サブ画面位置が「左半分」である場合のメイン画面16中の指定された領域に対応する。サブ画面位置は座標で指定される場合もあるので、この場合は座標により特定される領域を抽出する。図17の説明図中の下段には、上段中央のメイン画面16から指定領域抽出処理によって生成されたサブ画面17が示されている。当該サブ画面17が対応する端末装置2へ送信される。
なお、図17の説明図中の下段のサブ画面17は夫々、端末能力情報に含まれるアライメントの有無を示す情報と、アライメントの内容、即ち左詰め又は中央配置の指示とに基づき、抽出された画面データ以外の領域を黒塗り、グレー塗り等で埋めた場合を示している。
上述のようにサブ画面位置を「左半分」、又は「右画面」のように指定することにより、マルチディスプレイに対応した端末装置2に接続される複数の表示装置3,3,…で一つの画面をなすように表示させることが可能になる。
図18の説明図は、マウス周辺抽出処理が行なわれてサブ画面17が生成される場合の例を示している。図18の説明図の例では、メイン画面16は、画面構成情報15に基づいて「ドキュメント編集」APのウィンドウ(editor)が表示されるように制御部10によって生成されている。
これに対し、サーバ装置1の制御部10は、タイムイベントが通知される時点te でメイン画面16を生成した後はサブ画面生成部105として機能し、マウス周辺が表示されるサブ画面17を生成する。制御部10は、サブ画面情報14を参照してマウス周辺が指定されている場合、画面構成情報15からマウス位置を取得し、メイン画面16からマウス位置を基準に一部を抽出してサブ画面17を生成する。この際に画面構成情報15から取得するマウス位置は、複数の端末装置2,2,…が接続されている場合には複数の端末装置2,2,…の内の、サブ画面17の送信先に対応する端末装置2からの入力信号に基づいて特定されるマウス位置であることが望ましい。図18の説明図中の上段中央のメイン画面16中の破線で囲まれる領域は、マウス周辺として指定されている領域に対応する。図18の説明図中の下段には、上段中央のメイン画面16からマウス周辺抽出処理によって生成されたサブ画面17が示されている。このように生成されたサブ画面17が、対応する端末装置2へ送信される。これにより、端末装置2に接続される表示装置3ではマウス周辺のみが表示され、表示装置3の表示パネルの解像度が低い場合であっても、適した表示が可能である。
なお、一の端末装置2を使用するユーザに、他の端末装置2を使用するユーザによる操作を示すために図18の説明図に示したようなメイン画面16中の一部のみを能動的に注目させたい場合、他の端末装置2から入力される入力信号に基づくマウス位置の周辺を抽出してサブ画面17を生成して一の端末装置2へ送信するようにしてもよい。
図19の説明図は、全画面抽出処理が行なわれてサブ画面17が生成される場合の例を示している。図19の説明図の例では、メイン画面16は、画面構成情報15に基づいて「ドキュメント編集」APのウィンドウ(editor)が表示されるように制御部10によって生成されている。
これに対し、サーバ装置1の制御部10は、タイムイベントが通知される時点te でメイン画面16を生成した後サブ画面生成部105として機能し、メイン画面16の全画面が表示されるサブ画面17を生成する。制御部10は、メイン画面16全体を抽出してサブ画面17として生成し、更にサブ画面情報14を参照してサブ画面位置が「全画面」である場合、対応する拡縮処理の有無(サブ画面拡縮)に応じて拡縮する。図19中の下段には、メイン画面16から全画面分が抽出されて生成され、画面サイズがサブ画面サイズに合致するように縮小されたサブ画面17が示されている。
図20の説明図は、複数の端末装置2,2,…が接続されている場合に、夫々に対応する抽出領域情報(サブ画面位置、アプリ画面ID)に基づいてサブ画面17を生成する場合のメイン画面16及びサブ画面17の概要を示している。各サブ画面17は、図5の説明図に示した4つの端末装置2,2,…夫々についてのサブ画面情報14が記憶されている場合に対応する。
図20の説明図の例では、「プレーヤー」APが実行されている。メイン画面16は、タイムイベントが通知される時点te で、画面構成情報15に基づいて「プレーヤー」APのウィンドウ(player)が表示されるように制御部10によって生成される。
これに対し、サーバ装置1の制御部10は、タイムイベントが通知される時点te でメイン画面16が生成された後にはサブ画面生成部105として機能し、端末ID「1」、「2」、「3」及び「4」夫々に対応付けられている、全画面(メイン画面)、サブ画面ID「1」、「2」及び「3」の抽出領域情報に基づいてサブ画面17を高速に生成し、夫々対応する端末装置2,2,2,2へ送信する。
このように、端末装置2に接続されている表示装置3の表示パネルに対応数解像度が様々であっても、各端末装置2,2,…の画面に関する性能、機能に応じた画面の表示を実現することができる。
(実施の形態2)
実施の形態1では、メイン画面16に対して一つの画面構成情報15が一時記憶領域12又は記憶部11に記憶される構成とした(図6参照)。これに対し、実施の形態2では、画面構成情報15が端末装置2毎に対応付けて記憶される構成とし、端末装置2で表示される画面の解像度等に応じて画面構成要素のレイアウト(配置)を変更してサブ画面17を生成する。
実施の形態2におけるシンクライアントシステムの構成は、端末装置2からのレイアウト変更指示の送信処理、サーバ装置1によるレイアウト変更指示の受信処理、並びに、レイアウト変更に応じたサブ画面情報14及び画面個性情報15の記憶処理以外については実施の形態1と同様である。したがって、実施の形態1と同一の符号を付して各構成部についての詳細について説明を省略し、以下に相違点であるレイアウト変更指示の送受信処理、及びサブ画面情報14の記憶処理について以下に説明する。
レイアウト変更指示は、接続要求と共に端末装置2から送信される端末能力情報に含められる。また、シンクライアントとしての動作が開始された後に、端末装置2から改めてレイアウト変更指示が送信される構成としてもよい。例えば、追加のAPを読み出させて実行させる場合に、端末装置2からAP起動要求と共に送信されるとしてもよい。
レイアウト変更指示の内容は、レイアウトの変更の有無のみを示すフラグ、又は具体的なレイアウトの指示でもよい。具体的なレイアウトの指示は画面構成情報15の各要素の内容、例えば、動作させるAPのAP名と、メイン画面16におけるAPウィンドウの表示座標と、Z−orderとを指示する情報である。
図21は、実施の形態2におけるシンクライアントシステムで、端末装置2から送信されたレイアウト変更指示を受信した場合のサーバ装置1の制御部10による処理手順の一例を示すフローチャートである。
制御部10は、通信部13により端末装置2からレイアウト変更指示を受信したか否かを判断する(ステップS61)。制御部10は、レイアウト変更指示を受信していないと判断した場合(S61:NO)、処理をステップS61へ戻す。
制御部10は、レイアウト変更指示を受信したと判断した場合(S61:YES)、画面情報管理部102として機能し、サブ画面情報14を参照し、レイアウト変更指示の送信元の端末装置2に対応する端末IDのレイアウトフラグをオンにする(ステップS62)。レイアウトフラグは例えばレイアウトIDで表現し、レイアウトIDが記憶されている端末IDの端末装置2へ送信するサブ画面17を生成する際には、レイアウトを変更する。
制御部10は、レイアウト変更指示の送信元の端末装置2に対応するレイアウトを示す画面構成情報15を記憶し(ステップS63)、処理を終了する。なお、レイアウト変更指示には、各APのアプリ画面ID、AP名とそのウィンドウが占めるメイン画面16上の表示座標及びZ−orderが含まれている。制御部10はレイアウト変更指示に基づいて画面構成情報15を作成してもよいし、メイン画面の画面構成情報15を複製してもよい。また、予め端末装置2毎に画面構成情報15を記憶しておき、レイアウト変更指示を受信した場合に、端末装置2に対応する画面構成情報15を記憶してレイアウトフラグ及びレイアウトIDによってサブ画面情報14を対応付ける構成としてもよい。
図22は、実施の形態2におけるサーバ装置1で、レイアウト変更指示を受信した場合に記憶されるサブ画面情報14の内容例を示す説明図である。図22の説明図に示すように、実施の形態1に示したサブ画面情報14(図5参照)に対して、「レイアウトID」が対応付けられている。「レイアウトID」が対応付けられていない場合(図22中における「−」)、レイアウト変更の必要がないのでメイン画面16の画面構成情報15に基づくレイアウトでサブ画面17を生成することを示している。
図22の説明図に示した内容例では、端末ID「3」の端末装置2については「レイアウトID」が「1」に対応する画面構成情報15に基づいてメイン画面16上のレイアウトを変更してからサブ画面17を生成して送信することを示している。
図23は、実施の形態2におけるサーバ装置1で、レイアウト変更指示を受信した場合に記憶される画面構成情報15の内容例を示す説明図である。図23の説明図に示すように、実施の形態1に示したメイン画面16の画面構成情報15(図6参照)に加えて、サブ画面17を生成するための画面構成情報15がレイアウトIDと対応付けられて記憶される。
図23の説明図に示す例では、レイアウトID「0」が対応付けられているメイン画面16の画面構成情報15と、レイアウトID「1」が対応付けられているサブ画面17を生成するための画面構成情報15とが含まれる。レイアウトID「1」が対応付けられている画面構成情報15は、画面構成情報15に含まれる画面構成要素についてはメイン画面16の画面構成情報15と内容が一致している。つまり、起動されているべきAPは同じであるが、各APのウィンドウの表示座標、Z−order及び表示状態が異なる。そして、レイアウトID「1」の画面構成情報15は各APのウィンドウがサブ画面サイズで特定される領域内に含まれるように、表示座標が変更され、且つ対応する端末装置2で操作の対象となっているAPがより前面に表示されるように構成されている。マウス位置も、サブ画面サイズに対応する領域内に含まれるように変換される。
次に、図22及び図23の説明図に示したように、送信先の端末装置2に応じてメイン画面16における画面構成要素のレイアウトを変更してサブ画面17を生成する場合の、サーバ装置1の制御部10による処理について説明する。
図24は、実施の形態2におけるシンクライアントシステムを構成するサーバ装置1の制御部10によるメイン画面16及びサブ画面17の生成処理手順の一例を示すフローチャートである。なお、図24のフローチャートに示す各処理手順の内、実施の形態1における図10のフローチャートに示した処理手順と共通する処理手順については、同一のステップ番号を付して詳細な説明を省略する。
制御部10は、サブ画面情報14を参照して端末装置2毎にサブ画面17を生成して送信するに際し、送信フラグが未送信を示している場合(S45:YES)、レイアウトフラグがオンか否かにより、レイアウトを変更すべきか否かを判断する(ステップS71)。
制御部10は、レイアウトを変更すべきと判断した場合(S71:YES)、レイアウトフラグ即ちレイアウトIDに対応する画面構成情報15を参照し(ステップS72)、参照した画面構成情報15に基づいてメイン画面16のレイアウトを変更し(ステップS73)、処理をステップS46へ進める。制御部10は、レイアウトを変更しないと判断した場合(S71:NO)、処理をステップS46へ進める。
なお、制御部10がステップS73でレイアウトを変更するに際し、レイアウトIDに対応する画面構成情報15に、メイン画面の画面構成情報15に含まれるAPと異なるAPのアプリ画面ID、AP名が含まれる場合がある。即ち、新たなAPの起動が必要な場合がある。この場合、制御部10はメイン画面16の画面構成情報15に新たなAPを追加して、メイン画面16の画面構成情報15では「非表示状態」となるように記憶する。なお、サブ画面17の画面構成情報15から、対応するAP名を削除するようにしてもよい。逆に、メイン画面の画面構成情報15に、レイアウトIDに対応する画面構成情報15に含まれるAPと異なるAPのアプリ画面ID、AP名が含まれる場合がある。この場合、制御部10はサブ画面17を生成するためのレイアウトIDに対応する画面構成情報15に当該異なるAPを追加し、サブ画面17に新たにAPを表示するようにする。なお、APを追加しても「非表示状態」としてサブ画面17の構成を見かけ上、変化させないようにしてもよい。
次に制御部10は、メイン画面16のレイアウトを変更した場合には変更後のメイン画面16からサブ画面情報14に示される抽出領域情報に基づいてサブ画面17を抽出して生成する処理を行ない(S46)、サブ画面を送信後(S47)、レイアウトを元に戻す(ステップS74)。その後、送信フラグを送信済みへ更新し(S48)、全サブ画面を送信したか否かの判断処理(S49)へ処理を進める。
図25は、実施の形態2におけるシンクライアントシステムを構成するサーバ装置1で生成されるメイン画面16及びサブ画面17の概要を示す説明図である。図25の説明図に示す例は、図22の説明図におけるサブ画面情報14の内容例に対応し、処理結果が共有されるべき4つの端末装置2,2,…へサブ画面17を送信するために生成されるメイン画面16及びサブ画面17の内容例を示している。
図25の説明図の例では、「プレーヤー」AP及び「メーラ」APが実行されている。メイン画面16は、タイムイベントが通知される時点te で、レイアウトID「0」の画面構成情報15に基づいて「プレーヤー」APのウィンドウ(player)が表示されるように制御部10によって生成される。
これに対し、サーバ装置1の制御部10は、メイン画面16を生成した後にサブ画面生成部105として機能し、メイン画面16全体を抽出してサブ画面17とし、更に縮小して端末ID「1」の端末装置2へ送信する。
また、制御部10は、サブ画面生成部105として機能し、端末ID「3」に対応する端末装置2へ送信するサブ画面17を生成するに際しては、サブ画面情報14の端末ID「3」に対応するレイアウトフラグが「1」であることからレイアウトフラグ「1」の画面構成情報15に基づいてメイン画面16のレイアウトを変更する。したがって、図25の説明図中の上段右から3番目の矩形で示すメイン画面16は、「プレーヤー」APのウィンドウ(player)のみならず、「メーラ」APのウィンドウ(mailer)が、サブ画面サイズに収まって表示されるようにレイアウトが変更されて生成されていることを示している。サーバ装置1の制御部10は、レイアウト変更後のメイン画面16からサブ画面情報14の抽出領域情報(サブ画面位置)に基づいて画面データを抽出してサブ画面17とする。図25の下段右から3番目の矩形で示すサブ画面17は、「プレーヤー」APのウィンドウ(player)及び「メーラ」APのウィンドウ(mailer)がサブ画面サイズ内に表示されるように生成されていることを示している。
制御部10は、端末ID「3」の端末装置2へ、レイアウトを変更して生成したサブ画面17を送信した後は、レイアウトID「0」の画面構成情報15を参照し、変更したレイアウトを元に戻す。そして、制御部10は、他の端末装置2に対応するサブ画面17の生成処理及び送信処理を実行する。図25の説明図中の上段右から2番目の矩形で示すメイン画面16は、制御部10によってレイアウトが元に戻された後のメイン画面16を示している。
このように、メイン画面16を一時的に変更するので、メイン画面16から抽出する領域が異なるサブ画面17を端末装置2,2,…へ夫々送信するのみならず、端末装置2毎に表示する内容(AP)も異なるサブ画面17を生成して送信することが可能である。これにより、端末装置2の性能、機能に応じた異なるレイアウトの画面を端末装置2における表示装置3で表示させることができる。
また、制御部10は、メイン画面16自体のレイアウトを変更してサブ画面17を生成する。したがって、メイン画面16を高速に変更することで、特定の構成要素を表示する領域を消去する、黒塗りなどで上書きする等の処理なしに簡易な構成で、ある端末装置2では表示させたくないようなAPを非表示状態とした画面を端末装置2における表示装置3で表示させることが可能になる。
(実施の形態3)
実施の形態3では、実施の形態1又は2に示した構成によって端末装置2へサブ画面17が送信され、端末装置2がシンクライアントとして動作している場合、一の端末装置2に接続される表示装置3が2台に増加し、設定されている解像度が変化したときの処理について説明する。
図26は、実施の形態3におけるシンクライアントシステムの構成の概要を示す模式図である。実施の形態3におけるシンクライアントシステムは、サーバ装置1と、端末装置2と、ネットワークNとを含んで構成されるが、端末装置2には表示装置3のみならず表示装置3bが接続されている。
図26の説明図に示すように、表示装置3及び表示装置3bが2台横に並べて設置されて夫々端末装置2に接続された場合、表示できる画面サイズは右(左)へ2倍に拡張される。このように、2台の表示装置3及び表示装置3bを利用することができることから、実施の形態3におけるシンクライアントシステムを構成するサーバ装置1は、メイン画面16を横に2倍に拡張し、拡張後のメイン画面16に基づいてサブ画面17を端末装置2へ送信するようにする。これに対し、表示装置3及び表示装置3bが接続されている端末装置2は、拡張後のメイン画面16全体を抽出したサブ画面17を受信した場合、サブ画面17を右半分の領域の画面及び左半分の領域の画面に分け、夫々を表示装置3及び表示装置3bへ出力して表示させる。これにより、大きな画面での表示が可能になる。
上述のように、一の端末装置2で設定されている解像度が変化した場合に、サーバ装置1の制御部10が変化後の解像度に応じて画面を生成する処理について説明する。実施の形態3におけるシンクライアントシステムの構成は、端末装置2が複数の表示装置3,3b,…夫々に対応する画面出力部25を複数備え、制御部20が複数の画面出力部25を動作させること、表示装置3bが新たに端末装置2に接続された場合のサーバ装置1の制御部10による処理以外については実施の形態1における構成と同様である。したがって、共通する構成には実施の形態1と同一の符号を付して各構成部の詳細についての説明を省略する。
図27は、実施の形態3におけるシンクライアントシステムを構成するサーバ装置1及び端末装置2の内部構成を示すブロック図である。
端末装置2には、表示装置3及び表示装置3bが接続されている。端末装置2は画面出力部25を複数備え、制御部20は夫々の画面出力部25を区別することが可能である。制御部20は、通信部23により受信したサブ画面17に基づき左半分の領域の画面及び右半分の領域の画面に分け、夫々を画面出力部25,25により表示装置3、表示装置3bへ出力する。
次に、表示装置3bが新たに端末装置2に接続された場合の端末装置2の制御部20による処理について説明する。
新たに表示装置3bが接続されて、端末装置2が再起動された場合、図7のフローチャートに示した処理手順により、端末能力情報及び選択したAP名、接続要求がサーバ装置1へ送信される。このとき制御部20は端末能力通知部202としての機能により、端末能力情報に、表示装置3bが接続されたことに伴なって表示装置が追加されたことを示す情報、及び上下左右いずれの位置に追加されたかを示す情報を含める。なお、このときの端末能力情報には単に2倍の想定メイン画面サイズが含められる構成とし、サーバ装置1の制御部10が、新たに受信した端末能力情報に含まれる想定メイン画面サイズが、決定済みの想定メイン画面サイズよりも大きい場合に表示装置が追加されたと判断するようにしてもよい。
図28は、実施の形態3におけるシンクライアントシステムで、端末装置2で新たに表示装置3bが接続されたことにより送信される端末能力情報を受信した場合のサーバ装置1の制御部10による処理手順の一例を示すフローチャートである。なお、図28のフローチャートに示す処理手順の内、実施の形態1における図8のフローチャートに示した処理手順と共通する処理手順については、同一のステップ番号を付して詳細な説明を省略する。
制御部10は、ステップS23においてメイン画面サイズを決定済みであると判断した場合(S23:YES)、受信した端末能力情報に、表示装置が追加されたことを示す情報が含まれているか否かにより、メイン画面サイズを変更するか否かを判断する(ステップS81)。このとき、上述のように取得した想定メイン画面サイズが決定済みの想定メイン画面サイズよりも大きいか否かにより、メイン画面サイズを変更するか否かを判断してもよい。
制御部10は、メイン画面サイズを変更しないと判断した場合(S81:NO)、処理をステップS26に進める。
制御部10は、メイン画面サイズを変更すると判断した場合(S81:YES)、変更が可能であるか否かを判断する(ステップS82)。このとき制御部10は、実行しているOSが変更後のメイン画面サイズに対応していない等の条件により変更の可否を判断する。制御部10は、変更が不可能であると判断した場合(S82:NO)、処理をステップS21へ戻す。この場合、端末装置2では追加された表示装置3bを使用した表示はできず、表示装置3又は表示装置3bのいずれか一方のみでの表示となる。
制御部10は、変更が可能であると判断した場合(S82:YES)、メイン画面サイズを含むサブ画面情報14を、表示装置3bが追加されたことに応じて更新する(ステップS83)。そして制御部10は、変更後のメイン画面サイズをOSに対して設定し(ステップS84)、処理をステップS26へ進める。
ステップS83で、メイン画面サイズを含むサブ画面情報14を更新する際には、例えば変更前のメイン画面サイズにおいてサブ画面17の抽出領域情報が全画面表示を示している場合、メイン画面サイズが右に拡張されたので抽出領域情報を「左半分」と変更するなどの更新も行なう。
例えば、実施の形態1における図5の説明図に示したサブ画面情報14の内容例に対して、メイン画面サイズが右に2倍に拡張される場合、以下のように内容が変更される。
まず、メイン画面サイズが「1280×1024」から「2560×1024」へ変更される。そして、端末ID「1」に対応付けられている抽出領域情報のサブ画面位置は、メイン画面サイズが変更されることに伴ない「全画面」から「左半分」へ変更される。なお、表示装置3bが新たに接続された端末装置2が端末ID「1」に対応する端末装置2である場合は、サブ画面サイズが「2560×1024」へ変更されて端末ID「1」のサブ画面位置は「全画面」のままとなる。
また、端末ID「2」に対応付けられている抽出領域情報のサブ画面位置も、メイン画面サイズが変更されるのに伴ない「左半分」から「左1/4」又は「(0,0),(640,1024)」へ変更される。また、メイン画面サイズが拡張されることに伴ない、画面構成情報15も必要に応じて更新される。例えば、図6の説明図に示した画面構成情報15の内容例に対して、メイン画面サイズが右に2倍に拡張される場合、アプリID「2」の「ドキュメント編集」APのウィンドウの表示座標は変化しないものの、表示状態は「最大化」とはせず「通常表示」としてもよい。
なお、端末装置2に表示装置3及び表示装置3bが接続されており、いずれも使用される状態から、表示装置3のみが使用される状態へ変化し、端末装置2で設定されている解像度が縮小された場合も、端末装置2の制御部20及びサーバ装置1の制御部10は同様の処理を行なう。具体的には、サーバ装置1の制御部10は、メイン画面サイズを「2560×1024」から「1280×1024」へ変更する処理を行ない、メイン画面サイズを含むサブ画面情報14及び画面構成情報15を更新する。
サーバ装置1の制御部10は、更新後のサブ画面情報14及び画面構成情報15に基づき、実施の形態1におけるサブ画面情報14及び画面構成情報15に基づく画面構成更新処理及びメイン画面16、サブ画面生成処理と同様の処理を行なう(図9から図20まで参照)。詳細な説明については省略する。
実施の形態3に示したようにサーバ装置1は、複数の表示装置3,3b,…を使用する端末装置2が接続される場合であっても、その表示能力に応じてシンクライアントとして動作するための画面を端末装置2に表示させることが可能である。2台のみならず例えば、4台の表示装置3,3,…を使用する端末装置2には、制御部20はメイン画面16を4つの矩形領域(左上1/4、右上1/4、左下1/4、右下1/4)に分け、夫々の領域を拡大するなどして端末装置2へ送信する構成としてもよい。
なお、実施の形態3では、複数の表示装置3,3b,…で画面を表示させるに際し、1台の端末装置2に表示装置3,3bが接続される構成とした。しかしながら、本発明はこれに限らず、複数の端末装置2,2に接続される表示装置3,3夫々で、例えばメイン画面16の左半分と右半分とを表示させる構成としてもよい。この場合2台目の端末装置2の制御部20は、サーバ装置1に接続して送信する端末能力情報に、他の端末装置2に対して「右に追加」されたことを示す情報を含める。この際に、対応する他の1台目の端末装置2を識別する情報(端末ID等)が含められることにより、サーバ装置1の制御部10が当該2台目の端末装置2へ送信すべきサブ画面17のサブ画面情報14を、他の端末装置2のサブ画面情報14に対して右半分の画面に相当するように作成して記憶する。以後サーバ装置1の制御部10は、実施の形態1及び2に示した処理同様に、1台目の端末装置2と2台目の端末装置2との夫々へサブ画面17を送信する。このような構成とすることにより、1台目の端末装置2と2台目の端末装置2とでは夫々、画面を分割する処理を行なうことなしに受信した画面を表示装置3へ出力するのみで、2台の表示装置3,3で連続する画面を表示させることが可能である。
(実施の形態4)
実施の形態1乃至3では、生成して送信するサブ画面17の画面データは、例えばビットマップデータである構成とした。これに対し、実施の形態4では、制御部10が画面構成・マウス位置検出部103によってOSを介して発行されるGUIに関する描画コマンドをそのまま画面データ(サブ画面17)として端末装置2へ送信する。描画コマンドは、実行される各APに対応付けてGUIに関するイベントの内容、座標情報を含む。イベントの内容は例えば、APのウィンドウの生成(CREATE)、APのウィンドウの消去(DESTROY)、APのウィンドウの位置の移動(MOVE)、APのウィンドウの大きさの変更(RESIZE)等を示し、夫々に応じて描画コマンドに含まれる座標情報は変更後のウィンドウサイズ、移動後のウィンドウの位置を示す。
実施の形態4におけるシンクライアントシステムのハードウェア構成は、実施の形態1乃至3と同様であるが、サーバ装置用プログラム1P及び端末装置用プログラム2Pの詳細が異なる。したがって、サーバ装置1の制御部10により実現される機能及び端末装置2の制御部20により実現される機能が一部異なる。そこで、描画コマンドを画面データとして送信するためのサーバ装置1の制御部10及び端末装置2の制御部20の機能、並びに、制御部10及び制御部20による処理手順について、実施の形態1と共通する部分については同一の符号を付して以下に説明する。
図29は、実施の形態4におけるシンクライアントシステムを構成するサーバ装置1及び端末装置2の機能ブロック図である。
サーバ装置1の制御部10は、サーバ装置用プログラム1Pを読み出して実行することにより、端末能力判定部101、画面情報管理部102、画面構成・マウス位置検出部103及びサブ画面生成部105として機能し、各機能により記憶部11又は一時記憶領域12にサブ画面情報14及び画面構成情報15を記憶して使用する。制御部10は更に、画面描画コマンド監視部106として機能する。
制御部10の端末能力判定部101としての機能及び画面構成・マウス位置検出部103としての機能については実施の形態1と同様である。制御部10は、画面情報管理部102として機能することにより、端末能力情報に画面データのコマンドによる送信を要求することを示す情報が含まれているか否かを判断する。制御部10は、画面情報管理部102として機能することにより、対応する端末装置2のサブ画面情報14に、コマンドによってサブ画面17を送信すべきことを示すコマンドフラグを対応付けて記憶する。
制御部10は、画面描画コマンド監視部106として機能することにより、マウス位置のみならず、上述のようにOSを介して発行される描画コマンドを検知し、全てをサブ画面生成部105を介してサブ画面17として通信部13により対応する端末装置2へ送信する。
制御部10は、全描画コマンドを通信部13により送信するに際し、サブ画面生成部105として機能することにより、サブ画面生成時に必要なレイアウト変更等によって発行された描画コマンドも含め、全て端末装置2へ送信する。
また、制御部10は、1秒間に30画面(29.97画面)のレートで画面を生成する場合、サブ画面生成部105として機能することによってOSを介してタイムイベントを約33ミリ秒毎に発生させる。制御部10は、サブ画面生成部105として機能することにより、タイムイベントが発生されたことを検知して対応する端末装置2のサブ画面17を生成するタイミングになった時点で、画面を表示すべきことを示す表示コマンドを通信部13により端末装置2へ送信する。
端末装置2の制御部20は、設定受付部201及び端末能力通知部202として機能するほか、更に仮想画面生成部203として機能し、一時記憶領域22に仮想画面221を生成して記憶する。
制御部20の設定受付部201及び端末能力通知部202としての機能は、実施の形態1と同様である。ただし、実施の形態4における端末装置2の制御部20は端末能力通知部202として機能し、接続要求及び端末能力情報を送信する場合、端末能力情報に、画面データのコマンドによる送信を要求することを示す情報(コマンドフラグ)を含めて送信する。その他の端末能力情報に含める情報は、実施の形態1乃至3と同様である。
制御部20は仮想画面生成部203として機能することにより、サーバ装置1から送信された全描画コマンドに基づき仮想画面221を生成して一時記憶領域22に記憶する。なお、描画コマンドにより画面データを受信する端末装置2は、一時記憶領域22とは別に、仮想画面221を保持するためのVRAM(Video Random Access Memory)を備える構成としてもよい。また、制御部20は、仮想画面生成部203として機能することにより、サーバ装置1から表示コマンドを受信した場合、一時記憶領域22(又はVRAM)に記憶されている仮想画面221から表示装置3に対応して設定されている画面サイズ(解像度)に抽出する処理、抽出した画面を画面出力部25により表示装置3へ出力する処理を行なう。即ち、制御部20は、画面出力部25により表示装置3のVRAMへ、抽出した画面を移動する。これにより、サブ画面17が表示装置3で表示される。
まず、サーバ装置1の制御部10により描画コマンド及び表示コマンドを送信する際の処理について説明する。
サーバ装置1の制御部10は、上述のように描画コマンドがOSを介して発行される都度、コマンドフラグが対応付けられている端末IDの端末装置2へ全描画コマンドを送信する。一方、表示コマンドについては、制御部10は以下に示す処理手順で送信する。図30は、実施の形態4におけるシンクライアントシステムを構成するサーバ装置1の制御部10によるサブ画面17の生成及び送信の処理手順の一例を示すフローチャートである。なお、図30のフローチャートに示す処理手順の内、実施の形態2における図24のフローチャートに示した処理手順と共通する処理手順については、同一のステップ番号を付して詳細な説明を省略する。
制御部10は、画面構成・マウス位置検出部103を介して画面構成情報15を参照し(S72)、レイアウトを変更した後(S73)、画面情報管理部102として機能することにより、サブ画面情報14に、対象となる端末装置2に対応付けてコマンドフラグがオンで記憶されているか否かを判断する(ステップS91)。制御部10は、コマンドフラグがオフであると判断した場合(S91:NO)、処理をステップS46へ進めて画面データをビットマップデータ等で送信する処理を行なう。
制御部10は、コマンドフラグがオンで記憶されていると判断した場合(S91:YES)、表示コマンドを通信部13により対応する端末装置2へ送信し(ステップS92)、処理をステップS74へ戻してレイアウトを必要に応じて戻す。
なお、図30のフローチャートに示した処理手順では、サブ画面情報14の対応する端末装置2にレイアウトフラグがオンで対応付けて記憶されている場合にコマンドで画面データを送信する例を示した。しかしながら、レイアウトを変更しない場合であっても描画コマンドによって画面データを送信する構成としてもよい。この場合、コマンドフラグがオンの端末装置2へ全描画コマンドを送信しておき、ステップS71で、レイアウトを変更しないと判断したときでも(S71:NO)、ステップS91へ進めてコマンドフラグがオンか否かを判断し、コマンドフラグがオンの場合には表示コマンドを送信し(S92)、送信フラグを送信済みへ更新し(S48)、全サブ画面17を送信したか否かを判断する(S49)構成としてもよい。
次に、このように送信される描画コマンド及び表示コマンドを受信した端末装置2の制御部20による、仮想画面生成処理及び画面出力処理について説明する。図31は、実施の形態4におけるシンクライアントシステムを構成する端末装置2の制御部20による画面生成処理及び画面出力処理の処理手順の一例を示すフローチャートである。
制御部20は、仮想画面生成部203として機能することにより、通信部23を介して描画コマンド又は表示コマンドを受信したか否かを判断する(ステップS101)。制御部20はいずれのコマンドも受信していないと判断した場合(S101:NO)、処理をステップS101へ戻していずれかのコマンドを受信するまで待機する。
制御部20は、描画コマンド又は表示コマンドを受信したと判断した場合(S101:YES)、受信したコマンドが描画コマンドであったか否かを判断する(ステップS102)。制御部20は、受信したコマンドが描画コマンドであったと判断した場合(S102:YES)、受信した描画コマンドに基づいて仮想画面221を生成し(ステップS103)、処理をステップS101へ戻し、次の描画コマンド又は表示コマンドを受信するまで待機する。制御部20はサーバ装置1から送信される全描画コマンドを受信して生成しているので、ステップS103の処理に生成される仮想画面221は、サーバ装置1が生成しているメイン画面16と同じ画面となる。
制御部20は受信したコマンドが描画コマンドでないと判断した場合(S102:NO)、受信したコマンドは表示コマンドであるので、一時記憶領域22に仮想画面221が生成済みであるか否かを判断する(ステップS104)。制御部20は、一時記憶領域22に仮想画面221が生成済みでない場合(S104:NO)、出力できる画面がないので処理をステップS101へ戻して描画コマンド又は表示コマンドを受信するまで待機する。
制御部20は、一時記憶領域22に仮想画面221が生成済みであると判断した場合(S104:YES)、一時記憶領域22上の仮想画面221を表示装置3のVRAMへ移動することによって表示装置3へ仮想画面221を出力し(ステップS105)、画面生成処理及び画面出力処理を終了する。
これにより、端末装置2の能力に応じた画面の表示を実現することができる上、更に、サーバ装置1から端末装置2へ送信するデータ量を削減することができる。
なお、実施の形態4におけるシンクライアントシステムを構成する端末装置2が複数である場合、端末装置2,2,…へ送信されるサブ画面17は、実施の形態1乃至3に示したようにビットマップデータ等の画面データである場合と、上述のように描画コマンド及び表示コマンドである場合とが、端末装置2によって混在している構成としてもよい。
また、実施の形態4では全ての描画コマンドが端末装置2へ送信される構成とした。しかしながら、サーバ装置1の能力に余裕がある場合、制御部10は画面情報管理部102及び画面構成・マウス位置検出部103によりサブ画面情報14及び画面構成情報15を参照し、各端末装置2毎に必要な描画コマンドを抽出して送信する構成としてもよい。更に、制御部10は、描画コマンドに含まれる座標情報を、端末装置2の端末能力情報に合わせて適宜変更するようにしてもよい。例えば、APのウィンドウの大きさを変更する描画コマンド(RESIZE)が発行された際に、端末装置2についてのサブ画面位置で特定される領域を超える範囲のサイズに変更された場合、一の端末装置2に対応するサブ画面17としてはサブ画面17内に収まるサイズへ変更されたように座標情報を変更してもよい。マウス位置を変更する描画コマンド(MOUSE MOVE)が発行された際に、サブ画面位置に相当する領域を超える範囲にマウス位置が存在している場合、サブ画面17内に存在するように座標情報を変更してから端末装置2へ送信するようにしてもよい。これにより更に、サーバ装置1から端末装置2へ送信するデータ量を削減することができる。この場合、サーバ装置1から表示コマンドを送信する処理が不要になり、端末装置2の制御部20は受信した描画コマンドに基づいて直接VRAMに描画するのみでよい。
(実施の形態5)
実施の形態5では、本発明に係る情報処理装置を、情報処理教育システムに適用した場合を例に挙げて説明する。
図32は、実施の形態5における情報処理教育システムの構成の概要を示す模式図である。情報処理教育システムは、サーバ装置4と複数の端末装置5,5,…とを含み、サーバ装置4と各端末装置5,5,…とはLAN等のネットワークNを介して接続されている。サーバ装置4はインターネット等の外部ネットワークと接続されていてもよい。
実施の形態5における情報処理教育システムでは、端末装置5はパーソナルコンピュータ装置で構成される。サーバ装置4は、本発明に係る情報処理装置が適用され、特定の端末装置5からリモートコントロール可能なコンピュータ装置である。実施の形態5では、一のサーバ装置4が論理的に複数の情報処理装置として動作するための仮想化環境は必ずしも必要ない。端末装置5からの処理要求に応じて処理を実行するように構成されていればよく、各端末装置5,5,…は夫々の記憶部51に記憶してある各APを適宜読み出して実行し、実行結果として得られるデータを記憶部51に記憶するように構成されている。
教師及び複数の生徒が夫々に割り当てられた端末装置5,5,…を使用する。教師が使用する端末装置5は特定の端末装置5である。なお、教師はサーバ装置4に直接的に、表示装置56及び入出力インタフェースデバイスを接続して使用してもよい。即ち、教師が使用する特定の端末装置5がサーバ装置4として動作するように構成されてもよい。
情報処理教育システムは、例えば、インターネット等を介した情報収集、各アプリケーションソフトウェアの使用、プログラミング等の情報処理をコンピュータを用いて行なうことを実演しながら行なう授業に用いられる。情報処理教育システムで用いられる場合、教師が使用する特定の端末装置5によって表示される画面を、生徒が使用する端末装置5が備える表示装置56の画面にも表示させることにより、操作方法、コード例等を具体的に示すことが可能になる。
つまり、実施の形態5における情報処理教育システムでは、教師が使用する端末装置5における操作に応じた画面の構成を、生徒が使用する端末装置5で表示される画面に共有させる。これにより、生徒は実践的な操作方法の学習、プログラミング等の学習が可能になる。
サーバ装置4は各端末装置5からの画面の共有開始を要求する接続要求をネットワークNを介して受け付ける。接続要求は、画面共有を行なうためのログイン処理に応じて、端末装置5からログイン名、パスワード等のログイン情報である。サーバ装置4はログイン情報を参照して、画面共有を許可するか否かを判断し、許可された端末装置5へサブ画面17を送信するようにしてもよい。また、サーバ装置4の制御部40はログイン情報の内容に応じて、どのような内容の画面を送信するかを予め対応付けておくようにしてもよい。これにより、例えば教師がログイン操作をしたことによって送信されるログイン情報を受信した場合、サーバ装置4は、当該ログイン情報の送信元の端末装置5を特定の端末装置5として認識し、当該特定の端末装置5からの処理要求に応じて処理を実行し、メイン画面16として生成した画面データを当該特定の端末装置5へ送信する。教師以外がログイン操作をしたことによって送信されるログイン情報を受信した場合、サーバ装置4は、当該ログイン情報の送信元の端末装置5へはメイン画面16から生成したサブ画面17を送信する。これによって、各端末装置5,5,…に応じた画面構成での画面の共有を実現することが可能となる。
図33は、実施の形態5における情報処理教育システムを構成するサーバ装置4及び端末装置5の内部構成を示すブロック図である。
サーバ装置4は、各構成部を制御するCPUを利用した制御部40と、ハードディスクを利用した記憶部41と、DRAM、SRAM等の揮発性メモリを利用した一時記憶領域42と、ネットワークカードを利用した通信部43とを備える。
制御部40は、記憶部41に記憶されているサーバ装置用プログラム4Pを一時記憶領域42に読み出して実行することにより、サーバ装置4としての動作を実現する。記憶部41には、サーバ装置用プログラム4Pが記憶されている。
一時記憶領域42には、制御部40の処理によって発生する各種情報が記憶されると共に、生成される画面の画面データが記憶される。
通信部43は、ネットワークNを介したデータ通信を実現する。制御部40は通信部43により、端末装置5からの接続要求、処理要求、入力信号等を受信し、処理結果、生成した画面データを送信する。
端末装置5は、各構成部を制御するCPUを利用した制御部50と、ハードディスク等を利用した記憶部51と、DRAM、SRAM等のメモリを利用した一時記憶領域52と、ネットワークカードを利用した通信部53と、端末装置5の操作に係るインタフェースデバイスからの信号を受け付ける操作部54と、画面を表示装置56へ出力する画面出力部55と、液晶パネルを利用した表示装置56とを備える。
記憶部51には、端末装置用プログラム5Pが記憶されている。制御部50は、記憶部51から端末装置用プログラム5Pを一時記憶領域52に読み出して実行することにより、端末装置5としての動作を実現する。具体的には、端末能力情報の取得、取得した端末能力情報の通信部53による送信、操作部54を介して検知した入力信号の送信、及び、通信部53を介して受信した画面データに基づく画面出力部55による画面出力制御を行なう。
記憶部51には、上述のように端末装置用プログラム5Pが記憶されているほか、制御部50による各APの実行結果である各種情報が記憶される。
一時記憶領域52には、上述のように端末装置用プログラム5Pが読み出されるほか、制御部50が実行する処理によって発生する各種情報が一時的に記憶される。
通信部53は、サーバ装置4からの画面データの受信、端末装置5からの端末能力情報の送信及び後述の入力信号の送信を実現する。
操作部54は、リモートコントローラ(以下リモコンという)、電源ボタン、キーボード、マウス、スピーカ等のインタフェースデバイスと接続されており、各インタフェースデバイスとの間で信号を送受信する。制御部50は、操作部54を介して受信するインタフェースデバイスからの入力信号を通信部53によりサーバ装置4へ送信する。
なお、端末装置5によっては、制御部50は操作部54を介して受信した入力信号を送信しない構成としてもよい。つまり、教師が使用する端末装置5からは、入力信号が送信されるが、生徒が使用する端末装置5からは入力信号が送信されず、生徒が使用する端末装置5は、サーバ装置4から送信される画面データに基づいて表示装置56で表示される画面のみ閲覧が可能な端末装置5として動作する。
このように、実施の形態5における情報処理教育システムを構成するサーバ装置4及び端末装置5の夫々の構成は、実施の形態1乃至4におけるシンクライアントシステムのサーバ装置1及び端末装置5の構成とは、主に仮想化技術の点で異なる。しかしながら、サーバ装置4の制御部40がサーバ装置用プログラム4Pを読み出して実行することによって実現する、端末能力判定部101、画面情報管理部102、画面構成・マウス位置検出部103、画面生成部104又は画面描画コマンド監視部106、及びサブ画面生成部105としての機能は、実施の形態1乃至4における機能と同様である。また、端末装置5の制御部50が端末装置用プログラム5Pを読み出して実行することによって実現する、設定受付部201及び端末能力通知部202、又は仮想画面生成部203としての機能についても、実施の形態1乃至4における機能と同様である。
端末装置5の制御部50は、操作部5によりログイン情報を受け付けた場合、ログイン情報を接続要求として送信する。このとき、教師が使用する端末装置5では、制御部50の設定受付部201の機能により、起動するAPの選択を受け付けるようにし、生徒が使用する端末装置5でも、制御部50の設定受付部201の機能により、表示するAPの選択を受け付けるようにしてもよい。なお、教師が使用する端末装置5、生徒が使用する端末装置5夫々で表示されるAPについては、教師及び生徒のログイン情報に応じて、予め設定され、実施の形態2におけるレイアウトIDと対応付けられて生徒によって異なるレイアウトで画面が表示されるようにしてもよい。そして制御部50は端末能力通知部202として機能することにより、接続要求と共に、想定メイン画面サイズ、サブ画面サイズ等を含む端末能力情報を送信する。
サーバ装置4の制御部40は、ログイン操作が行なわれた端末装置5から送信される接続要求及び端末能力情報を受信し、夫々の端末装置5に応じてサブ画面情報14を記憶する。その後は、教師が使用する端末装置5から送信される入力信号に基づき更新されるマウス位置を含む画面構成情報15に基づき、タイムイベントが発生したことを検知する都度、画面生成部104によってメイン画面16が生成され、生成されたメイン画面16から各端末装置5に適したサブ画面17が生成されて端末装置5,5,…へ送信される。サーバ装置4の制御部40は、受け付ける入力信号の送信元を、教師が使用する端末装置5から他の端末装置5へと変更してもよい。
端末装置5の制御部50が、サーバ装置4から夫々に送信されたサブ画面17に基づいて画面出力部55を介して表示装置56で画面を表示させることにより、画面の共有が実現される。
各構成部として機能することによる処理の詳細な説明は、実施の形態1乃至4における説明と重複するので省略するが、各処理によって教師が使用する端末装置5における操作に応じて実行された処理に基づいてメイン画面16が生成され、生徒が使用する各端末装置5,5,…の表示装置56でメイン画面16の一部又は全部共有しつつ、且つ設定されている解像度(画面サイズ)、画面構成要素に応じて生成された画面を表示させることが可能となる。
なお、実施の形態5における情報処理教育システムでは、教師が使用する端末装置5における操作に応じた画面を、生徒が使用する端末装置5の表示装置56へそのまま出力して共有させるのみならず、以下のような構成で画面を共有させるようにしてもよい。生徒が使用する端末装置5では、生徒が夫々、各APを実践的に動作させることができるようにOSが動作しており、更に、共有画面を表示するためのGUIを実現する特定のAPが動作してもよい。この場合、端末装置5の制御部50は当該特定のAP(端末装置用プログラム5P)を読み出して実行することにより、設定受付部201及び端末能力通知部202として動作することにより、共有画面を表示するために設定されたウィンドウサイズをサブ画面サイズとして含む端末能力情報をサーバ装置4へ送信する。そして端末装置5の制御部50は、自身のOSの動作に応じて生成される画面を表示装置56へ出力して表示させると共に、サーバ装置4から受信した画面データ(サブ画面17)を特定のAPのウィンドウ内に表示させるようにしてもよい。
なお、実施の形態1乃至5では、サーバ装置4が各端末装置5の端末能力情報を取得する方法として、端末装置5が夫々、接続要求を送信すると共に、端末能力通知部202としての機能により端末能力情報を送信するとした。しかしながら、本発明はこれに限らず、予め各端末装置5,5,…を識別する情報と対応付けられた端末能力情報をサーバ装置1(サーバ装置4)の記憶部11(記憶部41)にテーブル等によって記憶しておき、端末装置5が接続要求を受信する都度、テーブルを参照して端末能力情報を取得するように構成してもよい。
また、実施の形態1乃至5では、メイン画面16及びサブ画面17の生成処理をCPUを利用した制御部10又は制御部40が、画面生成部104及びサブ画面生成部105として機能することにより実行する構成とした。しかしながら、本発明はこれに限らず、サーバ装置1(4)が、サブ画面17を生成し送信するための手段として、通信インタフェース及び入力信号を受け付けるインタフェースを含むビデオカードデバイスを備え、このビデオカードデバイスに含まれるGPUが、端末能力判定部101、画面情報管理部102、画面構成・マウス位置検出部103、及びサブ画面生成部105として機能することによって実行してもよい。この場合、ビデオカードデバイスで、通信インタフェースを介して端末能力情報を受信し、接続が確立した端末装置のサブ画面情報14を記憶しておく。また、ビデオカードデバイスのGPUが、端末装置2(5)から送信される操作に係る入力信号を対応するOSを実行している制御部10へ出力すると共に、画面構成情報15を更新する処理を行なうようにしてもよい。そして当該ビデオカードデバイスのGPUが、割り当てられたOSから発行される描画コマンドを受け付けてビットマップデータ等の画面データを生成するに際し、サブ画面情報14を参照して生成し、サブ画面17として生成して送信する。これにより、OSが実行されているサーバ装置1の制御部10側ではメイン画面サイズ及びサブ画面サイズ等を特別に意識することなく、種々の情報処理の結果に応じた画面を生成し、描画コマンドをビデオカードデバイスのGPUへ入力するのみで足りる。複数のビデオカードデバイスが各端末装置2,2,…(5,5,…)に接続されることにより、ビデオカードデバイスが自動的に夫々に適したサブ画面17を生成する。
以上の実施の形態に関し更に、以下の付記を開示する。
(付記1)
画面を表示する手段を備える一又は複数の外部装置と接続され、該外部装置からの処理要求に応じた処理を実行する情報処理装置であって、
処理の実行結果に基づいて第1の画面データを生成する第1画面データ生成手段と、
外部装置の画面に関する情報を取得する手段と、
取得した画面に関する情報に基づいて、前記第1の画面データから一又は複数の第2の画面データを生成する第2画面データ生成手段と、
該第2画面データ生成手段が生成した画面データを外部装置へ送信する手段と
を備えることを特徴とする情報処理装置。
(付記2)
ネットワークを介して一又は複数の外部装置と接続される情報処理装置であって、
該情報処理装置における情報処理の実行結果に基づいて所定の解像度で第1の画面を生成する第1の画面生成手段と、
外部装置からの接続要求を受け付ける受付手段と、
該受付手段が受け付けた接続要求の要求元から、表示する画面に関する情報を含む能力情報を取得する能力情報取得手段と、
前記能力情報に含まれる画面に関する情報に基づいて、前記第1の画面生成手段が生成した第1の画面から第2の画面を生成する第2の画面生成手段と、
該第2の画面生成手段が生成した第2の画面を、対応する外部装置へ送信する送信手段と
を有することを特徴とする情報処理装置。
(付記3)
前記能力情報取得手段は、前記受付手段が受け付けた接続要求の要求元から、表示する画面の解像度と、表示する画面構成要素の配置設定との少なくとも一方を含む能力情報を取得するようにしてあり、
前記第2の画面生成手段は、前記能力情報に含まれる解像度と、画面構成要素の配置設定との少なくともいずれかに基づいて、前記第1の画面から第2の画面を生成するようにしてあること
を特徴とする付記2に記載の情報処理装置。
(付記4)
前記能力情報取得手段が取得した能力情報を、前記受付手段が受け付けた接続要求の要求元毎に対応付けて記憶する能力情報記憶手段を備え、
前記第2の画面生成手段は、記憶してある能力情報に基づいて前記第1の画面から夫々第2の画面を生成するようにしてあること
を特徴とする付記2又は3に記載の情報処理装置。
(付記5)
前記能力情報記憶手段は、前記能力情報に含まれる解像度により特定される領域を記憶するようにしてあり、
前記第2の画面生成手段は、記憶してある前記領域に対応する前記第1の画面における領域を抽出して第2の画面を生成するようにしてあり、
前記能力情報に含まれる解像度は、前記所定の解像度以下であること
を特徴とする付記4に記載の情報処理装置。
(付記6)
前記画面に関する情報には、表示されるべき画面構成要素名が含まれており、
前記第2の画面生成手段は、第1の画面に含まれる画面構成要素の内の前記画面構成要素名に対応する画面構成要素のみを含むように画面を生成するようにしてあること
を特徴とする付記1乃至5のいずれかに記載の情報処理装置。
(付記7)
前記画面に関する情報には、表示されるべき領域を示す指定領域情報が含まれており、
前記第2の画面生成手段は、前記指定領域情報で特定される領域を第1の画面から抽出して第2の画面を生成するようにしてあること
を特徴とする付記1乃至5のいずれかに記載の情報処理装置。
(付記8)
前記第2の画面生成手段は、前記第1の画面に含まれる画面構成要素の配置設定を外部装置毎に変更して第2の画面を生成するようにしてあること
を特徴とする付記4又は5に記載の情報処理装置。
(付記9)
画面を表示する手段を備える一又は複数の端末装置と、該端末装置に接続され、前記端末装置からの処理要求に応じた処理を実行する中央装置とを含む情報処理システムであって、
前記中央装置は、
実行した処理結果に基づいて第1の画面データを生成する第1画面データ生成手段と、
前記端末装置からの接続要求を受け付ける受付手段と、
該受付手段が接続要求を受け付けた場合、接続要求の要求元の前記端末装置で表示する画面に関する情報を含む能力情報を取得する能力情報取得手段と、
前記能力情報に含まれる画面に関する情報に基づいて、前記第1の画面データから一又は複数の第2の画面データを生成する第2画面データ生成手段と、
該第2画面データ生成手段が生成した第2の画面データを、対応する端末装置へ送信する送信手段と
を備えることを特徴とする情報処理システム。
(付記10)
ネットワークを介して一又は複数の外部装置と接続されるコンピュータで用いられるコンピュータプログラムであって、
前記コンピュータを、
該コンピュータで実行した処理結果に基づいて所定の解像度で第1の画面を生成する第1の画面生成手段、
外部装置からの接続要求を受け付ける受付手段、
該受付手段が受け付けた接続要求の要求元から、表示する画面に関する情報を含む能力情報を取得する能力情報取得手段、
前記能力情報に含まれる画面に関する情報に基づいて、前記第1の画面生成手段が生成した第1の画面から第2の画面を生成する第2の画面生成手段、及び、
該第2の画面生成手段が生成した第2の画面を対応する外部装置へ送信する送信手段
として機能させることを特徴とするコンピュータプログラム。
(付記11)
前記能力情報取得手段は、前記受付手段が受け付けた接続要求の要求元から、表示する画面の解像度と、表示する画面構成要素の配置設定との少なくとも一方を含む能力情報を取得するようにしてあり、
前記第2の画面生成手段は、前記能力情報に含まれる画面の解像度と、画面構成要素の配置設定との少なくともいずれかに基づいて、前記第1の画面から第2の画面を生成するようにしてあること
を特徴とする付記10に記載のコンピュータプログラム。
(付記12)
コンピュータを、
前記能力情報取得手段が取得した能力情報を、前記受付手段が受け付けた接続要求の要求元の外部装置毎に対応付けて記憶する能力情報記憶手段として機能させ、
前記第2の画面生成手段は、記憶してある能力情報に基づいて前記第1の画面から夫々第2の画面を生成するようにしてあること
を特徴とする付記10又は11に記載のコンピュータプログラム。
(付記13)
前記能力情報記憶手段は更に、前記能力情報に含まれる、外部装置が表示する画面の解像度により特定される領域を記憶するように機能させ、
前記第2の画面生成手段は、記憶してある前記領域に対応する第1の画面における領域を抽出して第2の画面を生成するようにしてあり、
前記能力情報に含まれる解像度は前記所定の解像度以下であること
を特徴とする付記12に記載のコンピュータプログラム。
(付記14)
ネットワークを介して一又は複数の外部装置と接続される情報処理装置で用いられる情報処理方法であって、
前記情報処理装置における情報処理の実行結果に基づいて所定の解像度で第1の画面を生成する第1の画面生成ステップと、
外部装置からの接続要求を受け付ける受付ステップと、
該受付ステップにより受け付けた接続要求の要求元から、表示する画面に関する情報を含む能力情報を取得する能力情報取得ステップと、
前記能力情報に含まれる画面に関する情報に基づいて、前記第1の画面生成ステップにより生成された第1の画面から第2の画面を生成する第2の画面生成ステップと、
該第2の画面生成ステップにより生成された第2の画面を、対応する外部装置へ送信する送信ステップと
を有することを特徴とする情報処理方法。
(付記15)
前記能力情報取得ステップは、前記受付ステップにより受け付けられた接続要求の要求元から、表示する画面の解像度と、表示する画面構成要素の配置設定との少なくとも一方を含む能力情報を取得し、
前記第2の画面生成ステップは、前記能力情報に含まれる解像度と、画面構成要素の配置設定との少なくともいずれかに基づいて、前記第1の画面から第2の画面を生成する
ことを特徴とする付記14に記載の情報処理方法。
(付記16)
前記能力情報取得ステップにより取得された能力情報を、前記受付ステップにより受け付けられた接続要求の要求元毎に対応付けて記憶する能力情報記憶ステップを有し、
前記第2の画面生成ステップは、記憶してある能力情報に基づいて、前記第1の画面から夫々第2の画面を生成する
ことを特徴とする付記14又は15に記載の情報処理方法。
(付記17)
前記能力情報記憶ステップは、前記能力情報に含まれる解像度により特定される領域を記憶するようにしてあり、
前記第2の画面生成ステップは、記憶してある前記領域に対応する第1の画面における領域を抽出して第2の画面を生成する
ことを特徴とする付記16に記載の情報処理方法。