(57)【要約】【課題】従来は、特定画面を対象にイベント検出、連携処理呼び出しを行うため、連携対象画面が切り替わると対応できず、また、画面の表示内容が変更されても、画面に応じたイベント検出、連携処理の呼び出しを可能にしたい。【解決手段】連携処理サーバを介して利用者端末と連携元および連携先端末が接続され、連携元および連携先端末が実行中の画面を同時に表示する利用者端末の連携元端末の画面をユーザの操作により変更した利用者端末の画面の表示内容に連携処理サーバの状態管理部が連携元および連携先端末の画面状態を更新し、連携処理サーバのイベント制御部が利用者端末で実行された操作イベント内容と状態管理部で更新された連携元端末の画面状態を解析し、連携先端末に対する連携時の操作イベント生成可否を判断し、可の時に操作イベントを生成し、連携先端末に送信する。【選択図】図１
2014002526.tif 000002
【特許請求の範囲】
【請求項１】
連携処理サーバに接続され、この連携処理サーバを介して連携元端末および連携先端末に接続され、ユーザが操作する利用者端末を備え、上記連携処理サーバは、連携元端末および連携先端末が実行中のアプリケーション機能の画面を画像転送中継部により上記利用者端末に送信し、上記利用者端末は上記連携処理サーバから送信された連携元端末および連携先端末が実行中のアプリケーション機能の画面を同時に表示するリモート画面連携操作システムであって、
連携処理サーバは、
ユーザによる上記利用者端末上での連携元端末の操作を検出し、その操作内容を連携元端末に画像転送中継部により送信し、
利用者端末に表示されている連携元端末および連携先端末の画面の表示内容に、連携元端末および連携先端末それぞれの画面状態を更新する状態管理部と
利用者端末で実行された操作イベント内容と状態管理部で更新された連携元端末の画面状態を解析し、連携先端末の画面に対する連携時の操作イベント生成可否を判断し、可の時は連携時の操作イベントを生成するイベント制御部とを備えることを特徴とするリモート画面連携操作システム。
【請求項２】
連携処理サーバは、状態定義と状態別イベント定義が格納された連携定義ＤＢを備え、
連携処理サーバの状態管理部はユーザによる上記利用者端末上での連携元端末の操作により変更した画面が、連携定義ＤＢの状態定義に合致した時は、連携元端末の画面を状態定義の定義に変更し、
連携処理サーバのイベント制御部は変更された連携元端末の画面が連携定義ＤＢの状態別イベント定義に合致する場合、連携先端末の操作イベントを生成し、連携先端末に送信する構成にされたことを特徴とする請求項１に記載のリモート画面連携操作システム。
【請求項３】
連携処理サーバに接続され、この連携処理サーバを介して連携元端末および連携先端末に接続され、ユーザが操作する利用者端末を備え、上記連携処理サーバは、連携元端末および連携先端末が実行中のアプリケーション機能の画面を画像転送中継部により上記利用者端末に送信し、上記利用者端末は上記連携処理サーバから送信された連携元端末および連携先端末が実行中のアプリケーション機能の画面を同時に表示するリモート画面連携システムのリモート画面連携操作方法であって、
ユーザによる上記利用者端末上での連携元端末の操作を検出し、その操作内容を連携元端末に連携処理サーバの画像転送中継部により送信する工程と、
連携処理サーバの状態管理部により利用者端末に表示されている連携元端末および連携先端末の画面の表示内容に、連携元端末および連携先端末それぞれの画面状態を更新する工程と
連携処理サーバのイベント制御部により利用者端末で実行された操作イベント内容と状態管理部で更新された連携元端末の画面状態を解析し、連携先端末の画面に対する連携時の操作イベント生成可否を判断し、可の時は連携時の操作イベントを生成する工程とを備えることを特徴とするリモート画面連携操作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の端末がサーバを介して接続されたシステムにおいて、画面転送技術を用い、接続された端末の画面を1台の端末に仮想的な画面として表示し、表示している画面の端末から表示画面同士を連動させて遠隔操作を可能とする技術に関する。
【背景技術】
【０００２】
1台のPC(Personal Computer)端末から、VNC（Virtual Network Computing）やリモートデスクトップなどの画面転送技術を用い、当該PC端末に接続された複数の端末から画面転送を受け、仮想的な画面を表示して当該PC端末から当該PC端末に接続された端末を遠隔操作する場合に、表示している画面同士を連動させて操作したい場合がある。例えば、当該PC端末の画面の登録ボタンを押した際に、これに連動させて、接続された端末画面の更新ボタンを自動で押下したい場合などである。従来の方法では、これらのイベントを連携させるために、接続された端末側のデスクトップ環境やアプリケーション自体に何らかの手を加える必要があり（例えば、イベントを発信する仕組みや外部からのイベントを受付けて動作させる仕組みを組込む、など）、既存環境に手を加えることなく連携させることができなかった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2006-172193号公報（株式会社リコー）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の方式では、特定の画面のみを対象としてイベント検出、連携処理呼び出しを行う方式のため、連携対象の画面が切り替わった場合には対応できないという課題があった。
また、画面の表示内容が変更されていたとしても、画面に応じたイベント検出、連携処理の呼び出しを可能にするという課題があった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、特定の画面に固定されずに異なる画面で表示されているアプリケーション同士を連携して制御することを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るリモート画面連携操作システムは、
連携処理サーバに接続され、この連携処理サーバを介して連携元端末および連携先端末に接続され、ユーザが操作する利用者端末を備え、上記連携処理サーバは、連携元端末および連携先端末が実行中のアプリケーション機能の画面を画像転送中継部により上記利用者端末に送信し、上記利用者端末は上記連携処理サーバから送信された連携元端末および連携先端末が実行中のアプリケーション機能の画面を同時に表示するリモート画面連携操作システムであって、
連携処理サーバは、
ユーザによる上記利用者端末上での連携元端末の操作を検出し、その操作内容を連携元端末に画像転送中継部により送信し、
利用者端末に表示されている連携元端末および連携先端末の画面の表示内容に、連携元端末および連携先端末それぞれの画面状態を更新する状態管理部と
利用者端末で実行された操作イベント内容と状態管理部で更新された連携元端末の画面状態を解析し、連携先端末の画面に対する連携時の操作イベント生成可否を判断し、可の時は連携時の操作イベントを生成するイベント制御部とを備える。
【０００７】
この発明に係るリモート画面連携操作方法は、
連携処理サーバに接続され、この連携処理サーバを介して連携元端末および連携先端末に接続され、ユーザが操作する利用者端末を備え、上記連携処理サーバは、連携元端末および連携先端末が実行中のアプリケーション機能の画面を画像転送中継部により上記利用者端末に送信し、上記利用者端末は上記連携処理サーバから送信された連携元端末および連携先端末が実行中のアプリケーション機能の画面を同時に表示するリモート画面連携システムのリモート画面連携操作方法であって、
ユーザによる上記利用者端末上での連携元端末の操作を検出し、その操作内容を連携元端末に連携処理サーバの画像転送中継部により送信する工程と、
連携処理サーバの状態管理部により利用者端末に表示されている連携元端末および連携先端末の画面の表示内容に、連携元端末および連携先端末それぞれの画面状態を更新する工程と
連携処理サーバのイベント制御部により利用者端末で実行された操作イベント内容と状態管理部で更新された連携元端末の画面状態を解析し、連携先端末の画面に対する連携時の操作イベント生成可否を判断し、可の時は連携時の操作イベントを生成する工程とを備える。
【発明の効果】
【０００８】
この発明に係る、リモート画面連携システムによれば、
連携処理サーバを介して利用者端末と連携元および連携先端末が接続され、連携元および連携先端末が実行中の画面を同時に表示する利用者端末の連携元端末の画面をユーザの操作により変更した利用者端末の画面の表示内容に連携処理サーバの状態管理部が連携元および連携先端末の画面状態を更新し、連携処理サーバのイベント制御部が利用者端末で実行された操作イベント内容と状態管理部で更新された連携元端末の画面状態を解析し、連携先端末に対する連携時の操作イベント生成可否を判断し、可の時に操作イベントを生成し、連携先端末に送信する構成にされているので、リモートで実行される連携元および連携先端末間において、画面間の状態を判別して連携を発生させるかどうかを判断することにより、動的に変更される画面間の連携操作を実現可能とすることができる。
【図面の簡単な説明】
【０００９】
【図１】この発明を用いて画面連携を実現する場合の構成図である。
【図２】画面連携サーバプログラムを示す図である。
【図３】全体の動作を示すフロー図である。
【図４】状態管理動作のフロー図である。
【図５】連携処理実行のフロー図である。
【図６】状態定義の説明図である。
【図７】状態別イベント定義の説明図である。
【図８】連携処理実行定義の説明図である。
【発明を実施するための形態】
【００１０】
実施の形態１．
図１はこの発明を用いて画面連携処理を実現する場合の構成図である。
図１において、利用者端末１００は、連携画面を利用するユーザが利用する端末である。この利用者端末１００は、Ｗｉｎｄｏｗｓ(登録商標)ＯＳなどを搭載した一般的なコンピュータでよい。利用者端末１００は、画面転送クライアントプログラム１１０を持つ。画面転送クライアントプログラム１１０はVNCやRDP（Remote Desktop Protocol）などのプロトコルを実装したプログラムである。画面転送クライアントプログラム１１０は、ユーザ操作によるマウス操作イベントやキーボード操作イベントを検出し、サーバ側のプログラムに通知する機能、サーバ側で実行されているアプリケーションのリモート画面を表示する機能からなる。
【００１１】
連携処理サーバ２００は、連携画面を転送するサーバ用の端末であり、Ｗｉｎｄｏｗｓ(登録商標) Ｓｅｒｖｅｒなどを搭載した一般的なサーバでよい。
連携処理サーバ２００は、画面連携サーバプログラム２１０と、連携定義ＤＢ（Data Base）２５０を持つ。画面連携サーバプログラム２１０は、画面転送クライアントプログラム１１０とアプリ用サーバの連携元端末Ａ３００の画面転送サーバプログラムＡ３１０およびアプリ用サーバの連携先端末Ｂ４００の画面転送サーバプログラムＢ４１０と通信して、アプリ用サーバの連携元端末Ａ３００およびアプリ用サーバの連携先端末Ｂ４００で実行されるアプリケーション機能のリモート画面を、利用者端末１００に返すためのプログラムであり、図２に示すように、画面転送中継部２２０とイベント制御部２３０、状態管理部２４０とからなるプログラムである。
【００１２】
連携定義ＤＢ２５０は、画面連携を行う上で必要な定義情報すなわち状態定義、状態別イベント定義および連携処理実行定義を保持したものである。これらについては後述する。これらはRDBMS（Relational Data Base Management System）にレコードとして保持していても、XML（Extensible Markup Language）で定義して保持していても良い。
【００１３】
画面連携サーバプログラム２１０を図２によりさらに説明する。画面転送中継部２２０は、画面転送クライアントプログラム１１０から受けたリクエストを画面転送サーバプログラムＡ３１０、画面転送サーバプログラムＢ４１０に転送する画面転送機能２２１を持つ。
また、イベント制御部２３０は、画面転送クライアントプログラム１１０で操作され、実行されたイベント内容を解析するイベント解析機能２３１と、連携させる連携元端末Ａ３００および連携先端末Ｂ４００のリモート画面に対し、連携時の操作イベントを生成するイベント生成機能２３２を持つ。
さらに、状態管理部２４０は、画面転送中継部２２０から画面転送クライアント１１０に対して転送されるリモート先の連携元端末Ａ３００および連携先端末Ｂ４００の画面画像を解析するリモート画面解析機能２４１と、リモート先の連携元端末Ａ３００および連携先端末Ｂ４００の画面の状態を判別する画面状態判別機能２４２およびリモート先の連携元端末Ａ３００および連携先端末Ｂ４００の画面の状態を管理する画面状態管理機能２４３を持つ。
【００１４】
連携元端末Ａ３００および連携先端末Ｂ４００は、それぞれ連携処理サーバ２００に接続され、さらに連携処理サーバ２００を介して利用者端末１００に接続される。連携元端末Ａ３００および連携先端末Ｂ４００は、実際にアプリケーションが動作する端末であり、Ｗｉｎｄｏｗｓ(登録商標)ＯＳなどを搭載した一般的なコンピュータでよい。
連携元端末Ａ３００および連携先端末Ｂ４００は、それぞれ画面転送サーバプログラムＡ３１０、画面転送サーバプログラムＢ４１０と、アプリケーションプログラムＡ３２０、アプリケーションプログラムＢ４２０を持つ。
画面転送サーバプログラムＡ３１０、画面転送サーバプログラムＢ４１０は、利用者端末１００の画面転送クライアントプログラム１１０に対し、アプリケーションプログラムＡ３２０、アプリケーションプログラムＢ４２０の実行画面を連携処理サーバ２００の画面転送中継部２２０を介して転送するプログラムであり、アプリケーションプログラムＡ３２０,アプリケーションプログラムＢ４２０は、利用者端末１００上でのリモートでアクセスする実際のプログラムである。
【００１５】
次に動作について説明する。
今、クライアント即ち、利用者端末１００上には、アプリケーションプログラムＡ３２０およびアプリケーションプログラムＢ４２０のリモート画面が同時に表示されているものとする。ここでは、利用者端末１００に表示されたアプリケーションＡ３２０のＧＵＩ（Graphical User Interface）に表示されている“更新”ボタンを、ユーザが利用者端末１００のリモート画面上から押下（クリック）することを考える。このときに、このクリックイベントに合わせて、アプリケーションＢ４２０のＧＵＩに表示されている“再描画“ボタンを自動で押下させるときの動作について説明する。
【００１６】
まず、リモート画面連携システム全体の動作の流れについて図３を用いて説明する。
ステップ５００にて、ユーザは利用者端末１００で、画面転送クライアントプログラム１１０を立ち上げ、連携処理サーバ２００の画面連携サーバプログラム２１０に利用者端末１００を接続する。画面連携サーバプログラム２１０は、ステップ５１０にて、利用者端末１００からの接続にあわせて、連携元端末Ａ３００、および連携先端末Ｂ４００の画面転送サーバプログラムＡ３１０、画面転送サーバプログラムＢ４１０に接続する。ステップ５２０にて、画面転送サーバプログラムＡ３１０、画面転送サーバプログラムＢ４１０は、それぞれアプリケーションプログラムＡ３２０、アプリケーションプログラムＢ４２０で実行されている画面画像を利用者端末１００に送信する。これら一連の処理は、画面連携サーバプログラム２１０の画面転送中継部２２０が実施する。以降、アプリケーションプログラムＡ３２０およびアプリケーションプログラムＢ４２０の表示内容に変更がある毎に画面転送サーバプログラムＡ３１０および画面転送サーバプログラムＢ４１０は、それぞれ変更された画面と変更前の画面の差分の画面を画面転送中継部２２０を介して利用者端末１００に転送し続ける。
【００１７】
次に、ユーザが、ステップ６００にて、利用者端末１００に表示されているアプリケーションプログラムＡ３２０のリモート画面上の“更新”ボタンをクリックする。
次に、画面転送中継部２２０はステップ６１０にて、ユーザがステップ６００にて実施した内容、即ち、利用者端末１００に表示されているアプリケーションプログラムＡ３２０のリモート画面上の“更新”ボタンのクリックを、連携元端末Ａ３００の実際のアプリケーションプログラムＡ３２０に伝えるべく、画面転送サーバプログラムＡ３１０に伝える。
次に、状態管理部２４０は、利用者端末１００に表示されているアプリケーションプログラムＡ３２０およびアプリケーションプログラムＢ４２０のリモート画面上の表示内容から、それぞれ連携元端末Ａ３００および連携先端末Ｂ４００の画面の状態を更新する。この手順については、図４の状態管理フローにて詳細を説明する。
【００１８】
次に、イベント制御部２３０が、それぞれ連携元端末Ａ３００および連携先端末Ｂ４００の画面の状態とユーザが行った操作イベント内容から、連携イベントを発生させるべきであると判断した場合、ステップ６２０にて連携先の連携先端末Ｂ４００の画面転送サーバプログラムＢ４１０に送信するユーザ操作イベントをイベント制御部２３０のイベント生成機能２３２が生成して、画面転送サーバプログラムＢ４１０に送信する。
連携イベントを発生させるかどうかを判断する方法については図５の連携処理実行フローにて詳細を説明する。
最後に、画面転送中継部２２０が、これら一連の処理によって行われたアプリケーションプログラムＡ３２０およびアプリケーションプログラムＢ４２０の画面変更による変更前の画面との差分画面を画面転送サーバプログラムＡ３１０、画面転送サーバプログラムＢ４１０のレスポンスとして取得し、ステップ６３０にて、利用者端末１００に実行結果として送信する。
【００１９】
次に、状態管理部２４０による状態管理フロー７００の内容について図４を参照して説明する。
まず、ステップ７１０にて、リモート画面解析機能２４１が利用者端末１００のアプリケーションＡ３２０およびアプリケーションプログラムＢ４２０のリモート画面と連携元端末Ａ３００および連携先端末Ｂ４００のアプリケーションプログラムＡ３２０，アプリケーションプログラムＢ４２０の画面との差分画面データを取得する。
次に、ステップ７２０にて、リモート画面解析機能２４１が、差分画面データを用いてアプリケーションプログラムＡ３２０，アプリケーションプログラムＢ４２０の画面データの全体を復元し、画面データの特徴量を計算する。このとき計算する特徴量としては、カラーヒストグラムなどがある。画面をマッチングできる特徴量であればなんであっても良い。
次に、ステップ７３０にて、画面状態判別機能２４２が、連携定義ＤＢ２５０に格納され、図６に示す状態定義２６０のテンプレート特徴量を取得する。このテンプレート特徴量は、検出すべき画面の特徴量をあらかじめ連携定義ＤＢ２５０に格納しておいたものである。状態定義２６０は、画面の状態を論理的な識別子と画面の特徴量と紐付けたものである。
【００２０】
次に、ステップ７４０にて、画面状態判別機能２４２が連携定義ＤＢ２５０から取得された状態定義２６０の特徴量と差分画面データを用いて画面データの全体が復元され、計算されたアプリケーションプログラムＡ３２０，アプリケーションプログラムＢ４２０の画面データの特徴量との比較を行う。
ステップ７５０にて、特徴量が一致していた場合、画面状態管理機能２４３が、合致した特徴量の画面を持つ接続先のアプリケーションプログラムＡ３２０の表示画面の状態を、マッチした連携定義ＤＢ２５０の状態定義２６０の論理的な状態識別子に更新する。この例では、リモート接続先のアプリケーションプログラムＡ３２０がXXX_hostであるとし、このときの画像特徴量にマッチングしたとする。マッチングしたかどうかの判定は、状態定義２６０のテンプレート特徴量を適度に調整された閾値によって判断する。このとき、リモート接続先のアプリケーションプログラムＡ３２０の状態名は「更新画面表示状態」となる。
一致しなかった場合は処理を終了する。
【００２１】
次に、連携処理実行フロー８００の内容について図５を参照して説明する。
まず、ステップ８１０において、イベント解析機能２３１がユーザによる操作イベントが利用者端末１００で発生したかどうかを検出する。イベント解析機能２３１がユーザによる利用者端末１００の操作イベントの発生を検出した場合、ステップ８２０において、イベント解析機能２３１が、操作イベントの内容を取得する。操作イベントの内容とは、利用者端末１００のマウスやキーボードの押下、移動などである。
【００２２】
次に、ステップ８３０において、イベント制御部２３０のイベント解析機能２３１が、接続先である連携元端末Ａ３００のアプリケーションプログラムＡ３２０の画面データの状態を取得する。この画面データの状態は、先ほどの状態管理フロー７００におけるステップ７６０において更新された状態名「更新画面表示状態」である。
【００２３】
次に、ステップ８４０において、イベント解析機能２３１は連携定義ＤＢ２５０に格納され、図７に示す状態別イベント定義２７０の内容を参照し、この状態別イベント定義２７０の列に定義されたものに対し、リモート接続先の連携元端末Ａ３００のそれぞれの状態が、一致するかどうかをマッチングさせる。この例では、状態別イベント定義２７０の範囲の左上480,290、右下520,310でマウス押下が発生したとし、状態名が更新画面表示状態であるので、更新ボタンが押下されたとみなす。
一致したと判断された場合、ステップ８５０にて、イベント制御部２３０のイベント解析機能２３１が連携先である連携先端末Ｂ４００のアプリケーションプログラムＢ４２０との接続状態の取得を行う。
ここでは、「描画画面表示状態」となっているとする。
【００２４】
次に、ステップ８６０にて、イベント解析機能２３１は連携定義ＤＢ２５０に格納され、図８に示す連携処理実行定義２８０から連携先状態条件を取得する。
ステップ８７０にて、ベント解析機能２３１は連携処理実行定義２８０から取得した連携先状態条件と、連携先である連携先端末Ｂ４００のアプリケーションプログラムＢ４２０の状態が一致しているかどうかを比較する。
ここでは、連携処理実行定義２８０から取得した連携先状態条件が「描画画面表示状態」であるのに対し、連携先状態が「描画画面表示状態」となっている。
【００２５】
一致していた場合は、ステップ８８０にて、イベント制御部２３０のイベント解析機能２３１が連携先である連携先端末Ｂ４００のアプリケーションプログラムＢ４２０を取得する。
次にステップ８９０にて、イベント生成機能２３２が連携処理実行定義２８０と状態別イベント定義２７０を参照し、マウス押下：範囲、左上380、90、右下420,110のイベント“再描画ボタン押下”を生成する。
最後に、ステップ８９１にて、連携先の連携先端末Ｂ４００に操作内容を送信する。
【００２６】
以上のように、リモートで実行されるアプリケーション間において、画面間の状態を判別して連携を発生させるかどうかを判断する、ことにより、動的に変更される画面間の連携操作を実現可能とすることができる。
【産業上の利用可能性】
【００２７】
この発明に係るリモート画面連携操作システムは、複数のＰＣ間で画面を共有し、画面転送や、他のＰＣを遠隔操作したい場合に適用される可能性がある。
【符号の説明】
【００２８】
１００；利用者端末、１１０；画面転送クライアントプログラム、２００；連携処理サーバ、２１０；画面連携サーバプログラム、２２０；画面転送中継部、２２１；画面転送機能、２３０；イベント制御部、２３１；イベント解析機能、２３２；イベント生成機能、２４０；状態管理部、２４１；リモート画面解析機能、２４２；画面状態判別機能、２４３；画面状態管理機能、２５０；連携定義ＤＢ、２６０；状態定義、２７０；状態別イベント定義、２８０；連携処理実行定義、３００；連携元端末Ａ、３１０；画面転送サーバプログラムＡ、３２０；アプリケーションプログラムＡ、４００；連携先端末Ｂ、４１０；画面転送サーバプログラムＢ、４２０；アプリケーションプログラムＢ。
【図１】
2014002526.tif 000003
【図２】
2014002526.tif 000004
【図３】
2014002526.tif 000005
【図４】
2014002526.tif 000006
【図５】
2014002526.tif 000007
【図６】
2014002526.tif 000008
【図７】
2014002526.tif 000009
【図８】
2014002526.tif 000010