説明

情報処理システム、サーバ装置、およびサーバ装置のプログラム

【課題】クライアント端末にサーバ装置から画面情報を送信して表示させるクライアント・サーバシステムにおいて、ウィンドウでの操作に関連する他の表示要素が表示された場合であってもユーザにとっての操作をし易くする。
【解決手段】ホップアップウィンドウ104がクライアント端末20への送信対象領域内に収まらない位置に表示された場合、サーバ10は、そのホップアップウィンドウ104の画像をキャプチャし、全体が送信対象領域内に収まるよう移動させた状態でホップアップウィンドウ104の1つ背面の画像と画像合成し、クライアント端末20に送信する。さらに、この変更前後のホップアップウィンドウ104の表示領域については、クライアント端末で入力されるマウスポインタの座標変換を行い、サーバでは表示領域変更前の状態での操作入力となるよう変換する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアント端末をサーバ装置に接続することにより、そのクライアント端末からサーバ装置のアプリケーションを利用できる情報処理システム、サーバ装置、およびサーバ装置のプログラムに関する。
【背景技術】
【0002】
一般に、クライアント端末とサーバ装置とがネットワークを介して接続され、互いに処理を分担しながら連携して動作するクライアント・サーバシステムが知られている。
こうしたクライアント・サーバシステムとして、処理の大半をサーバ装置が分担し、サーバ装置の各種アプリケーションをクライアント端末から利用可能とするものがある。
【0003】
こうしたシステムでは、例えばクライアント端末がノートPCや携帯電話である場合など、クライアント端末よりもサーバ装置の方が画面サイズが大きい場合が多くある。
こうした場合、サーバ装置が作成するデスクトップ全体を縮小してクライアント端末の表示画面に表示させるか、デスクトップの一部領域のみを抜き出してクライアント端末の表示画面に表示させることが行われている。
【0004】
また、本出願人による情報処理システムとして、サーバ装置のデスクトップにおける一部領域を抜き出してクライアント端末に送信する構成において、サーバ装置で実行されているアプリケーションによるウィンドウの大きさをその送信対象の一部領域に納めるよう調整するものがある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−238060号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述のようにしてユーザがクライアント端末からサーバ装置のアプリケーションを利用している場合に、そのアプリケーションのウィンドウから、例えば漢字変換のための選択肢を示す変換ボックスなど、操作に関連する他の表示要素が表示される場合がある。こうした場合に、上述した特許文献1によるシステムなど、サーバ装置のデスクトップにおける一部領域のみを抜き出してクライアント端末の表示画面に表示させていると、図10に示すように、表示された他の表示要素が、クライアント端末の画面外となってしまうことがあった。
【0007】
このように、作業中のウィンドウから他の表示要素が表示された場合に、その表示要素がクライアント端末の画面外(画面内に表示されない状態)となってしまうと、ユーザはその表示要素を用いて操作を行うために画面をスクロールする必要が出てしまうなど、ユーザの利便性を損ねてしまうおそれがあった。特に、クライアント端末が小型のモバイル機器である場合、画面のスクロールなどのための操作部も小型化されている場合が多く、ユーザの利便性をさらに損ねてしまうおそれがあった。
【0008】
本発明はこのような状況に鑑みてなされたものであり、クライアント端末にサーバ装置から画面情報を送信して表示させるクライアント・サーバシステムにおいて、ウィンドウでの操作に関連する他の表示要素が表示された場合であってもユーザにとって操作のし易い情報処理システム、サーバ装置、およびサーバ装置のプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
かかる目的を達成するために、本発明に係るサーバ装置は、接続された端末に画面情報を送信して表示させるサーバ装置であって、サーバ装置のデスクトップ内に表示されているウィンドウでの操作に関連する他の表示要素が表示され、該他の表示要素が端末への送信対象領域に収まらない場合、該他の表示要素の表示領域を該送信対象領域内に収まるよう変更して端末に送信し、かつ、該変更された状態での端末における操作入力を、該変更前の状態での操作入力に変換し、表示領域を変更された該他の表示要素による端末での操作を可能とすることを特徴とする。
【0010】
また、本発明に係るサーバ装置は、接続された端末に画面情報を送信して表示させるサーバ装置であって、端末における操作入力情報を受信する受信手段と、サーバ装置の画面における端末への送信対象領域内に少なくとも一部が表示されているウィンドウでの操作に関連する他の表示要素が表示された場合、該他の表示要素が送信対象領域に収まるか否かを判別する判別手段と、判別手段により収まらないと判別された場合、他の表示要素の表示領域が送信対象領域内に収まるようOSで修正される表示位置にウィンドウの表示位置を変更する変更手段と、を備えてもよい。
【0011】
また、本発明に係る情報処理システムは、上述した本発明に係るサーバ装置に端末が接続されて構成され、端末がサーバ装置から送信された画面情報に基づいて画面表示を行うことを特徴とする。
【0012】
また、本発明に係るサーバ装置のプログラムは、接続された端末に画面情報を送信して表示させるサーバ装置のプログラムであって、端末における操作入力情報を受信する受信手順と、サーバ装置の画面における端末への送信対象領域内に少なくとも一部が表示されているウィンドウでの操作に関連する他の表示要素が表示された場合、該他の表示要素が送信対象領域に収まるか否かを判別する判別手順と、判別手順により収まらないと判別された場合、他の表示要素の表示領域を送信対象領域内に収まるよう変更する変更手順と、変更手順により変更された場合、該変更された状態での端末における操作入力を該変更前の状態での操作入力に変換する入力変換手順と、をサーバ装置に実行させることを特徴とする。
【発明の効果】
【0013】
以上のように、本発明によれば、クライアント端末にサーバ装置から画面情報を送信して表示させる構成で、ウィンドウでの操作に関連する他の表示要素が表示された場合であっても、ユーザにとっての操作をし易くさせることができる。
【図面の簡単な説明】
【0014】
【図1】本発明の第1の実施形態の概略を説明する図である。
【図2】本実施形態の情報処理システムの構成例を示すブロック図である。
【図3】第1の実施形態による動作の全体を示すフローチャートである。
【図4】図3ステップS3での判別方法の詳細を示すフローチャートである。
【図5】図3ステップS6での位置変更方法の詳細を示すフローチャートである。
【図6】図3ステップS7での座標変換、合成方法の詳細を示すフローチャートである。
【図7】本発明の第2の実施形態の概略を説明する図である。
【図8】第2の実施形態による動作の全体を示すフローチャートである。
【図9】図8ステップS54での位置変更方法の詳細を示すフローチャートである。
【図10】従来のシステムにおける問題点を説明する図である。
【発明を実施するための形態】
【0015】
次に、本発明に係る情報処理システム、サーバ装置、およびサーバ装置のプログラムを適用した一実施形態について、図面を用いて詳細に説明する。
【0016】
〔第1の実施形態〕
まず、本発明の第1の実施形態の概略について説明する。
本実施形態の情報処理システムでは、図1に示すように、サーバ装置のデスクトップ101における所定の一部領域(送信対象領域)の画面情報をクライアント端末に送信し、表示画面201に仮想画面として表示させるようになっている。
【0017】
ここで、実行中のアプリケーションによるウィンドウ103での作業中に、例えば、文字入力の際の漢字変換のための選択肢を示す選択ボックスや、マウスの右クリックによる右クリックメニューの操作ボタン列など、操作に関連する表示要素がホップアップして表示されることがある。
【0018】
従来の構成では、こうしたホップアップウィンドウが、サーバ装置のデスクトップにおける送信対象領域の外部にまたがる位置に表示された場合、図10により上述したように、クライアント端末の表示画面201にはその送信対象領域の外部となった部分が表示されなくなってしまっていた。
【0019】
このため、本実施形態では、ホップアップウィンドウ104がその送信対象領域内に収まらない位置に表示された場合、サーバ装置は、そのホップアップウィンドウ104の画像をキャプチャし、図1に示すように、ホップアップウィンドウ104全体が送信対象領域内に収まるよう移動させた状態でホップアップウィンドウ104の1つ背面(図1の例ではウィンドウ103)の画像と画像合成し、クライアント端末に送信する。こうして、ホップアップウィンドウ104全体がクライアント端末の画面内に表示されるようにする。
【0020】
さらに、この変更前後のホップアップウィンドウ104の表示領域については、クライアント端末で入力されるマウスポインタの座標変換を行い、サーバでは表示領域変更前の状態での操作入力となるよう変換する。このことにより、クライアント端末に仮想画面として表示された位置変更後のホップアップウィンドウでも、通常のホップアップウィンドウの場合と同様に操作ができる。
【0021】
次に、本実施形態の情報処理システムの構成例について、図2を参照して説明する。
本実施形態の情報処理システムは、図2に示すように、サーバ10にクライアント端末20が接続されて構成される。こうしてクライアント・サーバシステムを構成することにより、処理の大半をサーバ10に分担させ、クライアント端末20からサーバ10の各種アプリケーションを利用可能となっている。
【0022】
サーバ10、クライアント端末20の制御部は、それぞれ不図示の記憶部に格納されたプログラムによりCPUなどが処理を行うことで実現される。表示部は、表示制御部の制御により操作のための各種ウィンドウ等を表示させる。
【0023】
サーバ10の通信部14は、クライアント端末20の通信部24との間で通信を行う。サーバ10とクライアント端末20との接続は、各種のネットワークを介した接続であってもよく、介さない直接の接続であってもよい。
【0024】
クライアント端末20の入力部25は、マウスなど画面上での指定位置座標を入力する座標入力デバイスを少なくとも含むものとする。クライアント端末20は、この入力部25による操作入力内容をサーバ10に送信する。
【0025】
こうした構成により、サーバ10は、表示部11の描画領域における所定領域をクライアント端末10に送信し、仮想画面として表示させ、クライアント端末20からサーバ10の各種アプリケーションを利用可能とさせる。
【0026】
サーバ10は、クライアント端末20にデスクトップ101の所定領域を送信するためのモードとして、例えば全体表示モード、等倍表示モード、調整表示モードといった各種の表示モードを備える。
【0027】
これら表示モードの選択については、例えば画面上などに表示モードの切り替えボタンが設けられ、そうした切り替えボタン等によりクライアント端末20の入力部25から表示モードの切り替えコマンドが入力されると、通信部24はその切り替えコマンドをサーバ10に送信する。サーバ10が通信部14によりその切り替えコマンドを受信すると、制御部13は、入力された表示モードでの表示に切り替える。
【0028】
全体表示モードでは、サーバ10の表示部11の描画領域全体の画像を制御部13がキャプチャしてクライアント端末20に送信する。クライアント端末20の表示制御部22は、クライアント端末10の表示画面サイズがサーバ10の画面サイズより小さい場合や縦横比が異なる場合、送信された画像に対して縮小および縦横比の調整を行い、クライアント端末20の表示部21の描画領域全体に表示させる。
【0029】
等倍表示モードでは、クライアント端末20の表示部21の描画領域全体と同じピクセルサイズの所定領域をクライアント端末20への送信対象領域とし、その送信対象領域の画像を制御部13がキャプチャしてクライアント端末20に送信する。クライアント端末20の表示制御部22は、送信された画像を拡大/縮小せずに等倍のままで表示部21に表示させる。
【0030】
調整表示モードでは、まず、ユーザの入力により指定されたウィンドウをクライアント端末20の表示部21の描画領域全体と同じピクセルサイズでサーバ10の表示部11の描画領域に表示させ、その同じピクセルサイズに調整された指定ウィンドウの表示領域をクライアント端末20への送信対象領域とし、その指定ウィンドウの表示領域の画像を制御部13がキャプチャしてクライアント端末20に送信する。クライアント端末20の表示制御部22は、送信された画像を等倍のままで表示部21に表示させる。
【0031】
上述した図1の例では、サーバ10の「テキストエディター」というアプリケーションによるウィンドウが調整対象のウィンドウとして指定された場合の調整表示モードの表示例を示す。
このように、調整対象として指定されたウィンドウの画像がクライアント端末20の表示画面201全体にぴったり合うよう自動調整されて表示される。
【0032】
このため、ユーザはクライアント端末20の画面全体を、調整対象として指定したウィンドウの表示に用いることができる。このため、特にモバイル端末の場合などクライアント端末20の表示画面が小さい場合であっても、その表示画面を有効に活用することができる。
【0033】
また、この調整表示モードでは、ユーザの入力により指定されたウィンドウをクライアント端末20の表示部21の描画領域全体と同じ縦横比でサーバ10の表示部11の描画領域に表示させ、その同じ縦横比に調整された指定ウィンドウの表示領域の画像を制御部13がキャプチャしてクライアント端末20に送信する構成であってもよい。この場合、クライアント端末20の表示制御部22は、クライアント端末10の表示画面サイズに応じて送信された画像を縮小など調整し、クライアント端末20の表示部21の描画領域全体に表示させる。
【0034】
この縦横比を同じにする構成であっても、調整対象として指定したウィンドウの表示にクライアント端末20の画面全体を用いることができ、表示画面を有効に活用することができる。
【0035】
サーバ10がこうした各表示モードを備えることにより、クライアント端末20を操作しているユーザは、サーバ10のアプリケーションを、サーバ10のデスクトップ101で作業しているのと同じ感覚で操作できるようになっている。
【0036】
次に、本実施形態の動作について説明する。
まず、本実施形態による動作の全体について図3のフローチャートを参照して説明した後、細部の動作について順次後述する。
【0037】
以下の動作例では、ユーザがクライアント端末20からサーバ10のアプリケーションを利用して作業し、調整表示モードで画面表示させている場合におけるサーバ10の動作例について説明する。
【0038】
サーバ10の制御部13は、調整表示モードによる調整対象ウィンドウで作業が行われている間、例えば文字入力の際の漢字変換のための選択肢を示す選択ボックスや、マウスの右クリックによる右クリックメニューの操作ボタン列など、操作に関連する表示要素としてのホップアップウィンドウが表示されているかどうかを随時チェックする(ステップS1)。このチェック方法としては、例えば0.5秒ごとなど、予め設定された時間毎に確認する方法であってもよく、端末での操作入力が行われる毎に確認する方法などであってもよい。
【0039】
ホップアップウィンドウが新たに検出された場合、そのホップアップウィンドウの基準点座標および各辺の長さ情報を取得し(ステップS2)、サーバ10の画面におけるクライアント端末20への送信対象領域からそのホップアップウィンドウがはみ出しているか否かを判別する(ステップS3)。クライアント端末20への送信対象領域は、調整表示モードの場合、調整対象として指定されたウィンドウの表示領域となっている。このステップS3での判別方法については、図4を参照して後述する。
【0040】
ホップアップウィンドウが送信対象領域からはみ出している場合、サーバ10の制御部13は、調整対象ウィンドウの画像と、ホップアップウィンドウの画像とをそれぞれ取得する(ステップS4、S5)。この時、取得対象のウィンドウについて、ウィンドウハンドルを指定して画像をキャプチャすることにより、画面表示で隠れてしまっている部分についてもキャプチャすることができる。このため、調整対象ウィンドウについても、ホップアップウィンドウが表示されていない状態での画像をキャプチャすることができる。
【0041】
こうしてそれぞれの画像を取得すると、サーバ10の制御部13は、ホップアップウィンドウがクライアント端末20への送信対象領域からはみ出ないように表示位置を変更し、その変更した状態で、調整対象ウィンドウの画像とホップアップウィンドウの画像とを合成する(ステップS6)。調整表示モードでは、クライアント端末20に、この合成された調整対象ウィンドウおよびホップアップウィンドウの画像が、送信対象領域の画像として送信されることとなる。このステップS6での位置変更方法については、図5を参照して後述する。
【0042】
サーバ10の制御部13は、クライアント端末20でのマウスによる入力座標を受信すると、サーバ10におけるホップアップウィンドウの表示位置に合うように変換し、その変換された入力座標でサーバ10の画面にマウスポインタを表示し、クリック操作を受ける。また、上述したステップS6で合成された調整対象ウィンドウおよびホップアップウィンドウの画像には、変換前の入力座標によるマウスポインタの画像を合成してクライアント端末20への送信画像とする(ステップS7)。このステップS7での座標変換、合成方法については、図6を参照して後述する。
【0043】
ステップS1で検出されたホップアップウィンドウがクローズされるまで、ステップS7での座標変換および画像合成を行い、クローズされることで本フローは終了する(ステップS8)。
【0044】
次に、上述した図3ステップS3における、ホップアップウィンドウがクライアント端末20への送信対象領域からはみ出しているか否かの判別方法について、図4のフローチャートを参照して説明する。
【0045】
以下の説明では、図4に示すように、サーバ10のデスクトップ中で左上を原点(0,0)として、ポップアップウィンドウの左上の基準点の絶対座標を(px,py)、ポップアップウィンドウの幅をpw、高さをphとする。また、クライアント端末20への送信対象領域の左上の基準点の絶対座標を(cx,cy)、送信対象領域の幅をcw、高さをchとする。また、送信対象領域に対してポップアップウィンドウがはみ出している方向を示す変数をpdirectとする。
【0046】
まず、変数pdirectを初期化する(ステップS11)。
px<cxであれば(ステップS12;TRUE)、x座標方向での判断として、ホップアップウィンドウがクライアント端末20への送信対象領域から左方向にはみ出していると判別する(ステップS15)。
【0047】
cx+cw<px+pwであれば(ステップS13;TRUE)、x座標方向での判断として、ホップアップウィンドウがクライアント端末20への送信対象領域から右方向にはみ出していると判別する(ステップS14)。
【0048】
py<cyであれば(ステップS16;TRUE)、y座標方向での判断として、ホップアップウィンドウがクライアント端末20への送信対象領域から上方向にはみ出していると判別する(ステップS19)。
【0049】
cy+ch<py+phであれば(ステップS17;TRUE)、y座標方向での判断として、ホップアップウィンドウがクライアント端末20への送信対象領域から下方向にはみ出していると判別する(ステップS18)。
【0050】
以上の判断を行い、変数pdirectが初期状態のままであれば(ステップS20;TRUE)、ホップアップウィンドウがクライアント端末20への送信対象領域からはみ出ていないと判別される(ステップS22)。初期状態でなければ、変数pdirectとして記録された方向にはみ出ていると判別される(ステップS21)。
【0051】
次に、上述した図3ステップS6における、ホップアップウィンドウがクライアント端末20への送信対象領域からはみ出さないように位置変更する方法について、図5のフローチャートを参照して説明する。
【0052】
以下の説明では、図5に示すように、サーバ10のデスクトップ中で左上を原点(0,0)として、ポップアップウィンドウの左上の基準点の絶対座標を(px,py)、ポップアップウィンドウの幅をpw、高さをphとする。また、クライアント端末20への送信対象領域の左上の基準点の絶対座標を(cx,cy)、送信対象領域の幅をcw、高さをchとする。また、送信対象領域に対してポップアップウィンドウがはみ出している方向を示す変数をpdirectとする。
また、移動後のポップアップウィンドウの左上の基準点の絶対座標を(p’x,p’y)とする。
【0053】
まず、上述した図4に示すはみ出しているか否かの判別動作により、はみ出し方向の変数pdirectが左方向である場合(ステップS31;TRUE)、ポップアップウィンドウの左上の基準点のx座標p’xをcxとするようにホップアップウィンドウの表示領域を移動させる(ステップS34)。
【0054】
また、はみ出し方向の変数pdirectが右方向である場合(ステップS32;TRUE)、ポップアップウィンドウの左上の基準点のx座標p’xをcx+cw−pwとするようにホップアップウィンドウの表示領域を移動させる(ステップS33)。
【0055】
また、はみ出し方向の変数pdirectが上方向である場合(ステップS35;TRUE)、ポップアップウィンドウの左上の基準点のy座標p’yをcyとするようにホップアップウィンドウの表示領域を移動させる(ステップS38)。
【0056】
また、はみ出し方向の変数pdirectが下方向である場合(ステップS36;TRUE)、ポップアップウィンドウの左上の基準点のy座標p’yをcy+ch−phとするようにホップアップウィンドウの表示領域を移動させる(ステップS37)。
【0057】
なお、上述した図5に示す移動量は、はみ出さない最低限を示す一例であり、ホップアップウィンドウがクライアント端末20への送信対象領域からはみ出さない範囲で予め設定された値であれば、例えばホップアップウィンドウを送信対象領域ぎりぎりよりも少し内側に移動させるように設定するなど、移動量の設定は任意であってよい。
【0058】
次に、上述した図3ステップS7における、マウスによる入力操作の変換と画像合成の方法について、図6のフローチャートを参照して説明する。
【0059】
以下の説明では、図6に示すように、サーバ10のデスクトップ中で左上を原点(0,0)として、ポップアップウィンドウの左上の基準点の絶対座標を(px,py)、ポップアップウィンドウ合成後の左上の基準点の絶対座標を(p’x,p’y)、ポップアップウィンドウの移動量を(x,y)、幅をpw、高さをphとする。また、クライアント端末20への送信対象領域の左上の基準点の絶対座標を(cx,cy)、送信対象領域の幅をcw、高さをchとする。
また、ポップアップウィンドウの移動量を(x,y)、クライアント端末20でのマウス座標を(mx,my)、サーバ10での表示用に変換したマウス座標を(smx,smy)とする。
【0060】
まず、ポップアップウィンドウの左上の基準点のx座標、y座標それぞれの変化量により、ポップアップウィンドウの移動量(x,y)を保存する(ステップS41)。
【0061】
移動後のポップアップウィンドウの左上の基準点のx座標p’xについて、p’x<mxまたはmx<p’x+pwであるか、あるいは、移動後のポップアップウィンドウの左上の基準点のy座標p’yについて、p’y<myまたはmy<p’y+phである場合、クライアント端末20でのマウス座標が図5(図3ステップS6)の動作による移動後(画像合成後)のポップアップウィンドウの表示領域内であると判定される(ステップS42;TRUE)。この場合、クライアント端末20から受信したマウス座標(mx,my)からポップアップウィンドウの移動量(x,y)を差し引くことで、マウス座標をホップアップウィンドウ移動前の位置に戻すよう変換し、サーバ10でのマウス座標(smx,smy)とする(ステップS43)。
【0062】
サーバ10でのマウス座標(smx,smy)が算出されると、そのマウス座標(smx,smy)の位置でサーバ10の表示部11にマウスポインタを表示し、クライアント端末20でのクリック操作を受ける。また、調整対象ウィンドウ103およびホップアップウィンドウ104の合成された画像には、変換前のクライアント端末20でのマウス座標(mx,my)によりマウスポインタの画像を合成してクライアント端末20への送信画像とする(ステップS46)。マウスポインタはキャプチャできないため、変換されたマウス座標の位置に、サーバ10に予め用意したポインタ画像などを合成する。
【0063】
クライアント端末20でのマウス座標が移動後のポップアップウィンドウの表示領域に収まっていないと判定された場合、移動前、すなわちサーバ10の表示画面におけるポップアップウィンドウの左上の基準点のx座標pxについて、px<mxまたはmx<px+pwであるか、あるいは、移動前のポップアップウィンドウの左上の基準点のy座標pyについて、py<myまたはmy<py+phであるかを判定する(ステップS44)。何れかに該当する場合(ステップS44;TRUE)、クライアント端末20でのマウス座標が図5(図3ステップS6)の動作による移動前、すなわちサーバ10の表示画面におけるポップアップウィンドウの表示領域内であると判定される。このため、座標変換は行わず、クライアント端末20からマウスによるクリック操作が受信された場合に、そのクリック操作をポップアップウィンドウ104に対する操作ではなく、ホップアップウィンドウ104より1つ背面の表示要素である調整対象ウィンドウ103に対する操作とするよう変換する(ステップS45)。
【0064】
上述したステップS44の条件の何れかに該当する場合には、座標変換を行っていないため、クライアント端末20から受信したマウス座標(mx,my)の位置でサーバ10の表示部11にマウスポインタを表示する。また、調整対象ウィンドウ103およびホップアップウィンドウ104の合成された画像に、そのクライアント端末20から受信したマウス座標(mx,my)でのマウスポインタの画像を上述のように合成してクライアント端末20への送信画像とする(ステップS46)。
【0065】
以上のように、上述した実施形態によれば、クライアント端末20からサーバ10のアプリケーションで作業している際に、クライアント端末20への送信対象領域外にまたがって、そのアプリケーションのウィンドウ103からホップアップウィンドウ104が表示された場合であっても、そのホップアップウィンドウ104の表示位置を移動させることにより、そのホップアップウィンドウをクライアント端末20の表示画面201内に表示させることができる。このため、ユーザは画面をスクロールする必要なく、操作に関連するホップアップウィンドウの全体を画面内で視認することができ、ユーザの利便性を大きく向上させることができる。
【0066】
また、クライアント端末20のマウスによる入力座標やクリック操作を、ホップアップウィンドウの位置移動前の状態にサーバ10が変換する。このため、ユーザは、クライアント端末20に仮想画面として表示されているホップアップウィンドウにより、通常のホップアップウィンドウと同様にマウス等による操作を行うことができる。
【0067】
また、クライアント端末20に送信する画面情報は、調整対象ウィンドウ103およびホップアップウィンドウ104の合成された画像に、変換していないクライアント端末20でのマウス座標によりマウスポインタの画像を合成して作成される。このため、クライアント端末20の表示画面201でも、サーバ10のポインタ画像を、ネットワークによる伝送遅延の影響を除いてはクライアント端末20のポインタ画像と同じ位置に表示させることができる。すなわち、マウスポインタの画像についても、クライアント端末20の仮想画面に、ホップアップウィンドウ104の表示位置移動をユーザに意識させることなく表示することができる。
【0068】
上述のように、等倍表示モードや調整表示モードでは、サーバ10の表示画面サイズの方がクライアント端末20の表示画面サイズより大きい場合、サーバ10の画面の描画領域から一部領域を切り出してクライアント端末20に送信することとなる。特に、クライアント端末が携帯用のノートPC、携帯電話などのモバイル端末である場合、ユーザは小さい画面をなるべく有効に活用しようとするため、等倍表示モードや調整表示モードを用いて作業中のウィンドウを大きく表示させることが多い。また、小型化されたモバイル端末では、操作部分も小型化されていることが多く、画面をスクロールするにも手間がかかることが多い。
本実施形態によれば、クライアント端末20がこうした小型のモバイル端末である場合についても、ホップアップウィンドウをクライアント端末20の表示画面201内に表示させることができ、ユーザの利便性を特に大きく向上させることができる。
【0069】
また、本実施形態では、画像合成してクライアント端末20に送信する画面情報を作成したり、マウスポインタの座標変換を行うことによりホップアップウィンドウの位置移動を行うため、コンピュータにおけるOS(Operating System)の機能には何ら修正を必要とせず、上述した各効果を得るための構成を実装することができる。
【0070】
〔第2の実施形態〕
次に、本発明の第2の実施形態について説明する。
この第2の実施形態は、OSの機能を用いてホップアップウィンドウの位置修正を行うものである。上述した第1の実施形態と同様のものについては説明を省略する。
【0071】
まず、第2の実施形態の概略について、図7を参照して説明する。
本実施形態の情報処理システムでは、サーバ10のアプリケーションによるウィンドウ103での作業中に、ホップアップウィンドウ104がクライアント端末20への送信対象領域内に収まらない位置に表示された場合、サーバ10のデスクトップ101内で、ウィンドウ103の表示位置をホップアップウィンドウ104のはみ出し方向に移動させ、クライアント端末20への送信対象領域もそのウィンドウ103の表示位置に合わせて移動させる。
【0072】
こうしてウィンドウ103の表示位置をサーバ10のデスクトップ101の縁端部近傍まで移動させると、OSの機能により、ホップアップウィンドウの表示位置が自動的に縁端部と反対方向に移動する。
例えば図7の例では、ホップアップウィンドウ104がクライアント端末20への送信対象領域から下方にはみ出ている場合、ウィンドウ103の表示位置をデスクトップの下方へ所定位置まで移動させることにより、OSの機能で自動的にホップアップウィンドウ104の表示位置が上側へ移動する。
【0073】
こうして、ホップアップウィンドウ104全体がクライアント端末20の画面内に表示されるようになる。この場合、上述した第1の実施形態のようにマウス座標の変換を必要としないため、クライアント端末20に仮想画面として表示されたホップアップウィンドウでも、通常のホップアップウィンドウの場合と同様に操作ができる。
【0074】
次に、本実施形態の動作について説明する。
まず、本実施形態による動作の全体について図8のフローチャートを参照して説明した後、細部の動作について後述する。
【0075】
以下の動作例では、ユーザがクライアント端末20からサーバ10のアプリケーションを利用して作業し、調整表示モードで画面表示させている場合におけるサーバ10の動作例について説明する。
【0076】
サーバ10の制御部13は、調整表示モードによる調整対象ウィンドウで作業が行われている間、上述した第1の実施形態と同様に、操作に関連する表示要素としてのホップアップウィンドウが表示されているかどうかを随時チェックする(ステップS51)。
【0077】
ホップアップウィンドウが新たに検出された場合、そのホップアップウィンドウの基準点座標および各辺の長さ情報を取得し(ステップS52)、サーバ10の画面におけるクライアント端末20への送信対象領域からそのホップアップウィンドウがはみ出しているか否かを判別する(ステップS53)。このステップS53での判別方法は、上述した第1の実施形態におけるステップS3と同様である。
【0078】
ホップアップウィンドウ104が送信対象領域からはみ出している場合、サーバ10の制御部13は、ホップアップウィンドウ104が調整対象ウィンドウ103の表示領域からはみ出さないように調整対象ウィンドウ103の表示位置を変更する(ステップS54)。
【0079】
次に、上述した図8ステップS54における、調整対象ウィンドウ103の表示位置変更方法について、図9のフローチャートを参照して説明する。
【0080】
以下の説明では、図9に示すように、サーバ10のデスクトップ中で左上を原点(0,0)として、クライアント端末20への送信対象領域である調整対象ウィンドウ103の左上の基準点の絶対座標を(cx,cy)、調整対象ウィンドウ103の幅をcw、高さをchとする。また、サーバ10のデスクトップの幅をsw、高さをshとする。
また、送信対象領域に対してポップアップウィンドウがはみ出している方向を示す変数をpdirectとする。
【0081】
まず、上述したステップS53によるはみ出しているか否かの判別動作により、はみ出し方向の変数pdirectが左方向である場合(ステップS61;TRUE)、調整対象ウィンドウ103の左上の基準点のx座標cxを0とするように調整対象ウィンドウ103の表示領域を移動させる(ステップS64)。
【0082】
また、はみ出し方向の変数pdirectが右方向である場合(ステップS62;TRUE)、調整対象ウィンドウ103の左上の基準点のx座標cxをsw−cwとするように調整対象ウィンドウ103の表示領域を移動させる(ステップS63)。
【0083】
また、はみ出し方向の変数pdirectが上方向である場合(ステップS65;TRUE)、ポップアップウィンドウの左上の基準点のy座標cyを0とするように調整対象ウィンドウ103の表示領域を移動させる(ステップS68)。
【0084】
また、はみ出し方向の変数pdirectが下方向である場合(ステップS66;TRUE)、ポップアップウィンドウの左上の基準点のy座標cyをsh−chとするように調整対象ウィンドウ103の表示領域を移動させる(ステップS67)。
【0085】
なお、上述した図9に示す移動量は、はみ出さない移動量を示す一例であり、ホップアップウィンドウ104がクライアント端末20への送信対象領域からはみ出さない範囲で予め設定された値であれば、移動量の設定は任意であってよい。
【0086】
また、上述のように調整対象ウィンドウ103の表示領域を移動させることにより、クライアント端末20への送信対象領域も、その移動後の調整対象ウィンドウ103の表示領域へと移動されることとなる。
【0087】
以上のように、上述した第2の実施形態によれば、OSの表示位置調整機能を活用することにより、上述した第1の実施形態と同様の効果を得ることができる。
【0088】
なお、上述した各実施形態は本発明の好適な実施形態であり、本発明はこれに限定されることなく、本発明の技術的思想に基づいて種々変形して実施することが可能である。
【0089】
例えば、上述した第1の実施形態では、ホップアップウィンドウ104がクライアント端末20への送信対象領域からはみ出している場合、ホップアップウィンドウの表示位置を移動させることとして説明したが、送信対象領域内に納めることができればこの方法に限定されず、例えばホップアップウィンドウ104の画像を縮小してもよい。また、送信対象領域内に収まる形に変形させてもよい。
【0090】
また、上述した第1の実施形態では、調整表示モードの場合の例について説明したが、例えば等倍表示モードなど、サーバ10の画面の描画領域から一部領域を切り出してクライアント端末20に送信することとなる各種の表示モードであっても、本発明は同様に実現することができる。
【0091】
また、作業対象のウィンドウがクライアント端末20への送信対象領域内に収まる場合に限定されず、送信対象領域内のウィンドウの一部が表示されており、その送信対象領域内のウィンドウの一部からホップアップウィンドウが表示された場合であっても、本発明は同様に実現することができる。
【0092】
また、上述した実施形態では、座標入力デバイスがマウスである場合を例として説明したが、座標入力デバイスはこのものに限定されず、例えばトラックボール、タッチパネル、ペンタブレット等各種のデバイスであってよい。
【0093】
また、上述した各実施形態としてのサーバ10を実現するための処理手順をプログラムとして記録媒体に記録することにより、本発明の各実施形態による上述した各機能を、その記録媒体から供給されるプログラムによって、システムを構成するコンピュータのCPUに処理を行わせて実現させることができる。
この場合、上記の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
すなわち、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体および該記録媒体から読み出された信号は本発明を構成することになる。
この記録媒体としては、例えばハードディスク、光ディスク、光磁気ディスク、フロッピー(登録商標)ディスク、磁気テープ、不揮発性のメモリーカード、ROM等を用いてよい。
【0094】
この本発明に係るプログラムによれば、当該プログラムによって制御されるサーバ装置に、上述した各実施形態における各機能を実現させることができる。
【符号の説明】
【0095】
10 サーバ
11 表示部
12 表示制御部
13 制御部
14 通信部
20 クライアント端末
21 表示部
22 表示制御部
23 制御部
24 通信部
25 入力部
101 サーバ装置のデスクトップ
102 アイコン
103 調整対象のウィンドウ
104 ホップアップウィンドウ
201 クライアント端末の表示画面

