(57)【特許請求の範囲】
【請求項１】
画面情報を保持する画面保持部と、
画面保持部が保持する画面情報を、通信ネットワークを介して送信する画面情報送信部と、
所定の周期で変化する変化画像を生成する画像生成部と、前記画像生成部が生成した変化画像を、前記画面保持部が保持する画面情報に含める画像付加部と、を含む周期変化画像生成部と、
を有する画面転送装置から、通信ネットワークを介して画面情報を受信する画面受信装置において、
前記画面転送装置に画面情報の取得要求を送信する画面取得要求送信部と、
前記取得要求に応じて前記画面転送装置から送信された画面情報を受信する画面情報受信部と、
受信した画面情報内から、所定の周期で変化する変化画像を検出する検出部を有し、
前記画面取得要求送信部は、先に受信した変化画像と異なる画像を取得するタイミングで画面情報の取得要求を送信することを特徴とする画面受信装置。
【請求項２】
前記検出部が変化画像を検出した場合に、前記変化画像の画素情報に基づいて、前記画面転送装置の異常を判定する判定部を有することを特徴とする請求項１記載の画面受信装置。
【請求項３】
前記変化画像は、少なくとも２画素以上であり、
前記判定部は、画素情報の組み合わせの変化に基づいて、前記画面転送装置の動作状態を判定することを特徴とする請求項２記載の画面受信装置。
【請求項４】
前記変化画像は、１画素であることを特徴とする請求項１又は請求項２記載の画面受信装置。
【請求項５】
前記変化画像は、前記画面上に複数点在するように表示される画像であることを特徴とする請求項１から４のいずれか１項に記載の画面受信装置。
【請求項６】
前記変化画像は、数値情報を表すことを特徴とする請求項１〜５のいずれか１項に記載の画面受信装置。
【請求項７】
前記数値情報は、シーケンス番号であることを特徴とする請求項６記載の画面受信装置。
【請求項８】
前記変化画像の描画、非描画が繰り返され、
前記変化画像の描画する場所が、前記変化画像が前回描画された場所から離れた場所に表示されることを特徴とする請求項１〜５のいずれか１項に記載の画面受信装置。
【請求項９】
画面情報を保持する画面保持部と、画面保持部が保持する画面情報を、通信ネットワークを介して送信する画面情報送信部と、所定の周期で変化する変化画像を生成する画像生成部と、前記画像生成部が生成した変化画像を、前記画面保持部が保持する画面情報に含める画像付加部と、を含む周期変化画像生成部とを有する画面転送装置から、コンピュータ若しくは電子回路が、通信ネットワークを介して画面情報を受信する画面受信方法において、
前記コンピュータ若しくは電子回路は、画面取得要求送信部と、画面情報受信部と、検出部と、を有し、
前記画面取得要求送信部が前記画面転送装置に画面情報の取得要求を送信し、
前記画面情報受信部が前記取得要求に応じて前記画面転送装置から送信された画面情報を受信し、
前記検出部が受信した画面情報内から、所定の周期で変化する変化画像を検出し、
前記画面取得要求送信部は、先に受信した変化画像と異なる画像を取得するタイミングで画面情報の取得要求を送信することを特徴とする画面受信方法。
【請求項１０】
画面情報を保持する画面保持部と、画面保持部が保持する画面情報を、通信ネットワークを介して送信する画面情報送信部と、所定の周期で変化する変化画像を生成する画像生成部と、前記画像生成部が生成した変化画像を、前記画面保持部が保持する画面情報に含める画像付加部と、を含む周期変化画像生成部と、を有する画面転送装置から、コンピュータに、通信ネットワークを介して画面情報を受信させる画面受信プログラムにおいて、
前記コンピュータに、
前記画面転送装置に画面情報の取得要求を送信させ、
前記取得要求に応じて前記画面転送装置から送信された画面情報を受信させ、
受信した画面情報内から、所定の周期で変化する変化画像を検出させ、
前記画面取得要求送信部は、先に受信した変化画像と異なる画像を取得するタイミングで画面情報の取得要求を送信させることを特徴とする画面受信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画面情報を情報端末に転送し、受信した画面情報を情報端末側で表示するための画面転送技術に関する。
【背景技術】
【０００２】
情報端末等の複数の機器は、互いに遠隔に設置されていても、通信ネットワークで接続されたシステムを構成することにより、様々な情報を送受信できる。特に、画面転送システムは、遠隔にある機器のモニターに表示される画面を、手元の機器のモニターにも表示することができる。
【０００３】
画面転送システムを実現するためのプロトコルとしては、種々のものが採用されている。例えば、画面転送システムの一つとして知られるＶＮＣ（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｃｏｍｐｕｔｉｎｇ）は、ＲＦＢ（Ｒｅｍｏｔｅ  Ｆｒａｍｅ  Ｂｕｆｆｅｒ）プロトコルを用いる。
【０００４】
画面転送システムの用途の一例としては、遠隔監視システムがある。遠隔監視システムにおいては、機器や通信ネットワークの異常などが発生した場合に、その異常を検出する仕組みが必要となる。かかる異常により正常動作していないことを、監視者が直ちに発見して速やかに対処することによって、監視を継続させる必要があるからである。
【０００５】
このような異常を検出する方法の一例として、キープアライブ信号を送受信する方法が存在する。キープアライブ信号とは、各機器が、所定の時間ごとに、正常に動作していることを他の機器に伝えるための信号である。また、機器間で障害情報を送受信することも可能である。例えば、異常が発生した機器が障害情報を送信し、これを受信した機器において、異常を検出することができる。
【０００６】
しかし、キープアライブや障害情報の送受信の仕組みを含まない画面転送プロトコルも存在する。そのような画面転送プロトコルを利用している場合、画面転送処理の異常を検出できない。これに対処するため、例えば、別途、キープアライブ信号を送受信するためのアプリケーションを用意することが考えられる。これにより、通信ネットワークにおける異常の発生を検出できる。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ｔｈｅ  ＲＦＢ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ３．８  Ｌａｓｔ  ｕｐｄａｔｅｄ  ２６  Ｆｅｂｒｕａｒｙ  ２００９
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ただし、上記のようなアプリケーションを用意した場合であっても、画面転送プロトコルが正常動作しているか否か、正しく画面を送信しているか否かまでは分からない。例えば、外部からは検出不可能な内部異常が発生した場合に、真っ黒な画面を送り続ける状態になったとしても、これを異常として検出することができない。
【課題を解決するための手段】
【０００９】
本発明の実施形態は、画面情報を保持する画面保持部と、画面保持部が保持した画面情報を、通信ネットワークを介して送信する画面情報送信部と、所定の周期で変化する変化画像を生成する画像生成部と、前記画像生成部が生成した変化画像を、前記画面保持部が保持する画面情報に含める画像付加部と、を含む周期変化画像生成部と、を有する画面転送装置から、通信ネットワークを介して画面情報を受信する画面受信装置において、以下のような技術的特徴を有する。
【００１０】
すなわち、前記画面転送装置に画面情報の取得要求を送信する画面取得要求送信部と、前記取得要求に応じて前記画面転送装置から送信された画面情報を受信する画面情報受信部と、受信した画面情報内から、所定の周期で変化する変化画像を検出する検出部を有し、前記画面取得要求送信部は、先に受信した変化画像と異なる画像を取得するタイミングで画面情報の取得要求を送信することを特徴とする。
【図面の簡単な説明】
【００１１】
【図１】画面転送システムの一例を示す簡略図である。
【図２】アプリケーションサーバの一例を示すブロック図である。
【図３】画像Ａの描画前（ａ）と描画後（ｂ）の画面内容の一例を示す説明図である。
【図４】クライアント端末の一例を示すブロック図である。
【図５】画面取得要求の受信間隔と画像Ａの周期変化の一例を示す説明図である。
【図６】周期変化画像生成部における画像Ａの生成と描画処理の一例を示すフローチャートである。
【図７】周期変化画像確認部における画像Ａの変化の検出処理の一例を示すフローチャートである。
【図８】数値情報を含む周期変化画像の一例を示す図である。
【図９】自機器障害検出部を有するアプリケーションサーバの一例を示すブロック図である。
【図１０】他機器障害検出部を有するクライアント端末の一例を示すブロック図である。
【図１１】周期変化画像の一例を示す説明図である。
【発明を実施するための形態】
【００１２】
（１）第１の実施形態
第１の実施形態を、図１〜図７を参照して説明する。
［基本的な装置構成］
図１は、画面転送システムＳ（以下、本システムＳと呼ぶ）を示す簡略図である。
【００１３】
本システムＳは、アプリケーションサーバ１とクライアント端末２を有している。アプリケーションサーバ１とクライアント端末２とは、通信ネットワーク（図示せず）を介して、各種の情報を送受信可能に構成されている。アプリケーションサーバ１は、画面情報を送信する側の機器（画面転送装置若しくは画面転送サーバ装置）として機能する。クライアント端末２は、画面情報を受信する側の機器（画面受信装置若しくは画面転送クライアント装置）として機能する。
【００１４】
アプリケーションサーバ１とクライアント端末２とは、例えば、コンピュータによって構成することができる。この場合、以下に説明する各部の機能は、所定のプログラムによって、コンピュータのハードウェアを物理的に活用することで実現できる。このように各部の機能を実現するプログラム若しくはかかるプログラムを記録した記録媒体も、実施形態として成立する。
【００１５】
アプリケーションサーバ１とクライアント端末２を構成するコンピュータは、図２及び図４に示すように、それぞれ表示部３１，３２、入力部４１，４２を有している。
【００１６】
表示部３１，３２は、本システムＳにおける処理対象となる画面を含めて、各種データ等を、管理者、操作者等も含むユーザが視認可能となるように出力する構成部である。この表示部３１，３２としては、現在又は将来において利用可能なあらゆる表示装置を含む。なお、表示部３１，３２以外の出力部として、例えば、プリンタ、音声出力装置等を備えることも考えられる。
【００１７】
入力部４１，４２は、本システムＳの処理に必要な情報の入力、処理の選択や指示を入力する構成部である。この入力部４１，４２としては、例えば、キーボード、マウス、タッチパネル（表示装置に構成されたものを含む）等が考えられる。但し、現在又は将来において利用可能なあらゆる入力装置を含む。したがって、音声により入力する音声入力装置も含まれる。また、単純なスイッチ等であってもよい。
【００１８】
また、本システムＳの処理に必要な情報は、コンピュータに設定された記憶部に記憶される。必要な情報としては、例えば、通信やデータ処理のためのフレームやデータ（画面取得要求、画面情報等を含む）、各種の設定（所定の周期等を含む）がある。後述するように、画面情報や周期等を、設定ファイルにまとめて、記憶部に記憶しておくこともできる。記憶部としては、現在又は将来において利用可能なあらゆるメモリ、ディスク等の記憶媒体が適用可能である。情報を一時的に記憶するバッファ（フレームバッファ等を含む）等も、記憶部に含まれる。
【００１９】
通信ネットワークとしては、有線若しくは無線のあらゆる伝送路、伝送媒体を適用可能である。情報の送受信が可能であれば、経路の途中で、どのようなＬＡＮやＷＡＮを経由するか若しくは経由しないかは問わない。通信プロトコルについても、現在又は将来において利用可能なあらゆるものを適用可能である。
【００２０】
本システムＳでは、図１に示す２台の機器をアプリケーションサーバ１とクライアント端末２と呼んでいる。しかし、例えば、２台のノートＰＣによって画面転送を行う場合、画面を送信する側のノートＰＣがアプリケーションサーバ１、画面を受信する側のノートＰＣがクライアント端末２となる。なお、コンピュータは、プログラムによって、アプリケーションサーバ１及びクライアント端末２の双方の機能を果たすように構成することもできる。
【００２１】
アプリケーションサーバ１では、アプリケーションソフトウェアが起動している。本システムＳでは、このアプリケーションサーバ１に、画面送信機能を組み込み、アプリケーションソフトウェアが生成した画面情報をクライアント端末２へネットワークを介して送信する。
【００２２】
このようなアプリケーションサーバ１の画面送信機能とこれに対応するクライアント端末２の画面受信機能を実現するため、本システムＳは、画面転送プロトコルを利用する。その一例が、プル型の画面転送プロトコルである。プル型は、受信側の要求に応じて、情報を送信するプロトコルである。
【００２３】
例えば、上述の「ＶＮＣ」として知られる画面転送プロトコルは、以下に示すようなプル型である。図１では、プル型の画面転送プロトコルの信号の交換を、簡略化して表示している。
【００２４】
まず、クライアント端末２が、「ＦｒａｍｅｂｕｆｆｅｒＵｐｄａｔｅＲｅｑｕｅｓｔ」という画面取得要求を、アプリケーションサーバ１へ送信する。すると、アプリケーションサーバ１が、クライアント端末２に画面情報を、「ＦｒａｍｅｂｕｆｆｅｒＵｐｄａｔｅ」という応答として送信する。
【００２５】
クライアント端末２は、上記のように、アプリケーションサーバ１から送信された画面情報を受信する。クライアント端末２は、受信した画面情報に基づいて、表示部３２に画面を表示する。
【００２６】
このように、ＶＮＣを用いる場合、アプリケーションサーバ１では、あらかじめインストールされた「ＶＮＣサーバ」ソフトウェアを起動させる。また、クライアント端末２では、あらかじめインストールされた「ＶＮＣクライアント」ソフトウェアを起動させる。既存の「ＶＮＣサーバ」ソフトウェア、「ＶＮＣクライアント」ソフトウェアは、それ自体を変更せずに、画面の送受信に関する基本的な機能を担うことができる。
【００２７】
例えば、後述する画面キャプチャ部１３０及び送受信部１４０は、「ＶＮＣサーバ」ソフトウェアによって実現できる。また、後述する送受信部２１０は、「ＶＮＣクライアント」ソフトウェアで実現できる。この一例に示すように、本システムＳは、既存の画面転送プロトコルを変更することなく活用できる。
【００２８】
以上のとおり、本システムＳは、アプリケーションサーバ１内のアプリケーションソフトウェアが生成した画面情報が送信される。そして、送信された画面情報に基づいて、それを受信したクライアント端末２の表示部が画面を表示する。
【００２９】
［構成の詳細］
次に、本システムＳの構成の詳細を説明する。
［アプリケーションサーバ１］
図２は、アプリケーションサーバ１の構成の一例を示すブロック図である。なお、図２では、本システムＳに係わる機能のみを記した概略図となっている。アプリケーションサーバ１は、アプリケーションソフトウェア１１０、フレームバッファ１２０、画面キャプチャ部１３０、送受信部１４０、開始終了制御部１５０、周期変化画像生成部１６０、設定記憶部１７０等を有する。
【００３０】
アプリケーションソフトウェア１１０は、画面生成部１１１、描画実行部１１２等を有する。画面生成部１１１は、画面の全体、画面の一部若しくは画面の複数部分が変化する画面を生成する処理部である。生成する画面の内容や変化のタイミングは、特定のものには限定されない。例えば、アプリケーションソフトウェア１１０が、動画を再生する動画再生ソフトウェアである場合に、画面生成部１１１が動画を生成してもよい。また、アプリケーションソフトウェア１１０が、テキストファイルを編集するテキストエディタソフトウェアである場合に、画面生成部１１１がテキスト表示画面を生成してもよい。
【００３１】
描画実行部１１２は、ＯＳやミドルウェアにより提供される描画命令に従って、描画処理を実行する処理部である。この描画処理の実行により、フレームバッファ１２０に、画面生成部１１１が生成した画面の画素情報が書き込まれる。なお、図２において、描画処理は、アプリケーションソフトウェア１１０からフレームバッファ１２０への矢印で示す。
【００３２】
フレームバッファ１２０は、表示部３１に表示される画面となる画素情報が書き込まれる記憶部である。このフレームバッファ１２０は、画素情報を保持する画面保持部である。表示部３１は、フレームバッファ１２０に書き込まれた画素情報に基づいて、画面を表示する。
【００３３】
画面キャプチャ部１３０は、描画検出部１３１、画像保持部１３２、差分検出部１３３、差分領域出力部１３４等を有する。描画検出部１３１は、フレームバッファ１２０における描画処理を検出する処理部である。画像保持部１３２は、描画された画素情報を、バックアップ画像として保持する記憶部である。
【００３４】
差分検出部１３３は、変更が発生した部分の画素情報をフレームバッファ１２０から取得し、バックアップ画像と比較することで、差分領域を検出する処理部である。差分領域出力部１３４は、検出された差分領域に関する情報を、送受信部１４０へ出力する処理部である。画像保持部１３２のバックアップ画像は、差分領域が上書き更新される。なお、図２において、差分領域の検出処理は、フレームバッファ１２０から画面キャプチャ部１３０への矢印で示す。
【００３５】
送受信部１４０は、画面取得要求受信部１４１、画面情報送信部１４２を有する。画面取得要求受信部１４１は、クライアント端末１からの画面取得要求を受信する処理部である。画面情報送信部１４２は、受信した画面取得要求に対する応答として、画面情報を送信する処理部である。
【００３６】
画面情報とは、フレームバッファ１２０から取得した画素情報、画面キャプチャ部１３０から入力された差分領域に関する情報等である。画面情報を送信する際に、圧縮処理を実行することにより、送信データ量を低減してもよい。なお、このように画面情報を送信するために、送受信部１４０は、クライアント端末２との間で、例えば、ＴＣＰコネクションを設定する。
【００３７】
本システムＳでは、クライアント端末２からの画面取得要求は、繰り返し送信されるものとする。すなわち、クライアント端末２は、画面取得要求を定期的に送信するか、若しくはアプリケーションサーバ１から画面情報を受信すると、それを契機に画面取得要求を送信するものとする。
【００３８】
開始終了制御部１５０は、検出部１５１、開始処理部１５２及び終了処理部１５３を有している。検出部１５１は、画面送信処理の開始及び終了を検出する処理部である。画面送信処理の開始及び終了の検出は、例えば、アプリケーションサーバ１において、ユーザによる開始及び終了の指示を、入力部４１が受け付けることにより行われる。ただし、例えば、検出部１５１が、コネクションの切断の検出を、画面送信処理の終了として検出してもよい。
【００３９】
開始処理部１５２は、画面送信処理の開始の検出に従って、画面キャプチャ部１３０と送受信部１４０の処理が開始されるように制御する処理部である。終了処理部１５３は、画面送信処理の終了の検出に従って、画面キャプチャ部１３０と送受信部１４０の処理が終了されるように制御する処理部である。なお、開始終了制御部１５０は、次に説明する周期変化画像生成部１６０の処理の開始、終了についても同様に制御する。
【００４０】
周期変化画像生成部１６０は、周期処理部１６１、画像生成部１６２、画像付加部１６３等を有している。周期処理部１６１は、所定の周期に従って、画像生成部１６２、画像付加部１６３等、各部を制御する処理部である。なお、周期処理の開始、判定、終了等の処理にあたっては、例えば、内部のタイマ・カウンタを用いる。画像生成部１６２は、所定の周期で変化する「変化画像」（以下、画像Ａとする）を生成する処理部である。画像付加部１６３は、画像Ａを画面に含める処理部である。この画像付加部１６３は、例えば、画像Ａをフレームバッファ１２０に描画する描画実行部である。
【００４１】
設定記憶部１７０は、本システムＳの処理に必要な情報を記憶する記憶部である。例えば、画面情報（画像Ａが描画される色情報、位置情報、サイズ情報等の情報を含む）、所定の周期情報等が、設定ファイルにまとめて記憶されている。
【００４２】
ここで、図３（ａ）（ｂ）は、フレームバッファ１２０に描画される画面内容１０１１の一部が、変化する態様の一例を示している。図３（ａ）は、周期変化画像生成部１６０による処理が開始される前の、ある時点の画面内容１０１１である。一方、図３（ｂ）は、周期変化画像生成部１６０の処理が開始された直後の画面内容１０１１である。ここでは、画面内容１０１１に画像Ａが表示されている。
【００４３】
画像Ａを所定の周期で変化させる方法には、後述するように、種々のものがあり、特定の方法には限定されない。画像Ａを変化させる周期についても、特定のものには限定されない。例えば、周期処理部１６１により決定される周期として、上記のように、設定ファイルにあらかじめ記載した値を用いてもよい。
【００４４】
また、例えば、周期処理部１６１が周期を算出してもよい。このように周期を算出する方法の一例を示す。すなわち、クライアント端末２から、画面取得要求を画面取得要求受信部１４１が受信する。その受信タイミングを、周期処理部１６１が検出し、画面取得要求の受信周期を算出する。  
【００４５】
［クライアント端末２］
図４は、クライアント端末２の一例を示すブロック図である。なお、図４では、本システムＳに係わる機能のみを記した概略図となっている。クライアント端末２は、送受信部２１０、描画実行部２３０、フレームバッファ２４０、開始終了制御部２６０、周期変化画像確認部２７０、設定記憶部２８０等を有する。
【００４６】
送受信部２１０は、画面取得要求送信部２１１、画面情報受信部２１２等を有する。画面取得要求送信部２１１は、アプリケーションサーバ１に対し、画面取得要求を送信する処理部である。画面取得要求は、あらかじめ設定された値に基づいて、定期的に送信される。若しくは、画面情報受信部２１２から受信完了通知が入力されると、それを契機にして送信される。
【００４７】
画面情報受信部２１２は、アプリケーションサーバ１から画面情報を受信して、描画実行部２３０に出力する処理部である。画面情報が圧縮されている場合に、画面情報受信部２１２は、画面情報を伸張する機能を有している。また、画面情報受信部２１２は、受信完了通知を画面取得要求送信部２１１へ出力する機能も有する。なお、このように画面情報を受信するために、送受信部２１０は、アプリケーションサーバ１との間で、例えば、ＴＣＰのコネクションを設定する。
【００４８】
描画実行部２３０は、入力された画面情報を、フレームバッファ２４０に画素情報として書き込む処理部である。フレームバッファ２４０に書き込まれた画素情報は、表示部３２に画面として表示される。
【００４９】
開始終了制御部２６０は、検出部２６１、開始処理部２６２及び終了処理部２６３等を有する。検出部２６１は、画面受信処理の開始及び終了を検出する処理部である。画面受信処理の開始及び終了の検出は、例えば、クライアント端末２において、ユーザによる開始及び終了の指示を、入力部４２が受け付けることにより行われる。ただし、例えば、検出部２６１が、コネクションの切断の検出を、画面受信処理の終了として検出してもよい。
【００５０】
開始処理部２６２は、画面受信処理の開始の検出に従って、画面取得要求送信部２１１と画面情報受信部２１２の処理が開始されるように制御する処理部である。終了処理部２６３は、画面受信処理の終了の検出に従って、画面取得要求送信部２１１と画面情報受信部２１２の処理が終了されるように制御する処理部である。
【００５１】
さらに、終了処理部２６３は、周期変化画像確認部２７０から画面転送処理の異常が通知された場合にも、画面取得要求送信部２１１と画面情報受信部２１２の処理が終了されるように制御する。なお、開始終了制御部２６０は、次に説明する周期変化画像確認部２７０の処理の開始、終了についても同様に制御する。
【００５２】
周期変化画像確認部２７０は、周期処理部２７１、検出部２７２、判定部２７２等を有する。周期処理部２７１は、所定の周期に従って、検出部２７２、判定部２７３等、各部を制御する処理部である。なお、周期処理の開始、判定、終了等の処理にあたっては、例えば、内部のタイマ・カウンタを用いる。検出部２７２は、アプリケーションサーバ１側の周期変化画像生成部１６０が生成した画像Ａの変化を検出する処理部である。判定部２７３は、検出部２７２が検出した変化に基づいて、画面転送処理の異常を判定する処理部である。
【００５３】
設定記憶部２８０は、本システムＳの処理に必要な情報を記憶する記憶部である。例えば、画面情報（画像Ａが描画される色情報、位置情報、サイズ情報等を含む）、所定の周期情報、異常検出の時間情報等が、設定ファイルにまとめて記憶されている。
【００５４】
これにより、周期変化画像確認部２７０における検出部２７２が、設定記憶部２８０に記憶された画面情報と、フレームバッファ２４０から取得若しくは参照した画面情報とを比較して、変化を検出できる。この検出部２７２による検出においては、例えば、フレームバッファ２４０から、画素情報（位置情報、サイズ情報等）が取得若しくは参照される。
【００５５】
また、周期画像変化画像確認部２７０による異常判定は、例えば、次のように行うことができる。異常検出の時間情報が、例えば５秒に設定されているとする。この場合に、画像Ａの位置情報とサイズ情報に対応する画素情報が、５秒間変更されない（検出部２７２により変化が検出されない）とする。すると、判定部２７３は、アプリケーションサーバ１とクライアント端末２間の画面転送処理に異常が発生したと判定する。そして、周期変化画像確認部２７０は、開始終了制御部２６０に、画面転送処理の異常を通知する。なお、異常検出の時間情報については、上記のように、設定ファイルに予め記載しておくことができる。上記の５秒は例示であり、特定の時間には限定されない。
【００５６】
［作用］
以上のような本実施形態の作用を説明する。なお、基本的な画面転送処理については、上記の構成において説明した各部の処理の通りであるため、詳細は省略する。以下、［処理の概要］、［画像の変化例］、［画像Ａの生成と描画］、［画像Ａの変化検出］について説明する。
【００５７】
［処理の概要］
まず、本実施形態の処理の概要は、以下の通りである。
・アプリケーションサーバ１側（画面送信側）では、画面転送状態において、画面上に一定周期で変化する画像Ａを表示する。
・アプリケーションサーバ１側では、一定周期で画像Ａが変化する更新画面を、クライアント端末２側（画面受信側）へ送信する。
・クライアント端末２では、受信した一定周期の更新画面を表示する。
・クライアント端末２側では、一定周期の画面更新を観測することで、画面転送プロトコルに異常が発生したか、正常に動作しているかを確認する。
【００５８】
［画像の変化例］
次に、アプリケーションサーバ１側から送信され、クライアント端末２側において受信されて表示される画像Ａの変化例を説明する。まず、例えば、画像Ａの描画、非描画を繰り返す（点滅）方法がある。また、例えば、２つの画像Ａを用意し、これを交互に描画する方法もある。さらに、例えば、３つ以上の画像Ａを用意し、それらを順に描画する方法もある。このように、複数の画像Ａを用意する場合、各画像Ａは、例えば、少なくとも色（一部若しくは全部）、形状及び大きさのうちのいずれかが異なるものとする。さらに、画像Ａは、文字を表現している情報（イメージ、テキスト等を含む）を含んでいてもよい。
【００５９】
より具体的な例として、図５に示すように、画像Ａが、例えば、黒、白を繰り返す場合を想定する。画面取得要求の受信間隔時間が規則正しく、例えば、１秒であったとする。この場合、画像Ａの変化例１のように、黒と白が１秒ごとに変化するように制御する。若しくは、画像Ａの変化例３のように０．２５秒ごとに変化するように制御してもよい。
【００６０】
一方、例えば、画像Ａの変化例２若しくは変化例４に示すように、画面取得要求の受信タイミングと同期して、常に同じ色（図５の例では黒）になる周期を避ける。すなわち、受信間隔時間が規則正しくＴ１秒であった場合には、黒と白がＴ１秒ごと、あるいはＴ１／４秒ごとに変化するように制御すると効率的である。また、平均してＴ１秒であった場合にも、黒と白がＴ１秒ごと、若しくはＴ１／２Ｎ（Ｎ＞１）としてもよい。なお、一定周期で変化する画像Ａの画素数は、特定の数には限定されない。ただし、１画素とすることで目立たないようにしてもよい。つまり、一般的には画像といった場合には、複数の画素から構成されていると考えられる。しかし、画像Ａは、複数画素に限られず、１画素の場合も含まれる。
【００６１】
また、画像Ａの表示位置も、特定の位置には限定されない。画像Ａが、点滅のように同じ位置で移動せずに変化（色、形等の変化も含む）する態様ばかりでなく、位置を変える態様であってもよい。例えば、画像Ａが、縦、横若しくは斜め方向で往復運動するようにしてもよい。また、例えば、描画／非描画を繰り返す画像Ａを描画する場所（画像Ａを点滅させる場所）を、毎回変化させるようにしてもよい。この際、常に、近接しない場所に表示させるなど、画像Ａの変化を目立たなくする工夫をしてもよい。
【００６２】
また、周期変化画像生成部１６０が生成する画像Ａは、１つではなく複数であってもよい。画像Ａが複数の場合の画面上の表示位置も、特定の位置には限定されない。例えば、画面上に、複数の画像Ａを点在させることが考えられる。これにより、画面転送が正しく動作しているか否かを、画面上において局所的ではなく、広範囲の情報を用いて判断できる。
【００６３】
また、画像Ａを表示させる位置を、画面の隅又は縁等にして、目立たないようにしてもよい。さらに、次の条件で、クライアント端末２側で表示されない画面領域に画像Ａを表示させるようにしてもよい。
・画面キャプチャ部１３０がキャプチャ（保持）可能である
・画面情報送信部１４２が画面情報として送信可能な領域である
・クライアント端末２側で検出可能である
【００６４】
また、画像Ａの描画／非描画を繰り返す場合、例えば、次のような処理をしてもよい。画像Ａを重ね合わせる部分において、重ね合わせる前の色を検出し、画像Ａをその色に似た色とする。重ね合わせる前の色とは、例えば、図３の場合、画面内容１０１１の画像Ａを重ねる部分の色である。より具体的な一例としては、画像Ａとして、異なる色の点滅（例えば、青の点滅若しくはオレンジの点滅）の２種から選択可能であるとする。すると、例えば、重ね合わせる部分の色が赤色であった場合、画像Ａを同色系として色の近いオレンジの点滅を選択する。
【００６５】
このような場合、例えば、周期変化画像生成部１６０に、重ね合わせる前の色を判定する色判定部を設定する。そして、画像生成部１６２が、色判定部により判定された色に対して、似た色の画像Ａを生成するように設定する。
【００６６】
さらに、一定周期で変化する画像Ａは、画面転送時のエンコード方式の特性に合わせたサイズにすることが考えられる。例えば、エンコード方式としてＪＰＥＧを利用する場合に、８×８画素のブロックを画像Ａとする。これにより、画像Ａを効率的にエンコードできる。なお、例えば、画像Ａを２値で変化させる場合、次のような処理も可能である。すなわち、２値の差分がアプリケーションサーバ１側のエンコード処理、クライアント端末２側のデコード処理により、劣化しない色とする。これにより、画像Ａの変化の検出エラーを抑えることができる。
【００６７】
クライアント端末２側は、このような一定周期で変化する画像Ａを検出することで、通常の画面転送が正しく動作しているか否かを判断できる。つまり、周期変化画像確認部２７０における検出部２７２は、周期変化画像生成部１６０が生成した画像Ａの変化を、規則に従って検出することができる。なお、画像Ａの一定周期の変化の態様についての規則は、例えば、あらかじめ設定記憶部１７０、設定記憶部２８０等に記憶されているものとする。変化の規則としては、例えば、画像Ａの色、形、位置が変化する場合や、一定周期の変化が複数個所で発生すること等、上記のような様々な態様が考えられる。
【００６８】
［画像Ａの生成と描画］
次に、周期変化画像生成部１６０において、周期点滅する画像Ａを生成・描画する処理の一例を、図６のフローチャートを参照して説明する。すなわち、上記のように、開始終了制御部１５０における検出部１５１の検出結果により、開始処理部１５２が、周期変化画像生成部１６０に画像生成処理を開始させる。
【００６９】
すると、周期変化画像生成部１６０は、設定ファイルから画像Ａに関する情報として、色情報、位置情報、サイズ情報、周期情報等を取得する（ステップ０１）。そして、周期処理部１６１は、内部に保持するカウンタ値を０とする（ｉ＝０）（ステップ０２）。
【００７０】
画像生成部１６２は、設定ファイルから取得した情報を用いて、画像Ａを生成する。そして、画像付加部１６３が、生成された画像Ａをフレームバッファ１２０に描画する（ステップ０３）。同時に、周期処理部１６１が、周期情報として取得した時間のタイマを開始する（ステップ０４）。周期処理部１６１は、イベントを受信すると（ステップ０５）、イベントの内容を確認する。
【００７１】
イベントが、開始終了制御部１５０からの終了通知であれば（ステップ０６のＹＥＳ）、周期変化画像生成部１６０は、すべての内部処理を終了する。イベントが、周期情報として取得した時間のタイムアウト通知であれば（ステップ０７のＹＥＳ）、周期処理部１６１は、カウンタ値を一つ増やす(ｉ＝ｉ＋１）（ステップ０８）。
【００７２】
画像付加部１６３は、カウンタ値が偶数であれば（ステップ０９のＹＥＳ）、画像Ａの描画処理を行う（ステップ１０）。一方、カウンタ値が奇数であれば、画像付加部１６３は、画像Ａの非描画処理（例えば、描画しない、重ね合わせる前の画像を描画等の処理等を含む）を行う。そして、周期処理部１６１は、再度、周期情報として取得した時間のタイマを開始する（ステップＳ１１）。
【００７３】
［画像Ａの変化検出］
さらに、周期変化画像確認部２７０において、周期点滅する画像Ａの変化を検出する処理の一例を、図７のフローチャートを参照して説明する。すなわち、上記のように、開始終了制御部２６０における検出部２６１の検出結果により、開始処理部２６２が、周期変化画像確認部２７０による確認処理を開始させる。
【００７４】
すると、周期変化画像確認部２７０は、設定ファイルから画像Ａに関する情報として、色情報、位置情報、サイズ情報、周期情報、異常検出の時間情報等を取得する（ステップ２１）。そして、周期処理部２７１が、周期情報に基づく周期判定のためのタイマを開始する（ステップ２２）。
【００７５】
周期処理部２７１は、イベントを受信すると（ステップＳ２３）、イベントの内容を確認する。イベントが開始終了制御部２６０からの終了通知であれば（ステップＳ２４のＹＥＳ）、周期変化画像確認部２７０はすべての内部処理を終了する。イベントが周期情報として取得した時間のタイムアウト通知であれば（ステップ２５のＹＥＳ）、周期変化画像確認部２７０は、設定ファイルから取得した画像Ａの位置情報、サイズ情報等を用いて、フレームバッファ２４０から対応する画素情報を取得する（ステップＳ２６）。
【００７６】
検出部２７２は、取得した画素情報を確認し、設定ファイルから取得した画像Ａの色情報等に基づいて、周期点滅しているか否か（正常に変化しているか）の確認を行う。検出部２７２が、正常に周期点滅していると判断すれば（ステップＳ２７のＮＯ）、周期処理部２７１は、再度、周期情報として取得した時間のタイマを開始する（ステップＳ２９）。
【００７７】
一方、検出部２７２が、設定ファイルから取得した「異常検出の時間情報」に対応する時間、継続して画素情報に変化がないことを検出する（ステップＳ２７のＮＯ）。この場合、判定部２７３が、正常に周期点滅していないと判断して、画面転送処理の異常を、開始終了制御部２６０へ通知する（ステップＳ２８）。その後、周期処理部２７１が、再度、周期情報として取得した時間のタイマを開始する（ステップＳ２９）。
【００７８】
［効果］
以上の通り、本実施形態では、変化する画像を含む画面から、確実に異常を検出し、即座に対処可能となる。これにより、画面転送が正常に動作していない状態で、ユーザ等が誤操作を行うことを未然に防止できる。例えば、異常検出時に、即座に画面の表示を終了させることができる。
【００７９】
（２）第２の実施形態
第２の実施形態の画面転送システムＳは、上記の周期変化画像生成部１６０が、一定の時間間隔で変化する画像に、数値情報を含める点に特徴がある。本実施形態の構成は、基本的には、上記と同様である。ただし、アプリケーションサーバ１側の周期変化画像生成部１６０と、クライアント端末２側の周期変化画像確認部２７０の内部処理が異なっている。
【００８０】
すなわち、周期変化画像生成部１６０は、画像生成部１６２が生成する画像が、数値情報を表している。数値情報としては、例えば、シーケンス番号等が挙げられる。また、周期変化画像確認部２７０は、検出部２７２が、画像から数値情報を検出する。なお、画像が数値情報を表す規則は、例えば、あらかじめ設定記憶部１７０、設定記憶部２８０等に記憶されているものとする。
【００８１】
例えば、アプリケーションサーバ１側の画像生成部１６２が生成する変化画像が、３画素であるとする。各画素は、例えば、白色若しくは黒色とする。例えば、黒色を１、白色を０として扱うと、画像生成部１６２は、３ビットの情報を表現できる。図８は、一定の時間間隔で変化する画像で、３ビットのシーケンス番号（１０１→１１０→１１１）を表現した場合の一例を示している。
【００８２】
一方、クライアント端末２側の検出部２７２は、３画素が変化する様子をシーケンス番号として認識し、シーケンス番号の抜けの有無を検出する。シーケンス番号の抜けがあった場合には、判定部２７３が、画面転送処理の異常を、開始終了制御部２６０へ通知する。
【００８３】
ここで、変化する画像を３画素としたのは一例に過ぎない。画素数をいくつにするかは自由である（上記のように１画素でもよい）。例えば、２画素として表現できる数値を少なくすることも可能である。例えば、４画素以上とすれば、より多くの数値を表現できる。変化画像の色、形状、大きさ、表示位置、表示数についても、特定のものには限定されない。また、画像生成部１６２が生成する複数の画像を、それぞれ画素数が異なるものとしてもよい。なお、図８では、画素が隣接している場合を示しているが、隣接させずに離れていてもよい。つまり、変化画像の表示位置も、特定の位置には限定されない。
【００８４】
例えば、３秒の間に何らかの異常が発生し、画面転送処理ができない状態が続き、その後、画面転送が正常動作するようになった場合を考える。上記の実施形態のように、１秒ごとに画像Ａが白、黒で切り替わるとする。異常が発生している間、クライアント端末２の周期変化画像確認部２７０において、フレームバッファ２４０を確認し、黒を３回検出したとする。
【００８５】
この場合、異常が発生したことで黒色が更新されていないことが考えられる。しかし、白、黒と切り替わっているが、たまたま黒のタイミングで確認を行っていたことも考えられる。
【００８６】
本実施形態では、シーケンス番号を検出する。このため、更新されていない場合には、同じ（変化しない）番号になり、更新されている場合には、異なる（変化した）番号になる。したがって、上記の違いを判別できる。このため、通信ネットワークの異常を、より詳細に把握することができる。
【００８７】
（３）第３の実施形態
第３の実施形態の画面転送システムＳを、図９〜図１１を参照して説明する。本実施形態は、周期変化画像生成部１６０が、一定の時間間隔で変化する画像に、動作情報（例えば、障害情報）を含める点に特徴がある。
【００８８】
本実施形態の構成は、基本的には、上記と同様である。ただし、アプリケーションサーバ１側の周期変化画像生成部１６０と、クライアント端末２側の周期変化画像確認部２７０の内部処理が異なる。また、図９に示すように、アプリケーションサーバ１は、自機器障害検出部１８０を備えている。さらに、図１０に示すように、クライアント端末２は、他機器障害検出部２９０を有している。
【００８９】
アプリケーションサーバ１側の画像生成部１６２は、変化する画像に、自機器障害検出部１８０からの動作情報を含める。そして、クライアント端末１側の検出部２７２は、受信した画像から動作情報を検出する。なお、画像が機器動作情報を表す規則は、例えば、あらかじめ設定記憶部１７０、設定記憶部２８０等に記憶されているものとする。
【００９０】
周期変化画像に障害情報を含める方法の一例を、以下に説明する。この画像生成部１６２が生成する画像が、例えば、４画素であるとする。各画素は白色若しくは黒色とする。また、アプリケーションサーバ１においては、３つの異なるプログラム（Ｐ１、Ｐ２、Ｐ３）が動作しているとする。そして、４画素のうちの３画素に、それぞれのプログラムの状態を割り当てる。
【００９１】
図１１に、障害情報を含めた周期変化画像の例を示す。
［図１１（ａ）］
正常動作時の変化画像の一例である。ここでは、すべて黒とすべて白を交互に送信している。
［図１１（ｂ）］
プログラムＰ１で異常が発生した場合の変化画像の一例である。ここでは、全て黒と、プログラムＰ１に対応する部分のみを黒、他の３つは白の画像を交互に送信している。
【００９２】
［図１１（ｃ）］
プログラムＰ１とＰ２で異常が発生した場合の変化画像の一例である。ここでは、全て黒と、プログラムＰ１とＰ２に対応する部分を黒、他の２つは白の画像を交互に送信している。
［図１１（ｄ）］
プログラムＰ１、Ｐ２とＰ３で異常が発生した場合の変化画像の一例である。全て黒と、プログラムＰ１、Ｐ２とＰ３に対応する部分を黒、他の１つは白の画像を交互に送信している。
【００９３】
本実施形態においては、アプリケーションサーバ１の自機器障害検出部１８０が、３つのプログラム（Ｐ１、Ｐ２、Ｐ３）の動作状態を監視している。自機器障害検出部１８０は、プログラムに異常が発生した場合、その異常情報を周期変化画像生成部１６０に出力する。周期変化画像生成部１６０では、異常情報が入力されると、画像生成部１６２が、その情報を利用して周期変化画像（例えば、図１１で示した変化画像）を生成する。
【００９４】
一方、クライアント端末２では、周期変化画像確認部２７０における検出部２７２が、周期画像変化を検出し、検出結果を他機器障害検出部２９０へ出力する。他機器障害検出部２９０は、入力された情報を利用して、アプリケーションサーバ１側の３つのプログラム（Ｐ１、Ｐ２、Ｐ３）の動作状態（正常動作しているか否か）を知ることができる。
【００９５】
なお、上記では、プログラムの異常を伝える例を示した。ただし、異常の検出対象は、これには限定されない。例えば、ハードウェアに関連する異常等を伝えるものであってもよい。一例として、アプリケーションサーバ１に、カメラモジュール（撮像部）が接続（例えば、ＵＳＢ接続）されているとする。そして、自機器障害検出部１８０が、以下の３つを検出可能であるとする。
【００９６】
（Ａ）カメラモジュールのハードウェア異常
（Ｂ）カメラモジュールを駆動するドライバのソフトウェア異常
（Ｃ）カメラモジュールから取得した映像を画面に表示する表示アプリケーションの異常
【００９７】
この場合、先に示した３つのプログラムＰ１、Ｐ２、Ｐ３の例と同様に、検出した異常に応じて、異なる変化画像を設定する。これにより、クライアント端末２の他機器障害検出部２９０は（Ａ）、（Ｂ）、（Ｃ）の動作状態（正常動作しているか否か）を知ることができる。
【００９８】
なお、異常を表現するための画像の画素数についても、上記のものには限定されない。例えば、３画素以下（１画素若しくは２画素）で、より少ない対象の異常を表現してもよい。４画素より多くすれば、より多くの対象の異常を表現できる。画像の色、形状、大きさ、表示位置、表示数等についても自由である。
【００９９】
以上に説明したとおり、本実施形態では、画面送信側であるアプリケーションサーバ１の動作状態を知ることができる。例えば、動作状態として、どのようなソフトウェア異常やハードウェア異常がアプリケーションサーバ１側で発生しているかを、クライアント端末２側で把握することができる。
【０１００】
（４）他の実施形態
【０１０１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態にやその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。また、上記の各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の実施形態を実現できる。上記の各実施形態に示された全構成要素から、幾つかの構成要素を省略してもよい。
【０１０２】
例えば、上記の各実施形態は、画面受信側の要求を必要としないプッシュ型の画面転送プロトコルを利用した画面転送方法を用いることも可能である。例えば、画面送信側となる機器に、周期変化画像生成部１６０等の必要な構成部を設定する。画面受信側となる機器にも、周期変化画像確認部２７０等の必要な構成部を設定する。そして、画面受信側からの画面取得要求がなくても、画面送信側が、変化画面を所定の周期で画面受信側に送信する。変化画像の生成と変化の検出は、上記の通りである。つまり、上記の各実施形態において、画面取得要求受信部１４１、画面取得要求送信部２１１及びこれに対応する処理は、必ずしも必須ではない。
【０１０３】
また、上記の各実施形態を適宜組み合わせてもよい。例えば、第１の実施形態の変化画像に、第２の実施形態の数値情報及び第３の実施形態の機器動作情報の一方若しくは双方を含めることも可能である。また、実施形態で用いられる各情報の具体的な内容、値等は自由であり、特定の内容、値には限定されない。
【０１０４】
なお、上記の各実施形態の一部若しくは全部を専用の回路として構成することもできる。かかる回路は、例えば、各機能を実現するＡＳＩＣやＣＰＵ等のＩＣチップやその他の周辺回路、複数の機能を集約したシステムＬＳＩ等、種々考えられるものであり、特定のものには限定されない。ハードウェア処理とソフトウェア処理の範囲も自由である。
【符号の説明】
【０１０５】
１…アプリケーションサーバ
２…クライアント端末
３１，３２…表示部
４１，４２…入力部
１１０…アプリケーションソフトウェア
１１１…画面生成部
１１２…描画実行部
１２０…フレームバッファ
１３０…画面キャプチャ部
１３１…描画検出部
１３２…画像保持部
１３３…差分検出部
１３４…差分領域出力部
１４０…送受信部
１４１…画面取得要求受信部
１４２…画面情報送信部
１５０…開始終了制御部
１５１…検出部
１５２…開始処理部
１５３…終了処理部
１６０…周期変化画像生成部
１６１…周期処理部
１６２…画像生成部
１６３…画像付加部
１７０…設定記憶部
１８０…自機器障害検出部
２１０…送受信部
２１１…画面取得要求送信部
２１２…画面情報受信部
２３０…描画実行部
２４０…フレームバッファ
２６０…開始終了制御部
２６１…検出部
２６２…開始処理部
２６３…終了処理部
２７０…周期変化画像確認部
２７１…検出部
２７１…周期処理部
２７３…判定部
２８０…設定記憶部
２９０…他機器障害検出部
【図１】
0005683859.tif 000002
【図２】
0005683859.tif 000003
【図３】
0005683859.tif 000004
【図４】
0005683859.tif 000005
【図５】
0005683859.tif 000006
【図６】
0005683859.tif 000007
【図７】
0005683859.tif 000008
【図８】
0005683859.tif 000009
【図９】
0005683859.tif 000010
【図１０】
0005683859.tif 000011
【図１１】
0005683859.tif 000012