(58)【調査した分野】(Int.Cl.,DB名)
前記画面サイズ取得部は、前記画面サイズを問い合わせる問合せコマンドを前記遠隔端末に送信し、前記問合せコマンドに対する前記遠隔端末からの画面サイズ応答によって前記画面サイズを取得する請求項1または2に記載の画面データ中継サーバ。
【発明を実施するための形態】
【0015】
以下、実施形態を図面に基づいて説明する。なお、同一の機能や構成には、同一または類似の符号を付して、その説明を適宜省略する。
【0016】
(1)リモート接続システムの全体概略構成
図1は、本実施形態に係るリモート接続システム10の全体概略構成図である。
図1に示すように、リモート接続システム10は、接続先端末20、遠隔端末30及び画面データ中継サーバ100によって構成される。接続先端末20と画面データ中継サーバ100とは、通信ネットワーク40Aを介して接続される。また、遠隔端末30と画面データ中継サーバ100とは、通信ネットワーク40Bを介して接続される。
【0017】
通信ネットワーク40A及び通信ネットワーク40Bは、VPNなどの専用ネットワークであってもよいし、インターネットなどの公衆ネットワークであってもよい。なお、接続先端末20と画面データ中継サーバ100との通信、及び遠隔端末30と画面データ中継サーバ100との通信は、暗号化することができる。
【0018】
接続先端末20は、画面データ中継サーバ100を経由して、遠隔端末30によって遠隔制御される端末である。接続先端末20は、典型的には、Windows(登録商標)などのオペレーティングシステムがインストールされたパーソナルコンピュータ(PC)である。
【0019】
遠隔端末30は、画面データ中継サーバ100を経由して、接続先端末20のデスクトップ画面を表示したり、遠隔端末30に表示された当該デスクトップ画面に対する遠隔操作を実行したりする。すなわち、遠隔端末30は、画面データ中継サーバ100を経由して、リモートデスクトップ環境を提供する。本実施形態では、遠隔端末30は、タブレットやスマートフォンなどの携帯通信デバイスが利用されることを想定する。
【0020】
画面データ中継サーバ100は、接続先端末20のデスクトップ画面を構成する画面データを遠隔端末30に中継し、遠隔端末30にデスクトップ画面を表示させる。また、画面データ中継サーバ100は、遠隔端末30から取得した当該デスクトップ画面に対する操作データ(ポインタやキーボードによる入力データ)を取得し、接続先端末20に送信する。
【0021】
(2)リモート接続システムの機能ブロック構成
次に、リモート接続システム10の機能ブロック構成について説明する。具体的には、接続先端末20、遠隔端末30及び画面データ中継サーバ100の機能ブロック構成について説明する。
【0022】
(2.1)画面データ中継サーバ100
図2は、画面データ中継サーバ100の機能ブロック構成図である。
図2に示すように、画面データ中継サーバ100は、画面構成認識部110、部分画面切出部120、画面サイズ取得部125、ウィンドウ制御部130、ウィンドウ切替指示取得部135、部分画面中継部140、操作データ取得部150及び座標変換指示部160を備える。
【0023】
なお、画面データ中継サーバ100は、CPU及びメモリなどのハードウェアを有しており、上述した各機能部は、当該ハードウェア上においてコンピュータプログラム(ソフトウェア)を実行することによって実現される。
【0024】
画面構成認識部110は、接続先端末20のデスクトップ画面の構成を認識する。具体的には、画面構成認識部110は、接続先端末20のデスクトップ画面上のアクティブウィンドウを認識する。本実施形態において、画面構成認識部110は、特許請求の範囲に記載のアクティブウィンドウ認識部を構成する。
【0025】
より具体的には、画面構成認識部110は、接続先端末20から送信されたデスクトップ画面の画面データの中から、入力などの操作が可能な最前面に表示されているウィンドウを特定することによって、当該デスクトップ画面上のアクティブウィンドウを認識する。
【0026】
部分画面切出部120は、画面構成認識部110によって認識されたアクティブウィンドウをデスクトップ画面の中から切り出す。つまり、部分画面切出部120は、当該デスクトップ画面を構成する複数のウィンドウのうち、アクティブウィンドウのみを切り出す。
【0027】
また、部分画面切出部120は、ウィンドウ制御部130からの指示によってサイズが変更されたアクティブウィンドウの画面データを部分画面中継部140に出力する。つまり、部分画面切出部120は、サイズ変更後のアクティブウィンドウの画面データを、画面構成認識部110を介して接続先端末20から取得し、取得した画面データを部分画面中継部140に出力する。
【0028】
画面サイズ取得部125は、遠隔端末30の画面サイズを取得する。具体的には、画面サイズ取得部125は、遠隔端末30の画面サイズを問い合わせる問合せコマンドを遠隔端末30に送信する。また、画面サイズ取得部125は、当該問合せコマンドに対する遠隔端末30からの画面サイズ応答によって画面サイズを取得する。例えば、画面サイズ取得部125は、遠隔端末30の画面サイズが8インチであった場合、8インチであることを示す画面サイズ応答を取得してもよいし、具体的なサイズ(例えば、縦:17.2cm、横:10.8cm)を直接取得してもよい。
【0029】
また、画面サイズ取得部125は、遠隔端末30の画面サイズを記憶しておいてもよい。つまり、画面サイズ取得部125は、遠隔端末30に対して問合せコマンドを送信することなく、遠隔端末30とのセッションが確立した場合などに、遠隔端末30の機種を判定し、画面サイズを取得してもよい。
【0030】
ウィンドウ制御部130は、接続先端末20のデスクトップ画面上のウィンドウに対する制御を実行する。具体的には、ウィンドウ制御部130は、画面サイズ取得部125が取得した遠隔端末30の画面サイズに基づいて、アクティブウィンドウのサイズ変更を接続先端末20に指示する。
【0031】
例えば、遠隔端末30の画面サイズが8インチ(縦:17.2cm、横:10.8cm程度)であり、アクティブウィンドウのサイズが、縦:25cm、横:40cmであった場合、ウィンドウ制御部130は、8インチのサイズに合致するように、アクティブウィンドウのサイズの縮小指示を接続先端末20に送信する。
【0032】
また、ウィンドウ制御部130は、遠隔端末30の画素数に応じて、アクティブウィンドウのサイズを変更してもよい。例えば、遠隔端末30の画素数が縦800画素、横600画素である場合、アクティブウィンドウのサイズを当該画素数に合わせて拡大または縮小することができる。さらに、ウィンドウ制御部130は、遠隔端末30の画面の向き(縦向き、横向き)に合わせて、アクティブウィンドウを縦長または横長にサイズに変更することができる。
【0033】
ウィンドウ制御部130は、サイズ変更前のアクティブウィンドウのサイズを記憶することができる。ウィンドウ制御部130は、遠隔端末30とのセッションが切断された場合、アクティブウィンドウをサイズ変更前のサイズに戻すことを接続先端末20に指示する。これにより、接続先端末20において操作を再開する場合には、接続先端末20の画面サイズに応じたアクティブウィンドウのサイズとすることができる。
【0034】
なお、遠隔端末30の画面サイズと、接続先端末20のアクティブウィンドウのサイズとの関係から、アクティブウィンドウのサイズ変更が必要ない場合、ウィンドウ制御部130は、サイズ変更の処理を省略する。
【0035】
さらに、ウィンドウ制御部130は、ウィンドウ切替指示取得部135が取得したアクティブウィンドウの切替指示に基づいて、アクティブウィンドウの切替を接続先端末20に指示することができる。これにより、遠隔端末30から操作対象のアクティブウィンドウ(つまり、アプリケーション)を自由に選択し得る。
【0036】
ウィンドウ切替指示取得部135は、アクティブウィンドウの切替指示を遠隔端末30から取得する。具体的には、ウィンドウ切替指示取得部135は、遠隔端末30のユーザがよく利用するアプリケーションを選択するためのアイコンを表示したランチャー300(
図2において不図示、
図6(a)を参照)を遠隔端末30の画面の一部に表示することによって、遠隔端末30からアクティブウィンドウの切替指示を取得する。
【0037】
或いは、ウィンドウ切替指示取得部135は、アクティブウィンドウの切替指示を取得する際には、アクティブウィンドウのみではなく、接続先端末20のデスクトップ画面全体を部分画面中継部140に中継させることによって、遠隔端末30からアクティブウィンドウの切替指示を取得するようにしてもよい。つまり、ウィンドウ切替指示取得部135は、アクティブウィンドウ以外の他のウィンドウが選択されたことを示す切替指示を取得する。
【0038】
部分画面中継部140は、部分画面切出部120から出力されたアクティブウィンドウの画面データを遠隔端末30に中継する。本実施形態では、部分画面切出部120及び部分画面中継部140によって、特許請求の範囲に記載の画面データ中継部が構成される。具体的には、部分画面中継部140は、当該画面データを含む遠隔端末30宛てのパケットを通信ネットワーク40Bに送信する。
【0039】
操作データ取得部150は、遠隔端末30の画面に表示されている接続先端末20のアクティブウィンドウ上の所定座標に対する操作を示す操作データを遠隔端末30から取得する。具体的には、操作データ取得部150は、遠隔端末30の入力機能(ポインタ、キーボード及びマウスなど)を介して当該操作データを取得する。
【0040】
操作データは、典型的には、所定座標に対するクリック(左ボタン押下)、ドラッグ及びメニュー表示(右ボタン押下)が挙げられる。
【0041】
座標変換指示部160は、操作データ取得部150が取得した操作データに基づいて、接続先端末20のデスクトップ画面のアクティブウィンドウ上における座標に変換する。また、座標変換指示部160は、変換した操作データを接続先端末20に送信する。
【0042】
例えば、遠隔端末30に表示されているアクティブウィンドウ上の座標が(x1, y1)であった場合、座標変換指示部160は、接続先端末20のデスクトップ画面上における当該アクティブウィンドウの座標(x2, x2)に変換する。
【0043】
つまり、座標変換指示部160は、座標(x1, y1)に基づいて、デスクトップ画面において当該座標と対応する座標(x2, x2)を算出し、座標(x2, x2)に対する操作データを接続先端末20に送信する。
【0044】
(2.2)接続先端末20
図3は、接続先端末20の機能ブロック構成図である。
図3に示すように、接続先端末20は、画面データ転送部21、ウィンドウ操作実行部23及びディスプレイ25を備える。
【0045】
なお、接続先端末20は、CPU及びメモリなどのハードウェアを有しており、画面データ転送部21及びウィンドウ操作実行部23は、当該ハードウェア上においてコンピュータプログラム(ソフトウェア)を実行することによって実現される。
【0046】
画面データ転送部21は、接続先端末20のデスクトップ画面の画面データを画面データ中継サーバ100に転送する。具体的には、画面データ転送部21は、当該画面データを含む画面データ中継サーバ100宛てのパケットを通信ネットワーク40Aに送信する。
【0047】
ウィンドウ操作実行部23は、画面データ中継サーバ100からの指示に基づいて、デスクトップ画面のウィンドウに対する操作を実行する。具体的には、ウィンドウ操作実行部23は、アクティブウィンドウのサイズ変更の指示に基づいて、アクティブウィンドウのサイズを変更する。
【0048】
また、ウィンドウ操作実行部23は、アクティブウィンドウの切替指示に基づいて、アクティブウィンドウの切替を実行する。
【0049】
ディスプレイ25は、デスクトップ画面などを表示する。ディスプレイ25のサイズは、接続先端末20の性能などによるが、デスクトップ型であれば、21〜27インチ程度、ノート型であれば、12〜17インチ程度である。また、解像度としては、典型的には、1920×1080、1366×768または1024×768などである。但し、このような値に限定されるものではない。
【0050】
(2.3)遠隔端末30
図4は、遠隔端末30の機能ブロック構成図である。
図4に示すように、遠隔端末30は、ディスプレイ31、入力機能部33、画面表示処理部35及び操作入力処理部37を備える。
【0051】
なお、遠隔端末30は、CPU及びメモリなどのハードウェアを有しており、入力機能部33(ソフトウェアの場合)、画面表示処理部35及び操作入力処理部37は、当該ハードウェア上においてコンピュータプログラム(ソフトウェア)を実行することによって実現される。
【0052】
ディスプレイ31は、接続先端末20のアクティブウィンドウなどを表示する。ディスプレイ31のサイズは、遠隔端末30の種別によるが、タブレットであれば、7〜12インチ程度、スマートフォンであれば、4〜5.5インチ程度である。但し、このような値に限定されるものではない。
【0053】
入力機能部33は、遠隔端末30のユーザによる入力操作を取得する。具体的には、入力機能部33は、ポインタ、キーボード及びマウスなどである。なお、キーボード及びマウスは、ハードウェアで実現してもよいし、ディスプレイ31の画面上に仮想的に表示されるソフトウェアによって実現してもよい。
【0054】
入力機能部33は、取得した操作データを操作入力処理部37に出力する。
【0055】
画面表示処理部35は、画面データ中継サーバ100から転送されたアクティブウィンドウの画面データを処理する。具体的には、画面表示処理部35は、当該画面データに基づいて、アクティブウィンドウをディスプレイ31に表示させる処理を実行する。
【0056】
操作入力処理部37は、入力機能部33によって取得された入力操作に伴う処理を実行する。具体的には、操作入力処理部37は、入力機能部33によって取得された操作データに基づいて、画面表示処理に用いられるデータを画面表示処理部35に出力する。
【0057】
また、操作入力処理部37は、入力機能部33によって取得された操作データに基づいて、アクティブウィンドウに対する操作データを画面データ中継サーバ100に送信する。
【0058】
(3)リモート接続システムの動作
次に、上述したリモート接続システム10の動作について説明する。具体的には、画面データ中継サーバ100を経由した接続先端末20のアクティブウィンドウの表示及び制御動作について説明する。
【0059】
図5は、遠隔端末30に接続先端末20のアクティブウィンドウを表示するための制御シーケンスを示す。
図6(a)及び(b)は、接続先端末20のデスクトップ画面例を示す。また、
図7(a)及び(b)は、遠隔端末30の画面例を示す。
【0060】
図5に示すように、接続先端末20に対するリモート接続を実行するため、接続先端末20及び遠隔端末30は、画面データ中継サーバ100とのセッションをそれぞれ確立する(S10及びS20)。これにより、リモート接続の状態は、スタンバイ状態から接続状態になる。
【0061】
当該セッションの確立後、画面データ中継サーバ100は、接続先端末20に対してデスクトップ画面の画面データの送信を要求する(S30)。ここで、接続先端末20には、
図6(a)に示すように、ディスプレイ25の画面25Aに、ウィンドウ200A(ウィンドウA), 200B(ウィンドウB)及び200C(ウィンドウC)の3つのウィンドウ(アプリケーション)が表示されており、ウィンドウ200Aがアクティブウィンドウである。
【0062】
また、接続先端末20のデスクトップ画面には、特定のアプリケーションを選択するためのランチャー300が表示されている。上述したように、画面データ中継サーバ100は、遠隔端末30からのアクティブウィンドウの切替を実現するため、ランチャー300の部分を遠隔端末30にアクティブウィンドウとともに表示させるようにしてもよいし、アクティブウィンドウの切替時のみ、画面25Aに表示されているデスクトップ画面全体を遠隔端末30に表示させるようにしてもよい。
【0063】
接続先端末20は、デスクトップ画面をキャプチャーし、キャプチャーした画面データを画面データ中継サーバ100に送信する(S40)。
【0064】
画面データ中継サーバ100は、遠隔端末30の画面サイズを問い合わせる(S50)。具体的には、画面データ中継サーバ100は、遠隔端末30の画面サイズを問い合わせる問合せコマンドを遠隔端末30に送信する。
【0065】
遠隔端末30は、画面サイズの問合せに応答し、遠隔端末30の画面サイズを画面データ中継サーバ100に通知する(S60)。具体的には、遠隔端末30は、画面サイズを示す画面サイズ応答を画面データ中継サーバ100に送信する。
【0066】
画面データ中継サーバ100は、遠隔端末30の画面サイズに基づいて、アクティブウィンドウのサイズ変更を接続先端末20に指示する(S70)。
【0067】
具体的には、画面データ中継サーバ100は、ウィンドウ200A, 200B及び200Cのうち、ウィンドウ200Aが最前面に表示されていることに基づいて、ウィンドウ200Aがアクティブウィンドウであることを認識する。
【0068】
画面データ中継サーバ100は、ウィンドウ200Aのサイズ(縦横のサイズ)と、遠隔端末30の画面サイズとに基づいて、当該画面サイズに合致するように、アクティブウィンドウのサイズの縮小指示を接続先端末20に送信する。
【0069】
接続先端末20は、アクティブウィンドウのサイズ変更の指示に基づいてアクティブウィンドウのサイズを変更し、変更後の画面データを画面データ中継サーバ100に送信する(S80)。また、画面データ中継サーバ100は、変更前のアクティブウィンドウのサイズを記憶する。
【0070】
図6(b)は、当該サイズ変更の指示に基づいてウィンドウA(アクティブウィンドウ)のサイズが変更されたウィンドウ210Aが表示されている。なお、リモート接続が開始された場合、接続先端末20の画面25Aには、当該ウィンドウは表示せずに、ログイン画面などが表示されてもよい。
【0071】
画面データ中継サーバ100は、サイズ変更されたアクティブウィンドウの画面データのみを遠隔端末30に送信する(S90)。この結果、遠隔端末30には、接続先端末20のアクティブウィンドウのみが表示される。
【0072】
具体的には、
図7(a)に示すように、ディスプレイ31の画面31Aには、ディスプレイ31のサイズに応じたウィンドウ210Aが表示される。また、遠隔端末30が
図7(a)に示されている縦向き(つまり、縦長の画面)から、横向きに傾けられた場合、
図7(b)に示すように、横長の画面に合わせた状態にウィンドウ210Aのサイズが変更されてもよい。
【0073】
なお、このように遠隔端末30が縦向きから横向き(或いはその逆)に傾けられた場合、遠隔端末30は、S60の処理と同様に、遠隔端末30が傾けられることによって変更された画面サイズ(横長または縦長)を自主的に画面データ中継サーバ100に通知するようにしてもよい。
【0074】
ディスプレイ31にウィンドウ210Aが表示された後、遠隔端末30は、遠隔端末30の入力機能部33を介して入力された操作データ(マウス・キーボード操作データ)を画面データ中継サーバ100に送信する(S100)。具体的には、遠隔端末30は、ウィンドウA(アクティブウィンドウ)上の所定座標に対する操作を示す操作データを画面データ中継サーバ100に送信する。
【0075】
画面データ中継サーバ100は、取得した操作データに基づいて、接続先端末20のデスクトップ画面のアクティブウィンドウ上における座標に変換し、変換した操作データ(マウス・キーボード操作データ)を接続先端末20に送信する(S110)。
【0076】
その後、遠隔端末30は、リモート接続を終了するため、セッションの切断要求を画面データ中継サーバ100に送信する(S120)。
【0077】
画面データ中継サーバ100は、ステップS40において記憶したサイズ変更前のアクティブウィンドウのサイズに基づいて、アクティブウィンドウをサイズ変更前のサイズに戻すことを接続先端末20に指示する(S130)。
【0078】
この結果、ウィンドウA(アクティブウィンドウのサイズは、ウィンドウ210A(
図6(b)参照)からウィンドウ200A(
図6(a)参照)に復帰する。また、リモート接続の状態は、スタンバイ状態になる。
【0079】
(4)作用・効果
上述した実施形態によれば、以下の作用効果が得られる。画面データ中継サーバ100によれば、画面構成認識部110は、接続先端末20のデスクトップ画面上のアクティブウィンドウを認識する。また、ウィンドウ制御部130は、画面サイズ取得部125が取得した遠隔端末30の画面サイズに基づいて、当該アクティブウィンドウのサイズ変更を接続先端末20に指示する。さらに、部分画面中継部140は、サイズ変更後のアクティブウィンドウの画面データを遠隔端末30に中継する。
【0080】
このため、画面サイズが小さいタブレットやスマートフォンなどの携帯通信デバイスを遠隔端末30として用いる場合でも、見やすく操作し易いリモートデスクトップ環境を提供し得る。
【0081】
つまり、遠隔端末30の画面31Aのサイズが、接続先端末20の画面25Aのサイズよりも小さい場合でも、アクティブウィンドウのみが画面31Aに表示されるため、アクティブウィンドウの表示が小さ過ぎる状態を回避できる。さらに、アクティブウィンドウのサイズは、遠隔端末30の画面31Aのサイズに調整されるため、画面31A全体を活用してアクティブウィンドウを表示できる。
【0082】
すなわち、リモート接続システム10によれば、遠隔端末30がタブレットやスマートフォンなどの携帯通信デバイスの場合でも、使い勝手を極力損ねることなく、リモートデスクトップ環境を提供できる。
【0083】
本実施形態では、画面データ中継サーバ100の座標変換指示部160は、操作データ取得部150が取得した操作データを、デスクトップ画面のアクティブウィンドウ上の座標に変換し、変換した操作データを接続先端末20に送信することができる。このため、アクティブウィンドウのみが遠隔端末30の画面31Aに表示されている場合でも、接続先端末20のデスクトップ画面のアクティブウィンドウに対する操作を確実に実行することができる。
【0084】
本実施形態では、画面データ中継サーバ100のウィンドウ制御部130は、遠隔端末30とのセッションが切断された場合、アクティブウィンドウをサイズ変更前のサイズに戻すことができる。このため、遠隔端末30によるリモート接続が終了し、接続先端末20で操作を再開する場合には、接続先端末20の画面25Aのサイズに応じたウィンドウサイズに復帰させることができる。
【0085】
本実施形態では、画面データ中継サーバ100の画面サイズ取得部125は、画面サイズを問い合わせる問合せコマンドに対する遠隔端末30からの画面サイズ応答によって遠隔端末30の画面サイズを取得することができる。このため、遠隔端末30の画面サイズに応じた適切なアクティブウィンドウのサイズをより確実に設定できる。
【0086】
本実施形態では、画面データ中継サーバ100のウィンドウ制御部130は、ウィンドウ切替指示取得部135が取得したアクティブウィンドウの切替指示に基づいて、アクティブウィンドウの切替を接続先端末20に指示することができる。具体的には、ウィンドウ切替指示取得部135は、ランチャー300(
図6(a)及び(b)参照)などを用いてアクティブウィンドウの切替指示を取得することできる。このため、ほぼアクティブウィンドウのみが遠隔端末30の画面31Aに表示されている場合でも、ユーザの意思によって容易にアクティブウィンドウを切り替えることができる。
【0087】
(5)その他の実施形態
以上、実施形態に沿って本発明の内容を説明したが、本発明はこれらの記載に限定されるものではなく、種々の変形及び改良が可能であることは、当業者には自明である。
【0088】
例えば、上述した実施形態では、遠隔端末30は、タブレットやスマートフォンなどの携帯通信デバイスが想定されていたが、遠隔端末30は、必ずしもこのような携帯通信デバイスに限定されるものではなく、ノート型或いはデスクトップ型のPCでも構わない。
【0089】
また、上述した実施形態では、通常、画面25Aに表示されているウィンドウ200Aのサイズよりも遠隔端末30の画面サイズが小さいため、ウィンドウ200Aの縮小指示を接続先端末20に送信するが、ウィンドウ200A(アクティブウィンドウ)のサイズが遠隔端末30の画面サイズのサイズよりも小さい場合には、ウィンドウ200Aのサイズを引き延ばす拡大指示を接続先端末20に送信してもよい。
【0090】
さらに、上述した実施形態では、接続先端末20と画面データ中継サーバ100とは、通信ネットワーク40Aを介して接続され、遠隔端末30と画面データ中継サーバ100とは、通信ネットワーク40Bを介して接続されていたが、リモート接続システム10は、企業内ネットワークなどの閉域網内で構成されても構わない。
【0091】
上記のように、本発明の実施形態を記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【課題】タブレットやスマートフォンなどの携帯通信デバイスを遠隔端末として用いる場合でも、見やすく操作し易いリモートデスクトップ環境を提供し得る画面データ中継サーバ、画面データ中継プログラム、及び画面データ中継方法を提供する。
【解決手段】画面データ中継サーバ100は、接続先端末20のデスクトップ画面上のアクティブウィンドウを認識する画面構成認識部110と、遠隔端末30の画面サイズを取得する画面サイズ取得部125と、画面サイズ取得部125が取得した画面サイズに基づいて、アクティブウィンドウのサイズ変更を接続先端末20に指示するウィンドウ制御部130と、サイズ変更後のアクティブウィンドウの画面データを接続先端末20から取得し、取得した画面データを遠隔端末30に中継する部分画面切出部120及び部分画面中継部140を備える。