【特許請求の範囲】
【請求項1】
接続された端末に画面情報を送信して表示させるサーバ装置であって、
前記サーバ装置のデスクトップ内に表示されているウィンドウでの操作に関連する他の表示要素が表示され、該他の表示要素が前記端末への送信対象領域に収まらない場合、該他の表示要素の表示領域を該送信対象領域内に収まるよう変更して前記端末に送信し、
かつ、該変更された状態での前記端末における操作入力を、該変更前の状態での操作入力に変換し、表示領域を変更された該他の表示要素による前記端末での操作を可能とすることを特徴とするサーバ装置。
【請求項2】
接続された端末に画面情報を送信して表示させるサーバ装置であって、
前記端末における操作入力情報を受信する受信手段と、
前記サーバ装置の画面における前記端末への送信対象領域内に少なくとも一部が表示されているウィンドウでの操作に関連する他の表示要素が表示された場合、該他の表示要素が前記送信対象領域に収まるか否かを判別する判別手段と、
前記判別手段により収まらないと判別された場合、前記他の表示要素の表示領域を前記送信対象領域内に収まるよう変更する変更手段と、
前記変更手段により変更された場合、該変更された状態での前記端末における操作入力を該変更前の状態での操作入力に変換する入力変換手段と、を備えたことを特徴とするサーバ装置。
【請求項3】
前記入力変換手段は、
前記変更手段により変更され、前記受信手段により受信された前記端末の座標入力手段による入力座標が該変更された前記他の表示要素の表示領域内である場合、該入力座標を前記変更手段による変更前の該他の表示要素の座標に変換し、
前記変更手段により変更され、前記受信手段により受信された前記端末の座標入力手段による入力座標が、該変更された前記他の表示要素の表示領域の外部で、該変更前の該他の表示要素の表示領域内である場合、前記受信手段により受信された前記端末によるクリック操作を該他の表示要素より1つ背面の表示要素への操作とするよう変換することを特徴とする請求項2記載のサーバ装置。
【請求項4】
前記変更手段は、前記判別手段により収まらないと判別された場合、前記他の表示要素の表示領域を前記送信対象領域内に収まる位置まで移動させ、前記ウィンドウの手前に該他の表示要素が該移動位置で表示された状態として該ウィンドウおよび該他の表示要素の画像を合成することを特徴とする請求項2または3記載のサーバ装置。
【請求項5】
前記受信手段により前記端末からウィンドウ表示の調整コマンドが受信された場合、前記ウィンドウを前記端末の画面の描画領域に合わせた縦横比として前記サーバ装置の画面に表示させる調整表示手段を備え、
前記調整表示手段により調整された前記ウィンドウの表示領域を前記送信対象領域とすることを特徴とする請求項2から4の何れか1項に記載のサーバ装置。
【請求項6】
前記受信手段により前記端末からウィンドウ表示の調整コマンドが受信された場合、前記ウィンドウを前記端末の画面の描画領域全体と同じピクセルサイズとして前記サーバ装置の画面に表示させる調整表示手段を備え、
前記調整表示手段により調整された前記ウィンドウの表示領域を前記送信対象領域とすることを特徴とする請求項2から4の何れか1項に記載のサーバ装置。
【請求項7】
前記判別手段は、前記調整コマンドによる調整状態で前記他の表示要素が表示された場合、該他の表示要素が前記ウィンドウの表示領域内に収まっているか否かを判別することを特徴とする請求項5または6記載のサーバ装置。
【請求項8】
接続された端末に画面情報を送信して表示させるサーバ装置であって、
前記端末における操作入力情報を受信する受信手段と、
前記サーバ装置の画面における前記端末への送信対象領域内に少なくとも一部が表示されているウィンドウでの操作に関連する他の表示要素が表示された場合、該他の表示要素が前記送信対象領域に収まるか否かを判別する判別手段と、
前記判別手段により収まらないと判別された場合、前記他の表示要素の表示領域が前記送信対象領域内に収まるようOSで修正される表示位置に前記ウィンドウの表示位置を変更する変更手段と、
を備えたことを特徴とするサーバ装置。
【請求項9】
請求項1から8の何れか1項に記載のサーバ装置に前記端末が接続されて構成され、前記端末が前記サーバ装置から送信された画面情報に基づいて画面表示を行うことを特徴とする情報処理システム。
【請求項10】
接続された端末に画面情報を送信して表示させるサーバ装置のプログラムであって、
前記端末における操作入力情報を受信する受信手順と、
前記サーバ装置の画面における前記端末への送信対象領域内に少なくとも一部が表示されているウィンドウでの操作に関連する他の表示要素が表示された場合、該他の表示要素が前記送信対象領域に収まるか否かを判別する判別手順と、
前記判別手順により収まらないと判別された場合、前記他の表示要素の表示領域を前記送信対象領域内に収まるよう変更する変更手順と、
前記変更手順により変更された場合、該変更された状態での前記端末における操作入力を該変更前の状態での操作入力に変換する入力変換手順と、を前記サーバ装置に実行させることを特徴とするサーバ装置のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−63879(P2012−63879A)
【公開日】平成24年3月29日(2012.3.29)
【国際特許分類】
【出願番号】特願2010−206033(P2010−206033)
【出願日】平成22年9月14日(2010.9.14)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】