(57)【要約】【課題】シンクライアントシステムでのウィンドウ切替時の処理の遅延を少なくすること。【解決手段】サーバ装置で起動しているウィンドウに関する情報を予めクライアント装置に送信してウィンドウ制御テーブル２４Ａに登録しておき、ウィンドウの切替が必要な際には、サーバ装置との通信を行なうことなく、クライアント装置で、そのウィンドウ制御テーブル２４Ａに基づいてサーバ装置において起動しているウィンドウ名をウィンドウ制御ダイアログ２６Ａにて一覧表示し、切替えるウィンドウをクライアント装置内部で選択可能とする。【選択図】図４
2011070587.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置において起動している一以上のウィンドウを含む画面データをクライアント装置に送信し、当該画面データをクライアント装置において表示するシンクライアントシステムにおいて、
ユーザによる一覧表示指示操作に応じて、前記サーバ装置において起動しているウィンドウ名を前記クライアント装置で一覧表示する一覧表示手段と、
前記一覧表示手段により一覧表示されたウィンドウ名のうち任意のウィンドウ名がユーザにより選択されると、当該ウィンドウが選択された情報を前記クライアント装置から前記サーバ装置に送信する選択情報送信手段と、
前記選択情報送信手段により前記ウィンドウが選択された情報が送信されると前記サーバ装置において当該情報に対応するウィンドウをアクティブ状態にするアクティブ状態設定手段と、
を備えることを特徴とするシンクライアントシステム。
【請求項２】
前記アクティブ状態設定手段によりアクティブ状態にされたウィンドウを、前記クライアント装置に全画面表示する全画面表示手段を更に備えることを特徴とする請求項１に記載のシンクライアントシステム。
【請求項３】
前記サーバ装置においてウィンドウが新規表示されると当該新規ウィンドウのウィンドウ名を前記サーバ装置より前記クライアント装置に送信する新規ウィンドウ名送信手段と、
前記サーバ装置においてウィンドウが消去されると当該消去ウィンドウを特定する情報を前記サーバ装置より前記クライアント装置に送信する消去ウィンドウ特定情報送信手段と、
を更に備え、
前記一覧表示手段は、前記ウィンドウ名送信手段によって新規ウィンドウのウィンドウ名が送信されると、または、前記消去ウィンドウ特定情報送信手段によって消去ウィンドウを特定する情報が送信されると、前記一覧表示の内容を更新することを特徴とする請求項１又は２に記載のシンクライアントシステム。
【請求項４】
前記一覧表示手段は、前記サーバ装置において起動しているウィンドウのウィンドウ名の一覧表示と共に、アクティブ状態のウィンドウのプレビュー表示を行なうことを特徴とする請求項１乃至３の何れかに記載のシンクライアントシステム。
【請求項５】
前記サーバ装置においてウィンドウ名が変更されると当該変更されたウィンドウ名を前記サーバ装置より前記クライアント装置に送信する変更ウィンドウ名送信手段を更に備え、
前記一覧表示手段は、前記変更ウィンドウ名送信手段によって変更後のウィンドウ名が送信されると、その変更後のウィンドウ名に基づいて前記一覧表示を更新することを特徴とする請求項１乃至４の何れかに記載のシンクライアントシステム。
【請求項６】
サーバ装置において起動している一以上のウィンドウを含む画面データをクライアント装置に送信し、当該画面データをクライアント装置において表示するシンクライアントシステムにおけるサーバ装置であって、
当該前記サーバ装置において起動しているウィンドウに変化があるか否かを監視するウィンドウ監視手段と、
前記ウィンドウ監視手段によるウィンドウ変化の検出に応じて、その変化内容を示す情報をクライアント装置へ送信する変化内容送信手段と、
前記クライアント装置からウィンドウが選択された情報が送信されてきたとき、当該情報に対応するウィンドウをアクティブ状態にするアクティブ状態設定手段と、
を備えることを特徴とするサーバ装置。
【請求項７】
サーバ装置において起動している一以上のウィンドウを含む画面データをクライアント装置に送信し、当該画面データをクライアント装置において表示するシンクライアントシステムにおけるクライアント装置であって、
前記サーバ装置において起動しているウィンドウの情報を記憶するウィンドウ情報記憶手段と、
前記サーバ装置からウィンドウ変化に応じた変化内容を示す情報が送られてくると、当該情報に基づいて前記ウィンドウ情報記憶手段の記憶内容を更新する更新手段と、
ユーザによる一覧表示指示操作に応じて、前記ウィンドウ情報記憶手段に記憶されている情報に基づいて、前記サーバ装置において起動しているウィンドウ名を一覧表示する一覧表示手段と、
前記一覧表示手段により一覧表示されたウィンドウ名のうち任意のウィンドウ名がユーザにより選択されると、当該ウィンドウが選択された情報を前記サーバ装置に送信する選択情報送信手段と、
を備えることを特徴とするクライアント装置。
【請求項８】
サーバ装置のコンピュータを、
当該サーバ装置において起動しているウィンドウに変化があるか否かを監視するウィンドウ監視手段、
前記ウィンドウ監視手段によるウィンドウ変化の検出に応じて、その変化内容を示す情報をクライアント装置へ送信する変化内容送信手段、
前記クライアント装置からウィンドウが選択された情報が送信されてきたとき、当該情報に対応するウィンドウをアクティブ状態にするアクティブ状態設定手段、
として機能させるためのプログラム。
【請求項９】
クライアント装置のコンピュータを、
サーバ装置からウィンドウ変化に応じた変化内容を示す情報が送られてくると、当該情報に基づいて、前記サーバ装置において起動しているウィンドウの情報を記憶するウィンドウ情報記憶手段の記憶内容を更新する更新手段、
ユーザによる一覧表示指示操作に応じて、前記ウィンドウ情報記憶手段に記憶されている情報に基づいて、前記サーバ装置において起動しているウィンドウ名を一覧表示する一覧表示手段、
前記一覧表示手段により一覧表示されたウィンドウ名のうち任意のウィンドウ名がユーザにより選択されると、当該ウィンドウが選択された情報を前記サーバ装置に送信する選択情報送信手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバクライアントシステム、特にはシンクライアントシステムと、該シンクライアントシステムにおけるサーバ装置及びクライアント装置、並びに、そのようなサーバ装置のコンピュータやクライアント装置のコンピュータで実行されるプログラムに関する。
【背景技術】
【０００２】
サーバクライアントシステムにおいて、クライアント装置にＨＤＤなどを搭載せず、画面表示や入力といった最小限の機能に絞り、重要なデータはすべてサーバ装置側に保存するシンクライアント（Thin client）システムは、有力な情報漏洩対策の１つとして注目を集めている。また、このシンクライアントシステムは、サーバ装置側で集中管理を行うことにより、ソフトウェアのバージョンアップやパッチ適用といった運用管理業務が削減でき、運用コストの削減につながる点もメリットである。
【０００３】
このようなシンクライアントシステムでは、特許文献１に開示されているように、クライアント装置のユーザ操作に応じたキーやマウスの信号が信号発生の都度サーバ装置へ送信され、サーバ装置では送信されてきた信号に応じた処理を実行して結果の画面データを生成し、それを描画データとして画面データの生成の都度クライアント装置へ転送して、クライアント装置が表示画面を構成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２１９６２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
シンクライアントシステムにおいて、サーバ装置で動作するウィンドウシステムは、通常のパーソナルコンピュータと同様に、マルチウィンドウシステムを採用している場合が多い。
【０００６】
サーバ装置で複数のウィンドウが起動している場合、クライアント装置側で希望するウィンドウを操作するには、一般のウィンドウシステムと同じように、そのウィンドウをアクティブ状態にしてから操作する必要がある。また、システムが提供するタスクバーやパネルなどを使用することも可能である。いずれの場合も、その操作の過程において頻繁にサーバ装置からクライアント装置への画面転送が発生する。従って、無線ＬＡＮや携帯電話網などのように遅延が発生する環境では、ウィンドウの切替時に処理の遅延が生じ、使いづらいものとなっていた。
【０００７】
本発明は、前記の点に鑑みてなされたもので、ウィンドウの切替時に処理の遅延を少なくすることが可能なシンクライアントシステム、サーバ装置、クライアント装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１に記載のシンクライアントシステムは、サーバ装置において起動している一以上のウィンドウを含む画面データをクライアント装置に送信し、当該画面データをクライアント装置において表示するシンクライアントシステムにおいて、ユーザによる一覧表示指示操作に応じて、前記サーバ装置において起動しているウィンドウ名を前記クライアント装置で一覧表示する一覧表示手段と、前記一覧表示手段により一覧表示されたウィンドウ名のうち任意のウィンドウ名がユーザにより選択されると、当該ウィンドウが選択された情報を前記クライアント装置から前記サーバ装置に送信する選択情報送信手段と、前記選択情報送信手段により前記ウィンドウが選択された情報が送信されると前記サーバ装置において当該情報に対応するウィンドウをアクティブ状態にするアクティブ状態設定手段と、を備えることを特徴とする。  
請求項２に記載のシンクライアントシステムは、前記請求項１に記載のシンクライアントシステムにおいて、前記アクティブ状態設定手段によりアクティブ状態にされたウィンドウを、前記クライアント装置に全画面表示する全画面表示手段を更に備えることを特徴とする。  
請求項３に記載のシンクライアントシステムは、前記請求項１又は２に記載のシンクライアントシステムにおいて、前記サーバ装置においてウィンドウが新規表示されると当該新規ウィンドウのウィンドウ名を前記サーバ装置より前記クライアント装置に送信する新規ウィンドウ名送信手段と、前記サーバ装置においてウィンドウが消去されると当該消去ウィンドウを特定する情報を前記サーバ装置より前記クライアント装置に送信する消去ウィンドウ特定情報送信手段と、を更に備え、前記一覧表示手段は、前記ウィンドウ名送信手段によって新規ウィンドウのウィンドウ名が送信されると、または、前記消去ウィンドウ特定情報送信手段によって消去ウィンドウを特定する情報が送信されると、前記一覧表示の内容を更新することを特徴とする。  
請求項４に記載のシンクライアントシステムは、前記請求項１乃至３の何れかに記載のシンクライアントシステムにおいて、前記一覧表示手段は、前記サーバ装置において起動しているウィンドウのウィンドウ名の一覧表示と共に、アクティブ状態のウィンドウのプレビュー表示を行なうことを特徴とする。  
請求項５に記載のシンクライアントシステムは、前記請求項１乃至４の何れかに記載のシンクライアントシステムにおいて、前記サーバ装置においてウィンドウ名が変更されると当該変更されたウィンドウ名を前記サーバ装置より前記クライアント装置に送信する変更ウィンドウ名送信手段を更に備え、前記一覧表示手段は、前記変更ウィンドウ名送信手段によって変更後のウィンドウ名が送信されると、その変更後のウィンドウ名に基づいて前記一覧表示を更新することを特徴とする。  
請求項６に記載のサーバ装置は、サーバ装置において起動している一以上のウィンドウを含む画面データをクライアント装置に送信し、当該画面データをクライアント装置において表示するシンクライアントシステムにおけるサーバ装置であって、当該前記サーバ装置において起動しているウィンドウに変化があるか否かを監視するウィンドウ監視手段と、前記ウィンドウ監視手段によるウィンドウ変化の検出に応じて、その変化内容を示す情報をクライアント装置へ送信する変化内容送信手段と、前記クライアント装置からウィンドウが選択された情報が送信されてきたとき、当該情報に対応するウィンドウをアクティブ状態にするアクティブ状態設定手段と、を備えることを特徴とする。  
請求項７に記載のクライアント装置は、サーバ装置において起動している一以上のウィンドウを含む画面データをクライアント装置に送信し、当該画面データをクライアント装置において表示するシンクライアントシステムにおけるクライアント装置であって、前記サーバ装置において起動しているウィンドウの情報を記憶するウィンドウ情報記憶手段と、前記サーバ装置からウィンドウ変化に応じた変化内容を示す情報が送られてくると、当該情報に基づいて前記ウィンドウ情報記憶手段の記憶内容を更新する更新手段と、ユーザによる一覧表示指示操作に応じて、前記ウィンドウ情報記憶手段に記憶されている情報に基づいて、前記サーバ装置において起動しているウィンドウ名を一覧表示する一覧表示手段と、前記一覧表示手段により一覧表示されたウィンドウ名のうち任意のウィンドウ名がユーザにより選択されると、当該ウィンドウが選択された情報を前記サーバ装置に送信する選択情報送信手段と、を備えることを特徴とする。  
請求項８に記載のプログラムは、サーバ装置のコンピュータを、当該サーバ装置において起動しているウィンドウに変化があるか否かを監視するウィンドウ監視手段、前記ウィンドウ監視手段によるウィンドウ変化の検出に応じて、その変化内容を示す情報をクライアント装置へ送信する変化内容送信手段、前記クライアント装置からウィンドウが選択された情報が送信されてきたとき、当該情報に対応するウィンドウをアクティブ状態にするアクティブ状態設定手段、として機能させることを特徴としている。  
請求項９に記載のプログラムは、クライアント装置のコンピュータを、サーバ装置からウィンドウ変化に応じた変化内容を示す情報が送られてくると、当該情報に基づいて、前記サーバ装置において起動しているウィンドウの情報を記憶するウィンドウ情報記憶手段の記憶内容を更新する更新手段、ユーザによる一覧表示指示操作に応じて、前記ウィンドウ情報記憶手段に記憶されている情報に基づいて、前記サーバ装置において起動しているウィンドウ名を一覧表示する一覧表示手段、前記一覧表示手段により一覧表示されたウィンドウ名のうち任意のウィンドウ名がユーザにより選択されると、当該ウィンドウが選択された情報を前記サーバ装置に送信する選択情報送信手段、として機能させることを特徴としている。
【発明の効果】
【０００９】
本発明によれば、サーバ装置で起動しているウィンドウに関する情報を予めクライアント装置に送信しておき、ウィンドウの切替が必要な際には、クライアント装置で、その予め送信されていたウィンドウに関する情報を用いてサーバ装置において起動しているウィンドウ名を一覧表示し、切替えるウィンドウをクライアント装置内部で選択可能としたので、通信遅延によるウィンドウ切替時の処理の遅延を少なくすることができる。
【図面の簡単な説明】
【００１０】
【図１】図１（Ａ）は、本発明の一実施形態に係るシンクライアントシステムのネットワーク構成例を示す図であり、図１（Ｂ）は、本実施形態に係るシンクライアントシステムの構成例を示す図である。
【図２】図２は、本発明の一実施形態に係るサーバ装置のハードウェア構成例を示す図である。
【図３】図３は、本発明の一実施形態に係るクライアント装置のハードウェア構成例を示す図である。
【図４】図４（Ａ）は、クライアント装置が備えるウィンドウ制御テーブルの一例を示す図であり、図４（Ｂ）は、クライアント装置におけるウィンドウ制御時のウィンドウ制御ダイアログの一例を示す図である。
【図５】図５は、本発明の一実施形態に係るサーバ装置のプログラムにおけるウィンドウ監視マネージャのシーケンスの一例を説明するためのフローチャートを示す図である。
【図６Ａ】図６Ａは、本発明の一実施形態に係るクライアント装置のプログラムにおける動作を説明するためのフローチャートの第１の部分を示す図である。
【図６Ｂ】図６Ｂは、本発明の一実施形態に係るクライアント装置のプログラムにおける動作を説明するためのフローチャートの第２の部分を示す図である。
【図７】図７は、クライアント装置のプログラムにおけるウィンドウ制御に係わる動作を説明するためのフローチャートを示す図である。
【図８】図８は、サーバ装置のプログラムにおけるウィンドウ制御マネージャのシーケンスの一例を説明するためのフローチャートを示す図である。
【図９】図９は、クライアント装置におけるウィンドウ制御時のウィンドウ制御ダイアログの別の例を示す図である。
【図１０】図１０は、クライアント装置におけるウィンドウ制御時のウィンドウ制御ダイアログの更に別の例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態を図面を参照して説明する。
【００１２】
図１（Ａ）は、本発明の一実施形態に係るシンクライアントシステムのネットワーク構成例を示す図である。  
このシンクライアントシステムは、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）からなるネットワークＮ上に接続されたサーバ装置１０及び複数のクライアント装置２０を備える。なお、前記クライアント装置２０としては、例えばデスクトップタイプ、ラップトップタイプ、ノートタイプ、携帯端末タイプなど、様々なタイプがある。また、ネットワークＮ上には無線機能を備えた中継装置３０が設けられ、スマートフォンや携帯電話のような無線機能を持つ携帯端末タイプのクライアント装置２０が、この中継装置３０を介してネットワークＮに接続されるようになっている。
【００１３】
図１（Ｂ）は、本実施形態に係るシンクライアントシステムの構成例を示す図である。  
本シンクライアントシステムでは、クライアント装置２０からのリモート操作によりサーバ装置１０側で所望のアプリケーションプログラムを起動実行させるものであり、クライアント装置２０のユーザ操作に応じたキー出力信号やマウス出力信号などの入力情報が、その発生の都度、入力操作データ（イベント信号）としてサーバ装置１０へ送信される。そして、サーバ装置１０では、前記クライアント装置２０からのイベント信号に応じたアプリケーションプログラム（テキスト作成処理プログラム，Ｗｅｂブラウザプログラム，表計算処理プログラム，メール処理プログラム，等）をマルチウィンドウにより実行させて処理を行い、この処理に伴って生成された表示用の画面データを画面更新情報として、その描画更新の都度、クライアント装置２０へ転送して、クライアント装置２０の表示装置に画面表示させる。
【００１４】
つまり、本シンクライアントシステムにおける各クライアント装置２０は、何れもキーボードやマウスなどのユーザ操作に応じた入力機能と表示装置（携帯端末タイプ以外のタイプではプリンタなども含む）への出力機能を主要な機能として有し、少なくとも前記サーバ装置１０が有している各種のアプリケーション機能やデータファイルの管理機能を一切持っていなくてもよい。そして、クライアント装置２０からの操作入力（入力イベント）の入力操作データに応じてサーバ装置１０にて起動実行される各種の処理に伴い生成されたデータファイルは、基本的には、当該サーバ装置１０内あるいは該サーバ装置１０にて接続管理される磁気ディスクなどの記憶装置にユーザアカウント毎あるいは共有ファイルとして記憶され保存される。
【００１５】
図２は、前記サーバ装置１０のハードウェア構成例を示すブロック図である。  
サーバ装置１０は、コンピュータとしてのＣＰＵ１１を備え、このＣＰＵ１１には、バス１２を介して、ＲＯＭ１３、ＲＡＭ１４、ＶＲＡＭ１５、液晶ディスプレイ等の表示装置１６、キーボード，マウスなどの入力装置１７、外部記憶装置１８、クライアント装置２０との通信Ｉ／Ｆ１９が接続される。
【００１６】
ＣＰＵ１１は、ＲＯＭ１３に予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってＲＡＭ１４を作業用メモリとし回路各部の動作を制御するもので、入力装置１７からのキー入力信号や通信Ｉ／Ｆ１９を介して受信されるクライアント装置２０からのユーザ操作入力（入力イベント）の入力操作データなどに応じて前記種々のプログラムが起動・実行される。
【００１７】
このサーバ装置１０において、クライアント装置２０からの入力操作データに応じて起動・実行されるアプリケーションプログラムに従って生成された種々のデータは、例えばそのユーザＩＤに対応付けられて外部記憶装置１８に記憶され、また、クライアント装置２０での表示用の画面データは、ＲＡＭ１４内にクライアント装置２０毎に設けられたクライアント用ＶＲＡＭ（図示せず）を使用して、表示画面そのものの画像（以下、イメージと称する）として生成されて、通信Ｉ／Ｆ１９からクライアント装置２０へ転送されて表示出力される。この場合、ＣＰＵ１１により描画イメージを圧縮処理することで、転送データ量を削減する。あるいは、描画イメージそのものではなくて、例えば座標Ａから座標Ｂへ直線を引けというような描画コマンドとして送信することで、更に転送データ量を削減できる。なお、当該サーバ装置１０自身の表示装置１６にて表示させるための画面データは、ＶＲＡＭ１５上に生成され、表示装置１６に表示される。
【００１８】
また、前記ＲＯＭ１３にはさらに、クライアント用ＶＲＡＭ上に生成されるクライアント装置毎のイメージを監視することで、起動しているウィンドウに関する情報を取得するためのプログラムであるウィンドウ監視マネージャ１３Ａと、通信Ｉ／Ｆ１９からのクライアント装置２０でのウィンドウ操作入力（入力イベント）の入力操作データに応じてウィンドウ制御を行なうためのプログラムであるウィンドウ制御マネージャ１３Ｂが記憶される。これらウィンドウ監視マネージャ１３Ａ及びウィンドウ制御マネージャ１３Ｂは、クライアント装置２０と直接通信する機能を保持している。なお、前記ＲＯＭ１３は、書き替え可能なフラッシュメモリによって構成しても良い。
【００１９】
図３は、前記クライアント装置２０のハードウェア構成例を示すブロック図である。  
クライアント装置２０は、コンピュータとしてのＣＰＵ２１を備え、このＣＰＵ２１には、バス２２を介して、ＲＯＭ２３、ＲＡＭ２４、ＶＲＡＭ２５、液晶ディスプレイ等の表示装置２６、キーボード，マウスなどの入力装置２７、サーバ装置１０との通信Ｉ／Ｆ２８が接続される。
【００２０】
ＣＰＵ２１は、ＲＯＭ２３に予め記憶されているシステムプログラムに従ってＲＡＭ２４を作業用メモリとし回路各部の動作を制御するもので、入力装置２７からのキー入力信号、通信Ｉ／Ｆ２８を介して受信されるサーバ装置１０からのアプリケーション応答信号や画面更新情報などに応じて前記システムプログラムが起動され実行される。なお、本クライアント装置２０が、通信端末タイプとして構成される場合には、通信Ｉ／Ｆ２８は、無線通信を行う通信装置として構成される。
【００２１】
前記サーバ装置１０におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、前記サーバ装置１０の外部記憶装置１８に記憶されると共に、適宜、表示用の画面更新情報としてこのクライアント装置２０に転送されて来る。そして、このクライアント装置２０において、ＶＲＡＭ２５に書き込まれ、表示装置２６で表示出力される。
【００２２】
また、前記ＲＯＭ２３にはさらに、サーバ装置１０のウィンドウ監視マネージャ１３Ａ及びウィンドウ制御マネージャ１３Ｂとの通信を行うためのプログラムが記憶され、前記ＲＡＭ２４にはさらに、サーバ装置１０のウィンドウ状態を保管するためのウィンドウ制御テーブル２４Ａなどが記憶される。なお、前記ＲＯＭ２３は、書き替え可能なフラッシュメモリによって構成しても良く、その場合にはウィンドウ制御テーブル２４Ａなどを前記ＲＯＭ２３に記憶するようにしても構わない。
【００２３】
図４（Ａ）は、前記ＲＡＭ２４（又はフラッシュメモリで構成したＲＯＭ２３）に記憶されるウィンドウ制御テーブル２４Ａの一例を示す図である。  
このウィンドウ制御テーブル２４Ａは、「ウィンドウＩＤ」、「名前」、「アクティブフラグ」、「キャプチャフラグ」、「キャプチャデータ保管場所」の項目を持っている。「ウィンドウＩＤ」、「名前」及び「アクティブフラグ」は、サーバ装置１０から送られてくる制御用データ（詳細は後述）に基づき設定され、「キャプチャフラグ」及び「キャプチャデータ保管場所」は、当該クライアント装置２０の内部処理に使用するものである。
【００２４】
ここで、アクティブフラグは、現在アクティブであるウィンドウのみセットされる（「１」とされる）フラグである。キャプチャフラグは、アクティブフラグが「０」の時に名前属性を変更した際にセットされ、当該ウィンドウがアクティブになった時にクリアされるフラグである。キャプチャデータ保管場所は、ウィンドウのキャプチャデータを保管しているＲＡＭ２４のアドレス値が登録される。
【００２５】
次に、前記構成のシンクライアントシステムの動作について説明する。  
なお、通常のシンクライアントシステムにおけるサーバ装置１０とクライアント装置２０の動作については、その説明を省略し、本発明に特有の動作のみを説明する。
【００２６】
図５は、サーバ装置１０のウィンドウ監視マネージャ１３Ａのシーケンスの一例を説明するためのフローチャートを示す図である。  
即ち、ウィンドウ監視マネージャ１３Ａは、ＲＡＭ１４内にクライアント装置２０毎に設けられたクライアント用ＶＲＡＭ上に生成されるクライアント装置毎のイメージを監視することで、起動しているウィンドウに変化がないかを検出する（ステップＳ１３Ａ１）。
【００２７】
そして、変化があった場合、その検出した変化の内容を判別して（ステップＳ１３Ａ２）、その内容に応じて処理を行う。なお、この起動しているウィンドウに変化があった場合には、通常のサーバ装置１０の動作により、その更新されたイメージが画面更新情報として通信Ｉ／Ｆ１９によりクライアント装置２０に送信されることは言うまでもない。
【００２８】
即ち、新しくウィンドウが表示された時（新規表示）には、システムプログラム又はアプリケーションプログラムより、そのウィンドウＩＤ、名前、領域（座標と大きさ）を取得して（ステップＳ１３Ａ３）、それらの情報をウィンドウ新規表示を示す制御用データと共に通信Ｉ／Ｆ１９によりクライアント装置２０に送信する（ステップＳ１３Ａ４）。
【００２９】
また、ウィンドウが消去した時（消去）には、システムプログラム又はアプリケーションプログラムより、その消去したウィンドウＩＤを取得して（ステップＳ１３Ａ５）、その情報をウィンドウ消去を示す制御用データと共に通信Ｉ／Ｆ１９によりクライアント装置２０に送信する（ステップＳ１３Ａ６）。
【００３０】
また、ウィンドウの属性に変更があった場合（属性変更）には、その変更のあった属性の内容をチェックする（ステップＳ１３Ａ７）。そして、名前の変更であった場合には、システムプログラム又はアプリケーションプログラムより、ウィンドウＩＤと名前を取得して（ステップＳ１３Ａ８）、それらの情報をウィンドウ属性変更を示す制御用データと共に通信Ｉ／Ｆ１９によりクライアント装置２０へ送信する（ステップＳ１３Ａ９）。なお、変更があった属性が名前以外であった場合には、何もしない。
【００３１】
また、アクティブ状態のウィンドウが変更した場合（アクティブ変更）には、アクティブになったウィンドウのウィンドウＩＤと領域をシステムプログラム又はアプリケーションプログラムより取得して（ステップＳ１３Ａ１０）、それらの情報をアクティブウィンドウ変更を示す制御用データと共に通信Ｉ／Ｆ１９によりクライアント装置２０に送信する（ステップＳ１３Ａ１１）。
【００３２】
図６Ａ及び図６Ｂは、クライアント装置２０のプログラムにおける動作を説明するための一連のフローチャートを示す図である。  
クライアント装置２０においては、通信Ｉ／Ｆ２８によりサーバ装置１０からのデータを受信すると（ステップＳ２０１）、それが前記ウィンドウ監視マネージャ１３Ａによって送られた制御用データであるかを判別する（ステップＳ２０２）。受信したデータが制御用データではない、つまり画面更新情報であれば、通常の処理を実施することになる（ステップＳ２０３）。
【００３３】
これに対して、制御用データであれば、その内容を判別して（ステップＳ２０４）、その内容に応じて処理を行う。
【００３４】
即ち、ウィンドウ新規表示を示す制御用データを受信した場合には、ウィンドウＩＤ、名前、領域を受信する（ステップＳ２０５）。そして、既に画面更新情報に従ってＶＲＡＭ２５上に書き込まれているイメージから、その受信した領域の情報で示される領域を切り取り、所定のサイズに縮小して、キャプチャデータとしてＲＡＭ２４に保管する（ステップＳ２０６）。また、ウィンドウ制御テーブル２４Ａに新たな行を追加し、各項目を登録する（ステップＳ２０７）。即ち、項目「ウィンドウＩＤ」に受信したウィンドウＩＤを登録し、項目「名前」に受信した名前を登録する。また、「アクティブフラグ」を「１」にセットし、「キャプチャフラグ」を「０」クリアする。そして、「キャプチャデータ保管場所」には、キャプチャデータのＲＡＭ２４の保存アドレス値を登録する。
【００３５】
一方、受信した制御用データがウィンドウ消去を示すものである時には、ウィンドウＩＤ、名前、領域を受信する（ステップＳ２０８）。そして、ウィンドウ制御テーブル２４Ａから、その受信したウィンドウＩＤで示される行を削除する（ステップＳ２０９）。
【００３６】
また、ウィンドウ属性変更を示す制御用データを受信した場合には、ウィンドウＩＤと名前を受信する（ステップＳ２１０）。そして、ウィンドウ制御テーブル２４Ａのその受信したウィンドウＩＤで示される行の「名前」に、受信した名前を登録し直す（ステップＳ２１１）。その後、当該行の「アクティブフラグ」が「０」か否かを判別する（ステップＳ２１２）。
【００３７】
ここで、「アクティブフラグ」が「０」の場合には、「キャプチャフラグ」を「１」にセットする（ステップＳ２１３）。例えば、アプリケーションプログラムとしてＷｅｂブラウザでは、そのウィンドウが非アクティブな状態であっても、自動的に別のＷｅｂページに移動するような場合があり、そのような場合には名前属性が変更される。そのような場合に対処するために、当該ウィンドウがアクティブでない場合には、次に当該ウィンドウがアクティブになった際にキャプチャデータを更新するように、ここでキャプチャフラグをセットしておくものである。
【００３８】
これに対して、「アクティブフラグ」が「１」であった場合には、属性変更のあったウィンドウはアクティブとなっているので、既に画面更新情報に従ってＶＲＡＭ２５上にイメージが書き込まれているので、キャプチャデータを更新することが可能である。
【００３９】
また、アクティブウィンドウ変更を示す制御用データを受信した場合には、ウィンドウＩＤと領域を受信する（ステップＳ２１４）。そして、ウィンドウ制御テーブル２４Ａのその受信したウィンドウＩＤで示される行の「キャプチャフラグ」が「１」かどうかを判別する（ステップＳ２１５）。ここで、当該「キャプチャフラグ」が「１」となっていた場合には、既に画面更新情報に従ってＶＲＡＭ２５上に書き込まれているイメージから、その受信した領域の情報で示される領域を切り取り、所定のサイズに縮小して、キャプチャデータとしてＲＡＭ２４に保管してから（ステップＳ２１６）、ウィンドウ制御テーブル２４Ａの当該行の「アクティブフラグ」を「１」にセットする（ステップＳ２１７）。これに対して、「キャプチャフラグ」が「０」となっていた場合には、ステップＳ２１６をスキップして、ステップＳ２１７へと進む。
【００４０】
その後、ウィンドウ制御テーブル２４Ａの他のウィンドウＩＤに対応する行において「アクティブフラグ」が「１」になっているものがあれば、それを「０」にクリアする（ステップＳ２１８）。
【００４１】
そして、再度、ウィンドウ制御テーブル２４Ａの受信したウィンドウＩＤで示される行の「キャプチャフラグ」が「１」かどうかを判別する（ステップＳ２１９）。ここで、「０」であれば何もしないが、「１」であったならば、当該行の「キャプチャデータ保管場所」に登録されているアドレス値に登録されているキャプチャデータを解放してから、ウィンドウ制御テーブル２４Ａの当該行の登録内容を更新する（ステップＳ２２０）。即ち、「キャプチャデータ保管場所」に前記ステップＳ２１６で保管したキャプチャデータのアドレス値を登録し、「キャプチャフラグ」を「０」にクリアする。
【００４２】
以上のようにして、サーバ装置１０で起動しているウィンドウに変化があった場合、その変化の内容に応じてクライアント装置２０のウィンドウ制御テーブル２４Ａの内容が書き替えられる。
【００４３】
図７は、クライアント装置２０のプログラムにおけるウィンドウ制御に係わる動作を説明するためのフローチャートを示す図である。  
入力装置１７で所定のユーザ操作を行なうことにより、該フローチャートに示すようなウィンドウ制御機能を実現するプログラムが起動されると、まず、ウィンドウ制御テーブル２４Ａのデータを使用して、ウィンドウ制御ダイアログを作成し、表示装置２６に全画面表示する（ステップＳ２４１）。
【００４４】
図４（Ｂ）は、このウィンドウ制御ダイアログの一例を示す図である。  
このウィンドウ制御ダイアログ２６Ａは、ウィンドウ制御テーブル２４Ａの各行の「名前」に登録されている名前に基づいて、「リスト一覧」にサーバ装置１０で起動しているウィンドウの名前を一覧表示するものである。また、その内のユーザが選択したウィンドウの名前、即ち「アクティブフラグ」が「１」にセットされている名前を選択状態（強調表示）にすると共に、「キャプチャデータ保管場所」に記述されたアドレス値に保管されているキャプチャデータを、「Ｐｒｅｖｉｅｗ」領域にプレビュー表示する。更に、該ウィンドウ制御ダイアログ２６Ａの下部には、ユーザが操作可能なボタンとして『表示』、『閉じる』、『キャンセル』の各ボタンを表示する。
【００４５】
なお、このウィンドウ制御ダイアログ２６Ａにおいて、一覧表示された名前の選択状態は入力装置１７のユーザ操作により変更でき、その変更に応じて「Ｐｒｅｖｉｅｗ」領域にプレビュー表示されるキャプチャデータが変化する。従って、ウィンドウの内容が表示されるので、ユーザは所望のウィンドウを容易に見つけ出すことが出来ると共に、サーバ装置１０からクライアント装置２０へ画面更新情報を送ることなくウィンドウの内容を確認できるようになる。
【００４６】
そして、ウィンドウ制御ダイアログ２６Ａ下部の『表示』、『閉じる』、『キャンセル』の何れかのボタンに対するユーザ操作がなされると、どのボタンに対する操作がなされたかを判別して（ステップＳ２４２）、対応する動作を行う。
【００４７】
即ち、『表示』ボタンが操作されると、選択状態にある名前のウィンドウをアクティブにする指示であるとして、選択状態の名前に対応するウィンドウＩＤをウィンドウ制御テーブル２４Ａから取得し、表示コマンドと共に通信Ｉ／Ｆ２８によりサーバ装置１０へ送信する（ステップＳ２４３）。そして、該ウィンドウ制御ダイアログ２６Ａを閉じて、このウィンドウ制御に係わる動作を終了する。
【００４８】
また、『閉じる』ボタンが操作されると、選択状態にある名前のウィンドウを消去する指示であるとして、選択状態の名前に対応するウィンドウＩＤをウィンドウ制御テーブル２４Ａから取得し、閉じるコマンドと共に通信Ｉ／Ｆ２８によりサーバ装置１０へ送信する（ステップＳ２４４）。そして、該ウィンドウ制御ダイアログ２６Ａを閉じて、このウィンドウ制御に係わる動作を終了する。
【００４９】
また、『キャンセル』ボタンが操作された場合には、何も行なわずに、該ウィンドウ制御ダイアログ２６Ａを閉じて、このウィンドウ制御に係わる動作を終了する。
【００５０】
図８は、サーバ装置１０のプログラムにおけるウィンドウ制御マネージャ１３Ｂのシーケンスの一例を説明するためのフローチャートを示す図である。  
即ち、ウィンドウ制御マネージャ１３Ｂは、常に、通信Ｉ／Ｆ１８によるクライアント装置２０からのデータ受信を待っており（ステップＳ１３Ｂ１）、データ受信があると、その受信したデータから、ウィンドウＩＤとコマンド及び関連データを取得する（ステップＳ１３Ｂ２）。そして、取得したコマンドの内容を判別して（ステップＳ１３Ｂ３）、その内容に応じた処理を行なう。即ち、表示コマンドを受信した場合には、受信したウィンドウＩＤを持つウィンドウ（アプリケーションプログラム）に対し、ａｃｔｉｖｅコマンドを発行することで、当該ウィンドウをアクティブ状態にする（ステップＳ１３Ｂ４）。また、閉じるコマンドを受信した場合には、受信したウィンドウＩＤを持つウィンドウ（アプリケーションプログラム）に対し、ｄｅｌｅｔｅコマンドを発行することで、当該ウィンドウを消去にする（ステップＳ１３Ｂ５）。
【００５１】
なお、このウィンドウ制御マネージャ１３Ｂによってウィンドウ制御が行なわれたことにより、起動しているウィンドウに変化が生じるので、その変化によりウィンドウ監視マネージャ１３Ａが前述したような動作を行ない、クライアント装置２０のウィンドウ制御テーブル２４Ａも前述したように更新されることは言うまでもない。
【００５２】
以上のように、本一実施形態によれば、シンクライアントシステムにおいて、ウィンドウの認識に必要な情報を予めサーバ装置１０からクライアント装置２０に送信しておくことで、ユーザがウィンドウを制御したいと思った時に、新たな通信を発生させることなく、作業を行うことができる。こうすることにより、高レスポンスで簡単にウィンドウを制御することが可能となる。
【００５３】
また、ウィンドウの認識に必要な情報は、サーバ装置１０においてウィンドウの新規作成、消去、名前属性の変更がある毎に、それを検出して自動的に更新されるので、サーバ装置１０で起動されているウィンドウの状態をクライアント装置２０で常に把握できる。
【００５４】
また、すでに送信済みのイメージの一部をキャプチャデータとして保存しておき、制御するウィンドウを選択する時にそれをプレビュー表示することで、視覚的にどのウィンドウかを簡単に把握できるようになり、誤った操作を行う頻度が下がるという利点も有する。
【００５５】
さらに、非アクティブ状態のウィンドウにおいて名前属性が変更になっていた場合には、当該ウィンドウがアクティブ状態になった際にウィンドウ領域のデータをキャプチャすることで、より直近のウィンドウ状態に近いキャプチャデータを取得することができる。
【００５６】
また、特定のアプリケーションプログラムに依存することがないため、既存のアプリケーションプログラムにも対応可能であるという利点を有する。
【００５７】
また、サーバ装置において起動しているウィンドウ名の一覧表示を行なうウィンドウ制御ダイアログ２６Ａを表示装置２６に全画面表示するようにしているので一覧表示の視認性が良く、表示画面の小さい携帯端末タイプのクライアント装置２０においても、ユーザが所望のウィンドウの選択を容易に行えるようになる。
【００５８】
なお、前記一実施形態において記載したシンクライアントシステムによる各処理の手法、即ち、図５及び図８のフローチャートに示すサーバ装置１０による処理及び図６Ａ，６Ｂ及び図７のフローチャートに示すクライアント装置２０による処理などの各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フロッピディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の外部記憶装置の記憶媒体に格納して配布することができる。そして、サーバ装置１０やクライアント装置２０のコンピュータ（ＣＰＵ１１，２１）は、この外部記憶装置の記憶媒体に記憶されたプログラムをＲＡＭ１４，２４に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記一実施形態において説明した機能を実現し、前述した手法による同様の処理を実行することができる。
【００５９】
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態としてネットワークＮ上を伝送させることができ、前記のプログラムデータを、このネットワークＮに接続されたコンピュータ装置（プログラムサーバ）から取り込んでＲＯＭ（フラッシュメモリ）に記憶させてＲＡＭ１４，２４に読み込み、あるいは直接ＲＡＭ１４，２４に取り込んで記憶させ、前述した機能を実現することもできる。
【００６０】
また、前記一実施形態は、シンクライアントシステムを例に説明したが、一般的なサーバクライアントシステムにも適用することが可能である。
【００６１】
また、前記一実施形態では、ウィンドウ監視マネージャ１３Ａとウィンドウ制御マネージャ１３Ｂを単独で動作するソフトウェアであるとしたが、実際にウィンドウの配置やタスクバー表記などの制御を行うウィンドウマネージャに追加する機能とするなど、別のソフトウェアに含めても良い。
【００６２】
更に、ウィンドウ制御コマンドは対象となるウィンドウをアクティブにするか消去するかという内容だけであったが、非アクティブ化、最大化、最小化、アイコン化などウィンドウを操作する内容であれば何でも良い。
【００６３】
また、ウィンドウ属性の中で、前記一実施形態では名前属性のみ使用するとしたが、アイコンやアイコン名及びアプリケーション名など、ユーザがどんなウィンドウであるかを判別するのに役立つものであれば、何でも良い。これらを総称してウィンドウ名とする。
【００６４】
また、ウィンドウ制御ダイアログ２６Ａには、選択したもののみキャプチャデータを表示するとしたが、すべてを表示しておいても良いし、表示しなくても良い。
【００６５】
例えば、図９は、クライアント装置におけるウィンドウ制御時のウィンドウ制御ダイアログ２６Ａの別の例を示す図である。  
このウィンドウ制御ダイアログ２６Ａでは、サーバ装置１０から送信されてきた画面更新情報によるイメージはそのまま画面イメージ領域２６Ａ１に表示し、その上部のウィンドウ一覧領域２６Ａ２に、ウィンドウ制御テーブル２４Ａの各行の「名前」に登録されている名前に基づいて、サーバ装置１０で起動しているウィンドウの名前をタブの形態で一覧表示するものである。
【００６６】
画面イメージ領域２６Ａ１に破線で示すウィンドウは、別のウィンドウの下に全体が隠れてしまって見えないウィンドウを表している。
【００６７】
このウィンドウ制御ダイアログ２６Ａによれば、サーバ装置１０で起動している各ウィンドウの関係をサーバ装置１０から新たな通信を発生させることなく容易に把握できる。
【００６８】
なおこの場合、キャプチャデータは使用せず、ウィンドウ一覧領域２６Ａ２におけるウィンドウの名前の選択イコール当該ウィンドウをアクティブ状態にする指示として、当該名前に対応するウィンドウＩＤをウィンドウ制御テーブル２４Ａから取得し、表示コマンドと共に通信Ｉ／Ｆ２８によりサーバ装置１０へ送信することとなる。
【００６９】
ウィンドウの消去は、アクティブにしたウィンドウでの実際の消去操作入力により実施する。
【００７０】
また、図１０は、クライアント装置２０におけるウィンドウ制御時のウィンドウ制御ダイアログ２６Ａの更に別の例を示す図である。  
このウィンドウ制御ダイアログ２６Ａでは、その上部のウィンドウ一覧領域２６Ａ２に、ウィンドウ制御テーブル２４Ａの各行の「名前」に登録されている名前に基づいて、サーバ装置１０で起動しているウィンドウの名前をタブの形態で一覧表示すると共に、「キャプチャデータ保管場所」でアドレス値が示されているＲＡＭ２４に保管されている選択状態にある名前のウィンドウのキャプチャデータをプレビュー領域２６Ａ３に拡大表示するものである。
【００７１】
このウィンドウ制御ダイアログ２６Ａによれば、サーバ装置１０で起動している各ウィンドウの内容をサーバ装置１０から新たな通信を発生させることなく容易に把握できる。  また、前記一実施形態では、キャプチャするタイミングを名前属性に変更があり且つアクティブになった時としたが、対象とするウィンドウが大きく変更したことを検知する方法があれば、他の方法でも良い。
【００７２】
また、前記一実施形態では、プレビューデータをクライアント装置２０側で作成するとしたが、サーバ装置１０側でウィンドウ監視マネージャ１３Ａが起動しているウィンドウの変更を検出した際に、該ウィンドウ監視マネージャ１３Ａであるいは当該ウィンドウのアプリケーションプログラムによってプレビューデータを作成して、クライアント装置２０側に送信するようにしても良い。この場合、図４（Ｂ）に示すようなウィンドウ制御ダイアログ２６Ａを用いるのであれば「Ｐｒｅｖｉｅｗ」領域に合わせた前記所定サイズに縮小して、また、図１０に示すようなウィンドウ制御ダイアログ２６Ａであれば、予め判別しているクライアント装置２０の表示装置２６のサイズに合わせてリサイズして、プレビューデータを作成すれば良い。
【００７３】
なお、本願発明は、前記一実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記一実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、一実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【符号の説明】
【００７４】
１０…サーバ装置
１１，２１…ＣＰＵ
１２，２２…バス
１３，２３…ＲＯＭ
１３Ａ…ウィンドウ監視マネージャ
１３Ｂ…ウィンドウ制御マネージャ
１４，２４…ＲＡＭ
１５，２５…ＶＲＡＭ
１６，２６…表示装置
１７，２７…入力装置
１８…外部記憶装置
１９，２８…通信Ｉ／Ｆ
２０…クライアント装置
２４Ａ…ウィンドウ制御テーブル
２６Ａ…ウィンドウ制御ダイアログ
２６Ａ１…画面イメージ領域
２６Ａ２…ウィンドウ一覧領域
２６Ａ３…プレビュー領域
３０…中継装置
Ｎ…ネットワーク
【図１】
2011070587.tif 000003
【図２】
2011070587.tif 000004
【図３】
2011070587.tif 000005
【図４】
2011070587.tif 000006
【図５】
2011070587.tif 000007
【図６Ａ】
2011070587.tif 000008
【図６Ｂ】
2011070587.tif 000009
【図７】
2011070587.tif 000010
【図８】
2011070587.tif 000011
【図９】
2011070587.tif 000012
【図１０】
2011070587.tif 000013