(57)【特許請求の範囲】
【請求項１】
接続された端末に画面情報を送信して表示させるサーバ装置であって、
前記端末における操作入力情報を受信する受信手段と、
前記サーバ装置の画面における前記端末への送信対象領域内に少なくとも一部が表示されているウィンドウでの操作に関連する他の表示要素が表示された場合、該他の表示要素が前記送信対象領域に収まるか否かを判別する判別手段と、
前記判別手段により収まらないと判別された場合、前記他の表示要素の表示領域を前記送信対象領域内に収まるよう変更する変更手段と、
前記変更手段により変更された場合、該変更された状態での前記端末における操作入力を該変更前の状態での操作入力に変換する入力変換手段と、を備え、
前記入力変換手段は、
前記変更手段により変更され、前記受信手段により受信された前記端末の座標入力手段による入力座標が該変更された前記他の表示要素の表示領域内である場合、該入力座標を前記変更手段による変更前の該他の表示要素の座標に変換し、
前記変更手段により変更され、前記受信手段により受信された前記端末の座標入力手段による入力座標が、該変更された前記他の表示要素の表示領域の外部で、該変更前の該他の表示要素の表示領域内である場合、前記受信手段により受信された前記端末による操作入力を該他の表示要素より１つ背面の表示要素における、該変更前の該他の表示要素の表示領域内に相当する領域への操作とするよう変換することを特徴とするサーバ装置。
【請求項２】
前記入力変換手段は、
前記変更手段により変更され、前記受信手段により受信された前記端末の座標入力手段による入力座標が、該変更された前記他の表示要素の表示領域の外部で、該変更前の該他の表示要素の表示領域内である場合、前記受信手段により受信された前記端末によるクリック操作を該他の表示要素より１つ背面の表示要素における、該変更された前記他の表示要素の表示領域の外部で、該変更前の該他の表示要素の表示領域内に相当する領域への操作とするよう変換することを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記変更手段は、前記判別手段により収まらないと判別された場合、前記他の表示要素の表示領域を前記送信対象領域内に収まる位置まで移動させ、前記ウィンドウの手前に該他の表示要素が該移動位置で表示された状態として該ウィンドウおよび該他の表示要素の画像を合成することを特徴とする請求項１または２記載のサーバ装置。
【請求項４】
前記受信手段により前記端末からウィンドウ表示の調整コマンドが受信された場合、前記ウィンドウを前記端末の画面の描画領域に合わせた縦横比として前記サーバ装置の画面に表示させる調整表示手段を備え、
前記調整表示手段により調整された前記ウィンドウの表示領域を前記送信対象領域とすることを特徴とする請求項１から３の何れか１項に記載のサーバ装置。
【請求項５】
前記受信手段により前記端末からウィンドウ表示の調整コマンドが受信された場合、前記ウィンドウを前記端末の画面の描画領域全体と同じピクセルサイズとして前記サーバ装置の画面に表示させる調整表示手段を備え、
前記調整表示手段により調整された前記ウィンドウの表示領域を前記送信対象領域とすることを特徴とする請求項１から３の何れか１項に記載のサーバ装置。
【請求項６】
前記判別手段は、前記調整コマンドによる調整状態で前記他の表示要素が表示された場合、該他の表示要素が前記ウィンドウの表示領域内に収まっているか否かを判別することを特徴とする請求項４または５記載のサーバ装置。
【請求項７】
請求項１から６の何れか１項に記載のサーバ装置に前記端末が接続されて構成され、前記端末が前記サーバ装置から送信された画面情報に基づいて画面表示を行うことを特徴とする情報処理システム。
【請求項８】
接続された端末に画面情報を送信して表示させるサーバ装置のプログラムであって、
前記端末における操作入力情報を受信する受信手順と、
前記サーバ装置の画面における前記端末への送信対象領域内に少なくとも一部が表示されているウィンドウでの操作に関連する他の表示要素が表示された場合、該他の表示要素が前記送信対象領域に収まるか否かを判別する判別手順と、
前記判別手順により収まらないと判別された場合、前記他の表示要素の表示領域を前記送信対象領域内に収まるよう変更する変更手順と、
前記変更手順により変更された場合、該変更された状態での前記端末における操作入力を該変更前の状態での操作入力に変換し、
前記変更手順により変更され、前記受信手順により受信された前記端末の座標入力手段による入力座標が該変更された前記他の表示要素の表示領域内である場合、該入力座標を前記変更手順による変更前の該他の表示要素の座標に変換し、
前記変更手順により変更され、前記受信手順により受信された前記端末の座標入力手段による入力座標が、該変更された前記他の表示要素の表示領域の外部で、該変更前の該他の表示要素の表示領域内である場合、前記受信手順により受信された前記端末による操作入力を該他の表示要素より１つ背面の表示要素における、該変更前の該他の表示要素の表示領域内に相当する領域への操作とするよう変換する入力変換手順と、を前記サーバ装置に実行させることを特徴とするサーバ装置のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント端末をサーバ装置に接続することにより、そのクライアント端末からサーバ装置のアプリケーションを利用できる情報処理システム、サーバ装置、およびサーバ装置のプログラムに関する。
【背景技術】
【０００２】
一般に、クライアント端末とサーバ装置とがネットワークを介して接続され、互いに処理を分担しながら連携して動作するクライアント・サーバシステムが知られている。
こうしたクライアント・サーバシステムとして、処理の大半をサーバ装置が分担し、サーバ装置の各種アプリケーションをクライアント端末から利用可能とするものがある。
【０００３】
こうしたシステムでは、例えばクライアント端末がノートＰＣや携帯電話である場合など、クライアント端末よりもサーバ装置の方が画面サイズが大きい場合が多くある。
こうした場合、サーバ装置が作成するデスクトップ全体を縮小してクライアント端末の表示画面に表示させるか、デスクトップの一部領域のみを抜き出してクライアント端末の表示画面に表示させることが行われている。
【０００４】
また、本出願人による情報処理システムとして、サーバ装置のデスクトップにおける一部領域を抜き出してクライアント端末に送信する構成において、サーバ装置で実行されているアプリケーションによるウィンドウの大きさをその送信対象の一部領域に納めるよう調整するものがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２３８０６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述のようにしてユーザがクライアント端末からサーバ装置のアプリケーションを利用している場合に、そのアプリケーションのウィンドウから、例えば漢字変換のための選択肢を示す変換ボックスなど、操作に関連する他の表示要素が表示される場合がある。こうした場合に、上述した特許文献１によるシステムなど、サーバ装置のデスクトップにおける一部領域のみを抜き出してクライアント端末の表示画面に表示させていると、図１０に示すように、表示された他の表示要素が、クライアント端末の画面外となってしまうことがあった。
【０００７】
このように、作業中のウィンドウから他の表示要素が表示された場合に、その表示要素がクライアント端末の画面外（画面内に表示されない状態）となってしまうと、ユーザはその表示要素を用いて操作を行うために画面をスクロールする必要が出てしまうなど、ユーザの利便性を損ねてしまうおそれがあった。特に、クライアント端末が小型のモバイル機器である場合、画面のスクロールなどのための操作部も小型化されている場合が多く、ユーザの利便性をさらに損ねてしまうおそれがあった。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、クライアント端末にサーバ装置から画面情報を送信して表示させるクライアント・サーバシステムにおいて、ウィンドウでの操作に関連する他の表示要素が表示された場合であってもユーザにとって操作のし易い情報処理システム、サーバ装置、およびサーバ装置のプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
かかる目的を達成するために、本発明に係るサーバ装置は、接続された端末に画面情報を送信して表示させるサーバ装置であって、サーバ装置のデスクトップ内に表示されているウィンドウでの操作に関連する他の表示要素が表示され、該他の表示要素が端末への送信対象領域に収まらない場合、該他の表示要素の表示領域を該送信対象領域内に収まるよう変更して端末に送信し、かつ、該変更された状態での端末における操作入力を、該変更前の状態での操作入力に変換し、表示領域を変更された該他の表示要素による端末での操作を可能とすることを特徴とする。
【００１０】
また、本発明に係るサーバ装置は、接続された端末に画面情報を送信して表示させるサーバ装置であって、端末における操作入力情報を受信する受信手段と、サーバ装置の画面における端末への送信対象領域内に少なくとも一部が表示されているウィンドウでの操作に関連する他の表示要素が表示された場合、該他の表示要素が送信対象領域に収まるか否かを判別する判別手段と、判別手段により収まらないと判別された場合、他の表示要素の表示領域が送信対象領域内に収まるようＯＳで修正される表示位置にウィンドウの表示位置を変更する変更手段と、を備えてもよい。
【００１１】
また、本発明に係る情報処理システムは、上述した本発明に係るサーバ装置に端末が接続されて構成され、端末がサーバ装置から送信された画面情報に基づいて画面表示を行うことを特徴とする。
【００１２】
また、本発明に係るサーバ装置のプログラムは、接続された端末に画面情報を送信して表示させるサーバ装置のプログラムであって、端末における操作入力情報を受信する受信手順と、サーバ装置の画面における端末への送信対象領域内に少なくとも一部が表示されているウィンドウでの操作に関連する他の表示要素が表示された場合、該他の表示要素が送信対象領域に収まるか否かを判別する判別手順と、判別手順により収まらないと判別された場合、他の表示要素の表示領域を送信対象領域内に収まるよう変更する変更手順と、変更手順により変更された場合、該変更された状態での端末における操作入力を該変更前の状態での操作入力に変換する入力変換手順と、をサーバ装置に実行させることを特徴とする。
【発明の効果】
【００１３】
以上のように、本発明によれば、クライアント端末にサーバ装置から画面情報を送信して表示させる構成で、ウィンドウでの操作に関連する他の表示要素が表示された場合であっても、ユーザにとっての操作をし易くさせることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態の概略を説明する図である。
【図２】本実施形態の情報処理システムの構成例を示すブロック図である。
【図３】第１の実施形態による動作の全体を示すフローチャートである。
【図４】図３ステップＳ３での判別方法の詳細を示すフローチャートである。
【図５】図３ステップＳ６での位置変更方法の詳細を示すフローチャートである。
【図６】図３ステップＳ７での座標変換、合成方法の詳細を示すフローチャートである。
【図７】本発明の第２の実施形態の概略を説明する図である。
【図８】第２の実施形態による動作の全体を示すフローチャートである。
【図９】図８ステップＳ５４での位置変更方法の詳細を示すフローチャートである。
【図１０】従来のシステムにおける問題点を説明する図である。
【発明を実施するための形態】
【００１５】
次に、本発明に係る情報処理システム、サーバ装置、およびサーバ装置のプログラムを適用した一実施形態について、図面を用いて詳細に説明する。
【００１６】
〔第１の実施形態〕
まず、本発明の第１の実施形態の概略について説明する。
本実施形態の情報処理システムでは、図１に示すように、サーバ装置のデスクトップ１０１における所定の一部領域（送信対象領域）の画面情報をクライアント端末に送信し、表示画面２０１に仮想画面として表示させるようになっている。
【００１７】
ここで、実行中のアプリケーションによるウィンドウ１０３での作業中に、例えば、文字入力の際の漢字変換のための選択肢を示す選択ボックスや、マウスの右クリックによる右クリックメニューの操作ボタン列など、操作に関連する表示要素がホップアップして表示されることがある。
【００１８】
従来の構成では、こうしたホップアップウィンドウが、サーバ装置のデスクトップにおける送信対象領域の外部にまたがる位置に表示された場合、図１０により上述したように、クライアント端末の表示画面２０１にはその送信対象領域の外部となった部分が表示されなくなってしまっていた。
【００１９】
このため、本実施形態では、ホップアップウィンドウ１０４がその送信対象領域内に収まらない位置に表示された場合、サーバ装置は、そのホップアップウィンドウ１０４の画像をキャプチャし、図１に示すように、ホップアップウィンドウ１０４全体が送信対象領域内に収まるよう移動させた状態でホップアップウィンドウ１０４の１つ背面（図１の例ではウィンドウ１０３）の画像と画像合成し、クライアント端末に送信する。こうして、ホップアップウィンドウ１０４全体がクライアント端末の画面内に表示されるようにする。
【００２０】
さらに、この変更前後のホップアップウィンドウ１０４の表示領域については、クライアント端末で入力されるマウスポインタの座標変換を行い、サーバでは表示領域変更前の状態での操作入力となるよう変換する。このことにより、クライアント端末に仮想画面として表示された位置変更後のホップアップウィンドウでも、通常のホップアップウィンドウの場合と同様に操作ができる。
【００２１】
次に、本実施形態の情報処理システムの構成例について、図２を参照して説明する。
本実施形態の情報処理システムは、図２に示すように、サーバ１０にクライアント端末２０が接続されて構成される。こうしてクライアント・サーバシステムを構成することにより、処理の大半をサーバ１０に分担させ、クライアント端末２０からサーバ１０の各種アプリケーションを利用可能となっている。
【００２２】
サーバ１０、クライアント端末２０の制御部は、それぞれ不図示の記憶部に格納されたプログラムによりＣＰＵなどが処理を行うことで実現される。表示部は、表示制御部の制御により操作のための各種ウィンドウ等を表示させる。
【００２３】
サーバ１０の通信部１４は、クライアント端末２０の通信部２４との間で通信を行う。サーバ１０とクライアント端末２０との接続は、各種のネットワークを介した接続であってもよく、介さない直接の接続であってもよい。
【００２４】
クライアント端末２０の入力部２５は、マウスなど画面上での指定位置座標を入力する座標入力デバイスを少なくとも含むものとする。クライアント端末２０は、この入力部２５による操作入力内容をサーバ１０に送信する。
【００２５】
こうした構成により、サーバ１０は、表示部１１の描画領域における所定領域をクライアント端末１０に送信し、仮想画面として表示させ、クライアント端末２０からサーバ１０の各種アプリケーションを利用可能とさせる。
【００２６】
サーバ１０は、クライアント端末２０にデスクトップ１０１の所定領域を送信するためのモードとして、例えば全体表示モード、等倍表示モード、調整表示モードといった各種の表示モードを備える。
【００２７】
これら表示モードの選択については、例えば画面上などに表示モードの切り替えボタンが設けられ、そうした切り替えボタン等によりクライアント端末２０の入力部２５から表示モードの切り替えコマンドが入力されると、通信部２４はその切り替えコマンドをサーバ１０に送信する。サーバ１０が通信部１４によりその切り替えコマンドを受信すると、制御部１３は、入力された表示モードでの表示に切り替える。
【００２８】
全体表示モードでは、サーバ１０の表示部１１の描画領域全体の画像を制御部１３がキャプチャしてクライアント端末２０に送信する。クライアント端末２０の表示制御部２２は、クライアント端末１０の表示画面サイズがサーバ１０の画面サイズより小さい場合や縦横比が異なる場合、送信された画像に対して縮小および縦横比の調整を行い、クライアント端末２０の表示部２１の描画領域全体に表示させる。
【００２９】
等倍表示モードでは、クライアント端末２０の表示部２１の描画領域全体と同じピクセルサイズの所定領域をクライアント端末２０への送信対象領域とし、その送信対象領域の画像を制御部１３がキャプチャしてクライアント端末２０に送信する。クライアント端末２０の表示制御部２２は、送信された画像を拡大／縮小せずに等倍のままで表示部２１に表示させる。
【００３０】
調整表示モードでは、まず、ユーザの入力により指定されたウィンドウをクライアント端末２０の表示部２１の描画領域全体と同じピクセルサイズでサーバ１０の表示部１１の描画領域に表示させ、その同じピクセルサイズに調整された指定ウィンドウの表示領域をクライアント端末２０への送信対象領域とし、その指定ウィンドウの表示領域の画像を制御部１３がキャプチャしてクライアント端末２０に送信する。クライアント端末２０の表示制御部２２は、送信された画像を等倍のままで表示部２１に表示させる。
【００３１】
上述した図１の例では、サーバ１０の「テキストエディター」というアプリケーションによるウィンドウが調整対象のウィンドウとして指定された場合の調整表示モードの表示例を示す。
このように、調整対象として指定されたウィンドウの画像がクライアント端末２０の表示画面２０１全体にぴったり合うよう自動調整されて表示される。
【００３２】
このため、ユーザはクライアント端末２０の画面全体を、調整対象として指定したウィンドウの表示に用いることができる。このため、特にモバイル端末の場合などクライアント端末２０の表示画面が小さい場合であっても、その表示画面を有効に活用することができる。
【００３３】
また、この調整表示モードでは、ユーザの入力により指定されたウィンドウをクライアント端末２０の表示部２１の描画領域全体と同じ縦横比でサーバ１０の表示部１１の描画領域に表示させ、その同じ縦横比に調整された指定ウィンドウの表示領域の画像を制御部１３がキャプチャしてクライアント端末２０に送信する構成であってもよい。この場合、クライアント端末２０の表示制御部２２は、クライアント端末１０の表示画面サイズに応じて送信された画像を縮小など調整し、クライアント端末２０の表示部２１の描画領域全体に表示させる。
【００３４】
この縦横比を同じにする構成であっても、調整対象として指定したウィンドウの表示にクライアント端末２０の画面全体を用いることができ、表示画面を有効に活用することができる。
【００３５】
サーバ１０がこうした各表示モードを備えることにより、クライアント端末２０を操作しているユーザは、サーバ１０のアプリケーションを、サーバ１０のデスクトップ１０１で作業しているのと同じ感覚で操作できるようになっている。
【００３６】
次に、本実施形態の動作について説明する。
まず、本実施形態による動作の全体について図３のフローチャートを参照して説明した後、細部の動作について順次後述する。
【００３７】
以下の動作例では、ユーザがクライアント端末２０からサーバ１０のアプリケーションを利用して作業し、調整表示モードで画面表示させている場合におけるサーバ１０の動作例について説明する。
【００３８】
サーバ１０の制御部１３は、調整表示モードによる調整対象ウィンドウで作業が行われている間、例えば文字入力の際の漢字変換のための選択肢を示す選択ボックスや、マウスの右クリックによる右クリックメニューの操作ボタン列など、操作に関連する表示要素としてのホップアップウィンドウが表示されているかどうかを随時チェックする（ステップＳ１）。このチェック方法としては、例えば０．５秒ごとなど、予め設定された時間毎に確認する方法であってもよく、端末での操作入力が行われる毎に確認する方法などであってもよい。
【００３９】
ホップアップウィンドウが新たに検出された場合、そのホップアップウィンドウの基準点座標および各辺の長さ情報を取得し（ステップＳ２）、サーバ１０の画面におけるクライアント端末２０への送信対象領域からそのホップアップウィンドウがはみ出しているか否かを判別する（ステップＳ３）。クライアント端末２０への送信対象領域は、調整表示モードの場合、調整対象として指定されたウィンドウの表示領域となっている。このステップＳ３での判別方法については、図４を参照して後述する。
【００４０】
ホップアップウィンドウが送信対象領域からはみ出している場合、サーバ１０の制御部１３は、調整対象ウィンドウの画像と、ホップアップウィンドウの画像とをそれぞれ取得する（ステップＳ４、Ｓ５）。この時、取得対象のウィンドウについて、ウィンドウハンドルを指定して画像をキャプチャすることにより、画面表示で隠れてしまっている部分についてもキャプチャすることができる。このため、調整対象ウィンドウについても、ホップアップウィンドウが表示されていない状態での画像をキャプチャすることができる。
【００４１】
こうしてそれぞれの画像を取得すると、サーバ１０の制御部１３は、ホップアップウィンドウがクライアント端末２０への送信対象領域からはみ出ないように表示位置を変更し、その変更した状態で、調整対象ウィンドウの画像とホップアップウィンドウの画像とを合成する（ステップＳ６）。調整表示モードでは、クライアント端末２０に、この合成された調整対象ウィンドウおよびホップアップウィンドウの画像が、送信対象領域の画像として送信されることとなる。このステップＳ６での位置変更方法については、図５を参照して後述する。
【００４２】
サーバ１０の制御部１３は、クライアント端末２０でのマウスによる入力座標を受信すると、サーバ１０におけるホップアップウィンドウの表示位置に合うように変換し、その変換された入力座標でサーバ１０の画面にマウスポインタを表示し、クリック操作を受ける。また、上述したステップＳ６で合成された調整対象ウィンドウおよびホップアップウィンドウの画像には、変換前の入力座標によるマウスポインタの画像を合成してクライアント端末２０への送信画像とする（ステップＳ７）。このステップＳ７での座標変換、合成方法については、図６を参照して後述する。
【００４３】
ステップＳ１で検出されたホップアップウィンドウがクローズされるまで、ステップＳ７での座標変換および画像合成を行い、クローズされることで本フローは終了する（ステップＳ８）。
【００４４】
次に、上述した図３ステップＳ３における、ホップアップウィンドウがクライアント端末２０への送信対象領域からはみ出しているか否かの判別方法について、図４のフローチャートを参照して説明する。
【００４５】
以下の説明では、図４に示すように、サーバ１０のデスクトップ中で左上を原点（０，０）として、ポップアップウィンドウの左上の基準点の絶対座標を（ｐｘ，ｐｙ）、ポップアップウィンドウの幅をｐｗ、高さをｐｈとする。また、クライアント端末２０への送信対象領域の左上の基準点の絶対座標を（ｃｘ，ｃｙ）、送信対象領域の幅をｃｗ、高さをｃｈとする。また、送信対象領域に対してポップアップウィンドウがはみ出している方向を示す変数をpdirectとする。
【００４６】
まず、変数pdirectを初期化する（ステップＳ１１）。
ｐｘ＜ｃｘであれば（ステップＳ１２；ＴＲＵＥ）、ｘ座標方向での判断として、ホップアップウィンドウがクライアント端末２０への送信対象領域から左方向にはみ出していると判別する（ステップＳ１５）。
【００４７】
ｃｘ＋ｃｗ＜ｐｘ＋ｐｗであれば（ステップＳ１３；ＴＲＵＥ）、ｘ座標方向での判断として、ホップアップウィンドウがクライアント端末２０への送信対象領域から右方向にはみ出していると判別する（ステップＳ１４）。
【００４８】
ｐｙ＜ｃｙであれば（ステップＳ１６；ＴＲＵＥ）、ｙ座標方向での判断として、ホップアップウィンドウがクライアント端末２０への送信対象領域から上方向にはみ出していると判別する（ステップＳ１９）。
【００４９】
ｃｙ＋ｃｈ＜ｐｙ＋ｐｈであれば（ステップＳ１７；ＴＲＵＥ）、ｙ座標方向での判断として、ホップアップウィンドウがクライアント端末２０への送信対象領域から下方向にはみ出していると判別する（ステップＳ１８）。
【００５０】
以上の判断を行い、変数pdirectが初期状態のままであれば（ステップＳ２０；ＴＲＵＥ）、ホップアップウィンドウがクライアント端末２０への送信対象領域からはみ出ていないと判別される（ステップＳ２２）。初期状態でなければ、変数pdirectとして記録された方向にはみ出ていると判別される（ステップＳ２１）。
【００５１】
次に、上述した図３ステップＳ６における、ホップアップウィンドウがクライアント端末２０への送信対象領域からはみ出さないように位置変更する方法について、図５のフローチャートを参照して説明する。
【００５２】
以下の説明では、図５に示すように、サーバ１０のデスクトップ中で左上を原点（０，０）として、ポップアップウィンドウの左上の基準点の絶対座標を（ｐｘ，ｐｙ）、ポップアップウィンドウの幅をｐｗ、高さをｐｈとする。また、クライアント端末２０への送信対象領域の左上の基準点の絶対座標を（ｃｘ，ｃｙ）、送信対象領域の幅をｃｗ、高さをｃｈとする。また、送信対象領域に対してポップアップウィンドウがはみ出している方向を示す変数をpdirectとする。
また、移動後のポップアップウィンドウの左上の基準点の絶対座標を（ｐ’ｘ，ｐ’ｙ）とする。
【００５３】
まず、上述した図４に示すはみ出しているか否かの判別動作により、はみ出し方向の変数pdirectが左方向である場合（ステップＳ３１；ＴＲＵＥ）、ポップアップウィンドウの左上の基準点のｘ座標ｐ’ｘをｃｘとするようにホップアップウィンドウの表示領域を移動させる（ステップＳ３４）。
【００５４】
また、はみ出し方向の変数pdirectが右方向である場合（ステップＳ３２；ＴＲＵＥ）、ポップアップウィンドウの左上の基準点のｘ座標ｐ’ｘをｃｘ＋ｃｗ−ｐｗとするようにホップアップウィンドウの表示領域を移動させる（ステップＳ３３）。
【００５５】
また、はみ出し方向の変数pdirectが上方向である場合（ステップＳ３５；ＴＲＵＥ）、ポップアップウィンドウの左上の基準点のｙ座標ｐ’ｙをｃｙとするようにホップアップウィンドウの表示領域を移動させる（ステップＳ３８）。
【００５６】
また、はみ出し方向の変数pdirectが下方向である場合（ステップＳ３６；ＴＲＵＥ）、ポップアップウィンドウの左上の基準点のｙ座標ｐ’ｙをｃｙ＋ｃｈ−ｐｈとするようにホップアップウィンドウの表示領域を移動させる（ステップＳ３７）。
【００５７】
なお、上述した図５に示す移動量は、はみ出さない最低限を示す一例であり、ホップアップウィンドウがクライアント端末２０への送信対象領域からはみ出さない範囲で予め設定された値であれば、例えばホップアップウィンドウを送信対象領域ぎりぎりよりも少し内側に移動させるように設定するなど、移動量の設定は任意であってよい。
【００５８】
次に、上述した図３ステップＳ７における、マウスによる入力操作の変換と画像合成の方法について、図６のフローチャートを参照して説明する。
【００５９】
以下の説明では、図６に示すように、サーバ１０のデスクトップ中で左上を原点（０，０）として、ポップアップウィンドウの左上の基準点の絶対座標を（ｐｘ，ｐｙ）、ポップアップウィンドウ合成後の左上の基準点の絶対座標を（ｐ’ｘ，ｐ’ｙ）、ポップアップウィンドウの移動量を（ｘ，ｙ）、幅をｐｗ、高さをｐｈとする。また、クライアント端末２０への送信対象領域の左上の基準点の絶対座標を（ｃｘ，ｃｙ）、送信対象領域の幅をｃｗ、高さをｃｈとする。
また、ポップアップウィンドウの移動量を（ｘ，ｙ）、クライアント端末２０でのマウス座標を（ｍｘ，ｍｙ）、サーバ１０での表示用に変換したマウス座標を（ｓｍｘ，ｓｍｙ）とする。
【００６０】
まず、ポップアップウィンドウの左上の基準点のｘ座標、ｙ座標それぞれの変化量により、ポップアップウィンドウの移動量（ｘ，ｙ）を保存する（ステップＳ４１）。
【００６１】
移動後のポップアップウィンドウの左上の基準点のｘ座標ｐ’ｘについて、ｐ’ｘ＜ｍｘまたはｍｘ＜ｐ’ｘ＋ｐｗであるか、あるいは、移動後のポップアップウィンドウの左上の基準点のｙ座標ｐ’ｙについて、ｐ’ｙ＜ｍｙまたはｍｙ＜ｐ’ｙ＋ｐｈである場合、クライアント端末２０でのマウス座標が図５（図３ステップＳ６）の動作による移動後（画像合成後）のポップアップウィンドウの表示領域内であると判定される（ステップＳ４２；ＴＲＵＥ）。この場合、クライアント端末２０から受信したマウス座標（ｍｘ，ｍｙ）からポップアップウィンドウの移動量（ｘ，ｙ）を差し引くことで、マウス座標をホップアップウィンドウ移動前の位置に戻すよう変換し、サーバ１０でのマウス座標（ｓｍｘ，ｓｍｙ）とする（ステップＳ４３）。
【００６２】
サーバ１０でのマウス座標（ｓｍｘ，ｓｍｙ）が算出されると、そのマウス座標（ｓｍｘ，ｓｍｙ）の位置でサーバ１０の表示部１１にマウスポインタを表示し、クライアント端末２０でのクリック操作を受ける。また、調整対象ウィンドウ１０３およびホップアップウィンドウ１０４の合成された画像には、変換前のクライアント端末２０でのマウス座標（ｍｘ，ｍｙ）によりマウスポインタの画像を合成してクライアント端末２０への送信画像とする（ステップＳ４６）。マウスポインタはキャプチャできないため、変換されたマウス座標の位置に、サーバ１０に予め用意したポインタ画像などを合成する。
【００６３】
クライアント端末２０でのマウス座標が移動後のポップアップウィンドウの表示領域に収まっていないと判定された場合、移動前、すなわちサーバ１０の表示画面におけるポップアップウィンドウの左上の基準点のｘ座標ｐｘについて、ｐｘ＜ｍｘまたはｍｘ＜ｐｘ＋ｐｗであるか、あるいは、移動前のポップアップウィンドウの左上の基準点のｙ座標ｐｙについて、ｐｙ＜ｍｙまたはｍｙ＜ｐｙ＋ｐｈであるかを判定する（ステップＳ４４）。何れかに該当する場合（ステップＳ４４；ＴＲＵＥ）、クライアント端末２０でのマウス座標が図５（図３ステップＳ６）の動作による移動前、すなわちサーバ１０の表示画面におけるポップアップウィンドウの表示領域内であると判定される。このため、座標変換は行わず、クライアント端末２０からマウスによるクリック操作が受信された場合に、そのクリック操作をポップアップウィンドウ１０４に対する操作ではなく、ホップアップウィンドウ１０４より１つ背面の表示要素である調整対象ウィンドウ１０３に対する操作とするよう変換する（ステップＳ４５）。
【００６４】
上述したステップＳ４４の条件の何れかに該当する場合には、座標変換を行っていないため、クライアント端末２０から受信したマウス座標（ｍｘ，ｍｙ）の位置でサーバ１０の表示部１１にマウスポインタを表示する。また、調整対象ウィンドウ１０３およびホップアップウィンドウ１０４の合成された画像に、そのクライアント端末２０から受信したマウス座標（ｍｘ，ｍｙ）でのマウスポインタの画像を上述のように合成してクライアント端末２０への送信画像とする（ステップＳ４６）。
【００６５】
以上のように、上述した実施形態によれば、クライアント端末２０からサーバ１０のアプリケーションで作業している際に、クライアント端末２０への送信対象領域外にまたがって、そのアプリケーションのウィンドウ１０３からホップアップウィンドウ１０４が表示された場合であっても、そのホップアップウィンドウ１０４の表示位置を移動させることにより、そのホップアップウィンドウをクライアント端末２０の表示画面２０１内に表示させることができる。このため、ユーザは画面をスクロールする必要なく、操作に関連するホップアップウィンドウの全体を画面内で視認することができ、ユーザの利便性を大きく向上させることができる。
【００６６】
また、クライアント端末２０のマウスによる入力座標やクリック操作を、ホップアップウィンドウの位置移動前の状態にサーバ１０が変換する。このため、ユーザは、クライアント端末２０に仮想画面として表示されているホップアップウィンドウにより、通常のホップアップウィンドウと同様にマウス等による操作を行うことができる。
【００６７】
また、クライアント端末２０に送信する画面情報は、調整対象ウィンドウ１０３およびホップアップウィンドウ１０４の合成された画像に、変換していないクライアント端末２０でのマウス座標によりマウスポインタの画像を合成して作成される。このため、クライアント端末２０の表示画面２０１でも、サーバ１０のポインタ画像を、ネットワークによる伝送遅延の影響を除いてはクライアント端末２０のポインタ画像と同じ位置に表示させることができる。すなわち、マウスポインタの画像についても、クライアント端末２０の仮想画面に、ホップアップウィンドウ１０４の表示位置移動をユーザに意識させることなく表示することができる。
【００６８】
上述のように、等倍表示モードや調整表示モードでは、サーバ１０の表示画面サイズの方がクライアント端末２０の表示画面サイズより大きい場合、サーバ１０の画面の描画領域から一部領域を切り出してクライアント端末２０に送信することとなる。特に、クライアント端末が携帯用のノートＰＣ、携帯電話などのモバイル端末である場合、ユーザは小さい画面をなるべく有効に活用しようとするため、等倍表示モードや調整表示モードを用いて作業中のウィンドウを大きく表示させることが多い。また、小型化されたモバイル端末では、操作部分も小型化されていることが多く、画面をスクロールするにも手間がかかることが多い。
本実施形態によれば、クライアント端末２０がこうした小型のモバイル端末である場合についても、ホップアップウィンドウをクライアント端末２０の表示画面２０１内に表示させることができ、ユーザの利便性を特に大きく向上させることができる。
【００６９】
また、本実施形態では、画像合成してクライアント端末２０に送信する画面情報を作成したり、マウスポインタの座標変換を行うことによりホップアップウィンドウの位置移動を行うため、コンピュータにおけるＯＳ（Operating System）の機能には何ら修正を必要とせず、上述した各効果を得るための構成を実装することができる。
【００７０】
〔第２の実施形態〕
次に、本発明の第２の実施形態について説明する。
この第２の実施形態は、ＯＳの機能を用いてホップアップウィンドウの位置修正を行うものである。上述した第１の実施形態と同様のものについては説明を省略する。
【００７１】
まず、第２の実施形態の概略について、図７を参照して説明する。
本実施形態の情報処理システムでは、サーバ１０のアプリケーションによるウィンドウ１０３での作業中に、ホップアップウィンドウ１０４がクライアント端末２０への送信対象領域内に収まらない位置に表示された場合、サーバ１０のデスクトップ１０１内で、ウィンドウ１０３の表示位置をホップアップウィンドウ１０４のはみ出し方向に移動させ、クライアント端末２０への送信対象領域もそのウィンドウ１０３の表示位置に合わせて移動させる。
【００７２】
こうしてウィンドウ１０３の表示位置をサーバ１０のデスクトップ１０１の縁端部近傍まで移動させると、ＯＳの機能により、ホップアップウィンドウの表示位置が自動的に縁端部と反対方向に移動する。
例えば図７の例では、ホップアップウィンドウ１０４がクライアント端末２０への送信対象領域から下方にはみ出ている場合、ウィンドウ１０３の表示位置をデスクトップの下方へ所定位置まで移動させることにより、ＯＳの機能で自動的にホップアップウィンドウ１０４の表示位置が上側へ移動する。
【００７３】
こうして、ホップアップウィンドウ１０４全体がクライアント端末２０の画面内に表示されるようになる。この場合、上述した第１の実施形態のようにマウス座標の変換を必要としないため、クライアント端末２０に仮想画面として表示されたホップアップウィンドウでも、通常のホップアップウィンドウの場合と同様に操作ができる。
【００７４】
次に、本実施形態の動作について説明する。
まず、本実施形態による動作の全体について図８のフローチャートを参照して説明した後、細部の動作について後述する。
【００７５】
以下の動作例では、ユーザがクライアント端末２０からサーバ１０のアプリケーションを利用して作業し、調整表示モードで画面表示させている場合におけるサーバ１０の動作例について説明する。
【００７６】
サーバ１０の制御部１３は、調整表示モードによる調整対象ウィンドウで作業が行われている間、上述した第１の実施形態と同様に、操作に関連する表示要素としてのホップアップウィンドウが表示されているかどうかを随時チェックする（ステップＳ５１）。
【００７７】
ホップアップウィンドウが新たに検出された場合、そのホップアップウィンドウの基準点座標および各辺の長さ情報を取得し（ステップＳ５２）、サーバ１０の画面におけるクライアント端末２０への送信対象領域からそのホップアップウィンドウがはみ出しているか否かを判別する（ステップＳ５３）。このステップＳ５３での判別方法は、上述した第１の実施形態におけるステップＳ３と同様である。
【００７８】
ホップアップウィンドウ１０４が送信対象領域からはみ出している場合、サーバ１０の制御部１３は、ホップアップウィンドウ１０４が調整対象ウィンドウ１０３の表示領域からはみ出さないように調整対象ウィンドウ１０３の表示位置を変更する（ステップＳ５４）。
【００７９】
次に、上述した図８ステップＳ５４における、調整対象ウィンドウ１０３の表示位置変更方法について、図９のフローチャートを参照して説明する。
【００８０】
以下の説明では、図９に示すように、サーバ１０のデスクトップ中で左上を原点（０，０）として、クライアント端末２０への送信対象領域である調整対象ウィンドウ１０３の左上の基準点の絶対座標を（ｃｘ，ｃｙ）、調整対象ウィンドウ１０３の幅をｃｗ、高さをｃｈとする。また、サーバ１０のデスクトップの幅をｓｗ、高さをｓｈとする。
また、送信対象領域に対してポップアップウィンドウがはみ出している方向を示す変数をpdirectとする。
【００８１】
まず、上述したステップＳ５３によるはみ出しているか否かの判別動作により、はみ出し方向の変数pdirectが左方向である場合（ステップＳ６１；ＴＲＵＥ）、調整対象ウィンドウ１０３の左上の基準点のｘ座標ｃｘを０とするように調整対象ウィンドウ１０３の表示領域を移動させる（ステップＳ６４）。
【００８２】
また、はみ出し方向の変数pdirectが右方向である場合（ステップＳ６２；ＴＲＵＥ）、調整対象ウィンドウ１０３の左上の基準点のｘ座標ｃｘをｓｗ−ｃｗとするように調整対象ウィンドウ１０３の表示領域を移動させる（ステップＳ６３）。
【００８３】
また、はみ出し方向の変数pdirectが上方向である場合（ステップＳ６５；ＴＲＵＥ）、ポップアップウィンドウの左上の基準点のｙ座標ｃｙを０とするように調整対象ウィンドウ１０３の表示領域を移動させる（ステップＳ６８）。
【００８４】
また、はみ出し方向の変数pdirectが下方向である場合（ステップＳ６６；ＴＲＵＥ）、ポップアップウィンドウの左上の基準点のｙ座標ｃｙをｓｈ−ｃｈとするように調整対象ウィンドウ１０３の表示領域を移動させる（ステップＳ６７）。
【００８５】
なお、上述した図９に示す移動量は、はみ出さない移動量を示す一例であり、ホップアップウィンドウ１０４がクライアント端末２０への送信対象領域からはみ出さない範囲で予め設定された値であれば、移動量の設定は任意であってよい。
【００８６】
また、上述のように調整対象ウィンドウ１０３の表示領域を移動させることにより、クライアント端末２０への送信対象領域も、その移動後の調整対象ウィンドウ１０３の表示領域へと移動されることとなる。
【００８７】
以上のように、上述した第２の実施形態によれば、ＯＳの表示位置調整機能を活用することにより、上述した第１の実施形態と同様の効果を得ることができる。
【００８８】
なお、上述した各実施形態は本発明の好適な実施形態であり、本発明はこれに限定されることなく、本発明の技術的思想に基づいて種々変形して実施することが可能である。
【００８９】
例えば、上述した第１の実施形態では、ホップアップウィンドウ１０４がクライアント端末２０への送信対象領域からはみ出している場合、ホップアップウィンドウの表示位置を移動させることとして説明したが、送信対象領域内に納めることができればこの方法に限定されず、例えばホップアップウィンドウ１０４の画像を縮小してもよい。また、送信対象領域内に収まる形に変形させてもよい。
【００９０】
また、上述した第１の実施形態では、調整表示モードの場合の例について説明したが、例えば等倍表示モードなど、サーバ１０の画面の描画領域から一部領域を切り出してクライアント端末２０に送信することとなる各種の表示モードであっても、本発明は同様に実現することができる。
【００９１】
また、作業対象のウィンドウがクライアント端末２０への送信対象領域内に収まる場合に限定されず、送信対象領域内のウィンドウの一部が表示されており、その送信対象領域内のウィンドウの一部からホップアップウィンドウが表示された場合であっても、本発明は同様に実現することができる。
【００９２】
また、上述した実施形態では、座標入力デバイスがマウスである場合を例として説明したが、座標入力デバイスはこのものに限定されず、例えばトラックボール、タッチパネル、ペンタブレット等各種のデバイスであってよい。
【００９３】
また、上述した各実施形態としてのサーバ１０を実現するための処理手順をプログラムとして記録媒体に記録することにより、本発明の各実施形態による上述した各機能を、その記録媒体から供給されるプログラムによって、システムを構成するコンピュータのＣＰＵに処理を行わせて実現させることができる。
この場合、上記の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
すなわち、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体および該記録媒体から読み出された信号は本発明を構成することになる。
この記録媒体としては、例えばハードディスク、光ディスク、光磁気ディスク、フロッピー（登録商標）ディスク、磁気テープ、不揮発性のメモリーカード、ＲＯＭ等を用いてよい。
【００９４】
この本発明に係るプログラムによれば、当該プログラムによって制御されるサーバ装置に、上述した各実施形態における各機能を実現させることができる。
【符号の説明】
【００９５】
１０    サーバ
１１    表示部
１２    表示制御部
１３    制御部
１４    通信部
２０    クライアント端末
２１    表示部
２２    表示制御部
２３    制御部
２４    通信部
２５    入力部
１０１    サーバ装置のデスクトップ
１０２    アイコン
１０３    調整対象のウィンドウ
１０４    ホップアップウィンドウ
２０１    クライアント端末の表示画面
【図１】
0005594003.tif 000002
【図２】
0005594003.tif 000003
【図３】
0005594003.tif 000004
【図４】
0005594003.tif 000005
【図５】
0005594003.tif 000006
【図６】
0005594003.tif 000007
【図７】
0005594003.tif 000008
【図８】
0005594003.tif 000009
【図９】
0005594003.tif 000010
【図１０】
0005594003.tif 000011